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() {
try {
if (!$this->isLogin) {
@@ -187,16 +221,30 @@ class PurchaseOrderAset extends MY_Controller {
PurchaseOrderS_RegionalID,
PurchaseOrderApprovedManagerUserID AS verifiedby,
IFNULL(PurchaseOrderApprovedUserID, 0) AS approvedby,
PurchaseOrderAssetContractID,
PurchaseOrderAssetContractID AS contractID,
PurchaseOrderAssetContractName AS contractName,
PurchaseOrderAssetContractDate AS contractDate,
PurchaseOrderAssetContractStartDate AS contractStart,
PurchaseOrderAssetContractEndDate AS contractEnd,
IFNULL(attach.AttachmentCount, 0) AS AttachmentCount,
SupplierID,
SupplierName
FROM purchase_order
JOIN supplier ON SupplierID = PurchaseOrderSupplierID
JOIN purchase_order_asset_contract
ON PurchaseOrderAssetContractPurchaseOrderID = PurchaseOrderID
LEFT JOIN (
SELECT
ContractAssetAttachmentPurchaseOrderID,
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 = ?
@@ -550,17 +598,20 @@ class PurchaseOrderAset extends MY_Controller {
PurchaseOrderTaxPercentPpn,
PurchaseOrderDiscountPercent,
PurchaseOrderDiscountAmount,
PurchaseOrderWarehouseType,
PurchaseOrderWarehouseID,
PurchaseOrderNote,
PurchaseOrderSubTotal,
PurchaseOrderTaxAmountPpn,
PurchaseOrderGrandTotal,
PurchaseOrderUserID,
PurchaseOrderCreated
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
$que_po = $this->db->query($sql_po, [
$numpd, '3', $para['podate'], $para['reference'], $para['supplierID'],
$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) {
$this->db->trans_rollback();
@@ -633,15 +684,16 @@ class PurchaseOrderAset extends MY_Controller {
PurchaseOrderDetailQty,
PurchaseOrderDetailPrice,
PurchaseOrderDetailTotal,
PurchaseOrderDetailWarehouseID,
PurchaseOrderDetailUserID,
PurchaseOrderDetailCreatedUserID,
PurchaseOrderDetailCreated
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
$que_detail = $this->db->query($sql_detail, [
$PurchaseOrderID, $obj['PurchaseSummaryID'], $obj['PurchaseRequestID'],
$obj['PurchaseRequestDetailID'], $obj['PurchaseRequestFlagID'],
$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) {
$this->db->trans_rollback();
@@ -756,6 +808,8 @@ class PurchaseOrderAset extends MY_Controller {
PurchaseOrderTaxPercentPpn = ?,
PurchaseOrderDiscountPercent = ?,
PurchaseOrderDiscountAmount = ?,
PurchaseOrderWarehouseType = ?,
PurchaseOrderWarehouseID = ?,
PurchaseOrderNote = ?,
PurchaseOrderSubTotal = ?,
PurchaseOrderTaxAmountPpn = ?,
@@ -765,8 +819,8 @@ class PurchaseOrderAset extends MY_Controller {
AND PurchaseOrderIsActive = 'Y'";
$que_po = $this->db->query($sql_po, [
$para['podate'], $para['reference'], $para['supplierID'], $user['S_RegionalID'],
$taxtype, $taxpercent, $discpercent, $summary_diskon, $para['catatan'],
$summary_subtotal, $summary_pajak, $summary_total, $para['PurchaseOrderID']
$taxtype, $taxpercent, $discpercent, $summary_diskon, 'single', $para['gudangID'],
$para['catatan'], $summary_subtotal, $summary_pajak, $summary_total, $para['PurchaseOrderID']
]);
if (!$que_po) {
$this->db->trans_rollback();
@@ -895,15 +949,16 @@ class PurchaseOrderAset extends MY_Controller {
PurchaseOrderDetailQty,
PurchaseOrderDetailPrice,
PurchaseOrderDetailTotal,
PurchaseOrderWarehouseID,
PurchaseOrderDetailUserID,
PurchaseOrderDetailCreatedUserID,
PurchaseOrderDetailCreated
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,NOW())";
$que_detail = $this->db->query($sql_detail, [
$para['PurchaseOrderID'], $obj['PurchaseSummaryID'], $obj['PurchaseRequestID'],
$obj['PurchaseRequestDetailID'], $obj['PurchaseRequestFlagID'],
$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) {
$this->db->trans_rollback();
@@ -1022,6 +1077,19 @@ class PurchaseOrderAset extends MY_Controller {
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 */
$sql_delorder = "UPDATE purchase_order SET
PurchaseOrderIsActive = 'N',
@@ -1094,16 +1162,31 @@ class PurchaseOrderAset extends MY_Controller {
ContractAssetAttachmentPurchaseOrderAssetContractID,
ContractAssetAttachmentPurchaseOrderID,
ContractAssetAttachmentFileName,
ContractAssetAttachmentDate,
ContractAssetAttachmentCreated
) VALUES (?,?,?,NOW())";
) VALUES (?,?,?,?,NOW())";
$que_insert = $this->db->query($sql_insert, [
$para['contractID'], $para['poID'], $filename
$para['contractID'], $para['poID'],
$filename, $para['contractDate']
]);
if (!$que_insert) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] failed insert attachment table contract asset attachment");
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 {
$error = $this->upload->display_errors();
$this->db->trans_rollback();