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