diff --git a/application/controllers/mockup/purchase/order/PurchaseOrderAset.php b/application/controllers/mockup/purchase/order/PurchaseOrderAset.php index 19ee953..f766d2d 100644 --- a/application/controllers/mockup/purchase/order/PurchaseOrderAset.php +++ b/application/controllers/mockup/purchase/order/PurchaseOrderAset.php @@ -1,8 +1,10 @@ isLogin) { - $this->sys_error("invalid token"); - exit; + throw new Exception('Invalid token'); } $sql = "SELECT - SupplierID, - SupplierName - FROM supplier - WHERE SupplierIsActive = 'Y'"; + SupplierID, + SupplierName + FROM supplier + WHERE SupplierIsActive = 'Y'"; $que = $this->db->query($sql, []); if (!$que) { - $this->sys_error_db("[Error] get data supplier"); - exit; + throw new Exception('failed to query list supplier', 1); } $data = $que->result_array(); $this->sys_ok($data); } catch (Exception $exc) { - $this->sys_error($exc->getMessage()); + $msg = '[Error] ' . $exc->getMessage(); + $code = $exc->getCode(); + if ($code == 0) { + $this->sys_error($msg); + } else { + $this->sys_error_db($msg); + } + exit; } } - public function getListCabang() { + public function getListCabang() + { try { if (!$this->isLogin) { - $this->sys_error("invalid token"); - exit; + throw new Exception('Invalid token'); } $user = $this->sys_user; - - $sql = "SELECT + $sql = "SELECT M_BranchID, M_BranchCode, M_BranchName - FROM m_branch - WHERE M_BranchIsActive = 'Y' + FROM m_branch + WHERE M_BranchIsActive = 'Y' AND M_BranchS_RegionalID = ?"; $que = $this->db->query($sql, [$user['S_RegionalID']]); if (!$que) { - $this->sys_error_db("[Error] failed get list cabang"); - exit; + throw new Exception('failed to query list cabang', 1); } - $data = $que->result_array(); + $this->sys_ok($data); } catch (Exception $exc) { - $this->sys_error($exc->getMessage()); + $msg = '[Error] ' . $exc->getMessage(); + $code = $exc->getCode(); + if ($code == 0) { + $this->sys_error($msg); + } else { + $this->sys_error_db($msg); + } + exit; } } - public function searchRequestAset() { + public function searchRequestAset() + { try { if (!$this->isLogin) { - $this->sys_error("invalid token"); - exit; + throw new Exception('Invalid token'); } $para = $this->sys_input; - + $keyword = "%"; if ($para['search'] != '') { $keyword .= $para['search'] . "%"; @@ -86,68 +99,71 @@ class PurchaseOrderAset extends MY_Controller { $offset = ($para['currpage'] - 1) * $limit; } - $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 - )"; - + $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 + )"; + $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) { - $this->sys_error_db("[Error] get daftar request data"); - exit; + throw new Exception('failed to query data request order aset', 1); } $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) { - $this->sys_error_db("[Error] get total request aset"); - exit; + throw new Exception('failed to query total request order aset', 1); } $total = $que_total->row_array()['total']; @@ -158,29 +174,64 @@ class PurchaseOrderAset extends MY_Controller { $this->sys_ok($out); } catch (Exception $exc) { - $this->sys_error($exc->getMessage()); + $msg = '[Error] ' . $exc->getMessage(); + $code = $exc->getCode(); + if ($code == 0) { + $this->sys_error($msg); + } else { + $this->sys_error_db($msg); + } + exit; } } - public function getUserApproveLevel() { + public function getUserApproveLevel() + { try { if (!$this->isLogin) { - $this->sys_error("invalid token"); - exit; + throw new Exception('Invalid token'); } $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) { - $this->sys_error_db("[Error] failed get approval level user"); - exit; + throw new Exception('failed to query approval level', 1); } $data = $que->row_array(); + $this->sys_ok($data); } catch (Exception $exc) { - $this->sys_error($exc->getMessage()); + $msg = '[Error] ' . $exc->getMessage(); + $code = $exc->getCode(); + if ($code == 0) { + $this->sys_error($msg); + } else { + $this->sys_error_db($msg); + } + exit; } } -} \ No newline at end of file + + ## 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; + } + } +} diff --git a/application/controllers/mockup/receive-item-po/ReceiveItemPoInventaris.php b/application/controllers/mockup/receive-item-po/ReceiveItemPoInventaris.php index e29a989..f95561e 100644 --- a/application/controllers/mockup/receive-item-po/ReceiveItemPoInventaris.php +++ b/application/controllers/mockup/receive-item-po/ReceiveItemPoInventaris.php @@ -1668,9 +1668,9 @@ class ReceiveItemPoInventaris extends MY_Controller foreach ($data_detail_ro as $key => $detail) { # UPDATE PO Summary # $sql_posummary = "UPDATE purchase_order_summary SET - PurchaseOrderSummaryQtyReceived = PurchaseOrderSummaryQtyReceived + ? - WHERE PurchaseOrderSummaryIsActive = 'Y' - AND PurchaseOrderSummaryID = ?"; + PurchaseOrderSummaryQtyReceived = PurchaseOrderSummaryQtyReceived + ? + WHERE PurchaseOrderSummaryIsActive = 'Y' + AND PurchaseOrderSummaryID = ?"; $que_posummary = $this->db->query($sql_posummary, [ intval($detail['ReceiveOrderPoDetailQty']), $detail['ReceiveOrderPoDetailPurchaseOrderSummaryID'] @@ -1946,18 +1946,18 @@ class ReceiveItemPoInventaris extends MY_Controller } // insert stockid barcode barang - $sql_update_barcode = "UPDATE t_barcode_barang SET - T_BarcodeBarangStockID = ? - WHERE T_BarcodeBarangReceiveOrderPoDetailID = ?"; - $qry_update_barcode = $this->db->query($sql_update_barcode, [ - $stock_ID, - $detail['ReceiveOrderPoDetailID'] - ]); - if (!$qry_update_barcode) { - $this->db->trans_rollback(); - $this->sys_error_db("[Error] update barcode stockID", $this->db); - exit; - } + // $sql_update_barcode = "UPDATE t_barcode_barang SET + // T_BarcodeBarangStockID = ? + // WHERE T_BarcodeBarangReceiveOrderPoDetailID = ?"; + // $qry_update_barcode = $this->db->query($sql_update_barcode, [ + // $stock_ID, + // $detail['ReceiveOrderPoDetailID'] + // ]); + // if (!$qry_update_barcode) { + // $this->db->trans_rollback(); + // $this->sys_error_db("[Error] update barcode stockID", $this->db); + // exit; + // } } else { $sql_insert_stock = "INSERT INTO stock ( StockWarehouseAlmariID, @@ -1990,18 +1990,18 @@ class ReceiveItemPoInventaris extends MY_Controller $stock_qty_end = intval($batch['qty']); // insert stockid barcode barang - $sql_update_barcode = "UPDATE t_barcode_barang SET - T_BarcodeBarangStockID = ? - WHERE T_BarcodeBarangReceiveOrderPoDetailID = ?"; - $qry_update_barcode = $this->db->query($sql_update_barcode, [ - $stockID, - $detail['ReceiveOrderPoDetailID'] - ]); - if (!$qry_update_barcode) { - $this->db->trans_rollback(); - $this->sys_error_db("[Error] update barcode stockID", $this->db); - exit; - } + // $sql_update_barcode = "UPDATE t_barcode_barang SET + // T_BarcodeBarangStockID = ? + // WHERE T_BarcodeBarangReceiveOrderPoDetailID = ?"; + // $qry_update_barcode = $this->db->query($sql_update_barcode, [ + // $stockID, + // $detail['ReceiveOrderPoDetailID'] + // ]); + // if (!$qry_update_barcode) { + // $this->db->trans_rollback(); + // $this->sys_error_db("[Error] update barcode stockID", $this->db); + // exit; + // } } // insert stock card @@ -2095,14 +2095,14 @@ class ReceiveItemPoInventaris extends MY_Controller // insert jurnal tx for GRNI $total_grni = round($total_debet - ($total_discount_item + $total_discount_po), 2) + $ship_cost; $sql_grni = "INSERT INTO jurnal_tx ( - jurnalTxJurnalID, - jurnalTxCoaID, - jurnalTxDescription, - jurnalTxDebit, - jurnalTxCredit, - jurnalTxM_UserID - ) SELECT ?, coaID, coaDescription, 0, ?, ? - FROM coa WHERE coaAccountNo = '2110100030' LIMIT 1"; + jurnalTxJurnalID, + jurnalTxCoaID, + jurnalTxDescription, + jurnalTxDebit, + jurnalTxCredit, + jurnalTxM_UserID + ) SELECT ?, coaID, coaDescription, 0, ?, ? + FROM coa WHERE coaAccountNo = '2110100030' LIMIT 1"; $que_grni = $this->db->query($sql_grni, [$jurnal_ID, $total_grni, $user['M_UserID']]); if (!$que_grni) { $this->db->trans_rollback(); @@ -2112,13 +2112,13 @@ class ReceiveItemPoInventaris extends MY_Controller $grni_jurnal_id = $this->db->insert_id(); $sql_addon_grni = "INSERT INTO jurnal_addon ( - jurnalAddOnJurnalID, - jurnalAddOnJurnalTxID, - jurnalAddOnCode, - jurnalAddOnValue, - jurnalAddOnCreated, - jurnalAddOnCreatedUserID - ) VALUES (?,?,'RONUMB',?,NOW(),?)"; + jurnalAddOnJurnalID, + jurnalAddOnJurnalTxID, + jurnalAddOnCode, + jurnalAddOnValue, + jurnalAddOnCreated, + jurnalAddOnCreatedUserID + ) VALUES (?,?,'RONUMB',?,NOW(),?)"; $que_addon_grni = $this->db->query($sql_addon_grni, [ $jurnal_ID, $grni_jurnal_id, @@ -2736,6 +2736,16 @@ class ReceiveItemPoInventaris extends MY_Controller $barcodeID = $this->db->insert_id(); + # insert stock inventaris # + $sql_stockinventaris = "INSERT INTO stock_inventaris ( + StockInventoryStockID, + StockInventoryRuanganID, + StockInventoryBarcode, + StockInventoryCabangID, + StockInventoryCreatedUserID + ) VALUES (?,?,?,?,?)"; + $que_stockinventaris = $this->db->query($sql_stockinventaris, []); + # insert each inventory handover detail # $sql_insert_handover_detail = "INSERT INTO asset_handover_detail( AssetHandoverDetailAssetHandoverID,