244 lines
9.9 KiB
PHP
244 lines
9.9 KiB
PHP
<?php
|
|
class Jurnalinject extends MY_Controller
|
|
{
|
|
var $db_onedev;
|
|
public function index()
|
|
{
|
|
echo "USER GROUP API";
|
|
}
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
}
|
|
|
|
function insertjurnal()
|
|
{
|
|
try {
|
|
//# cek token valid
|
|
// if (!$this->isLogin) {
|
|
// $this->sys_error("Invalid Token");
|
|
// exit;
|
|
// }
|
|
$xuserid = 3;
|
|
|
|
$prm = $this->sys_input;
|
|
$jurnalBranchCompanyID = $prm['BranchCompanyID'];
|
|
$jurnalJurnalTypeID = $prm['JurnalTypeID'];
|
|
$jurnalRegionalID = $prm['RegionalID'];
|
|
// $jurnalBranchCode = $prm['BranchCode'];
|
|
$jurnalDate = $prm['jurnalDate'];
|
|
$jurnalPeriodeID = $prm['jurnalperiodeID'];
|
|
$jurnalNo = $prm['jurnalNo'];
|
|
$jurnalTitle = $prm['jurnalTitle'];
|
|
$jurnalAddOnValue = $prm['jurnalAccount'];
|
|
$jurnalAmount = $prm['jurnalAmount'];
|
|
$jurnalDescription = $prm['jurnalDescription'];
|
|
$jurnalPercentID = $prm['branch_percent_detail_ID'];
|
|
$jurnalCOAID = $prm['jurnalCOAID'];
|
|
// $jurnalCOADesc = $prm['jurnalCOADesc'];
|
|
$this->db->trans_begin();
|
|
|
|
// Ambil COA coaDescription
|
|
$sql = "SELECT coaDescription
|
|
FROM acc_one.coa
|
|
WHERE coaID = ?
|
|
AND coaIsActive = 'Y'";
|
|
$query = $this->db_onedev->query($sql, [$jurnalCOAID]);
|
|
|
|
if (!$query || $query->num_rows() == 0) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error("Invalid coaID");
|
|
exit;
|
|
}
|
|
|
|
$jurnalCOADesc = $query->row()->coaDescription;
|
|
|
|
|
|
// Ambil BranchPercentDetailValue berdasarkan BranchPercentDetailID
|
|
$sql = "SELECT BranchPercentDetailValue, BranchPercentDetailM_BranchID
|
|
FROM acc_one.branch_percent_detail
|
|
WHERE BranchPercentDetailBranchPercentID = ?
|
|
AND BranchPercentDetailIsActive = 'Y'";
|
|
$query = $this->db_onedev->query($sql, [$jurnalPercentID]);
|
|
|
|
if (!$query || $query->num_rows() == 0) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error("Invalid BranchPercentDetailID");
|
|
exit;
|
|
}
|
|
|
|
$branchPercentDetails = $query->result();
|
|
|
|
foreach ($branchPercentDetails as $detail) {
|
|
$branchID = $detail->BranchPercentDetailM_BranchID;
|
|
$percentValue = $detail->BranchPercentDetailValue;
|
|
$new_jurnal_amount = $jurnalAmount * ($percentValue / 100);
|
|
|
|
// Cari M_BranchCode berdasarkan BranchID
|
|
$sqlBranch = "SELECT M_BranchCode
|
|
FROM acc_one.m_branch
|
|
WHERE M_BranchID = ?
|
|
AND M_BranchIsActive = 'Y'";
|
|
$queryBranch = $this->db_onedev->query($sqlBranch, [$branchID]);
|
|
|
|
if (!$queryBranch || $queryBranch->num_rows() == 0) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error("Branch not found for BranchID: " . $branchID);
|
|
exit;
|
|
}
|
|
|
|
$branchCode = $queryBranch->row()->M_BranchCode;
|
|
|
|
// Insert ke tabel jurnal
|
|
$sqlJurnal = "INSERT INTO acc_one.jurnal (
|
|
jurnalM_BranchCompanyID,
|
|
JurnalS_RegionalID,
|
|
jurnalM_BranchCode,
|
|
jurnalperiodeID,
|
|
jurnalNo,
|
|
jurnalTitle,
|
|
jurnalDescription,
|
|
jurnalDate,
|
|
jurnalJurnalTypeID
|
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
|
$this->db_onedev->query($sqlJurnal, [
|
|
$jurnalBranchCompanyID,
|
|
$jurnalRegionalID,
|
|
$branchCode,
|
|
$jurnalPeriodeID,
|
|
$jurnalNo,
|
|
$jurnalTitle,
|
|
$jurnalDescription,
|
|
$jurnalDate,
|
|
$jurnalJurnalTypeID
|
|
]);
|
|
|
|
if (!$sqlJurnal) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("jurnal insert", $this->db_onedev);
|
|
exit;
|
|
}
|
|
$last_inserted_jurnal_id = $this->db_onedev->insert_id();
|
|
|
|
//Insert ke Table Addon dengan id jurnaltx id yang 0 untuk ACSALREG
|
|
$sql = "INSERT INTO acc_one.jurnal_addon (
|
|
jurnalAddOnJurnalID,
|
|
jurnalAddOnJurnalTxID,
|
|
jurnalAddOnCode,
|
|
jurnalAddOnValue,
|
|
jurnalAddOnCreatedUserID,
|
|
jurnalAddOnLastUpdatedUserID
|
|
)VALUES (
|
|
?,?,?,?,?,?
|
|
);";
|
|
$query = $this->db_onedev->query($sql, [$last_inserted_jurnal_id, 0, 'ACSALREG', $jurnalAddOnValue, $xuserid, $xuserid]);
|
|
|
|
if (!$query) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("jurnal_addon_account insert", $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
//Insert ke Table Addon dengan id jurnaltx id yang 0 untuk AMSALREG
|
|
$sql = "INSERT INTO acc_one.jurnal_addon (
|
|
jurnalAddOnJurnalID,
|
|
jurnalAddOnJurnalTxID,
|
|
jurnalAddOnCode,
|
|
jurnalAddOnValue,
|
|
jurnalAddOnCreatedUserID,
|
|
jurnalAddOnLastUpdatedUserID
|
|
)VALUES (
|
|
?,?,?,?,?,?
|
|
);";
|
|
$query = $this->db_onedev->query($sql, [$last_inserted_jurnal_id, $jurnalAmount, 'AMSALREG', $jurnalAmount, $xuserid, $xuserid]);
|
|
|
|
if (!$query) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("jurnal_addon_amount insert", $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
//Insert ke Table jurnaltx dengan id jurnal id yang 0 untuk ACSALREG dan AMSALREG
|
|
$sql = "INSERT INTO acc_one.jurnal_tx (
|
|
jurnalTxJurnalID,
|
|
jurnalTxCoaID,
|
|
jurnalTxDescription,
|
|
jurnalTxDebit,
|
|
jurnalTxM_UserID
|
|
)VALUES (
|
|
?,?,?,?,?
|
|
);";
|
|
$query = $this->db_onedev->query($sql, [$last_inserted_jurnal_id, $jurnalCOAID, $jurnalCOADesc, $new_jurnal_amount, $xuserid]);
|
|
|
|
if (!$query) {
|
|
$this->sys_error_db("jurnaltx_debit insert", $this->db_onedev);
|
|
exit;
|
|
}
|
|
// $last_inserted_jurnaltx_debit_id = $this->db_onedev->insert_id();
|
|
|
|
$sql = "INSERT INTO acc_one.jurnal_tx (
|
|
jurnalTxJurnalID,
|
|
jurnalTxCoaID,
|
|
jurnalTxDescription,
|
|
jurnalTxCredit,
|
|
jurnalTxM_UserID
|
|
)VALUES (
|
|
?,?,?,?,?
|
|
);";
|
|
$query = $this->db_onedev->query($sql, [$last_inserted_jurnal_id, $jurnalCOAID, $jurnalCOADesc, $new_jurnal_amount, $xuserid]);
|
|
|
|
if (!$query) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("jurnaltx_credit insert", $this->db_onedev);
|
|
exit;
|
|
}
|
|
// $last_inserted_jurnaltx_credit_id = $this->db_onedev->insert_id();
|
|
|
|
// //Insert ke Table Addon dengan id jurnaltx debit untuk BRCSALREG
|
|
// $sql = "INSERT INTO acc_one.jurnal_addon (
|
|
// jurnalAddOnJurnalID,
|
|
// jurnalAddOnJurnalTxID,
|
|
// jurnalAddOnCode,
|
|
// jurnalAddOnValue,
|
|
// jurnalAddOnCreatedUserID,
|
|
// jurnalAddOnLastUpdatedUserID
|
|
// )VALUES (
|
|
// ?,?,?,?,?,?
|
|
// );";
|
|
// $query = $this->db_onedev->query($sql, [$last_inserted_jurnal_id, $last_inserted_jurnaltx_debit_id, 'BRCSALREG', $new_jurnal_amount, $xuserid, $xuserid]);
|
|
|
|
// if (!$query) {
|
|
// $this->db->trans_rollback();
|
|
// $this->sys_error_db("jurnal_addon_debit insert", $this->db_onedev);
|
|
// exit;
|
|
// }
|
|
|
|
// //Insert ke Table Addon dengan id jurnaltx credit untuk BRCSALREG
|
|
// $sql = "INSERT INTO acc_one.jurnal_addon (
|
|
// jurnalAddOnJurnalID,
|
|
// jurnalAddOnJurnalTxID,
|
|
// jurnalAddOnCode,
|
|
// jurnalAddOnValue,
|
|
// jurnalAddOnCreatedUserID,
|
|
// jurnalAddOnLastUpdatedUserID
|
|
// )VALUES (
|
|
// ?,?,?,?,?,?
|
|
// );";
|
|
// $query = $this->db_onedev->query($sql, [$last_inserted_jurnal_id, $last_inserted_jurnaltx_credit_id, 'BRCSALREG', $new_jurnal_amount, $xuserid, $xuserid]);
|
|
|
|
// if (!$query) {
|
|
// $this->db->trans_rollback();
|
|
// $this->sys_error_db("jurnal_addon_credit insert", $this->db_onedev);
|
|
// exit;
|
|
// }
|
|
}
|
|
$this->db->trans_commit();
|
|
$this->sys_ok("Berhasil");
|
|
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
} |