|
@@ -1894,15 +1894,11 @@ class Payment extends BaseController
|
|
|
"companyNo|公司编号" => "requireWithout:relaComNo|max:255",
|
|
|
]);
|
|
|
if ($valid->check($post) == false) return error_show(1004, $valid->getError());
|
|
|
-// if(empty($post['hpNo'])) return error_show(1004,'回票申请编号集合不能为空');
|
|
|
$companyNo = $post["relaComNo"] ?? $post['companyNo'];
|
|
|
-// if($companyNo =="") return error_show(1004,'业务公司编号不能为空');
|
|
|
$payArr = Db::name("pay_invoice")
|
|
|
- ->alias("a")
|
|
|
- ->leftJoin("pay b", "a.payNo=b.payNo")
|
|
|
- ->where(['a.is_del' => 0, 'b.is_del' => 0])
|
|
|
- ->whereIn('a.hpNo', array_column($post['list'], 'hpNo'))
|
|
|
- ->column("a.id,a.payNo,a.hpNo,a.invoiceType,a.inv_fee as invoice_fee,a.status,b.inv_status,b.inv_fee,b.companyNo,b.ainv_fee,b.winv_fee,a.hpNo", "a.hpNo");
|
|
|
+ ->where(['is_del' => 0])
|
|
|
+ ->whereIn('hpNo', array_column($post['list'], 'hpNo'))
|
|
|
+ ->column("id,payNo,hpNo,invoiceType,inv_fee as invoice_fee,status", "hpNo");
|
|
|
|
|
|
$val_hpNo = Validate::rule([
|
|
|
'hpNo|回票申请编号' => 'require',
|
|
@@ -1918,28 +1914,26 @@ class Payment extends BaseController
|
|
|
try {
|
|
|
$pay_invoice_allow = [];
|
|
|
|
|
|
- $hpNo_item = array_column($post['list'], null, 'hpNo');
|
|
|
-
|
|
|
- $date = date('Y-m-d H:i:s');
|
|
|
-
|
|
|
foreach ($post['list'] as $val) {
|
|
|
|
|
|
- if (!$val_hpNo->check($item)) throw new \Exception($val_hpNo->getError());
|
|
|
+ if (!$val_hpNo->check($val)) throw new \Exception($val_hpNo->getError());
|
|
|
if (!isset($payArr[$val['hpNo']])) throw new \Exception("{$val['hpNo']}记录不存在");
|
|
|
|
|
|
$value = $payArr[$val['hpNo']];
|
|
|
-
|
|
|
- if ($value['companyNo'] == '') throw new Exception("{$value['hpNo']}对账信息有误");
|
|
|
- if ($value['companyNo'] != $companyNo) throw new Exception("{$value['hpNo']}不属于当前业务公司发票");
|
|
|
+ $payinfo = Db::name("pay")->where(["payNo"=>$payArr[$val['hpNo']]['payNo'],"status"=>2,"is_del"=>0])
|
|
|
+->findOrEmpty();
|
|
|
+ if(empty($payinfo)) throw new Exception("{$value['hpNo']}对账信息有误");
|
|
|
+ if ($payinfo['companyNo'] == '') throw new Exception("{$value['hpNo']}对账信息有误");
|
|
|
+ if ($payinfo['companyNo'] != $companyNo) throw new Exception("{$value['hpNo']}不属于当前业务公司发票");
|
|
|
if ($value['status'] != '3') throw new Exception("{$value['hpNo']}状态有误");
|
|
|
- if ($value['invoice_fee'] > $value['inv_fee']) throw new Exception("{$value['hpNo']}对账单开票中金额不足");
|
|
|
+ if ($value['invoice_fee'] > $payinfo['inv_fee']) throw new Exception("{$value['hpNo']}对账单开票中金额不足");
|
|
|
|
|
|
- if ($hpNo_item[$value['hpNo']]['status'] == 4) {
|
|
|
+ if ($val['status'] == 4) {
|
|
|
//审核通过
|
|
|
$payupdate = [
|
|
|
- "ainv_fee" => $value['ainv_fee'] + $value['invoice_fee'],
|
|
|
- "inv_fee" => $value['inv_fee'] - $value['invoice_fee'],
|
|
|
- "inv_status" => ($value['inv_fee'] - $value['invoice_fee']) == 0 && $value['winv_fee'] == 0 ? 3 : 2,
|
|
|
+ "ainv_fee" => $payinfo['ainv_fee'] + $value['invoice_fee'],
|
|
|
+ "inv_fee" => $payinfo['inv_fee'] - $value['invoice_fee'],
|
|
|
+ "inv_status" => ($payinfo['inv_fee'] - $value['invoice_fee']) == 0 && $payinfo['winv_fee'] == 0 ? 3 : 2,
|
|
|
"updatetime" => date("Y-m-d H:i:s")
|
|
|
];
|
|
|
|
|
@@ -1948,24 +1942,28 @@ class Payment extends BaseController
|
|
|
} else {
|
|
|
//审核不通过
|
|
|
$payupdate = [
|
|
|
- "winv_fee" => $value['winv_fee'] + $value['invoice_fee'],
|
|
|
- "inv_fee" => $value['inv_fee'] - $value['invoice_fee'],
|
|
|
- "inv_status" => ($value['inv_fee'] - $value['invoice_fee']) == 0 && $value['ainv_fee'] == 0 ? 1 : 2,
|
|
|
- "updatetime" => $date
|
|
|
+ "winv_fee" => $payinfo['winv_fee'] + $value['invoice_fee'],
|
|
|
+ "inv_fee" => $payinfo['inv_fee'] - $value['invoice_fee'],
|
|
|
+ "inv_status" => ($payinfo['inv_fee'] - $value['invoice_fee']) == 0 && $payinfo['ainv_fee'] == 0 ? 1 : 2,
|
|
|
+ "updatetime" => date("Y-m-d H:i:s")
|
|
|
];
|
|
|
// $pay_invoice_not_allow[]=$value['id'];
|
|
|
Db::name("pay_invoice")
|
|
|
->where(["id" => $value['id'], "status" => 3, "is_del" => 0])
|
|
|
- ->update(["status" => $hpNo_item[$value['hpNo']]['status'], "updatetime" => $date, 'remark' => $hpNo_item[$value['hpNo']]['remark']]);
|
|
|
+ ->update(["status" => $val['status'], "updatetime" => date("Y-m-d H:i:s"), 'remark' =>$val['remark']]);
|
|
|
}
|
|
|
- $where = ['payNo' => $value['payNo'], "inv_status" => $value['inv_status'], "companyNo" => $companyNo, "status" => 2, "is_del" => 0];
|
|
|
- $pay = Db::name("pay")->where($where)->update($payupdate);
|
|
|
- if ($pay == false) throw new Exception("{$value['hpNo']}回票申请对账单状态更新失败");
|
|
|
-// $invIdArr[] = $value['id'];
|
|
|
+// $where = ['payNo' => $value['payNo'], "inv_status" => $ $val['inv_status'], "companyNo" => $companyNo, "status" => 2, "is_del" => 0];
|
|
|
+ $pay = Db::name("pay")->where($payinfo)->update($payupdate);
|
|
|
+
|
|
|
+ if ($pay == false) {
|
|
|
+// echo Db::name("pay")->getLastSql();
|
|
|
+// var_dump($where,$payupdate);
|
|
|
+ throw new Exception("{$value['hpNo']}回票申请对账单状态更新失败");
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
-// }
|
|
|
|
|
|
- if ($pay_invoice_allow) Db::name("pay_invoice")->where(["id" => $pay_invoice_allow, "status" => 3, "is_del" => 0])->update(["status" => 4, "updatetime" => $date]);
|
|
|
+ if ($pay_invoice_allow) Db::name("pay_invoice")->where(["id" => $pay_invoice_allow, "status" => 3, "is_del" => 0])->update(["status" => 4, "updatetime" =>date("Y-m-d H:i:s")]);
|
|
|
|
|
|
// if ($update == false) throw new Exception("回票申请状态更新失败");
|
|
|
Db::commit();
|