update / proses add akun pusat di media jurnal & move barcode to serah terima

This commit is contained in:
2026-05-13 16:51:39 +07:00
parent 4234c37e75
commit dc4e16329f
16 changed files with 4227 additions and 551 deletions

View File

@@ -139,9 +139,7 @@ class Journalcashv2 extends MY_Controller
LEFT JOIN m_branch ON jurnalM_BranchCode = M_BranchCode AND M_BranchIsActive = 'Y'
WHERE $where_sql
GROUP BY jurnalID
ORDER BY jurnalID DESC
";
ORDER BY jurnalID DESC";
// Ambil total count
$sql_total = "SELECT COUNT(*) AS total FROM ($sql) AS x";
$qry_total = $this->db->query($sql_total, $params);
@@ -165,7 +163,6 @@ class Journalcashv2 extends MY_Controller
// Tambahkan LIMIT OFFSET
$sql_paginated = $sql . " LIMIT ? OFFSET ?";
$params_paginated = array_merge($params, [$number_limit, $number_offset]);
$qry = $this->db->query($sql_paginated, $params_paginated);
if ($qry) {
@@ -276,12 +273,12 @@ class Journalcashv2 extends MY_Controller
$regionalId = $prm["regionalId"] ?? null;
$sql = "SELECT S_RegionalID, S_RegionalName
FROM s_regional
WHERE S_RegionalIsActive = 'Y'
AND S_RegionalID = ?
ORDER BY S_RegionalName ASC";
FROM s_regional
WHERE S_RegionalIsActive = 'Y'
AND (S_RegionalID = ? OR 0 = ?)
ORDER BY S_RegionalID ASC";
$qry = $this->db->query($sql, [$regionalId]);
$qry = $this->db->query($sql, [$regionalId, $regionalId]);
if (!$qry) {
$this->db->trans_rollback();
$this->sys_error_db("select regional", $this->db);
@@ -364,6 +361,7 @@ class Journalcashv2 extends MY_Controller
$this->sys_error($message);
}
}
function getUserApproveLevel()
{
try {

View File

@@ -41,7 +41,9 @@ class Journalgoodreceive extends MY_Controller
periodeMonth,
CONCAT(periodeYear, ' - ',periodeMonth) as yearandmonth,
periodeName,
CONCAT(DATE_FORMAT(periodeStartDate, '%d %M %Y'), ' - ', DATE_FORMAT(periodeEndDate, '%d %M %Y')) as periode
CONCAT(DATE_FORMAT(periodeStartDate, '%d %M %Y'), ' - ', DATE_FORMAT(periodeEndDate, '%d %M %Y')) as periode,
periodeEndDate AS periode_end,
periodeStartDate AS periode_start
FROM periode
WHERE periodeIsActive = 'Y'
AND periodeIsClosed = 'N'
@@ -70,9 +72,9 @@ class Journalgoodreceive extends MY_Controller
$prm = $this->sys_input;
$user = $this->sys_user;
$regionalId = $prm["regionalId"] ?? $user["S_RegionalID"];
$branchCode = $prm["branchCode"] == "" ? $user["M_BranchCode"] : $prm["branchCode"];
$periodeid = $prm["periodeid"] ?? null;
$regionalId = $prm["regionalId"];
$branchCode = $prm["branchCode"];
$periodeid = $prm["periodeid"] ?? 0;
$xdate = $prm["xdate"] ?? null;
$search = $prm["search"] ?? "";
$search = "%" . trim($search) . "%";
@@ -87,17 +89,33 @@ class Journalgoodreceive extends MY_Controller
$params = [$periodeid, $xdate, $search];
// Filter login level
if ($loginLevel == "branch") {
$where_conditions[] = "jurnalM_BranchCode = ?";
$params[] = $branchCode;
} elseif ($loginLevel == "regional") {
$where_conditions[] = "jurnalS_RegionalID = ?";
$params[] = $regionalId;
switch ($loginLevel) {
case 'pusat':
$where_conditions[] = "(jurnalS_RegionalID = ? OR 0 = ?)";
$params[] = $regionalId;
$params[] = $regionalId;
if (!empty($branchCode)) {
if (!empty($branchCode)) {
$where_conditions[] = "jurnalM_BranchCode = ?";
$params[] = $branchCode;
}
break;
case 'regional':
$where_conditions[] = "jurnalS_RegionalID = ?";
$params[] = $regionalId;
if (!empty($branchCode)) {
$where_conditions[] = "jurnalM_BranchCode = ?";
$params[] = $branchCode;
}
break;
case 'branch':
$where_conditions[] = "jurnalM_BranchCode = ?";
$params[] = $branchCode;
}
break;
default:
$this->sys_error_db("user login level not found", $this->db);
exit;
}
// Gabungkan WHERE SQL
@@ -131,16 +149,18 @@ class Journalgoodreceive extends MY_Controller
'' as ErrMsg,
'' as detailtx
FROM jurnal
JOIN m_branch_company ON jurnalM_BranchCompanyID = M_BranchCompanyID AND M_BranchCompanyIsActive = 'Y'
JOIN m_branch_company ON jurnalM_BranchCompanyID = M_BranchCompanyID
AND M_BranchCompanyIsActive = 'Y'
JOIN periode ON jurnalperiodeID = periodeID AND periodeIsActive = 'Y'
JOIN jurnal_type ON jurnalJurnalTypeID = JurnalTypeID AND JurnalTypeIsActive = 'Y' AND JurnalTypeIsAuto = 'Y'
JOIN jurnal_type ON jurnalJurnalTypeID = JurnalTypeID
AND JurnalTypeIsActive = 'Y'
AND JurnalTypeIsAuto = 'Y'
AND JurnalTypeCode = 'AUTOGOODRECEIVE'
JOIN s_regional ON JurnalS_RegionalID = S_RegionalID AND S_RegionalIsActive = 'Y'
LEFT JOIN m_branch ON jurnalM_BranchCode = M_BranchCode AND M_BranchIsActive = 'Y'
WHERE $where_sql
GROUP BY jurnalID
ORDER BY jurnalID DESC
";
ORDER BY jurnalID DESC";
// Ambil total count
$sql_total = "SELECT COUNT(*) AS total FROM ($sql) AS x";
@@ -157,7 +177,6 @@ class Journalgoodreceive extends MY_Controller
$totalCount = $qry_total->row()->total ?? 0;
$totalPage = ceil($totalCount / $number_limit);
} else {
$this->db->trans_rollback();
$this->sys_error_db("select jurnal count error", $this->db);
exit();
}
@@ -171,20 +190,18 @@ class Journalgoodreceive extends MY_Controller
if ($qry) {
$rows = $qry->result_array();
} else {
$this->db->trans_rollback();
$this->sys_error_db("select jurnal error", $this->db);
exit();
}
foreach ($rows as $key => $value) {
$sql_err = "SELECT JurnalErr_ID,
JurnalErr_Msg
FROM jurnal_errors
WHERE JurnalErr_IsActive = 'Y'
AND JurnalErr_JurnalID = ?";
JurnalErr_Msg
FROM jurnal_errors
WHERE JurnalErr_IsActive = 'Y'
AND JurnalErr_JurnalID = ?";
$qry_err = $this->db->query($sql_err, [$value["jurnalID"]]);
if (!$qry_err) {
$this->db->trans_rollback();
$this->sys_error_db("select jurnal msg error", $this->db);
exit();
}
@@ -204,48 +221,43 @@ class Journalgoodreceive extends MY_Controller
}
$sql_detail = "SELECT
jurnalTxID,
jurnalTxJurnalID,
jurnalTxCoaID,
jurnalTxDescription,
jurnalTxDebit,
jurnalTxCredit,
coaID,
coaAccountNo,
coaDescription,
coaSubDescription,
coaAccountType,
coaIsInput,
coaReportSchedule,
coaCurrencyCode,
coaCashFlowCategory,
GROUP_CONCAT(jurnalAddOnCode SEPARATOR ', ') AS jurnalAddOnCode,
GROUP_CONCAT(jurnalAddOnValue SEPARATOR ' | ') AS jurnalAddOnValue,
GROUP_CONCAT(M_ItemDesc SEPARATOR ', ') AS jurnalAddOnItem
FROM jurnal_tx
JOIN coa ON jurnalTxCoaID = coaID AND coaIsActive = 'Y'
LEFT JOIN jurnal_addon ON jurnalTxID = jurnalAddOnJurnalTxID AND jurnalAddOnIsActive = 'Y'
-- AND (jurnalAddOnCode = 'RONUMB')
LEFT JOIN m_item ON M_ItemID = jurnalAddOnM_ItemID
WHERE jurnalTxIsActive = 'Y'
AND jurnalTxJurnalID = ?
GROUP BY jurnalTxID
ORDER BY
CASE
WHEN jurnalTxDebit > 0 THEN 0
ELSE 1
END,
jurnalTxID ASC";
jurnalTxID,
jurnalTxJurnalID,
jurnalTxCoaID,
jurnalTxDescription,
jurnalTxDebit,
jurnalTxCredit,
coaID,
coaAccountNo,
coaDescription,
coaSubDescription,
coaAccountType,
coaIsInput,
coaReportSchedule,
coaCurrencyCode,
coaCashFlowCategory,
GROUP_CONCAT(jurnalAddOnCode SEPARATOR ', ') AS jurnalAddOnCode,
GROUP_CONCAT(jurnalAddOnValue SEPARATOR ' | ') AS jurnalAddOnValue,
GROUP_CONCAT(M_ItemDesc SEPARATOR ', ') AS jurnalAddOnItem
FROM jurnal_tx
JOIN coa ON jurnalTxCoaID = coaID AND coaIsActive = 'Y'
LEFT JOIN jurnal_addon ON jurnalTxID = jurnalAddOnJurnalTxID AND jurnalAddOnIsActive = 'Y'
LEFT JOIN m_item ON M_ItemID = jurnalAddOnM_ItemID
WHERE jurnalTxIsActive = 'Y'
AND jurnalTxJurnalID = ?
GROUP BY jurnalTxID
ORDER BY
CASE
WHEN jurnalTxDebit > 0 THEN 0
ELSE 1
END,
jurnalTxID ASC";
$qry_detail = $this->db->query($sql_detail, [$value["jurnalID"]]);
if (!$qry_detail) {
$this->db->trans_rollback();
$this->sys_error_db("select jurnal tx error", $this->db);
exit();
}
// echo $this->db->last_query();
// exit;
$rows_detail = $qry_detail->result_array();
if (count($rows_detail) > 0) {
$rows[$key]["detailtx"] = $rows_detail;
@@ -276,15 +288,15 @@ class Journalgoodreceive extends MY_Controller
$this->sys_error("Invalid Token");
}
$prm = $this->sys_input;
$regionalId = $prm["regionalId"] ?? null;
$regionalId = $prm["regionalId"] ?? 0;
$sql = "SELECT S_RegionalID, S_RegionalName
FROM s_regional
WHERE S_RegionalIsActive = 'Y'
AND S_RegionalID = ?
ORDER BY S_RegionalName ASC";
FROM s_regional
WHERE S_RegionalIsActive = 'Y'
AND (S_RegionalID = ? OR 0 = ?)
ORDER BY S_RegionalName ASC";
$qry = $this->db->query($sql, [$regionalId]);
$qry = $this->db->query($sql, [$regionalId, $regionalId]);
if (!$qry) {
$this->db->trans_rollback();
$this->sys_error_db("select regional", $this->db);

View File

@@ -48,7 +48,7 @@ class Mditem extends MY_Controller
$number_offset = ($prm['current_page'] - 1) * $number_limit;
}
$sql = "SELECT
$sql = "SELECT
M_ItemID,
M_ItemCode,
M_ItemDesc,
@@ -67,18 +67,18 @@ class Mditem extends MY_Controller
Fa_ClassID,
Fa_ClassName,
Fa_ClassFlagType,
Fa_InventarisGolID,
Fa_InventarisGolName,
M_InventarisGolID,
M_InventarisGolName,
ItemUnitID,
ItemUnitCode,
GROUP_CONCAT(ItemUnitName) as ItemUnitName,
'' as satuan
FROM m_item
LEFT JOIN item_category ON M_ItemItem_CategoryID = itemCategoryID
LEFT JOIN nat_group ON M_ItemNat_GroupID = Nat_GroupID
LEFT JOIN nat_group ON M_ItemNat_GroupID = Nat_GroupID
LEFT JOIN nat_subgroup ON M_ItemNat_SubGroupID = Nat_SubGroupID
LEFT JOIN fa_class ON M_ItemFa_ClassID = Fa_ClassID
LEFT JOIN fa_inventaris_gol ON M_ItemM_InventarisGolID = Fa_InventarisGolID
LEFT JOIN m_inventaris_gol ON M_ItemM_InventarisGolID = M_InventarisGolID
LEFT JOIN itemunitmap ON M_ItemID = ItemUnitMapM_ItemID
AND ItemUnitMapIsActive = 'Y'
LEFT JOIN itemunit ON ItemUnitMapItemUnitID = ItemUnitID
@@ -107,7 +107,7 @@ class Mditem extends MY_Controller
ItemUnitMapIsPurchase,
ItemUnitMapIsReport,
ItemUnitMapIsBase,
CASE
CASE
WHEN ItemUnitMapIsPurchase = 'Y' THEN 'purchase'
WHEN ItemUnitMapIsReport = 'Y' THEN 'report'
WHEN ItemUnitMapIsBase = 'Y' THEN 'base'
@@ -121,7 +121,7 @@ class Mditem extends MY_Controller
JOIN itemunit
ON ItemUnitMapItemUnitID = ItemUnitID
AND ItemUnitIsActive = 'Y'
Where
Where
ItemUnitMapIsActive = 'Y'
AND ItemUnitMapM_ItemID = ?";
$qry = $this->db->query($sql, array($value['M_ItemID']));
@@ -137,10 +137,10 @@ class Mditem extends MY_Controller
SELECT M_ItemID
FROM m_item
LEFT JOIN item_category ON M_ItemItem_CategoryID = itemCategoryID
LEFT JOIN nat_group ON M_ItemNat_GroupID = Nat_GroupID
LEFT JOIN nat_group ON M_ItemNat_GroupID = Nat_GroupID
LEFT JOIN nat_subgroup ON M_ItemNat_SubGroupID = Nat_SubGroupID
LEFT JOIN fa_class ON M_ItemFa_ClassID = Fa_ClassID
LEFT JOIN fa_inventaris_gol ON M_ItemM_InventarisGolID = Fa_InventarisGolID
LEFT JOIN m_inventaris_gol ON M_ItemM_InventarisGolID = M_InventarisGolID
LEFT JOIN itemunitmap ON M_ItemID = ItemUnitMapM_ItemID
AND ItemUnitMapIsActive = 'Y'
LEFT JOIN itemunit ON ItemUnitMapItemUnitID = ItemUnitID
@@ -187,7 +187,7 @@ class Mditem extends MY_Controller
$where .= " AND itemCategoryName LIKE '%$search%'";
}
$sql = "SELECT
$sql = "SELECT
itemCategoryID,
itemCategoryName
FROM item_category
@@ -229,7 +229,7 @@ class Mditem extends MY_Controller
// $where .= " AND Nat_GroupName LIKE '%$search%'";
// }
$sql = "SELECT
$sql = "SELECT
Nat_GroupID,
Nat_GroupName
FROM nat_group
@@ -275,7 +275,7 @@ class Mditem extends MY_Controller
$where .= " AND Nat_GroupName LIKE '%$search%'";
}
$sql = "SELECT
$sql = "SELECT
Nat_GroupID,
Nat_GroupCode,
Nat_GroupName
@@ -315,7 +315,7 @@ class Mditem extends MY_Controller
$search = isset($prm["search"]) ? $prm["search"] : "";
$groupId = $prm["group_id"];
$sql = "SELECT
$sql = "SELECT
Nat_SubGroupID,
Nat_SubGroupNat_GroupID,
Nat_SubGroupCode,
@@ -323,9 +323,9 @@ class Mditem extends MY_Controller
Nat_SubGroupLangName,
Nat_SubGroupIsResult,
Nat_SubGroupReportTitle
FROM nat_subgroup
WHERE Nat_SubGroupIsActive = 'Y'
AND Nat_SubGroupName LIKE '%$search%'
FROM nat_subgroup
WHERE Nat_SubGroupIsActive = 'Y'
AND Nat_SubGroupName LIKE '%$search%'
AND Nat_SubGroupNat_GroupID = $groupId
ORDER BY Nat_SubGroupID DESC";
@@ -362,7 +362,7 @@ class Mditem extends MY_Controller
$search = isset($prm["search"]) ? $prm["search"] : "";
$flag_type = isset($prm["flag_type"]) ? $prm["flag_type"] : "";
$sql = "SELECT
$sql = "SELECT
Fa_ClassID,
Fa_ClassName,
Fa_ClassFlagType,
@@ -379,7 +379,7 @@ class Mditem extends MY_Controller
Fa_ClassAccumLastUpdated,
Fa_ClassIsActive,
Fa_ClassM_UserID
FROM fa_class
FROM fa_class
WHERE Fa_ClassIsActive = 'Y'
AND Fa_ClassFlagType = '{$flag_type}'
AND Fa_ClassName LIKE '%$search%'
@@ -408,7 +408,7 @@ class Mditem extends MY_Controller
}
}
function get_fa_inventaris_gol()
function get_inventaris_gol()
{
try {
if (!$this->isLogin) {
@@ -419,22 +419,21 @@ class Mditem extends MY_Controller
$prm = $this->sys_input;
$search = isset($prm["search"]) ? $prm["search"] : "";
$sql = "SELECT
Fa_InventarisGolID,
Fa_InventarisGolName,
Fa_InventarisGolCreated,
Fa_InventarisGolLastUpdated,
Fa_InventarisGolIsActive,
Fa_InventarisGolUserID
FROM fa_inventaris_gol
WHERE Fa_InventarisGolIsActive = 'Y'
ORDER BY Fa_InventarisGolID DESC";
$sql = "SELECT
M_InventarisGolID,
M_InventarisGolName,
M_InventarisGolCreated,
M_InventarisGolLastUpdated,
M_InventarisGolIsActive,
M_InventarisGolUserID
FROM m_inventaris_gol
WHERE M_InventarisGolIsActive = 'Y'
ORDER BY M_InventarisGolID DESC";
$query = $this->db->query($sql);
if (!$query) {
$this->sys_error_db("fa inventaris gol list", $this->db);
$this->sys_error_db("m inventaris gol list", $this->db);
exit;
}
@@ -463,7 +462,7 @@ class Mditem extends MY_Controller
$prm = $this->sys_input;
$search = isset($prm["search"]) ? $prm["search"] : "";
$sql = "SELECT
$sql = "SELECT
ItemUnitID,
ItemUnitCode,
ItemUnitName,
@@ -471,7 +470,7 @@ class Mditem extends MY_Controller
ItemUnitLastUpdated,
ItemUnitIsActive,
ItemUnitUserID
FROM itemunit
FROM itemunit
WHERE ItemUnitIsActive = 'Y'
AND ItemUnitName LIKE '%$search%'
ORDER BY ItemUnitID DESC";
@@ -561,7 +560,7 @@ class Mditem extends MY_Controller
M_ItemItem_CategoryID,
M_ItemInventoryCode,
M_ItemNat_GroupID,
M_ItemNat_SubGroupID,
M_ItemNat_SubGroupID,
M_ItemFa_ClassID,
M_ItemM_InventarisGolID,
M_ItemIsActive,
@@ -622,7 +621,7 @@ class Mditem extends MY_Controller
$sql = "INSERT INTO itemunitmap(
ItemUnitMapM_ItemID,
ItemUnitMapItemUnitID,
ItemUnitMapItemUnitID,
ItemUnitMapIsPurchase,
ItemUnitMapIsReport,
ItemUnitMapIsBase,
@@ -736,7 +735,7 @@ class Mditem extends MY_Controller
M_ItemItem_CategoryID = ?,
M_ItemInventoryCode = ?,
M_ItemNat_GroupID = ?,
M_ItemNat_SubGroupID = ?,
M_ItemNat_SubGroupID = ?,
M_ItemFa_ClassID = ?,
M_ItemM_InventarisGolID = ?,
M_ItemIsActive = 'Y',
@@ -825,7 +824,7 @@ class Mditem extends MY_Controller
// insert
$sql = "INSERT INTO itemunitmap(
ItemUnitMapM_ItemID,
ItemUnitMapItemUnitID,
ItemUnitMapItemUnitID,
ItemUnitMapIsPurchase,
ItemUnitMapIsReport,
ItemUnitMapIsBase,
@@ -902,7 +901,7 @@ class Mditem extends MY_Controller
$sql_delete = "UPDATE m_item SET
M_ItemIsActive = 'N',
M_ItemLastUpdated = NOW(),
M_ItemM_UserID = ?
M_ItemM_UserID = ?
WHERE M_ItemID = ?";
$query_delete = $this->db->query($sql_delete, [