23 Commits

Author SHA1 Message Date
e62ec1d994 feature: file receiveItemAset & change some query purchaseorderasest 2026-07-10 15:49:00 +07:00
34fb944e6e add: inventaris item coa mapping API 2026-07-10 08:30:36 +07:00
17445d9534 add: inventaris coa mapping API 2026-07-10 08:30:36 +07:00
17423ac0b5 change table asset attachment into contract_asset_attachment 2026-07-10 08:30:12 +07:00
c83c42698a delete: empty function 2026-07-09 11:36:32 +07:00
009aff7d44 Merge branch 'po-asset-crud' into develop
# Conflicts:
#	application/controllers/mockup/purchase/order/PurchaseOrder.http
#	application/controllers/mockup/purchase/order/PurchaseOrderAset.php
2026-07-09 11:29:36 +07:00
6dbe0e400b remove workflow add scripts compare file and upload to server 2026-07-09 11:25:16 +07:00
0ea56f09fa add parameter ssh key passphrase to workflow 2026-07-09 11:25:16 +07:00
a6412c9688 add workflow auto update to server 2026-07-09 11:25:16 +07:00
bcb553ea56 add query insert into table stock_inventory in func savehandover receiveitempo inventaris 2026-07-09 11:25:16 +07:00
2874fab71d add api file po asset, api receive item inventaris add insert into table stock_inventaris 2026-07-09 11:25:16 +07:00
c125289b92 add: getDaftarAttachment api for purchase order asset 2026-07-09 10:39:28 +07:00
fe5e6dd6cb add: uploadAttachment api 2026-07-09 10:39:28 +07:00
5fd6db863a add: getDataKontrakPoAset api 2026-07-09 10:39:28 +07:00
fc9947bce4 add: getDaftarPoAset api 2026-07-09 10:39:28 +07:00
c296d5598b add: deletePoAsset api 2026-07-09 10:39:28 +07:00
5bd8e038fc add: editPoAsset api 2026-07-09 10:39:28 +07:00
8f07a65485 add: createPoAsset api 2026-07-09 10:39:01 +07:00
b7a00bc242 remove workflow add scripts compare file and upload to server 2026-07-09 10:12:42 +07:00
13af691645 add parameter ssh key passphrase to workflow
Some checks failed
Deploy controllers / upload (push) Has been cancelled
2026-07-09 09:51:11 +07:00
775a390bcb add workflow auto update to server
Some checks failed
Deploy controllers / upload (push) Has been cancelled
2026-07-09 09:46:34 +07:00
0d1dcb1b5e add query insert into table stock_inventory in func savehandover receiveitempo inventaris 2026-07-09 08:22:16 +07:00
22719de06f add api file po asset, api receive item inventaris add insert into table stock_inventaris 2026-07-08 17:15:55 +07:00
6 changed files with 4071 additions and 248 deletions

View File

@@ -0,0 +1,113 @@
@token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJNX1VzZXJJRCI6IjM4MCIsIk1fVXNlclVzZXJuYW1lIjoicmVnc2J5IiwiTV9Vc2VyR3JvdXBEYXNoYm9hcmQiOiJvbmUtdWlcL3Rlc3RcL3Z1ZXhcL2FjYy1vbmUtanVybmFsXC8iLCJNX1VzZXJEZWZhdWx0VF9TYW1wbGVTdGF0aW9uSUQiOiIwIiwiTV9TdGFmZk5hbWUiOiJTdGFmZiBSZWdpb25hbCIsImlzX2NvdXJpZXIiOiJOIiwidGltZV9hdXRvbG9nb3V0IjoiMTIwIiwiTV9Vc2VyTG9jYXRpb25JRCI6IjM3IiwiTV9Vc2VyTG9jYXRpb25GbGFnIjoiUiIsIlNfUmVnaW9uYWxOYW1lIjoiU3VyYWJheWEgUmF5YSIsIlNfUmVnaW9uYWxJRCI6IjYiLCJNX0JyYW5jaE5hbWUiOiIiLCJNX0JyYW5jaENvZGUiOiIiLCJNX0JyYW5jaElEIjoiMCIsImxvZ2luTGV2ZWwiOiJyZWdpb25hbCIsIk1fQnJhbmNoQ29tcGFueUlEIjoiMSIsIk1fQnJhbmNoQ29tcGFueU5hbWUiOiJQVCBQUkFNSVRBIiwiaXAiOiIxMzkuMTk1LjEyMi4yMzUiLCJhZ2VudCI6Ik1vemlsbGFcLzUuMCAoWDExOyBMaW51eCB4ODZfNjQ7IHJ2OjEzNy4wKSBHZWNrb1wvMjAxMDAxMDEgRmlyZWZveFwvMTM3LjAiLCJ2ZXJzaW9uIjoidjIiLCJsYXN0LWxvZ2luIjoiMjAyNS0wNi0wNCAxMzoyMDowNSIsIk1fU2F0ZWxsaXRlSUQiOjB9.hm6JtstjaQOzb7oDSXQ-oMWuX_jFQZH-HDr3r3OzPac"
@host = accone.aplikasi.web.id/one-api
###
// create inventaris coa mapping
POST https://{{host}}/map/InventarisCoaMapping/createInvCoaMapping/
Content-Type: application/json
{
"token": {{token}},
"M_InventarisGolID": 1,
"CoaInventarisID": 101,
"CoaHutangID": 102,
"CoaPembelianID": 103,
"CoaBebanPenyusutanID": 104,
"CoaAkumulasiPenyusutanID": 105,
"CoaLabaPelepasanID": 106,
"CoaRugiPelepasanID": 107
}
###
// get inventaris coa mapping by ID
POST https://{{host}}/map/InventarisCoaMapping/getInvCoaMapping/
Content-Type: application/json
{
"token": {{token}},
"M_InventarisCoaMappingID": 1
}
###
// edit inventaris coa mapping
POST https://{{host}}/map/InventarisCoaMapping/editInvCoaMapping/
Content-Type: application/json
{
"token": {{token}},
"M_InventarisCoaMappingID": 1,
"M_InventarisGolID": 2,
"CoaInventarisID": 201,
"CoaHutangID": 202,
"CoaPembelianID": 203,
"CoaBebanPenyusutanID": 204,
"CoaAkumulasiPenyusutanID": 205,
"CoaLabaPelepasanID": 206,
"CoaRugiPelepasanID": 207
}
###
// delete inventaris coa mapping
POST https://{{host}}/map/InventarisCoaMapping/deleteInvCoaMapping/
Content-Type: application/json
{
"token": {{token}},
"M_InventarisCoaMappingID": 1
}
###
// create inventaris item coa mapping
POST https://{{host}}/map/InventarisCoaMapping/createInvItemCoaMapping/
Content-Type: application/json
{
"token": {{token}},
"M_ItemID": 10,
"CoaInventarisID": 201,
"CoaHutangID": 202,
"CoaPembelianID": 203,
"CoaBebanPenyusutanID": 204,
"CoaAkumulasiPenyusutanID": 205,
"CoaLabaPelepasanID": 206,
"CoaRugiPelepasanID": 207
}
###
// get inventaris item coa mapping by ID
POST https://{{host}}/map/InventarisCoaMapping/getInvItemCoaMapping/
Content-Type: application/json
{
"token": {{token}},
"M_InventarisItemCoaMappingID": 1
}
###
// edit inventaris item coa mapping
POST https://{{host}}/map/InventarisCoaMapping/editInvItemCoaMapping/
Content-Type: application/json
{
"token": {{token}},
"M_InventarisItemCoaMappingID": 1,
"M_ItemID": 11,
"CoaInventarisID": 301,
"CoaHutangID": 302,
"CoaPembelianID": 303,
"CoaBebanPenyusutanID": 304,
"CoaAkumulasiPenyusutanID": 305,
"CoaLabaPelepasanID": 306,
"CoaRugiPelepasanID": 307
}
###
// delete inventaris item coa mapping
POST https://{{host}}/map/InventarisCoaMapping/deleteInvItemCoaMapping/
Content-Type: application/json
{
"token": {{token}},
"M_InventarisItemCoaMappingID": 1
}

View File

@@ -0,0 +1,361 @@
<?php
class InventarisCoaMapping extends MY_Controller {
var $db;
public function index() {
echo "Inventaris COA Mapping API";
}
public function __construct()
{
parent::__construct();
}
## MUTATIONS ##
public function createInvCoaMapping() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$this->db->trans_begin();
$para = $this->sys_input;
$user = $this->sys_user;
$sql = "INSERT INTO m_inventaris_coa_mapping (
M_InventarisCoaMappingM_InventarisGolID,
M_InventarisCoaMappingCoaInventarisID,
M_InventarisCoaMappingCoaHutangID,
M_InventarisCoaMappingCoaPembelianID,
M_InventarisCoaMappingCoaBebanPenyusutanID,
M_InventarisCoaMappingCoaAkumulasiPenyusutanID,
M_InventarisCoaMappingCoaLabaPelepasanID,
M_InventarisCoaMappingCoaRugiPelepasanID,
M_InventarisCoaMappingCreatedUserID,
M_InventarisCoaMappingCreated,
M_InventarisCoaMappingLastUpdated
) VALUES (?,?,?,?,?,?,?,?,?,NOW(),NOW())";
$query = $this->db->query($sql, [
$para['M_InventarisGolID'],
$para['CoaInventarisID'],
$para['CoaHutangID'],
$para['CoaPembelianID'],
$para['CoaBebanPenyusutanID'],
$para['CoaAkumulasiPenyusutanID'],
$para['CoaLabaPelepasanID'],
$para['CoaRugiPelepasanID'],
$user['M_UserID']
]);
if (!$query) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] insert into table m_inventaris_coa_mapping");
exit;
}
$insertID = $this->db->insert_id();
$this->db->trans_commit();
$this->sys_ok($insertID);
} catch (Exception $exc) {
$msg = $exc->getMessage();
$this->sys_error($msg);
}
}
## QUERY ##
public function getInvCoaMapping() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$para = $this->sys_input;
$sql = "SELECT
M_InventarisCoaMappingID,
M_InventarisCoaMappingM_InventarisGolID,
M_InventarisCoaMappingCoaInventarisID,
M_InventarisCoaMappingCoaHutangID,
M_InventarisCoaMappingCoaPembelianID,
M_InventarisCoaMappingCoaBebanPenyusutanID,
M_InventarisCoaMappingCoaAkumulasiPenyusutanID,
M_InventarisCoaMappingCoaLabaPelepasanID,
M_InventarisCoaMappingCoaRugiPelepasanID,
M_InventarisCoaMappingCreatedUserID,
M_InventarisCoaMappingCreated,
M_InventarisCoaMappingLastUpdated
FROM m_inventaris_coa_mapping
WHERE M_InventarisCoaMappingIsActive = 'Y'
AND M_InventarisCoaMappingID = ?";
$query = $this->db->query($sql, [$para['M_InventarisCoaMappingID']]);
if (!$query) {
$this->sys_error_db("[Error] get data m_inventaris_coa_mapping");
exit;
}
$data = $query->row_array();
$this->sys_ok($data);
} catch (Exception $exc) {
$msg = $exc->getMessage();
$this->sys_error($msg);
}
}
## MUTATIONS ##
public function editInvCoaMapping() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$this->db->trans_begin();
$para = $this->sys_input;
$user = $this->sys_user;
$sql = "UPDATE m_inventaris_coa_mapping SET
M_InventarisCoaMappingM_InventarisGolID = ?,
M_InventarisCoaMappingCoaInventarisID = ?,
M_InventarisCoaMappingCoaHutangID = ?,
M_InventarisCoaMappingCoaPembelianID = ?,
M_InventarisCoaMappingCoaBebanPenyusutanID = ?,
M_InventarisCoaMappingCoaAkumulasiPenyusutanID = ?,
M_InventarisCoaMappingCoaLabaPelepasanID = ?,
M_InventarisCoaMappingCoaRugiPelepasanID = ?,
M_InventarisCoaMappingLastUpdated = NOW()
WHERE M_InventarisCoaMappingIsActive = 'Y'
AND M_InventarisCoaMappingID = ?";
$query = $this->db->query($sql, [
$para['M_InventarisGolID'],
$para['CoaInventarisID'],
$para['CoaHutangID'],
$para['CoaPembelianID'],
$para['CoaBebanPenyusutanID'],
$para['CoaAkumulasiPenyusutanID'],
$para['CoaLabaPelepasanID'],
$para['CoaRugiPelepasanID'],
$para['M_InventarisCoaMappingID']
]);
if (!$query) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] update table m_inventaris_coa_mapping");
exit;
}
$this->db->trans_commit();
$this->sys_ok("[Success] update data inventaris coa mapping");
} catch (Exception $exc) {
$msg = $exc->getMessage();
$this->sys_error($msg);
}
}
public function deleteInvCoaMapping() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$this->db->trans_begin();
$para = $this->sys_input;
$sql = "UPDATE m_inventaris_coa_mapping SET
M_InventarisCoaMappingIsActive = 'N',
M_InventarisCoaMappingLastUpdated = NOW()
WHERE M_InventarisCoaMappingIsActive = 'Y'
AND M_InventarisCoaMappingID = ?";
$query = $this->db->query($sql, [$para['M_InventarisCoaMappingID']]);
if (!$query) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] soft delete data m_inventaris_coa_mapping");
exit;
}
$this->db->trans_commit();
$this->sys_ok("[Success] delete data inventaris coa mapping");
} catch (Exception $exc) {
$msg = $exc->getMessage();
$this->sys_error($msg);
}
}
## MUTATIONS ITEM ##
public function createInvItemCoaMapping() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$this->db->trans_begin();
$para = $this->sys_input;
$user = $this->sys_user;
$sql = "INSERT INTO m_inventaris_item_coa_mapping (
M_InventarisItemCoaMappingM_ItemID,
M_InventarisItemCoaMappingCoaInventarisID,
M_InventarisItemCoaMappingCoaHutangID,
M_InventarisItemCoaMappingCoaPembelianID,
M_InventarisItemCoaMappingCoaBebanPenyusutanID,
M_InventarisItemCoaMappingCoaAkumulasiPenyusutanID,
M_InventarisItemCoaMappingCoaLabaPelepasanID,
M_InventarisItemCoaMappingCoaRugiPelepasanID,
M_InventarisItemCoaMappingCreatedUserID,
M_InventarisItemCoaMappingCreated,
M_InventarisItemCoaMappingLastUpdated
) VALUES (?,?,?,?,?,?,?,?,?,NOW(),NOW())";
$query = $this->db->query($sql, [
$para['M_ItemID'],
$para['CoaInventarisID'],
$para['CoaHutangID'],
$para['CoaPembelianID'],
$para['CoaBebanPenyusutanID'],
$para['CoaAkumulasiPenyusutanID'],
$para['CoaLabaPelepasanID'],
$para['CoaRugiPelepasanID'],
$user['M_UserID']
]);
if (!$query) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] insert into table m_inventaris_item_coa_mapping");
exit;
}
$insertID = $this->db->insert_id();
$this->db->trans_commit();
$this->sys_ok($insertID);
} catch (Exception $exc) {
$msg = $exc->getMessage();
$this->sys_error($msg);
}
}
## QUERY ITEM ##
public function getInvItemCoaMapping() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$para = $this->sys_input;
$sql = "SELECT
M_InventarisItemCoaMappingID,
M_InventarisItemCoaMappingM_ItemID,
M_InventarisItemCoaMappingCoaInventarisID,
M_InventarisItemCoaMappingCoaHutangID,
M_InventarisItemCoaMappingCoaPembelianID,
M_InventarisItemCoaMappingCoaBebanPenyusutanID,
M_InventarisItemCoaMappingCoaAkumulasiPenyusutanID,
M_InventarisItemCoaMappingCoaLabaPelepasanID,
M_InventarisItemCoaMappingCoaRugiPelepasanID,
M_InventarisItemCoaMappingCreatedUserID,
M_InventarisItemCoaMappingCreated,
M_InventarisItemCoaMappingLastUpdated
FROM m_inventaris_item_coa_mapping
WHERE M_InventarisItemCoaMappingIsActive = 'Y'
AND M_InventarisItemCoaMappingID = ?";
$query = $this->db->query($sql, [$para['M_InventarisItemCoaMappingID']]);
if (!$query) {
$this->sys_error_db("[Error] get data m_inventaris_item_coa_mapping");
exit;
}
$data = $query->row_array();
$this->sys_ok($data);
} catch (Exception $exc) {
$msg = $exc->getMessage();
$this->sys_error($msg);
}
}
## MUTATIONS ITEM ##
public function editInvItemCoaMapping() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$this->db->trans_begin();
$para = $this->sys_input;
$user = $this->sys_user;
$sql = "UPDATE m_inventaris_item_coa_mapping SET
M_InventarisItemCoaMappingM_ItemID = ?,
M_InventarisItemCoaMappingCoaInventarisID = ?,
M_InventarisItemCoaMappingCoaHutangID = ?,
M_InventarisItemCoaMappingCoaPembelianID = ?,
M_InventarisItemCoaMappingCoaBebanPenyusutanID = ?,
M_InventarisItemCoaMappingCoaAkumulasiPenyusutanID = ?,
M_InventarisItemCoaMappingCoaLabaPelepasanID = ?,
M_InventarisItemCoaMappingCoaRugiPelepasanID = ?,
M_InventarisItemCoaMappingLastUpdated = NOW()
WHERE M_InventarisItemCoaMappingIsActive = 'Y'
AND M_InventarisItemCoaMappingID = ?";
$query = $this->db->query($sql, [
$para['M_ItemID'],
$para['CoaInventarisID'],
$para['CoaHutangID'],
$para['CoaPembelianID'],
$para['CoaBebanPenyusutanID'],
$para['CoaAkumulasiPenyusutanID'],
$para['CoaLabaPelepasanID'],
$para['CoaRugiPelepasanID'],
$para['M_InventarisItemCoaMappingID']
]);
if (!$query) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] update table m_inventaris_item_coa_mapping");
exit;
}
$this->db->trans_commit();
$this->sys_ok("[Success] update data inventaris item coa mapping");
} catch (Exception $exc) {
$msg = $exc->getMessage();
$this->sys_error($msg);
}
}
public function deleteInvItemCoaMapping() {
try {
if (!$this->isLogin) {
$this->sys_error("invalid token");
exit;
}
$this->db->trans_begin();
$para = $this->sys_input;
$sql = "UPDATE m_inventaris_item_coa_mapping SET
M_InventarisItemCoaMappingIsActive = 'N',
M_InventarisItemCoaMappingLastUpdated = NOW()
WHERE M_InventarisItemCoaMappingIsActive = 'Y'
AND M_InventarisItemCoaMappingID = ?";
$query = $this->db->query($sql, [$para['M_InventarisItemCoaMappingID']]);
if (!$query) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] soft delete data m_inventaris_item_coa_mapping");
exit;
}
$this->db->trans_commit();
$this->sys_ok("[Success] delete data inventaris item coa mapping");
} catch (Exception $exc) {
$msg = $exc->getMessage();
$this->sys_error($msg);
}
}
}

View File

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

File diff suppressed because it is too large Load Diff

View File

@@ -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
@@ -2736,6 +2736,47 @@ class ReceiveItemPoInventaris extends MY_Controller
$barcodeID = $this->db->insert_id();
# check if item already in stock #
$sql_cekstock = "SELECT StockID
FROM stock
JOIN warehouse ON WarehouseID = StockWarehouseID
AND WarehouseIsActive = 'Y'
WHERE WarehouseM_BranchID = ?
AND StockItemID = ?
AND StockItemUnitID = ?";
$que_cekstock = $this->db->query($sql_cekstock, [
$user['M_BranchID'],
$item['ReceiveOrderPoItemID'],
$item['ReceiveOrderPoItemUnitID'],
]);
if (!$que_cekstock) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] query cek stock");
exit;
}
$stockID = $que_cekstock->row_array()['StockID'];
# insert stock inventaris #
$sql_stockinventaris = "INSERT INTO stock_inventory (
StockInventoryStockID,
StockInventoryRuanganID,
StockInventoryBarcode,
StockInventoryBranchID,
StockInventoryCreatedUserID
) VALUES (?,?,?,?,?)";
$que_stockinventaris = $this->db->query($sql_stockinventaris, [
$stockID,
$param['ruanganID'],
$noBarcode,
$user['M_BranchID'],
$user['M_UserID']
]);
if (!$que_stockinventaris) {
$this->db->trans_rollback();
$this->sys_error_db("[Error] insert into table stock inventaris");
exit;
}
# insert each inventory handover detail #
$sql_insert_handover_detail = "INSERT INTO asset_handover_detail(
AssetHandoverDetailAssetHandoverID,

54
scripts/deploy-controllers.sh Executable file
View File

@@ -0,0 +1,54 @@
#!/usr/bin/env bash
set -euo pipefail
REMOTE_HOST="accone.aplikasi.web.id"
LOCAL_PATH="application/controllers/"
REMOTE_PATH="/home/one/project/accone/one-api/application/controllers/"
cd "$(dirname "$0")/.."
if ! command -v rsync >/dev/null 2>&1; then
echo "rsync is required but was not found in PATH." >&2
exit 1
fi
if ! command -v ssh >/dev/null 2>&1; then
echo "ssh is required but was not found in PATH." >&2
exit 1
fi
if ! command -v awk >/dev/null 2>&1; then
echo "awk is required but was not found in PATH." >&2
exit 1
fi
usage() {
echo "Usage: $0 <test|sync> [remote_user]" >&2
echo "Examples:" >&2
echo " $0 test" >&2
echo " $0 sync" >&2
echo " $0 test one" >&2
}
COMMAND="${1:-}"
REMOTE_USER="${2:-one}"
REMOTE="${REMOTE_USER}@${REMOTE_HOST}"
case "$COMMAND" in
test)
echo "Checking SSH connection to ${REMOTE}..."
ssh -o ConnectTimeout=10 "$REMOTE" "test -d '$REMOTE_PATH'"
echo
echo "Files/folders that would be uploaded:"
rsync -rzcin --out-format="%i %n%L" "$LOCAL_PATH" "${REMOTE}:${REMOTE_PATH}" \
| awk '$1 ~ /^</ || $1 ~ /^cd/ { print }'
;;
sync)
rsync -rzcv "$LOCAL_PATH" "${REMOTE}:${REMOTE_PATH}"
;;
*)
usage
exit 1
;;
esac