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; } }