From 752c372c2f75f568ac8c781c6491d4d8fe938b38 Mon Sep 17 00:00:00 2001 From: bintanghr Date: Thu, 9 Jul 2026 11:09:44 +0700 Subject: [PATCH] add: updateApprovalPO api in purchase order aset --- .../mockup/purchase/order/PurchaseOrder.http | 11 ++++ .../purchase/order/PurchaseOrderAset.php | 66 +++++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/application/controllers/mockup/purchase/order/PurchaseOrder.http b/application/controllers/mockup/purchase/order/PurchaseOrder.http index b0bd0f3..a854ee0 100644 --- a/application/controllers/mockup/purchase/order/PurchaseOrder.http +++ b/application/controllers/mockup/purchase/order/PurchaseOrder.http @@ -236,6 +236,17 @@ Content-Type: application/json "poID": 1 } +### +// update approval PO — verifikasi manager (level 1) +POST https://{{host}}/mockup/purchase/order/PurchaseOrderAset/updateApprovalPO/ +Content-Type: application/json + +{ + "token": {{token}}, + "poID": 1, + "approvelevel": "1" +} + ### // get data kontrak po asset POST https://{{host}}/mockup/purchase/order/PurchaseOrderAset/getDataKontrakPoAset/ diff --git a/application/controllers/mockup/purchase/order/PurchaseOrderAset.php b/application/controllers/mockup/purchase/order/PurchaseOrderAset.php index 3a0ea34..666abe9 100644 --- a/application/controllers/mockup/purchase/order/PurchaseOrderAset.php +++ b/application/controllers/mockup/purchase/order/PurchaseOrderAset.php @@ -1102,6 +1102,72 @@ class PurchaseOrderAset extends MY_Controller { } } + public function updateApprovalPO() { + try { + if (!$this->isLogin) { + $this->sys_error("invalid token"); + exit; + } + + $this->db->trans_begin(); + $para = $this->sys_input; + $user = $this->sys_user; + $approvelevel = $para['approvelevel']; + + /* request purchase order */ + if ($approvelevel == '0') { + $sql = "UPDATE purchase_order SET + PurchaseOrderStatus = 'Pending', + PurchaseOrderLastUpdated = NOW() + WHERE PurchaseOrderID = ? + AND PurchaseOrderIsActive = 'Y'"; + $que = $this->db->query($sql, [$para['poID']]); + if (!$que) { + $this->db->trans_rollback(); + $this->sys_error_db("[Error] failed update table purchase order request"); + exit; + } + } + + /* verifikasi oleh manager */ + if ($approvelevel == '1') { + $sql = "UPDATE purchase_order SET + PurchaseOrderApprovedManagerUserID = ?, + PurchaseOrderLastUpdated = NOW() + WHERE PurchaseOrderID = ? + AND PurchaseOrderIsActive = 'Y'"; + $que = $this->db->query($sql, [$user['M_UserID'], $para['poID']]); + if (!$que) { + $this->db->trans_rollback(); + $this->sys_error_db("[Error] failed update table purchase order verif"); + exit; + } + } + + /* approval oleh kepala regional */ + if ($approvelevel == '2') { + $sql = "UPDATE purchase_order SET + PurchaseOrderStatus = 'Approved', + PurchaseOrderLastUpdated = NOW(), + PurchaseOrderApprovedUserID = ? + WHERE PurchaseOrderID = ? + AND PurchaseOrderIsActive = 'Y'"; + $que = $this->db->query($sql, [$user['M_UserID'], $para['poID']]); + if (!$que) { + $this->db->trans_rollback(); + $this->sys_error_db("[Error] failed update table purchase order approve"); + exit; + } + } + + $this->db->trans_commit(); + $this->sys_ok("[Success] success update status PO Asset"); + } catch (Exception $exc) { + $msg = $exc->getMessage(); + $this->sys_error($msg); + } + } + public function getUserApproveLevel() { try { if (!$this->isLogin) {