update / proses add akun pusat di media jurnal & move barcode to serah terima
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user