wugg 1 år sedan
förälder
incheckning
9648da80f8
1 ändrade filer med 8 tillägg och 3 borttagningar
  1. 8 3
      app/admin/controller/Payment.php

+ 8 - 3
app/admin/controller/Payment.php

@@ -1251,11 +1251,13 @@ class Payment extends Base
             $payinfo = Db::name('pay')
                 ->where('is_del', 0)
                 ->whereIn('payNo', $payNo)
-                ->column('id,payNo,supplierNo,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 = [];
@@ -1268,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;