Browse Source

Merge branch 'master-new' into master-new-wgg

wugg 2 years ago
parent
commit
4b71079e95

+ 108 - 86
app/admin/controller/Allot.php

@@ -19,70 +19,71 @@ class Allot extends Base
     {
         parent::__construct($app);
     }
-    public function list(){
-        $page = isset($this->post['page']) && $this->post['page'] !=="" ? intval($this->post['page']) :"1";
-        $size = isset($this->post['size']) && $this->post['size'] !=="" ? intval($this->post['size']) :"10";
-        $where =[['a.is_del',"=",0]];
+
+    public function list()
+    {
+        $page = isset($this->post['page']) && $this->post['page'] !== "" ? intval($this->post['page']) : "1";
+        $size = isset($this->post['size']) && $this->post['size'] !== "" ? intval($this->post['size']) : "10";
+        $where = [['a.is_del', "=", 0]];
         $allot_code = isset($this->post['allot_code']) && $this->post['allot_code'] !== "" ? trim($this->post['allot_code']) : "";
         if ($allot_code !== "") {
-           // $where['a.allot_code'] = $allot_code;
-            $where[]=['a.allot_code',"=",$allot_code];
-        }
-        $wsm_out = isset($this->post['wsm_out']) && $this->post['wsm_out'] !== "" ? trim($this->post['wsm_out']) : "";
-        if ($wsm_out !== "") {
-            //$where['a.wsm_out'] = $wsm_out;
-            $where[]=['a.wsm_out',"=",$wsm_out];
+            // $where['a.allot_code'] = $allot_code;
+            $where[] = ['a.allot_code', "=", $allot_code];
         }
-        $wsm_in = isset($this->post['wsm_in']) && $this->post['wsm_in'] !== "" ? trim($this->post['wsm_in']) : "";
-        if ($wsm_in !== "") {
-           // $where['a.wsm_in'] = $wsm_in;
-            $where[]=['a.wsm_in',"=",$wsm_in];
-        }
-        $start= isset($this->post['start']) && $this->post['start'] !== "" ? $this->post['start']:"";
-        if ($start !="") {
+//        $wsm_out = isset($this->post['wsm_out']) && $this->post['wsm_out'] !== "" ? trim($this->post['wsm_out']) : "";
+//        if ($wsm_out !== "") {
+        //$where['a.wsm_out'] = $wsm_out;
+//            $where[]=['a.wsm_out',"=",$wsm_out];
+//        }
+//        $wsm_in = isset($this->post['wsm_in']) && $this->post['wsm_in'] !== "" ? trim($this->post['wsm_in']) : "";
+//        if ($wsm_in !== "") {
+        // $where['a.wsm_in'] = $wsm_in;
+//            $where[]=['a.wsm_in',"=",$wsm_in];
+//        }
+        $start = isset($this->post['start']) && $this->post['start'] !== "" ? $this->post['start'] : "";
+        if ($start != "") {
             //$where = ["a.addtime"=>Db::raw(">= '{$start}'")];
-            $where[]=['a.addtime',">=",$start];
+            $where[] = ['a.addtime', ">=", $start];
         }
-        $end = isset($this->post['end']) && $this->post['end'] !== "" ? $this->post['end'] :"";
-        if($end !=""){
-           // $where = ["a.addtime"=>Db::raw("<= '{$end}'")];
-            $where[]=['a.addtime',"<=",$end];
+        $end = isset($this->post['end']) && $this->post['end'] !== "" ? $this->post['end'] : "";
+        if ($end != "") {
+            // $where = ["a.addtime"=>Db::raw("<= '{$end}'")];
+            $where[] = ['a.addtime', "<=", $end];
         }
 
-        $out_supplierNo =isset($this->post['wsm_out_supplierNo']) &&$this->post['wsm_out_supplierNo'] !=="" ? trim($this->post['wsm_out_supplierNo']):"";
-        if($out_supplierNo!=""){
+//        $out_supplierNo =isset($this->post['wsm_out_supplierNo']) &&$this->post['wsm_out_supplierNo'] !=="" ? trim($this->post['wsm_out_supplierNo']):"";
+//        if($out_supplierNo!=""){
 //            $supplier = Db::name("supplier")->where(["code"=>$out_supplierNo])->find();
 //            if(empty($supplier)){
 //                return error_show(1004,"未找到出库供应商信息");
 //            }
-            $wsmcode = Db::name("warehouse_info")->where(["is_del"=>0,"wsm_type"=>1,"supplierNo"=>$out_supplierNo])->column("wsm_code");
-            //$condtion["a.c.wsm_code"] = $wsmcode;
-            $where[]=['a.wsm_out',"in",$wsmcode];
-        }
-
-        $out_companyNo = isset($this->post['out_companyNo']) && $this->post['out_companyNo'] !== "" ? trim($this->post['out_companyNo']) : "";
-        if ($out_companyNo !== "") {
+//            $wsmcode = Db::name("warehouse_info")->where(["is_del"=>0,"wsm_type"=>1,"supplierNo"=>$out_supplierNo])->column("wsm_code");
+        //$condtion["a.c.wsm_code"] = $wsmcode;
+//            $where[]=['a.wsm_out',"in",$wsmcode];
+//        }
 
-            $where[]=["a.out_companyNo","=",$out_companyNo];
-        }
-        $in_companyNo = isset($this->post['in_companyNo']) && $this->post['in_companyNo'] !== "" ? trim($this->post['in_companyNo']) : "";
-        if ($in_companyNo !== "") {
-            $where[]=["a.in_companyNo","=",$in_companyNo];
-        }
+//        $out_companyNo = isset($this->post['out_companyNo']) && $this->post['out_companyNo'] !== "" ? trim($this->post['out_companyNo']) : "";
+//        if ($out_companyNo !== "") {
+//            $where[]=["a.out_companyNo","=",$out_companyNo];
+//        }
+//        $in_companyNo = isset($this->post['in_companyNo']) && $this->post['in_companyNo'] !== "" ? trim($this->post['in_companyNo']) : "";
+//        if ($in_companyNo !== "") {
+//            $where[]=["a.in_companyNo","=",$in_companyNo];
+//        }
 
-        $in_supplierNo =isset($this->post['wsm_in_supplierNo']) &&$this->post['wsm_in_supplierNo'] !=="" ? trim($this->post['wsm_in_supplierNo']):"";
-        if($in_supplierNo!=""){
+//        $in_supplierNo =isset($this->post['wsm_in_supplierNo']) &&$this->post['wsm_in_supplierNo'] !=="" ? trim($this->post['wsm_in_supplierNo']):"";
+//        if($in_supplierNo!=""){
 //            $supplier = Db::name("supplier")->where(["code"=>$in_supplierNo])->find();
 //            if(empty($supplier)){
 //                return error_show(1004,"未找到入库供应商信息");
 //            }
-            $wsmcode = Db::name("warehouse_info")->where(["is_del"=>0,"wsm_type"=>1,"supplierNo"=>$in_supplierNo])->column("wsm_code");
-            //$condtion["c.wsm_code"] = $wsmcode;
-            $where[]=['a.wsm_in',"in",$wsmcode];
-        }
-        $status = isset($this->post['status']) && $this->post['status']!=="" ? intval($this->post['status']):"";
-        if($status!==""){
-            $where[]=['a.status',"=",$status];
+//            $wsmcode = Db::name("warehouse_info")->where(["is_del"=>0,"wsm_type"=>1,"supplierNo"=>$in_supplierNo])->column("wsm_code");
+        //$condtion["c.wsm_code"] = $wsmcode;
+//            $where[]=['a.wsm_in',"in",$wsmcode];
+//        }
+        $status = isset($this->post['status']) && $this->post['status'] !== "" ? intval($this->post['status']) : "";
+        if ($status !== "") {
+            $where[] = ['a.status', "=", $status];
         }
         $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
         if ($company_name !== "") $where[] = ["a.apply_id", 'in', get_company_item_user_by_name($company_name)];
@@ -90,48 +91,68 @@ class Allot extends Base
 //        $role = $this->checkDataShare();
 //        if (!empty($role[DataGroupModel::$type_全部])) $where[] = ['a.apply_id', 'in', $role[DataGroupModel::$type_全部]];
         $role = $this->checkDataShare();
-        $hand = resign_hand_user($this->uid,0);
-        if (!empty($role[DataGroupModel::$type_全部])) {
-        	$arr= array_unique(array_merge($hand,$role[DataGroupModel::$type_全部]));
-			$where[] = ['a.apply_id', 'in',$arr];
-        }
+//        $hand = resign_hand_user($this->uid,0);
+//        if (!empty($role[DataGroupModel::$type_全部])) {
+//        	$arr= array_unique(array_merge($hand,$role[DataGroupModel::$type_全部]));
+//			$where[] = ['a.apply_id', 'in',$arr];
+//        }
 
-        $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo']!="" ? trim($this->post['relaComNo']):"";
-        if($relaComNo!="") $where[]=['a.in_companyNo|a.out_companyNo','=', $relaComNo];
+        $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] != "" ? trim($this->post['relaComNo']) : "";
+        //if($relaComNo!="") $where[]=['a.in_companyNo|a.out_companyNo','=', $relaComNo];
+        $wsm_code = isset($this->post['wsm_code']) && $this->post['wsm_code'] != "" ? trim($this->post['wsm_code']) : "";
+        $type = isset($this->post['type']) && $this->post['type'] != "" ? intval($this->post['type']) : "";
+
+        switch ($type) {
+            case 1:
+                //入库
+                if ($relaComNo !== '') $where[] = ['a.in_companyNo', '=', $relaComNo];
+                if ($wsm_code !== '') $where[] = ['a.wsm_in', '=', $wsm_code];
+                break;
+            case 2:
+                //出库
+                if ($relaComNo !== '') $where[] = ['a.out_companyNo', '=', $relaComNo];
+                if ($wsm_code !== '') $where[] = ['a.wsm_out', '=', $wsm_code];
+                break;
+            case 3:
+                //入库和出库
+                if ($relaComNo !== '') $where[] = ['a.in_companyNo|a.out_companyNo', '=', $relaComNo];
+                if ($wsm_code !== '') $where[] = ['a.wsm_in|a.wsm_out', '=', $wsm_code];
+                break;
+        }
 
         $count = Db::name('allot_stock')
             ->alias('a')
-            ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
+//            ->leftJoin("depart_user u", "u.uid=a.apply_id AND u.is_del=0")
             ->where($where)
             ->count();
-        $total = ceil($count/$size);
+        $total = ceil($count / $size);
         $page = $page >= $total ? $total : $page;
         $list = Db::name('allot_stock')
             ->alias('a')
             ->where($where)
             ->order("a.addtime desc")
-            ->page($page,$size)
+            ->page($page, $size)
             ->select()
             ->toArray();
-      // var_dump(Db::name('allot_stock')->getLastSql());
+        // var_dump(Db::name('allot_stock')->getLastSql());
 
-        $all_createrid = array_column($list,'apply_id');
+        $all_createrid = array_column($list, 'apply_id');
         $item = get_company_name_by_uid($all_createrid);
 
         $userCommon = new \app\admin\common\User();
 
-        $data=[];
-        foreach ($list as $value){
+        $data = [];
+        foreach ($list as $value) {
             $db = Db::name('warehouse_info')
                 ->alias('a')
 //                ->join("supplier b","b.code=a.supplierNo","left")
 //                ->join("business bus","bus.companyNo=a.companyNo","left")
 //                ->field("a.name,a.wsm_code,b.name rname,b.code,bus.company")
                 ->field("a.name,a.wsm_code,a.supplierNo,a.companyNo")
-                ->where(['a.wsm_code'=>$value['wsm_out'],'a.is_del'=>0])
+                ->where(['a.wsm_code' => $value['wsm_out'], 'a.is_del' => 0])
                 ->find();
-            $value['name'] =isset($db['name']) ? $db['name']:"";
-            $value['wsm_code'] =isset($db['wsm_code']) ? $db['wsm_code']:"";
+            $value['name'] = isset($db['name']) ? $db['name'] : "";
+            $value['wsm_code'] = isset($db['wsm_code']) ? $db['wsm_code'] : "";
 
             $dc = Db::name('warehouse_info')
                 ->alias('a')
@@ -139,30 +160,30 @@ class Allot extends Base
 //                ->join("supplier b","b.code=a.supplierNo","left")
 //                ->field("a.name,a.wsm_code,b.name tname,b.code,bus.company")
                 ->field("a.name,a.wsm_code,a.supplierNo,a.companyNo")
-                ->where(['a.wsm_code'=>$value['wsm_in'],'a.is_del'=>0])
+                ->where(['a.wsm_code' => $value['wsm_in'], 'a.is_del' => 0])
                 ->find();
 
-            $names = $userCommon->handle('getCodeAndName',['code'=>[$db['supplierNo'],$db['companyNo'],$dc['supplierNo'],$dc['companyNo']]]);
+            $names = $userCommon->handle('getCodeAndName', ['code' => [$db['supplierNo'], $db['companyNo'], $dc['supplierNo'], $dc['companyNo']]]);
 
-            $value['rname'] = $names['data'][$db['supplierNo']]??'';//isset($db['rname']) ? $db['rname'] : "";
+            $value['rname'] = $names['data'][$db['supplierNo']] ?? '';//isset($db['rname']) ? $db['rname'] : "";
             $value['code'] = $db['supplierNo'];
-            $value['out_company_name'] = $names['data'][$db['companyNo']]??'';//isset($db['company']) ? $db['company'] : "";
+            $value['out_company_name'] = $names['data'][$db['companyNo']] ?? '';//isset($db['company']) ? $db['company'] : "";
 
 
-            $value['wsm_in_name'] =isset($dc['name']) ? $dc['name']:"";
-            $value['wsm_in_code'] =isset($dc['wsm_code']) ? $dc['wsm_code']:"";
-            $value['tname'] =$names['data'][$dc['supplierNo']]??'';//isset($dc['tname']) ? $dc['tname']:"";
-            $value['rcode'] =isset($dc['supplierNo']) ? $dc['supplierNo']:"";
-            $value['in_company_name'] =$names['data'][$dc['companyNo']]??'';//isset($dc['company']) ? $dc['company']:"";
-            $value['company_name'] = $item[$value['apply_id']]??'';
+            $value['wsm_in_name'] = isset($dc['name']) ? $dc['name'] : "";
+            $value['wsm_in_code'] = isset($dc['wsm_code']) ? $dc['wsm_code'] : "";
+            $value['tname'] = $names['data'][$dc['supplierNo']] ?? '';//isset($dc['tname']) ? $dc['tname']:"";
+            $value['rcode'] = isset($dc['supplierNo']) ? $dc['supplierNo'] : "";
+            $value['in_company_name'] = $names['data'][$dc['companyNo']] ?? '';//isset($dc['company']) ? $dc['company']:"";
+            $value['company_name'] = $item[$value['apply_id']] ?? '';
 
             //是否具有编辑权限
             $value['is_allow_update'] = 0;
             if (in_array($this->roleid, [1, 33]) || in_array($value['apply_id'], $role[DataGroupModel::$type_可编辑])) $value['is_allow_update'] = 1;
 
-            $data []=$value;
+            $data [] = $value;
         }
-        return app_show(0,"获取成功",['count'=>$count,'list'=>$data]);
+        return app_show(0, "获取成功", ['count' => $count, 'list' => $data]);
     }
     public function create(){
     	$token =isset($this->post['token']) && $this->post['token'] !=="" ? trim($this->post['token']) :"";
@@ -822,14 +843,12 @@ public function vesio(){
             $condtion[] = ['c.wsm_code', "=", $wsmcode];
             // $typecode= Db::name("good_stock")->where(["wsm_code"=>$wsmcode,'is_del'=>0])->column("good_type_code");
         }
-        $goodcode = isset($this->post['good_code']) && $this->post['good_code'] !== "" ? trim($this->post['good_code'])
-            : "";
+        $goodcode = isset($this->post['good_code']) && $this->post['good_code'] !== "" ? trim($this->post['good_code']) : "";
         if ($goodcode != "") {
             // $condtion['a.good_code'] = Db::raw("like '%{$goodcode}%'");
             $condtion[] = ['b.spuCode', "like", "%{$goodcode}%"];
         }
-        $good_name = isset($this->post['good_name']) && $this->post['good_name'] !== "" ? trim($this->post['good_name'])
-            : "";
+        $good_name = isset($this->post['good_name']) && $this->post['good_name'] !== "" ? trim($this->post['good_name']) : "";
         if ($good_name != "") {
             //  $condtion['a.good_name'] = Db::raw("like '%{$good_name}%'");
             $condtion[] = ['b.good_name', "like", "%{$good_name}%"];
@@ -848,13 +867,11 @@ public function vesio(){
             $wsmcode = Db::name("warehouse_info")->where(['companyNo' => $companyNo, "is_del" => 0])->column("wsm_code");
             $condition[] = ["c.wsm_code", "in", $wsmcode];
         }
-        $stock_low = isset($this->post['stock_low']) && $this->post['stock_low'] !== "" ? intval($this->post['stock_low'])
-            : "";
+        $stock_low = isset($this->post['stock_low']) && $this->post['stock_low'] !== "" ? intval($this->post['stock_low']) : "";
         if ($stock_low != "") {
             $condtion[] = ['d.balance_num', ">=", $stock_low];
         }
-        $stock_up = isset($this->post['stock_up']) && $this->post['stock_up'] !== "" ? trim($this->post['stock_up'])
-            : "";
+        $stock_up = isset($this->post['stock_up']) && $this->post['stock_up'] !== "" ? trim($this->post['stock_up']) : "";
         if ($stock_up != "") {
             $condtion[] = ['d.balance_num', "<=", $stock_up];
         }
@@ -901,9 +918,14 @@ public function vesio(){
             $names = $userCommon->handle('getCodeAndName',['code'=>array_merge(array_column($list, 'supplierNo'),array_column($list, 'companyNo'))]);
 //            $business = $names['data'];
 
+            $supplier = Db::connect('mysql_sys')
+                ->name('supplier')
+                ->where(['code'=>array_column($list,'supplierNo')])
+                ->column('name,person','code');
+
             foreach ($list as $key => $value) {
 //                $supplier = Db::name("supplier")->where(["code" => $value['supplierNo']])->find();
-                $value['supplier_name'] = $names['data'][$value['supplierNo']]??'';//isset($supplier['name']) ? $supplier['name'] : "";
+                $value['supplier_name'] = $supplier['name'] ?? '';//$names['data'][$value['supplierNo']]??'';//isset($supplier['name']) ? $supplier['name'] : "";
                 $wsmcode = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b", "a.supplierNo=b.code")->where(["a.wsm_code" => $value['wsm_code']])->field("a.name as wsm_name,b.name,b.code")->find();
                 $value['wsm_name'] = isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name'] : "";
                 $value['wsm_supplier'] = isset($wsmcode['name']) ? $wsmcode['name'] : "";
@@ -930,7 +952,7 @@ public function vesio(){
                     }
                 }
                 $value['specinfo'] = $speclist;
-                $value['cgder'] = isset($supplier['person']) ? $supplier['person'] : '';
+                $value['cgder'] = $supplier['person'] ?? '';//isset($supplier['person']) ? $supplier['person'] : '';
                 $value['company_name'] = $item[$value['createrid']]??'';
                 $data[] = $value;
             }

+ 15 - 10
app/admin/controller/Consult.php

@@ -2412,18 +2412,23 @@ class Consult extends Base
             $where[]= ["a.status",'=',$status];
         }
         $userCommon=new \app\admin\common\User();
-        //查看非本公司的竞价单
-        $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo']!="" ? trim($this->post['relaComNo']):"";
-        if($this->level!=1 & $relaComNo!="") {
-        	$companyNo='';
-        	$relaComArr=$userCommon->handle("hqInfo",["code"=>$relaComNo]);
-        	if(isset($relaComArr['code'])&&$relaComArr['code']==0&& empty($relaComArr['data'])) {
-        		$companyNo = $this->level==3?$relaComArr['data']['relation_code'] :$relaComArr['data']['code'];
-        	}
-        	$where[]=['b.companyNo','<>', $companyNo];
-        }
 
+        $supplierNo = trim($this->post['supplierNo'] ?? '');
+        if ($supplierNo != '') {
+            //如果筛选供应商,不查看同一家业务公司的数据
+            $relaComArr = $userCommon->handle("hqInfo", ["code" => $supplierNo]);
+            if ($relaComArr['data']['relation_code'] ?? '' != '') $where[] = ['b.companyNo', '<>', $relaComArr['data']['relation_code']];
+        }
 
+        //查看非本公司的竞价单
+        $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] != "" ? trim($this->post['relaComNo']) : "";
+        if ($relaComNo != "") {
+            if ($this->level == 2) $where[] = ['b.companyNo', '<>', $relaComNo];
+            else {
+                $relaComArr = $userCommon->handle("hqInfo", ["code" => $relaComNo]);
+                $where[] = ['b.companyNo', '<>', $relaComArr['data']['relation_code'] ?? ''];
+            }
+        }
 
         $count = Db::name('consult_info')
             ->alias("a")

+ 28 - 14
app/admin/controller/Filing.php

@@ -156,6 +156,8 @@ class Filing extends Base
                 'status' => 0,
                 'is_del' => 0,
                 'addtime' => date('Y-m-d H:i:s'),
+                'updaterid' => $this->uid,
+                'updater' => $this->uname,
                 'updatetime' => date('Y-m-d H:i:s'),
                 'gold_weight' => $param['gold_weight'] ?? 0,
                 'noble_metal' => $param['noble_metal'] ?? 0,
@@ -224,7 +226,7 @@ class Filing extends Base
         if (!$val->check($param)) return json_show(1004, $val->getError());
 
         $rs = Db::name('filing')
-            ->field('id,status,is_determine_price,price,cgd_charge')
+            ->field('id,status,is_determine_price,price,cgd_charge,platform_id,companyCode')
             ->where(['is_del' => 0, 'id' => $param['id']])
             ->whereIn('status', [0, 2])
             ->findOrEmpty();
@@ -240,12 +242,24 @@ class Filing extends Base
 
         $tmp = Db::name('platform')
             ->where(['is_del' => 0, 'id' => $param['platform_id']])
-            ->field('id')
+            ->field('id,is_select_pay_rate')
             ->findOrEmpty();
         if (empty($tmp)) return json_show(1005, '该平台不存在');
 
+
+        //校验支付渠道中的业务公司是否与报备单业务公司重复
+        if ($tmp['is_select_pay_rate'] == 1) {
+            $temp = Db::name('platform_pay_rate')
+                ->where(['is_del' => 0, 'platform_id' => $rs['platform_id'], 'companyNo' => $rs['companyCode']])
+                ->field('id')
+                ->findOrEmpty();
+            if (!empty($temp)) return json_show(1004, '业务公司重复,请选择其他平台');
+        }
+
         $update = array_merge($param, [
             'companyName' => $company['data']['companyName'],
+            'updaterid' => $this->uid,
+            'updater' => $this->uname,
             'updatetime' => date('Y-m-d H:i:s'),
         ]);
 
@@ -294,7 +308,7 @@ class Filing extends Base
 
         $res = Db::name('filing')
             ->where($where)
-            ->update(['status' => 5, 'updatetime' => date('Y-m-d H:i:s')]);
+            ->update(['status' => 5, 'updatetime' => date('Y-m-d H:i:s'), 'updaterid' => $this->uid, 'updater' => $this->uname,]);
         return $res ? json_show(0, '操作成功') : json_show(1004, '操作失败');
     }
 
@@ -380,8 +394,8 @@ class Filing extends Base
                     'good_thumb_img' => '',
                     'good_info_img' => '',
                     'status' => 1,
-                    'createrid' => $filing['apply_id'],
-                    'creater' => $filing['apply_name'],
+                    'createrid' => $filing['updaterid'],
+                    'creater' => $filing['updater'],
                     'is_del' => 0,
                     'addtime' => $date,
                     'updatetime' => $date,
@@ -408,8 +422,8 @@ class Filing extends Base
             //sale
             $sale_id = Db::name('sale')->insertGetId([
                 'orderCode' => $orderCode,
-                'apply_id' => $filing['apply_id'],
-                'apply_name' => $filing['apply_name'],
+                'apply_id' => $filing['updaterid'],
+                'apply_name' => $filing['updater'],
                 'order_type' => $order_type,//报备商品
                 'order_source' => $order_source,//报备转单
                 'platform_id' => $filing['platform_id'],
@@ -459,8 +473,8 @@ class Filing extends Base
                 'updatetime' => $date,
                 'cgderid' => $supplier['data']['personid'],
                 'cgder' => $supplier['data']['person'],
-                'good_createrid' => $filing['apply_id'],
-                'good_creater' => $filing['apply_name'],
+                'good_createrid' => $filing['updaterid'],
+                'good_creater' => $filing['updater'],
             ]);
 
 
@@ -531,8 +545,8 @@ class Filing extends Base
                 'good_type' => 1,
                 'addtime' => $date,
                 'updatetime' => $date,
-                'good_createrid' => $filing['apply_id'],
-                'good_creater' => $filing['apply_name'],
+                'good_createrid' => $filing['updaterid'],
+                'good_creater' => $filing['updater'],
             ]);
 
             //台账
@@ -576,8 +590,8 @@ class Filing extends Base
                 Db::name('order_out')->insert([
                     'orderCode' => $orderCode,
                     'outCode' => $outCode,
-                    'apply_id' => $this->uid,
-                    'apply_name' => $this->uname,
+                    'apply_id' => $filing['updaterid'],
+                    'apply_name' => $filing['updater'],
                     'addrid' => $addrid,
                     'post_name' => '',
                     'post_code' => '',
@@ -608,7 +622,7 @@ class Filing extends Base
             //更新报备单
             Db::name('filing')
                 ->where(['is_del' => 0, 'id' => $param['id'], 'status' => 2])
-                ->update(['status' => 3, 'updatetime' => $date, 'orderCode' => $orderCode, 'reason' => '']);
+                ->update(['status' => 3, 'updatetime' => $date, 'orderCode' => $orderCode, 'reason' => '', 'updaterid' => $this->uid, 'updater' => $this->uname]);
 
             //待办已办先不处理
 

+ 13 - 2
app/admin/controller/Goodup.php

@@ -510,6 +510,12 @@ class Goodup extends Base
 		$supplier=$supplierArr['child']??[];
 //        $supplier =Db::name("supplier")->where(["code"=>$supplierNo])->findOrEmpty();
 //        if(empty($supplier)) return error_show(1004,"供应商信息未找到");
+
+        if ($this->level == 2) {
+            $supplier_account = checkHasAccountBySupplierNos([$supplierNo]);
+            if (isset($supplier_account[$supplierNo])) return json_show(1004, '该供应商已开通账号,不允许操作');
+        }
+
         $good_size = isset($this->post['good_size'])&&$this->post['good_size']!=""? trim($this->post['good_size']):"";
         if($good_size==''){
             return error_show(1004,"参数good_size不能为空");
@@ -2334,6 +2340,12 @@ class Goodup extends Base
         if($supplierNo==''){
             return error_show(1004,"参数supplierNo不能为空");
         }
+
+        if (($this->level == 2) && ($supplierNo != $data['supplierNo'])) {
+            $supplier_account = checkHasAccountBySupplierNos([$supplierNo]);
+            if (isset($supplier_account[$supplierNo])) return json_show(1004, '该供应商已开通账号,不允许操作');
+        }
+
         $userCommon= new \app\admin\common\User();
         $supplier_temp =$userCommon->handle("hqInfo",["code"=>$supplierNo]);
         if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) return error_show(1004,"供应商信息未找到");
@@ -2409,8 +2421,7 @@ class Goodup extends Base
         if($delivery_day===""){
             return error_show(1004,"参数delivery_day不能为空");
         }
-        $lead_time = isset($this->post['lead_time'])&&$this->post['lead_time']!==""? intval($this->post['lead_time'])
-            :"0";
+        $lead_time = isset($this->post['lead_time'])&&$this->post['lead_time']!==""? intval($this->post['lead_time']) :"0";
 //        if($lead_time===""){
 //            return error_show(1004,"参数lead_time不能为空");
 //        }

+ 14 - 14
app/admin/controller/Orderuse.php

@@ -13,11 +13,11 @@ class Orderuse extends Base
     public function create()
     {
 
-        $param = $this->request->only(['companyNo', 'companyName', 'order_use'], 'post', 'trim');
+        $param = $this->request->only(['order_use'], 'post', 'trim');
 
         $val = Validate::rule([
-            'companyNo|公司编码' => 'require|length:18',
-            'companyName|公司名称' => 'require|max:255',
+//            'companyNo|公司编码' => 'require|length:18',
+//            'companyName|公司名称' => 'require|max:255',
             'order_use|订单用途' => 'require|max:255',
         ]);
 
@@ -52,15 +52,15 @@ class Orderuse extends Base
             ->field('id')
             ->where([
                 'is_del' => 0,
-                'companyNo' => $param['companyNo'],
+//                'companyNo' => $param['companyNo'],
                 'order_use' => $param['order_use'],
             ])
             ->findOrEmpty();
         if (!empty($tmp)) return json_show(1004, '同一公司下该订单用途已存在');
 
         $datainfo = Db::name('order_use')->insert([
-            "companyNo" => $param['companyNo'],
-            "companyName" => $param['companyName'],
+//            "companyNo" => $param['companyNo'],
+//            "companyName" => $param['companyName'],
             "order_use" => $param['order_use'],
             "creater" => $this->uname,
             "createrid" => $this->uid,
@@ -90,7 +90,7 @@ class Orderuse extends Base
             'start' => '',
             'end' => '',
             'company_name' => '',
-            'companyNo' => '',
+//            'companyNo' => '',
             'relaComNo' => '',
         ], 'post', 'trim');
 
@@ -114,7 +114,7 @@ class Orderuse extends Base
 
 //        $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
         if ($param['company_name'] !== "") $where[] = ["createrid", 'in', get_company_item_user_by_name($param['company_name'])];
-        if ($param['companyNo'] !== "") $where[] = ["companyNo", '=', $param['companyNo']];
+//        if ($param['companyNo'] !== "") $where[] = ["companyNo", '=', $param['companyNo']];
         if ($param['relaComNo'] !== "") $where[] = ["companyNo", '=', $param['relaComNo']];
 
         $count = Db::name('order_use')
@@ -140,12 +140,12 @@ class Orderuse extends Base
 
     public function edit()
     {
-        $param = $this->request->only(['id', 'companyNo', 'companyName', 'order_use'], 'post', 'trim');
+        $param = $this->request->only(['id', 'order_use'], 'post', 'trim');
 
         $val = Validate::rule([
             'id' => 'require|number|gt:0',
-            'companyNo|公司编码' => 'require|length:18',
-            'companyName|公司名称' => 'require|max:255',
+//            'companyNo|公司编码' => 'require|length:18',
+//            'companyName|公司名称' => 'require|max:255',
             'order_use|订单用途' => 'require|max:255',
         ]);
 
@@ -176,7 +176,7 @@ class Orderuse extends Base
             ->field('id')
             ->where([
                 'is_del' => 0,
-                'companyNo' => $param['companyNo'],
+//                'companyNo' => $param['companyNo'],
                 'order_use' => $param['order_use'],
             ])
             ->where('id', '<>', $param['id'])
@@ -187,8 +187,8 @@ class Orderuse extends Base
         $datainfo = Db::name("order_use")
             ->where(['is_del' => 0, 'id' => $param['id']])
             ->update([
-                "companyNo" => $param['companyNo'],
-                "companyName" => $param['companyName'],
+//                "companyNo" => $param['companyNo'],
+//                "companyName" => $param['companyName'],
                 "order_use" => $param['order_use'],
                 "updatetime" => date("Y-m-d H:i:s")
             ]);

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

@@ -885,7 +885,7 @@ class Purch extends Base
         if($cg==""){
             return error_show(1002,"未找到采购单数据");
         }
-        if($cg['order_type']==3){
+        if (in_array($cg['order_type'], [3, 4])) {
             $gd = Db::name("good_zixun")->where(["spuCode"=>$cg['spuCode']])->find();
         }else {
             $gd =Db::name('good_basic')->where(['spuCode'=>$cg['spuCode']])->find();
@@ -1100,7 +1100,7 @@ class Purch extends Base
         }
         $dn = Db::name('purchease_order')->where(['cgdNo'=>$idinf['cgdNo'],'is_del'=>0])->find();
 
-        if($dn['order_type']==3){
+        if (in_array($dn['order_type'], [3, 4])) {
             $goon = Db::name("good_zixun")->where(["spuCode"=>$dn['spuCode'],"is_del"=>0])->find();
         }else {
             $goon =Db::name('good_basic')->where(['spuCode'=>$dn['spuCode']])->find();
@@ -1281,7 +1281,7 @@ class Purch extends Base
 
         foreach ($list as &$value) {
 
-            if ($value['order_type'] == 3) {
+            if (in_array($value['order_type'], [3, 4])) {
                 $temp = Db::name("good_zixun")
                     ->where(["spuCode" => $value['产品编号'], "is_del" => 0])
                     ->field('id,specinfo,good_unit,tax')

+ 11 - 5
app/admin/controller/Purchin.php

@@ -303,9 +303,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('已开通供应商账号,当前账号不能操作');
+            if ($this->level == 2) {
+                //如果开通了供应商账号,则只允许level3账号操作,level2账号不允许操作
+                $all_has_supplier_account = checkHasAccountBySupplierNos([$cgdinfo['supplierNo']]);
+                if (isset($all_has_supplier_account[$cgdinfo['supplierNo']])) throw new Exception('已开通供应商账号,当前账号不能操作');
+            }
 
             $win = Db::name("purchease_in")->insert($orin,true);
             if($win){
@@ -362,7 +364,11 @@ class Purchin extends Base
 //                if ($this->uid != $personid) throw new Exception('只能由供应商负责人操作');
 //                }
 
-//                if ($this->level == 2) {
+                $userCommon = new \app\admin\common\User();
+                $supplier_temp = $userCommon->handle('sInfo',['code'=>$cgdinfo['supplierNo']]);
+                $person = $supplier_temp['data'];
+
+                if ($this->level == 2 && $this->uid != $person['personid']) throw new Exception('只能由供应商负责人操作');
 //                    $person = Db::connect('mysql_sys')
 //                        ->name('supplier')
 //                        ->where('code', $cgdinfo['supplierNo'])
@@ -1487,7 +1493,7 @@ class Purchin extends Base
         $names = $userCommon->handle('getCodeAndName',['code'=>array_unique(array_column($list,'companyNo'))]);
 
         foreach ($list as $value){
-            if($value['order_type']==3){
+            if (in_array($value['order_type'], [3, 4])) {
                 $goon = Db::name("good_zixun")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
             }else {
                 $goon =Db::name('good_basic')->where(['spuCode'=>$value['spuCode']])->find();

+ 4 - 4
app/admin/controller/Resign.php

@@ -179,8 +179,8 @@ class Resign extends Base
 		if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) return error_show(1002,"商品供应商不存在");
 		$holder_id=$supplier_temp['data']['personid']??0;
 		$holder_name=$supplier_temp['data']['person']??0;
-		$coma =$userCommon->handle("getCodeAndName",["code"=>$good['companyNo']]);
-		if($coma['code']!=0 || empty($coma['data']) ) return error_show(1002,"商品业务公司不存在");
+		$coma =$userCommon->handle("getCodeAndName",["code"=>[$good['companyNo'],$good['supplierNo']]]);
+//		if($coma['code']!=0 || empty($coma['data']) ) return error_show(1002,"商品业务公司不存在");
         //校验数量
         $goodnake = Db::name("good_nake")
             ->field('id,min_num')
@@ -206,9 +206,9 @@ class Resign extends Base
             "good_name"=>$good['good_name'],
             "good_num"=>$good_num,
             "wsm_code"=>'',
-            "companyName"=>$coma['data'][$good['companyNo']],
+            "companyName"=>$coma['data'][$good['companyNo']]??'',
             "companyNo"=>$good['companyNo'],
-            "supplierName"=>$coma['data'][$good['supplierNo']],
+            "supplierName"=>$coma['data'][$good['supplierNo']]??'',
             "supplierNo"=>$good['supplierNo'],
             "file_url"=>$file_url,
             "lasttime"=>$lastime,

+ 8 - 8
app/admin/controller/Resigninfo.php

@@ -64,14 +64,14 @@ class Resigninfo extends Base
     public function create()
     {
 
-        $post = $this->request->only(['resign_uid', 'hand_uid', 'resign_date', 'expire_date', 'companyNo', 'is_hand' => 0, 'remark' => ''], 'post', 'trim');
+        $post = $this->request->only(['resign_uid', 'hand_uid', 'resign_date', 'expire_date', 'is_hand' => 0, 'remark' => ''], 'post', 'trim');
 
         $val = Validate::rule([
             'resign_uid|离职人' => 'require|number|gt:0',
             'hand_uid|交接人' => 'require|number|gt:0',
             'resign_date|离职日期' => 'require|date',
             'expire_date|生效时间' => 'require|date',
-            'companyNo|所属公司' => 'require|max:255',
+//            'companyNo|所属公司' => 'require|max:255',
             'is_hand|是否交接' => 'require|number|in:0,1',
             'remark|备注' => 'max:255',
         ]);
@@ -79,7 +79,7 @@ class Resigninfo extends Base
         if ($val->check($post) == false) return json_show(1004, $val->getError());
 
         $userCommon = new \app\admin\common\User();
-        $rs = $userCommon->handle('userlist', ['uid' => [$post['resign_uid'], $post['hand_uid']], 'companyNo' => $post['companyNo']]);
+        $rs = $userCommon->handle('userlist', ['uid' => [$post['resign_uid'], $post['hand_uid']]]);
         $uid_nickname = array_column($rs['data']['list'], 'nickname', 'id');
 
         if (!isset($uid_nickname[$post['resign_uid']])) return json_show(1004, '离职人不存在或不属于该公司');
@@ -90,7 +90,7 @@ class Resigninfo extends Base
 
             $status = 0;
             $data = [
-                'companyNo' => $post['companyNo'],
+//                'companyNo' => $post['companyNo'],
                 "resign_uid" => $post['resign_uid'],
                 "hand_uid" => $post['hand_uid'],
                 "resign_name" => $uid_nickname[$post['resign_uid']],
@@ -137,7 +137,7 @@ class Resigninfo extends Base
     //编辑
     public function edit()
     {
-        $post = $this->request->only(['id', 'resign_uid', 'hand_uid', 'resign_date', 'expire_date', 'companyNo', 'is_hand' => 0, 'remark' => ''], 'post', 'trim');
+        $post = $this->request->only(['id', 'resign_uid', 'hand_uid', 'resign_date', 'expire_date', 'is_hand' => 0, 'remark' => ''], 'post', 'trim');
 
         $val = Validate::rule([
             'id' => 'require|number|gt:0',
@@ -145,7 +145,7 @@ class Resigninfo extends Base
             'hand_uid|交接人' => 'require|number|gt:0',
             'resign_date|离职日期' => 'require|date',
             'expire_date|生效时间' => 'require|date',
-            'companyNo|所属公司' => 'require|max:255',
+//            'companyNo|所属公司' => 'require|max:255',
             'is_hand|是否交接' => 'require|number|in:0,1',
             'remark|备注' => 'max:255',
         ]);
@@ -153,7 +153,7 @@ class Resigninfo extends Base
         if ($val->check($post) == false) return json_show(1004, $val->getError());
 
         $userCommon = new \app\admin\common\User();
-        $rs = $userCommon->handle('userlist', ['uid' => [$post['resign_uid'], $post['hand_uid']], 'companyNo' => $post['companyNo']]);
+        $rs = $userCommon->handle('userlist', ['uid' => [$post['resign_uid'], $post['hand_uid']]]);
         $uid_nickname = array_column($rs['data']['list'], 'nickname', 'id');
 
         if (!isset($uid_nickname[$post['resign_uid']])) return json_show(1004, '离职人不存在或不属于该公司');
@@ -179,7 +179,7 @@ class Resigninfo extends Base
                 "is_hand" => $post['is_hand'],
                 "resign_date" => date('Y-m-d H:i:s'),
                 "is_del" => 0,
-                'companyNo' => $post['companyNo'],
+//                'companyNo' => $post['companyNo'],
                 "updatetime" => date('Y-m-d H:i:s'),
             ];
             $it = Db::name('resign_info')->where(['is_del' => 0, 'id' => $post['id']])->save($str);

+ 67 - 35
app/admin/controller/Sale.php

@@ -3272,7 +3272,7 @@ class Sale extends Base
 //        $names = $userCommon->handle('getCodeAndName',['code'=>array_merge(array_column($list,'supplierNo'),array_column($list,'customer_code'))]);
 
         foreach ($list as $value) {
-            if ($value['order_type'] == 3) {
+            if (in_array($value['order_type'], [3, 4])) {
                 $goon = Db::name("good_zixun")->where(["spuCode" => $value['good_code'], "is_del" => 0])->find();
             } else {
                 $goon = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
@@ -3479,7 +3479,7 @@ class Sale extends Base
         if ($einfo == false) {
             return error_show(1002, "未找到销售订单数据");
         }
-        if ($einfo['order_type'] == 3) {
+        if (in_array($einfo['order_type'], [3, 4])) {
             $goon = Db::name("good_zixun")->where(["spuCode" => $einfo['good_code'], "is_del" => 0])->find();
         } else {
             $goon = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
@@ -3685,7 +3685,7 @@ class Sale extends Base
                 }
                 $addr['addr_cn'] = GetAddr(json_encode($addinfo));
             }
-            if ($value['order_type'] == 3) {
+            if (in_array($value['order_type'], [3, 4])) {
                 $goon = Db::name("good_zixun")->field('id,cat_id')->where(["spuCode" => $value['good_code'], "is_del" => 0])->find();
             } else {
                 $goon = Db::name('good_platform')->field('a.id,b.cat_id')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')->where(['a.skuCode' => $value['skuCode']])->find();
@@ -4105,9 +4105,14 @@ class Sale extends Base
             $uname = $this->uname;//isset($user_info['data']['nickname']) ? $user_info['data']['nickname'] : '';
 
             if ($einfo['is_stock'] == 1) {
-                //如果是库存品,只能由库管和库管-张凯旋操作
-                $own_roleid = Db::name('user_role')->where(['is_del'=>0,'uid'=>$uid,'status'=>1])->value('roleid',0);
-                if (!in_array($own_roleid, config('app.wsm_cgder_role'))) throw new \think\Exception('库存品只能由库管人员操作');
+                //由于存在一个单子对应多个仓库的情况,因此库存品的判断暂时无法进行,待分仓功能完成后再考虑
+
+                //如果是库存品,只能由库管操作
+//                $contactor = Db::name('warehouse_info')
+//                    ->where(['wsm_code' => $outinfo['wsm_code'], 'is_del' => 0])
+//                    ->value('contactor');
+//                $own_roleid = Db::name('user_role')->where(['is_del'=>0,'uid'=>$uid,'status'=>1])->value('roleid',0);
+//                if ($uid != $contactor) throw new \think\Exception('库存品只能由库管人员操作');
             } elseif ($einfo['is_stock'] == 0) {
                 //非库存品和采返商品只能由供应商负责人操作
                 if ($einfo['order_type'] == 3 || $einfo['order_type'] ==4 ) {
@@ -4847,23 +4852,22 @@ class Sale extends Base
                 ['a.outCode', 'in', array_column($param['list'], 'outCode')],
             ])->column('c.supplierNo', 'a.outCode');
 
-        //检查这些供应商编码是否开通了账号
-//        $temp_res =
+        if ($this->level != 3) {
+            //检查这些供应商编码是否开通了账号
+            $temp_res = checkHasAccountBySupplierNos(array_values($suppliers));
 //            ->whereIn('supplierNo', array_values($suppliers))
 //            ->column('supplierNo');
 //        $temp = [];
 //        foreach ($suppliers as $k => $v) {
 //            if (in_array($v, $temp_res)) $temp[] = $k;
 //        }
-//
-//        if (!empty($temp)) return json_show(1003, '不允许处理已开通账号的供应商的单子', $temp);
-
-
+            if (!empty($temp_res)) return json_show(1003, '不允许处理已开通账号的供应商的单子', array_keys($temp_res));
+        }
 
 //        $user = GetUserInfo($param['token']);
         $createrid = $this->uid;//$user['data']['id']??0;//$this->uid;
         $creater = $this->uname;//$user['data']['nickname']??0;//$this->uname;
-        $own_roleid = Db::name('user_role')->where(['is_del'=>0,'uid'=>$createrid,'status'=>1])->value('roleid',0);
+//        $own_roleid = Db::name('user_role')->where(['is_del'=>0,'uid'=>$createrid,'status'=>1])->value('roleid',0);
 
         //所有发货单信息
         $order_out_infos = Db::name("order_out")
@@ -4872,6 +4876,26 @@ class Sale extends Base
             ->whereIn('outCode', array_column($param['list'], 'outCode'))
             ->column('id,status,send_num,orderCode,wsm_code,apply_id,apply_name', 'outCode');
 
+        //所有库管人员信息
+//        $wsm_infos=Db::name('warehouse_info')
+//            ->where(['is_del'=>0,'wsm_code'=>array_column($order_out_infos,'wsm_code')])
+//            ->column('contactor','wsm_code');
+
+        //所有商品信息及供应商编码
+        $spuCodes=Db::name('sale')
+            ->where(['is_del'=>0,'orderCode'=>array_column($order_out_infos,'orderCode')])
+            ->column('good_code');
+        $supplierNo1 =  Db::name('good_zixun')
+            ->where(['spuCode' => $spuCodes, 'is_del' => 0])
+            ->column('supplierNo','spuCode');
+        $supplierNo2 =  Db::name('good')
+            ->where(['spuCode' => $spuCodes, 'is_del' => 0])
+            ->column('supplierNo','spuCode');
+        $supplierNos = array_unique(array_merge($supplierNo1,$supplierNo2));
+        $userCommon = new \app\admin\common\User();
+        $temp = $userCommon->handle('sGetList',['more_code'=>array_values($supplierNos)]);
+        $supplier_personid = array_column($temp['data']['list'],'personid','code');
+
         //处理数据
         Db::startTrans();
         try {
@@ -4895,30 +4919,38 @@ class Sale extends Base
                     return app_show(1005, '下列发货申请单号重复', [$value]);
                 } else $temp_out_codes[$value['outCode']] = $value['outCode'];
 
-                if ($sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['is_stock'] == 1) {
-                    if (!in_array($own_roleid, config('app.wsm_cgder_role'))) {
-                        Db::rollback();
-                        return app_show(1003, $value['outCode'] . '发货单只能由库管操作');
-                    }
-                } else {
-                	if($sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type']==3
-                	||$sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type']==4 ){
-		                $personid = Db::name('good_zixun')->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
-		                              ->where(['a.spuCode' => $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code'], 'a.is_del' => 0])
-		                              ->value('personid');
-	                }else{
-		                $personid = Db::name('good')->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
-		                              ->where(['a.spuCode' =>
-			                              $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code'],'a.is_del' => 0])
-		                              ->value('personid');
-	                }
+                if($this->level==2) {
 
-//	                if ($createrid != $personid) {
-//		                Db::rollback();
-//		                return app_show(1003, $value['outCode'] . '发货单只能由供应商负责人操作');
-//	                }
-                }
+                    //level2账号的话,库存品只能由库管操作,非库存品只能由供应商负责人操作,level3账号不限制
+                    if ($sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['is_stock'] == 1) {
+
+                        //由于存在一个单子对应多个仓库的情况,因此库存品的判断暂时无法进行,待分仓功能完成后再考虑
+//                        if($wsm_infos[$order_out_infos[$value['outCode']]['wsm_code']]??0 != $createrid) throw new \think\Exception($value['outCode'] . '发货单只能由库管操作');
 
+//                        if (!in_array($own_roleid, config('app.wsm_cgder_role'))) {
+//                            Db::rollback();
+//                            return app_show(1003, $value['outCode'] . '发货单只能由库管操作');
+//                        }
+                    } else {
+//                        if ($sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type'] == 3 || $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['order_type'] == 4) {
+//                            $supplierNo = Db::name('good_zixun')
+////                                ->leftJoin("supplier b", "a.supplierNo=b.code")
+//                                ->where(['spuCode' => $sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code'], 'is_del' => 0])
+//                                ->value('supplierNo');
+//                        } else {
+//                            $supplierNo = Db::name('good')
+////                                ->alias("a")
+////                                ->leftJoin("supplier b", "a.supplierNo=b.code")
+//                                ->where(['spuCode' =>$sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code'], 'is_del' => 0])
+//                                ->value('supplierNo');
+//                        }
+
+                    if ($createrid != $supplier_personid[$supplierNos[$sale_infos[$order_out_infos[$value['outCode']]['orderCode']]['good_code']]]) throw new \think\Exception($value['outCode'] . '发货单只能由供应商负责人操作');
+//                            Db::rollback();
+//                            return app_show(1003, $value['outCode'] . '发货单只能由供应商负责人操作');
+
+                    }
+                }
                 //【发货单】
                 //查询已有发货单信息及状态
 

+ 21 - 14
app/admin/controller/SaleReport.php

@@ -541,7 +541,7 @@ class SaleReport extends Base
                 $value['second_customer_org'] = isset($customer_org1[2]) ? $customer_org1[2] : '';
             }
 
-            if ($value['order_type'] == 3 ||$value['order_type']==4) $value['unit'] = Db::name("good_zixun")->alias('gz')->leftJoin('unit u','u.id=gz.good_unit')->where(["gz.spuCode" => $value['good_code'], "gz.is_del" => 0])->value('u.unit');
+            if ($value['order_type'] == 3 || $value['order_type'] == 4) $value['unit'] = Db::name("good_zixun")->alias('gz')->leftJoin('unit u', 'u.id=gz.good_unit')->where(["gz.spuCode" => $value['good_code'], "gz.is_del" => 0])->value('u.unit');
             else  $value['unit'] = Db::name('good_basic')->alias('gb')->leftJoin('unit u', 'u.id=gb.good_unit')->where(["gb.spuCode" => $value['good_code'], "gb.is_del" => 0])->value('u.unit');
 
             $value['is_stock'] = isset($this->all_stock[$value['is_stock']]) ? $this->all_stock[$value['is_stock']] : '';
@@ -698,7 +698,7 @@ class SaleReport extends Base
                 $value['second_customer_org'] = isset($customer_org1[2]) ? $customer_org1[2] : '';
             }
 
-            if ($value['order_type'] == 3 || $value['order_type']==4) {
+            if ($value['order_type'] == 3 || $value['order_type'] == 4) {
                 $value['unit'] = Db::name("good_zixun")
                     ->alias('gz')
                     ->leftJoin('unit u', 'u.id=gz.good_unit')
@@ -769,8 +769,8 @@ class SaleReport extends Base
                 $value['二级企业'] = isset($customer_org1[2]) ? $customer_org1[2] : '';
             }
 
-            if ($value['order_type'] == 3||$value['order_type']==4) $value['单位'] = Db::name("good_zixun")->alias('gz')
-            ->leftJoin('unit u', 'u.id=gz.good_unit')->where(["gz.spuCode" => $value['good_code'], "gz.is_del" => 0])->value('u.unit');
+            if ($value['order_type'] == 3 || $value['order_type'] == 4) $value['单位'] = Db::name("good_zixun")->alias('gz')
+                ->leftJoin('unit u', 'u.id=gz.good_unit')->where(["gz.spuCode" => $value['good_code'], "gz.is_del" => 0])->value('u.unit');
             else $value['单位'] = Db::name('good_basic')->alias('gb')->leftJoin('unit u', 'u.id=gb.good_unit')->where(["gb.spuCode" => $value['good_code'], "gb.is_del" => 0])->value('u.unit');
 
             if (!isset($company_tmp[$value['apply_id']])) $company_tmp[$value['apply_id']] = $value['apply_id'];
@@ -848,8 +848,8 @@ class SaleReport extends Base
                 $value['second_customer_org'] = isset($customer_org1[2]) ? $customer_org1[2] : '';
             }
 
-            if ($value['order_type'] == 3 || $value['order_type']==4) $value['unit'] = Db::name("good_zixun")->alias('gz')->leftJoin('unit u',
-             'u.id=gz.good_unit')->where(["gz.spuCode" => $value['good_code'], "gz.is_del" => 0])->value('u.unit');
+            if ($value['order_type'] == 3 || $value['order_type'] == 4) $value['unit'] = Db::name("good_zixun")->alias('gz')->leftJoin('unit u',
+                'u.id=gz.good_unit')->where(["gz.spuCode" => $value['good_code'], "gz.is_del" => 0])->value('u.unit');
             else $value['unit'] = Db::name('good_basic')->alias('gb')->leftJoin('unit u', 'u.id=gb.good_unit')->where(["gb.spuCode" => $value['good_code'], "gb.is_del" => 0])->value('u.unit');
 
             if (!isset($uid_tmp[$value['apply_id']])) $uid_tmp[$value['apply_id']] = $value['apply_id'];//get_company_name_by_uid($value['apply_id']);//获取创建人的所属部门
@@ -951,8 +951,8 @@ class SaleReport extends Base
                 $value['二级企业'] = isset($customer_org1[2]) ? $customer_org1[2] : '';
             }
 
-            if ($value['order_type'] == 3 || $value['order_type']==4) $value['单位'] = Db::name("good_zixun")->alias('gz')
-            ->leftJoin('unit u','u.id=gz.good_unit')->where(["gz.spuCode" => $value['good_code'], "gz.is_del" => 0])->value('u.unit');
+            if ($value['order_type'] == 3 || $value['order_type'] == 4) $value['单位'] = Db::name("good_zixun")->alias('gz')
+                ->leftJoin('unit u', 'u.id=gz.good_unit')->where(["gz.spuCode" => $value['good_code'], "gz.is_del" => 0])->value('u.unit');
             else $value['单位'] = Db::name('good_basic')->alias('gb')->leftJoin('unit u', 'u.id=gb.good_unit')->where(["gb.spuCode" => $value['good_code'], "gb.is_del" => 0])->value('u.unit');
 
             if (!isset($uid_tmp[$value['apply_id']])) $uid_tmp[$value['apply_id']] = get_company_name_by_uid($value['apply_id']);//获取创建人的所属部门
@@ -1411,7 +1411,7 @@ class SaleReport extends Base
         foreach ($data as $value) {
 
             if (!isset($codes[$value['customer_code']])) $codes[$value['customer_code']] = $value['customer_code'];
-            if ($value['order_type'] == 3 || $value['order_type']==4) $noble_metal = Db::name("good_zixun")->where(["spuCode" => $value['spuCode'], "is_del" => 0])->value('noble_metal');
+            if ($value['order_type'] == 3 || $value['order_type'] == 4) $noble_metal = Db::name("good_zixun")->where(["spuCode" => $value['spuCode'], "is_del" => 0])->value('noble_metal');
             else $noble_metal = Db::name('good_basic')->where(['spuCode' => $value['spuCode'], 'is_del' => 0])->value('noble_metal');
 
             if (!isset($uid_tmp[$value['apply_id']])) $uid_tmp[$value['apply_id']] = $value['apply_id'];
@@ -1468,7 +1468,7 @@ class SaleReport extends Base
         foreach ($data as $value) {
             if (!isset($codes[$value['customer_code']])) $codes[$value['customer_code']] = $value['customer_code'];
 
-            if ($value['order_type'] == 3|| $value['order_type']==4) $noble_metal = Db::name("good_zixun")->where(["spuCode" => $value['spuCode'], "is_del" => 0])->value('noble_metal');
+            if ($value['order_type'] == 3 || $value['order_type'] == 4) $noble_metal = Db::name("good_zixun")->where(["spuCode" => $value['spuCode'], "is_del" => 0])->value('noble_metal');
             else $noble_metal = Db::name('good_basic')->where(['spuCode' => $value['spuCode'], 'is_del' => 0])->value('noble_metal');
 
 
@@ -2837,7 +2837,7 @@ class SaleReport extends Base
             ->cursor();
 
         $list = [];
-        $total = ['person' => '总计', 'total_cgd' => 0, 'tag_1' => 0, 'tag_2' => 0, 'tag_c' => 0, 'tag_b' => 0, 'tag_zx' => 0];
+        $total = ['person' => '总计', 'total_cgd' => 0, 'tag_1' => 0, 'tag_2' => 0, 'tag_c' => 0, 'tag_b' => 0, 'tag_zx' => 0, 'tag_else' => 0];
         foreach ($data as $val) {
 
             if (!isset($list[$val['personid']])) {
@@ -2849,6 +2849,7 @@ class SaleReport extends Base
                     'tag_c' => 0,//to C
                     'tag_b' => 0,//to B
                     'tag_zx' => 0,//咨询采反总数
+                    'tag_else' => 0,//采销录单采反
                 ];
             }
 
@@ -2871,6 +2872,9 @@ class SaleReport extends Base
                     if ($val['order_source'] == 2) {
                         $list[$val['personid']]['tag_zx']++;
                         $total['tag_zx']++;
+                    } else {
+                        $list[$val['personid']]['tag_else']++;
+                        $total['tag_else']++;
                     }
                     break;
             }
@@ -2932,7 +2936,7 @@ class SaleReport extends Base
             ->where($where)
             ->cursor();
         $list = [];
-        $total = ['采购方' => '总计', '订单总量' => 0, '库存品' => 0, '非库存品' => 0, 'toC' => 0, 'toB' => 0, '反馈单数合计' => 0];
+        $total = ['采购方' => '总计', '订单总量' => 0, '库存品' => 0, '非库存品' => 0, 'toC' => 0, 'toB' => 0, '反馈单数合计' => 0, '采销录单采反' => 0];
         foreach ($data as $val) {
 
             if (!isset($list[$val['personid']])) {
@@ -2944,6 +2948,7 @@ class SaleReport extends Base
                     'toC' => 0,//to C
                     'toB' => 0,//to B
                     '反馈单数合计' => 0,//咨询采反总数
+                    '采销录单采反' => 0,//采销录单采反
                 ];
             }
 
@@ -2966,8 +2971,10 @@ class SaleReport extends Base
                 case 3:
                     //咨询采反
                     if ($val['order_source'] == 2) {
-                        $list[$val['personid']]['反馈单数合计']++;
-                        $total['反馈单数合计']++;
+
+                    } else {
+                        $list[$val['personid']]['采销录单采反']++;
+                        $total['采销录单采反']++;
                     }
 
                     break;

+ 1 - 1
app/admin/controller/SupplierClient.php

@@ -741,7 +741,7 @@ class SupplierClient extends Base {
                 }
                 $addr['addr_cn'] = GetAddr(json_encode($addinfo));
             }
-            if ($value['order_type'] == 3) {
+            if (in_array($value['order_type'], [3, 4])) {
                 $goon = Db::name("good_zixun")->field('id,cat_id')->where(["spuCode" => $value['good_code'], "is_del" => 0])->find();
             } else {
                 $goon = Db::name('good_platform')->field('a.id,b.cat_id')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')->where(['a.skuCode' => $value['skuCode']])->find();

+ 1 - 1
app/command/ImportOrderFromCHandleData.php

@@ -193,7 +193,7 @@ class ImportOrderFromCHandleData extends Command
                     }
                      $supplier_temp_info = Db::connect('mysql_sys')
                          ->name('supplier')
-                        ->field('id,person,personid')
+                        ->field('id,name,person,personid')
                         ->where('code', $ct['supplierNo'])
                         ->findOrEmpty();
                     $cgd = [

+ 1 - 1
app/command/NowReportHandle.php

@@ -906,7 +906,7 @@ class NowReportHandle extends Command
              $value['一级分类'] = isset($cat[0]['name']) ? $cat[0]['name'] : "";
              $value['二级分类'] = isset($cat[1]['name']) ? $cat[1]['name'] : "";
              $value['三级分类'] = isset($cat[2]['name']) ? $cat[2]['name'] : "";
-			if($value["order_type"]==3){
+            if (in_array($value["order_type"], [3, 4])) {
 				$good =Db::name("good_zixun")->where(["spuCode"=>$value['商品编号']])->find();
 			}else{
 				$good =Db::name("good")->where(["spuCode"=>$value['商品编号']])->find();