feature: po pay downpayment
This commit is contained in:
@@ -70,14 +70,28 @@ class PaymentV2 extends MY_Controller
|
||||
}
|
||||
|
||||
# UPDATE status lunas supplier invoice #
|
||||
$sql_suppinvoice = "UPDATE supplier_invoice
|
||||
SET SupplierInvoiceIsLunas = 'Y'
|
||||
WHERE SupplierInvoiceID = ?";
|
||||
$que_suppinvoice = $this->db->query($sql_suppinvoice, [$param['SupplierInvoiceID']]);
|
||||
if (!$que_suppinvoice) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] update status lunas invoice");
|
||||
exit;
|
||||
if ($param['type'] == 'DP') {
|
||||
$sql_updatedp = "UPDATE supplier_downpayment
|
||||
SET SupplierDownpaymentIsLunas = 'Y'
|
||||
WHERE SupplierDownpaymentID = ?";
|
||||
$que_updatedp = $this->db->query($sql_updatedp, [
|
||||
abs($param['SupplierInvoiceID'])
|
||||
]);
|
||||
if (!$que_updatedp) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] update status lunas downpayment");
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
$sql_suppinvoice = "UPDATE supplier_invoice
|
||||
SET SupplierInvoiceIsLunas = 'Y'
|
||||
WHERE SupplierInvoiceID = ?";
|
||||
$que_suppinvoice = $this->db->query($sql_suppinvoice, [$param['SupplierInvoiceID']]);
|
||||
if (!$que_suppinvoice) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] update status lunas invoice");
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
# GET Latest data supplier payment #
|
||||
@@ -89,16 +103,33 @@ class PaymentV2 extends MY_Controller
|
||||
exit;
|
||||
}
|
||||
$suppayment_header = $que_suppayment->row_array();
|
||||
$suppayment_detail = [];
|
||||
|
||||
$sql_suppaymentdetail = "SELECT * FROM supplier_payment_detail
|
||||
if ($param['type'] == 'DP') {
|
||||
$sql_suppaymentdetail = "SELECT supplier_downpayment.*
|
||||
FROM supplier_payment
|
||||
JOIN supplier_downpayment
|
||||
ON SupplierPaymentSupplierDownpaymentID = SupplierDownpaymentID
|
||||
AND SupplierDownpaymentIsActive = 'Y'
|
||||
WHERE SupplierPaymentID = ?";
|
||||
$que_suppaymentdetail = $this->db->query($sql_suppaymentdetail, [$param['orderid']]);
|
||||
if (!$que_suppaymentdetail) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] get data latest supplier downpayment");
|
||||
exit;
|
||||
}
|
||||
$suppayment_detail = $que_suppaymentdetail->result_array();
|
||||
} else {
|
||||
$sql_suppaymentdetail = "SELECT * FROM supplier_payment_detail
|
||||
WHERE SupplierPaymentDetailSupplierPaymentID = ?";
|
||||
$que_suppaymentdetail = $this->db->query($sql_suppaymentdetail, [$param['orderid']]);
|
||||
if (!$que_suppaymentdetail) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] get data latest supplier payment detail");
|
||||
exit;
|
||||
$que_suppaymentdetail = $this->db->query($sql_suppaymentdetail, [$param['orderid']]);
|
||||
if (!$que_suppaymentdetail) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] get data latest supplier payment detail");
|
||||
exit;
|
||||
}
|
||||
$suppayment_detail = $que_suppaymentdetail->result_array();
|
||||
}
|
||||
$suppayment_detail = $que_suppaymentdetail->result_array();
|
||||
|
||||
$data_log = [
|
||||
"header" => $suppayment_header,
|
||||
@@ -121,38 +152,85 @@ class PaymentV2 extends MY_Controller
|
||||
# INSERT JURNAL #
|
||||
$detail_transac = [];
|
||||
|
||||
# GET data hutang #
|
||||
$sql_datahutang = "SELECT
|
||||
SupplierPaymentNumber AS addonvalue,
|
||||
SupplierPaymentDetailID,
|
||||
jurnalTxCoaID AS coaID,
|
||||
jurnalTxDescription AS coaDescription,
|
||||
SupplierPaymentDetailAmount,
|
||||
SupplierInvoiceDetailItemID
|
||||
FROM supplier_payment
|
||||
JOIN supplier_payment_detail ON SupplierPaymentDetailSupplierPaymentID = SupplierPaymentID
|
||||
JOIN supplier_invoice_detail ON SupplierInvoiceDetailSupplierInvoiceID = SupplierPaymentSupplierInvoiceID
|
||||
AND SupplierInvoiceDetailIsActive = 'Y'
|
||||
JOIN jurnal_tx ON SupplierPaymentDetailSupplierInvoiceDetailID = jurnalTxID
|
||||
WHERE SupplierPaymentID = ?
|
||||
AND SupplierPaymentDetailIsActive = 'Y'";
|
||||
$que_datahutang = $this->db->query($sql_datahutang, [$param['orderid']]);
|
||||
if (!$que_datahutang) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] get data hutang item");
|
||||
exit;
|
||||
}
|
||||
$data_hutang = $que_datahutang->result_array();
|
||||
foreach ($data_hutang as $key => $debt) {
|
||||
$detail_transac[] = [
|
||||
"coaID" => $debt['coaID'],
|
||||
"coaDescription" => $debt['coaDescription'],
|
||||
"debit" => $debt['SupplierPaymentDetailAmount'],
|
||||
"credit" => 0,
|
||||
"addoncode" => "JFA",
|
||||
"addonvalue" => $debt['addonvalue'],
|
||||
"addonitemid" => $debt['SupplierInvoiceDetailItemID']
|
||||
];
|
||||
if ($param['type'] == "DP") {
|
||||
$sql_coaDP = "SELECT
|
||||
coaID,
|
||||
coaDescription,
|
||||
SupplierDownpaymentAmount,
|
||||
M_ItemID,
|
||||
SupplierPaymentNumber,
|
||||
M_ItemID
|
||||
FROM supplier_payment
|
||||
JOIN supplier_downpayment
|
||||
ON SupplierDownpaymentID = SupplierPaymentSupplierDownpaymentID
|
||||
AND SupplierDownpaymentIsActive = 'Y'
|
||||
JOIN purchase_order_detail
|
||||
ON SupplierDownpaymentPurchasOrderID = PurchaseOrderDetailPurchaseOrderID
|
||||
AND PurchaseOrderDetailIsActive = 'Y'
|
||||
JOIN m_item
|
||||
ON M_ItemID = PurchaseOrderDetailItemID
|
||||
AND M_ItemIsActive = 'Y'
|
||||
JOIN fa_class
|
||||
ON Fa_ClassID = M_ItemFa_ClassID
|
||||
AND M_ItemIsActive = 'Y'
|
||||
JOIN coa
|
||||
ON coaID = Fa_ClassDownPaymentCoaID
|
||||
AND coaIsActive = 'Y'
|
||||
WHERE SupplierPaymentID = ?";
|
||||
$que_coaDP = $this->db->query($sql_coaDP, [
|
||||
$param['orderid']
|
||||
]);
|
||||
if (!$que_coaDP) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] get data hutang item");
|
||||
exit;
|
||||
}
|
||||
$data_dp = $que_coaDP->result_array();
|
||||
foreach ($data_dp as $key => $dp) {
|
||||
$detail_transac[] = [
|
||||
"coaID" => $dp['coaID'],
|
||||
"coaDescription" => $dp['coaDescription'],
|
||||
"debit" => $dp['SupplierDownpaymentAmount'],
|
||||
"credit" => 0,
|
||||
"addoncode" => "DP-JFA",
|
||||
"addonvalue" => $dp['SupplierPaymentNumber'],
|
||||
"addonitemid" => $dp['M_ItemID']
|
||||
];
|
||||
}
|
||||
} else {
|
||||
# GET data hutang #
|
||||
$sql_datahutang = "SELECT
|
||||
SupplierPaymentNumber AS addonvalue,
|
||||
SupplierPaymentDetailID,
|
||||
jurnalTxCoaID AS coaID,
|
||||
jurnalTxDescription AS coaDescription,
|
||||
SupplierPaymentDetailAmount,
|
||||
SupplierInvoiceDetailItemID
|
||||
FROM supplier_payment
|
||||
JOIN supplier_payment_detail ON SupplierPaymentDetailSupplierPaymentID = SupplierPaymentID
|
||||
JOIN supplier_invoice_detail ON SupplierInvoiceDetailSupplierInvoiceID = SupplierPaymentSupplierInvoiceID
|
||||
AND SupplierInvoiceDetailIsActive = 'Y'
|
||||
JOIN jurnal_tx ON SupplierPaymentDetailSupplierInvoiceDetailID = jurnalTxID
|
||||
WHERE SupplierPaymentID = ?
|
||||
AND SupplierPaymentDetailIsActive = 'Y'";
|
||||
$que_datahutang = $this->db->query($sql_datahutang, [$param['orderid']]);
|
||||
if (!$que_datahutang) {
|
||||
$this->db->trans_rollback();
|
||||
$this->sys_error_db("[Error] get data hutang item");
|
||||
exit;
|
||||
}
|
||||
$data_hutang = $que_datahutang->result_array();
|
||||
foreach ($data_hutang as $key => $debt) {
|
||||
$detail_transac[] = [
|
||||
"coaID" => $debt['coaID'],
|
||||
"coaDescription" => $debt['coaDescription'],
|
||||
"debit" => $debt['SupplierPaymentDetailAmount'],
|
||||
"credit" => 0,
|
||||
"addoncode" => "JFA",
|
||||
"addonvalue" => $debt['addonvalue'],
|
||||
"addonitemid" => $debt['SupplierInvoiceDetailItemID']
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
# GET data bayar #
|
||||
|
||||
Reference in New Issue
Block a user