Merge branch 'po-asset-crud' into develop
# Conflicts: # application/controllers/mockup/purchase/order/PurchaseOrder.http # application/controllers/mockup/purchase/order/PurchaseOrderAset.php
This commit is contained in:
@@ -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/
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
<?php
|
||||
|
||||
class PurchaseOrderAset extends MY_Controller
|
||||
{
|
||||
class PurchaseOrderAset extends MY_Controller {
|
||||
var $db;
|
||||
public function index()
|
||||
{
|
||||
public function index() {
|
||||
echo "Purchase Order Aset API";
|
||||
}
|
||||
|
||||
@@ -14,45 +12,40 @@ class PurchaseOrderAset extends MY_Controller
|
||||
}
|
||||
|
||||
## QUERY ##
|
||||
public function getListSupplier()
|
||||
{
|
||||
public function getListSupplier() {
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
throw new Exception('Invalid token');
|
||||
$this->sys_error("invalid token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
SupplierID,
|
||||
SupplierName
|
||||
FROM supplier
|
||||
WHERE SupplierIsActive = 'Y'";
|
||||
SupplierID,
|
||||
SupplierName
|
||||
FROM supplier
|
||||
WHERE SupplierIsActive = 'Y'";
|
||||
$que = $this->db->query($sql, []);
|
||||
if (!$que) {
|
||||
throw new Exception('failed to query list supplier', 1);
|
||||
$this->sys_error_db("[Error] get data supplier");
|
||||
exit;
|
||||
}
|
||||
|
||||
$data = $que->result_array();
|
||||
$this->sys_ok($data);
|
||||
} catch (Exception $exc) {
|
||||
$msg = '[Error] ' . $exc->getMessage();
|
||||
$code = $exc->getCode();
|
||||
if ($code == 0) {
|
||||
$this->sys_error($msg);
|
||||
} else {
|
||||
$this->sys_error_db($msg);
|
||||
}
|
||||
exit;
|
||||
$this->sys_error($exc->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function getListCabang()
|
||||
{
|
||||
public function getListCabang() {
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
throw new Exception('Invalid token');
|
||||
$this->sys_error("invalid token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$user = $this->sys_user;
|
||||
|
||||
$sql = "SELECT
|
||||
M_BranchID,
|
||||
M_BranchCode,
|
||||
@@ -62,28 +55,22 @@ class PurchaseOrderAset extends MY_Controller
|
||||
AND M_BranchS_RegionalID = ?";
|
||||
$que = $this->db->query($sql, [$user['S_RegionalID']]);
|
||||
if (!$que) {
|
||||
throw new Exception('failed to query list cabang', 1);
|
||||
$this->sys_error_db("[Error] failed get list cabang");
|
||||
exit;
|
||||
}
|
||||
$data = $que->result_array();
|
||||
|
||||
$data = $que->result_array();
|
||||
$this->sys_ok($data);
|
||||
} catch (Exception $exc) {
|
||||
$msg = '[Error] ' . $exc->getMessage();
|
||||
$code = $exc->getCode();
|
||||
if ($code == 0) {
|
||||
$this->sys_error($msg);
|
||||
} else {
|
||||
$this->sys_error_db($msg);
|
||||
}
|
||||
exit;
|
||||
$this->sys_error($exc->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function searchRequestAset()
|
||||
{
|
||||
public function searchRequestAset() {
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
throw new Exception('Invalid token');
|
||||
$this->sys_error("invalid token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$para = $this->sys_input;
|
||||
@@ -100,70 +87,67 @@ class PurchaseOrderAset extends MY_Controller
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
PurchaseRequestID,
|
||||
PurchaseRequestNumber,
|
||||
PurchaseRequestDetailID,
|
||||
PurchaseRequestFlagID,
|
||||
PurchaseRequestFlagM_BranchCode AS BranchCode,
|
||||
PurchaseRequestItemCategoryID AS ItemCategoryID,
|
||||
PurchaseRequestFlagQtyRest - PurchaseRequestFlagQtyProses AS UnprocessFlagQty,
|
||||
PurchaseRequestDetailQty AS RequestQty,
|
||||
PurchaseRequestDetailQty AS OriginalQty,
|
||||
M_BranchName,
|
||||
M_ItemID,
|
||||
M_ItemCode,
|
||||
M_ItemDesc,
|
||||
ItemUnitID,
|
||||
ItemUnitName,
|
||||
SupplierPricePrice as SupplierPrice
|
||||
FROM purchase_request
|
||||
JOIN purchase_request_detail ON PurchaseRequestDetailPurchaseRequestID = PurchaseRequestID
|
||||
AND PurchaseRequestDetailIsActive = 'Y'
|
||||
AND PurchaseRequestM_BranchCode = ?
|
||||
AND PurchaseRequestItemCategoryID = '3' -- id category item asset
|
||||
AND PurchaseRequestNumber LIKE ?
|
||||
JOIN purchase_request_flag ON PurchaseRequestFlagPurchaseRequestDetailID = PurchaseRequestDetailID
|
||||
AND PurchaseRequestFlagStatus = 'PO'
|
||||
AND PurchaseRequestFlagIsActive = 'Y'
|
||||
JOIN m_item ON M_ItemID = PurchaseRequestDetailM_ItemID
|
||||
JOIN itemunit ON ItemUnitID = PurchaseRequestDetailItemUnitID
|
||||
JOIN supplier_price ON SupplierPriceSupplierID = ?
|
||||
AND SupplierPriceM_ItemID = M_ItemID
|
||||
AND SupplierPriceItemUnitID = ItemUnitID
|
||||
AND SupplierPriceIsActive = 'Y'
|
||||
JOIN m_branch ON M_BranchCode = PurchaseRequestFlagM_BranchCode
|
||||
AND M_BranchIsActive = 'Y'
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM purchase_order_detail
|
||||
JOIN purchase_order ON PurchaseOrderDetailPurchaseOrderID = PurchaseOrderID
|
||||
AND PurchaseOrderStatus = 'Approved'
|
||||
AND PurchaseOrderIsActive = 'Y'
|
||||
AND PurchaseOrderDetailIsActive = 'Y'
|
||||
WHERE PurchaseOrderDetailPurchaseRequestDetailID = PurchaseRequestDetailID
|
||||
)";
|
||||
PurchaseRequestID,
|
||||
PurchaseRequestNumber,
|
||||
PurchaseRequestDetailID,
|
||||
PurchaseRequestFlagID,
|
||||
PurchaseRequestFlagM_BranchCode AS BranchCode,
|
||||
PurchaseRequestItemCategoryID AS ItemCategoryID,
|
||||
PurchaseRequestFlagQtyRest - PurchaseRequestFlagQtyProses AS UnprocessFlagQty,
|
||||
PurchaseRequestDetailQty AS RequestQty,
|
||||
PurchaseRequestDetailQty AS OriginalQty,
|
||||
M_BranchName,
|
||||
M_ItemID,
|
||||
M_ItemCode,
|
||||
M_ItemDesc,
|
||||
ItemUnitID,
|
||||
ItemUnitName,
|
||||
SupplierPricePrice as SupplierPrice
|
||||
FROM purchase_request
|
||||
JOIN purchase_request_detail ON PurchaseRequestDetailPurchaseRequestID = PurchaseRequestID
|
||||
AND PurchaseRequestDetailIsActive = 'Y'
|
||||
AND PurchaseRequestM_BranchCode = ?
|
||||
AND PurchaseRequestItemCategoryID = '3' -- id category item asset
|
||||
AND PurchaseRequestNumber LIKE ?
|
||||
JOIN purchase_request_flag ON PurchaseRequestFlagPurchaseRequestDetailID = PurchaseRequestDetailID
|
||||
AND PurchaseRequestFlagStatus = 'PO'
|
||||
AND PurchaseRequestFlagIsActive = 'Y'
|
||||
JOIN m_item ON M_ItemID = PurchaseRequestDetailM_ItemID
|
||||
JOIN itemunit ON ItemUnitID = PurchaseRequestDetailItemUnitID
|
||||
JOIN supplier_price ON SupplierPriceSupplierID = ?
|
||||
AND SupplierPriceM_ItemID = M_ItemID
|
||||
AND SupplierPriceItemUnitID = ItemUnitID
|
||||
AND SupplierPriceIsActive = 'Y'
|
||||
JOIN m_branch ON M_BranchCode = PurchaseRequestFlagM_BranchCode
|
||||
AND M_BranchIsActive = 'Y'
|
||||
WHERE NOT EXISTS (
|
||||
SELECT 1
|
||||
FROM purchase_order_detail
|
||||
JOIN purchase_order ON PurchaseOrderDetailPurchaseOrderID = PurchaseOrderID
|
||||
AND PurchaseOrderStatus = 'Approved'
|
||||
AND PurchaseOrderIsActive = 'Y'
|
||||
AND PurchaseOrderDetailIsActive = 'Y'
|
||||
WHERE PurchaseOrderDetailPurchaseRequestDetailID = PurchaseRequestDetailID
|
||||
)";
|
||||
|
||||
$sql_data = $sql . " LIMIT ? OFFSET ? ";
|
||||
$que_data = $this->db->query($sql_data, [
|
||||
$para['branchcode'],
|
||||
$keyword,
|
||||
$para['supplierID'],
|
||||
$limit,
|
||||
$offset
|
||||
$para['branchcode'], $keyword, $para['supplierID'],
|
||||
$limit, $offset
|
||||
]);
|
||||
if (!$que_data) {
|
||||
throw new Exception('failed to query data request order aset', 1);
|
||||
$this->sys_error_db("[Error] get daftar request data");
|
||||
exit;
|
||||
}
|
||||
$data = $que_data->result_array();
|
||||
|
||||
$sql_total = "SELECT COUNT(*) AS total FROM ($sql) AS x";
|
||||
$que_total = $this->db->query($sql_total, [
|
||||
$para['branchcode'],
|
||||
$keyword,
|
||||
$para['supplierID']
|
||||
$para['branchcode'], $keyword, $para['supplierID']
|
||||
]);
|
||||
if (!$que_total) {
|
||||
throw new Exception('failed to query total request order aset', 1);
|
||||
$this->sys_error_db("[Error] get total request aset");
|
||||
exit;
|
||||
}
|
||||
$total = $que_total->row_array()['total'];
|
||||
|
||||
@@ -174,14 +158,7 @@ class PurchaseOrderAset extends MY_Controller
|
||||
|
||||
$this->sys_ok($out);
|
||||
} catch (Exception $exc) {
|
||||
$msg = '[Error] ' . $exc->getMessage();
|
||||
$code = $exc->getCode();
|
||||
if ($code == 0) {
|
||||
$this->sys_error($msg);
|
||||
} else {
|
||||
$this->sys_error_db($msg);
|
||||
}
|
||||
exit;
|
||||
$this->sys_error($exc->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1125,33 +1102,91 @@ 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) {
|
||||
throw new Exception('Invalid token');
|
||||
$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 = ? ";
|
||||
$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) {
|
||||
throw new Exception('failed to query approval level', 1);
|
||||
$this->sys_error_db("[Error] failed get approval level user");
|
||||
exit;
|
||||
}
|
||||
$data = $que->row_array();
|
||||
|
||||
$this->sys_ok($data);
|
||||
} catch (Exception $exc) {
|
||||
$msg = '[Error] ' . $exc->getMessage();
|
||||
$code = $exc->getCode();
|
||||
if ($code == 0) {
|
||||
$this->sys_error($msg);
|
||||
} else {
|
||||
$this->sys_error_db($msg);
|
||||
}
|
||||
exit;
|
||||
$this->sys_error($exc->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1176,4 +1211,23 @@ class PurchaseOrderAset extends MY_Controller
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
## MUTATIONS ##
|
||||
public function insertPurchaseOrderAsset()
|
||||
{
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
throw new Exception('Invalid token');
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
$msg = '[Error] ' . $e->getMessage();
|
||||
$code = $e->getCode();
|
||||
if ($code == 0) {
|
||||
$this->sys_error($msg);
|
||||
} else {
|
||||
$this->sys_error_db($msg);
|
||||
}
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user