diff --git a/application/controllers/mockup/masterdata/accounting/Mediajurnalauto.php b/application/controllers/mockup/masterdata/accounting/Mediajurnalauto.php index 6bf1af4..f884b98 100644 --- a/application/controllers/mockup/masterdata/accounting/Mediajurnalauto.php +++ b/application/controllers/mockup/masterdata/accounting/Mediajurnalauto.php @@ -536,7 +536,7 @@ class Mediajurnalauto extends MY_Controller $this->db->trans_start(); } - $sql = "SELECT M_BranchCode, M_BranchIPAddress, M_BranchName + $sql = "SELECT M_BranchCode, M_BranchIPAddress, M_BranchName FROM m_branch WHERE M_BranchIsActive = 'Y' AND M_BranchS_RegionalID = ? ORDER BY M_BranchCode ASC"; @@ -600,7 +600,7 @@ class Mediajurnalauto extends MY_Controller $this->db->trans_start(); } - $sql = "SELECT M_BranchCode, M_BranchIPAddress, M_BranchName + $sql = "SELECT M_BranchCode, M_BranchIPAddress, M_BranchName FROM m_branch WHERE M_BranchIsActive = 'Y' AND M_BranchCode = ? ORDER BY M_BranchCode ASC"; @@ -754,10 +754,10 @@ class Mediajurnalauto extends MY_Controller public function injectMapRkCabang() { - $sql = "INSERT INTO map_rk_cabang - (Map_RkCabang_Rk_TypeID, Map_RkCabang_BranchCode, Map_RkCabang_SRegionalID, + $sql = "INSERT INTO map_rk_cabang + (Map_RkCabang_Rk_TypeID, Map_RkCabang_BranchCode, Map_RkCabang_SRegionalID, Map_RkCabang_CoaID, Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription) - VALUES + VALUES ('RUJ', 'BA', 8, 674, '3160400001', 'R/K CAB. MATRAMAN - RUJUKAN'), ('KEU', 'BA', 8, 675, '3160400002', 'R/K CAB. MATRAMAN - KEUANGAN'), ('STOK', 'BA', 8, 677, '3160400004', 'R/K CAB. MATRAMAN - PERSEDIAAN'), @@ -773,7 +773,7 @@ class Mediajurnalauto extends MY_Controller "; } - /* + /* * ------------------------* * PRIVATE HELPER FUNCTION * * ------------------------* @@ -781,8 +781,8 @@ class Mediajurnalauto extends MY_Controller private function getIpBranch($branchCode) { - $sql = "SELECT M_BranchName, M_BranchIPAddress - FROM m_branch + $sql = "SELECT M_BranchName, M_BranchIPAddress + FROM m_branch WHERE M_BranchIsActive = 'Y' AND M_BranchCode = ? LIMIT 1"; $qry = $this->db->query($sql, [$branchCode]); if (!$qry) { @@ -834,19 +834,19 @@ class Mediajurnalauto extends MY_Controller } /** - * Jika totalDebit != totalKredit dan selisih < Rp 500, + * Jika totalDebit != totalKredit dan selisih < Rp 500, * maka masukkan selisih ke CoA pembulatan: CoaAccNo 1141100002 * Masukkan sebagai debit jika debit < kredit * Masukkan sebagai kredit jika debit > kredit */ - private function handleRoundingDifference($balances, $details, $errMap) + private function handleRoundingDifference($balances, $details, $errMap) { $debit = round($balances['totalDebit'], 2); $kredit = round($balances['totalKredit'], 2); if ($debit != $kredit) { // Kalau selisih < 500, masuk ke pembulatan if (abs($debit - $kredit) < 500){ - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1141100002' AND coaIsActive = 'Y'"; $qry = $this->db->query($sql); if ($qry->row() == null) { @@ -882,8 +882,8 @@ class Mediajurnalauto extends MY_Controller "err_type" => "Mapping", "err_msg" => "Selisih Debit dan Kredit lebih dari Rp 500. {$lebihBesar} lebih besar dengan selisih Rp {$selisih} " ]; - } - } + } + } // Rounding Total Debit Kredit and Balances $balances['totalDebit'] = round($balances['totalDebit'], 2); @@ -911,8 +911,8 @@ class Mediajurnalauto extends MY_Controller // ? Apakah perlu cek $r->NatBankIsEDC = 'N' ? if ($r->M_BankAccountNo != "" && $r->M_BankAccountNo != "EDC") { $sql = "SELECT MapBank_CoaID, MapBank_CoaAccountNo, MapBank_CoaDescription - FROM map_bank_coa - WHERE MapBank_BankAccountNo LIKE CONCAT('%',$r->M_BankAccountNo, '%') + FROM map_bank_coa + WHERE MapBank_BankAccountNo LIKE CONCAT('%',$r->M_BankAccountNo, '%') AND MapBank_IsActive = 'Y' AND MapBank_BranchCode = ? AND MapBank_NatBankIsEDC = 'N' @@ -953,7 +953,7 @@ class Mediajurnalauto extends MY_Controller if ($balances['totalDebit'] > 0 && count($details) > 0) { $sql = "SELECT Map_RkCabang_CoaID, Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription FROM map_rk_cabang - WHERE Map_RkCabang_Rk_TypeID = 3 + WHERE Map_RkCabang_Rk_TypeID = 3 AND Map_RkCabang_BranchCode = ? AND Map_RkCabang_IsActive = 'Y' LIMIT 1"; $qry = $this->db->query($sql, [$branchCode]); if ($qry->row() == null) { @@ -1006,7 +1006,7 @@ class Mediajurnalauto extends MY_Controller $sql = "SELECT MapBank_NatBankIsEDC, MapBank_EDC_CoaID, MapBank_EDC_CoaAccountNo,MapBank_EDC_CoaDescription, MapBank_CoaID, MapBank_CoaAccountNo, MapBank_CoaDescription - FROM map_bank_coa + FROM map_bank_coa WHERE MapBank_BankAccountNo LIKE CONCAT('%',?, '%') AND MapBank_NatBankID = ? AND MapBank_BranchCode = ? @@ -1042,11 +1042,11 @@ class Mediajurnalauto extends MY_Controller // Jika Non EDC, pakai mapping R/K Regional dan bawa AddOn jurnalRegNo else { $sql = "SELECT Map_RkCabang_CoaID, Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription - FROM m_branch + FROM m_branch JOIN map_rk_cabang ON Map_RkCabang_SRegionalID = M_BranchS_RegionalID WHERE M_BranchCode = ? AND Map_RkCabang_Rk_TypeID = 3 - AND (Map_RkCabang_BranchCode = '' OR Map_RkCabang_BranchCode IS NULL) + AND (Map_RkCabang_BranchCode = '' OR Map_RkCabang_BranchCode IS NULL) LIMIT 1"; $qry = $this->db->query($sql, [$raw->BranchCode]); if ($qry->row() == null) { @@ -1108,7 +1108,7 @@ class Mediajurnalauto extends MY_Controller // Handle Voucher. Masuk Debit. Coa B. Voucher Discount else if (stripos($raw->Ref, 'voucher')!== false) { $raw->coaAccNo = "5210000016"; - + $sql = "SELECT coaID, coaDescription FROM coa WHERE coaAccountNo = ? LIMIT 1"; $qry = $this->db->query($sql, [$raw->coaAccNo]); if ($qry->row() == null) { @@ -1145,9 +1145,9 @@ class Mediajurnalauto extends MY_Controller $natSubGroupID = $raw->NatSubGroupID; // Mapping Nat SubGroup -> pendapatan $sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription - FROM map_nat_subgroup - JOIN coa ON coaAccountNo = MapNatSub_PendapatanCoaAccountNo - WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? + FROM map_nat_subgroup + JOIN coa ON coaAccountNo = MapNatSub_PendapatanCoaAccountNo + WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? AND MapNatSub_IsActive = 'Y' LIMIT 1"; $qry = $this->db->query($sql, [$natGroupID, $natSubGroupID]); if ($qry->row() == null) { @@ -1190,8 +1190,8 @@ class Mediajurnalauto extends MY_Controller $sql = "SELECT MapNatGroup_Disc_coaID, MapNatGroup_Disc_coaAccNo, MapNatGroup_Disc_coaDesc - FROM map_nat_group - WHERE MapNatGroup_NatGroupID = ? + FROM map_nat_group + WHERE MapNatGroup_NatGroupID = ? AND MapNatGroup_IsActive = 'Y'"; $qry = $this->db->query($sql, [$raw->NatGroupID]); if ($qry->row() == null) { @@ -1214,8 +1214,8 @@ class Mediajurnalauto extends MY_Controller $sql = "SELECT MapNatGroup_Retur_coaID, MapNatGroup_Retur_coaAccNo, MapNatGroup_Retur_coaDesc - FROM map_nat_group - WHERE MapNatGroup_NatGroupID = ? + FROM map_nat_group + WHERE MapNatGroup_NatGroupID = ? AND MapNatGroup_IsActive = 'Y'"; $qry = $this->db->query($sql, [$raw->Ref]); if ($qry->row() == null) { @@ -1234,7 +1234,7 @@ class Mediajurnalauto extends MY_Controller // Handle Mapping round else if (stripos($raw->Ref, 'round') !== false) { - $sql = "SELECT coaID, coaDescription FROM coa + $sql = "SELECT coaID, coaDescription FROM coa WHERE coaAccountNo = '1141100002' AND coaIsActive = 'Y'"; $qry = $this->db->query($sql); if ($qry->row() == null) { @@ -1253,7 +1253,7 @@ class Mediajurnalauto extends MY_Controller // Update: 20250506 Pembulatan dihandle di bawah // continue; - } + } else { $errMap[] = [ "err_type" => "Mapping", @@ -1306,17 +1306,17 @@ class Mediajurnalauto extends MY_Controller if (isset($raw->is_parent) && $raw->is_parent == 1) { // 2a. Kalau M_CompanyID 1235 (PASIEN KLINISI), pakai coaNo 1120100002 if ($raw->M_CompanyID == 1235) { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120100002' AND coaIsActive = 'Y'"; } // 2b. Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001 else if ($raw->M_CompanyID == 1222) { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120100001' AND coaIsActive = 'Y'"; } // 2c. Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN) else { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'"; } $qry = $this->db->query($sql); @@ -1329,7 +1329,7 @@ class Mediajurnalauto extends MY_Controller } // * Untuk Parent: dibuat menjadi 2 jurnal_tx // * 1. Debit Pakai coaCompany (Piutang). rawDbt - // * 2. Kredit Pakai mapping NatSubGroup. rawCr + // * 2. Kredit Pakai mapping NatSubGroup. rawCr $rawDbt = clone $raw; $rawDbt->coaID = $qry->row()->coaID; $rawDbt->coaDescription = $qry->row()->coaDescription; @@ -1341,10 +1341,10 @@ class Mediajurnalauto extends MY_Controller $natGroupID = $rawCr->NatGroupID; $natSubGroupID = $rawCr->NatSubGroupID; - $sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription - FROM map_nat_subgroup + $sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription + FROM map_nat_subgroup JOIN coa ON MapNatSub_PendapatanCoaAccountNo = coaAccountNo - WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? + WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? AND MapNatSub_IsActive = 'Y' LIMIT 1"; $qry = $this->db->query($sql, [$natGroupID, $natSubGroupID]); if (!$qry) { @@ -1398,10 +1398,10 @@ class Mediajurnalauto extends MY_Controller // 3. Kalau !is_parent dan !is_diskon , maka CoA pakai mapping NatSubGroup (Product) else if (!isset($raw->is_parent) && !isset($raw->is_diskon)) { - $sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription - FROM map_nat_subgroup + $sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription + FROM map_nat_subgroup JOIN coa ON MapNatSub_PendapatanCoaAccountNo = coaAccountNo - WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? + WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? AND MapNatSub_IsActive = 'Y' LIMIT 1"; $qry = $this->db->query($sql, [$raw->NatGroupID, $raw->NatSubGroupID]); if (!$qry) { @@ -1435,8 +1435,8 @@ class Mediajurnalauto extends MY_Controller $sql = "SELECT MapNatGroup_Disc_coaID, MapNatGroup_Disc_coaAccNo, MapNatGroup_Disc_coaDesc - FROM map_nat_group - WHERE MapNatGroup_NatGroupID = ? + FROM map_nat_group + WHERE MapNatGroup_NatGroupID = ? AND MapNatGroup_IsActive = 'Y'"; $qry = $this->db->query($sql, [$raw->NatGroupID]); if (!$qry) { @@ -1514,8 +1514,8 @@ class Mediajurnalauto extends MY_Controller $errMap = []; $i = 0; - /* - Setiap item di $raws jadi 2 jurnal_tx dan 7 addOn: + /* + Setiap item di $raws jadi 2 jurnal_tx dan 7 addOn: 1. Debit dari Bank 2. Kredit ke Piutang Company */ @@ -1541,12 +1541,12 @@ class Mediajurnalauto extends MY_Controller $norek = str_replace(['-', '.'], '', $raw->M_BankAccountNo); - $sql = "SELECT MapBank_CoaAccountNo, MapBank_CoaDescription, + $sql = "SELECT MapBank_CoaAccountNo, MapBank_CoaDescription, MapBank_BankAccountNo, MapBank_BranchCode, coaID, coaDescription FROM map_bank_coa JOIN coa ON coaAccountNo = MapBank_CoaAccountNo - WHERE MapBank_BankAccountNo = ? + WHERE MapBank_BankAccountNo = ? AND MapBank_IsActive = 'Y' LIMIT 1"; $qry = $this->db->query($sql, [$norek]); @@ -1601,17 +1601,17 @@ class Mediajurnalauto extends MY_Controller // 2. Kredit ke Piutang Company. if ($raw->M_CompanyID == 1235) { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120100002' AND coaIsActive = 'Y'"; } // 2b. Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001 else if ($raw->M_CompanyID == 1222) { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120100001' AND coaIsActive = 'Y'"; } // 2c. Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN) else { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'"; } @@ -1697,9 +1697,9 @@ class Mediajurnalauto extends MY_Controller 'totalBalance' => 0 ]; $errMap = []; - /* - Tiap item di $raws jadi 2 jurnal_tx dan 7 addOn: - 1. Debit pakai coa RK + /* + Tiap item di $raws jadi 2 jurnal_tx dan 7 addOn: + 1. Debit pakai coa RK 2. Kredit pakai coa Piutang Company */ foreach ($raws as $raw) { @@ -1713,8 +1713,8 @@ class Mediajurnalauto extends MY_Controller // 1. Debit pakai coa RK $sql = "SELECT Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription, Map_RkCabang_BranchCode, coaID FROM map_rk_cabang - JOIN coa ON Map_RkCabang_CoaAccountNo = coaAccountNo - WHERE Map_RkCabang_BranchCode = ? + JOIN coa ON Map_RkCabang_CoaAccountNo = coaAccountNo + WHERE Map_RkCabang_BranchCode = ? AND Map_RkCabang_Rk_TypeID = 1 AND Map_RkCabang_IsActive = 'Y'"; $qry = $this->db->query($sql, [$raw->BranchCode]); @@ -1741,17 +1741,17 @@ class Mediajurnalauto extends MY_Controller // 2. Kredit pakai coa Piutang Company // Kalau M_CompanyID 1235 (PASIEN DOKTER/KLINIS), pakai coaNo 1120100002 if ($raw->M_CompanyID == 1235) { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120100002' AND coaIsActive = 'Y'"; } // Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001 else if ($raw->M_CompanyID == 1222) { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120100001' AND coaIsActive = 'Y'"; } // Selain itu, pakai coaNo 1120200001 PIUTANG USAHA REKANAN) else { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'"; } $qry = $this->db->query($sql); @@ -1842,7 +1842,7 @@ class Mediajurnalauto extends MY_Controller /* --------- BRIEF: ------------ Setiap item di $raws masing-masing menjadi 1 jurnal_tx dan berbeda AddOn - - Debit dari Client + - Debit dari Client - Coa: coa Bank - Addon: companyid, companynum, companyname, paytypeID, paymentpusatDate - Kredit ke R/K cabang lain @@ -1922,8 +1922,8 @@ class Mediajurnalauto extends MY_Controller foreach ($rawCabLain as &$rawCr) { $sql = "SELECT Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription, Map_RkCabang_BranchCode, coaID FROM map_rk_cabang - JOIN coa ON Map_RkCabang_CoaAccountNo = coaAccountNo - WHERE Map_RkCabang_BranchCode = ? + JOIN coa ON Map_RkCabang_CoaAccountNo = coaAccountNo + WHERE Map_RkCabang_BranchCode = ? AND Map_RkCabang_Rk_TypeID = 1 AND Map_RkCabang_IsActive = 'Y'"; $qry = $this->db->query($sql, [$rawCr->RK_BranchCode]); @@ -1978,17 +1978,17 @@ class Mediajurnalauto extends MY_Controller foreach ($rawCabIni as &$rawCr2) { // PASIEN DOKTER/KLINISI if ($raw->M_CompanyID == 1235) { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120100002' AND coaIsActive = 'Y'"; } // Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001 else if ($raw->M_CompanyID == 1222) { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120100001' AND coaIsActive = 'Y'"; } //Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN) else { - $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa + $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'"; } @@ -2061,15 +2061,15 @@ class Mediajurnalauto extends MY_Controller private function insertMapBank($raws) { - $sqlCheck = "SELECT MapBank_BankAccountNo, MapBank_NatBankID, MapBank_BranchCode - FROM map_bank_coa + $sqlCheck = "SELECT MapBank_BankAccountNo, MapBank_NatBankID, MapBank_BranchCode + FROM map_bank_coa WHERE MapBank_BankAccountNo LIKE CONCAT ('%', ?, '%') AND MapBank_NatBankID = ? AND MapBank_BranchCode = ? AND MapBank_IsActive = 'Y'"; $sql = "INSERT INTO map_bank_coa - (MapBank_BranchCode, MapBank_NatBankName, MapBank_BankAccountNo, - MapBank_NatBankID, MapBank_NatBankCode, MapBank_NatBankIsEDC, - MapBank_IsActive, MapBank_CreatedAt, MapBank_LastUpdatedAt) + (MapBank_BranchCode, MapBank_NatBankName, MapBank_BankAccountNo, + MapBank_NatBankID, MapBank_NatBankCode, MapBank_NatBankIsEDC, + MapBank_IsActive, MapBank_CreatedAt, MapBank_LastUpdatedAt) VALUES (?, ?, ?, ?, ?, ?, 'Y', NOW(), NOW())"; $errMap = []; $seenAcc = []; @@ -2131,11 +2131,11 @@ class Mediajurnalauto extends MY_Controller { $jurnalInfo = []; // * Sudah pasti success karena di awal sudah ada yang mirip (tidak perlu cek eror) - $sql = "SELECT M_BranchID, M_BranchM_CompanyID, M_BranchS_RegionalID, + $sql = "SELECT M_BranchID, M_BranchM_CompanyID, M_BranchS_RegionalID, M_BranchName, S_RegionalName - FROM m_branch + FROM m_branch JOIN s_regional ON M_BranchS_RegionalID = S_RegionalID - WHERE M_BranchCode = ? "; + WHERE M_BranchCode = ? AND M_BranchIsActive = 'Y'"; $qry = $this->db->query($sql, [$branchCode]); $regID = $qry->row()->M_BranchS_RegionalID; @@ -2233,10 +2233,10 @@ class Mediajurnalauto extends MY_Controller private function injectJurnal($jurnalInfo, $details) { - $sqlHeader = "INSERT INTO jurnal - (jurnalM_BranchCompanyID, JurnalS_RegionalID, jurnalM_BranchCode, - jurnalperiodeID, jurnalNo, jurnalTitle, - jurnalDescription, jurnalDate, jurnalJurnalTypeID, + $sqlHeader = "INSERT INTO jurnal + (jurnalM_BranchCompanyID, JurnalS_RegionalID, jurnalM_BranchCode, + jurnalperiodeID, jurnalNo, jurnalTitle, + jurnalDescription, jurnalDate, jurnalJurnalTypeID, jurnalCreated, jurnalM_UserID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), ?)"; @@ -2296,13 +2296,13 @@ class Mediajurnalauto extends MY_Controller // if ($jurnalTxDebit == 0 && $jurnalTxCredit == 0) { // return; // } - $insertTx = "INSERT INTO jurnal_tx + $insertTx = "INSERT INTO jurnal_tx (jurnalTxJurnalID, jurnalTxCoaID, jurnalTxDescription, jurnalTxCredit, jurnalTxDebit, jurnalTxIsActive, jurnalTxCreated, jurnalTxLastUpdated, jurnalTxM_UserID) VALUES (?, ?, ?, ?, ?, 'Y', NOW(), NOW(), 500)"; - $insertAddOn = "INSERT INTO jurnal_addon - (jurnalAddOnJurnalID, jurnalAddOnJurnalTxID, + $insertAddOn = "INSERT INTO jurnal_addon + (jurnalAddOnJurnalID, jurnalAddOnJurnalTxID, jurnalAddOnCode, jurnalAddOnValue, jurnalAddOnIsActive, jurnalAddOnCreated, @@ -2341,8 +2341,8 @@ class Mediajurnalauto extends MY_Controller private function injectErrors($jurnalErr, $jurnalID) { - $sql = "INSERT INTO jurnal_errors - (JurnalErr_JurnalID, JurnalErr_Msg, JurnalErr_CreatedAt, JurnalErr_LastUpdatedAt) + $sql = "INSERT INTO jurnal_errors + (JurnalErr_JurnalID, JurnalErr_Msg, JurnalErr_CreatedAt, JurnalErr_LastUpdatedAt) VALUES (?, ?, NOW(), NOW())"; // NOW() is handled by MySQL, so no placeholder is needed foreach ($jurnalErr as $err) { @@ -2357,9 +2357,9 @@ class Mediajurnalauto extends MY_Controller private function getBranchCodeRegenSalesReg($jurnalNo) { - $sql = "SELECT jurnalID, jurnalNo FROM jurnal + $sql = "SELECT jurnalID, jurnalNo FROM jurnal WHERE jurnalNo LIKE CONCAT('%', ?, '%') - AND jurnalJurnalTypeID = 7 + AND jurnalJurnalTypeID = 7 AND jurnalIsActive = 'Y' ORDER BY jurnalNo DESC"; //! Harus DESC agar nomor jurnal Cabang ada di index 0 dan diquery row() langsung dapat"; $qry = $this->db->query($sql, [$jurnalNo]); if (!$qry) { @@ -2377,9 +2377,9 @@ class Mediajurnalauto extends MY_Controller private function checkExistingJurnal($branchCode, $searchDate, $jurnalType, $jurnalNo = "") { - $sql = "SELECT jurnalID, jurnalNo FROM jurnal + $sql = "SELECT jurnalID, jurnalNo FROM jurnal WHERE jurnalM_BranchCode = ? - AND jurnalDate = ? AND jurnalJurnalTypeID = ? + AND jurnalDate = ? AND jurnalJurnalTypeID = ? AND jurnalIsActive = 'Y' ORDER BY jurnalID DESC"; switch ($jurnalType) { @@ -2416,7 +2416,7 @@ class Mediajurnalauto extends MY_Controller // * Sementara khusus regen SALES karena harus 2 jurnalID if ($regenFromCab || $regenFromReg) { - $sql_2 = "SELECT jurnalID, jurnalNo FROM jurnal + $sql_2 = "SELECT jurnalID, jurnalNo FROM jurnal WHERE jurnalNo LIKE CONCAT(?, '%') AND jurnalJurnalTypeID = ? AND jurnalIsActive = 'Y' AND jurnalIsPosted = 'N' ORDER BY jurnalNo ASC"; // ASC Nomor Regional di Atas @@ -2450,8 +2450,8 @@ class Mediajurnalauto extends MY_Controller ]; $fullmsg = json_encode($fullmsg, JSON_PRETTY_PRINT); - $sql = "INSERT INTO jurnal_errors - (JurnalErr_JurnalID, JurnalErr_Msg, JurnalErr_CreatedAt, JurnalErr_LastUpdatedAt) + $sql = "INSERT INTO jurnal_errors + (JurnalErr_JurnalID, JurnalErr_Msg, JurnalErr_CreatedAt, JurnalErr_LastUpdatedAt) VALUES (?, ?, NOW(), NOW())"; $qry = $this->db->query($sql, [$jurnalID, $fullmsg]); @@ -2479,14 +2479,14 @@ class Mediajurnalauto extends MY_Controller exit; } - // 1. Update jurnal where jurnalID = ? + // 1. Update jurnal where jurnalID = ? $this->db->set('jurnalIsActive', 'N'); $this->db->set('jurnalLastUpdated', 'NOW()', FALSE); $this->db->set('jurnalM_UserID', $userID); $this->db->where('jurnalID', $jurnalID); $this->db->update('jurnal'); - // 2. Update jurnal_tx where jurnalTxJurnalID = ? + // 2. Update jurnal_tx where jurnalTxJurnalID = ? $this->db->set('jurnalTxIsActive', 'N'); $this->db->set('jurnalTxLastUpdated', 'NOW()', FALSE); $this->db->set('jurnalTxM_UserID', $userID); @@ -2563,7 +2563,7 @@ class Mediajurnalauto extends MY_Controller $jurnal = "INSERT INTO `jurnal` (`jurnalM_BranchCompanyID`, `JurnalS_RegionalID`, `jurnalM_BranchCode`, `jurnalperiodeID`, `jurnalNo`, `jurnalTitle`, `jurnalDescription`, `jurnalDate`, `jurnalIsPosted`, `jurnalJurnalTypeID`, `jurnalIsActive`, `jurnalCreated`, `jurnalLastUpdated`, `jurnalM_UserID`) VALUES (1, 8, 'BA', 4, 'autosales001', 'Media Jurnal Penjualan ', 'description', '2025-01-09', 'N', 7, 'Y',NOW(), NOW(),345)"; $tx = "INSERT INTO `jurnal_tx` (`jurnalTxJurnalID`, `jurnalTxCoaID`, `jurnalTxDescription`, - `jurnalTxDebit`, `jurnalTxCredit`, `jurnalTxIsActive`, `jurnalTxCreated`, + `jurnalTxDebit`, `jurnalTxCredit`, `jurnalTxIsActive`, `jurnalTxCreated`, `jurnalTxLastUpdated`, `jurnalTxM_UserID`) VALUES (96, 5, 'TUNAI', 1850000, 0, 'Y', NOW(), NOW(), 345), (96, 29, 'BCA PT PRAMITTA (5060)', 4393950, 0, 'Y', NOW(), NOW(), 345), @@ -2608,7 +2608,7 @@ class Mediajurnalauto extends MY_Controller $addOn = "INSERT INTO `jurnal_addon` (`jurnalAddOnJurnalID`, `jurnalAddOnJurnalTxID`, `jurnalAddOnCode`, `jurnalAddOnValue`, `jurnalAddOnIsActive`, `jurnalAddOnCreated`, `jurnalAddOnCreatedUserID`, `jurnalAddOnDeleted`, `jurnalAddOnDeletedUserID`, - `jurnalAddOnLastUpdatedUserID`, `jurnalAddOnLastUpdated`) VALUES + `jurnalAddOnLastUpdatedUserID`, `jurnalAddOnLastUpdated`) VALUES (96, 316,'OMZTYPE', '1', 'Y', NOW(), 345, NOW(), 0, 345, NOW()), (96, 316,'OMZNAME', 'APS', 'Y', NOW(), 345, NOW(), 0, 345, NOW()), (96, 317,'OMZTYPE', '1', 'Y', NOW(), 345, NOW(), 0, 345, NOW()), @@ -2666,14 +2666,14 @@ class Mediajurnalauto extends MY_Controller $jurnal = "INSERT INTO `jurnal` (`jurnalM_BranchCompanyID`, `JurnalS_RegionalID`, `jurnalM_BranchCode`, `jurnalperiodeID`, `jurnalNo`, `jurnalTitle`, `jurnalDescription`, `jurnalDate`, `jurnalIsPosted`, `jurnalJurnalTypeID`, `jurnalIsActive`, `jurnalCreated`, - `jurnalLastUpdated`, `jurnalM_UserID`) VALUES (1, 8, 'BA', 4, 'autoAR001', - 'Media Jurnal AR', 'inject manual AR belum balance', '2025-01-09', 'N', 10, 'Y', + `jurnalLastUpdated`, `jurnalM_UserID`) VALUES (1, 8, 'BA', 4, 'autoAR001', + 'Media Jurnal AR', 'inject manual AR belum balance', '2025-01-09', 'N', 10, 'Y', NOW(), NOW(),345)"; $jurnalID = 144; $tx = "INSERT INTO `jurnal_tx` (`jurnalTxJurnalID`, `jurnalTxCoaID`, `jurnalTxDescription`, - `jurnalTxDebit`, `jurnalTxCredit`, `jurnalTxIsActive`, `jurnalTxCreated`, + `jurnalTxDebit`, `jurnalTxCredit`, `jurnalTxIsActive`, `jurnalTxCreated`, `jurnalTxLastUpdated`, `jurnalTxM_UserID`) VALUES (144, 199, 'PASIEN DOKTER / KLINISI', 585600, 0, 'Y', NOW(), NOW(), 345), (144, 847, 'PEND. RAD. PANORAMIC & DENTAL', 0, 732000, 'Y', NOW(), NOW(), 345), @@ -2689,7 +2689,7 @@ class Mediajurnalauto extends MY_Controller $addOn = "INSERT INTO `jurnal_addon` (`jurnalAddOnJurnalID`, `jurnalAddOnJurnalTxID`, `jurnalAddOnCode`, `jurnalAddOnValue`, `jurnalAddOnIsActive`, `jurnalAddOnCreated`, `jurnalAddOnCreatedUserID`, `jurnalAddOnDeleted`, `jurnalAddOnDeletedUserID`, - `jurnalAddOnLastUpdatedUserID`, `jurnalAddOnLastUpdated`) VALUES + `jurnalAddOnLastUpdatedUserID`, `jurnalAddOnLastUpdated`) VALUES (144, 913,'CMPNYNUM', 'PRAMITA00013', 'Y', NOW(), 345, NOW(), 0, 345, NOW()), (144, 913,'CMPNYID', '1235', 'Y', NOW(), 345, NOW(), 0, 345, NOW()), (144, 913,'CMPNYNAME', 'PASIEN KLINISI', 'Y', NOW(), 345, NOW(), 0, 345, NOW()), diff --git a/application/controllers/mockup/masterdata/accounting/Ruangan.php b/application/controllers/mockup/masterdata/accounting/Ruangan.php new file mode 100644 index 0000000..57c0e40 --- /dev/null +++ b/application/controllers/mockup/masterdata/accounting/Ruangan.php @@ -0,0 +1,301 @@ +isLogin) { + throw new Exception('Invalid token'); + } + + $para = $this->sys_input; + + $keyword = "%"; + if (isset($para['keyword'])) { + $keyword .= $para['keyword'] . "%"; + } + + $limit = 10; + $offset = 0; + if ($para['latestPage'] > 0) { + $offset = ($para['latestPage'] - 1) * $limit; + } + + $sql = "SELECT + r.M_RuanganID AS id, + r.M_RuanganM_BranchID AS branch_id, + b.M_BranchName AS branch_name, + b.M_BranchCode AS branch_code, + r.M_RuanganCode AS code, + r.M_RuanganName AS name, + r.M_RuanganUserID AS user_id, + r.M_RuanganCreated AS created, + r.M_RuanganLastUpdated AS last_updated + FROM m_ruangan r + JOIN m_branch b + ON b.M_BranchID = r.M_RuanganM_BranchID + AND b.M_BranchIsActive = 'Y' + JOIN s_regional s + ON s.S_RegionalID = b.M_BranchS_RegionalID + WHERE r.M_RuanganIsActive = 'Y' + AND s.S_RegionalID = ? + AND (? = 0 OR r.M_RuanganM_BranchID = ?) + AND ( r.M_RuanganName LIKE ? OR r.M_RuanganCode LIKE ?)"; + + $sql_data = $sql . " ORDER BY r.M_RuanganName ASC LIMIT ? OFFSET ? "; + $que_data = $this->db->query($sql_data, [ + $para['regionalID'], + $para['branchID'], + $para['branchID'], + $keyword, + $keyword, + $limit, + $offset + ]); + if (!$que_data) { + throw new Exception('failed to query data ruangan', 1); + } + $data = $que_data->result_array(); + + $sql_total = "SELECT COUNT(*) AS total FROM ($sql) AS x"; + $que_total = $this->db->query($sql_total, [ + $para['regionalID'], + $para['branchID'], + $para['branchID'], + $keyword, + $keyword, + ]); + if (!$que_total) { + throw new Exception('failed to query total data ruangan', 1); + } + $total = $que_total->row_array()['total']; + + $this->sys_ok([ + "records" => $data, + "total" => $total + ]); + } catch (Exception $e) { + $msg = '[Error] ' . $e->getMessage(); + $code = $e->getCode(); + if ($code == 0) { + $this->sys_error($msg); + } else { + $this->sys_error_db($msg); + } + exit; + } + } + + function insertRuangan() + { + try { + if (!$this->isLogin) { + throw new Exception('Invalid token'); + } + + $para = $this->sys_input; + $userid = $this->sys_user['M_UserID']; + + $this->db->trans_begin(); + + $sql_check = "SELECT COUNT(*) AS exist + FROM m_ruangan + WHERE M_RuanganIsActive = 'Y' + AND M_RuanganM_BranchID = ? + AND M_RuanganCode = ?"; + + $que_check = $this->db->query($sql_check, [ + $para['branchID'], + $para['ruanganCode'] + ]); + if (!$que_check) { + throw new Exception('failed to check duplicate ruangan', 1); + } + + if ($que_check->row_array()['exist'] > 0) { + throw new Exception('ruangan already exists'); + } + + $sql = "INSERT INTO m_ruangan ( + M_RuanganM_BranchID, + M_RuanganName, + M_RuanganCode, + M_RuanganUserID, + M_RuanganIsActive, + M_RuanganCreated, + M_RuanganLastUpdated + ) VALUES (?,?,?,?,'Y',NOW(),NOW())"; + + $que = $this->db->query($sql, [ + $para['branchID'], + $para['ruanganName'], + $para['ruanganCode'], + $userid + ]); + if (!$que) { + throw new Exception('failed to insert ruangan', 1); + } + + $insert_id = $this->db->insert_id(); + + $this->db->trans_commit(); + + $this->sys_ok([ + "records" => [ + "id" => $insert_id, + "name" => $para['ruanganName'], + "msg" => "Success Insert Ruangan" + ] + ]); + } catch (Exception $e) { + $this->db->trans_rollback(); + + $msg = '[Error] ' . $e->getMessage(); + $code = $e->getCode(); + if ($code == 0) { + $this->sys_error($msg); + } else { + $this->sys_error_db($msg); + } + exit; + } + } + + function updateRuangan() + { + try { + if (!$this->isLogin) { + throw new Exception('Invalid token'); + } + + $para = $this->sys_input; + $userid = $this->sys_user['M_UserID']; + + $this->db->trans_begin(); + + $sql_check = "SELECT COUNT(*) AS exist + FROM m_ruangan + WHERE M_RuanganIsActive = 'Y' + AND M_RuanganM_BranchID = ? + AND M_RuanganCode = ? + AND M_RuanganID != ?"; + + $que_check = $this->db->query($sql_check, [ + $para['branchID'], + $para['ruanganCode'], + $para['ruanganID'] + ]); + if (!$que_check) { + throw new Exception('failed to check duplicate ruangan', 1); + } + + if ($que_check->row_array()['exist'] > 0) { + throw new Exception('ruangan already exists'); + } + + $sql = "UPDATE m_ruangan + SET + M_RuanganM_BranchID = ?, + M_RuanganName = ?, + M_RuanganCode = ?, + M_RuanganUserID = ?, + M_RuanganLastUpdated = NOW() + WHERE M_RuanganID = ? + AND M_RuanganIsActive = 'Y'"; + + $que = $this->db->query($sql, [ + $para['branchID'], + $para['ruanganName'], + $para['ruanganCode'], + $userid, + $para['ruanganID'] + ]); + if (!$que) { + throw new Exception('failed to update ruangan', 1); + } + + $this->db->trans_commit(); + + $this->sys_ok([ + "records" => [ + "id" => $para['ruanganID'], + "name" => $para['ruanganName'], + "msg" => "Success Update Ruangan" + ] + ]); + } catch (Exception $e) { + $this->db->trans_rollback(); + + $msg = '[Error] ' . $e->getMessage(); + $code = $e->getCode(); + if ($code == 0) { + $this->sys_error($msg); + } else { + $this->sys_error_db($msg); + } + exit; + } + } + + function deleteRuangan() + { + try { + if (!$this->isLogin) { + throw new Exception('Invalid token'); + } + + $para = $this->sys_input; + $userid = $this->sys_user['M_UserID']; + + $this->db->trans_begin(); + + $sql = "UPDATE m_ruangan + SET + M_RuanganIsActive = 'N', + M_RuanganUserID = ?, + M_RuanganDeleted = NOW(), + M_RuanganLastUpdated = NOW() + WHERE M_RuanganID = ? + AND M_RuanganIsActive = 'Y'"; + + $que = $this->db->query($sql, [ + $userid, + $para['ruanganID'] + ]); + if (!$que) { + throw new Exception('failed to delete ruangan', 1); + } + + $this->db->trans_commit(); + + $this->sys_ok([ + "records" => [ + "id" => $para['ruanganID'], + "msg" => "Success Update Ruangan" + ] + ]); + } catch (Exception $e) { + $this->db->trans_rollback(); + + $msg = '[Error] ' . $e->getMessage(); + $code = $e->getCode(); + if ($code == 0) { + $this->sys_error($msg); + } else { + $this->sys_error_db($msg); + } + exit; + } + } +} diff --git a/application/controllers/mockup/purchase/requester/PurchaseRequestNonPersediaan.php b/application/controllers/mockup/purchase/requester/PurchaseRequestNonPersediaan.php index 84c0a49..da525c1 100644 --- a/application/controllers/mockup/purchase/requester/PurchaseRequestNonPersediaan.php +++ b/application/controllers/mockup/purchase/requester/PurchaseRequestNonPersediaan.php @@ -113,20 +113,19 @@ class PurchaseRequestNonPersediaan extends MY_Controller IFNULL(M_BranchCode, '') as M_BranchCode, IFNULL(M_BranchName, '') as M_BranchName, item_category.ItemCategoryName as itemCategoryName, - item_category.ItemCategoryID as itemCategoryID, - IF(ah.AssetHandoverID IS NULL, 0, 1) AS hasHandover, - ah.AssetHandoverConfirmedBy as handoverConfirmedBy, - ah.AssetHandoverID AS handoverID, - ah.AssetHandoverDate AS handoverDate, - ah.AssetHandoverToUserID AS handoverToUserID + item_category.ItemCategoryID as itemCategoryID + -- IF(ah.AssetHandoverID IS NULL, 0, 1) AS hasHandover, + -- ah.AssetHandoverConfirmedBy as handoverConfirmedBy, + -- ah.AssetHandoverID AS handoverID, + -- ah.AssetHandoverDate AS handoverDate, + -- ah.AssetHandoverToUserID AS handoverToUserID FROM purchase_request JOIN s_regional ON S_RegionalID = PurchaseRequestS_RegionalID JOIN item_category ON item_category.ItemCategoryID = PurchaseRequestItemCategoryID JOIN m_user requestedBy ON requestedBy.M_UserID = PurchaseRequestRequestedBy LEFT JOIN m_user approvedBy ON approvedBy.M_UserID = PurchaseRequestApprovedBy LEFT JOIN m_branch ON M_BranchCode = PurchaseRequestM_BranchCode - LEFT JOIN asset_handover ah ON ah.AssetHandoverPurchaseRequestID = PurchaseRequestID - AND ah.AssetHandoverIsActive = 'Y' + -- LEFT JOIN asset_handover ah ON ah.AssetHandoverPurchaseRequestID = PurchaseRequestID AND ah.AssetHandoverIsActive = 'Y' WHERE PurchaseRequestIsActive = 'Y' AND PurchaseRequestItemCategoryID <> '1' AND ( PurchaseRequestDate BETWEEN ? AND ? ) @@ -142,14 +141,39 @@ class PurchaseRequestNonPersediaan extends MY_Controller $this->sys_error_db("select purchase request", $this->db); exit; } - $rows = $exec->result_array(); - $query = $this->db->last_query(); + + foreach ($rows as $key => $value) { + $sql_isHandedOver = "SELECT + AssetHandoverID, + AssetHandoverDetailID, + AssetHandoverToUserID, + AssetHandoverConfirmedBy, + T_BarcodeBarangNumber, + M_UserUsername, + CASE + WHEN AssetHandoverConfirmedBy = 0 THEN 'N' + ELSE 'Y' + END AS allHandedOver + FROM asset_handover + JOIN asset_handover_detail ON AssetHandoverDetailAssetHandoverID = AssetHandoverID + AND AssetHandoverIsActive = 'Y' + JOIN t_barcode_barang ON AssetHandoverDetailT_BarcodeBarangID = T_BarcodeBarangID + JOIN m_user ON M_UserID = AssetHandoverToUserID + WHERE AssetHandoverPurchaseRequestID = ?"; + $que_isHandedOver = $this->db->query($sql_isHandedOver, [$value['prId']]); + if (!$que_isHandedOver) { + $this->sys_error_db("select purchase request", $this->db); + exit; + } + $data_handed = $que_isHandedOver->result_array(); + $rows[$key]['itemHandedOver'] = $data_handed; + } + $result = array( "total" => $totalPage, "totalFilter" => $totalCount, - "records" => $rows, - "db" => $query + "records" => $rows ); $this->sys_ok($result); @@ -2149,53 +2173,29 @@ class PurchaseRequestNonPersediaan extends MY_Controller return; } - # update confirm hand over # - $sql = "UPDATE asset_handover SET - AssetHandoverConfirmedAt = NOW(), - AssetHandoverConfirmedBy = ?, - AssetHandoverLastUpdated = NOW(), - AssetHandoverUserID = ? - WHERE AssetHandoverPurchaseRequestID = ?"; - $qry = $this->db->query($sql, [ - $user['M_UserID'], - $user['M_UserID'], - $prm['purchaseRequestID'] - ]); - if (!$qry) { - $this->db->trans_rollback(); - $this->sys_error_db("[Error] update confirm hand over", $this->db); - exit; + $dataHanded = $prm['itemHandedOver']; + foreach ($dataHanded as $key => $value) { + # update confirm hand over # + $sql = "UPDATE asset_handover SET + AssetHandoverConfirmedAt = NOW(), + AssetHandoverConfirmedBy = ?, + AssetHandoverLastUpdated = NOW(), + AssetHandoverUserID = ? + WHERE AssetHandoverPurchaseRequestID = ? + AND AssetHandoverID = ?"; + $qry = $this->db->query($sql, [ + $user['M_UserID'], + $user['M_UserID'], + $prm['purchaseRequestID'], + $value['AssetHandoverID'] + ]); + if (!$qry) { + $this->db->trans_rollback(); + $this->sys_error_db("[Error] update confirm hand over", $this->db); + exit; + } } - # update status purchase request # - // $sql_pr = "UPDATE purchase_request - // SET PurchaseRequestStatus = 'Closed', - // PurchaseRequestLastUpdated = NOW(), - // PurchaseRequestLastUpdatedUserID = ? - // WHERE PurchaseRequestID = ?"; - // $qry_pr = $this->db->query($sql_pr, [$user['M_UserID'], $prm['purchaseRequestID']]); - // if (!$qry_pr) { - // $this->db->trans_rollback(); - // $this->sys_error_db("[Error] update status purchase request", $this->db); - // exit; - // } - - // $sql = "SELECT * - // FROM purchase_request - // JOIN m_user ON M_UserID = PurchaseRequestCreatedUserID - // WHERE PurchaseRequestID = ?"; - // $query = $this->db->query($sql, [$prm['purchaseRequestID']]); - // $row = $query->row_array(); - // $sql = "SELECT * FROM purchase_request_detail WHERE PurchaseRequestDetailPurchaseRequestID = ? AND PurchaseRequestDetailIsActive = 'Y'"; - // $query = $this->db->query($sql, [$prm['purchaseRequestID']]); - // $rows = $query->result_array(); - // $data = array( - // "header" => $row, - // "details" => $rows - // ); - // $message = "Nomor PR: " . $row["PurchaseRequestNumber"] . " telah melakukan konfirmasi serah terima oleh " . $row["M_UserUsername"]; - // $this->insert_act_log("PRNP", "CONFIRM", $message, $prm['purchaseRequestID'], $this->safeJsonEncode($data), $user['M_UserID']); - $this->db->trans_commit(); $this->sys_ok("Konfirmasi serah terima berhasil disimpan"); } catch (Exception $exc) {