update / proses add akun pusat di media jurnal & move barcode to serah terima

This commit is contained in:
2026-05-13 16:51:39 +07:00
parent 4234c37e75
commit dc4e16329f
16 changed files with 4227 additions and 551 deletions

View File

@@ -28,7 +28,7 @@ class Fakturv4 extends MY_Controller
}
$branchid = $this->sys_user['M_BranchID'];
$sql = "SELECT
$sql = "SELECT
M_StaffID,
M_StaffName,
M_StaffCode
@@ -76,7 +76,7 @@ class Fakturv4 extends MY_Controller
SupplierName,
IFNULL(SupplierTermOfPayment, 0) AS SupplierTermOfPayment
FROM supplier
WHERE SupplierName LIKE ?
WHERE SupplierName LIKE ?
AND SupplierIsActive = 'Y'";
$qry = $this->db->query($sql, [$name]);
if (!$qry) {
@@ -115,10 +115,10 @@ class Fakturv4 extends MY_Controller
PurchaseOrderNumber,
PurchaseOrderDetailID
FROM purchase_order
JOIN purchase_order_detail
JOIN purchase_order_detail
ON PurchaseOrderDetailPurchaseOrderID = PurchaseOrderID
AND PurchaseOrderDetailIsActive = 'Y'
JOIN warehouse ON WarehouseID = PurchaseOrderDetailWarehouseID
JOIN warehouse ON WarehouseID = PurchaseOrderDetailWarehouseID
AND WarehouseIsActive = 'Y'
JOIN receive_order_po_detail
ON ReceiveOrderPoDetailPurchaseOrderDetailID = PurchaseOrderDetailID
@@ -172,10 +172,10 @@ class Fakturv4 extends MY_Controller
PurchaseOrderNumber,
PurchaseOrderDetailID
FROM purchase_order
JOIN purchase_order_detail
JOIN purchase_order_detail
ON PurchaseOrderDetailPurchaseOrderID = PurchaseOrderID
AND PurchaseOrderDetailIsActive = 'Y'
JOIN warehouse ON WarehouseID = PurchaseOrderDetailWarehouseID
JOIN warehouse ON WarehouseID = PurchaseOrderDetailWarehouseID
AND WarehouseIsActive = 'Y'
JOIN receive_order_po_detail
ON ReceiveOrderPoDetailPurchaseOrderDetailID = PurchaseOrderDetailID
@@ -232,10 +232,10 @@ class Fakturv4 extends MY_Controller
PurchaseOrderTaxPercentPpn,
PurchaseOrderGrandTotal,
PurchaseOrderShippingCost,
PurchaseOrderDiscountAmount,
PurchaseOrderDiscountAmount,
PurchaseOrderDiscountPercent,
IF (PurchaseOrderDiscountAmount > 0,
'R',
IF (PurchaseOrderDiscountAmount > 0,
'R',
'P'
) AS DiscountType
FROM purchase_order
@@ -263,7 +263,7 @@ class Fakturv4 extends MY_Controller
{
try {
if (!$this->isLogin) {
$this->sys_error();
$this->sys_error("invalid token");
exit;
}
@@ -324,7 +324,7 @@ class Fakturv4 extends MY_Controller
$page = ($para['currpage'] - 1) * $limit;
}
$sql = "SELECT
$sql = "SELECT
ReceiveOrderPoDetailPurchaseOrderID,
ReceiveOrderPoDetailPurchaseOrderSummaryID,
ReceiveOrderPoDetailReceiveOrderPoID,
@@ -336,12 +336,12 @@ class Fakturv4 extends MY_Controller
unitreceive.ItemUnitName as ReceiveOrderPoItemUnitName,
ReceiveOrderPoDetailQty,
ReceiveOrderPoDetailPrice,
IF (PurchaseOrderSummaryDiscountType = 'R',
PurchaseOrderSummaryDiscountRupiah,
IF (PurchaseOrderSummaryDiscountType = 'R',
PurchaseOrderSummaryDiscountRupiah,
PurchaseOrderSummaryDiscountPercent
) as Discount,
PurchaseOrderSummaryDiscountType,
ReceiveOrderPoDetailDiskonPoProrata
PurchaseOrderSummaryDiscountType,
ReceiveOrderPoDetailDiskonPoProrata
FROM receive_order_po_detail
JOIN receive_order_po ON ReceiveOrderPoDetailReceiveOrderPoID = ReceiveOrderPoID
AND ReceiveOrderPoIsActive = 'Y'
@@ -356,8 +356,8 @@ class Fakturv4 extends MY_Controller
AND ReceiveOrderPoID = ?
AND M_ItemDesc LIKE ?
AND NOT EXISTS (
SELECT 1
FROM supplier_invoice_detail
SELECT 1
FROM supplier_invoice_detail
WHERE SupplierInvoiceDetailReceiveOrderPoDetailID = ReceiveOrderPoDetailID
AND SupplierInvoiceDetailIsActive = 'Y'
)
@@ -383,8 +383,8 @@ class Fakturv4 extends MY_Controller
AND ReceiveOrderPoID = ?
AND M_ItemDesc LIKE ?
AND NOT EXISTS (
SELECT 1
FROM supplier_invoice_detail
SELECT 1
FROM supplier_invoice_detail
WHERE SupplierInvoiceDetailReceiveOrderPoDetailID = ReceiveOrderPoDetailID
AND SupplierInvoiceDetailIsActive = 'Y'
)";
@@ -438,31 +438,39 @@ class Fakturv4 extends MY_Controller
}
$sqltal = "SELECT COUNT(*) as total
FROM supplier_invoice
JOIN supplier_invoice_detail ON SupplierInvoiceID = SupplierInvoiceDetailSupplierInvoiceID
JOIN receive_order_po ON SupplierInvoiceDetailReceiveOrderPoID = ReceiveOrderPoID
JOIN purchase_order ON SupplierInvoiceDetailPurchaseOrderID = PurchaseOrderID
LEFT JOIN warehouse ON ReceiveOrderPoWarehouseID = WarehouseID
AND WarehouseM_BranchID = ?
JOIN supplier ON SupplierID = SupplierInvoiceSupplierID
AND SupplierIsActive = 'Y'
LEFT JOIN m_branch ON M_BranchID = WarehouseM_BranchID
LEFT JOIN s_regional ON S_RegionalID = WarehouseS_RegionalID
WHERE SupplierInvoiceIsActive = 'Y'
AND (
SupplierInvoiceNumber LIKE ? OR
SupplierInvoiceDeliveryOrderNumber LIKE ? OR
SupplierInvoiceSupplierInvoiceNumber LIKE ?
)
AND SupplierInvoiceDate >= DATE(?)
AND SupplierInvoiceDate <= DATE(?)
AND (? = 'All' OR SupplierInvoiceStatus = ?)
AND (? = '0' OR SupplierInvoiceSupplierID = ?)
GROUP BY SupplierInvoiceID
ORDER BY SUpplierInvoiceID DESC";
FROM supplier_invoice
JOIN supplier_invoice_detail ON SupplierInvoiceID = SupplierInvoiceDetailSupplierInvoiceID
JOIN receive_order_po ON SupplierInvoiceDetailReceiveOrderPoID = ReceiveOrderPoID
JOIN purchase_order ON SupplierInvoiceDetailPurchaseOrderID = PurchaseOrderID
LEFT JOIN warehouse ON ReceiveOrderPoWarehouseID = WarehouseID
AND WarehouseM_BranchID = ?
JOIN supplier ON SupplierID = SupplierInvoiceSupplierID
AND SupplierIsActive = 'Y'
LEFT JOIN m_branch ON M_BranchID = WarehouseM_BranchID
LEFT JOIN s_regional ON S_RegionalID = WarehouseS_RegionalID
WHERE SupplierInvoiceIsActive = 'Y'
AND (
SupplierInvoiceNumber LIKE ? OR
SupplierInvoiceRefNumber LIKE ? OR
SupplierInvoiceSupplierInvoiceNumber LIKE ?
)
AND SupplierInvoiceDate >= DATE(?)
AND SupplierInvoiceDate <= DATE(?)
AND (? = 'All' OR SupplierInvoiceStatus = ?)
AND (? = '0' OR SupplierInvoiceSupplierID = ?)
GROUP BY SupplierInvoiceID
ORDER BY SUpplierInvoiceID DESC";
$quetal = $this->db->query($sqltal, [
$branchID, $nomo, $nomo, $nomo, $date, $enddate,
$status, $status, $supplier, $supplier
$branchID,
$nomo,
$nomo,
$nomo,
$date,
$enddate,
$status,
$status,
$supplier,
$supplier
]);
if (!$quetal) {
$this->sys_error_db("[Error] get total data faktur");
@@ -470,52 +478,61 @@ class Fakturv4 extends MY_Controller
}
$total = $quetal->result_array()[0]['total'];
$sqlfak = "SELECT
SupplierInvoiceID,
SupplierInvoiceNumber,
SupplierInvoiceDate,
SupplierInvoiceDueDate,
SupplierInvoiceDraftPaymentDate,
SupplierInvoiceSupplierID,
SupplierName,
SupplierInvoiceStatus,
SupplierInvoiceNote,
SupplierInvoiceGrandTotal,
SupplierInvoiceSupplierInvoiceNumber,
CASE
WHEN WarehouseType = 'B' THEN CONCAT(WarehouseCode,' ', WarehouseName, ' - ', M_BranchName)
WHEN WarehouseType = 'R' THEN CONCAT(WarehouseCode,' ', WarehouseName, ' - ', S_RegionalName)
ELSE ''
END as WarehouseName,
ReceiveOrderPoID,
PurchaseOrderItemCategoryID
FROM supplier_invoice
JOIN supplier_invoice_detail ON SupplierInvoiceID = SupplierInvoiceDetailSupplierInvoiceID
JOIN receive_order_po ON SupplierInvoiceDetailReceiveOrderPoID = ReceiveOrderPoID
JOIN purchase_order ON SupplierInvoiceDetailPurchaseOrderID = PurchaseOrderID
LEFT JOIN warehouse ON ReceiveOrderPoWarehouseID = WarehouseID
AND WarehouseM_BranchID = ?
JOIN supplier ON SupplierID = SupplierInvoiceSupplierID
AND SupplierIsActive = 'Y'
LEFT JOIN m_branch ON M_BranchID = WarehouseM_BranchID
LEFT JOIN s_regional ON S_RegionalID = WarehouseS_RegionalID
WHERE SupplierInvoiceIsActive = 'Y'
AND (
SupplierInvoiceNumber LIKE ? OR
SupplierInvoiceDeliveryOrderNumber LIKE ? OR
SupplierInvoiceSupplierInvoiceNumber LIKE ?
)
AND SupplierInvoiceDate >= DATE(?)
AND SupplierInvoiceDate <= DATE(?)
AND (? = 'All' OR SupplierInvoiceStatus = ?)
AND (? = '0' OR SupplierInvoiceSupplierID = ?)
GROUP BY SupplierInvoiceID
ORDER BY SUpplierInvoiceID DESC
LIMIT ? OFFSET ?";
$sqlfak = "SELECT
SupplierInvoiceID,
SupplierInvoiceNumber,
SupplierInvoiceDate,
SupplierInvoiceDueDate,
SupplierInvoiceDraftPaymentDate,
SupplierInvoiceSupplierID,
SupplierName,
SupplierInvoiceStatus,
SupplierInvoiceNote,
SupplierInvoiceGrandTotal,
SupplierInvoiceSupplierInvoiceNumber,
CASE
WHEN WarehouseType = 'B' THEN CONCAT(WarehouseCode,' ', WarehouseName, ' - ', M_BranchName)
WHEN WarehouseType = 'R' THEN CONCAT(WarehouseCode,' ', WarehouseName, ' - ', S_RegionalName)
ELSE ''
END as WarehouseName,
ReceiveOrderPoID,
PurchaseOrderItemCategoryID
FROM supplier_invoice
JOIN supplier_invoice_detail ON SupplierInvoiceID = SupplierInvoiceDetailSupplierInvoiceID
JOIN receive_order_po ON SupplierInvoiceDetailReceiveOrderPoID = ReceiveOrderPoID
JOIN purchase_order ON SupplierInvoiceDetailPurchaseOrderID = PurchaseOrderID
LEFT JOIN warehouse ON ReceiveOrderPoWarehouseID = WarehouseID
AND WarehouseM_BranchID = ?
JOIN supplier ON SupplierID = SupplierInvoiceSupplierID
AND SupplierIsActive = 'Y'
LEFT JOIN m_branch ON M_BranchID = WarehouseM_BranchID
LEFT JOIN s_regional ON S_RegionalID = WarehouseS_RegionalID
WHERE SupplierInvoiceIsActive = 'Y'
AND (
SupplierInvoiceNumber LIKE ? OR
SupplierInvoiceRefNumber LIKE ? OR
SupplierInvoiceSupplierInvoiceNumber LIKE ?
)
AND SupplierInvoiceDate >= DATE(?)
AND SupplierInvoiceDate <= DATE(?)
AND (? = 'All' OR SupplierInvoiceStatus = ?)
AND (? = '0' OR SupplierInvoiceSupplierID = ?)
GROUP BY SupplierInvoiceID
ORDER BY SUpplierInvoiceID DESC
LIMIT ? OFFSET ?";
$quefak = $this->db->query($sqlfak, [
$branchID, $nomo, $nomo, $nomo, $date, $enddate,
$status, $status, $supplier, $supplier,
$limit, $hal
$branchID,
$nomo,
$nomo,
$nomo,
$date,
$enddate,
$status,
$status,
$supplier,
$supplier,
$limit,
$hal
]);
if (!$quefak) {
$this->sys_error_db("[Error] get list data faktur");
@@ -543,7 +560,7 @@ class Fakturv4 extends MY_Controller
$para = $this->sys_input;
$sql = "SELECT
$sql = "SELECT
SupplierInvoiceID,
SupplierInvoiceDate,
SupplierInvoiceDueDate,
@@ -566,14 +583,14 @@ class Fakturv4 extends MY_Controller
SupplierInvoiceAdjustmentAmount,
SupplierInvoiceAdjustmentNote,
SupplierInvoiceNote,
IF (SupplierInvoiceDiscountAmount > 0,
'R',
IF (SupplierInvoiceDiscountAmount > 0,
'R',
'P'
) AS DiscountType,
SupplierInvoiceReceiveOrderPoID,
ReceiveOrderPoNumber
FROM supplier_invoice
JOIN supplier ON SupplierInvoiceSupplierID = SupplierID
JOIN supplier ON SupplierInvoiceSupplierID = SupplierID
JOIN receive_order_po ON ReceiveOrderPoID = SupplierInvoiceReceiveOrderPoID
-- JOIN purchase_order ON SupplierInvoicePurchaseOrderID = PurchaseOrderID
-- AND PurchaseOrderIsActive = 'Y'
@@ -585,7 +602,7 @@ class Fakturv4 extends MY_Controller
exit;
}
$sqldet = "SELECT
$sqldet = "SELECT
SupplierInvoiceDetailID,
SupplierInvoiceDetailSupplierInvoiceID,
SupplierInvoiceDetailPurchaseOrderID,
@@ -611,7 +628,7 @@ class Fakturv4 extends MY_Controller
AND M_ItemIsActive = 'Y'
JOIN purchase_order ON SupplierInvoiceDetailPurchaseOrderID = PurchaseOrderID
AND PurchaseOrderIsActive = 'Y'
WHERE SupplierInvoiceDetailIsActive = 'Y'
WHERE SupplierInvoiceDetailIsActive = 'Y'
AND SupplierInvoiceDetailSupplierInvoiceID = ?";
$quedet = $this->db->query($sqldet, [$para['SInvoiceID']]);
if (!$quedet) {
@@ -630,7 +647,8 @@ class Fakturv4 extends MY_Controller
}
}
public function LookupAttachment() {
public function LookupAttachment()
{
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
@@ -640,14 +658,14 @@ class Fakturv4 extends MY_Controller
$para = $this->sys_input;
$data = [];
$sql = "SELECT
ReceiveOrderPoDocumentID AS attach_id,
$sql = "SELECT
ReceiveOrderPoDocumentID AS attach_id,
ReceiveOrderPoDocumentFile AS img_url,
ReceiveOrderPoDocumentCreated AS created
FROM receive_order_po_document
FROM receive_order_po_document
WHERE ReceiveOrderPoDocumentReceiveOrderPoID = ?
AND ReceiveOrderPoDocumentIsActive = 'Y'";
$que = $this->db->query($sql, [ $para['roID'] ]);
$que = $this->db->query($sql, [$para['roID']]);
if (!$que) {
$this->sys_error_db("[Error] failed get data attachment inventaris");
exit;
@@ -657,7 +675,10 @@ class Fakturv4 extends MY_Controller
foreach ($rows as $key => $value) {
$rows[$key]['category'] = $para['category'];
}
$data[] = $rows;
if (count($rows) > 0) {
$data = $rows;
}
$this->sys_ok($data);
} catch (Exception $exc) {
@@ -672,7 +693,7 @@ class Fakturv4 extends MY_Controller
{
try {
if (!$this->isLogin) {
$this->sys_error();
$this->sys_error("invalid token");
exit;
}
@@ -697,7 +718,7 @@ class Fakturv4 extends MY_Controller
$areatype = 'R';
}
$sqlusrdivisi = "SELECT M_UserDivisionDivisionID FROM m_userdivision
$sqlusrdivisi = "SELECT M_UserDivisionDivisionID FROM m_userdivision
WHERE M_UserDivisionM_UserID = ? AND M_UserDivisionIsActive = 'Y'";
$queusrdivisi = $this->db->query($sqlusrdivisi, [$user['M_UserID']]);
if (!$queusrdivisi) {
@@ -717,10 +738,10 @@ class Fakturv4 extends MY_Controller
$numpd = $quenum->row_array()['numpd'];
/*
*== Validasi untuk mencegah double click simpan faktur
*== Validasi untuk mencegah double click simpan faktur
*/
$sqlcheck = "SELECT SupplierInvoiceID FROM supplier_invoice
WHERE SupplierInvoiceSupplierInvoiceNumber = ?
$sqlcheck = "SELECT SupplierInvoiceID FROM supplier_invoice
WHERE SupplierInvoiceSupplierInvoiceNumber = ?
AND SupplierInvoiceRefNumber = ?
AND SupplierInvoicePurchaseOrderID = ?
AND SupplierInvoiceGrandTotal = ?
@@ -847,7 +868,7 @@ class Fakturv4 extends MY_Controller
{
try {
if (!$this->isLogin) {
$this->sys_error();
$this->sys_error("invalid token");
exit;
}
$para = $this->sys_input;
@@ -857,7 +878,7 @@ class Fakturv4 extends MY_Controller
$this->db->trans_begin();
$sqlupdate = "UPDATE supplier_invoice
SET
SET
SupplierInvoicePurchaseOrderID = ?,
SupplierInvoiceDate = ?,
SupplierInvoiceDueDate = ?,
@@ -883,7 +904,7 @@ class Fakturv4 extends MY_Controller
SupplierInvoiceDraftPaymentDate = ?,
SupplierInvoiceLastUpdated = NOW(),
SupplierInvoiceLastUpdatedUserID = ?
WHERE
WHERE
SupplierInvoiceID = ?";
$qryupdate = $this->db->query($sqlupdate, [
$para['SIPoID'],
@@ -918,8 +939,8 @@ class Fakturv4 extends MY_Controller
exit;
}
$sqldel = "UPDATE supplier_invoice_detail
SET SupplierInvoiceDetailIsActive = 'N'
$sqldel = "UPDATE supplier_invoice_detail
SET SupplierInvoiceDetailIsActive = 'N'
WHERE SupplierInvoiceDetailIsActive = 'Y'
AND SupplierInvoiceDetailSupplierInvoiceID = ?";
$qrydel = $this->db->query($sqldel, [$fakturID]);
@@ -1080,9 +1101,9 @@ class Fakturv4 extends MY_Controller
$userID = $this->sys_user["M_UserID"];
$this->db->trans_begin();
$sqldel = "UPDATE supplier_invoice
SET SupplierInvoiceIsActive = 'N'
WHERE SupplierInvoiceIsActive = 'Y'
$sqldel = "UPDATE supplier_invoice
SET SupplierInvoiceIsActive = 'N'
WHERE SupplierInvoiceIsActive = 'Y'
AND SupplierInvoiceID = ?";
$qrydel = $this->db->query($sqldel, [$para['SInvoiceID']]);
if (!$qrydel) {
@@ -1092,8 +1113,8 @@ class Fakturv4 extends MY_Controller
}
$sqldel2 = "UPDATE supplier_invoice_detail
SET SupplierInvoiceDetailIsActive = 'N'
$sqldel2 = "UPDATE supplier_invoice_detail
SET SupplierInvoiceDetailIsActive = 'N'
WHERE SupplierInvoiceDetailIsActive = 'Y'
AND SupplierInvoiceDetailSupplierInvoiceID = ?";
$qrydel2 = $this->db->query($sqldel2, [$para['SInvoiceID']]);
@@ -1147,7 +1168,7 @@ class Fakturv4 extends MY_Controller
$this->db->trans_begin();
// update status faktur ke approved
$sqlupd = "UPDATE supplier_invoice SET
$sqlupd = "UPDATE supplier_invoice SET
SupplierInvoiceStatus = 'Verified',
SupplierInvoiceVerifiedDate = NOW(),
SupplierInvoiceVerifiedUserID = ?,
@@ -1166,7 +1187,7 @@ class Fakturv4 extends MY_Controller
SupplierInvoiceDetailIsVerified = 'Y',
SupplierInvoiceDetailLastUpdated = NOW(),
SupplierInvoiceDetailLastUpdatedUserID = ?
WHERE SupplierInvoiceDetailSupplierInvoiceID = ?
WHERE SupplierInvoiceDetailSupplierInvoiceID = ?
AND SupplierInvoiceDetailIsActive = 'Y'";
$quedet = $this->db->query($sqldet, [$user['M_UserID'], $fakturID]);
if (!$quedet) {
@@ -1198,7 +1219,7 @@ class Fakturv4 extends MY_Controller
$this->db->trans_begin();
$sqlupd = "UPDATE supplier_invoice SET
$sqlupd = "UPDATE supplier_invoice SET
SupplierInvoiceStatus = 'Reject',
SupplierInvoiceLastUpdated = NOW(),
SupplierInvoiceLastUpdatedUserID = ?
@@ -1218,7 +1239,7 @@ class Fakturv4 extends MY_Controller
SupplierInvoiceDetailIsActive = 'N',
SupplierInvoiceDetailLastUpdated = NOW(),
SupplierInvoiceDetailLastUpdatedUserID = ?
WHERE SupplierInvoiceDetailSupplierInvoiceID = ?
WHERE SupplierInvoiceDetailSupplierInvoiceID = ?
AND SupplierInvoiceDetailIsActive = 'Y' ";
$quedet = $this->db->query($sqldet, [$user['M_UserID'], $fakturID]);
if (!$quedet) {
@@ -1250,7 +1271,7 @@ class Fakturv4 extends MY_Controller
$this->db->trans_begin();
// update status faktur ke approved
$sqlupd = "UPDATE supplier_invoice SET
$sqlupd = "UPDATE supplier_invoice SET
SupplierInvoiceStatus = 'Approved',
SupplierInvoiceApprovedDate = NOW(),
SupplierInvoiceApprovedUserID = ?,
@@ -1267,8 +1288,8 @@ class Fakturv4 extends MY_Controller
// get periode untuk jurnal
// ----------------------------------------------------------------------------------------
$sqlprd = "SELECT periodeID FROM periode
WHERE DATE(NOW()) BETWEEN DATE(periodeStartDate) AND DATE(periodeEndDate)
$sqlprd = "SELECT periodeID FROM periode
WHERE DATE(NOW()) BETWEEN DATE(periodeStartDate) AND DATE(periodeEndDate)
AND periodeIsActive = 'Y'
AND periodeIsClosed = 'N'";
$queprd = $this->db->query($sqlprd, []);
@@ -1291,7 +1312,7 @@ class Fakturv4 extends MY_Controller
// get data faktur
// ----------------------------------------------------------------------------------------
$sqlinv = "SELECT
$sqlinv = "SELECT
supplier_invoice.* ,
supplier_invoice_detail.*,
ReceiveOrderPoNumber,
@@ -1494,12 +1515,12 @@ class Fakturv4 extends MY_Controller
}
if ($item['M_ItemItem_CategoryID'] == '1' && !empty($item['M_ItemNat_SubGroupID'])) {
$sqlsgp = "SELECT map_nat_group.*
$sqlsgp = "SELECT map_nat_group.*
FROM map_nat_group
JOIN map_nat_subgroup ON MapNatSub_NatGroupID = MapNatGroup_NatGroupID
AND MapNatSub_IsActive = 'Y'
WHERE MapNatGroup_NatGroupID = ?
AND MapNatSub_NatSubGroupID = ?
WHERE MapNatGroup_NatGroupID = ?
AND MapNatSub_NatSubGroupID = ?
AND MapNatGroup_IsActive = 'Y'";
$quesgp = $this->db->query($sqlsgp, [$item['M_ItemNat_GroupID'], $item['M_ItemNat_SubGroupID']]);
if (!$quesgp) {
@@ -1538,38 +1559,29 @@ class Fakturv4 extends MY_Controller
exit;
}
} else if ($item['M_ItemItem_CategoryID'] == '2') {
// Mapping JurnalTx sama dengan Persediaan hanya beda CoA
// TODO: Update dengan CoA yang Benar
// Jika ItemNatsubGroup belum termapping return error
if (empty($item['M_ItemNat_SubGroupID'])) {
if (empty($item['M_ItemM_InventarisGolID'])) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] Item {$item['M_ItemDesc']} tidak memiliki Nat_SubGroupID");
exit;
};
$sqlsgp = "SELECT map_nat_group.*
FROM map_nat_group
JOIN map_nat_subgroup ON MapNatSub_NatGroupID = MapNatGroup_NatGroupID
AND MapNatSub_IsActive = 'Y'
WHERE MapNatGroup_NatGroupID = ?
AND MapNatSub_NatSubGroupID = ?
AND MapNatGroup_IsActive = 'Y'";
$quesgp = $this->db->query($sqlsgp, [$item['M_ItemNat_GroupID'], $item['M_ItemNat_SubGroupID']]);
if (!$quesgp) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] get map_nat_subgroup");
$this->sys_error_db("[Error] item golongan inventaris belum ditentukan");
exit;
}
$itemGroup = $quesgp->row_array();
if (
empty($itemGroup['MapNatGroup_Debt_coaID']) ||
empty($itemGroup['MapNatGroup_Debt_coaAccNo']) ||
empty($itemGroup['MapNatGroup_Debt_coaDesc'])
) {
$sql_coainv = "SELECT
CoaMapInventarisHutangCoaID,
CoaMapInventarisHutangCoaNo,
CoaMapInventarisHutangCoaDesc
FROM coa_map_inventaris
WHERE CoaMapInventarisM_InventarisGolID = ?
AND CoaMapInventarisIsActive = 'Y'";
$que_coainv = $this->db->query($sql_coainv, [$item['M_ItemM_InventarisGolID']]);
if (!$que_coainv) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] coa item tidak ditemukan / belum dimapping");
$this->sys_error_db("[Error] failed to get coa inventaris gol");
exit;
}
$item_coainv = $que_coainv->row_array();
if (empty($item_coainv)) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] item inventaris coa not found");
exit;
}
@@ -1581,8 +1593,8 @@ class Fakturv4 extends MY_Controller
$status = $this->InsertJurnalTx(
$jurnalID,
$itemGroup['MapNatGroup_Debt_coaID'],
$itemGroup['MapNatGroup_Debt_coaDesc'],
$item_coainv['CoaMapInventarisHutangCoaID'],
$item_coainv['CoaMapInventarisHutangCoaDesc'],
$user['M_UserID'],
0,
$kredit
@@ -1626,57 +1638,7 @@ class Fakturv4 extends MY_Controller
exit;
}
} else if ($item['M_ItemItem_CategoryID'] == '4') {
// if (empty($item['M_ItemNat_SubGroupID'])) {
// $this->db->trans_rollback();
// $this->sys_error_db("[Error] Item {$item['M_ItemDesc']} tidak memiliki Nat_SubGroupID");
// exit;
// };
$this->InsertJurnalTxJasa($jurnalID, $item['M_ItemID'], $inv, $user['M_UserID']);
// $sqlsgp = "SELECT map_nat_group.*
// FROM map_nat_group
// JOIN map_nat_subgroup ON MapNatSub_NatGroupID = MapNatGroup_NatGroupID
// AND MapNatSub_IsActive = 'Y'
// WHERE MapNatGroup_NatGroupID = ?
// AND MapNatSub_NatSubGroupID = ?
// AND MapNatGroup_IsActive = 'Y'";
// $quesgp = $this->db->query($sqlsgp, [$item['M_ItemNat_GroupID'], $item['M_ItemNat_SubGroupID']]);
// if (!$quesgp) {
// $this->db->trans_rollback();
// $this->sys_error_db("[Error] get map_nat_subgroup");
// exit;
// }
// $itemGroup = $quesgp->row_array();
// if (
// empty($itemGroup['MapNatGroup_Debt_coaID']) ||
// empty($itemGroup['MapNatGroup_Debt_coaAccNo']) ||
// empty($itemGroup['MapNatGroup_Debt_coaDesc'])
// ) {
// $this->db->trans_rollback();
// $this->sys_error_db("[Error] coa item tidak ditemukan / belum dimapping");
// exit;
// }
// $price = (doubleval($inv['SupplierInvoiceDetailTotal']) - doubleval($inv['SupplierInvoiceDetailDiscountPoProrata']));
// // $taxPPH = doubleval($inv['SupplierInvoiceTaxPercentPph']) * $price / 100;
// $taxPPN = doubleval($inv['SupplierInvoiceTaxPercentPpn']) * $price / 100;
// $kredit = round($price + $taxPPN, 2);
// $status = $this->InsertJurnalTx(
// $jurnalID,
// $itemGroup['MapNatGroup_Debt_coaID'],
// $itemGroup['MapNatGroup_Debt_coaDesc'],
// $user['M_UserID'],
// 0,
// $kredit
// );
// if (!$status) {
// $this->sys_error_db($status['msg']);
// exit;
// }
}
}
@@ -1709,13 +1671,14 @@ class Fakturv4 extends MY_Controller
}
}
private function InsertJurnalTxJasa($jurnalID, $itemid, $invoice, $userid) {
private function InsertJurnalTxJasa($jurnalID, $itemid, $invoice, $userid)
{
$sql_coa = "SELECT
JasaCoaMapHutangCoaID,
JasaCoaMapHutangCoaNo,
JasaCoaMapHutangCoaDesc
FROM jasa_coa_map
JOIN coa ON coaID = JasaCoaMapHutangCoaID
FROM jasa_coa_map
JOIN coa ON coaID = JasaCoaMapHutangCoaID
AND coaIsActive = 'Y'
WHERE JasaCoaMapM_ItemID = ?";
$que_coa = $this->db->query($sql_coa, [$itemid]);
@@ -1734,15 +1697,18 @@ class Fakturv4 extends MY_Controller
$invtotal = doubleval($invoice['SupplierInvoiceDetailTotal']);
$disprorata = doubleval($invoice['SupplierInvoiceDetailDiscountPoProrata']);
$price = $invtotal - $disprorata;
$taxPPN = doubleval($invoice['SupplierInvoiceTaxPercentPpn']) * $price / 100;
$kredit = round($price + $taxPPN, 2);
$insert = $this->InsertJurnalTx(
$jurnalID, $coajasa['JasaCoaMapHutangCoaID'],
$coajasa['JasaCoaMapHutangCoaDesc'],
$userid, 0, $kredit
$jurnalID,
$coajasa['JasaCoaMapHutangCoaID'],
$coajasa['JasaCoaMapHutangCoaDesc'],
$userid,
0,
$kredit
);
if (!$insert) {
$this->db->trans_rollback();

View File

@@ -74,11 +74,11 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$sql = "SELECT COUNT(*) as total
FROM purchase_request
JOIN s_regional ON S_RegionalID = PurchaseRequestS_RegionalID
WHERE
PurchaseRequestIsActive = 'Y' AND
WHERE
PurchaseRequestIsActive = 'Y' AND
PurchaseRequestItemCategoryID <> '1' AND
( PurchaseRequestDate BETWEEN ? AND ? ) AND
( PurchaseRequestStatus = ? OR ? = '' ) AND
( PurchaseRequestDate BETWEEN ? AND ? ) AND
( PurchaseRequestStatus = ? OR ? = '' ) AND
( PurchaseRequestNumber LIKE ?)
$filterBranch
$filterRegional";
@@ -96,11 +96,11 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$params[] = $offset;
$params[] = $pageSize;
$sql = "SELECT DISTINCT PurchaseRequestID as prId,
PurchaseRequestNumber as prNumber,
PurchaseRequestDate as prDate,
PurchaseRequestStatus as prStatus,
requestedBy.M_UserUsername as prRequestedBy,
$sql = "SELECT DISTINCT PurchaseRequestID as prId,
PurchaseRequestNumber as prNumber,
PurchaseRequestDate as prDate,
PurchaseRequestStatus as prStatus,
requestedBy.M_UserUsername as prRequestedBy,
IF(PurchaseRequestApprovedBy IS NULL, '', approvedBy.M_UserUsername) as prApprovedBy,
PurchaseRequestS_RegionalID as prRegionalId,
S_RegionalName as prRegionalName,
@@ -108,7 +108,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
M_BranchName as prBranchName,
PurchaseRequestNote as prNote,
PurchaseRequestStatus as prStatus,
IFNULL(S_RegionalID, '') as S_RegionalID,
IFNULL(S_RegionalID, '') as S_RegionalID,
IFNULL(S_RegionalName, '') as S_RegionalName,
IFNULL(M_BranchCode, '') as M_BranchCode,
IFNULL(M_BranchName, '') as M_BranchName,
@@ -128,12 +128,12 @@ class PurchaseRequestNonPersediaan extends MY_Controller
LEFT JOIN asset_handover ah
ON ah.AssetHandoverPurchaseRequestID = PurchaseRequestID
AND ah.AssetHandoverIsActive = 'Y'
WHERE
PurchaseRequestIsActive = 'Y' AND
WHERE
PurchaseRequestIsActive = 'Y' AND
PurchaseRequestItemCategoryID <> '1' AND
( PurchaseRequestDate BETWEEN ? AND ? ) AND
( PurchaseRequestStatus = ? OR ? = '' ) AND
( PurchaseRequestNumber LIKE ? )
( PurchaseRequestDate BETWEEN ? AND ? ) AND
( PurchaseRequestStatus = ? OR ? = '' ) AND
( PurchaseRequestNumber LIKE ? )
$filterBranch
$filterRegional
ORDER BY PurchaseRequestID DESC
@@ -176,7 +176,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
// Menggunakan parameter query
$queryCount = "SELECT count(*) as total
FROM purchase_request_direct_detail
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
AND PurchaseRequestDirectDetailPurchaseRequestDirectID = ?";
$exec = $this->db->query($queryCount, [$payload['PRID']]);
@@ -191,13 +191,13 @@ class PurchaseRequestNonPersediaan extends MY_Controller
}
// Menggunakan parameter query
$query = "SELECT *,
$query = "SELECT *,
ROW_NUMBER() OVER(ORDER BY PurchaseRequestDirectDetailID) RowNumber ,
'N' as isEditingPrice
FROM purchase_request_direct_detail
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
FROM purchase_request_direct_detail
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
AND PurchaseRequestDirectDetailPurchaseRequestDirectID = ?
ORDER BY PurchaseRequestDirectDetailStatus ASC,
ORDER BY PurchaseRequestDirectDetailStatus ASC,
PurchaseRequestDirectDetailID ASC";
$exec = $this->db->query($query, [$payload['PRID']]);
@@ -288,13 +288,13 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$query = "SELECT
$query = "SELECT
IFNULL(M_BranchID, 0) as M_BranchID,
IFNULL(M_BranchCode, '') as M_BranchCode,
IFNULL(M_BranchName, '') as M_BranchName
FROM m_userlocation
FROM m_userlocation
LEFT JOIN m_branch ON M_UserLocationM_BranchID = M_BranchID
WHERE M_UserLocationM_UserID = ? AND
WHERE M_UserLocationM_UserID = ? AND
M_UserLocationIsActive = 'Y'
LIMIT 1";
$exec = $this->db->query($query, [$userId]);
@@ -324,7 +324,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
M_BranchName
FROM m_branch
JOIN m_userlocation ON M_BranchS_RegionalID = M_UserLocationS_RegionalID AND M_UserLocationM_UserID = ? AND M_UserLocationIsActive = 'Y'
WHERE M_BranchIsActive = 'Y'
WHERE M_BranchIsActive = 'Y'
ORDER BY M_BranchName ASC";
$exec = $this->db->query($query, [$userId]);
if ($exec) {
@@ -374,8 +374,8 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$datas_log['header'] = $header;
$sql = "SELECT *
FROM purchase_request_detail
$sql = "SELECT *
FROM purchase_request_detail
JOIN m_item ON M_ItemID = PurchaseRequestDetailM_ItemID AND M_ItemIsActive = 'Y'
JOIN itemunit ON ItemUnitID = PurchaseRequestDetailItemUnitID AND ItemUnitIsActive = 'Y'
WHERE PurchaseRequestDetailPurchaseRequestID = ? AND PurchaseRequestDetailIsActive = 'Y'";
@@ -403,12 +403,12 @@ class PurchaseRequestNonPersediaan extends MY_Controller
exit;
}
$sql = "UPDATE purchase_request_detail
SET
PurchaseRequestDetailIsActive = 'N',
PurchaseRequestDetailDeleted = NOW(),
PurchaseRequestDetailDeletedUserID = ?
WHERE PurchaseRequestDetailPurchaseRequestID = ? AND
$sql = "UPDATE purchase_request_detail
SET
PurchaseRequestDetailIsActive = 'N',
PurchaseRequestDetailDeleted = NOW(),
PurchaseRequestDetailDeletedUserID = ?
WHERE PurchaseRequestDetailPurchaseRequestID = ? AND
PurchaseRequestDetailIsActive = 'Y'";
$deleteParams = [$userId, $prId];
$exec = $this->db->query($sql, $deleteParams);
@@ -444,10 +444,10 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$PRDTotalPrice = intval($payload['PRDAmountRequest']) * intval($payload['PRDEstimationPrice']);
// Gunakan parameter untuk query existensi
$query = "SELECT COUNT(*) as exist
FROM purchase_request_direct_detail
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
AND PurchaseRequestDirectDescription = ?
$query = "SELECT COUNT(*) as exist
FROM purchase_request_direct_detail
WHERE PurchaseRequestDirectDetailIsActive = 'Y'
AND PurchaseRequestDirectDescription = ?
AND PurchaseRequestDirectDetailPurchaseRequestDirectID = ?";
$existParams = [$payload['PRDDescriptionDetail'], $payload['PRID']];
$exist = $this->db->query($query, $existParams);
@@ -729,10 +729,10 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$this->db->trans_commit();
// Gunakan parameter untuk query select
$sql = "SELECT *,
ROW_NUMBER() OVER(ORDER BY PurchaseRequestDirectNumber) RowNumber
FROM purchase_request_direct
WHERE PurchaseRequestDirectIsActive = 'Y'
$sql = "SELECT *,
ROW_NUMBER() OVER(ORDER BY PurchaseRequestDirectNumber) RowNumber
FROM purchase_request_direct
WHERE PurchaseRequestDirectIsActive = 'Y'
AND PurchaseRequestCreatedUserID = ?
AND PurchaseRequestDirectID = ?";
$selectParams = [$userId, $payload["PRID"]];
@@ -784,7 +784,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
DivisionID,
DivisionCode,
DivisionName
FROM division
FROM division
JOIN m_userdivision ON M_UserDivisionDivisionID = DivisionID AND M_UserDivisionM_UserID = ?
WHERE DivisionIsActive = 'Y'
ORDER BY M_UserDivisionID DESC
@@ -929,6 +929,11 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$params[] = $itemSubGroup;
}
$filterCoaInventaris = "";
if ($itemCategory == "2") {
$filterCoaInventaris = "JOIN coa_map_inventaris ON CoaMapInventarisM_InventarisGolID = M_ItemM_InventarisGolID AND CoaMapInventarisIsActive = 'Y'";
}
$params[] = $itemCategory;
$params[] = $itemCategory;
$params[] = '%' . $search . '%';
@@ -938,22 +943,23 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$sql = "SELECT COUNT(*) as total FROM (
SELECT
DISTINCT M_ItemID
FROM m_item
JOIN itemunitmap ON ItemUnitMapM_ItemID = M_ItemID AND
((ItemUnitMapIsPurchase = 'Y' AND ? = 'purchase') OR
(ItemUnitMapIsBase = 'Y' AND ? = 'base')) AND
ItemUnitMapIsActive = 'Y'
JOIN itemunit ON ItemUnitID = ItemUnitMapItemUnitID AND
ItemUnitIsActive = 'Y'
$filterDivision
$filterItemGroup
$filterItemSubGroup
WHERE M_ItemIsActive = 'Y' AND
( M_ItemItem_CategoryID = ? OR ? = '' )
AND M_ItemDesc LIKE ?
) as item";
SELECT
DISTINCT M_ItemID
FROM m_item
JOIN itemunitmap ON ItemUnitMapM_ItemID = M_ItemID AND
((ItemUnitMapIsPurchase = 'Y' AND ? = 'purchase') OR
(ItemUnitMapIsBase = 'Y' AND ? = 'base')) AND
ItemUnitMapIsActive = 'Y'
JOIN itemunit ON ItemUnitID = ItemUnitMapItemUnitID AND
ItemUnitIsActive = 'Y'
$filterDivision
$filterItemGroup
$filterItemSubGroup
$filterCoaInventaris
WHERE M_ItemIsActive = 'Y' AND
( M_ItemItem_CategoryID = ? OR ? = '' )
AND M_ItemDesc LIKE ?
) as item";
$query = $this->db->query($sql, $params);
if (!$query) {
@@ -981,20 +987,21 @@ class PurchaseRequestNonPersediaan extends MY_Controller
'N' as isEditingPrice,
0 as remaining_stock
FROM m_item
JOIN itemunitmap ON ItemUnitMapM_ItemID = M_ItemID AND
((ItemUnitMapIsPurchase = 'Y' AND ? = 'purchase') OR
(ItemUnitMapIsBase = 'Y' AND ? = 'base')) AND
ItemUnitMapIsActive = 'Y'
JOIN itemunit ON ItemUnitID = ItemUnitMapItemUnitID AND
ItemUnitIsActive = 'Y'
JOIN itemunitmap ON ItemUnitMapM_ItemID = M_ItemID
AND ((ItemUnitMapIsPurchase = 'Y' AND ? = 'purchase') OR
(ItemUnitMapIsBase = 'Y' AND ? = 'base'))
AND ItemUnitMapIsActive = 'Y'
JOIN itemunit ON ItemUnitID = ItemUnitMapItemUnitID
AND ItemUnitIsActive = 'Y'
$filterDivision
$filterItemGroup
$filterItemSubGroup
WHERE M_ItemIsActive = 'Y' AND
( M_ItemItem_CategoryID = ? OR ? = '' )
$filterCoaInventaris
WHERE M_ItemIsActive = 'Y'
AND ( M_ItemItem_CategoryID = ? OR ? = '' )
AND M_ItemDesc LIKE ?
ORDER BY M_ItemDesc ASC
LIMIT ? OFFSET ?";
ORDER BY M_ItemDesc ASC
LIMIT ? OFFSET ?";
// Parameter akhir yang digunakan untuk query
$searchParam = $params;
@@ -1067,7 +1074,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$search = isset($prm["search"]) ? $prm["search"] : "";
// Menggunakan parameter query untuk pencarian unit
$sql = "SELECT
$sql = "SELECT
ItemUnitID,
ItemUnitCode,
ItemUnitName,
@@ -1075,7 +1082,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
ItemUnitLastUpdated,
ItemUnitIsActive,
ItemUnitUserID
FROM itemunit
FROM itemunit
WHERE ItemUnitIsActive = 'Y'
AND ItemUnitName LIKE ?
ORDER BY ItemUnitName ASC";
@@ -1129,10 +1136,10 @@ class PurchaseRequestNonPersediaan extends MY_Controller
PurchaseRequestDetailQty as qty,
PurchaseRequestDetailStatus as status,
PurchaseRequestDetailNote as note
FROM purchase_request_detail
FROM purchase_request_detail
JOIN m_item ON M_ItemID = PurchaseRequestDetailM_ItemID AND M_ItemIsActive = 'Y'
JOIN itemunit ON ItemUnitID = PurchaseRequestDetailItemUnitID AND ItemUnitIsActive = 'Y'
WHERE
WHERE
PurchaseRequestDetailPurchaseRequestID = ? AND
PurchaseRequestDetailIsActive = 'Y'";
$query = $this->db->query($sql, [$prId]);
@@ -1171,11 +1178,11 @@ class PurchaseRequestNonPersediaan extends MY_Controller
exit;
}
$sql = "SELECT
$sql = "SELECT
DISTINCT ItemUnitID as unitId,
ItemUnitCode as unitCode,
ItemUnitName as unitName
FROM itemunitmap
FROM itemunitmap
JOIN itemunit ON ItemUnitID = ItemUnitMapItemUnitID AND ItemUnitIsActive = 'Y'
WHERE ItemUnitMapM_ItemID = ?
AND ItemUnitMapIsActive = 'Y'";
@@ -1261,17 +1268,17 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$numpd = $quenum->row_array()['numpd'];
$sql = "INSERT INTO purchase_request (
$sql = "INSERT INTO purchase_request (
PurchaseRequestNumber,
PurchaseRequestDate,
PurchaseRequestS_RegionalID,
PurchaseRequestM_BranchCode,
PurchaseRequestNote,
PurchaseRequestItemCategoryID,
PurchaseRequestCreated,
PurchaseRequestUserID,
PurchaseRequestCreatedUserID,
PurchaseRequestRequestedBy)
PurchaseRequestDate,
PurchaseRequestS_RegionalID,
PurchaseRequestM_BranchCode,
PurchaseRequestNote,
PurchaseRequestItemCategoryID,
PurchaseRequestCreated,
PurchaseRequestUserID,
PurchaseRequestCreatedUserID,
PurchaseRequestRequestedBy)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
// VALUES (fn_numbering('PR'), ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$query = $this->db->query($sql, [
@@ -1298,15 +1305,15 @@ class PurchaseRequestNonPersediaan extends MY_Controller
foreach ($items as $key => $item) {
$item["total"] = floatval($item["price"]) * floatval($item["qty"]);
$sql = "INSERT INTO purchase_request_detail (
PurchaseRequestDetailPurchaseRequestID,
PurchaseRequestDetailM_ItemID,
PurchaseRequestDetailItemUnitID,
PurchaseRequestDetailQty,
PurchaseRequestDetailPurchaseRequestID,
PurchaseRequestDetailM_ItemID,
PurchaseRequestDetailItemUnitID,
PurchaseRequestDetailQty,
PurchaseRequestDetailPrice,
PurchaseRequestDetailTotal,
PurchaseRequestDetailCreated,
PurchaseRequestDetailCreatedUserID,
PurchaseRequestDetailUserID)
PurchaseRequestDetailCreated,
PurchaseRequestDetailCreatedUserID,
PurchaseRequestDetailUserID)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
$query = $this->db->query($sql, [
$prId,
@@ -1326,7 +1333,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
}
}
$sql = "SELECT *
$sql = "SELECT *
FROM purchase_request
JOIN m_user ON M_UserID = PurchaseRequestCreatedUserID
WHERE PurchaseRequestID = ?";
@@ -1421,18 +1428,18 @@ class PurchaseRequestNonPersediaan extends MY_Controller
}
$numpd = $quenum->row_array()['numpd'];
$sql = "INSERT INTO purchase_request (
$sql = "INSERT INTO purchase_request (
PurchaseRequestNumber,
PurchaseRequestDate,
PurchaseRequestS_RegionalID,
PurchaseRequestM_BranchCode,
PurchaseRequestNote,
PurchaseRequestItemCategoryID,
PurchaseRequestDate,
PurchaseRequestS_RegionalID,
PurchaseRequestM_BranchCode,
PurchaseRequestNote,
PurchaseRequestItemCategoryID,
PurchaseRequestStatus,
PurchaseRequestCreated,
PurchaseRequestUserID,
PurchaseRequestCreatedUserID,
PurchaseRequestRequestedBy)
PurchaseRequestCreated,
PurchaseRequestUserID,
PurchaseRequestCreatedUserID,
PurchaseRequestRequestedBy)
VALUES (?, ?, ?, ?, ?, ?, 'Pending', ?, ?, ?, ?)";
// VALUES (fn_numbering('PR'), ?, ?, ?, ?, ?, 'Pending', ?, ?, ?, ?)";
$query = $this->db->query($sql, [
@@ -1459,16 +1466,16 @@ class PurchaseRequestNonPersediaan extends MY_Controller
foreach ($items as $key => $item) {
$item["total"] = floatval($item["price"]) * floatval($item["qty"]);
$sql = "INSERT INTO purchase_request_detail (
PurchaseRequestDetailPurchaseRequestID,
PurchaseRequestDetailM_ItemID,
PurchaseRequestDetailItemUnitID,
PurchaseRequestDetailQty,
PurchaseRequestDetailPurchaseRequestID,
PurchaseRequestDetailM_ItemID,
PurchaseRequestDetailItemUnitID,
PurchaseRequestDetailQty,
PurchaseRequestDetailPrice,
PurchaseRequestDetailTotal,
PurchaseRequestDetailStatus,
PurchaseRequestDetailCreated,
PurchaseRequestDetailCreatedUserID,
PurchaseRequestDetailUserID)
PurchaseRequestDetailCreated,
PurchaseRequestDetailCreatedUserID,
PurchaseRequestDetailUserID)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
$query = $this->db->query($sql, [
$prId,
@@ -1489,7 +1496,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
}
}
$sql = "SELECT *
$sql = "SELECT *
FROM purchase_request
JOIN m_user ON M_UserID = PurchaseRequestCreatedUserID
WHERE PurchaseRequestID = ?";
@@ -1561,7 +1568,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
UserActivityRefID,
UserActivityData,
UserActivityUserID,
UserActivityCreated)
UserActivityCreated)
VALUES (?,?,?,?,?,?,?)";
$query = $this->db->query($sql, [$code, $status, $description, $refId, $data, $userId, date("Y-m-d H:i:s")]);
if (!$query) {
@@ -1886,7 +1893,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$sql = "SELECT *, changeitemcategory.ItemCategoryName as changeitemcategoryname, olditemcategory.ItemCategoryName as olditemcategoryname
FROM purchase_request
FROM purchase_request
JOIN item_category changeitemcategory ON changeitemcategory.ItemCategoryID = PurchaseRequestItemCategoryID AND changeitemcategory.ItemCategoryIsActive = 'Y'
JOIN item_category olditemcategory ON olditemcategory.ItemCategoryID = ? AND olditemcategory.ItemCategoryIsActive = 'Y'
@@ -1918,13 +1925,13 @@ class PurchaseRequestNonPersediaan extends MY_Controller
}
$sql = "UPDATE purchase_request SET
PurchaseRequestDate = ?,
PurchaseRequestS_RegionalID = ?,
PurchaseRequestM_BranchCode = ?,
PurchaseRequestNote = ?,
PurchaseRequestItemCategoryID = ?,
PurchaseRequestLastUpdated = ?,
$sql = "UPDATE purchase_request SET
PurchaseRequestDate = ?,
PurchaseRequestS_RegionalID = ?,
PurchaseRequestM_BranchCode = ?,
PurchaseRequestNote = ?,
PurchaseRequestItemCategoryID = ?,
PurchaseRequestLastUpdated = ?,
PurchaseRequestLastUpdatedUserID = ?
$status
WHERE PurchaseRequestID = ?";
@@ -1990,16 +1997,16 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$datas_log['new_details'][] = $this->convertNumericValuesToStrings($item);
} else {
$sql = "SELECT * ,
newitem.M_ItemCode as newitemcode,
olditem.M_ItemCode as olditemcode,
newitem.M_ItemDesc as newitemdesc,
$sql = "SELECT * ,
newitem.M_ItemCode as newitemcode,
olditem.M_ItemCode as olditemcode,
newitem.M_ItemDesc as newitemdesc,
olditem.M_ItemDesc as olditemdesc,
newitemunit.ItemUnitCode as newitemunitcode,
olditemunit.ItemUnitCode as olditemunitcode,
newitemunit.ItemUnitName as newitemunitname,
olditemunit.ItemUnitName as olditemunitname
FROM purchase_request_detail
FROM purchase_request_detail
JOIN m_item newitem ON newitem.M_ItemID = PurchaseRequestDetailM_ItemID AND newitem.M_ItemIsActive = 'Y'
JOIN itemunit newitemunit ON newitemunit.ItemUnitID = ? AND newitemunit.ItemUnitIsActive = 'Y'
JOIN m_item olditem ON olditem.M_ItemID = ? AND olditem.M_ItemIsActive = 'Y'
@@ -2026,8 +2033,8 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$messages_log[] = "Perubahan harga : " . $row["PurchaseRequestDetailPrice"] . " menjadi " . $item["price"] . " pada item : (" . $row["newitemcode"] . ") " . $row["newitemdesc"];
}
$sql = "UPDATE purchase_request_detail
SET
$sql = "UPDATE purchase_request_detail
SET
PurchaseRequestDetailM_ItemID = ?,
PurchaseRequestDetailItemUnitID = ?,
PurchaseRequestDetailQty = ?,
@@ -2058,16 +2065,16 @@ class PurchaseRequestNonPersediaan extends MY_Controller
}
}
$sql = "SELECT *
FROM purchase_request_detail
WHERE PurchaseRequestDetailPurchaseRequestID = ? AND
PurchaseRequestDetailIsActive = 'Y' AND
$sql = "SELECT *
FROM purchase_request_detail
WHERE PurchaseRequestDetailPurchaseRequestID = ? AND
PurchaseRequestDetailIsActive = 'Y' AND
PurchaseRequestDetailID NOT IN (" . implode(",", $detail_ids) . ")";
$query = $this->db->query($sql, [$prId]);
$deleted_rows = $query->result_array();
foreach ($deleted_rows as $row) {
$sql = "UPDATE purchase_request_detail
SET
$sql = "UPDATE purchase_request_detail
SET
PurchaseRequestDetailIsActive = 'N',
PurchaseRequestDetailDeleted = ?,
PurchaseRequestDetailDeletedUserID = ?
@@ -2100,9 +2107,9 @@ class PurchaseRequestNonPersediaan extends MY_Controller
$this->saveNotification($userId, $prDateUse, $number, $prId, $branchId, $regionalId);
}
$sql = "SELECT *
FROM purchase_request_detail
WHERE PurchaseRequestDetailPurchaseRequestID = ? AND
$sql = "SELECT *
FROM purchase_request_detail
WHERE PurchaseRequestDetailPurchaseRequestID = ? AND
PurchaseRequestDetailIsActive = 'Y'";
$query = $this->db->query($sql, [$prId]);
$rows = $query->result_array();
@@ -2177,7 +2184,7 @@ class PurchaseRequestNonPersediaan extends MY_Controller
// exit;
// }
// $sql = "SELECT *
// $sql = "SELECT *
// FROM purchase_request
// JOIN m_user ON M_UserID = PurchaseRequestCreatedUserID
// WHERE PurchaseRequestID = ?";