be crud m_ruangan

This commit is contained in:
2026-06-12 16:58:24 +07:00
parent 86d147945b
commit f3dba31445
3 changed files with 452 additions and 151 deletions

View File

@@ -536,7 +536,7 @@ class Mediajurnalauto extends MY_Controller
$this->db->trans_start(); $this->db->trans_start();
} }
$sql = "SELECT M_BranchCode, M_BranchIPAddress, M_BranchName $sql = "SELECT M_BranchCode, M_BranchIPAddress, M_BranchName
FROM m_branch FROM m_branch
WHERE M_BranchIsActive = 'Y' WHERE M_BranchIsActive = 'Y'
AND M_BranchS_RegionalID = ? ORDER BY M_BranchCode ASC"; AND M_BranchS_RegionalID = ? ORDER BY M_BranchCode ASC";
@@ -600,7 +600,7 @@ class Mediajurnalauto extends MY_Controller
$this->db->trans_start(); $this->db->trans_start();
} }
$sql = "SELECT M_BranchCode, M_BranchIPAddress, M_BranchName $sql = "SELECT M_BranchCode, M_BranchIPAddress, M_BranchName
FROM m_branch FROM m_branch
WHERE M_BranchIsActive = 'Y' WHERE M_BranchIsActive = 'Y'
AND M_BranchCode = ? ORDER BY M_BranchCode ASC"; AND M_BranchCode = ? ORDER BY M_BranchCode ASC";
@@ -754,10 +754,10 @@ class Mediajurnalauto extends MY_Controller
public function injectMapRkCabang() public function injectMapRkCabang()
{ {
$sql = "INSERT INTO map_rk_cabang $sql = "INSERT INTO map_rk_cabang
(Map_RkCabang_Rk_TypeID, Map_RkCabang_BranchCode, Map_RkCabang_SRegionalID, (Map_RkCabang_Rk_TypeID, Map_RkCabang_BranchCode, Map_RkCabang_SRegionalID,
Map_RkCabang_CoaID, Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription) Map_RkCabang_CoaID, Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription)
VALUES VALUES
('RUJ', 'BA', 8, 674, '3160400001', 'R/K CAB. MATRAMAN - RUJUKAN'), ('RUJ', 'BA', 8, 674, '3160400001', 'R/K CAB. MATRAMAN - RUJUKAN'),
('KEU', 'BA', 8, 675, '3160400002', 'R/K CAB. MATRAMAN - KEUANGAN'), ('KEU', 'BA', 8, 675, '3160400002', 'R/K CAB. MATRAMAN - KEUANGAN'),
('STOK', 'BA', 8, 677, '3160400004', 'R/K CAB. MATRAMAN - PERSEDIAAN'), ('STOK', 'BA', 8, 677, '3160400004', 'R/K CAB. MATRAMAN - PERSEDIAAN'),
@@ -773,7 +773,7 @@ class Mediajurnalauto extends MY_Controller
"; ";
} }
/* /*
* ------------------------* * ------------------------*
* PRIVATE HELPER FUNCTION * * PRIVATE HELPER FUNCTION *
* ------------------------* * ------------------------*
@@ -781,8 +781,8 @@ class Mediajurnalauto extends MY_Controller
private function getIpBranch($branchCode) private function getIpBranch($branchCode)
{ {
$sql = "SELECT M_BranchName, M_BranchIPAddress $sql = "SELECT M_BranchName, M_BranchIPAddress
FROM m_branch FROM m_branch
WHERE M_BranchIsActive = 'Y' AND M_BranchCode = ? LIMIT 1"; WHERE M_BranchIsActive = 'Y' AND M_BranchCode = ? LIMIT 1";
$qry = $this->db->query($sql, [$branchCode]); $qry = $this->db->query($sql, [$branchCode]);
if (!$qry) { 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 * maka masukkan selisih ke CoA pembulatan: CoaAccNo 1141100002
* Masukkan sebagai debit jika debit < kredit * Masukkan sebagai debit jika debit < kredit
* Masukkan sebagai kredit 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); $debit = round($balances['totalDebit'], 2);
$kredit = round($balances['totalKredit'], 2); $kredit = round($balances['totalKredit'], 2);
if ($debit != $kredit) { if ($debit != $kredit) {
// Kalau selisih < 500, masuk ke pembulatan // Kalau selisih < 500, masuk ke pembulatan
if (abs($debit - $kredit) < 500){ 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'"; WHERE coaAccountNo = '1141100002' AND coaIsActive = 'Y'";
$qry = $this->db->query($sql); $qry = $this->db->query($sql);
if ($qry->row() == null) { if ($qry->row() == null) {
@@ -882,8 +882,8 @@ class Mediajurnalauto extends MY_Controller
"err_type" => "Mapping", "err_type" => "Mapping",
"err_msg" => "Selisih Debit dan Kredit lebih dari Rp 500. {$lebihBesar} lebih besar dengan selisih Rp {$selisih} " "err_msg" => "Selisih Debit dan Kredit lebih dari Rp 500. {$lebihBesar} lebih besar dengan selisih Rp {$selisih} "
]; ];
} }
} }
// Rounding Total Debit Kredit and Balances // Rounding Total Debit Kredit and Balances
$balances['totalDebit'] = round($balances['totalDebit'], 2); $balances['totalDebit'] = round($balances['totalDebit'], 2);
@@ -911,8 +911,8 @@ class Mediajurnalauto extends MY_Controller
// ? Apakah perlu cek $r->NatBankIsEDC = 'N' ? // ? Apakah perlu cek $r->NatBankIsEDC = 'N' ?
if ($r->M_BankAccountNo != "" && $r->M_BankAccountNo != "EDC") { if ($r->M_BankAccountNo != "" && $r->M_BankAccountNo != "EDC") {
$sql = "SELECT MapBank_CoaID, MapBank_CoaAccountNo, MapBank_CoaDescription $sql = "SELECT MapBank_CoaID, MapBank_CoaAccountNo, MapBank_CoaDescription
FROM map_bank_coa FROM map_bank_coa
WHERE MapBank_BankAccountNo LIKE CONCAT('%',$r->M_BankAccountNo, '%') WHERE MapBank_BankAccountNo LIKE CONCAT('%',$r->M_BankAccountNo, '%')
AND MapBank_IsActive = 'Y' AND MapBank_IsActive = 'Y'
AND MapBank_BranchCode = ? AND MapBank_BranchCode = ?
AND MapBank_NatBankIsEDC = 'N' AND MapBank_NatBankIsEDC = 'N'
@@ -953,7 +953,7 @@ class Mediajurnalauto extends MY_Controller
if ($balances['totalDebit'] > 0 && count($details) > 0) { if ($balances['totalDebit'] > 0 && count($details) > 0) {
$sql = "SELECT Map_RkCabang_CoaID, Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription $sql = "SELECT Map_RkCabang_CoaID, Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription
FROM map_rk_cabang 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"; AND Map_RkCabang_BranchCode = ? AND Map_RkCabang_IsActive = 'Y' LIMIT 1";
$qry = $this->db->query($sql, [$branchCode]); $qry = $this->db->query($sql, [$branchCode]);
if ($qry->row() == null) { if ($qry->row() == null) {
@@ -1006,7 +1006,7 @@ class Mediajurnalauto extends MY_Controller
$sql = "SELECT MapBank_NatBankIsEDC, $sql = "SELECT MapBank_NatBankIsEDC,
MapBank_EDC_CoaID, MapBank_EDC_CoaAccountNo,MapBank_EDC_CoaDescription, MapBank_EDC_CoaID, MapBank_EDC_CoaAccountNo,MapBank_EDC_CoaDescription,
MapBank_CoaID, MapBank_CoaAccountNo, MapBank_CoaDescription MapBank_CoaID, MapBank_CoaAccountNo, MapBank_CoaDescription
FROM map_bank_coa FROM map_bank_coa
WHERE MapBank_BankAccountNo LIKE CONCAT('%',?, '%') WHERE MapBank_BankAccountNo LIKE CONCAT('%',?, '%')
AND MapBank_NatBankID = ? AND MapBank_NatBankID = ?
AND MapBank_BranchCode = ? AND MapBank_BranchCode = ?
@@ -1042,11 +1042,11 @@ class Mediajurnalauto extends MY_Controller
// Jika Non EDC, pakai mapping R/K Regional dan bawa AddOn jurnalRegNo // Jika Non EDC, pakai mapping R/K Regional dan bawa AddOn jurnalRegNo
else { else {
$sql = "SELECT Map_RkCabang_CoaID, Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription $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 JOIN map_rk_cabang ON Map_RkCabang_SRegionalID = M_BranchS_RegionalID
WHERE M_BranchCode = ? WHERE M_BranchCode = ?
AND Map_RkCabang_Rk_TypeID = 3 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"; LIMIT 1";
$qry = $this->db->query($sql, [$raw->BranchCode]); $qry = $this->db->query($sql, [$raw->BranchCode]);
if ($qry->row() == null) { if ($qry->row() == null) {
@@ -1108,7 +1108,7 @@ class Mediajurnalauto extends MY_Controller
// Handle Voucher. Masuk Debit. Coa B. Voucher Discount // Handle Voucher. Masuk Debit. Coa B. Voucher Discount
else if (stripos($raw->Ref, 'voucher')!== false) { else if (stripos($raw->Ref, 'voucher')!== false) {
$raw->coaAccNo = "5210000016"; $raw->coaAccNo = "5210000016";
$sql = "SELECT coaID, coaDescription FROM coa WHERE coaAccountNo = ? LIMIT 1"; $sql = "SELECT coaID, coaDescription FROM coa WHERE coaAccountNo = ? LIMIT 1";
$qry = $this->db->query($sql, [$raw->coaAccNo]); $qry = $this->db->query($sql, [$raw->coaAccNo]);
if ($qry->row() == null) { if ($qry->row() == null) {
@@ -1145,9 +1145,9 @@ class Mediajurnalauto extends MY_Controller
$natSubGroupID = $raw->NatSubGroupID; $natSubGroupID = $raw->NatSubGroupID;
// Mapping Nat SubGroup -> pendapatan // Mapping Nat SubGroup -> pendapatan
$sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription $sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription
FROM map_nat_subgroup FROM map_nat_subgroup
JOIN coa ON coaAccountNo = MapNatSub_PendapatanCoaAccountNo JOIN coa ON coaAccountNo = MapNatSub_PendapatanCoaAccountNo
WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ?
AND MapNatSub_IsActive = 'Y' LIMIT 1"; AND MapNatSub_IsActive = 'Y' LIMIT 1";
$qry = $this->db->query($sql, [$natGroupID, $natSubGroupID]); $qry = $this->db->query($sql, [$natGroupID, $natSubGroupID]);
if ($qry->row() == null) { if ($qry->row() == null) {
@@ -1190,8 +1190,8 @@ class Mediajurnalauto extends MY_Controller
$sql = "SELECT MapNatGroup_Disc_coaID, $sql = "SELECT MapNatGroup_Disc_coaID,
MapNatGroup_Disc_coaAccNo, MapNatGroup_Disc_coaAccNo,
MapNatGroup_Disc_coaDesc MapNatGroup_Disc_coaDesc
FROM map_nat_group FROM map_nat_group
WHERE MapNatGroup_NatGroupID = ? WHERE MapNatGroup_NatGroupID = ?
AND MapNatGroup_IsActive = 'Y'"; AND MapNatGroup_IsActive = 'Y'";
$qry = $this->db->query($sql, [$raw->NatGroupID]); $qry = $this->db->query($sql, [$raw->NatGroupID]);
if ($qry->row() == null) { if ($qry->row() == null) {
@@ -1214,8 +1214,8 @@ class Mediajurnalauto extends MY_Controller
$sql = "SELECT MapNatGroup_Retur_coaID, $sql = "SELECT MapNatGroup_Retur_coaID,
MapNatGroup_Retur_coaAccNo, MapNatGroup_Retur_coaAccNo,
MapNatGroup_Retur_coaDesc MapNatGroup_Retur_coaDesc
FROM map_nat_group FROM map_nat_group
WHERE MapNatGroup_NatGroupID = ? WHERE MapNatGroup_NatGroupID = ?
AND MapNatGroup_IsActive = 'Y'"; AND MapNatGroup_IsActive = 'Y'";
$qry = $this->db->query($sql, [$raw->Ref]); $qry = $this->db->query($sql, [$raw->Ref]);
if ($qry->row() == null) { if ($qry->row() == null) {
@@ -1234,7 +1234,7 @@ class Mediajurnalauto extends MY_Controller
// Handle Mapping round // Handle Mapping round
else if (stripos($raw->Ref, 'round') !== false) { 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'"; WHERE coaAccountNo = '1141100002' AND coaIsActive = 'Y'";
$qry = $this->db->query($sql); $qry = $this->db->query($sql);
if ($qry->row() == null) { if ($qry->row() == null) {
@@ -1253,7 +1253,7 @@ class Mediajurnalauto extends MY_Controller
// Update: 20250506 Pembulatan dihandle di bawah // Update: 20250506 Pembulatan dihandle di bawah
// continue; // continue;
} }
else { else {
$errMap[] = [ $errMap[] = [
"err_type" => "Mapping", "err_type" => "Mapping",
@@ -1306,17 +1306,17 @@ class Mediajurnalauto extends MY_Controller
if (isset($raw->is_parent) && $raw->is_parent == 1) { if (isset($raw->is_parent) && $raw->is_parent == 1) {
// 2a. Kalau M_CompanyID 1235 (PASIEN KLINISI), pakai coaNo 1120100002 // 2a. Kalau M_CompanyID 1235 (PASIEN KLINISI), pakai coaNo 1120100002
if ($raw->M_CompanyID == 1235) { 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'"; WHERE coaAccountNo = '1120100002' AND coaIsActive = 'Y'";
} }
// 2b. Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001 // 2b. Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001
else if ($raw->M_CompanyID == 1222) { 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'"; WHERE coaAccountNo = '1120100001' AND coaIsActive = 'Y'";
} }
// 2c. Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN) // 2c. Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN)
else { else {
$sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa
WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'"; WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'";
} }
$qry = $this->db->query($sql); $qry = $this->db->query($sql);
@@ -1329,7 +1329,7 @@ class Mediajurnalauto extends MY_Controller
} }
// * Untuk Parent: dibuat menjadi 2 jurnal_tx // * Untuk Parent: dibuat menjadi 2 jurnal_tx
// * 1. Debit Pakai coaCompany (Piutang). rawDbt // * 1. Debit Pakai coaCompany (Piutang). rawDbt
// * 2. Kredit Pakai mapping NatSubGroup. rawCr // * 2. Kredit Pakai mapping NatSubGroup. rawCr
$rawDbt = clone $raw; $rawDbt = clone $raw;
$rawDbt->coaID = $qry->row()->coaID; $rawDbt->coaID = $qry->row()->coaID;
$rawDbt->coaDescription = $qry->row()->coaDescription; $rawDbt->coaDescription = $qry->row()->coaDescription;
@@ -1341,10 +1341,10 @@ class Mediajurnalauto extends MY_Controller
$natGroupID = $rawCr->NatGroupID; $natGroupID = $rawCr->NatGroupID;
$natSubGroupID = $rawCr->NatSubGroupID; $natSubGroupID = $rawCr->NatSubGroupID;
$sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription $sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription
FROM map_nat_subgroup FROM map_nat_subgroup
JOIN coa ON MapNatSub_PendapatanCoaAccountNo = coaAccountNo JOIN coa ON MapNatSub_PendapatanCoaAccountNo = coaAccountNo
WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ?
AND MapNatSub_IsActive = 'Y' LIMIT 1"; AND MapNatSub_IsActive = 'Y' LIMIT 1";
$qry = $this->db->query($sql, [$natGroupID, $natSubGroupID]); $qry = $this->db->query($sql, [$natGroupID, $natSubGroupID]);
if (!$qry) { if (!$qry) {
@@ -1398,10 +1398,10 @@ class Mediajurnalauto extends MY_Controller
// 3. Kalau !is_parent dan !is_diskon , maka CoA pakai mapping NatSubGroup (Product) // 3. Kalau !is_parent dan !is_diskon , maka CoA pakai mapping NatSubGroup (Product)
else if (!isset($raw->is_parent) && !isset($raw->is_diskon)) { else if (!isset($raw->is_parent) && !isset($raw->is_diskon)) {
$sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription $sql = "SELECT MapNatSub_PendapatanCoaAccountNo, coaID, coaDescription
FROM map_nat_subgroup FROM map_nat_subgroup
JOIN coa ON MapNatSub_PendapatanCoaAccountNo = coaAccountNo JOIN coa ON MapNatSub_PendapatanCoaAccountNo = coaAccountNo
WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ? WHERE MapNatSub_NatGroupID = ? AND MapNatSub_NatSubGroupID = ?
AND MapNatSub_IsActive = 'Y' LIMIT 1"; AND MapNatSub_IsActive = 'Y' LIMIT 1";
$qry = $this->db->query($sql, [$raw->NatGroupID, $raw->NatSubGroupID]); $qry = $this->db->query($sql, [$raw->NatGroupID, $raw->NatSubGroupID]);
if (!$qry) { if (!$qry) {
@@ -1435,8 +1435,8 @@ class Mediajurnalauto extends MY_Controller
$sql = "SELECT MapNatGroup_Disc_coaID, $sql = "SELECT MapNatGroup_Disc_coaID,
MapNatGroup_Disc_coaAccNo, MapNatGroup_Disc_coaAccNo,
MapNatGroup_Disc_coaDesc MapNatGroup_Disc_coaDesc
FROM map_nat_group FROM map_nat_group
WHERE MapNatGroup_NatGroupID = ? WHERE MapNatGroup_NatGroupID = ?
AND MapNatGroup_IsActive = 'Y'"; AND MapNatGroup_IsActive = 'Y'";
$qry = $this->db->query($sql, [$raw->NatGroupID]); $qry = $this->db->query($sql, [$raw->NatGroupID]);
if (!$qry) { if (!$qry) {
@@ -1514,8 +1514,8 @@ class Mediajurnalauto extends MY_Controller
$errMap = []; $errMap = [];
$i = 0; $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 1. Debit dari Bank
2. Kredit ke Piutang Company 2. Kredit ke Piutang Company
*/ */
@@ -1541,12 +1541,12 @@ class Mediajurnalauto extends MY_Controller
$norek = str_replace(['-', '.'], '', $raw->M_BankAccountNo); $norek = str_replace(['-', '.'], '', $raw->M_BankAccountNo);
$sql = "SELECT MapBank_CoaAccountNo, MapBank_CoaDescription, $sql = "SELECT MapBank_CoaAccountNo, MapBank_CoaDescription,
MapBank_BankAccountNo, MapBank_BranchCode, MapBank_BankAccountNo, MapBank_BranchCode,
coaID, coaDescription coaID, coaDescription
FROM map_bank_coa FROM map_bank_coa
JOIN coa ON coaAccountNo = MapBank_CoaAccountNo JOIN coa ON coaAccountNo = MapBank_CoaAccountNo
WHERE MapBank_BankAccountNo = ? WHERE MapBank_BankAccountNo = ?
AND MapBank_IsActive = 'Y' AND MapBank_IsActive = 'Y'
LIMIT 1"; LIMIT 1";
$qry = $this->db->query($sql, [$norek]); $qry = $this->db->query($sql, [$norek]);
@@ -1601,17 +1601,17 @@ class Mediajurnalauto extends MY_Controller
// 2. Kredit ke Piutang Company. // 2. Kredit ke Piutang Company.
if ($raw->M_CompanyID == 1235) { 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'"; WHERE coaAccountNo = '1120100002' AND coaIsActive = 'Y'";
} }
// 2b. Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001 // 2b. Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001
else if ($raw->M_CompanyID == 1222) { 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'"; WHERE coaAccountNo = '1120100001' AND coaIsActive = 'Y'";
} }
// 2c. Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN) // 2c. Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN)
else { else {
$sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa
WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'"; WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'";
} }
@@ -1697,9 +1697,9 @@ class Mediajurnalauto extends MY_Controller
'totalBalance' => 0 'totalBalance' => 0
]; ];
$errMap = []; $errMap = [];
/* /*
Tiap item di $raws jadi 2 jurnal_tx dan 7 addOn: Tiap item di $raws jadi 2 jurnal_tx dan 7 addOn:
1. Debit pakai coa RK 1. Debit pakai coa RK
2. Kredit pakai coa Piutang Company 2. Kredit pakai coa Piutang Company
*/ */
foreach ($raws as $raw) { foreach ($raws as $raw) {
@@ -1713,8 +1713,8 @@ class Mediajurnalauto extends MY_Controller
// 1. Debit pakai coa RK // 1. Debit pakai coa RK
$sql = "SELECT Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription, Map_RkCabang_BranchCode, coaID $sql = "SELECT Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription, Map_RkCabang_BranchCode, coaID
FROM map_rk_cabang FROM map_rk_cabang
JOIN coa ON Map_RkCabang_CoaAccountNo = coaAccountNo JOIN coa ON Map_RkCabang_CoaAccountNo = coaAccountNo
WHERE Map_RkCabang_BranchCode = ? WHERE Map_RkCabang_BranchCode = ?
AND Map_RkCabang_Rk_TypeID = 1 AND Map_RkCabang_Rk_TypeID = 1
AND Map_RkCabang_IsActive = 'Y'"; AND Map_RkCabang_IsActive = 'Y'";
$qry = $this->db->query($sql, [$raw->BranchCode]); $qry = $this->db->query($sql, [$raw->BranchCode]);
@@ -1741,17 +1741,17 @@ class Mediajurnalauto extends MY_Controller
// 2. Kredit pakai coa Piutang Company // 2. Kredit pakai coa Piutang Company
// Kalau M_CompanyID 1235 (PASIEN DOKTER/KLINIS), pakai coaNo 1120100002 // Kalau M_CompanyID 1235 (PASIEN DOKTER/KLINIS), pakai coaNo 1120100002
if ($raw->M_CompanyID == 1235) { 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'"; WHERE coaAccountNo = '1120100002' AND coaIsActive = 'Y'";
} }
// Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001 // Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001
else if ($raw->M_CompanyID == 1222) { 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'"; WHERE coaAccountNo = '1120100001' AND coaIsActive = 'Y'";
} }
// Selain itu, pakai coaNo 1120200001 PIUTANG USAHA REKANAN) // Selain itu, pakai coaNo 1120200001 PIUTANG USAHA REKANAN)
else { else {
$sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa
WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'"; WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'";
} }
$qry = $this->db->query($sql); $qry = $this->db->query($sql);
@@ -1842,7 +1842,7 @@ class Mediajurnalauto extends MY_Controller
/* --------- BRIEF: ------------ /* --------- BRIEF: ------------
Setiap item di $raws masing-masing menjadi 1 jurnal_tx dan berbeda AddOn Setiap item di $raws masing-masing menjadi 1 jurnal_tx dan berbeda AddOn
- Debit dari Client - Debit dari Client
- Coa: coa Bank - Coa: coa Bank
- Addon: companyid, companynum, companyname, paytypeID, paymentpusatDate - Addon: companyid, companynum, companyname, paytypeID, paymentpusatDate
- Kredit ke R/K cabang lain - Kredit ke R/K cabang lain
@@ -1922,8 +1922,8 @@ class Mediajurnalauto extends MY_Controller
foreach ($rawCabLain as &$rawCr) { foreach ($rawCabLain as &$rawCr) {
$sql = "SELECT Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription, Map_RkCabang_BranchCode, coaID $sql = "SELECT Map_RkCabang_CoaAccountNo, Map_RkCabang_CoaDescription, Map_RkCabang_BranchCode, coaID
FROM map_rk_cabang FROM map_rk_cabang
JOIN coa ON Map_RkCabang_CoaAccountNo = coaAccountNo JOIN coa ON Map_RkCabang_CoaAccountNo = coaAccountNo
WHERE Map_RkCabang_BranchCode = ? WHERE Map_RkCabang_BranchCode = ?
AND Map_RkCabang_Rk_TypeID = 1 AND Map_RkCabang_Rk_TypeID = 1
AND Map_RkCabang_IsActive = 'Y'"; AND Map_RkCabang_IsActive = 'Y'";
$qry = $this->db->query($sql, [$rawCr->RK_BranchCode]); $qry = $this->db->query($sql, [$rawCr->RK_BranchCode]);
@@ -1978,17 +1978,17 @@ class Mediajurnalauto extends MY_Controller
foreach ($rawCabIni as &$rawCr2) { foreach ($rawCabIni as &$rawCr2) {
// PASIEN DOKTER/KLINISI // PASIEN DOKTER/KLINISI
if ($raw->M_CompanyID == 1235) { 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'"; WHERE coaAccountNo = '1120100002' AND coaIsActive = 'Y'";
} }
// Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001 // Kalau M_CompanyID 1222 (PASIEN MANDIRI), pakai coaNo 1120100001
else if ($raw->M_CompanyID == 1222) { 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'"; WHERE coaAccountNo = '1120100001' AND coaIsActive = 'Y'";
} }
//Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN) //Selain itu, pakai coaNo 1120200001 9PIUTANG USAHA REKANAN)
else { else {
$sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa $sql = "SELECT coaID, coaDescription, coaAccountNo FROM coa
WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'"; WHERE coaAccountNo = '1120200001' AND coaIsActive = 'Y'";
} }
@@ -2061,15 +2061,15 @@ class Mediajurnalauto extends MY_Controller
private function insertMapBank($raws) private function insertMapBank($raws)
{ {
$sqlCheck = "SELECT MapBank_BankAccountNo, MapBank_NatBankID, MapBank_BranchCode $sqlCheck = "SELECT MapBank_BankAccountNo, MapBank_NatBankID, MapBank_BranchCode
FROM map_bank_coa FROM map_bank_coa
WHERE MapBank_BankAccountNo LIKE CONCAT ('%', ?, '%') AND MapBank_NatBankID = ? AND MapBank_BranchCode = ? WHERE MapBank_BankAccountNo LIKE CONCAT ('%', ?, '%') AND MapBank_NatBankID = ? AND MapBank_BranchCode = ?
AND MapBank_IsActive = 'Y'"; AND MapBank_IsActive = 'Y'";
$sql = "INSERT INTO map_bank_coa $sql = "INSERT INTO map_bank_coa
(MapBank_BranchCode, MapBank_NatBankName, MapBank_BankAccountNo, (MapBank_BranchCode, MapBank_NatBankName, MapBank_BankAccountNo,
MapBank_NatBankID, MapBank_NatBankCode, MapBank_NatBankIsEDC, MapBank_NatBankID, MapBank_NatBankCode, MapBank_NatBankIsEDC,
MapBank_IsActive, MapBank_CreatedAt, MapBank_LastUpdatedAt) MapBank_IsActive, MapBank_CreatedAt, MapBank_LastUpdatedAt)
VALUES (?, ?, ?, ?, ?, ?, 'Y', NOW(), NOW())"; VALUES (?, ?, ?, ?, ?, ?, 'Y', NOW(), NOW())";
$errMap = []; $errMap = [];
$seenAcc = []; $seenAcc = [];
@@ -2131,11 +2131,11 @@ class Mediajurnalauto extends MY_Controller
{ {
$jurnalInfo = []; $jurnalInfo = [];
// * Sudah pasti success karena di awal sudah ada yang mirip (tidak perlu cek eror) // * 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 M_BranchName, S_RegionalName
FROM m_branch FROM m_branch
JOIN s_regional ON M_BranchS_RegionalID = S_RegionalID 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]); $qry = $this->db->query($sql, [$branchCode]);
$regID = $qry->row()->M_BranchS_RegionalID; $regID = $qry->row()->M_BranchS_RegionalID;
@@ -2233,10 +2233,10 @@ class Mediajurnalauto extends MY_Controller
private function injectJurnal($jurnalInfo, $details) private function injectJurnal($jurnalInfo, $details)
{ {
$sqlHeader = "INSERT INTO jurnal $sqlHeader = "INSERT INTO jurnal
(jurnalM_BranchCompanyID, JurnalS_RegionalID, jurnalM_BranchCode, (jurnalM_BranchCompanyID, JurnalS_RegionalID, jurnalM_BranchCode,
jurnalperiodeID, jurnalNo, jurnalTitle, jurnalperiodeID, jurnalNo, jurnalTitle,
jurnalDescription, jurnalDate, jurnalJurnalTypeID, jurnalDescription, jurnalDate, jurnalJurnalTypeID,
jurnalCreated, jurnalM_UserID) jurnalCreated, jurnalM_UserID)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), ?)"; VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(), ?)";
@@ -2296,13 +2296,13 @@ class Mediajurnalauto extends MY_Controller
// if ($jurnalTxDebit == 0 && $jurnalTxCredit == 0) { // if ($jurnalTxDebit == 0 && $jurnalTxCredit == 0) {
// return; // return;
// } // }
$insertTx = "INSERT INTO jurnal_tx $insertTx = "INSERT INTO jurnal_tx
(jurnalTxJurnalID, jurnalTxCoaID, jurnalTxDescription, jurnalTxCredit, (jurnalTxJurnalID, jurnalTxCoaID, jurnalTxDescription, jurnalTxCredit,
jurnalTxDebit, jurnalTxIsActive, jurnalTxCreated, jurnalTxLastUpdated, jurnalTxM_UserID) jurnalTxDebit, jurnalTxIsActive, jurnalTxCreated, jurnalTxLastUpdated, jurnalTxM_UserID)
VALUES (?, ?, ?, ?, ?, 'Y', NOW(), NOW(), 500)"; VALUES (?, ?, ?, ?, ?, 'Y', NOW(), NOW(), 500)";
$insertAddOn = "INSERT INTO jurnal_addon $insertAddOn = "INSERT INTO jurnal_addon
(jurnalAddOnJurnalID, jurnalAddOnJurnalTxID, (jurnalAddOnJurnalID, jurnalAddOnJurnalTxID,
jurnalAddOnCode, jurnalAddOnCode,
jurnalAddOnValue, jurnalAddOnValue,
jurnalAddOnIsActive, jurnalAddOnCreated, jurnalAddOnIsActive, jurnalAddOnCreated,
@@ -2341,8 +2341,8 @@ class Mediajurnalauto extends MY_Controller
private function injectErrors($jurnalErr, $jurnalID) private function injectErrors($jurnalErr, $jurnalID)
{ {
$sql = "INSERT INTO jurnal_errors $sql = "INSERT INTO jurnal_errors
(JurnalErr_JurnalID, JurnalErr_Msg, JurnalErr_CreatedAt, JurnalErr_LastUpdatedAt) (JurnalErr_JurnalID, JurnalErr_Msg, JurnalErr_CreatedAt, JurnalErr_LastUpdatedAt)
VALUES (?, ?, NOW(), NOW())"; // NOW() is handled by MySQL, so no placeholder is needed VALUES (?, ?, NOW(), NOW())"; // NOW() is handled by MySQL, so no placeholder is needed
foreach ($jurnalErr as $err) { foreach ($jurnalErr as $err) {
@@ -2357,9 +2357,9 @@ class Mediajurnalauto extends MY_Controller
private function getBranchCodeRegenSalesReg($jurnalNo) private function getBranchCodeRegenSalesReg($jurnalNo)
{ {
$sql = "SELECT jurnalID, jurnalNo FROM jurnal $sql = "SELECT jurnalID, jurnalNo FROM jurnal
WHERE jurnalNo LIKE CONCAT('%', ?, '%') 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"; 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]); $qry = $this->db->query($sql, [$jurnalNo]);
if (!$qry) { if (!$qry) {
@@ -2377,9 +2377,9 @@ class Mediajurnalauto extends MY_Controller
private function checkExistingJurnal($branchCode, $searchDate, $jurnalType, $jurnalNo = "") private function checkExistingJurnal($branchCode, $searchDate, $jurnalType, $jurnalNo = "")
{ {
$sql = "SELECT jurnalID, jurnalNo FROM jurnal $sql = "SELECT jurnalID, jurnalNo FROM jurnal
WHERE jurnalM_BranchCode = ? WHERE jurnalM_BranchCode = ?
AND jurnalDate = ? AND jurnalJurnalTypeID = ? AND jurnalDate = ? AND jurnalJurnalTypeID = ?
AND jurnalIsActive = 'Y' ORDER BY jurnalID DESC"; AND jurnalIsActive = 'Y' ORDER BY jurnalID DESC";
switch ($jurnalType) { switch ($jurnalType) {
@@ -2416,7 +2416,7 @@ class Mediajurnalauto extends MY_Controller
// * Sementara khusus regen SALES karena harus 2 jurnalID // * Sementara khusus regen SALES karena harus 2 jurnalID
if ($regenFromCab || $regenFromReg) { if ($regenFromCab || $regenFromReg) {
$sql_2 = "SELECT jurnalID, jurnalNo FROM jurnal $sql_2 = "SELECT jurnalID, jurnalNo FROM jurnal
WHERE jurnalNo LIKE CONCAT(?, '%') WHERE jurnalNo LIKE CONCAT(?, '%')
AND jurnalJurnalTypeID = ? AND jurnalJurnalTypeID = ?
AND jurnalIsActive = 'Y' AND jurnalIsPosted = 'N' ORDER BY jurnalNo ASC"; // ASC Nomor Regional di Atas 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); $fullmsg = json_encode($fullmsg, JSON_PRETTY_PRINT);
$sql = "INSERT INTO jurnal_errors $sql = "INSERT INTO jurnal_errors
(JurnalErr_JurnalID, JurnalErr_Msg, JurnalErr_CreatedAt, JurnalErr_LastUpdatedAt) (JurnalErr_JurnalID, JurnalErr_Msg, JurnalErr_CreatedAt, JurnalErr_LastUpdatedAt)
VALUES (?, ?, NOW(), NOW())"; VALUES (?, ?, NOW(), NOW())";
$qry = $this->db->query($sql, [$jurnalID, $fullmsg]); $qry = $this->db->query($sql, [$jurnalID, $fullmsg]);
@@ -2479,14 +2479,14 @@ class Mediajurnalauto extends MY_Controller
exit; exit;
} }
// 1. Update jurnal where jurnalID = ? // 1. Update jurnal where jurnalID = ?
$this->db->set('jurnalIsActive', 'N'); $this->db->set('jurnalIsActive', 'N');
$this->db->set('jurnalLastUpdated', 'NOW()', FALSE); $this->db->set('jurnalLastUpdated', 'NOW()', FALSE);
$this->db->set('jurnalM_UserID', $userID); $this->db->set('jurnalM_UserID', $userID);
$this->db->where('jurnalID', $jurnalID); $this->db->where('jurnalID', $jurnalID);
$this->db->update('jurnal'); $this->db->update('jurnal');
// 2. Update jurnal_tx where jurnalTxJurnalID = ? // 2. Update jurnal_tx where jurnalTxJurnalID = ?
$this->db->set('jurnalTxIsActive', 'N'); $this->db->set('jurnalTxIsActive', 'N');
$this->db->set('jurnalTxLastUpdated', 'NOW()', FALSE); $this->db->set('jurnalTxLastUpdated', 'NOW()', FALSE);
$this->db->set('jurnalTxM_UserID', $userID); $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)"; $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`, $tx = "INSERT INTO `jurnal_tx` (`jurnalTxJurnalID`, `jurnalTxCoaID`, `jurnalTxDescription`,
`jurnalTxDebit`, `jurnalTxCredit`, `jurnalTxIsActive`, `jurnalTxCreated`, `jurnalTxDebit`, `jurnalTxCredit`, `jurnalTxIsActive`, `jurnalTxCreated`,
`jurnalTxLastUpdated`, `jurnalTxM_UserID`) VALUES `jurnalTxLastUpdated`, `jurnalTxM_UserID`) VALUES
(96, 5, 'TUNAI', 1850000, 0, 'Y', NOW(), NOW(), 345), (96, 5, 'TUNAI', 1850000, 0, 'Y', NOW(), NOW(), 345),
(96, 29, 'BCA PT PRAMITTA (5060)', 4393950, 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`, $addOn = "INSERT INTO `jurnal_addon` (`jurnalAddOnJurnalID`, `jurnalAddOnJurnalTxID`,
`jurnalAddOnCode`, `jurnalAddOnValue`, `jurnalAddOnIsActive`, `jurnalAddOnCreated`, `jurnalAddOnCode`, `jurnalAddOnValue`, `jurnalAddOnIsActive`, `jurnalAddOnCreated`,
`jurnalAddOnCreatedUserID`, `jurnalAddOnDeleted`, `jurnalAddOnDeletedUserID`, `jurnalAddOnCreatedUserID`, `jurnalAddOnDeleted`, `jurnalAddOnDeletedUserID`,
`jurnalAddOnLastUpdatedUserID`, `jurnalAddOnLastUpdated`) VALUES `jurnalAddOnLastUpdatedUserID`, `jurnalAddOnLastUpdated`) VALUES
(96, 316,'OMZTYPE', '1', 'Y', NOW(), 345, NOW(), 0, 345, NOW()), (96, 316,'OMZTYPE', '1', 'Y', NOW(), 345, NOW(), 0, 345, NOW()),
(96, 316,'OMZNAME', 'APS', '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()), (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`, $jurnal = "INSERT INTO `jurnal` (`jurnalM_BranchCompanyID`, `JurnalS_RegionalID`,
`jurnalM_BranchCode`, `jurnalperiodeID`, `jurnalNo`, `jurnalTitle`, `jurnalDescription`, `jurnalM_BranchCode`, `jurnalperiodeID`, `jurnalNo`, `jurnalTitle`, `jurnalDescription`,
`jurnalDate`, `jurnalIsPosted`, `jurnalJurnalTypeID`, `jurnalIsActive`, `jurnalCreated`, `jurnalDate`, `jurnalIsPosted`, `jurnalJurnalTypeID`, `jurnalIsActive`, `jurnalCreated`,
`jurnalLastUpdated`, `jurnalM_UserID`) VALUES (1, 8, 'BA', 4, 'autoAR001', `jurnalLastUpdated`, `jurnalM_UserID`) VALUES (1, 8, 'BA', 4, 'autoAR001',
'Media Jurnal AR', 'inject manual AR belum balance', '2025-01-09', 'N', 10, 'Y', 'Media Jurnal AR', 'inject manual AR belum balance', '2025-01-09', 'N', 10, 'Y',
NOW(), NOW(),345)"; NOW(), NOW(),345)";
$jurnalID = 144; $jurnalID = 144;
$tx = "INSERT INTO `jurnal_tx` (`jurnalTxJurnalID`, `jurnalTxCoaID`, `jurnalTxDescription`, $tx = "INSERT INTO `jurnal_tx` (`jurnalTxJurnalID`, `jurnalTxCoaID`, `jurnalTxDescription`,
`jurnalTxDebit`, `jurnalTxCredit`, `jurnalTxIsActive`, `jurnalTxCreated`, `jurnalTxDebit`, `jurnalTxCredit`, `jurnalTxIsActive`, `jurnalTxCreated`,
`jurnalTxLastUpdated`, `jurnalTxM_UserID`) VALUES `jurnalTxLastUpdated`, `jurnalTxM_UserID`) VALUES
(144, 199, 'PASIEN DOKTER / KLINISI', 585600, 0, 'Y', NOW(), NOW(), 345), (144, 199, 'PASIEN DOKTER / KLINISI', 585600, 0, 'Y', NOW(), NOW(), 345),
(144, 847, 'PEND. RAD. PANORAMIC & DENTAL', 0, 732000, '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`, $addOn = "INSERT INTO `jurnal_addon` (`jurnalAddOnJurnalID`, `jurnalAddOnJurnalTxID`,
`jurnalAddOnCode`, `jurnalAddOnValue`, `jurnalAddOnIsActive`, `jurnalAddOnCreated`, `jurnalAddOnCode`, `jurnalAddOnValue`, `jurnalAddOnIsActive`, `jurnalAddOnCreated`,
`jurnalAddOnCreatedUserID`, `jurnalAddOnDeleted`, `jurnalAddOnDeletedUserID`, `jurnalAddOnCreatedUserID`, `jurnalAddOnDeleted`, `jurnalAddOnDeletedUserID`,
`jurnalAddOnLastUpdatedUserID`, `jurnalAddOnLastUpdated`) VALUES `jurnalAddOnLastUpdatedUserID`, `jurnalAddOnLastUpdated`) VALUES
(144, 913,'CMPNYNUM', 'PRAMITA00013', 'Y', NOW(), 345, NOW(), 0, 345, NOW()), (144, 913,'CMPNYNUM', 'PRAMITA00013', 'Y', NOW(), 345, NOW(), 0, 345, NOW()),
(144, 913,'CMPNYID', '1235', '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()), (144, 913,'CMPNYNAME', 'PASIEN KLINISI', 'Y', NOW(), 345, NOW(), 0, 345, NOW()),

View File

@@ -0,0 +1,301 @@
<?php
class Ruangan extends MY_Controller
{
var $db;
function __construct()
{
parent::__construct();
}
function index()
{
echo "API Ruangan";
}
function lookupRuangan()
{
try {
if (!$this->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;
}
}
}

View File

@@ -113,20 +113,19 @@ class PurchaseRequestNonPersediaan extends MY_Controller
IFNULL(M_BranchCode, '') as M_BranchCode, IFNULL(M_BranchCode, '') as M_BranchCode,
IFNULL(M_BranchName, '') as M_BranchName, IFNULL(M_BranchName, '') as M_BranchName,
item_category.ItemCategoryName as itemCategoryName, item_category.ItemCategoryName as itemCategoryName,
item_category.ItemCategoryID as itemCategoryID, item_category.ItemCategoryID as itemCategoryID
IF(ah.AssetHandoverID IS NULL, 0, 1) AS hasHandover, -- IF(ah.AssetHandoverID IS NULL, 0, 1) AS hasHandover,
ah.AssetHandoverConfirmedBy as handoverConfirmedBy, -- ah.AssetHandoverConfirmedBy as handoverConfirmedBy,
ah.AssetHandoverID AS handoverID, -- ah.AssetHandoverID AS handoverID,
ah.AssetHandoverDate AS handoverDate, -- ah.AssetHandoverDate AS handoverDate,
ah.AssetHandoverToUserID AS handoverToUserID -- ah.AssetHandoverToUserID AS handoverToUserID
FROM purchase_request FROM purchase_request
JOIN s_regional ON S_RegionalID = PurchaseRequestS_RegionalID JOIN s_regional ON S_RegionalID = PurchaseRequestS_RegionalID
JOIN item_category ON item_category.ItemCategoryID = PurchaseRequestItemCategoryID JOIN item_category ON item_category.ItemCategoryID = PurchaseRequestItemCategoryID
JOIN m_user requestedBy ON requestedBy.M_UserID = PurchaseRequestRequestedBy JOIN m_user requestedBy ON requestedBy.M_UserID = PurchaseRequestRequestedBy
LEFT JOIN m_user approvedBy ON approvedBy.M_UserID = PurchaseRequestApprovedBy LEFT JOIN m_user approvedBy ON approvedBy.M_UserID = PurchaseRequestApprovedBy
LEFT JOIN m_branch ON M_BranchCode = PurchaseRequestM_BranchCode LEFT JOIN m_branch ON M_BranchCode = PurchaseRequestM_BranchCode
LEFT JOIN asset_handover ah ON ah.AssetHandoverPurchaseRequestID = PurchaseRequestID -- LEFT JOIN asset_handover ah ON ah.AssetHandoverPurchaseRequestID = PurchaseRequestID AND ah.AssetHandoverIsActive = 'Y'
AND ah.AssetHandoverIsActive = 'Y'
WHERE PurchaseRequestIsActive = 'Y' WHERE PurchaseRequestIsActive = 'Y'
AND PurchaseRequestItemCategoryID <> '1' AND PurchaseRequestItemCategoryID <> '1'
AND ( PurchaseRequestDate BETWEEN ? AND ? ) AND ( PurchaseRequestDate BETWEEN ? AND ? )
@@ -142,14 +141,39 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$this->sys_error_db("select purchase request", $this->db); $this->sys_error_db("select purchase request", $this->db);
exit; exit;
} }
$rows = $exec->result_array(); $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( $result = array(
"total" => $totalPage, "total" => $totalPage,
"totalFilter" => $totalCount, "totalFilter" => $totalCount,
"records" => $rows, "records" => $rows
"db" => $query
); );
$this->sys_ok($result); $this->sys_ok($result);
@@ -2149,53 +2173,29 @@ class PurchaseRequestNonPersediaan extends MY_Controller
return; return;
} }
# update confirm hand over # $dataHanded = $prm['itemHandedOver'];
$sql = "UPDATE asset_handover SET foreach ($dataHanded as $key => $value) {
AssetHandoverConfirmedAt = NOW(), # update confirm hand over #
AssetHandoverConfirmedBy = ?, $sql = "UPDATE asset_handover SET
AssetHandoverLastUpdated = NOW(), AssetHandoverConfirmedAt = NOW(),
AssetHandoverUserID = ? AssetHandoverConfirmedBy = ?,
WHERE AssetHandoverPurchaseRequestID = ?"; AssetHandoverLastUpdated = NOW(),
$qry = $this->db->query($sql, [ AssetHandoverUserID = ?
$user['M_UserID'], WHERE AssetHandoverPurchaseRequestID = ?
$user['M_UserID'], AND AssetHandoverID = ?";
$prm['purchaseRequestID'] $qry = $this->db->query($sql, [
]); $user['M_UserID'],
if (!$qry) { $user['M_UserID'],
$this->db->trans_rollback(); $prm['purchaseRequestID'],
$this->sys_error_db("[Error] update confirm hand over", $this->db); $value['AssetHandoverID']
exit; ]);
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->db->trans_commit();
$this->sys_ok("Konfirmasi serah terima berhasil disimpan"); $this->sys_ok("Konfirmasi serah terima berhasil disimpan");
} catch (Exception $exc) { } catch (Exception $exc) {