|
@@ -35,10 +35,11 @@ class Payment extends Base
|
|
|
public function paymentList()
|
|
|
{
|
|
|
$post = $this->post;
|
|
|
- $condition = "a.is_del=0 ";
|
|
|
+ $condition = [["a.is_del","=",0]];
|
|
|
$check = checkRole($this->roleid,[79,119]);
|
|
|
if($check){
|
|
|
- $condition.=" and b.apply_id={$this->uid}";
|
|
|
+// $condition[]=" and b.apply_id={$this->uid}";
|
|
|
+ $condition[]=["b.apply_id","=",$this->uid];
|
|
|
}
|
|
|
$startTime= isset($post['startTime'])&&$post['startTime']!="" ? date("Y-m-d 00:00:00",strtotime($post['startTime']))
|
|
|
:"";
|
|
@@ -54,38 +55,49 @@ class Payment extends Base
|
|
|
$dzNo= isset($post['dzNo'])&&$post['dzNo']!="" ? trim($post['dzNo']) :"";
|
|
|
|
|
|
if($startTime!=""){
|
|
|
- $condition.=" and `b`.`addtime` >= '{$startTime}'";
|
|
|
+// $condition.=" and `b`.`addtime` >= '{$startTime}'";
|
|
|
+ $condition[]=['b.addtime','>=',$startTime];
|
|
|
}
|
|
|
if($endTime!=""){
|
|
|
- $condition.=" and `b`.`addtime` <= '{$endTime}'";
|
|
|
+// $condition.=" and `b`.`addtime` <= '{$endTime}'";
|
|
|
+ $condition[]=['b.addtime','<=',$endTime];
|
|
|
}
|
|
|
|
|
|
if($supplierNo!=""){
|
|
|
- $condition.=" and `a`.`supplierNo` = '$supplierNo'";
|
|
|
+// $condition.=" and `a`.`supplierNo` = '$supplierNo'";
|
|
|
+ $condition[]=['a.supplierNo','=',$supplierNo];
|
|
|
}
|
|
|
if($supplierName!=""){
|
|
|
- $condition.=" and `a`.`supplierName` like '%$supplierName%'";
|
|
|
+// $condition.=" and `a`.`supplierName` like '%$supplierName%'";
|
|
|
+ $condition[]=['a.supplierName','like',"%$supplierName%"];
|
|
|
}
|
|
|
if($companyNo!=""){
|
|
|
- $condition.=" and (`a`.`companyNo` = '$companyNo')";
|
|
|
+ $condition[]=['a.companyNo','=',$companyNo];
|
|
|
+// $condition.=" and (`a`.`companyNo` = '$companyNo')";
|
|
|
}
|
|
|
$relaComNo= isset($post['relaComNo'])&&$post['relaComNo']!="" ? trim($post['relaComNo']) :"";
|
|
|
if($relaComNo!=""){
|
|
|
- $condition.=" and (`a`.`companyNo` = '$relaComNo' or `a`.`supplierNo` = '$relaComNo')";
|
|
|
+ $condition[]=['a.companyNo|a.supplierNo','=',$relaComNo];
|
|
|
+// $condition.=" and (`a`.`companyNo` = '$relaComNo' or `a`.`supplierNo` = '$relaComNo')";
|
|
|
}
|
|
|
|
|
|
if($payNo!=""){
|
|
|
- $condition.=" and `a`.`payNo` like '%{$payNo}%'";
|
|
|
+ $condition[]=['a.payNo','like',"%$payNo%"];
|
|
|
+// $condition.=" and `a`.`payNo` like '%{$payNo}%'";
|
|
|
}
|
|
|
if($dzNo!=""){
|
|
|
- $condition.=" and `b`.`dzNo` like '%{$dzNo}%'";
|
|
|
+ $condition[]=['b.dzNo','like',"%$dzNo%"];
|
|
|
+// $condition.=" and `b`.`dzNo` like '%{$dzNo}%'";
|
|
|
}
|
|
|
if($apply!=""){
|
|
|
- $condition .=" and b.apply_name like '%{$apply}%'";
|
|
|
+ $condition[]=['b.apply_name','like',"%$apply%"];
|
|
|
+// $condition .=" and b.apply_name like '%{$apply}%'";
|
|
|
}
|
|
|
if($paystatus!=""){
|
|
|
- $condition .=" and `b`.`status` = {$paystatus}";
|
|
|
+ $condition[]=['b.status','=',$paystatus];
|
|
|
+// $condition .=" and `b`.`status` = {$paystatus}";
|
|
|
}
|
|
|
+ if(isset($post['is_comon'])&&$post['is_comon']!=='') $condition []=['is_comon','=',$post['is_comon']];
|
|
|
$page = isset($post['page'])&&$post['page']!="" ? intval($post['page']) :1;
|
|
|
$size = isset($post['size'])&&$post['size']!="" ? intval($post['size']) :10;
|
|
|
$count = Db::name("pay_payment")->alias('b')
|
|
@@ -213,6 +225,7 @@ class Payment extends Base
|
|
|
if($status!=""){
|
|
|
$condition[]=["status","=",$status];
|
|
|
}
|
|
|
+ if(isset($post['is_comon'])&&$post['is_comon']!=='') $condition []=['is_comon','=',$post['is_comon']];
|
|
|
$page = isset($post['page'])&&$post['page']!="" ? intval($post['page']) :1;
|
|
|
$size = isset($post['size'])&&$post['size']!="" ? intval($post['size']) :10;
|
|
|
$count = Db::name("pay")->where($condition)->count();
|
|
@@ -277,8 +290,9 @@ class Payment extends Base
|
|
|
$temp = check_has_account_by_supplierNos([$supplierNo[0]]);
|
|
|
if (isset($temp['data'][$supplierNo[0]])) return error_show(1004, '该供应商已经开通账号,不允许当前账号操作');
|
|
|
}
|
|
|
-
|
|
|
- $payNo = makeNo("PAY");
|
|
|
+ $goodNo= array_column($cgdall,'goodNo');
|
|
|
+ $good_info = \app\admin\model\Good::where(['spuCode'=>$goodNo])->column("status","spuCode");
|
|
|
+ $payNo = makeNo("PAY");
|
|
|
Db::startTrans();
|
|
|
try {
|
|
|
$data=[];
|
|
@@ -301,8 +315,7 @@ class Payment extends Base
|
|
|
"updatetime"=>date("Y-m-d H:i:s"),
|
|
|
];
|
|
|
foreach ($cgdall as $key=>$value){
|
|
|
- $good_info = \app\admin\model\Good::where(['spuCode'=>$value['goodNo']])->findOrEmpty();
|
|
|
- if($good_info->isEmpty()|| $good_info->status==0){
|
|
|
+ if(!isset($good_info[$value['goodNo']])|| $good_info[$value['goodNo']]==0){
|
|
|
Db::rollback();
|
|
|
return error_show(1004,"采购单商品{$value['goodNo']}商品未确认开票类目");
|
|
|
}
|
|
@@ -323,9 +336,8 @@ class Payment extends Base
|
|
|
$paydata['wpay_fee']+= $temp['wpay_fee'];
|
|
|
$paydata['ainv_fee']+= $temp['ainv_fee'];
|
|
|
$paydata['winv_fee']+= $temp['winv_fee'];
|
|
|
- $report=ReportCode::where(["cgdNo"=>$value['sequenceNo']])->find();
|
|
|
- if($report)$report->setField("payNo",$payNo);
|
|
|
}
|
|
|
+ ReportCode::where(['cgdNo'=>array_column($cgdall,"sequenceNo")])->update(['payNo'=>$payNo]);
|
|
|
$paydata['total_fee']= round($paydata['total_fee'],2);
|
|
|
$paydata['apay_fee']= round($paydata['apay_fee'],2);
|
|
|
$paydata['wpay_fee']= round($paydata['wpay_fee'],2);
|
|
@@ -930,6 +942,7 @@ class Payment extends Base
|
|
|
if($cgdsource!=='') $condition []=["cgdSource","=",$cgdsource];
|
|
|
$sendstatus= isset($post['sendstatus']) && $post['sendstatus']!='' ? intval($post['sendstatus']) :"";
|
|
|
if($sendstatus!='') $condition []=["qrdSend","=",$sendstatus];
|
|
|
+ if(isset($post['is_comon'])&&$post['is_comon']!=='') $condition []=["is_comon","=",$post['is_comon']];
|
|
|
|
|
|
$page = isset($post['page'])&&$post['page']!="" ? intval($post['page']) :0;
|
|
|
$size = isset($post['size'])&&$post['size']!="" ? intval($post['size']) :10;
|
|
@@ -955,11 +968,12 @@ class Payment extends Base
|
|
|
|
|
|
|
|
|
public function cgdQuery(){
|
|
|
- $post = $this->request->only(["cgdNoArr"=>[],"qrdNoArr"=>[],"status"=>"","relaComNo"=>'',"companyNo"=>"","supplierNo"=>""],"post");
|
|
|
+ $post = $this->request->only(["cgdNoArr"=>[],"qrdNoArr"=>[],"status"=>"","is_comon"=>"0","relaComNo"=>'',"companyNo"=>"","supplierNo"=>""],"post");
|
|
|
$valid=Validate::rule([
|
|
|
"cgdNoArr|采购单编号集合"=>"requireWithout:qrdNoArr|array",
|
|
|
"qrdNoArr|销售单编号集合"=>"requireWithout:cgdNoArr|array",
|
|
|
- "status|采购单状态"=>"number|in:0,1,2,3"
|
|
|
+ "status|采购单状态"=>"number|in:0,1,2,3",
|
|
|
+ "is_comon|是否通用订单"=>"number|in:0,1",
|
|
|
]);
|
|
|
if($valid->check($post)==false) return error_show(1004,$valid->getError());
|
|
|
if(!empty($post['qrdNoArr'])){
|
|
@@ -971,6 +985,7 @@ class Payment extends Base
|
|
|
if($companyNo!=""){
|
|
|
$condition []=["companyNo","=",$companyNo];
|
|
|
}
|
|
|
+ if($post['is_comon']!='') $condition []=['is_comon','=',$post['is_comon']];
|
|
|
$relaComNo= isset($post['relaComNo'])&&$post['relaComNo']!="" ? trim($post['relaComNo']) :"";
|
|
|
if($relaComNo!=""){
|
|
|
$condition[]=["companyNo|supplierNo","=",$relaComNo];
|
|
@@ -1236,11 +1251,13 @@ class Payment extends Base
|
|
|
$payinfo = Db::name('pay')
|
|
|
->where('is_del', 0)
|
|
|
->whereIn('payNo', $payNo)
|
|
|
- ->column('id,payNo,status', 'payNo');
|
|
|
+ ->column('id,payNo,supplierNo,supplierName,status', 'payNo');
|
|
|
+ $Supp=[];
|
|
|
if ($this->level == 2) {
|
|
|
//判断是否开通供应商账号
|
|
|
- $temp = check_has_account_by_supplierNos([$payinfo['supplierNo']]);
|
|
|
- if (isset($temp['data'][$payinfo['supplierNo']])) return error_show(1004, '该供应商已经开通账号,不允许当前账号操作');
|
|
|
+ $suppArr=array_unique(array_column($payinfo,'supplierNo'));
|
|
|
+ $temp = check_has_account_by_supplierNos(array_unique(array_column($payinfo,"supplierNo")));
|
|
|
+ $Supp = $temp['data']??[];
|
|
|
}
|
|
|
//$da_insert 批量新增的数据,$payNo_hpNo对账编码=>回票编码
|
|
|
$da_insert = $payNo_hpNo = [];
|
|
@@ -1253,6 +1270,9 @@ class Payment extends Base
|
|
|
$unique[]=$item['invoiceNumber'];
|
|
|
if (!isset($payinfo[$item['payNo']])) throw new Exception('对账单数据未找到');
|
|
|
if ($payinfo[$item['payNo']]['status'] != 2) throw new Exception('对账单数据未完成审核');
|
|
|
+ if ($this->level == 2) {
|
|
|
+ if ( isset($Supp[$payinfo[$item['payNo']]['supplierNo']])) throw new Exception("该供应商{$payinfo[$item['payNo']]['supplierName']}已经开通账号,不允许当前账号操作");
|
|
|
+ }
|
|
|
$invamount=0;
|
|
|
if(in_array($item['invoiceType'],['fully_digitalized_special_electronic','fully_digitalized_normal_electronic'])){
|
|
|
$invamount = $item['inv_subtotal_amount']??0;
|
|
@@ -1490,6 +1510,7 @@ class Payment extends Base
|
|
|
if($apply_name!=""){
|
|
|
$condition[]=["a.apply_name","like","%$apply_name%"];
|
|
|
}
|
|
|
+ if(isset($post['is_comon'])&&$post['is_comon']!=='') $condition []=['is_comon','=',$post['is_comon']];
|
|
|
$page = isset($post['page'])&&$post['page']!="" ? intval($post['page']):1;
|
|
|
$size = isset($post['size'])&&$post['size']!="" ? intval($post['size']):10;
|
|
|
$count =Db::name("pay_invoice")
|
|
@@ -1791,7 +1812,7 @@ class Payment extends Base
|
|
|
if($param['hpNo']!="") $condition[]=["a.orderCode","like","%{$param['hpNo']}%"];
|
|
|
if($param['returnCode']!="") $condition[]=["a.returnCode","like","%{$param['returnCode']}%"];
|
|
|
if($param['payNo']!="") $condition[]=["a.payNo","like","%{$param['payNo']}%"];
|
|
|
-
|
|
|
+ if(isset($param['is_comon'])&&$param['is_comon']!=='') $condition []=['is_comon','=',$param['is_comon']];
|
|
|
$count = Db::name("pay_return")
|
|
|
->alias("a")
|
|
|
->leftJoin("pay b", "a.payNo=b.payNo and b.is_del=0")
|
|
@@ -1941,7 +1962,7 @@ class Payment extends Base
|
|
|
if($param['dzNo']!="") $condition[]=["a.orderCode","like","%{$param['dzNo']}%"];
|
|
|
if($param['returnCode']!="") $condition[]=["a.returnCode","like","%{$param['returnCode']}%"];
|
|
|
if($param['payNo']!="") $condition[]=["a.payNo","like","%{$param['payNo']}%"];
|
|
|
-
|
|
|
+ if(isset($param['is_comon'])&&$param['is_comon']!=='') $condition []=['is_comon','=',$param['is_comon']];
|
|
|
$count = Db::name("pay_return")
|
|
|
->alias("a")
|
|
|
->leftJoin("pay b", "a.payNo=b.payNo and b.is_del=0")
|
|
@@ -2046,7 +2067,7 @@ class Payment extends Base
|
|
|
"companyNo|公司编号" => "requireWithout:relaComNo|max:255",
|
|
|
]);
|
|
|
if ($valid->check($post) == false) return error_show(1004, $valid->getError());
|
|
|
- $companyNo = $post["relaComNo"] ?? $post['companyNo'];
|
|
|
+ $companyNo = $post["relaComNo"] ?: $post['companyNo'];
|
|
|
$payArr = Db::name("pay_invoice")
|
|
|
->alias("a")
|
|
|
->leftJoin("pay b", "a.payNo=b.payNo")
|