263 lines
10 KiB
PHP
263 lines
10 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 {
|
|
$xuserid = 3;
|
|
$this->db->trans_begin();
|
|
|
|
$data = [
|
|
'BranchCompanyID' => 1,
|
|
'JurnalTypeID' => 1,
|
|
'RegionalID' => 8,
|
|
'jurnalperiodeID' => 4,
|
|
'account' => 5110200001,
|
|
'amount' => 100000000,
|
|
'jurnal' => [
|
|
'nomor' => "GJ/2025/02/001",
|
|
'cabang' => "",
|
|
'tanggal' => "01-01-2025",
|
|
'title' => "Gaji Regional bulan Januari",
|
|
'deskripsi' => ""
|
|
],
|
|
'transaksi' => [
|
|
'kode' =>
|
|
[
|
|
'kode' => "BA",
|
|
'data' => [
|
|
[
|
|
'coaid' => "882",
|
|
'akun' => "5110200001",
|
|
'deskripsi' => "B. GAJI TEHNIS - REGIONAL",
|
|
'debit' => 50000000.00,
|
|
'kredit' => 0.00
|
|
],
|
|
[
|
|
'coaid' => "29",
|
|
'akun' => "1110211021",
|
|
'deskripsi' => "BCA PT PRAMITTA (5060)",
|
|
'debit' => 0.00,
|
|
'kredit' => 50000000.00,
|
|
]
|
|
],
|
|
],
|
|
[
|
|
'kode' => "BB",
|
|
'data' => [
|
|
[
|
|
'coaid' => "882",
|
|
'akun' => "5110200001",
|
|
'deskripsi' => "B. GAJI TEHNIS - REGIONAL",
|
|
'debit' => 25000000.00,
|
|
'kredit' => 0.00
|
|
],
|
|
[
|
|
'coaid' => "40",
|
|
'akun' => "1110211021",
|
|
'deskripsi' => "BCA PT PRAMITTA (5060)",
|
|
'debit' => 0.00,
|
|
'kredit' => 50000000.00
|
|
],
|
|
],
|
|
],
|
|
[
|
|
'kode' => "BC",
|
|
'data' => [
|
|
[
|
|
'coaid' => "882",
|
|
'akun' => "5110200001",
|
|
'deskripsi' => "B. GAJI TEHNIS - REGIONAL",
|
|
'debit' => 25000000.00,
|
|
'kredit' => 0.00
|
|
],
|
|
[
|
|
'coaid' => "79",
|
|
'akun' => "1110211071",
|
|
'deskripsi' => "BCA PT PRAMITA (2121)",
|
|
'debit' => 0.00,
|
|
'kredit' => 25000000.00
|
|
]
|
|
],
|
|
]
|
|
]
|
|
];
|
|
|
|
$jurnalBranchCompanyID = $data['BranchCompanyID'];
|
|
$jurnalJurnalTypeID = $data['JurnalTypeID'];
|
|
$jurnalRegionalID = $data['RegionalID'];
|
|
// $jurnalBranchCode = $prm['BranchCode'];
|
|
$tanggalFormatted = date_format(date_create_from_format('d-m-Y', $data['jurnal']['tanggal']), 'Y-m-d');
|
|
$jurnalDate = $tanggalFormatted;
|
|
$year = date('Y', strtotime($jurnalDate));
|
|
$month = date('m', strtotime($jurnalDate));
|
|
// $jurnalPeriodeID = $data['jurnalperiodeID'];
|
|
// $jurnalNo = $prm['jurnalNo'];
|
|
$jurnalTitle = $data['jurnal']['title'];
|
|
$jurnalDescription = $data['jurnal']['deskripsi'];
|
|
$jurnalAddOnValue = $data['account'];
|
|
$jurnalAmount = $data['amount'];
|
|
// $jurnalPercentID = $prm['branch_percent_detail_ID'];
|
|
|
|
$transaksi = $data['transaksi']['kode'];
|
|
|
|
$sqlPeriodeID = "SELECT periodeID FROM acc_one.periode WHERE periodeYear = ? AND periodeMonth = ? AND periodeIsActive = 'Y'
|
|
";
|
|
|
|
$query = $this->db_onedev->query($sqlPeriodeID, [
|
|
(int)$year,
|
|
(int)$month
|
|
]);
|
|
|
|
if (!$query) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("Periode search", $this->db_onedev);
|
|
exit;
|
|
}
|
|
// Ambil periodeID dari hasil query
|
|
$result = $query->row();
|
|
echo $result;
|
|
if ($result) {
|
|
$jurnalPeriodeID = $result->periodeID;
|
|
} else {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("PeriodeID search tidak ditemukan 2", $this->db_onedev);
|
|
exit;
|
|
}
|
|
|
|
echo $jurnalPeriodeID;
|
|
exit;
|
|
|
|
foreach ($transaksi as $trx) {
|
|
$branchCode = $trx['kode'];
|
|
$trxdatas = $trx['data'];
|
|
|
|
$jurnalNomor = $data['jurnal']['nomor'];
|
|
$jurnalNo = $jurnalNomor . '/' . $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]);
|
|
|
|
foreach ($trxdatas as $trxdata) {
|
|
|
|
$jurnalCOAID = $trxdata['coaid'];
|
|
$jurnalCOADesc = $trxdata['deskripsi'];
|
|
$new_jurnal_debit_amount = $trxdata['debit'];
|
|
$new_jurnal_credit_amount = $trxdata['kreit'];
|
|
|
|
|
|
//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_debit_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_credit_amount, $xuserid]);
|
|
if (!$query) {
|
|
$this->db->trans_rollback();
|
|
$this->sys_error_db("jurnaltx_credit insert", $this->db_onedev);
|
|
exit;
|
|
}
|
|
}
|
|
}
|
|
$this->db->trans_commit();
|
|
$this->sys_ok("Berhasil");
|
|
|
|
} catch (Exception $exc) {
|
|
$message = $exc->getMessage();
|
|
$this->sys_error($message);
|
|
}
|
|
}
|
|
} |