2 Commits

Author SHA1 Message Date
33666a2f5f add: inventaris item coa mapping API 2026-07-09 16:30:53 +07:00
b29ba9f225 add: inventaris coa mapping API 2026-07-09 15:47:24 +07:00
2 changed files with 90 additions and 3344 deletions

View File

@@ -81,13 +81,16 @@ class PurchaseOrderAset extends MY_Controller {
} }
$limit = 10; $limit = 10;
$offset = 0;
if ($para['currpage'] > 0) {
$offset = ($para['currpage'] - 1) * $limit;
}
$sql = "SELECT $sql = "SELECT
PurchaseRequestID, PurchaseRequestID,
PurchaseRequestNumber, PurchaseRequestNumber,
PurchaseRequestDetailID, PurchaseRequestDetailID,
PurchaseRequestFlagID, PurchaseRequestFlagID,
M_BranchID,
PurchaseRequestFlagM_BranchCode AS BranchCode, PurchaseRequestFlagM_BranchCode AS BranchCode,
PurchaseRequestItemCategoryID AS ItemCategoryID, PurchaseRequestItemCategoryID AS ItemCategoryID,
PurchaseRequestFlagQtyRest - PurchaseRequestFlagQtyProses AS UnprocessFlagQty, PurchaseRequestFlagQtyRest - PurchaseRequestFlagQtyProses AS UnprocessFlagQty,
@@ -99,26 +102,24 @@ class PurchaseOrderAset extends MY_Controller {
M_ItemDesc, M_ItemDesc,
ItemUnitID, ItemUnitID,
ItemUnitName, ItemUnitName,
SupplierPricePrice as SupplierPrice, SupplierPricePrice as SupplierPrice
M_UserUsername AS Requestedby
FROM purchase_request FROM purchase_request
JOIN purchase_request_detail ON PurchaseRequestDetailPurchaseRequestID = PurchaseRequestID JOIN purchase_request_detail ON PurchaseRequestDetailPurchaseRequestID = PurchaseRequestID
AND PurchaseRequestDetailIsActive = 'Y' AND PurchaseRequestDetailIsActive = 'Y'
AND PurchaseRequestM_BranchCode = ?
AND PurchaseRequestItemCategoryID = '3' -- id category item asset AND PurchaseRequestItemCategoryID = '3' -- id category item asset
JOIN m_item ON M_ItemID = PurchaseRequestDetailM_ItemID AND PurchaseRequestNumber LIKE ?
AND (PurchaseRequestNumber LIKE ? OR M_ItemDesc LIKE ?)
JOIN purchase_request_flag ON PurchaseRequestFlagPurchaseRequestDetailID = PurchaseRequestDetailID JOIN purchase_request_flag ON PurchaseRequestFlagPurchaseRequestDetailID = PurchaseRequestDetailID
AND PurchaseRequestFlagStatus = 'PO' AND PurchaseRequestFlagStatus = 'PO'
AND PurchaseRequestFlagIsActive = 'Y' AND PurchaseRequestFlagIsActive = 'Y'
JOIN m_branch ON M_BranchCode = PurchaseRequestFlagM_BranchCode JOIN m_item ON M_ItemID = PurchaseRequestDetailM_ItemID
AND M_BranchID = ?
AND M_BranchIsActive = 'Y'
JOIN itemunit ON ItemUnitID = PurchaseRequestDetailItemUnitID JOIN itemunit ON ItemUnitID = PurchaseRequestDetailItemUnitID
JOIN supplier_price ON SupplierPriceSupplierID = ? JOIN supplier_price ON SupplierPriceSupplierID = ?
AND SupplierPriceM_ItemID = M_ItemID AND SupplierPriceM_ItemID = M_ItemID
AND SupplierPriceItemUnitID = ItemUnitID AND SupplierPriceItemUnitID = ItemUnitID
AND SupplierPriceIsActive = 'Y' AND SupplierPriceIsActive = 'Y'
JOIN m_user ON M_UserID = PurchaseRequestRequestedBy JOIN m_branch ON M_BranchCode = PurchaseRequestFlagM_BranchCode
AND M_BranchIsActive = 'Y'
WHERE NOT EXISTS ( WHERE NOT EXISTS (
SELECT 1 SELECT 1
FROM purchase_order_detail FROM purchase_order_detail
@@ -129,10 +130,10 @@ class PurchaseOrderAset extends MY_Controller {
WHERE PurchaseOrderDetailPurchaseRequestDetailID = PurchaseRequestDetailID WHERE PurchaseOrderDetailPurchaseRequestDetailID = PurchaseRequestDetailID
)"; )";
$sql_data = $sql . " LIMIT ? "; $sql_data = $sql . " LIMIT ? OFFSET ? ";
$que_data = $this->db->query($sql_data, [ $que_data = $this->db->query($sql_data, [
$keyword, $keyword, $para['branchID'], $para['supplierID'], $para['branchcode'], $keyword, $para['supplierID'],
$limit $limit, $offset
]); ]);
if (!$que_data) { if (!$que_data) {
$this->sys_error_db("[Error] get daftar request data"); $this->sys_error_db("[Error] get daftar request data");
@@ -142,7 +143,7 @@ class PurchaseOrderAset extends MY_Controller {
$sql_total = "SELECT COUNT(*) AS total FROM ($sql) AS x"; $sql_total = "SELECT COUNT(*) AS total FROM ($sql) AS x";
$que_total = $this->db->query($sql_total, [ $que_total = $this->db->query($sql_total, [
$keyword, $keyword, $para['branchID'], $para['supplierID'] $para['branchcode'], $keyword, $para['supplierID']
]); ]);
if (!$que_total) { if (!$que_total) {
$this->sys_error_db("[Error] get total request aset"); $this->sys_error_db("[Error] get total request aset");
@@ -254,13 +255,14 @@ class PurchaseOrderAset extends MY_Controller {
$para = $this->sys_input; $para = $this->sys_input;
$sql = "SELECT $sql = "SELECT
ContractAssetAttachmentID AS attach_id, PurchaseOrderAssetAttachmentID AS attach_id,
ContractAssetAttachmentFileName AS img_url, PurchaseOrderAssetAttachmentName AS img_url,
ContractAssetAttachmentDate AS created PurchaseOrderAssetAttachmentCreated AS created
FROM contract_asset_attachment FROM purchase_order_asset_attachment
WHERE ContractAssetAttachmentIsActive = 'Y' WHERE PurchaseOrderAssetAttachmentIsActive = 'Y'
AND ContractAssetAttachmentPurchaseOrderAssetContractID = ? AND PurchaseOrderAssetAttachmentContractID = ?
AND ContractAssetAttachmentPurchaseOrderID = ?"; AND PurchaseOrderAssetAttachmentPurchaseOrderID = ?
AND PurchaseOrderAssetAttachmentType = 'order'";
$que = $this->db->query($sql, [ $que = $this->db->query($sql, [
$para['contractID'], $para['poID'] $para['contractID'], $para['poID']
]); ]);
@@ -458,28 +460,6 @@ class PurchaseOrderAset extends MY_Controller {
} }
} }
public function getUserApproveLevel() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$user = $this->sys_user;
$sql = "SELECT M_UserM_ApproveLevelID FROM m_user
WHERE M_UserIsActive = 'Y' AND M_UserID = ? ";
$que = $this->db->query($sql, [$user['M_UserID']]);
if (!$que) {
$this->sys_error_db("[Error] failed get approval level user");
exit;
}
$data = $que->row_array();
$this->sys_ok($data);
} catch (Exception $exc) {
$this->sys_error($exc->getMessage());
}
}
## MUTATIONS ## ## MUTATIONS ##
public function createPoAsset() { public function createPoAsset() {
try { try {
@@ -1048,6 +1028,7 @@ class PurchaseOrderAset extends MY_Controller {
} }
} }
// upload file
public function uploadAttachment() { public function uploadAttachment() {
try { try {
if (!$this->isLogin) { if (!$this->isLogin) {
@@ -1090,18 +1071,19 @@ class PurchaseOrderAset extends MY_Controller {
$upload_data = $this->upload->data(); $upload_data = $this->upload->data();
$filename = $upload_data['file_name']; $filename = $upload_data['file_name'];
$sql_insert = "INSERT INTO contract_asset_attachment ( $sql_insert = "INSERT INTO purchase_order_asset_attachment (
ContractAssetAttachmentPurchaseOrderAssetContractID, PurchaseOrderAssetAttachmentContractID,
ContractAssetAttachmentPurchaseOrderID, PurchaseOrderAssetAttachmentPurchaseOrderID,
ContractAssetAttachmentFileName, PurchaseOrderAssetAttachmentName,
ContractAssetAttachmentCreated PurchaseOrderAssetAttachmentType,
) VALUES (?,?,?,NOW())"; PurchaseOrderAssetAttachmentCreated
) 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, 'order'
]); ]);
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 purchase order asset attachment");
exit; exit;
} }
} else { } else {
@@ -1186,6 +1168,28 @@ class PurchaseOrderAset extends MY_Controller {
} }
} }
public function getUserApproveLevel() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$user = $this->sys_user;
$sql = "SELECT M_UserM_ApproveLevelID FROM m_user
WHERE M_UserIsActive = 'Y' AND M_UserID = ? ";
$que = $this->db->query($sql, [$user['M_UserID']]);
if (!$que) {
$this->sys_error_db("[Error] failed get approval level user");
exit;
}
$data = $que->row_array();
$this->sys_ok($data);
} catch (Exception $exc) {
$this->sys_error($exc->getMessage());
}
}
private function insertLog($poID, $type, $prm, $dataBefore, $dataAfter, $userID, $desc = '') { private function insertLog($poID, $type, $prm, $dataBefore, $dataAfter, $userID, $desc = '') {
$sql = "INSERT INTO acc_one_log.purchase_order_log ( $sql = "INSERT INTO acc_one_log.purchase_order_log (
PurchaseOrderLogPurchaseOrderID, PurchaseOrderLogPurchaseOrderID,