190 lines
4.8 KiB
PHP
190 lines
4.8 KiB
PHP
<?php
|
|
|
|
class Realpayment extends MY_Controller
|
|
{
|
|
var $db_smartone;
|
|
public function index()
|
|
{
|
|
echo "API";
|
|
}
|
|
|
|
public function __construct()
|
|
{
|
|
parent::__construct();
|
|
$this->db_onedev = $this->load->database("onedev", true);
|
|
}
|
|
|
|
function paymanual()
|
|
{
|
|
//# cek token valid
|
|
if (! $this->isLogin) {
|
|
$this->sys_error("Invalid Token");
|
|
exit;
|
|
}
|
|
|
|
//# ambil parameter input
|
|
$xuserid = $this->sys_user['M_UserID'];
|
|
$prm = $this->sys_input;
|
|
$orderid = $prm['orderid'];
|
|
$amount = $prm['amount'];
|
|
$paymenttype = $prm['paymenttype'];
|
|
if($prm['paymenttype'] == 1 || $prm['paymenttype'] == 5){
|
|
$card = 0;
|
|
$edc = 0;
|
|
$account = 0;
|
|
}elseif($prm['paymenttype'] == 4){
|
|
$card = 0;
|
|
$edc = 0;
|
|
$account = $prm['account'];
|
|
}else{
|
|
$card = $prm['card'];
|
|
$edc = $prm['edc'];
|
|
$account = 0;
|
|
}
|
|
$voucher = $prm['voucher'];
|
|
$bills = $prm['bills'];
|
|
//$xnumber = $this->db_onedev->query("SELECT `fn_numbering`('PAY') as numberx")->row()->numberx;
|
|
$sql = "INSERT INTO f_bill_payment
|
|
(F_BillPaymentF_BillID,
|
|
F_BillPaymentDate,
|
|
F_BillPaymentAmount,
|
|
F_BillPaymentM_PaymentTypeID,
|
|
F_BillPaymentEDCNat_BankID,
|
|
F_BillPaymentCardNat_BankID,
|
|
F_BillPaymentM_BankAccountID,
|
|
F_BillPaymentVoucherNumber,
|
|
F_BillPaymentCreated,
|
|
F_BillPaymentUserID)
|
|
VALUES (?,
|
|
CURDATE(),
|
|
?,
|
|
?,
|
|
?,
|
|
?,
|
|
?,
|
|
?,
|
|
NOW(),
|
|
?)";
|
|
$query = $this->db_onedev->query($sql,
|
|
array(
|
|
$orderid,
|
|
$amount,
|
|
$paymenttype,
|
|
$edc,
|
|
$card,
|
|
$account,
|
|
$voucher,
|
|
$xuserid
|
|
)
|
|
);
|
|
$headerid = $this->db_onedev->insert_id();
|
|
if (!$query) {
|
|
$this->sys_error_db("f_bill_payment insert");
|
|
exit;
|
|
} else{
|
|
$sqlbill = "UPDATE f_bill SET
|
|
F_BillUnpaid = F_BillUnpaid - $amount,
|
|
F_BillIsLunas = IF(F_BillUnpaid = 0,'Y','N')
|
|
WHERE F_BillID = $orderid";
|
|
$querybill = $this->db_onedev->query($sqlbill);
|
|
|
|
}
|
|
|
|
//echo $headerid;
|
|
|
|
foreach($bills as $k => $v){
|
|
if($v['tagihan_bayar'] > 0){
|
|
$F_BillDetailID = $v['F_BillDetailID'];
|
|
$tagihan_bayar = $v['tagihan_bayar'];
|
|
$F_BillDetailT_OrderHeaderID = $v['F_BillDetailT_OrderHeaderID'];
|
|
$sql = "INSERT INTO f_bill_payment_detail(
|
|
F_BillPaymentDetailF_BillPaymentID,
|
|
F_BillPaymentDetailF_BillID,
|
|
F_BillPaymentDetailF_BillDetailID,
|
|
F_BillPaymentDetailAmount,
|
|
F_BillPaymentDetailUserID,
|
|
F_BillPaymentDetailCreated,
|
|
F_BillPaymentDetailLastUpdated)
|
|
VALUES(
|
|
$headerid,
|
|
$orderid,
|
|
$F_BillDetailID,
|
|
$tagihan_bayar,
|
|
$xuserid,
|
|
now(),
|
|
now())";
|
|
$query = $this->db_onedev->query($sql);
|
|
$billpaymentdetailid = $this->db_onedev->insert_id();
|
|
if (!$query) {
|
|
$this->sys_error_db("f_bill_payment_detail cash insert");
|
|
exit;
|
|
}else{
|
|
$sqlbilldetail = "UPDATE f_bill_detail SET
|
|
F_BillDetailUnpaid = F_BillDetailUnpaid - $tagihan_bayar
|
|
WHERE F_BillDetailID = $F_BillDetailID";
|
|
$querybilldetail = $this->db_onedev->query($sqlbilldetail);
|
|
|
|
$sqlpayment = "INSERT INTO f_payment
|
|
(F_PaymentT_OrderHeaderID,
|
|
F_PaymentDate,
|
|
F_PaymentTotal,
|
|
F_PaymentCreated,
|
|
F_PaymentLastUpdated,
|
|
F_PaymentM_UserID)
|
|
VALUES(
|
|
$F_BillDetailT_OrderHeaderID,
|
|
now(),
|
|
$tagihan_bayar,
|
|
now(),
|
|
now(),
|
|
$xuserid)";
|
|
$querypayment = $this->db_onedev->query($sqlpayment);
|
|
$paymentid = $this->db_onedev->insert_id();
|
|
$sqlpaymentdetail = "INSERT INTO f_paymentdetail
|
|
(F_PaymentDetailF_PaymentID,
|
|
F_PaymentDetailM_PaymentTypeID,
|
|
F_PaymentDetailAmount,
|
|
F_PaymentDetailActual,
|
|
F_PaymentDetailChange,
|
|
F_PaymentDetailEDCNat_BankID,
|
|
F_PaymentDetailCardNat_BankID,
|
|
F_PaymentDetailM_BankAccountID,
|
|
F_PaymentDetailCreated,
|
|
F_PaymentDetailLastUpdated,
|
|
F_PaymentDetailUserID)
|
|
VALUES(
|
|
$paymentid,
|
|
$paymenttype,
|
|
$tagihan_bayar,
|
|
$tagihan_bayar,
|
|
0,
|
|
$edc,
|
|
$card,
|
|
$account,
|
|
now(),
|
|
now(),
|
|
$xuserid)";
|
|
//echo $sqlpaymentdetail;
|
|
$querypaymentdetail = $this->db_onedev->query($sqlpaymentdetail);
|
|
|
|
$sqleditbillpaymentdetail = "UPDATE f_bill_payment_detail SET
|
|
F_BillPaymentDetailF_PaymentID = $paymentid
|
|
WHERE F_BillPaymentDetailID = $billpaymentdetailid";
|
|
$queryeditbillpaymentdetail = $this->db_onedev->query($sqleditbillpaymentdetail);
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
$xdata = $this->db_onedev->query("SELECT F_BillPaymentID as idx, F_BillPaymentNumber as numberx FROM f_bill_payment WHERE F_BillPaymentID = {$headerid}")->row();
|
|
$result = array(
|
|
"total" => count($rows) ,
|
|
"records" => array('data'=>$xdata)
|
|
);
|
|
$this->sys_ok($result);
|
|
exit;
|
|
}
|
|
}
|