update: api purchase order asset & receive order asset

This commit is contained in:
2026-07-13 09:08:43 +07:00
parent e62ec1d994
commit 709dfdae33
2 changed files with 1016 additions and 2959 deletions

View File

@@ -66,6 +66,40 @@ class PurchaseOrderAset extends MY_Controller {
} }
} }
public function getListGudang() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$user = $this->sys_user;
$para = $this->sys_input;
$sql = "SELECT
WarehouseID,
WarehouseCode,
WarehouseName
FROM warehouse
WHERE WarehouseIsActive = 'Y'
AND WarehouseS_RegionalID = ?
AND WarehouseM_BranchID = ?
AND WarehouseIsTransit = 'N'";
$que = $this->db->query($sql, [
$user['S_RegionalID'], $para['M_BranchID']
]);
if (!$que) {
$this->sys_error_db("[Error] failed get list gudang");
exit;
}
$data = $que->result_array();
$this->sys_ok($data);
} catch (Exception $exc) {
$this->sys_error($exc->getMessage());
}
}
public function searchRequestAset() { public function searchRequestAset() {
try { try {
if (!$this->isLogin) { if (!$this->isLogin) {
@@ -177,32 +211,46 @@ class PurchaseOrderAset extends MY_Controller {
} }
$sql_base = "SELECT $sql_base = "SELECT
PurchaseOrderID, PurchaseOrderID,
PurchaseOrderDate, PurchaseOrderDate,
PurchaseOrderNote, PurchaseOrderNote,
PurchaseOrderNumber, PurchaseOrderNumber,
PurchaseOrderStatus, PurchaseOrderStatus,
PurchaseOrderRefNumber, PurchaseOrderRefNumber,
PurchaseOrderGrandTotal, PurchaseOrderGrandTotal,
PurchaseOrderS_RegionalID, PurchaseOrderS_RegionalID,
PurchaseOrderApprovedManagerUserID AS verifiedby, PurchaseOrderApprovedManagerUserID AS verifiedby,
IFNULL(PurchaseOrderApprovedUserID, 0) AS approvedby, IFNULL(PurchaseOrderApprovedUserID, 0) AS approvedby,
PurchaseOrderAssetContractID, PurchaseOrderAssetContractID AS contractID,
PurchaseOrderAssetContractName AS contractName, PurchaseOrderAssetContractName AS contractName,
PurchaseOrderAssetContractStartDate AS contractStart, PurchaseOrderAssetContractDate AS contractDate,
PurchaseOrderAssetContractEndDate AS contractEnd, PurchaseOrderAssetContractStartDate AS contractStart,
SupplierID, PurchaseOrderAssetContractEndDate AS contractEnd,
SupplierName IFNULL(attach.AttachmentCount, 0) AS AttachmentCount,
FROM purchase_order SupplierID,
JOIN supplier ON SupplierID = PurchaseOrderSupplierID SupplierName
JOIN purchase_order_asset_contract FROM purchase_order
ON PurchaseOrderAssetContractPurchaseOrderID = PurchaseOrderID JOIN supplier ON SupplierID = PurchaseOrderSupplierID
WHERE PurchaseOrderIsActive = 'Y' JOIN purchase_order_asset_contract
AND PurchaseOrderItemCategoryID = '3' ON PurchaseOrderAssetContractPurchaseOrderID = PurchaseOrderID
AND PurchaseOrderS_RegionalID = ? LEFT JOIN (
AND PurchaseOrderDate BETWEEN DATE(?) AND DATE(?) SELECT
AND (PurchaseOrderStatus = ? OR 'All' = ?) ContractAssetAttachmentPurchaseOrderID,
AND PurchaseOrderNumber LIKE ?"; ContractAssetAttachmentPurchaseOrderAssetContractID,
COUNT(*) AS AttachmentCount
FROM contract_asset_attachment
WHERE ContractAssetAttachmentIsActive = 'Y'
GROUP BY
ContractAssetAttachmentPurchaseOrderID,
ContractAssetAttachmentPurchaseOrderAssetContractID
) attach ON attach.ContractAssetAttachmentPurchaseOrderID = PurchaseOrderID
AND attach.ContractAssetAttachmentPurchaseOrderAssetContractID = PurchaseOrderAssetContractID
WHERE PurchaseOrderIsActive = 'Y'
AND PurchaseOrderItemCategoryID = '3'
AND PurchaseOrderS_RegionalID = ?
AND PurchaseOrderDate BETWEEN DATE(?) AND DATE(?)
AND (PurchaseOrderStatus = ? OR 'All' = ?)
AND PurchaseOrderNumber LIKE ?";
$limit = 10; $limit = 10;
$offset = 0; $offset = 0;
@@ -288,29 +336,29 @@ class PurchaseOrderAset extends MY_Controller {
# get data from purchase order detail # # get data from purchase order detail #
$sql_detail = "SELECT $sql_detail = "SELECT
PurchaseOrderID, PurchaseOrderID,
PurchaseRequestID, PurchaseRequestID,
PurchaseRequestNumber, PurchaseRequestNumber,
PurchaseOrderDetailPurchaseSummaryID AS PurchaseOrderSummaryID, PurchaseOrderDetailPurchaseSummaryID AS PurchaseOrderSummaryID,
PurchaseOrderDetailPurchaseRequestDetailID AS PurchaseRequestDetailID, PurchaseOrderDetailPurchaseRequestDetailID AS PurchaseRequestDetailID,
PurchaseOrderDetailPurchaseRequestFlagID AS PurchaseRequestFlagID, PurchaseOrderDetailPurchaseRequestFlagID AS PurchaseRequestFlagID,
PurchaseOrderDetailRequestQty AS OriginalQty, PurchaseOrderDetailRequestQty AS OriginalQty,
PurchaseOrderDetailQty AS RequestQty, PurchaseOrderDetailQty AS RequestQty,
PurchaseOrderDetailPrice AS SupplierPrice, PurchaseOrderDetailPrice AS SupplierPrice,
PurchaseOrderDetailTotal, PurchaseOrderDetailTotal,
PurchaseOrderDetailItemID AS M_ItemID, PurchaseOrderDetailItemID AS M_ItemID,
M_ItemCode, M_ItemCode,
M_ItemDesc, M_ItemDesc,
PurchaseOrderDetailItemUnitID AS ItemUnitID, PurchaseOrderDetailItemUnitID AS ItemUnitID,
ItemUnitName ItemUnitName
FROM purchase_order FROM purchase_order
JOIN purchase_order_detail ON PurchaseOrderDetailPurchaseOrderID = PurchaseOrderID JOIN purchase_order_detail ON PurchaseOrderDetailPurchaseOrderID = PurchaseOrderID
AND PurchaseOrderDetailIsActive = 'Y' AND PurchaseOrderDetailIsActive = 'Y'
JOIN purchase_request ON PurchaseRequestID = PurchaseOrderDetailPurchaseRequestID JOIN purchase_request ON PurchaseRequestID = PurchaseOrderDetailPurchaseRequestID
JOIN m_item ON M_ItemID = PurchaseOrderDetailItemID JOIN m_item ON M_ItemID = PurchaseOrderDetailItemID
JOIN itemunit ON ItemUnitID = PurchaseOrderDetailItemUnitID JOIN itemunit ON ItemUnitID = PurchaseOrderDetailItemUnitID
WHERE PurchaseOrderDetailIsActive = 'Y' WHERE PurchaseOrderDetailIsActive = 'Y'
AND PurchaseOrderID = ?"; AND PurchaseOrderID = ?";
$que_detail = $this->db->query($sql_detail, [$para['poID']]); $que_detail = $this->db->query($sql_detail, [$para['poID']]);
if (!$que_detail) { if (!$que_detail) {
$this->sys_error_db("[Error] failed get data po detail asset"); $this->sys_error_db("[Error] failed get data po detail asset");
@@ -320,27 +368,27 @@ class PurchaseOrderAset extends MY_Controller {
# get data from purchase order summary # # get data from purchase order summary #
$sql_sumry = "SELECT $sql_sumry = "SELECT
PurchaseOrderID, PurchaseOrderID,
PurchaseOrderSummaryID, PurchaseOrderSummaryID,
PurchaseOrderSummaryQty AS RequestQty, PurchaseOrderSummaryQty AS RequestQty,
PurchaseOrderSummaryPrice AS SupplierPrice, PurchaseOrderSummaryPrice AS SupplierPrice,
PurchaseOrderSummaryDiscountRupiah AS DiskonRupiah, PurchaseOrderSummaryDiscountRupiah AS DiskonRupiah,
PurchaseOrderSummaryDiscountPercent AS DiskonPercent, PurchaseOrderSummaryDiscountPercent AS DiskonPercent,
PurchaseOrderSummaryDiscountAmount AS DiskonAmount, PurchaseOrderSummaryDiscountAmount AS DiskonAmount,
PurchaseOrderSummaryDiscountType AS DiskonType, PurchaseOrderSummaryDiscountType AS DiskonType,
(PurchaseOrderSummaryPrice - PurchaseOrderSummaryDiscountAmount) AS EndPrice, (PurchaseOrderSummaryPrice - PurchaseOrderSummaryDiscountAmount) AS EndPrice,
PurchaseOrderSummaryTotal AS TempTotal, PurchaseOrderSummaryTotal AS TempTotal,
PurchaseOrderSummaryItemID AS M_ItemID, PurchaseOrderSummaryItemID AS M_ItemID,
M_ItemCode, M_ItemCode,
M_ItemDesc, M_ItemDesc,
PurchaseOrderSummaryItemUnitID AS ItemUnitID, PurchaseOrderSummaryItemUnitID AS ItemUnitID,
ItemUnitName ItemUnitName
FROM purchase_order FROM purchase_order
JOIN purchase_order_summary ON PurchaseOrderSummaryPurchaseOrderID = PurchaseOrderID JOIN purchase_order_summary ON PurchaseOrderSummaryPurchaseOrderID = PurchaseOrderID
JOIN m_item ON M_ItemID = PurchaseOrderSummaryItemID JOIN m_item ON M_ItemID = PurchaseOrderSummaryItemID
JOIN itemunit ON ItemUnitID = PurchaseOrderSummaryItemUnitID JOIN itemunit ON ItemUnitID = PurchaseOrderSummaryItemUnitID
WHERE PurchaseOrderSummaryIsActive = 'Y' WHERE PurchaseOrderSummaryIsActive = 'Y'
AND PurchaseOrderID = ?"; AND PurchaseOrderID = ?";
$que_sumry = $this->db->query($sql_sumry, [$para['poID']]); $que_sumry = $this->db->query($sql_sumry, [$para['poID']]);
if (!$que_sumry) { if (!$que_sumry) {
$this->sys_error_db("[Error] failed get data po summary asset"); $this->sys_error_db("[Error] failed get data po summary asset");
@@ -540,27 +588,30 @@ class PurchaseOrderAset extends MY_Controller {
$summary_total = floatval($para['summary']['total']); $summary_total = floatval($para['summary']['total']);
$sql_po = "INSERT INTO purchase_order ( $sql_po = "INSERT INTO purchase_order (
PurchaseOrderNumber, PurchaseOrderNumber,
PurchaseOrderItemCategoryID, -- '3' for asset PurchaseOrderItemCategoryID, -- '3' for asset
PurchaseOrderDate, PurchaseOrderDate,
PurchaseOrderRefNumber, PurchaseOrderRefNumber,
PurchaseOrderSupplierID, PurchaseOrderSupplierID,
PurchaseOrderS_RegionalID, PurchaseOrderS_RegionalID,
PurchaseOrderTaxPpnType, PurchaseOrderTaxPpnType,
PurchaseOrderTaxPercentPpn, PurchaseOrderTaxPercentPpn,
PurchaseOrderDiscountPercent, PurchaseOrderDiscountPercent,
PurchaseOrderDiscountAmount, PurchaseOrderDiscountAmount,
PurchaseOrderNote, PurchaseOrderWarehouseType,
PurchaseOrderSubTotal, PurchaseOrderWarehouseID,
PurchaseOrderTaxAmountPpn, PurchaseOrderNote,
PurchaseOrderGrandTotal, PurchaseOrderSubTotal,
PurchaseOrderUserID, PurchaseOrderTaxAmountPpn,
PurchaseOrderCreated PurchaseOrderGrandTotal,
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())"; PurchaseOrderUserID,
PurchaseOrderCreated
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
$que_po = $this->db->query($sql_po, [ $que_po = $this->db->query($sql_po, [
$numpd, '3', $para['podate'], $para['reference'], $para['supplierID'], $numpd, '3', $para['podate'], $para['reference'], $para['supplierID'],
$user['S_RegionalID'], $taxtype, $taxpercent, $discpercent, $summary_diskon, $user['S_RegionalID'], $taxtype, $taxpercent, $discpercent, $summary_diskon,
$para['catatan'], $summary_subtotal, $summary_pajak, $summary_total, $user['M_UserID'] 'single', $para['gudangID'], $para['catatan'], $summary_subtotal,
$summary_pajak, $summary_total, $user['M_UserID']
]); ]);
if (!$que_po) { if (!$que_po) {
$this->db->trans_rollback(); $this->db->trans_rollback();
@@ -582,19 +633,19 @@ class PurchaseOrderAset extends MY_Controller {
} }
$sql_summary = "INSERT INTO purchase_order_summary ( $sql_summary = "INSERT INTO purchase_order_summary (
PurchaseOrderSummaryPurchaseOrderID, PurchaseOrderSummaryPurchaseOrderID,
PurchaseOrderSummaryItemID, PurchaseOrderSummaryItemID,
PurchaseOrderSummaryItemUnitID, PurchaseOrderSummaryItemUnitID,
PurchaseOrderSummaryQty, PurchaseOrderSummaryQty,
PurchaseOrderSummaryPrice, PurchaseOrderSummaryPrice,
PurchaseOrderSummaryTotal, PurchaseOrderSummaryTotal,
PurchaseOrderSummaryDiscountRupiah, PurchaseOrderSummaryDiscountRupiah,
PurchaseOrderSummaryDiscountPercent, PurchaseOrderSummaryDiscountPercent,
PurchaseOrderSummaryDiscountAmount, PurchaseOrderSummaryDiscountAmount,
PurchaseOrderSummaryDiscountType, PurchaseOrderSummaryDiscountType,
PurchaseOrderSummaryCreatedUserID, PurchaseOrderSummaryCreatedUserID,
PurchaseOrderSummaryCreated PurchaseOrderSummaryCreated
) VALUES (?,?,?,?,?,?,?,?,?,?,?,NOW())"; ) VALUES (?,?,?,?,?,?,?,?,?,?,?,NOW())";
$que_summary = $this->db->query($sql_summary, [ $que_summary = $this->db->query($sql_summary, [
$PurchaseOrderID, $obj['M_ItemID'], $obj['ItemUnitID'], $PurchaseOrderID, $obj['M_ItemID'], $obj['ItemUnitID'],
$obj['RequestQty'], $obj['SupplierPrice'], $obj['TempTotal'], $obj['RequestQty'], $obj['SupplierPrice'], $obj['TempTotal'],
@@ -622,26 +673,27 @@ class PurchaseOrderAset extends MY_Controller {
$total = floatval($obj['SupplierPrice']) * floatval($obj['RequestQty']); $total = floatval($obj['SupplierPrice']) * floatval($obj['RequestQty']);
$sql_detail = "INSERT INTO purchase_order_detail ( $sql_detail = "INSERT INTO purchase_order_detail (
PurchaseOrderDetailPurchaseOrderID, PurchaseOrderDetailPurchaseOrderID,
PurchaseOrderDetailPurchaseSummaryID, PurchaseOrderDetailPurchaseSummaryID,
PurchaseOrderDetailPurchaseRequestID, PurchaseOrderDetailPurchaseRequestID,
PurchaseOrderDetailPurchaseRequestDetailID, PurchaseOrderDetailPurchaseRequestDetailID,
PurchaseOrderDetailPurchaseRequestFlagID, PurchaseOrderDetailPurchaseRequestFlagID,
PurchaseOrderDetailItemID, PurchaseOrderDetailItemID,
PurchaseOrderDetailItemUnitID, PurchaseOrderDetailItemUnitID,
PurchaseOrderDetailRequestQty, PurchaseOrderDetailRequestQty,
PurchaseOrderDetailQty, PurchaseOrderDetailQty,
PurchaseOrderDetailPrice, PurchaseOrderDetailPrice,
PurchaseOrderDetailTotal, PurchaseOrderDetailTotal,
PurchaseOrderDetailUserID, PurchaseOrderDetailWarehouseID,
PurchaseOrderDetailCreatedUserID, PurchaseOrderDetailUserID,
PurchaseOrderDetailCreated PurchaseOrderDetailCreatedUserID,
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())"; PurchaseOrderDetailCreated
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
$que_detail = $this->db->query($sql_detail, [ $que_detail = $this->db->query($sql_detail, [
$PurchaseOrderID, $obj['PurchaseSummaryID'], $obj['PurchaseRequestID'], $PurchaseOrderID, $obj['PurchaseSummaryID'], $obj['PurchaseRequestID'],
$obj['PurchaseRequestDetailID'], $obj['PurchaseRequestFlagID'], $obj['PurchaseRequestDetailID'], $obj['PurchaseRequestFlagID'],
$obj['M_ItemID'], $obj['ItemUnitID'], $obj['OriginalQty'], $obj['RequestQty'], $obj['M_ItemID'], $obj['ItemUnitID'], $obj['OriginalQty'], $obj['RequestQty'],
$obj['SupplierPrice'], $total, $user['M_UserID'], $user['M_UserID'] $obj['SupplierPrice'], $total, $para['gudangID'], $user['M_UserID'], $user['M_UserID']
]); ]);
if (!$que_detail) { if (!$que_detail) {
$this->db->trans_rollback(); $this->db->trans_rollback();
@@ -651,8 +703,8 @@ class PurchaseOrderAset extends MY_Controller {
/* purchase request update flag */ /* purchase request update flag */
$sql_flag = "UPDATE purchase_request_flag SET $sql_flag = "UPDATE purchase_request_flag SET
PurchaseRequestFlagQtyProses = ? PurchaseRequestFlagQtyProses = ?
WHERE PurchaseRequestFlagID = ?"; WHERE PurchaseRequestFlagID = ?";
$que_flag = $this->db->query($sql_flag, [ $que_flag = $this->db->query($sql_flag, [
$obj['RequestQty'], $obj['PurchaseRequestFlagID'] $obj['RequestQty'], $obj['PurchaseRequestFlagID']
]); ]);
@@ -665,23 +717,23 @@ class PurchaseOrderAset extends MY_Controller {
# INSERT into table purchase_order_asset_contract # # INSERT into table purchase_order_asset_contract #
$sql_contract = "INSERT INTO purchase_order_asset_contract ( $sql_contract = "INSERT INTO purchase_order_asset_contract (
PurchaseOrderAssetContractPurchaseOrderID, PurchaseOrderAssetContractPurchaseOrderID,
PurchaseOrderAssetContractTAssetAttachmentID, PurchaseOrderAssetContractTAssetAttachmentID,
PurchaseOrderAssetContractName, PurchaseOrderAssetContractName,
PurchaseOrderAssetContractDate, PurchaseOrderAssetContractDate,
PurchaseOrderAssetContractStartDate, PurchaseOrderAssetContractStartDate,
PurchaseOrderAssetContractEndDate, PurchaseOrderAssetContractEndDate,
PurchaseOrderAssetContractDuration, PurchaseOrderAssetContractDuration,
PurchaseOrderAssetContractInstallmentNumber, PurchaseOrderAssetContractInstallmentNumber,
PurchaseOrderAssetContractInstallmentDate, PurchaseOrderAssetContractInstallmentDate,
PurchaseOrderAssetContractInstallmentPayAmount, PurchaseOrderAssetContractInstallmentPayAmount,
PurchaseOrderAssetContractInstallmentDownPaymentType, PurchaseOrderAssetContractInstallmentDownPaymentType,
PurchaseOrderAssetContractInstallmentDownPayment, PurchaseOrderAssetContractInstallmentDownPayment,
PurchaseOrderAssetContractCreatedUserID, PurchaseOrderAssetContractCreatedUserID,
PurchaseOrderAssetContractCreated, PurchaseOrderAssetContractCreated,
PurchaseOrderAssetContractLastUpdated, PurchaseOrderAssetContractLastUpdated,
PurchaseOrderAssetContractIsActive PurchaseOrderAssetContractIsActive
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW(),NOW(),'Y')"; ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW(),NOW(),'Y')";
$que_contract = $this->db->query($sql_contract, [ $que_contract = $this->db->query($sql_contract, [
$PurchaseOrderID, $PurchaseOrderID,
$para['assetAttachmentID'], $para['assetAttachmentID'],
@@ -756,6 +808,8 @@ class PurchaseOrderAset extends MY_Controller {
PurchaseOrderTaxPercentPpn = ?, PurchaseOrderTaxPercentPpn = ?,
PurchaseOrderDiscountPercent = ?, PurchaseOrderDiscountPercent = ?,
PurchaseOrderDiscountAmount = ?, PurchaseOrderDiscountAmount = ?,
PurchaseOrderWarehouseType = ?,
PurchaseOrderWarehouseID = ?,
PurchaseOrderNote = ?, PurchaseOrderNote = ?,
PurchaseOrderSubTotal = ?, PurchaseOrderSubTotal = ?,
PurchaseOrderTaxAmountPpn = ?, PurchaseOrderTaxAmountPpn = ?,
@@ -765,8 +819,8 @@ class PurchaseOrderAset extends MY_Controller {
AND PurchaseOrderIsActive = 'Y'"; AND PurchaseOrderIsActive = 'Y'";
$que_po = $this->db->query($sql_po, [ $que_po = $this->db->query($sql_po, [
$para['podate'], $para['reference'], $para['supplierID'], $user['S_RegionalID'], $para['podate'], $para['reference'], $para['supplierID'], $user['S_RegionalID'],
$taxtype, $taxpercent, $discpercent, $summary_diskon, $para['catatan'], $taxtype, $taxpercent, $discpercent, $summary_diskon, 'single', $para['gudangID'],
$summary_subtotal, $summary_pajak, $summary_total, $para['PurchaseOrderID'] $para['catatan'], $summary_subtotal, $summary_pajak, $summary_total, $para['PurchaseOrderID']
]); ]);
if (!$que_po) { if (!$que_po) {
$this->db->trans_rollback(); $this->db->trans_rollback();
@@ -895,15 +949,16 @@ class PurchaseOrderAset extends MY_Controller {
PurchaseOrderDetailQty, PurchaseOrderDetailQty,
PurchaseOrderDetailPrice, PurchaseOrderDetailPrice,
PurchaseOrderDetailTotal, PurchaseOrderDetailTotal,
PurchaseOrderWarehouseID,
PurchaseOrderDetailUserID, PurchaseOrderDetailUserID,
PurchaseOrderDetailCreatedUserID, PurchaseOrderDetailCreatedUserID,
PurchaseOrderDetailCreated PurchaseOrderDetailCreated
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())"; ) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
$que_detail = $this->db->query($sql_detail, [ $que_detail = $this->db->query($sql_detail, [
$para['PurchaseOrderID'], $obj['PurchaseSummaryID'], $obj['PurchaseRequestID'], $para['PurchaseOrderID'], $obj['PurchaseSummaryID'], $obj['PurchaseRequestID'],
$obj['PurchaseRequestDetailID'], $obj['PurchaseRequestFlagID'], $obj['PurchaseRequestDetailID'], $obj['PurchaseRequestFlagID'],
$obj['M_ItemID'], $obj['ItemUnitID'], $obj['OriginalQty'], $obj['RequestQty'], $obj['M_ItemID'], $obj['ItemUnitID'], $obj['OriginalQty'], $obj['RequestQty'],
$obj['SupplierPrice'], $total, $user['M_UserID'], $user['M_UserID'] $obj['SupplierPrice'], $total, $para['gudangID'], $user['M_UserID'], $user['M_UserID']
]); ]);
if (!$que_detail) { if (!$que_detail) {
$this->db->trans_rollback(); $this->db->trans_rollback();
@@ -948,11 +1003,11 @@ class PurchaseOrderAset extends MY_Controller {
$user = $this->sys_user; $user = $this->sys_user;
$sql_detail = "SELECT $sql_detail = "SELECT
PurchaseOrderDetailPurchaseRequestFlagID, PurchaseOrderDetailPurchaseRequestFlagID,
PurchaseOrderDetailQty PurchaseOrderDetailQty
FROM purchase_order_detail FROM purchase_order_detail
WHERE PurchaseOrderDetailPurchaseOrderID = ? WHERE PurchaseOrderDetailPurchaseOrderID = ?
AND PurchaseOrderDetailIsActive = 'Y'"; AND PurchaseOrderDetailIsActive = 'Y'";
$que_detail = $this->db->query($sql_detail, [$para['poID']]); $que_detail = $this->db->query($sql_detail, [$para['poID']]);
if (!$que_detail) { if (!$que_detail) {
$this->db->trans_rollback(); $this->db->trans_rollback();
@@ -964,8 +1019,8 @@ class PurchaseOrderAset extends MY_Controller {
/* reduce qty process in purchase order flag */ /* reduce qty process in purchase order flag */
foreach ($asset_detail as $key => $obj) { foreach ($asset_detail as $key => $obj) {
$sql_updateflag = "UPDATE purchase_request_flag SET $sql_updateflag = "UPDATE purchase_request_flag SET
PurchaseRequestFlagQtyProses = PurchaseRequestFlagQtyProses - ? PurchaseRequestFlagQtyProses = PurchaseRequestFlagQtyProses - ?
WHERE PurchaseRequestFlagID = ?"; WHERE PurchaseRequestFlagID = ?";
$que_updateflag = $this->db->query($sql_updateflag, [ $que_updateflag = $this->db->query($sql_updateflag, [
$obj['PurchaseOrderDetailQty'], $obj['PurchaseOrderDetailQty'],
$obj['PurchaseOrderDetailPurchaseRequestFlagID'] $obj['PurchaseOrderDetailPurchaseRequestFlagID']
@@ -979,10 +1034,10 @@ class PurchaseOrderAset extends MY_Controller {
/* soft delete purchase order detail */ /* soft delete purchase order detail */
$sql_deldetail = "UPDATE purchase_order_detail SET $sql_deldetail = "UPDATE purchase_order_detail SET
PurchaseOrderDetailIsActive = 'N', PurchaseOrderDetailIsActive = 'N',
PurchaseOrderDetailDeleted = NOW(), PurchaseOrderDetailDeleted = NOW(),
PurchaseOrderDetailDeletedUserID = ? PurchaseOrderDetailDeletedUserID = ?
WHERE PurchaseOrderDetailPurchaseOrderID = ?"; WHERE PurchaseOrderDetailPurchaseOrderID = ?";
$que_deldetail = $this->db->query($sql_deldetail, [ $que_deldetail = $this->db->query($sql_deldetail, [
$user['M_UserID'], $para['poID'] $user['M_UserID'], $para['poID']
]); ]);
@@ -994,10 +1049,10 @@ class PurchaseOrderAset extends MY_Controller {
/* soft delete purchase order summary */ /* soft delete purchase order summary */
$sql_delsummary = "UPDATE purchase_order_summary SET $sql_delsummary = "UPDATE purchase_order_summary SET
PurchaseOrderSummaryIsActive = 'N', PurchaseOrderSummaryIsActive = 'N',
PurchaseOrderSummaryDeleted = NOW(), PurchaseOrderSummaryDeleted = NOW(),
PurchaseOrderSummaryDeletedUserID = ? PurchaseOrderSummaryDeletedUserID = ?
WHERE PurchaseOrderSummaryPurchaseOrderID = ?"; WHERE PurchaseOrderSummaryPurchaseOrderID = ?";
$que_delsummary = $this->db->query($sql_delsummary, [ $que_delsummary = $this->db->query($sql_delsummary, [
$user['M_UserID'], $para['poID'] $user['M_UserID'], $para['poID']
]); ]);
@@ -1009,10 +1064,10 @@ class PurchaseOrderAset extends MY_Controller {
/* soft delete purchase_order_asset_contract */ /* soft delete purchase_order_asset_contract */
$sql_delcontract = "UPDATE purchase_order_asset_contract SET $sql_delcontract = "UPDATE purchase_order_asset_contract SET
PurchaseOrderAssetContractIsActive = 'N', PurchaseOrderAssetContractIsActive = 'N',
PurchaseOrderAssetContractLastUpdated = NOW() PurchaseOrderAssetContractLastUpdated = NOW()
WHERE PurchaseOrderAssetContractID = ? WHERE PurchaseOrderAssetContractID = ?
AND PurchaseOrderAssetContractPurchaseOrderID = ?"; AND PurchaseOrderAssetContractPurchaseOrderID = ?";
$que_delcontract = $this->db->query($sql_delcontract, [ $que_delcontract = $this->db->query($sql_delcontract, [
$para['contractID'], $para['poID'] $para['contractID'], $para['poID']
]); ]);
@@ -1022,12 +1077,25 @@ class PurchaseOrderAset extends MY_Controller {
exit; exit;
} }
$sql_delattac = "UPDATE contract_asset_attachment SET
ContractAssetAttachmentIsActive = 'N'
WHERE ContractAssetAttachmentPurchaseOrderAssetContractID = ?
AND ContractAssetAttachmentPurchaseOrderID = ?";
$que_delattac = $this->db->query($sql_delattac, [
$para['contractID'], $para['poID']
]);
if (!$que_delattac) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] failed soft delete data attachment");
exit;
}
/* soft delete purchase order */ /* soft delete purchase order */
$sql_delorder = "UPDATE purchase_order SET $sql_delorder = "UPDATE purchase_order SET
PurchaseOrderIsActive = 'N', PurchaseOrderIsActive = 'N',
PurchaseOrderDeleted = NOW(), PurchaseOrderDeleted = NOW(),
PurchaseOrderDeletedUserID = ? PurchaseOrderDeletedUserID = ?
WHERE PurchaseOrderID = ?"; WHERE PurchaseOrderID = ?";
$que_delorder = $this->db->query($sql_delorder, [ $que_delorder = $this->db->query($sql_delorder, [
$user['M_UserID'], $para['poID'] $user['M_UserID'], $para['poID']
]); ]);
@@ -1094,16 +1162,31 @@ class PurchaseOrderAset extends MY_Controller {
ContractAssetAttachmentPurchaseOrderAssetContractID, ContractAssetAttachmentPurchaseOrderAssetContractID,
ContractAssetAttachmentPurchaseOrderID, ContractAssetAttachmentPurchaseOrderID,
ContractAssetAttachmentFileName, ContractAssetAttachmentFileName,
ContractAssetAttachmentDate,
ContractAssetAttachmentCreated ContractAssetAttachmentCreated
) VALUES (?,?,?,NOW())"; ) VALUES (?,?,?,?,NOW())";
$que_insert = $this->db->query($sql_insert, [ $que_insert = $this->db->query($sql_insert, [
$para['contractID'], $para['poID'], $filename $para['contractID'], $para['poID'],
$filename, $para['contractDate']
]); ]);
if (!$que_insert) { if (!$que_insert) {
$this->db->trans_rollback(); $this->db->trans_rollback();
$this->sys_error_db("[Error] failed insert attachment table contract asset attachment"); $this->sys_error_db("[Error] failed insert attachment table contract asset attachment");
exit; exit;
} }
$sql_contract = "UPDATE purchase_order_asset_contract SET
PurchaseOrderAssetContractTAssetAttachmentID = ?
WHERE PurchaseOrderAssetContractID = ?
AND PurchaseOrderAssetContractPurchaseOrderID = ?";
$que_contract = $this->db->query($sql_contract, [
$para['contractID'], $para['poID']
]);
if (!$que_contract) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] failed update attachmentid into asset contract table");
exit;
}
} else { } else {
$error = $this->upload->display_errors(); $error = $this->upload->display_errors();
$this->db->trans_rollback(); $this->db->trans_rollback();