first commit -> move some files from one-api
This commit is contained in:
213
application/controllers/mockup/purchase/order/PurchaseOrder.http
Normal file
213
application/controllers/mockup/purchase/order/PurchaseOrder.http
Normal file
@@ -0,0 +1,213 @@
|
||||
@token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJNX1VzZXJJRCI6IjM4MCIsIk1fVXNlclVzZXJuYW1lIjoicmVnc2J5IiwiTV9Vc2VyR3JvdXBEYXNoYm9hcmQiOiJvbmUtdWlcL3Rlc3RcL3Z1ZXhcL2FjYy1vbmUtanVybmFsXC8iLCJNX1VzZXJEZWZhdWx0VF9TYW1wbGVTdGF0aW9uSUQiOiIwIiwiTV9TdGFmZk5hbWUiOiJTdGFmZiBSZWdpb25hbCIsImlzX2NvdXJpZXIiOiJOIiwidGltZV9hdXRvbG9nb3V0IjoiMTIwIiwiTV9Vc2VyTG9jYXRpb25JRCI6IjM3IiwiTV9Vc2VyTG9jYXRpb25GbGFnIjoiUiIsIlNfUmVnaW9uYWxOYW1lIjoiU3VyYWJheWEgUmF5YSIsIlNfUmVnaW9uYWxJRCI6IjYiLCJNX0JyYW5jaE5hbWUiOiIiLCJNX0JyYW5jaENvZGUiOiIiLCJNX0JyYW5jaElEIjoiMCIsImxvZ2luTGV2ZWwiOiJyZWdpb25hbCIsIk1fQnJhbmNoQ29tcGFueUlEIjoiMSIsIk1fQnJhbmNoQ29tcGFueU5hbWUiOiJQVCBQUkFNSVRBIiwiaXAiOiIxMzkuMTk1LjEyMi4yMzUiLCJhZ2VudCI6Ik1vemlsbGFcLzUuMCAoWDExOyBMaW51eCB4ODZfNjQ7IHJ2OjEzNy4wKSBHZWNrb1wvMjAxMDAxMDEgRmlyZWZveFwvMTM3LjAiLCJ2ZXJzaW9uIjoidjIiLCJsYXN0LWxvZ2luIjoiMjAyNS0wNi0wNCAxMzoyMDowNSIsIk1fU2F0ZWxsaXRlSUQiOjB9.hm6JtstjaQOzb7oDSXQ-oMWuX_jFQZH-HDr3r3OzPac"
|
||||
|
||||
@host = accone.aplikasi.web.id/one-api
|
||||
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/index/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJNX1VzZXJJRCI6IjMiLCJNX1VzZXJVc2VybmFtZSI6ImFkbWluICIsIk1fVXNlckdyb3VwRGFzaGJvYXJkIjoidGVzdFwvdnVleFwvb25lLWZvLXJlZ2lzdHJhdGlvbi12MzFcLyIsIk1fVXNlckRlZmF1bHRUX1NhbXBsZVN0YXRpb25JRCI6IjAiLCJNX1N0YWZmTmFtZSI6IkFETUlOIiwiaXNfY291cmllciI6Ik4iLCJ0aW1lX2F1dG9sb2dvdXQiOiIxMjAiLCJpcCI6IjE0OS4xMTMuOTUuMTUzIiwiYWdlbnQiOiJNb3ppbGxhXC81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXRcLzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZVwvMTI4LjAuMC4wIFNhZmFyaVwvNTM3LjM2IEVkZ1wvMTI4LjAuMC4wIiwidmVyc2lvbiI6InYyIiwibGFzdC1sb2dpbiI6IjIwMjQtMDktMDIgMTE6MzY6MDgiLCJNX1NhdGVsbGl0ZUlEIjowfQ.38owLzgSjtoley0Vz9W9silF4vfp7hrJEQqytYHf8P0"
|
||||
}
|
||||
|
||||
###
|
||||
// listing data
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/search/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"currentPage": 1,
|
||||
"search": "",
|
||||
"startDate": "2025-06-04",
|
||||
"endDate": "2025-06-04",
|
||||
"status": "All",
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
###
|
||||
// get supplier
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/getSupplier/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"search": "",
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
###
|
||||
// get warehouse
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/getWarehouse/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"search": "",
|
||||
"regionalId": 8,
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
###
|
||||
// get item old
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/getItem_old/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"search":"",
|
||||
"currentPage":1,
|
||||
"supplierID":"3",
|
||||
"itemCategoryID":"1",
|
||||
"regionalId":"6",
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
###
|
||||
// get item
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/getItem_new/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"search":"",
|
||||
"currentPage":1,
|
||||
"supplierID":"7",
|
||||
"itemCategoryID":"1",
|
||||
"regionalId":"6",
|
||||
"token": {{token}}
|
||||
}
|
||||
###
|
||||
// get item
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/getItem/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"search":"",
|
||||
"currentPage":1,
|
||||
"supplierID":"7",
|
||||
"itemCategoryID":"1",
|
||||
"regionalId":"6",
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
###
|
||||
// get item update
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/getItemUpdate/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"POID": 89,
|
||||
"token": {{ token }}
|
||||
}
|
||||
|
||||
###
|
||||
// save order
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/saveOrder/
|
||||
Content-Type: application/json
|
||||
|
||||
{"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJNX1VzZXJJRCI6IjM4MCIsIk1fVXNlclVzZXJuYW1lIjoicmVnc2J5IiwiTV9Vc2VyR3JvdXBEYXNoYm9hcmQiOiJvbmUtdWlcL3Rlc3RcL3Z1ZXhcL2FjYy1vbmUtanVybmFsXC8iLCJNX1VzZXJEZWZhdWx0VF9TYW1wbGVTdGF0aW9uSUQiOiIwIiwiTV9TdGFmZk5hbWUiOiJTdGFmZiBSZWdpb25hbCIsImlzX2NvdXJpZXIiOiJOIiwidGltZV9hdXRvbG9nb3V0IjoiMTIwIiwiTV9Vc2VyTG9jYXRpb25JRCI6IjM3IiwiTV9Vc2VyTG9jYXRpb25GbGFnIjoiUiIsIlNfUmVnaW9uYWxOYW1lIjoiU3VyYWJheWEgUmF5YSIsIlNfUmVnaW9uYWxJRCI6IjYiLCJNX0JyYW5jaE5hbWUiOiIiLCJNX0JyYW5jaENvZGUiOiIiLCJNX0JyYW5jaElEIjoiMCIsImxvZ2luTGV2ZWwiOiJyZWdpb25hbCIsIk1fQnJhbmNoQ29tcGFueUlEIjoiMSIsIk1fQnJhbmNoQ29tcGFueU5hbWUiOiJQVCBQUkFNSVRBIiwiaXAiOiIxMzkuMTk1LjEyMS4xOTgiLCJhZ2VudCI6Ik1vemlsbGFcLzUuMCAoWDExOyBMaW51eCB4ODZfNjQ7IHJ2OjEzOS4wKSBHZWNrb1wvMjAxMDAxMDEgRmlyZWZveFwvMTM5LjAiLCJ2ZXJzaW9uIjoidjIiLCJsYXN0LWxvZ2luIjoiMjAyNS0wNi0yNCAxMzoyMDo0MiIsIk1fU2F0ZWxsaXRlSUQiOjB9.8aaMsJjOaczgBzjx7wOBzQ6l8qDlPBACwxjOVUMZGx0","Date":"2025-06-24","RefNumber":"23123","SupplierID":"7","ItemCategoryID":"1","TaxPercent":0,"PaymentTerm":0,"DiscountPercent":0,"DiscountAmount":0,"WarehouseType":"Single","WarehouseID":"49","Note":"","SubTotal":12417736.5,"TaxPercentPph":0,"TaxPercentPpn":0,"TaxAmount":0,"TaxAmountPph":0,"TaxAmountPpn":0,"GrandTotal":12417736.5,"ShippingCost":0,"ShippingCostStatus":true,"Summary":[{"keyID":"10_33","M_ItemID":"10","PurchaseOrderID":0,"PurchaseOrderSummaryID":0,"M_ItemCode":null,"M_ItemDesc":"ELECSYS T PSA - 4641655190","discount":"0","discountType":"R","PoItemUnitID":"33","ItemUnitCode":"UI230033","PoItemUnitName":"DUS","TotalPoQty":3,"Price":4139245.5,"RealPrice":4139245.5,"PriceAfterDiscount":4139245.5,"Total":12417736.5,"Details":[{"PurchaseRequestFlagID":"192","BranchCode":"LE","UnprocessFlagQty":"3","PurchaseRequestDetailID":"296","PurchaseRequestID":"172","RequestQty":"3","M_ItemID":"10","M_ItemCode":null,"M_ItemDesc":"ELECSYS T PSA - 4641655190","ReqItemUnitID":"12","ReqItemUnitName":"KIT","PoItemUnitID":"33","PoItemUnitName":"DUS","Price":"4139245.5","S_RegionalName":"Surabaya Raya","S_RegionalID":"6","WarehouseID":"44","WarehouseName":"WH034 Gudang Cabang 1 - Pramita Ngagel Jaya","M_BranchName":"Pramita Ngagel Jaya","M_BranchID":"13","PurchaseRequestNumber":"PR25060081","discount":"0","discountType":"R","PoQty":1,"UnitReqPoConvertStatus":"success","UnitReqPoConvertMsg":"Berhasil mapping konversi Req 3 ke PO 1 DUS","Total":4139245.5,"keyID":"10_","DefaultPurchase":{"ItemUnitID":"33","ItemUnitCode":"UI230033","ItemUnitName":"DUS","ItemUnitMapIsPurchase":"Y","ItemUnitMapMin":"0","ItemUnitMapM_ItemID":"10","UnitConvertAmount":"10","SupplierPricePrice":"4139245.5","isPurchased":"Y"},"warehouse":{"WarehouseID":"49","WarehouseCode":"WH039","WarehouseName":"WH039 Gudang Cabang 1 - Pramita HR. Muhammad","WarehouseType":"B","WarehouseIsDefault":"Y","WarehouseS_RegionalID":"6","WarehouseM_BranchID":"18","S_RegionalID":"6","S_RegionalName":"Surabaya Raya"}},{"PurchaseRequestFlagID":"191","BranchCode":"LE","UnprocessFlagQty":"10","PurchaseRequestDetailID":"297","PurchaseRequestID":"173","RequestQty":"12","M_ItemID":"10","M_ItemCode":null,"M_ItemDesc":"ELECSYS T PSA - 4641655190","ReqItemUnitID":"12","ReqItemUnitName":"KIT","PoItemUnitID":"33","PoItemUnitName":"DUS","Price":"4139245.5","S_RegionalName":"Surabaya Raya","S_RegionalID":"6","WarehouseID":"44","WarehouseName":"WH034 Gudang Cabang 1 - Pramita Ngagel Jaya","M_BranchName":"Pramita Ngagel Jaya","M_BranchID":"13","PurchaseRequestNumber":"PR25060082","discount":"0","discountType":"R","PoQty":2,"UnitReqPoConvertStatus":"success","UnitReqPoConvertMsg":"Berhasil mapping konversi Req 12 ke PO 2 DUS","Total":8278491,"keyID":"10_","DefaultPurchase":{"ItemUnitID":"33","ItemUnitCode":"UI230033","ItemUnitName":"DUS","ItemUnitMapIsPurchase":"Y","ItemUnitMapMin":"0","ItemUnitMapM_ItemID":"10","UnitConvertAmount":"10","SupplierPricePrice":"4139245.5","isPurchased":"Y"},"warehouse":{"WarehouseID":"49","WarehouseCode":"WH039","WarehouseName":"WH039 Gudang Cabang 1 - Pramita HR. Muhammad","WarehouseType":"B","WarehouseIsDefault":"Y","WarehouseS_RegionalID":"6","WarehouseM_BranchID":"18","S_RegionalID":"6","S_RegionalName":"Surabaya Raya"}}]}]}
|
||||
|
||||
###
|
||||
// update order
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/updateOrder/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"token": {{token}},
|
||||
"ID": "",
|
||||
"Date": "",
|
||||
"RefNumber": "",
|
||||
"SupplierID": "",
|
||||
"TaxPercentPph": "",
|
||||
"TaxPercentPpn": "",
|
||||
"PaymentTerm": "",
|
||||
"DiscountPercent": "",
|
||||
"DiscountAmount": "",
|
||||
"WarehouseType": "",
|
||||
"WarehouseID": "",
|
||||
"Note": "",
|
||||
"SubTotal": "",
|
||||
"TaxAmount": "",
|
||||
"GrandTotal": "",
|
||||
"Details": [
|
||||
{
|
||||
"PurchaseRequestID": "",
|
||||
"PurchaseRequestDetailID": "",
|
||||
"PurchaseRequestFlagID": "",
|
||||
"ItemID": "",
|
||||
"RequestQty": "",
|
||||
"Qty": "",
|
||||
"Price": "",
|
||||
"Total": "",
|
||||
"WarehouseID": ""
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
###
|
||||
// delete order
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/deleteOrder/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"PurchaseOrderId": 48,
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
###
|
||||
// get item update
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/getItemUpdate/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJNX1VzZXJJRCI6IjMiLCJNX1VzZXJVc2VybmFtZSI6ImFkbWluICIsIk1fVXNlckdyb3VwRGFzaGJvYXJkIjoidGVzdFwvdnVleFwvb25lLWZvLXJlZ2lzdHJhdGlvbi12MzFcLyIsIk1fVXNlckRlZmF1bHRUX1NhbXBsZVN0YXRpb25JRCI6IjAiLCJNX1N0YWZmTmFtZSI6IkFETUlOIiwiaXNfY291cmllciI6Ik4iLCJ0aW1lX2F1dG9sb2dvdXQiOiIxMjAiLCJpcCI6IjE0OS4xMTMuOTUuMTUzIiwiYWdlbnQiOiJNb3ppbGxhXC81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXRcLzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZVwvMTI4LjAuMC4wIFNhZmFyaVwvNTM3LjM2IEVkZ1wvMTI4LjAuMC4wIiwidmVyc2lvbiI6InYyIiwibGFzdC1sb2dpbiI6IjIwMjQtMDktMDIgMTE6MzY6MDgiLCJNX1NhdGVsbGl0ZUlEIjowfQ.38owLzgSjtoley0Vz9W9silF4vfp7hrJEQqytYHf8P0",
|
||||
"supplierID": "1",
|
||||
"regionalId": "8",
|
||||
"search": ""
|
||||
}
|
||||
|
||||
###
|
||||
// request order
|
||||
POST https://{{host}}/mockup/purchase/order/PurchaseOrder/requestOrder/
|
||||
Content-Type: application/json
|
||||
|
||||
|
||||
{
|
||||
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJNX1VzZXJJRCI6IjMiLCJNX1VzZXJVc2VybmFtZSI6ImFkbWluICIsIk1fVXNlckdyb3VwRGFzaGJvYXJkIjoidGVzdFwvdnVleFwvb25lLWZvLXJlZ2lzdHJhdGlvbi12MzFcLyIsIk1fVXNlckRlZmF1bHRUX1NhbXBsZVN0YXRpb25JRCI6IjAiLCJNX1N0YWZmTmFtZSI6IkFETUlOIiwiaXNfY291cmllciI6Ik4iLCJ0aW1lX2F1dG9sb2dvdXQiOiIxMjAiLCJpcCI6IjE0OS4xMTMuOTUuMTUzIiwiYWdlbnQiOiJNb3ppbGxhXC81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXRcLzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZVwvMTI4LjAuMC4wIFNhZmFyaVwvNTM3LjM2IEVkZ1wvMTI4LjAuMC4wIiwidmVyc2lvbiI6InYyIiwibGFzdC1sb2dpbiI6IjIwMjQtMDktMDIgMTE6MzY6MDgiLCJNX1NhdGVsbGl0ZUlEIjowfQ.38owLzgSjtoley0Vz9W9silF4vfp7hrJEQqytYHf8P0",
|
||||
"ID": ""
|
||||
}
|
||||
|
||||
### Test isValidMultiple Warehouse
|
||||
### Should return True karena UnitRequest = UnitPurchase
|
||||
GET https://{{host}}/mockup/purchase/order/PurchaseOrder/isValidMultipleWarehouse/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"PurchaseRequestDetailIDs" : [288, 289],
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
### Test isValidMultiple Warehouse
|
||||
### Should return True karena ada konversi dan RequestQty kelipatan UnitConvertAmount
|
||||
GET https://{{host}}/mockup/purchase/order/PurchaseOrder/isValidMultipleWarehouse/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"PurchaseRequestDetailIDs" : [288, 289, 290],
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
### Test isValidMultiple Warehouse
|
||||
### Should return False karena ada item yang tidak ada unitconvertnya
|
||||
GET https://{{host}}/mockup/purchase/order/PurchaseOrder/isValidMultipleWarehouse/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"PurchaseRequestDetailIDs" : [288, 289, 295],
|
||||
"token": {{token}}
|
||||
}
|
||||
|
||||
### Test isValidMultiple Warehouse
|
||||
### Should return False karena ada item yang RequestQty bukan kelipatan UnitConvertAmount
|
||||
GET https://{{host}}/mockup/purchase/order/PurchaseOrder/isValidMultipleWarehouse/
|
||||
Content-Type: application/json
|
||||
|
||||
{
|
||||
"PurchaseRequestDetailIDs" : [291,292],
|
||||
"token": {{token}}
|
||||
}
|
||||
2432
application/controllers/mockup/purchase/order/PurchaseOrder.php
Normal file
2432
application/controllers/mockup/purchase/order/PurchaseOrder.php
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,186 @@
|
||||
<?php
|
||||
|
||||
class PurchaseOrderAset extends MY_Controller {
|
||||
var $db;
|
||||
public function index() {
|
||||
echo "Purchase Order Aset API";
|
||||
}
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
## QUERY ##
|
||||
public function getListSupplier() {
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("invalid token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$sql = "SELECT
|
||||
SupplierID,
|
||||
SupplierName
|
||||
FROM supplier
|
||||
WHERE SupplierIsActive = 'Y'";
|
||||
$que = $this->db->query($sql, []);
|
||||
if (!$que) {
|
||||
$this->sys_error_db("[Error] get data supplier");
|
||||
exit;
|
||||
}
|
||||
|
||||
$data = $que->result_array();
|
||||
$this->sys_ok($data);
|
||||
} catch (Exception $exc) {
|
||||
$this->sys_error($exc->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function getListCabang() {
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("invalid token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$user = $this->sys_user;
|
||||
|
||||
$sql = "SELECT
|
||||
M_BranchID,
|
||||
M_BranchCode,
|
||||
M_BranchName
|
||||
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;
|
||||
}
|
||||
|
||||
$data = $que->result_array();
|
||||
$this->sys_ok($data);
|
||||
} catch (Exception $exc) {
|
||||
$this->sys_error($exc->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
public function searchRequestAset() {
|
||||
try {
|
||||
if (!$this->isLogin) {
|
||||
$this->sys_error("invalid token");
|
||||
exit;
|
||||
}
|
||||
|
||||
$para = $this->sys_input;
|
||||
|
||||
$keyword = "%";
|
||||
if ($para['search'] != '') {
|
||||
$keyword .= $para['search'] . "%";
|
||||
}
|
||||
|
||||
$limit = 10;
|
||||
$offset = 0;
|
||||
if ($para['currpage'] > 0) {
|
||||
$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_data = $sql . " LIMIT ? OFFSET ? ";
|
||||
$que_data = $this->db->query($sql_data, [
|
||||
$para['branchcode'], $keyword, $para['supplierID'],
|
||||
$limit, $offset
|
||||
]);
|
||||
if (!$que_data) {
|
||||
$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']
|
||||
]);
|
||||
if (!$que_total) {
|
||||
$this->sys_error_db("[Error] get total request aset");
|
||||
exit;
|
||||
}
|
||||
$total = $que_total->row_array()['total'];
|
||||
|
||||
$out = [
|
||||
"records" => $data,
|
||||
"total" => $total
|
||||
];
|
||||
|
||||
$this->sys_ok($out);
|
||||
} catch (Exception $exc) {
|
||||
$this->sys_error($exc->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
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());
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
2936
application/controllers/mockup/purchase/order/PurchaseOrderV2.php
Normal file
2936
application/controllers/mockup/purchase/order/PurchaseOrderV2.php
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user