1237 lines
46 KiB
PHP
1237 lines
46 KiB
PHP
<?php
|
|
|
|
class Jurnalbiaya extends MY_Controller
|
|
{
|
|
var $db;
|
|
public function index()
|
|
{
|
|
echo "JURNAL BIAYA API";
|
|
// $cek = $this->db->query("select database() as current_db")->result();
|
|
// print_r($cek);
|
|
}
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
}
|
|
function getuser()
|
|
{
|
|
echo json_encode($this->sys_user);
|
|
}
|
|
function saveJurnalBiaya()
|
|
{
|
|
$this->db->trans_begin();
|
|
// $this->db->trans_rollback();
|
|
// $this->db->trans_commit();
|
|
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$detail = $prm['detail'];
|
|
$jurnalRegional = $prm['jurnalRegional'];
|
|
$costs = $prm['costs'];
|
|
$user = $this->sys_user;
|
|
$userid = $user["M_UserID"];
|
|
|
|
|
|
|
|
|
|
$kreditTotal = 0;
|
|
foreach ($detail as $i => $value) {
|
|
if ($value['type'] == 'D') {
|
|
$kredit = 0;
|
|
$debet = doubleval($value['debet']);
|
|
foreach ($detail as $j => $dtl) {
|
|
if ($dtl['type'] == 'K' && $value['branchID'] == $dtl['branchID']) {
|
|
$kredit = $kredit + doubleval($dtl['kredit']);
|
|
}
|
|
}
|
|
if ($debet != $kredit) {
|
|
$this->sys_error("Jumlah debet dan kredit tidak balance di cabang " . $value['branchName'] . "Debet " . strval($debet) . " ,Kredit " . strval($kredit));
|
|
exit;
|
|
}
|
|
} else if ($value['type'] == 'K') {
|
|
$kreditTotal = $kreditTotal + doubleval($value['kredit']);
|
|
}
|
|
# code...
|
|
}
|
|
if (doubleval($costs) != $kreditTotal) {
|
|
$this->sys_error("Jumlah debet dan kredit secara total tidak balance" . "Total Biaya Per PT " . strval($costs) . " ,Kredit " . strval($kreditTotal));
|
|
exit;
|
|
}
|
|
|
|
$sql = "INSERT INTO jurnal_biaya_header
|
|
(JurnalBiayaHeaderCreatedUserID,
|
|
JurnalBiayaHeaderBranchCostPercentID
|
|
)
|
|
VALUES(?, ?)";
|
|
$qry = $this->db->query($sql, array($userid, $prm['branchCostPrecenID']));
|
|
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal biaya header");
|
|
exit;
|
|
}
|
|
$insertedJurnalBiayaHeader = $this->db->insert_id();
|
|
// echo ($insertedJurnalBiayaHeader);
|
|
// exit;
|
|
|
|
//insert jurnal regional
|
|
$sql = "SELECT `fn_numbering`('BY') as number";
|
|
$qry = $this->db->query($sql, array());
|
|
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error get number");
|
|
exit;
|
|
}
|
|
$numberingCounter = $qry->row_array()['number'];
|
|
$currentMonth = date('m'); // Mendapatkan bulan saat ini dalam format angka dua digit
|
|
$currentYear = date('Y'); // Mendapatkan tahun saat ini
|
|
|
|
|
|
$numbering = 'BY/' . $currentYear . "/" . $currentMonth . "/" . strval($numberingCounter);
|
|
|
|
$sql = "INSERT INTO jurnal (
|
|
jurnalM_BranchCompanyID,
|
|
JurnalS_RegionalID,
|
|
jurnalM_BranchCode,
|
|
jurnalperiodeID,
|
|
jurnalNo,
|
|
jurnalTitle,
|
|
jurnalDescription,
|
|
jurnalDate,
|
|
jurnalJurnalTypeID,
|
|
jurnalM_UserID)
|
|
VALUES(?,?,?,?,?,?,?,?,?,?)";
|
|
$qry = $this->db->query($sql, array(
|
|
$user['M_BranchCompanyID'],
|
|
$user['S_RegionalID'],
|
|
'',
|
|
$prm['periodeID'],
|
|
$numbering,
|
|
$prm['title'],
|
|
$prm['description'],
|
|
$prm['date'],
|
|
$prm['jurnalTypeID'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal");
|
|
exit;
|
|
}
|
|
$insertedJurnalRegID = $this->db->insert_id();
|
|
$sql = "INSERT INTO jurnal_biaya_detail(
|
|
JurnalBiayaDetailJurnalBiayaHeaderID,
|
|
JurnalBiayaDetailJurnalID,
|
|
JurnalBiayaDetailCreatedUserID,
|
|
JurnalBiayaDetailType
|
|
)VALUES ({$insertedJurnalBiayaHeader},{$insertedJurnalRegID},{$userid}, 'R')";
|
|
$qry = $this->db->query($sql, array());
|
|
if (!$qry) {
|
|
// print_r($this->db->last_query());
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal biaya detail");
|
|
exit;
|
|
}
|
|
|
|
$sql = "INSERT INTO jurnal_addon(
|
|
jurnalAddOnJurnalID,
|
|
jurnalAddOnCode,
|
|
jurnalAddOnValue,
|
|
jurnalAddOnCreated,
|
|
jurnalAddOnCreatedUserID)
|
|
VALUES({$insertedJurnalRegID},'ACCOSREG',{$value['coaNo']},NOW(),{$userid});";
|
|
$qry = $this->db->query($sql, []);
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal biaya addon regional");
|
|
exit;
|
|
}
|
|
$sql = "INSERT INTO jurnal_addon(
|
|
jurnalAddOnJurnalID,
|
|
jurnalAddOnCode,
|
|
jurnalAddOnValue,
|
|
jurnalAddOnCreated,
|
|
jurnalAddOnCreatedUserID)
|
|
VALUES(?,?,?,NOW(),?)
|
|
";
|
|
$qry = $this->db->query($sql, array(
|
|
$insertedJurnalRegID,
|
|
'AMCOSREG',
|
|
$prm['costs'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal biaya addon amcos regional");
|
|
exit;
|
|
}
|
|
|
|
//insert jurnal regional
|
|
foreach ($jurnalRegional as $i => $value) {
|
|
$kredit = 0;
|
|
$debet = doubleval($value['debet']);
|
|
$sql = 'INSERT INTO jurnal_tx(
|
|
jurnalTxJurnalID,
|
|
jurnalTxCoaID,
|
|
jurnalTxDescription,
|
|
jurnalTxDebit,
|
|
jurnalTxCredit,
|
|
jurnalTxM_UserID)
|
|
VALUES(?,?,?,?,?,?)';
|
|
$qry = $this->db->query($sql, array(
|
|
$insertedJurnalRegID,
|
|
$value['coaID'],
|
|
$value['coaName'],
|
|
$value['debet'],
|
|
$value['kredit'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal tx regional");
|
|
exit;
|
|
}
|
|
$insertedJurnalTxRegID = $this->db->insert_id();
|
|
$sql = "INSERT INTO jurnal_addon(
|
|
jurnalAddOnJurnalID,
|
|
jurnalAddOnJurnalTxID,
|
|
jurnalAddOnCode,
|
|
jurnalAddOnValue,
|
|
jurnalAddOnCreated,
|
|
jurnalAddOnCreatedUserID)
|
|
VALUES(?,?,?,?,NOW(),?)
|
|
";
|
|
$qry = $this->db->query($sql, array(
|
|
$insertedJurnalRegID,
|
|
$insertedJurnalTxRegID,
|
|
'BYREGBR',
|
|
$value['branchID'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal biaya detail");
|
|
exit;
|
|
}
|
|
}
|
|
//insert jurnal branch
|
|
foreach ($detail as $i => $value) {
|
|
if ($value['type'] == 'D') {
|
|
$kredit = 0;
|
|
$debet = doubleval($value['debet']);
|
|
$sql = "SELECT
|
|
M_BranchID as branchID,
|
|
M_BranchS_RegionalID as branchRegionalID,
|
|
M_BranchCode as branchCode ,
|
|
M_BranchName as branchName,
|
|
M_BranchCompanyDetailM_BranchCompanyID branchCompanyID
|
|
FROM m_branch
|
|
JOIN m_branch_companydetail
|
|
ON M_BranchCode = M_BranchCompanyDetailM_BranchCode
|
|
WHERE M_BranchID = ?";
|
|
$qry = $this->db->query($sql, array($value['branchID']));
|
|
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error get branch");
|
|
exit;
|
|
}
|
|
$dataBranch = $qry->row_array();
|
|
|
|
$sql = "SELECT `fn_numbering`('BY') as number";
|
|
$qry = $this->db->query($sql, array());
|
|
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error get number");
|
|
exit;
|
|
}
|
|
$numberingCounter = $qry->row_array()['number'];
|
|
$currentMonth = date('m'); // Mendapatkan bulan saat ini dalam format string
|
|
$currentYear = date('Y'); // Mendapatkan tahun saat ini
|
|
|
|
|
|
$numbering = 'BY/' . $currentYear . "/" . $currentMonth . "/" . strval($numberingCounter) . "/" . $dataBranch['branchCode'];
|
|
|
|
$sql = "INSERT INTO jurnal (
|
|
jurnalM_BranchCompanyID,
|
|
JurnalS_RegionalID,
|
|
jurnalM_BranchCode,
|
|
jurnalperiodeID,
|
|
jurnalNo,
|
|
jurnalTitle,
|
|
jurnalDescription,
|
|
jurnalDate,
|
|
jurnalJurnalTypeID,
|
|
jurnalM_UserID)
|
|
VALUES(?,?,?,?,?,?,?,?,?,?)";
|
|
$qry = $this->db->query($sql, array(
|
|
$user['M_BranchCompanyID'],
|
|
$user['S_RegionalID'],
|
|
$dataBranch['branchCode'],
|
|
$prm['periodeID'],
|
|
$numbering,
|
|
$prm['title'],
|
|
$prm['description'],
|
|
$prm['date'],
|
|
$prm['jurnalTypeID'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal");
|
|
exit;
|
|
}
|
|
$insertedJurnalID = $this->db->insert_id();
|
|
|
|
$sql = 'INSERT INTO jurnal_tx(
|
|
jurnalTxJurnalID,
|
|
jurnalTxCoaID,
|
|
jurnalTxDescription,
|
|
jurnalTxDebit,
|
|
jurnalTxCredit,
|
|
jurnalTxM_UserID)
|
|
VALUES(?,?,?,?,?,?)';
|
|
$qry = $this->db->query($sql, array(
|
|
$insertedJurnalID,
|
|
$value['coaID'],
|
|
$value['coaName'],
|
|
$value['debet'],
|
|
$value['kredit'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal tx debet");
|
|
exit;
|
|
}
|
|
$sql = "INSERT INTO jurnal_biaya_detail(
|
|
JurnalBiayaDetailJurnalBiayaHeaderID,
|
|
JurnalBiayaDetailJurnalID,
|
|
JurnalBiayaDetailCreatedUserID,
|
|
JurnalBiayaDetailType
|
|
)VALUES ({$insertedJurnalBiayaHeader},{$insertedJurnalID},{$userid}, 'B')";
|
|
$qry = $this->db->query($sql, array());
|
|
if (!$qry) {
|
|
// print_r($this->db->last_query());
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal biaya detail");
|
|
exit;
|
|
}
|
|
|
|
$sql = "INSERT INTO jurnal_addon(
|
|
jurnalAddOnJurnalID,
|
|
jurnalAddOnCode,
|
|
jurnalAddOnValue,
|
|
jurnalAddOnCreated,
|
|
jurnalAddOnCreatedUserID)
|
|
VALUES(?,?,?,NOW(),?)
|
|
";
|
|
$qry = $this->db->query($sql, array(
|
|
$insertedJurnalID,
|
|
'ACCOSREG',
|
|
$value['coaNo'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
// $this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal biaya detail");
|
|
exit;
|
|
}
|
|
$sql = "INSERT INTO jurnal_addon(
|
|
jurnalAddOnJurnalID,
|
|
jurnalAddOnCode,
|
|
jurnalAddOnValue,
|
|
jurnalAddOnCreated,
|
|
jurnalAddOnCreatedUserID)
|
|
VALUES(?,?,?,NOW(),?)
|
|
";
|
|
$qry = $this->db->query($sql, array(
|
|
$insertedJurnalID,
|
|
'AMCOSREG',
|
|
$prm['costs'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal biaya detail");
|
|
exit;
|
|
}
|
|
|
|
foreach ($detail as $j => $dtl) {
|
|
if ($dtl['type'] == 'K' && $value['branchID'] == $dtl['branchID']) {
|
|
$sql = 'INSERT INTO jurnal_tx(
|
|
jurnalTxJurnalID,
|
|
jurnalTxCoaID,
|
|
jurnalTxDescription,
|
|
jurnalTxDebit,
|
|
jurnalTxCredit,
|
|
jurnalTxM_UserID)
|
|
VALUES(?,?,?,?,?,?)';
|
|
$qry = $this->db->query($sql, array(
|
|
$insertedJurnalID,
|
|
$dtl['coaID'],
|
|
$dtl['coaName'],
|
|
$dtl['debet'],
|
|
$dtl['kredit'],
|
|
$userid
|
|
));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal tx kredit");
|
|
exit;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$this->db->trans_commit();
|
|
$this->sys_ok('OK');
|
|
}
|
|
function getDetail()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$id = $prm['id'];
|
|
|
|
$sql = "SELECT *
|
|
FROM jurnal_biaya_header
|
|
JOIN jurnal_biaya_detail
|
|
ON JurnalBiayaHeaderID = JurnalBiayaDetailJurnalBiayaHeaderID
|
|
AND JurnalBiayaDetailIsActive = 'Y'
|
|
AND
|
|
JurnalBiayaHeaderID IN
|
|
(SELECT JurnalBiayaDetailJurnalBiayaHeaderID FROM jurnal_biaya_detail WHERE JurnalBiayaDetailJurnalID = ?)
|
|
AND JurnalBiayaHeaderIsActive = 'Y'
|
|
JOIN jurnal
|
|
ON JurnalBiayaDetailJurnalID = jurnalID
|
|
AND jurnalIsActive = 'Y'";
|
|
$qry = $this->db->query($sql, array($id));
|
|
if (!$qry) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Error insert jurnal tx kredit");
|
|
exit;
|
|
}
|
|
$jurnalHeader = $qry->result_array();
|
|
$result = array();
|
|
$type = '';
|
|
$dataHeaderBranch = array();
|
|
foreach ($jurnalHeader as $key => $value) {
|
|
if ($value['JurnalBiayaDetailJurnalID'] == $id) {
|
|
$type = $value['JurnalBiayaDetailType'];
|
|
$dataHeaderBranch = $value;
|
|
}
|
|
}
|
|
$sql = "SELECT *
|
|
FROM branch_cost_percent
|
|
WHERE BranchCostPercentID = ?
|
|
";
|
|
$qry = $this->db->query($sql, [$dataHeaderBranch['JurnalBiayaHeaderBranchCostPercentID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get branch_cost_percent", $this->db);
|
|
exit;
|
|
}
|
|
$branchCostPercent = $qry->row_array();
|
|
// "companyID": "1",
|
|
// "regionalID": "1",
|
|
// "jurnalTypeID": "1",
|
|
// "date": "2025-01-15",
|
|
// "periodeID": "4",
|
|
// "title": "JURNAL GAJI REGIONAL 2025 COBA",
|
|
// "coaID": "881",
|
|
// "coaName": "BIAYA GAJI TENAGA TEHNIS - REGIONAL",
|
|
// "coaNo": "51102",
|
|
// "coaKasID": "6",
|
|
// "coaKasName": "BANK",
|
|
// "coaKasNo": "11102",
|
|
// "sallary": "100000000",
|
|
// "description": "",
|
|
// "branchPrecenID": "1",
|
|
$sql = "SELECT * FROM jurnal_type WHERE JurnalTypeIsActive = 'Y' AND JurnalTypeID = ?
|
|
";
|
|
$qry = $this->db->query($sql, [$jurnalHeader[0]['jurnalJurnalTypeID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get jurnal Type");
|
|
exit;
|
|
}
|
|
$jurnalType = $qry->row_array();
|
|
$date = $jurnalHeader[0]['jurnalDate'];
|
|
$title = $jurnalHeader[0]['jurnalTitle'];
|
|
$description = $jurnalHeader[0]['jurnalDescription'];
|
|
$costs = 0;
|
|
$coaBank = (object) [];
|
|
$coaReg = (object) [];
|
|
$coa = (object) [];
|
|
$jurnalRegional = [];
|
|
$jurnalBranch = [];
|
|
|
|
$sql = "SELECT
|
|
CONCAT(periodeYear, ' - ', periodeName) as display,
|
|
periode.*
|
|
FROM periode
|
|
WHERE periodeIsActive = 'Y'
|
|
AND periodeID = ?
|
|
LIMIT 70
|
|
";
|
|
$qry = $this->db->query($sql, [$jurnalHeader[0]['jurnalperiodeID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get coa", $this->db);
|
|
exit;
|
|
}
|
|
$jurnalPeriode = $qry->row_array();
|
|
if ($type == 'R') {
|
|
$dataJurnalRegional = array();
|
|
$arrJurnalBranchID = array();
|
|
foreach ($jurnalHeader as $key => $value) {
|
|
if ($value['JurnalBiayaDetailType'] == 'R') {
|
|
$dataJurnalRegional = $value;
|
|
}
|
|
if ($value['JurnalBiayaDetailType'] == 'B') {
|
|
$arrJurnalBranchID[] = $value['JurnalBiayaDetailJurnalID'];
|
|
}
|
|
}
|
|
|
|
$sql = "SELECT
|
|
jurnalTxID as id,
|
|
IFNULL(M_BranchID, '') as branchID,
|
|
IFNULL(M_BranchName, '') as branchName,
|
|
coaDescription as description,
|
|
jurnalTxDebit as debet,
|
|
jurnalTxCredit as kredit,
|
|
0 as precentage,
|
|
CASE
|
|
WHEN jurnalTxDebit > 0 THEN 'D'
|
|
WHEN jurnalTxCredit > 0 THEN 'K'
|
|
else ''
|
|
END as type,
|
|
'Y' as dataType,
|
|
coaID,
|
|
coaDescription as coaName,
|
|
coaAccountNo as coaNo,
|
|
jurnalID
|
|
FROM jurnal_tx
|
|
JOIN coa
|
|
ON jurnalTxCoaID = coaID
|
|
AND jurnalTxJurnalID = ?
|
|
LEFT JOIN jurnal
|
|
ON JurnalID = jurnalTxJurnalID
|
|
LEFT JOIN jurnal_addon
|
|
ON jurnalAddOnJurnalID = jurnalID
|
|
AND jurnalAddOnJurnalTxID = jurnalTxID
|
|
AND jurnalAddOnCode = 'BYREGBR'
|
|
LEFT JOIN m_branch
|
|
ON jurnalAddOnValue = M_BranchID
|
|
AND M_BranchIsActive = 'Y'
|
|
";
|
|
$qry = $this->db->query($sql, [$dataJurnalRegional['JurnalBiayaDetailJurnalID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get jurnal tx regional");
|
|
exit;
|
|
}
|
|
$jurnalRegional = $qry->result_array();
|
|
|
|
foreach ($jurnalRegional as $key => $value) {
|
|
if (intval($value['kredit']) > 0) {
|
|
$sql = "SELECT
|
|
coaID as id,
|
|
coaAccountNo as number,
|
|
coaDescription as keterangan,
|
|
CONCAT(coaAccountNo, ' - ' ,coaDescription) as display
|
|
FROM coa
|
|
WHERE
|
|
coaIsActive = 'Y'
|
|
-- AND coaIsInput = 'Y'
|
|
AND coaID = ?
|
|
";
|
|
$qry = $this->db->query($sql, [$value['coaID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get coa");
|
|
exit;
|
|
}
|
|
$coaBank = $qry->row_array();
|
|
}
|
|
}
|
|
$sql = "SELECT
|
|
jurnalTxID as id,
|
|
IFNULL(M_BranchID, '') as branchID,
|
|
IFNULL(M_BranchName, '') as branchName,
|
|
coaDescription as description,
|
|
jurnalTxDebit as debet,
|
|
jurnalTxCredit as kredit,
|
|
0 as precentage,
|
|
CASE
|
|
WHEN jurnalTxDebit > 0 THEN 'D'
|
|
WHEN jurnalTxCredit > 0 THEN 'K'
|
|
else ''
|
|
END as type,
|
|
'Y' as dataType,
|
|
coaID,
|
|
coaDescription as coaName,
|
|
coaAccountNo as coaNo,
|
|
jurnalID
|
|
FROM jurnal_tx
|
|
JOIN coa
|
|
ON jurnalTxCoaID = coaID
|
|
AND jurnalTxJurnalID IN ?
|
|
LEFT JOIN jurnal
|
|
ON JurnalID = jurnalTxJurnalID
|
|
LEFT JOIN m_branch
|
|
ON jurnalM_BranchCode = M_BranchCode
|
|
AND M_BranchIsActive = 'Y'
|
|
";
|
|
$qry = $this->db->query($sql, [$arrJurnalBranchID]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get jurnal tx cabang");
|
|
exit;
|
|
}
|
|
$jurnalBranch = $qry->result_array();
|
|
|
|
foreach ($jurnalBranch as $key => $value) {
|
|
$sql = "SELECT
|
|
coaID as id,
|
|
coaAccountNo as number,
|
|
coaDescription as keterangan,
|
|
CONCAT(coaAccountNo, ' - ' ,coaDescription) as display
|
|
FROM coa
|
|
WHERE
|
|
coaIsActive = 'Y'
|
|
-- AND coaIsInput = 'Y'
|
|
AND coaID = ?
|
|
";
|
|
$qry = $this->db->query($sql, [$value['coaID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get coa");
|
|
exit;
|
|
}
|
|
if (intval($value['debet']) > 0) {
|
|
$coa = $qry->row_array();
|
|
} else {
|
|
$coaReg = $qry->row_array();
|
|
}
|
|
}
|
|
|
|
$sql = "SELECT jurnalAddOnJurnalID,
|
|
jurnalAddOnValue
|
|
FROM jurnal_addon
|
|
WHERE jurnalAddOnJurnalID = ?
|
|
AND jurnalAddOnCode = 'AMCOSREG'
|
|
AND jurnalAddOnIsActive = 'Y';";
|
|
$qry = $this->db->query($sql, [$dataJurnalRegional['JurnalBiayaDetailJurnalID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get jurnal tx", $this->db);
|
|
exit;
|
|
}
|
|
$costs = $qry->row_array()['jurnalAddOnValue'];
|
|
} else if ($type == 'B') {
|
|
$jurnalRegional = [];
|
|
$sql = "SELECT
|
|
jurnalTxID as id,
|
|
IFNULL(M_BranchID, '') as branchID,
|
|
IFNULL(M_BranchName, '') as branchName,
|
|
coaDescription as description,
|
|
jurnalTxDebit as debet,
|
|
jurnalTxCredit as kredit,
|
|
0 as precentage,
|
|
CASE
|
|
WHEN jurnalTxDebit > 0 THEN 'D'
|
|
WHEN jurnalTxCredit > 0 THEN 'K'
|
|
else ''
|
|
END as type,
|
|
'Y' as dataType,
|
|
coaID,
|
|
coaDescription as coaName,
|
|
coaAccountNo as coaNo,
|
|
jurnalID
|
|
FROM jurnal_tx
|
|
JOIN coa
|
|
ON jurnalTxCoaID = coaID
|
|
AND jurnalTxJurnalID = ?
|
|
LEFT JOIN jurnal
|
|
ON JurnalID = jurnalTxJurnalID
|
|
LEFT JOIN m_branch
|
|
ON jurnalM_BranchCode = M_BranchCode
|
|
AND M_BranchIsActive = 'Y'
|
|
";
|
|
$qry = $this->db->query($sql, [$dataHeaderBranch['JurnalBiayaDetailJurnalID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get jurnal tx cabang");
|
|
exit;
|
|
}
|
|
$jurnalBranch = $qry->result_array();
|
|
foreach ($jurnalBranch as $key => $value) {
|
|
$sql = "SELECT
|
|
coaID as id,
|
|
coaAccountNo as number,
|
|
coaDescription as keterangan,
|
|
CONCAT(coaAccountNo, ' - ' ,coaDescription) as display
|
|
FROM coa
|
|
WHERE
|
|
coaIsActive = 'Y'
|
|
-- AND coaIsInput = 'Y'
|
|
AND coaID = ?
|
|
";
|
|
$qry = $this->db->query($sql, [$value['coaID']]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get coa");
|
|
exit;
|
|
}
|
|
|
|
if (intval($value['debet']) > 0) {
|
|
$coa = $qry->row_array();
|
|
} else {
|
|
$coaReg = $qry->row_array();
|
|
}
|
|
|
|
// break;
|
|
}
|
|
$coaBank = (object) [];
|
|
}
|
|
$result = array(
|
|
'dataHeader' => $dataHeaderBranch,
|
|
"type" => $type,
|
|
"date" => $date,
|
|
"periode" => $jurnalPeriode,
|
|
"title" => $title,
|
|
"coa" => $coa,
|
|
"coaKas" => $coaBank,
|
|
"coaReg" => $coaReg,
|
|
"costs" => $costs,
|
|
"description" => $description,
|
|
"branchPrecent" => $branchCostPercent,
|
|
"jurnalDetail" => $jurnalBranch,
|
|
"jurnalDetailRegional" => $jurnalRegional,
|
|
);
|
|
$this->sys_ok($result);
|
|
}
|
|
function deleteJurnalBiaya()
|
|
{
|
|
$this->db->trans_begin();
|
|
// $this->db->trans_rollback();
|
|
// $this->db->trans_commit();
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$id = $prm['id'];
|
|
$user = $this->sys_user;
|
|
$userid = $user["M_UserID"];
|
|
|
|
$sql = "SELECT *
|
|
FROM jurnal_biaya_header
|
|
JOIN jurnal_biaya_detail
|
|
ON JurnalBiayaHeaderID = JurnalBiayaDetailJurnalBiayaHeaderID
|
|
AND JurnalBiayaDetailIsActive = 'Y'
|
|
AND
|
|
JurnalBiayaHeaderID IN
|
|
(SELECT JurnalBiayaDetailJurnalBiayaHeaderID FROM jurnal_biaya_detail WHERE JurnalBiayaDetailJurnalID = ?)
|
|
AND JurnalBiayaHeaderIsActive = 'Y'
|
|
JOIN jurnal
|
|
ON JurnalBiayaDetailJurnalID = jurnalID
|
|
AND jurnalIsActive = 'Y'";
|
|
$qry = $this->db->query($sql, array($id));
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error insert jurnal tx kredit");
|
|
$this->db->trans_rollback();
|
|
exit;
|
|
}
|
|
$jurnalHeader = $qry->result_array();
|
|
$result = array();
|
|
$type = '';
|
|
$dataHeaderBranch = array();
|
|
$arrJurnalID = array();
|
|
foreach ($jurnalHeader as $key => $value) {
|
|
if ($value['JurnalBiayaDetailJurnalID'] == $id) {
|
|
$type = $value['JurnalBiayaDetailType'];
|
|
$dataHeaderBranch = $value;
|
|
}
|
|
$arrJurnalID[] = $value['jurnalID'];
|
|
if ($value['jurnalIsPosted'] == 'Y') {
|
|
$this->sys_error('Jurnal yang sudah di post tidak bisa di hapus');
|
|
exit;
|
|
}
|
|
}
|
|
// echo json_encode($jurnalHeader);
|
|
// exit;
|
|
|
|
if ($type == 'B') {
|
|
$this->sys_error('Menghapus data harus melalui jurnal regionalnya');
|
|
exit;
|
|
}
|
|
|
|
$sql = "UPDATE jurnal_biaya_header
|
|
SET JurnalBiayaHeaderIsActive = 'N',
|
|
JurnalBiayaHeaderDeletedUserID = ?
|
|
WHERE
|
|
JurnalBiayaHeaderID = ?";
|
|
$qry = $this->db->query($sql, array($userid, $dataHeaderBranch['JurnalBiayaHeaderID']));
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error delet jurnal biaya header");
|
|
$this->db->trans_rollback();
|
|
exit;
|
|
}
|
|
$sql = "UPDATE jurnal_biaya_detail
|
|
SET JurnalBiayaDetailIsActive = 'N',
|
|
JurnalBiayaDetailDeletedUserID = ?
|
|
WHERE
|
|
JurnalBiayaDetailJurnalBiayaHeaderID = ?";
|
|
$qry = $this->db->query($sql, array($userid, $dataHeaderBranch['JurnalBiayaHeaderID']));
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error delet jurnal biaya detail");
|
|
$this->db->trans_rollback();
|
|
exit;
|
|
}
|
|
$sql = "UPDATE jurnal
|
|
SET jurnalIsActive = 'N',
|
|
jurnalM_UserID = ?
|
|
WHERE
|
|
jurnalID IN ?";
|
|
$qry = $this->db->query($sql, array($userid, $arrJurnalID));
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error delet jurnal biaya");
|
|
$this->db->trans_rollback();
|
|
exit;
|
|
}
|
|
$sql = "UPDATE jurnal_tx
|
|
SET jurnalTxIsActive = 'N',
|
|
jurnalTxM_UserID = ?
|
|
WHERE
|
|
jurnalTxJurnalID IN ?";
|
|
$qry = $this->db->query($sql, array($userid, $arrJurnalID));
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error delet jurnal biaya tx");
|
|
$this->db->trans_rollback();
|
|
exit;
|
|
}
|
|
$sql = "UPDATE jurnal_addon
|
|
SET jurnalAddOnIsActive = 'N',
|
|
jurnalAddOnDeletedUserID = ?
|
|
WHERE
|
|
jurnalAddOnJurnalID IN ?";
|
|
$qry = $this->db->query($sql, array($userid, $arrJurnalID));
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error delet jurnal biaya tx");
|
|
$this->db->trans_rollback();
|
|
exit;
|
|
}
|
|
$this->db->trans_commit();
|
|
$this->sys_ok('Success delete jurnal biaya');
|
|
}
|
|
function searchCoa()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$search = '%' . $prm['search'] . '%';
|
|
|
|
$sql = "SELECT
|
|
coaID as id,
|
|
coaAccountNo as number,
|
|
coaDescription as keterangan,
|
|
CONCAT(coaAccountNo, ' - ' ,coaDescription) as display
|
|
FROM coa
|
|
WHERE
|
|
coaIsActive = 'Y'
|
|
AND coaIsInput = 'Y'
|
|
AND (CONCAT(coaAccountNo, ' - ' ,coaDescription) LIKE ?)
|
|
LIMIT 70
|
|
|
|
";
|
|
$qry = $this->db->query($sql, [$search]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get coa", $this->db);
|
|
exit;
|
|
}
|
|
$data = $qry->result_array();
|
|
$this->sys_ok($data);
|
|
}
|
|
function searchCoaDetail()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$search = '%' . $prm['search'] . '%';
|
|
$regional = $prm['regional'];
|
|
$branch = $prm['branch'];
|
|
$company = $prm['company'];
|
|
$sql = "SELECT
|
|
coaID as id,
|
|
coaAccountNo as number,
|
|
coaDescription as keterangan,
|
|
CONCAT(coaAccountNo, ' - ' ,coaDescription) as display
|
|
FROM coa
|
|
JOIN coa_branch
|
|
ON coaID = CoaBranchCoaID
|
|
AND CoaBranchIsActive = 'Y'
|
|
JOIN m_branch
|
|
ON CoaBranchM_BranchID = M_BranchID
|
|
JOIN m_branch_companydetail
|
|
ON M_BranchCode = M_BranchCompanyDetailM_BranchCode
|
|
WHERE M_BranchS_RegionalID = ?
|
|
AND M_BranchCompanyDetailIsActive = 'Y'
|
|
AND M_BranchCompanyDetailM_BranchCompanyID = ?
|
|
AND M_BranchIsActive = 'Y'
|
|
AND M_BranchID = ?
|
|
AND coaIsInput = 'Y'
|
|
AND coaIsActive = 'Y'
|
|
AND (CONCAT(coaAccountNo, ' - ' ,coaDescription) LIKE ?)
|
|
LIMIT 70
|
|
|
|
";
|
|
$qry = $this->db->query($sql, [$regional, $company, $branch, $search]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get coa", $this->db);
|
|
exit;
|
|
}
|
|
$data = $qry->result_array();
|
|
$this->sys_ok($data);
|
|
}
|
|
function searchBranchPercent()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$search = '%' . $prm['search'] . '%';
|
|
$regional = $prm['regional'];
|
|
$sql = "SELECT *
|
|
FROM branch_cost_percent
|
|
JOIN branch_cost_percent_detail
|
|
ON BranchCostPercentID = BranchCostPercentDetailBranchCostPercentID
|
|
AND BranchCostPercentIsActive = 'Y'
|
|
AND BranchCostPercentDetailIsActive = 'Y'
|
|
AND BranchCostPercentDetailS_RegionalID = ?
|
|
JOIN coa
|
|
ON BranchCostPercentDetailAccountNumber = coaAccountNo
|
|
AND coaIsActive = 'Y'
|
|
";
|
|
$qry = $this->db->query($sql, [$regional]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get branch cost percent", $this->db);
|
|
exit;
|
|
}
|
|
$data = $qry->result_array();
|
|
// echo (json_encode($data));
|
|
|
|
$tmpID = array();
|
|
$rst = array();
|
|
foreach ($data as $key => $value) {
|
|
if (!in_array($value['BranchCostPercentID'], $tmpID)) {
|
|
$tmpID[] = $value['BranchCostPercentID'];
|
|
$rst[] = $value;
|
|
}
|
|
}
|
|
// echo (json_encode($rst));
|
|
$tmpDetail = array();
|
|
foreach ($rst as $i => $value) {
|
|
foreach ($data as $j => $detail) {
|
|
if (
|
|
!in_array($detail['BranchCostPercentDetailID'], $tmpDetail)
|
|
&& $detail['BranchCostPercentDetailBranchCostPercentID'] == $value['BranchCostPercentID']
|
|
) {
|
|
$tmpDetail[] = $detail['BranchCostPercentDetailID'];
|
|
$rst[$i]['detail'][] = $detail;
|
|
# code...
|
|
}
|
|
}
|
|
}
|
|
$this->sys_ok($rst);
|
|
}
|
|
function searchPeriode()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$search = '%' . $prm['search'] . '%';
|
|
$sql = "SELECT
|
|
CONCAT(periodeYear, ' - ', periodeName) as display,
|
|
periode.*
|
|
FROM periode
|
|
WHERE periodeIsActive = 'Y'
|
|
AND periodeIsClosed = 'N'
|
|
AND CONCAT(periodeYear, ' - ', periodeName) LIKE ?
|
|
LIMIT 70
|
|
";
|
|
$qry = $this->db->query($sql, [$search]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get coa", $this->db);
|
|
exit;
|
|
}
|
|
$data = $qry->result_array();
|
|
$this->sys_ok($data);
|
|
}
|
|
function getBranch()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$sql = "SELECT
|
|
M_BranchID as branchID,
|
|
M_BranchS_RegionalID as branchRegionalID,
|
|
M_BranchCode as branchCode ,
|
|
M_BranchName as branchName,
|
|
M_BranchCompanyDetailM_BranchCompanyID branchCompanyID
|
|
FROM m_branch
|
|
JOIN m_branch_companydetail
|
|
ON M_BranchCode = M_BranchCompanyDetailM_BranchCode
|
|
WHERE M_BranchS_RegionalID = ?
|
|
AND M_BranchCompanyDetailIsActive = 'Y'
|
|
AND M_BranchCompanyDetailM_BranchCompanyID = ?
|
|
AND M_BranchIsActive = 'Y'";
|
|
$qry = $this->db->query($sql, array($prm['regional'], $prm['company']));
|
|
|
|
if (!$qry) {
|
|
// $this->db->trans_rollback();
|
|
$this->sys_error_db("Error get branch");
|
|
exit;
|
|
}
|
|
$data = $qry->result_array();
|
|
$this->sys_ok($data);
|
|
}
|
|
function getJurnalType()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$sql = "SELECT * FROM jurnal_type WHERE JurnalTypeIsActive = 'Y'
|
|
";
|
|
$qry = $this->db->query($sql, []);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error truncate", $this->db);
|
|
exit;
|
|
}
|
|
$default = array();
|
|
$data = $qry->result_array();
|
|
foreach ($data as $key => $value) {
|
|
if ($value['JurnalTypeCode'] == 'COSTREG') {
|
|
$default = $value;
|
|
}
|
|
}
|
|
$this->sys_ok([
|
|
"records" => $data,
|
|
"default" => $default
|
|
]);
|
|
}
|
|
function insertTemplate()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$userid = $this->sys_user["M_UserID"];
|
|
$startDate = $prm['startDate'];
|
|
$endDate = $prm['endDate'];
|
|
$tenor = $prm['tenor'];
|
|
$prePaid = $prm['prePaid'];
|
|
$kredit = $prm['kredit'];
|
|
$debet = $prm['debet'];
|
|
$bulanan = $prm['bulanan'];
|
|
$sql = "SELECT fn_numbering('RJT') as number
|
|
";
|
|
$qry = $this->db->query($sql, []);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error get number", $this->db);
|
|
exit;
|
|
}
|
|
$number = $qry->row_array()['number'];
|
|
$sql = "INSERT INTO t_recrusivejurnaltemplate(
|
|
T_RecrusiveJurnalTemplateNumber,
|
|
T_RecrusiveJurnalTemplateStartDate,
|
|
T_RecrusiveJurnalTemplateEndDate,
|
|
T_RecrusiveJurnalTemplateTenor,
|
|
T_RecrusiveJurnalTemplatePrePaid,
|
|
T_RecrusiveJurnalTemplateCreditCoaID,
|
|
T_RecrusiveJurnalTemplateDebetCoaID,
|
|
T_RecrusiveJurnalTemplateMonthly,
|
|
T_RecrusiveJurnalTemplateCreatedUserID,
|
|
T_RecrusiveJurnalTemplateCreated
|
|
)
|
|
VALUES(?,
|
|
?,?,?,?,?,?,?,?,NOW()
|
|
)";
|
|
$qry = $this->db->query($sql, [
|
|
$number,
|
|
$startDate,
|
|
$endDate,
|
|
$tenor,
|
|
$prePaid,
|
|
$kredit,
|
|
$debet,
|
|
$bulanan,
|
|
$userid
|
|
]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error Insert Recrusive Jurnal Template", $this->db);
|
|
exit;
|
|
}
|
|
$this->sys_ok("Success tambah data");
|
|
}
|
|
function updateTemplate()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
|
|
$userid = $this->sys_user["M_UserID"];
|
|
$startDate = $prm['startDate'];
|
|
$id = $prm['id'];
|
|
$endDate = $prm['endDate'];
|
|
$tenor = $prm['tenor'];
|
|
$prePaid = $prm['prePaid'];
|
|
$kredit = $prm['kredit'];
|
|
$debet = $prm['debet'];
|
|
$bulanan = $prm['bulanan'];
|
|
|
|
$sql = "UPDATE t_recrusivejurnaltemplate SET
|
|
T_RecrusiveJurnalTemplateStartDate = ?,
|
|
T_RecrusiveJurnalTemplateEndDate = ?,
|
|
T_RecrusiveJurnalTemplateTenor = ?,
|
|
T_RecrusiveJurnalTemplatePrePaid = ?,
|
|
T_RecrusiveJurnalTemplateCreditCoaID = ?,
|
|
T_RecrusiveJurnalTemplateDebetCoaID = ?,
|
|
T_RecrusiveJurnalTemplateMonthly = ?,
|
|
T_RecrusiveJurnalTemplateLastUpdatedUserID = '{$userid}',
|
|
T_RecrusiveJurnalTemplateLastUpdated = NOW()
|
|
WHERE T_RecrusiveJurnalTemplateID = ?";
|
|
$qry = $this->db->query($sql, [
|
|
$startDate,
|
|
$endDate,
|
|
$tenor,
|
|
$prePaid,
|
|
$kredit,
|
|
$debet,
|
|
$bulanan,
|
|
$id
|
|
]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error Update Recrusive Jurnal Template", $this->db);
|
|
exit;
|
|
}
|
|
$this->sys_ok("Success update data");
|
|
}
|
|
function deleteTemplate()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
|
|
$userid = $this->sys_user["M_UserID"];
|
|
|
|
$id = $prm['id'];
|
|
|
|
$sql = "UPDATE t_recrusivejurnaltemplate SET
|
|
T_RecrusiveJurnalTemplateIsActive = 'N',
|
|
T_RecrusiveJurnalTemplateDeletedUserID = '{$userid}',
|
|
T_RecrusiveJurnalTemplateDeleted = NOW()
|
|
WHERE T_RecrusiveJurnalTemplateID = ?";
|
|
$qry = $this->db->query($sql, [
|
|
$id
|
|
]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error delete Recrusive Jurnal Template", $this->db);
|
|
exit;
|
|
}
|
|
$this->sys_ok("Success delete data");
|
|
}
|
|
function search()
|
|
{
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
$prm = $this->sys_input;
|
|
$userid = $this->sys_user["M_UserID"];
|
|
$search = '%' . $prm['search'] . '%';
|
|
$page = $prm["page"];
|
|
|
|
$ROW_PER_PAGE = 5;
|
|
$start_offset = 0;
|
|
// print_r($prm);
|
|
|
|
if (isset($prm["page"])) {
|
|
if (
|
|
is_numeric($prm["page"]) && $prm["page"] > 0
|
|
) {
|
|
$start_offset = ($page - 1) * $ROW_PER_PAGE;
|
|
}
|
|
}
|
|
$sql = "SELECT
|
|
COUNT(T_RecrusiveJurnalTemplateID) as total
|
|
FROM t_recrusivejurnaltemplate
|
|
JOIN coa c
|
|
ON T_RecrusiveJurnalTemplateCreditCoaID = c.coaID
|
|
JOIN coa d
|
|
ON T_RecrusiveJurnalTemplateDebetCoaID = d.coaID
|
|
WHERE T_RecrusiveJurnalTemplateNumber LIKE ?
|
|
AND T_RecrusiveJurnalTemplateIsActive = 'Y'
|
|
";
|
|
$qry = $this->db->query($sql, [
|
|
$search,
|
|
]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error search", $this->db);
|
|
exit;
|
|
}
|
|
$total = $qry->row_array()['total'];
|
|
$sql = "SELECT
|
|
T_RecrusiveJurnalTemplateID as id,
|
|
c.coaID as creditCoaID,
|
|
CONCAT(c.coaAccountNo, '-' ,c.coaDescription) as creditName,
|
|
d.coaID as debitCoaID,
|
|
CONCAT(d.coaAccountNo, '-' ,d.coaDescription) as debitName,
|
|
T_RecrusiveJurnalTemplateNumber as number,
|
|
T_RecrusiveJurnalTemplatePrePaid as prePaid,
|
|
DATE_FORMAT(T_RecrusiveJurnalTemplateStartDate , '%d-%m-%Y') as startDate,
|
|
T_RecrusiveJurnalTemplateStartDate as startDateVal,
|
|
DATE_FORMAT(T_RecrusiveJurnalTemplateEndDate, '%d-%m-%Y') as endDate,
|
|
T_RecrusiveJurnalTemplateEndDate as endDateVal,
|
|
T_RecrusiveJurnalTemplateTenor as tenor,
|
|
T_RecrusiveJurnalTemplateMonthly as bulanan
|
|
FROM t_recrusivejurnaltemplate
|
|
JOIN coa c
|
|
ON T_RecrusiveJurnalTemplateCreditCoaID = c.coaID
|
|
JOIN coa d
|
|
ON T_RecrusiveJurnalTemplateDebetCoaID = d.coaID
|
|
WHERE T_RecrusiveJurnalTemplateNumber LIKE ?
|
|
AND T_RecrusiveJurnalTemplateIsActive = 'Y'
|
|
LIMIT ? OFFSET ?";
|
|
$qry = $this->db->query($sql, [
|
|
$search,
|
|
$ROW_PER_PAGE,
|
|
$start_offset
|
|
]);
|
|
if (!$qry) {
|
|
$this->sys_error_db("Error search", $this->db);
|
|
exit;
|
|
}
|
|
$rst = array(
|
|
"total" => ceil($total / $ROW_PER_PAGE),
|
|
"records" => $qry->result_array()
|
|
);
|
|
$this->sys_ok($rst);
|
|
}
|
|
}
|