Browse Source

供应商确认接口和创建入库单接口,校验供应商账号优化

wufeng 2 years ago
parent
commit
e99c8b84db
2 changed files with 19 additions and 11 deletions
  1. 6 3
      app/admin/controller/Purch.php
  2. 13 8
      app/admin/controller/Purchin.php

+ 6 - 3
app/admin/controller/Purch.php

@@ -572,8 +572,7 @@ class Purch extends Base
         if($diff_fee!=""){
             $data['diff_fee'] = $diff_fee;
         }
-        $supplierNo = isset($this->post['supplierNo'])&&$this->post['supplierNo']!=""?trim($this->post['supplierNo'])
-            :"";
+        $supplierNo = isset($this->post['supplierNo'])&&$this->post['supplierNo']!=""?trim($this->post['supplierNo']) :"";
         if($supplierNo!=""){
         	$userCommon = new \app\admin\common\User();
                 $supplier_temp = $userCommon->handle('getCodeAndName', ['code' => $supplierNo]);
@@ -811,6 +810,8 @@ class Purch extends Base
                 $uid = $this->uid;
                 $uname = $this->uname;
 
+                $all_has_supplier_account = checkHasAccountBySupplierNos(array_column($info, 'supplierNo'));
+
                 foreach ($cgdNo as $vlue) {
 					$isreturn = cgd_sale_return($vlue);
 			        if($isreturn){
@@ -818,7 +819,9 @@ class Purch extends Base
 			        }
 
 			        if($status == 1){
-                        if($this->level == 2 && $uid != $supplier_cgderid[$info[$vlue]['supplierNo']]) throw new Exception('只能由供应商负责人来操作');//与供应商确认的这个操作,只能由供应商负责人来操作
+                        //如果开通了供应商账号,则只允许level3账号操作,level2账号不允许操作
+                        if (isset($all_has_supplier_account['data'][$info[$vlue]['supplierNo']]) && $this->level == 2) throw new Exception('已开通供应商账号,当前账号不能操作');
+//                        if($this->level == 2 && $uid != $supplier_cgderid[$info[$vlue]['supplierNo']]) throw new Exception('只能由供应商负责人来操作');//与供应商确认的这个操作,只能由供应商负责人来操作
                     }
 
                     if ($status == 1 || $status == 2) {

+ 13 - 8
app/admin/controller/Purchin.php

@@ -302,6 +302,11 @@ class Purchin extends Base
         ];
         Db::startTrans();
         try{
+
+            //如果开通了供应商账号,则只允许level3账号操作,level2账号不允许操作
+            $all_has_supplier_account = checkHasAccountBySupplierNos([$cgdinfo['supplierNo']]);
+            if (isset($all_has_supplier_account['data'][$cgdinfo['supplierNo']]) && $this->level == 2) throw new Exception('已开通供应商账号,当前账号不能操作');
+
             $win = Db::name("purchease_in")->insert($orin,true);
             if($win){
                 $sto = ["order_code"=>$wsm_in_code,"status"=>$status,"action_remark"=>'',"action_type"=>"edit"];
@@ -357,14 +362,14 @@ class Purchin extends Base
 //                if ($this->uid != $personid) throw new Exception('只能由供应商负责人操作');
 //                }
 
-            if ($this->level == 2) {
-                $person = Db::connect('mysql_sys')
-                    ->name('supplier')
-                    ->where('code', $cgdinfo['supplierNo'])
-                    ->field('person,personid')
-                    ->findOrEmpty();
-                if ($this->uid != $person['personid']) throw new Exception('只能由供应商负责人操作');
-            }
+//                if ($this->level == 2) {
+//                    $person = Db::connect('mysql_sys')
+//                        ->name('supplier')
+//                        ->where('code', $cgdinfo['supplierNo'])
+//                        ->field('person,personid')
+//                        ->findOrEmpty();
+//                    if ($this->uid != $person['personid']) throw new Exception('只能由供应商负责人操作');
+//                }
 
                 if($status==1){
                             Db::commit();