| Server IP : 210.245.233.93 / Your IP : 216.73.216.226 Web Server : Apache/2.2.15 (CentOS) System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 User : apache ( 48) PHP Version : 5.3.3 Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/hkosl.com/innoutstorage/webadmin/ |
Upload File : |
<?php
require_once("check_login.php");
$message = "";
if (empty($_POST["customer_id"])) {
$message .= "請選擇客戶。\\n\\n";
}
if (empty($_POST["paymethod"])) {
$message .= "請選擇付款方式。\\n\\n";
} else {
if ($_POST["paymethod"] == "CHEQUE") {
if (empty($_POST["bank_name"])) {
$message .= "請輸入銀行名稱 。\\n\\n";
}
if (empty($_POST["cheque_num"])) {
$message .= "請輸入支票號碼 。\\n\\n";
}
}
if ($_POST["paymethod"] == "OTHER") {
if (empty($_POST["paymethod_other"])) {
$message .= "請輸入付款方式-其他 。\\n\\n";
}
}
}
if (empty($_POST["amount"])) {
$message .= "請輸入金額。\\n\\n";
} else {
if (!is_numeric($_POST["amount"]) || $_POST["amount"] <= 0) {
$message .= "金額應是正數數字。\\n\\n";
}
}
if (empty($_POST["docdate"])) {
$message .= "請選擇付款日期。\\n\\n";
}
$total_payment_amount = 0;
if (empty($_POST["payable_id"])) {
$message .= "請最少選擇一個應付款項。\\n\\n";
} else {
foreach ($_POST["payable_id"] as $key => $payable_id) {
if (!is_numeric($_POST["paid_amount"][$key]) || (float)$_POST["paid_amount"][$key] < 0) {
$message .= "未付金額應輸入大於或等於零的數字。\\n\\n";
}
/*var_dump($payable_id);
var_dump( $_POST["ori_balance"][$key]);
var_dump( $_POST["balance"][$key]);*/
//$total_payment_amount += $_POST["ori_balance"][$key]-$_POST["balance"][$key];
$total_payment_amount += $_POST["paid_amount"][$key];
}
}
/*var_dump($_POST["amount"]);
var_dump($total_payment_amount);*/
/*if(!empty($_POST["amount"]) && $total_payment_amount != (float)$_POST["amount"]){
$message .= "付款金額應與己選擇未付金額的總和應相同。\\n\\n";
}*/
if(!empty($_POST["amount"]) && $total_payment_amount != (float)$_POST["amount"]){
$message .= "付款金額應與己選擇未付金額的總和應相同。\\n\\n";
}
if (!empty($message)) {
echo "<script>alert('" . $message . "'); history.back();</script>";
//echo "<script>alert('" . $message . "'); </script>";
exit;
}
$bank_name = "";
$cheque_num = "";
$paymethod_other = "";
if ($_POST["paymethod"] == "CHEQUE") {
$bank_name = $_POST["bank_name"];
$cheque_num = $_POST["cheque_num"];
}
if ($_POST["paymethod"] == "OTHER") {
$paymethod_other = $_POST["paymethod_other"];
}
if ($_POST["paymethod"] == "BANKIN") {
$paymethod_other = $_POST["paymethod_other2"];
}
//insert payment
$has_deposit = false;
$has_invoice = false;
foreach($_POST["payable_id"] as $key => $payable_id){
if($_POST["payable_type"][$key] == "DEPOSIT"){
$has_deposit = true;
}
if($_POST["payable_type"][$key] == "INVOICE"){
$has_invoice = true;
}
}
if($has_deposit && $has_invoice){
$payfor = "ALL";
}else if($has_deposit){
$payfor = "DEPOSIT";
}else if($has_invoice){
$payfor = "INVOICE";
}
$sql = "select max(id) as max_id from payment";
$new_payment_code_num = bind_pdo($sql, NULL, "selectone");
$payment_code = "P" . date("y") . str_pad($new_payment_code_num["max_id"] + 1, 4, "0", STR_PAD_LEFT);
$data = array(
"customer_id" => $_POST["customer_id"],
"paymethod" => $_POST["paymethod"],
"bank_name" => $bank_name,
"cheque_num" => $cheque_num,
"paymethod_other" => $paymethod_other,
"code" => $payment_code,
"amount" => $_POST["amount"],
"status" => "PAID",
"docdate" => $_POST["docdate"],
"remark" => $_POST["remark"],
"createdate" => $nowdate,
"createby" => $_SESSION["cmsloginid"],
"lastupdate" => $nowdate,
"lastupby" => $_SESSION["cmsloginid"],
"payfor" => $payfor,
);
$result = insert_record("payment", $data);
$payment_id = $dbh->lastInsertId();
//insert payment dtl, update invoice or deposit balance
foreach($_POST["payable_id"] as $key => $payable_id){
//insert payment dtl
//$payment_amount = $_POST["ori_balance"][$key]-$_POST["balance"][$key];
$payment_amount = $_POST["paid_amount"][$key];
$data = array(
"payment_id" => $payment_id,
"payable_type" => $_POST["payable_type"][$key],
"payable_id" => $_POST["payable_id"][$key],
"amount" => $payment_amount,
"status" => "PAID",
"docdate" => $_POST["docdate"],
"createdate" => $nowdate,
"createby" => $_SESSION["cmsloginid"],
"lastupdate" => $nowdate,
"lastupby" => $_SESSION["cmsloginid"],
);
$result = insert_record("payment_dtl", $data);
//update invoice or deposit balance
if($_POST["payable_type"][$key] == "DEPOSIT"){
$table_name = "deposit";
$result2 = get_deposit($payable_id);
$status = $result2["deposit_status"];
if($result2["deposit_balance"] - $payment_amount == 0){
$status = "PAID";
}
}
if($_POST["payable_type"][$key] == "INVOICE"){
$table_name = "invoice";
$result2 = get_invoice($payable_id);
$status = $result2["invoice_status"];
if($result2["invoice_balance"] - $payment_amount == 0){
$status = "SETTLED";
}
}
if( ($table_name == "deposit") || ($table_name == "invoice") ){
$sql = "update ".$table_name." set balance=balance-?, status=?, lastupby=?, lastupdate=? where id=?";
$parameters = array($payment_amount, $status, $_SESSION["cmsloginid"], $nowdate, $payable_id);
bind_pdo($sql, $parameters);
}
}
$dbh = null;
header("Location: payment_index.php?type=".$_POST["type"]."&msg=新增成功");