wugg 2 年之前
父節點
當前提交
2dbd41145f

+ 1 - 0
app/admin/common/User.php

@@ -70,6 +70,7 @@ class User
         'customer_org_info' => 'customer_org_info',
         'customer_org_delete' => 'customer_org_delete',
         'customer_org_status' => 'customer_org_status',
+        'get_top_customer_org' => 'get_top_customer_org',
         'getCodeAndName' => 'getCodeAndName',
         'upgrade' => 'supplerUpgrade',
         'get_business_list_tmp' => 'get_business_list_tmp',

+ 38 - 17
app/admin/controller/After.php

@@ -223,7 +223,7 @@ class After extends Base
         $param = $this->request->only([
             'page' => 1,
             'size' => 10,
-            'relaComNo'=>'',
+            'relaComNo' => '',
             'returnCode' => '',
             'outCode' => '',
             'status' => '',
@@ -238,6 +238,7 @@ class After extends Base
             'end' => '',
             'company_name' => '',
             'supplierNo' => '',
+            'order_source' => '',
         ], 'post', 'trim');
 
         $where = [['a.is_del', "=", 0]];
@@ -254,6 +255,7 @@ class After extends Base
         if ($param['apply_name'] != "") $where[] = ['a.apply_name', "like", "%{$param['apply_name']}%"];
         if ($param['start'] !== "") $where[] = ['a.addtime', ">=", $param['start']];
         if ($param['end'] !== "") $where[] = ['a.addtime', "<=", $param['end']];
+        if ($param['order_source'] !== "") $where[] = ['c.order_source', "=", $param['order_source']];
         if ($param['supplierNo'] !== "") {
             $spuCode = Db::name('good_basic')
                 ->where(['is_del' => 0, 'supplierNo' => $param['supplierNo']])
@@ -276,7 +278,7 @@ class After extends Base
         }
 
         //level3账号不允许看到库存品订单
-        if($this->level==3) $where[]=['c.is_stock','<>',1];
+        if ($this->level == 3) $where[] = ['c.is_stock', '<>', 1];
 //        $condition .="a.cgderid in {$hand} or a.person_id in {$hand} or a.apply_id in ("
 //        .implode(',',$role[DataGroupModel::$type_全部]).")";
 
@@ -301,7 +303,7 @@ class After extends Base
             ->where(function ($query) use ($condition) {
                 $query->whereOr($condition);
             })
-            ->field("a.*,b.return_wsm,b.contactor,b.mobile,b.addr,b.addr_code,b.post_code,b.post_company,b.post_fee,b.gys_remark")
+            ->field("a.*,b.return_wsm,b.contactor,b.mobile,b.addr,b.addr_code,b.post_code,b.post_company,b.post_fee,b.gys_remark,c.order_source,c.supplierNo")
             ->page($param['page'], $param['size'])
             ->order("a.addtime desc")
             ->select()
@@ -312,15 +314,16 @@ class After extends Base
         $item = get_company_name_by_uid($all_createrid);
 
         //获取客户信息
-        $all_customer_code = array_column($list, 'customer_code');
+//        $all_customer_code = array_column($list, 'customer_code');
 
         $userCommon = new \app\admin\common\User();
-        $customer_ = $userCommon->handle('getCodeAndName', ['code' => $all_customer_code]);
+        $customer_ = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($list, 'customer_code'), array_column($list, 'supplierNo')))]);
 
         $data = [];
         foreach ($list as $value) {
 
             $value['customer_name'] = $customer_['data'][$value['customer_code']] ?? '';
+            $value['supplierName'] = $customer_['data'][$value['supplierNo']] ?? '';
             $value['company_name'] = $item[$value['apply_id']] ?? '';
 
             //是否具有编辑权限
@@ -354,20 +357,27 @@ class After extends Base
         $orderinfo = Db::name("sale")->where(["orderCode" => $info["orderCode"]])->findOrEmpty();
         $info['origin_price'] = $orderinfo['origin_price'];
         $info['order_type'] = $orderinfo['order_type'];
+        $info['order_source'] = $orderinfo['order_source'];
+        $info['is_stock'] = $orderinfo['is_stock'];
+        $info['customer_code'] = $orderinfo['customer_code'];
+        $info['companyNo'] = $orderinfo['supplierNo'];
         $info['sale_price'] = $orderinfo['sale_price'];
         $info['total_price'] = sprintf("%1\$.2f", $orderinfo['sale_price'] * $info['error_num']);
         if ($orderinfo['order_type'] == 3) {
             $goon = Db::name("good_zixun")
+                ->field('cat_id,supplierNo')
                 ->where(["spuCode" => $orderinfo['good_code'], "is_del" => 0])
                 ->findOrEmpty();
         } else {
             $goon = Db::name('good_platform')
                 ->alias('a')
+                ->field('b.cat_id,b.supplierNo')
                 ->join('good b', 'b.spuCode=a.spuCode', 'left')
                 ->where(['a.skuCode' => $orderinfo['skuCode']])
                 ->findOrEmpty();
         }
         if (empty($goon)) return error_show(1003, "未找到商品数据");
+        $info['supplierNo'] = $goon['supplierNo'];
 
         $int = isset($goon['cat_id']) && $goon['cat_id'] != 0 ? made($goon['cat_id']) : [];
         $addcode = '';
@@ -381,7 +391,7 @@ class After extends Base
         $info['out_num'] = isset($out['send_num']) ? $out['send_num'] : '';
 //        $customer = Db::name("customer_info")->where(["companyNo"=>$info['customer_code']])->find();
         $wsmcode = [];
-        $info['wsm_supplier'] = $info['customer_name'] ='';
+        $info['wsm_supplier'] = $info['customer_name'] = '';
         if ($info['return_wsm'] != '') {
             $wsmcode = Db::name("warehouse_info")
                 ->alias("a")
@@ -389,25 +399,36 @@ class After extends Base
                 ->where(["a.wsm_code" => $info['return_wsm']])
                 ->field("a.name as wsm_name,a.wsm_code,a.contactor_name,a.position,a.mobile,a.addrs_code,a.addr,a.companyNo,a.supplierNo")
                 ->find();
-            $userCommon=new \app\admin\common\User();
-            $names = $userCommon->handle('getCodeAndName',['code'=>[$wsmcode['supplierNo'],$wsmcode['companyNo']]]);
-            $info['wsm_supplier'] = $names['data'][$wsmcode['supplierNo']]??'';//isset($wsmcode['name']) ? $wsmcode['name'] : "";
-            $info['customer_name'] = $names['data'][$wsmcode['companyNo']]??'';//isset($customer['company']) ? trim($customer['company']) : '';
-        }
 
+        }
 
+        $userCommon = new \app\admin\common\User();
+        $names = $userCommon->handle('getCodeAndName', ['code' => [
+            $wsmcode['supplierNo'] ?? '',
+            $wsmcode['companyNo'] ?? '',
+            $info['customer_code'],
+            $info['companyNo'],
+            $info['supplierNo'],
+        ]]);
 
-        $info['wsm_code'] = isset($wsmcode['wsm_code']) ? $wsmcode['wsm_code'] : "";
-        $info['wsm_name'] = isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name'] : "";
+        if ($info['return_wsm'] != '') {
+            $info['wsm_supplierNo'] = $wsmcode['supplierNo'] ?? "";
+            $info['wsm_supplier'] = $names['data'][$wsmcode['supplierNo']] ?? '';//isset($wsmcode['name']) ? $wsmcode['name'] : "";
+            $info['wsm_customer_name'] = $names['data'][$wsmcode['companyNo']] ?? '';//isset($customer['company']) ? trim($customer['company']) : '';
+            $info['wsm_customer_code'] = $wsmcode['companyNo'] ?? "";//isset($customer['companyNo']) ? trim($customer['companyNo']) : '';
+            $info['wsm_code'] = isset($wsmcode['wsm_code']) ? $wsmcode['wsm_code'] : "";
+            $info['wsm_name'] = isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name'] : "";
+        }
 
-        $info['wsm_supplierNo'] = $wsmcode['supplierNo']??"";
 //        $customer = [];
 //        if (isset($orderinfo['supplierNo']) && $orderinfo['supplierNo'] != '') {
 //            $customer = Db::name("business")->field('id,company,companyNo')->where(["companyNo" => $orderinfo['supplierNo']])->find();
 //        }
 
+        $info['customer_name'] = $names['data'][$info['customer_code']] ?? '';
+        $info['companyName'] = $names['data'][$info['companyNo']] ?? '';
+        $info['supplierName'] = $names['data'][$info['supplierNo']] ?? '';
 
-        $info['customer_code'] = $wsmcode['companyNo']??"";//isset($customer['companyNo']) ? trim($customer['companyNo']) : '';
         $info['can'] = $int;
 
         //仓库的联系人、职位、电话、省市区和地址
@@ -419,8 +440,8 @@ class After extends Base
 //        $info['mobile'] = $wsmcode['mobile'];//电话
 //        $info['addrs_code'] = json_decode($wsmcode['addrs_code'], true);//省市区编码
 //        $info['addr'] = $wsmcode['addr'];//地址
-        $info['spuCode'] = $orderinfo['good_code'];//地址
-        $info['skuCode'] = $orderinfo['skuCode'];//地址
+        $info['spuCode'] = $orderinfo['good_code'];
+        $info['skuCode'] = $orderinfo['skuCode'];
         $info['return_tag'] = $info['return_tag'] == 0 ? "" : $info['return_tag'];//地址
         $info['is_th'] = $info['is_th'] == 0 ? "" : $info['is_th'];//地址
 

+ 5 - 5
app/admin/controller/Check.php

@@ -24,7 +24,7 @@ public function __construct(App $app)
     {
         $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;
-        $condtion = [['b.is_del', "=", 0], ['c.is_del', "=", 0]];
+        $condtion = [['b.is_del', "=", 0], ['c.is_del', "=", 0], ['b.is_stock', '=', 1]];
         $wsmcode = isset($this->post['wsm_code']) && $this->post['wsm_code'] !== "" ? trim($this->post['wsm_code']) : "";
         if ($wsmcode !== "") {
             //return error_show(1002,"仓库code不能为空");
@@ -109,13 +109,13 @@ public function __construct(App $app)
             ->alias("b")
             ->leftJoin("good_stock c", "c.spuCode=b.spuCode")
             ->where($condtion)
-            ->field("b.*,c.id as stock_id,c.usable_stock,c.wait_in_stock,c.wait_out_stock,c.wsm_code,0 uid,'' nickname")//暂未想好,先留空20230112 14:34@wf
+            ->field("b.*,c.id as stock_id,c.usable_stock,c.wait_in_stock,c.wait_out_stock,c.wsm_code")
             ->page($page, $size)
             ->select()
             ->toArray();
 
-        $all_createrid = array_column($list,'createrid');
-        $item = get_company_name_by_uid($all_createrid);
+//        $all_createrid = array_column($list,'createrid');
+//        $item = get_company_name_by_uid($all_createrid);
 
         $data = [];
         if ($list) {
@@ -161,7 +161,7 @@ public function __construct(App $app)
                 }
                 $value['specinfo'] = $speclist;
                 $value['cgder'] =$goodBasic[$value['spuCode']]??"";
-                $value['company_name'] = $item[$value['createrid']]??'';
+//                $value['company_name'] = $item[$value['createrid']]??'';
                 $data[] = $value;
             }
 

+ 143 - 94
app/admin/controller/Consult.php

@@ -190,27 +190,50 @@ class Consult extends Base
             return error_show(1002,"参数endtime不能为空");
         }
 
-        $platform_code =  isset($this->post['platform_code']) && $this->post['platform_code'] !=="" ? trim($this->post['platform_code']) :
-            "";
+        $platform_code =  isset($this->post['platform_code']) && $this->post['platform_code'] !=="" ? trim($this->post['platform_code']) : "";
         if($platform_code===""){
             return error_show(1002,"参数platform_code不能为空");
         }
+
+        $platform = Db::name('platform')
+            ->field('id,status,is_select_pay_rate')
+            ->where(['is_del' => 0, 'id' => $platform_code])
+            ->findOrEmpty();
+        if (empty($platform)) return json_show(1004, '该平台不存在');
+        if ($platform['status'] != 1) return json_show(1004, '该平台已禁用');
+        $pay_id = 0;
+        if ($platform['is_select_pay_rate'] == 1) {
+            $temp = Db::name('platform_pay_rate')
+                ->field('id')
+                ->where(['is_del' => 0, 'status' => 1, 'platform_id' => $platform_code, 'companyNo' => $companyNo])
+                ->findOrEmpty();
+            if (!empty($temp)) return json_show(1004, '支付渠道含有该业务公司,支付渠道无法使用!');
+            $pay_id = $platform_code;
+        }
+
         $ladder = isset($this->post['ladder'])&&!empty($this->post['ladder']) ? $this->post['ladder']:"";
         if($ladder==""){
             return error_show(1005,"参数ladder不能为空");
         }
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(105,"参数token不能为空");
-        }
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(105,"参数token不能为空");
+//        }
 
-        $user =GetUserInfo($token);
-        if(empty($user)||$user['code']!=0){
-            return error_show(102,"用户数据不存在");
-        }
-        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
-        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
-        $depart= Db::name("depart_user")->where(["uid"=>$createrid,"status"=>1,"is_del"=>0])->find();
+//        $pay_id = isset($this->post['pay_id']) && $this->post['pay_id'] !== "" ? intval($this->post['pay_id']) : "0";
+
+//        $user =GetUserInfo($token);
+//        if(empty($user)||$user['code']!=0){
+//            return error_show(102,"用户数据不存在");
+//        }
+        $createrid= $this->uid;//isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= $this->uname;//isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+//        $depart= Db::name("depart_user")->where(["uid"=>$createrid,"status"=>1,"is_del"=>0])->find();
+        $depart = Db::connect('mysql_sys')
+            ->name('account_item')
+            ->field('itemid')
+            ->where('account_id',$createrid)
+            ->findOrEmpty();
         $zxNo=makeNo("ZX");
         Db::startTrans();
         try{
@@ -227,6 +250,7 @@ class Consult extends Base
                 "platform_code"=>$platform_code,
                 "saleid"=>$createrid,
                 "depart"=>isset($depart['itemid'])?$depart['itemid']:0,
+                "pay_id"=>$pay_id,
                 "status"=>0,
                 "is_del"=>0,
                 "addtime"=>date("Y-m-d H:i:s"),
@@ -274,7 +298,7 @@ class Consult extends Base
                         "budget_price"=>$value['budget_price'],
                         "num"=>$value['num'],
                         "pgNo"=>isset($value['pgNo'])&&$value['pgNo']!==""?trim($value['pgNo']):"",
-                        "use_desc"=>$value['use_desc'],
+                        "use_desc"=>$value['use_desc']??'',
                         "remark"=>$value['remark'],
                         "status"=>1,
                         "is_del"=>0,
@@ -365,7 +389,7 @@ class Consult extends Base
         $zxinfo['can']= isset($zxinfo['cat_id']) && $zxinfo['cat_id'] !=0 ? made($zxinfo['cat_id'],[]):[];
         $zxinfo['khname']="";
         $zxinfo['original_price']=sprintf("%.2f",$zxinfo['budget_price']* (1 -$budget/100));
-        $zxinfo['khNo']="";
+        $zxinfo['khNo'] = $zxorder['khNo'];
         $zxinfo['brand_id']=$zxinfo['brand_id']==0 ?"":$zxinfo['brand_id'];
         $zxinfo['brand']="";
         $zxinfo['companyNo']=isset($zxorder['companyNo'])?$zxorder['companyNo']:"";
@@ -434,7 +458,7 @@ class Consult extends Base
             $zxinfo['pgNo'] = isset($projectinfo['pgNo']) ? $projectinfo['pgNo']:"";
         }
         if($zxorder['depart']>0){
-            $userCommon = new \app\admin\common\User();
+
             $tmp = $userCommon->handle('ciinfo',['id'=>$zxorder['depart']]);
             $zxinfo['departinfo']=$tmp['data'];
         }
@@ -518,9 +542,9 @@ class Consult extends Base
         }
         $pgNo = isset($this->post['pgNo'])&& $this->post['pgNo']!="" ? trim($this->post['pgNo']):"";
         $use_desc = isset($this->post['use_desc'])&& $this->post['use_desc']!="" ? trim($this->post['use_desc']):"";
-        if($use_desc==""){
-            return error_show(1003,"参数use_desc不能为空");
-        }
+//        if($use_desc==""){
+//            return error_show(1003,"参数use_desc不能为空");
+//        }
         $remark = isset($this->post['remark'])&& $this->post['remark']!="" ? trim($this->post['remark']):"";
         if($remark==""){
             return error_show(1003,"参数remark不能为空");
@@ -543,14 +567,14 @@ class Consult extends Base
                 return error_show(1003,"参数gold_price不能为空");
             }
         }
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(102,"参数token不能为空");
-        }
-        $user =GetUserInfo($token);
-        if(empty($user)||$user['code']!=0){
-            return error_show(105,"用户数据不存在");
-        }
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(102,"参数token不能为空");
+//        }
+//        $user =GetUserInfo($token);
+//        if(empty($user)||$user['code']!=0){
+//            return error_show(105,"用户数据不存在");
+//        }
         $specinfo=[];
         foreach ($specin as $v){
             $spec =Db::name("specs")->where(["id"=>$v['specid']])->find();
@@ -559,9 +583,9 @@ class Consult extends Base
             $v['spec_value_name']=isset($spec_value['spec_value'])?$spec_value['spec_value']:"";
             $specinfo[]=$v;
         }
-        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
-        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
-        $bidlist = Db::name("consult_bids")->where(["infoNo"=>$zxinfo['infoNo'],"is_del"=>0])->select();
+        $createrid= $this->uid;//isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= $this->uname;//isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+        $bidlist = Db::name("consult_bids")->where(["infoNo"=>$zxinfo['infoNo'],"is_del"=>0])->select()->toArray();
         Db::startTrans();
         try{
             $innew =makeNo("IF");
@@ -605,7 +629,7 @@ class Consult extends Base
             if($up){
 
                 //操作记录
-                ActionLog::logAdd($this->post['token'], [
+                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                     "order_code" => $innew,//咨询单详情编号
                     "status" => 1,//这里的status是之前的值
                     "action_remark" => '',//备注
@@ -632,7 +656,7 @@ class Consult extends Base
                             Db::rollback();
                             return error_show(1004,"反馈商品新建失败");
                         }
-                        ActionLog::logAdd($this->post['token'], [
+                        ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                             "order_code" => $innew,//咨询单详情编号
                             "status" => 1,//这里的status是之前的值
                             "action_remark" => '',//备注
@@ -650,7 +674,7 @@ class Consult extends Base
                     return error_show(1004,"反馈商品更新失败");
                 }else{
                     //修改状态,添加待办
-                    ActionLog::logAdd($this->post['token'], [
+                    ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                         "order_code" => $zxinfo['infoNo'],//咨询单详情编号
                         "status" => $zxinfo['status'],//这里的status是之前的值
                         "action_remark" => '',//备注
@@ -718,7 +742,7 @@ class Consult extends Base
         if($up){
 
             //修改状态,添加待办
-            ActionLog::logAdd($this->post['token'], [
+            ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                 "order_code" => $zxinfo['infoNo'],//咨询单详情编号
                 "status" => $old_zxinfo_status,//这里的status是之前的值
                 "action_remark" => '',//备注
@@ -804,10 +828,22 @@ class Consult extends Base
             return error_show(1002,"参数delivery_place不能为空");
         }
 
-
         $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] != '' ? trim($this->post['relaComNo']) : "";
         if ($relaComNo == '') return error_show(1004, '关联公司不能为空');
 
+        //判断支付渠道中是否有相关供应商
+        $is_select_pay_rate = Db::name('platform')
+            ->where(['is_del' => 0, 'id' => $zx['platform_code']])
+            ->value('is_select_pay_rate', 0);
+        if ($is_select_pay_rate == 1) {
+            $temp = Db::name('platform_pay_rate')
+                ->field('id')
+                ->where(['is_del' => 0, 'platform_id' => $zx['platform_code'], 'companyNo' => $supplierNo])
+                ->findOrEmpty();
+            if (!empty($temp)) return json_show(1004, '招标任务平台已存在该供应商,请更换其他供应商');
+        }
+
+
 //        $platform_id = isset($this->post['platform_id']) && $this->post['platform_id'] != '' ? intval($this->post['platform_id']) : 0;
 //        if ($platform_id == 0) return error_show(1004, '平台id不能为空');
 
@@ -942,8 +978,8 @@ class Consult extends Base
             "addtime"=>date("Y-m-d H:i:s"),
             "updatetime"=>date("Y-m-d H:i:s"),
             'delivery_place'=>$delivery_place,//发货地
-            'cgder' => $supplier['data']['person'] ?? '',
-            'cgderid' => $supplier['data']['personid'] ?? 0,
+            'cgder' => $supplier['person'] ?? '',
+            'cgderid' => $supplier['personid'] ?? 0,
         ];
         Db::startTrans();
         try{
@@ -985,7 +1021,7 @@ class Consult extends Base
                             $up = Db::name("project_info")->save($projectinfo);
                             if($up){
                                 //修改状态,添加待办,只记录动作
-                                ActionLog::logAdd($this->post['token'], [
+                                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                                     "order_code" => $projectinfo['pgNo'],//编码
                                     "status" => $old_projectinfo_status,//这里的status是之前的值
                                     "action_remark" => '',//备注
@@ -1004,14 +1040,14 @@ class Consult extends Base
                                             return error_show(1006,"项目反馈失败");
                                         }else{
                                             //修改状态,添加待办
-                                            ActionLog::logAdd($this->post['token'], [
+                                            ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                                                 "order_code" => $projetc['projectNo'],//项目编码
                                                 "status" => 1,//这里的status是之前的值
                                                 "action_remark" => '',//备注
                                                 "action_type" => "status"//新建create,编辑edit,更改状态status
                                             ], "PRO", 2, $projetc);
 
-                                            ProcessOrder::AddProcess($this->post['token'], [
+                                            ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
                                                 "order_type" => 'PRO',
                                                 "order_code" => $projetc['projectNo'],
                                                 "order_id" => $projetc['id'],
@@ -1167,6 +1203,19 @@ class Consult extends Base
             :"";
         $origin_place = isset($this->post['origin_place'])&&$this->post['origin_place']!=""? trim($this->post['origin_place']):"";
         $supplierNo = isset($this->post['supplierNo'])&&$this->post['supplierNo']!=""? trim($this->post['supplierNo']):"";
+
+        //判断支付渠道中是否有相关供应商
+        $is_select_pay_rate = Db::name('platform')
+            ->where(['is_del' => 0, 'id' => $zx['platform_code']])
+            ->value('is_select_pay_rate', 0);
+        if ($is_select_pay_rate == 1) {
+            $temp = Db::name('platform_pay_rate')
+                ->field('id')
+                ->where(['is_del' => 0, 'platform_id' => $zx['platform_code'], 'companyNo' => $supplierNo])
+                ->findOrEmpty();
+            if (!empty($temp)) return json_show(1004, '招标任务平台已存在该供应商,请更换其他供应商');
+        }
+
         $pay_way = isset($this->post['pay_way'])&&$this->post['pay_way']!=""? intval($this->post['pay_way']):"";
         $tax = isset($this->post['tax'])&&$this->post['tax']!=""? trim($this->post['tax']):"";
         $send_way = isset($this->post['send_way'])&&$this->post['send_way']!=""? intval($this->post['send_way']):"0";
@@ -1309,7 +1358,7 @@ class Consult extends Base
                           if ($up) {
 
                               //修改状态,添加待办,只记录动作
-                              ActionLog::logAdd($this->post['token'] , [
+                              ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname] , [
                                   "order_code"=>$projectinfo['pgNo'] ,//编码
                                   "status"=>$old_projectinfo_status ,//这里的status是之前的值
                                   "action_remark"=>'' ,//备注
@@ -1329,7 +1378,7 @@ class Consult extends Base
                                           return error_show(1006 , "项目反馈失败");
                                       } else {
                                           //修改状态,添加待办
-                                          ActionLog::logAdd($this->post['token'] , [
+                                          ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname] , [
                                               "order_code"=>$projectinfo['projectNo'] ,//项目编码
                                               "status"=>1 ,//这里的status是之前的值
                                               "action_remark"=>'' ,//备注
@@ -1337,7 +1386,7 @@ class Consult extends Base
                                           ] , "PRO" , 2 , $this->post
                                           );
 
-                                          ProcessOrder::AddProcess($this->post['token'] , [
+                                          ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname] , [
                                               "order_type"=>'PRO' ,
                                               "order_code"=>$projectinfo['projectNo'] ,
                                               "order_id"=>$project_id ,
@@ -1406,14 +1455,14 @@ class Consult extends Base
         if($infos['status']!=2&&$infos['status']!=3&&$infos['status']!=7){
             return error_show(1004,"咨询单招标未结束或已确认商品");
         }
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(105,"参数token不能为空");
-        }
-        $user =GetUserInfo($token);
-        if(empty($user)||$user['code']!=0){
-            return error_show(1002,"用户数据不存在");
-        }
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(105,"参数token不能为空");
+//        }
+//        $user =GetUserInfo($token);
+//        if(empty($user)||$user['code']!=0){
+//            return error_show(1002,"用户数据不存在");
+//        }
         //新增两个字段
         //议价备注
         $bargain_remark = isset($this->post['bargain_remark']) && $this->post['bargain_remark'] != "" ? trim($this->post['bargain_remark']) : "";
@@ -1424,8 +1473,8 @@ class Consult extends Base
             if (empty($temp)) return error_show(1004, "议价原因选择不正确");
         }
 
-        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
-        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+        $createrid= $this->uid;//isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= $this->uname;//isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
         $bargainNo =makeNo("BA");
         Db::startTrans();//::todo 金价 毛利计算
         try{
@@ -1455,14 +1504,14 @@ class Consult extends Base
             $int = Db::name("bargain_order")->insertGetId($data);
             if($int){
                 //修改状态,添加待办
-                ActionLog::logAdd($this->post['token'], [
+                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                     "order_code" => $bargainNo,//咨询单详情编号
                     "status" => 0,//这里的status是之前的值
                     "action_remark" => '',//备注
                     "action_type" => "status"//新建create,编辑edit,更改状态status
                 ], "YJD", $data['status'], $data);
 
-                ProcessOrder::AddProcess($this->post['token'], [
+                ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
                     "order_type" => 'YJD',
                     "order_code" => $bargainNo,
                     "order_id" => $int,
@@ -1476,7 +1525,7 @@ class Consult extends Base
                 $up =Db::name("consult_bids")->save($info);
                if($up){
                    //修改状态,添加待办
-                   ActionLog::logAdd($this->post['token'], [
+                   ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                        "order_code" => $bidNo,//咨询单详情编号
                        "status" => $odlstatus,//这里的status是之前的值
                        "action_remark" => '',//备注
@@ -1489,7 +1538,7 @@ class Consult extends Base
                    if($ups){
 
                        //修改状态,添加待办
-                       ActionLog::logAdd($this->post['token'], [
+                       ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                            "order_code" => $infos['infoNo'],//咨询单详情编号
                            "status" => $old_infos_status,//这里的status是之前的值
                            "action_remark" => '',//备注
@@ -1540,7 +1589,7 @@ class Consult extends Base
                 $bids = Db::name("consult_bids")->save($info);
                 if($bids){
                     //修改状态,添加待办
-                    ActionLog::logAdd($this->post['token'], [
+                    ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                         "order_code" =>$bidNo,//咨询单详情编号
                         "status" => $oldstattus,//这里的status是之前的值
                         "action_remark" => '',//备注
@@ -1553,7 +1602,7 @@ class Consult extends Base
                     if($se){
 
                         //修改状态,添加待办
-                        ActionLog::logAdd($this->post['token'], [
+                        ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                             "order_code" => $infos['infoNo'],//咨询单详情编号
                             "status" => $old_infos_status,//这里的status是之前的值
                             "action_remark" => '',//备注
@@ -1684,16 +1733,16 @@ class Consult extends Base
             }
         }
         $remark = isset($this->post['remark'])&& $this->post['remark']!=""?trim($this->post['remark']):"";
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(105,"参数token不能为空");
-        }
-        $user =GetUserInfo($token);
-        if(empty($user)||$user['code']!=0){
-            return error_show(1002,"用户数据不存在");
-        }
-        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
-        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(105,"参数token不能为空");
+//        }
+//        $user =GetUserInfo($token);
+//        if(empty($user)||$user['code']!=0){
+//            return error_show(1002,"用户数据不存在");
+//        }
+        $createrid= $this->uid;//isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= $this->uname;//isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
         Db::startTrans();
         try{
             $examinfo = isset($info['exam_info'])&&$info['exam_info']!="" ? json_decode($info['exam_info'],true):[];
@@ -1706,14 +1755,14 @@ class Consult extends Base
             $up =Db::name("bargain_order")->save($info);
             if($up){
                 //修改状态,添加待办
-                ActionLog::logAdd($this->post['token'], [
+                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                     "order_code" =>  $bargainNo,//咨询单详情编号
                     "status" =>$ra_status,//这里的status是之前的值
                     "action_remark" => '',//备注
                     "action_type" => "status"//新建create,编辑edit,更改状态status
                 ], "YJD", $info['status'], $info);
                 $process=["order_code"=>$bargainNo,"order_id"=>$info['id'],"order_status"=>$info['status'],"order_type"=>'YJD',"before_status"=>$ra_status,'holder_id'=>$info['createrid']];
-                ProcessOrder::AddProcess($token,$process);
+                ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname],$process);
                 if($info['status']==1||$info['status']==3||$info['status']==8||$info['status']==6||$info['status']==9||$info['status']==10||$info['status']==11){
                     $bidstatus=$bids['status'];
                     $bids['status']=5;
@@ -1734,7 +1783,7 @@ class Consult extends Base
                         Db::rollback();
                         return error_show(1004,"数据更新失败");
                     }
-                    ActionLog::logAdd($this->post['token'], [
+                    ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                         "order_code" => $info["bidsNo"],//咨询单详情编号
                         "status" => $bidstatus,//这里的status是之前的值
                         "action_remark" => '',//备注
@@ -1940,15 +1989,15 @@ class Consult extends Base
         }
         $is_own = isset($this->post['is_own']) ? intval($this->post['is_own']) : "0";
         if($is_own==1){
-             $token = isset($this->post['token']) ? trim($this->post['token']) : "";
-            if($token==""){
-                return error_show(101,'token不能为空');
-            }
-            $apply_id =GetUserInfo($token);
-            if(empty($apply_id)||$apply_id['code']!=0){
-                return error_show(1002,"申请人数据不存在");
-            }
-            $rm= isset($apply_id["data"]['id']) ?  $apply_id["data"]['id'] : "";
+//             $token = isset($this->post['token']) ? trim($this->post['token']) : "";
+//            if($token==""){
+//                return error_show(101,'token不能为空');
+//            }
+//            $apply_id =GetUserInfo($token);
+//            if(empty($apply_id)||$apply_id['code']!=0){
+//                return error_show(1002,"申请人数据不存在");
+//            }
+            $rm= $this->uid;//isset($apply_id["data"]['id']) ?  $apply_id["data"]['id'] : "";
             $where[]=['createrid',"=",$rm];
         }
 
@@ -2068,21 +2117,21 @@ class Consult extends Base
             ("zxNo");
             $where[] = ['zxNo','in',$zxlist];
         }
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(102,"参数token不能为空");
-        }
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(102,"参数token不能为空");
+//        }
         $is_own = isset($this->post['is_own']) ? intval($this->post['is_own']) : "0";
         if($is_own==1){
-            $token = isset($this->post['token']) ? trim($this->post['token']) : "";
-            if($token==""){
-                return error_show(101,'token不能为空');
-            }
-            $apply_id =GetUserInfo($token);
-            if(empty($apply_id)||$apply_id['code']!=0){
-                return error_show(1002,"申请人数据不存在");
-            }
-            $rm= isset($apply_id["data"]['id']) ?  $apply_id["data"]['id'] : "";
+//            $token = isset($this->post['token']) ? trim($this->post['token']) : "";
+//            if($token==""){
+//                return error_show(101,'token不能为空');
+//            }
+//            $apply_id =GetUserInfo($token);
+//            if(empty($apply_id)||$apply_id['code']!=0){
+//                return error_show(1002,"申请人数据不存在");
+//            }
+            $rm= $this->uid;//isset($apply_id["data"]['id']) ?  $apply_id["data"]['id'] : "";
             $where[]=['createrid',"=",$rm];
         }
         $list =Db::name('consult_bids')->where($where)->select();

+ 19 - 8
app/admin/controller/Filing.php

@@ -698,6 +698,7 @@ class Filing extends Base
         if(!isset($tmp['data'][$param['khNo']])) return json_show(1004, "未找到客户数据");
         if(!isset($tmp['data'][$param['supplierNo']])) return json_show(1004, "未找到平台供应商数据");
         if(!isset($tmp['data'][$param['companyNo']])) return json_show(1004, "未找到平台业务公司数据");
+        if($tmp['data'][$param['supplierNo']] == $tmp['data'][$param['companyNo']]) return json_show(1004,'供应商和业务公司不能为同一家公司');
 
 //        $customer = Db::name("customer_info")->where('companyNo', "=", $param['khNo'])->find();
 //        if ($customer == false) return error_show(1004, "客户信息未找到");
@@ -886,16 +887,20 @@ class Filing extends Base
         }
 		$platform = Db::name("platform")->where(["id" => $saleinfo['platform_id']])->field("platform_name,pay_title")
 		->findOrEmpty();
+
+        $userCommon = new \app\admin\common\User();
+        $names = $userCommon->handle('getCodeAndName', ['code' => [$saleinfo['supplierNo'], $saleinfo['customer_code']]]);
+
         $data = [
             "orderCode" => $saleinfo['orderCode'],
             "companyNo" => $saleinfo['supplierNo'],
-            "companyName" => Db::name("supplier")->where(["code" => $saleinfo['supplierNo']])->value("name", ''),
+            "companyName" => $names['data'][$saleinfo['supplierNo']] ?? '',//Db::name("supplier")->where(["code" => $saleinfo['supplierNo']])->value("name", ''),
             "poCode" => $saleinfo['platform_order'],
             "workCode" => $saleinfo['workNo'],
             "platform_id" => $saleinfo['platform_id'],
             "platform_name" =>$platform['platform_name']??"",
             "khNo" => $saleinfo['customer_code'],
-            "khName" => Db::name("customer_info")->where(["companyNo" => $saleinfo['customer_code']])->value("companyName", ''),
+            "khName" => $names['data'][$saleinfo['customer_code']] ?? '',//Db::name("customer_info")->where(["companyNo" => $saleinfo['customer_code']])->value("companyName", ''),
             "qrdType" => $saleinfo['order_type'],
             "goodName" => $saleinfo['good_name'],
             "tax" => $goodinfo['tax'],
@@ -962,12 +967,7 @@ class Filing extends Base
             "cgd_tax|采购毛利率" => "require|float|gt:0",
         ]);
         if ($valid->check($param) == false) return error_show(1004, $valid->getError());
-        $userCommon = new \app\admin\common\User();
-        $tmp = $userCommon->handle('getCodeAndName',['code'=>$param['supplierNo']]);
-        if(!isset($tmp['code']) || $tmp['code']!=0) return json_show($tmp['code'],$tmp['message'],$tmp['data']);
-//        if(!isset($tmp['data'][$param['khNo']])) return json_show(1004, "未找到客户数据");
-        if(!isset($tmp['data'][$param['supplierNo']])) return json_show(1004, "未找到平台供应商数据");
-//        if(!isset($tmp['data'][$param['companyNo']])) return json_show(1004, "未找到平台业务公司数据");
+
         $param["cgd_tax"] = $param["cgd_tax"] / 100;
         $saleinfo = Db::name("sale")->where(["orderCode" => $param['orderCode']])->findOrEmpty();
         if (empty($saleinfo)) return error_show(1004, "销售单不存在");
@@ -978,6 +978,17 @@ class Filing extends Base
             ->field("a.*")
             ->findOrEmpty();
         if (empty($cgd)) return error_show(1004, "采购单不存在");
+
+        $userCommon = new \app\admin\common\User();
+        $tmp = $userCommon->handle('getCodeAndName',['code'=>[$param['supplierNo'],$cgd['companyNo']]]);
+        if(!isset($tmp['code']) || $tmp['code']!=0) return json_show($tmp['code'],$tmp['message'],$tmp['data']);
+//        if(!isset($tmp['data'][$param['khNo']])) return json_show(1004, "未找到客户数据");
+        if(!isset($tmp['data'][$param['supplierNo']])) return json_show(1004, "未找到平台供应商数据");
+//        if(!isset($tmp['data'][$param['companyNo']])) return json_show(1004, "未找到平台业务公司数据");
+        if ($tmp['data'][$param['supplierNo']] == $tmp['data'][$param['companyNo']]) return json_show(1004, '供应商和业务公司不能为同一家公司');
+
+
+
         $good = Db::name("good_zixun")->where(["spuCode" => $saleinfo['good_code']])->findOrEmpty();
         if (empty($good)) return error_show(1004, "商品信息不存在");
         $addr = Db::name("order_addr")->where(["orderCode" => $param['orderCode']])->findOrEmpty();

+ 147 - 140
app/admin/controller/Orderback.php

@@ -20,54 +20,60 @@ class Orderback 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]];
-        $thNo = isset($this->post['thNo']) && $this->post['thNo']!="" ? trim($this->post['thNo']):"";
-        if($thNo!=""){
-            $where[]=['a.thNo',"like", "%{$thNo}%"];
+    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]];
+        $thNo = isset($this->post['thNo']) && $this->post['thNo'] != "" ? trim($this->post['thNo']) : "";
+        if ($thNo != "") {
+            $where[] = ['a.thNo', "like", "%{$thNo}%"];
         }
-        $status = isset($this->post['status']) && $this->post['status']!=="" ? intval($this->post['status']):"";
-        if($status!==""){
+        $status = isset($this->post['status']) && $this->post['status'] !== "" ? intval($this->post['status']) : "";
+        if ($status !== "") {
             // $where['status'] = $status;
-            $where[]=['a.status',"=", $status];
+            $where[] = ['a.status', "=", $status];
         }
-        $post_code= isset($this->post['post_code']) && $this->post['post_code']!="" ? trim($this->post['post_code']):"";
-        if($post_code!=""){
-            $where[]=['a.post_code',"like", "%{$post_code}%"];
+        $post_code = isset($this->post['post_code']) && $this->post['post_code'] != "" ? trim($this->post['post_code']) : "";
+        if ($post_code != "") {
+            $where[] = ['a.post_code', "like", "%{$post_code}%"];
         }
-        $post_compay = isset($this->post['post_compay']) && $this->post['post_compay']!="" ? trim($this->post['post_compay']):"";
-        if($post_compay!=""){
-            $where[]=['a.post_company',"=", $post_compay];
+        $post_compay = isset($this->post['post_compay']) && $this->post['post_compay'] != "" ? trim($this->post['post_compay']) : "";
+        if ($post_compay != "") {
+            $where[] = ['a.post_company', "=", $post_compay];
         }
-        $customer_code = isset($this->post['customer_code']) && $this->post['customer_code']!="" ? trim($this->post['customer_code']):"";
-        if($customer_code!=""){
-            $where[]=['a.customer_code',"like", "%{$customer_code}%"];
+        $customer_code = isset($this->post['customer_code']) && $this->post['customer_code'] != "" ? trim($this->post['customer_code']) : "";
+        if ($customer_code != "") {
+            $where[] = ['a.customer_code', "like", "%{$customer_code}%"];
         }
 
-        $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo']!="" ? trim($this->post['relaComNo']):"";
-        if($relaComNo!="") $where[]=['b.supplierNo','=', $relaComNo];
+        $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] != "" ? trim($this->post['relaComNo']) : "";
+        if ($relaComNo != "") $where[] = ['b.supplierNo', '=', $relaComNo];
 
-        $order_code = isset($this->post['order_code']) && $this->post['order_code']!="" ? trim($this->post['order_code']):"";
-        if($order_code!=""){
-            $where[]=['a.orderCode',"like", "%{$order_code}%"];
+        $order_code = isset($this->post['order_code']) && $this->post['order_code'] != "" ? trim($this->post['order_code']) : "";
+        if ($order_code != "") {
+            $where[] = ['a.orderCode', "like", "%{$order_code}%"];
         }
-        $out_code = isset($this->post['out_code']) && $this->post['out_code']!="" ? trim($this->post['out_code']):"";
-        if($out_code!=""){
-            $where[]=['a.outCode',"like", "%{$out_code}%"];
+        $out_code = isset($this->post['out_code']) && $this->post['out_code'] != "" ? trim($this->post['out_code']) : "";
+        if ($out_code != "") {
+            $where[] = ['a.outCode', "like", "%{$out_code}%"];
         }
-        $return_code = isset($this->post['return_code']) && $this->post['return_code']!="" ? trim($this->post['return_code']):"";
-        if($return_code!=""){
-            $where[]=['a.returnCode',"like", "%{$return_code}%"];
+        $return_code = isset($this->post['return_code']) && $this->post['return_code'] != "" ? trim($this->post['return_code']) : "";
+        if ($return_code != "") {
+            $where[] = ['a.returnCode', "like", "%{$return_code}%"];
         }
-        $start =isset($this->post['start'])&&$this->post['start']!='' ? $this->post['start']:"";
-        if($start!==""){
-            $where[]=['a.addtime',">=", $start];
+        $start = isset($this->post['start']) && $this->post['start'] != '' ? $this->post['start'] : "";
+        if ($start !== "") {
+            $where[] = ['a.addtime', ">=", $start];
         }
-        $end =isset($this->post['end'])&&$this->post['end']!='' ? $this->post['end']:"";
-        if($end!==""){
-            $where[]=['a.addtime',"<=", $end];
+        $end = isset($this->post['end']) && $this->post['end'] != '' ? $this->post['end'] : "";
+        if ($end !== "") {
+            $where[] = ['a.addtime', "<=", $end];
+        }
+
+        $order_source = $order_source = isset($this->post['order_source']) && $this->post['order_source'] != "" ? trim($this->post['order_source']) : "";
+        if ($order_source !== "") {
+            $where[] = ['b.order_source', "=", $order_source];
         }
 
         $supplierNo = $this->post['supplierNo'] ?? '';
@@ -78,7 +84,7 @@ class Orderback extends Base
             $where[] = ['b.good_code', 'in', $spuCode];
         }
 
-        $condition=[];
+        $condition = [];
 //        $role=$this->checkRole();
 //        if(!empty($role['write']) && $this->uid!=""){
 //            // $where[]=["a.apply_id","in",$role['write']];
@@ -102,13 +108,13 @@ class Orderback extends Base
 
 
         //供应商账号不允许看到库存品数据
-        if ($this->level == 3) $where[]=['b.is_stock','<>',1];
+        if ($this->level == 3) $where[] = ['b.is_stock', '<>', 1];
 //        if(!empty($role['platform']) ){
 //            $where[]=["platform_id","in",$role['platform']];
 //        }
         $count = Db::name("order_back")
             ->alias('a')
-            ->leftJoin('sale b','b.orderCode=a.orderCode AND b.is_del=0')
+            ->leftJoin('sale b', 'b.orderCode=a.orderCode AND b.is_del=0')
             ->where($where)
             ->where(function ($query) use ($condition) {
                 $query->whereOr($condition);
@@ -118,56 +124,57 @@ class Orderback extends Base
         $page = $page >= $total ? $total : $page;
         $list = Db::name("order_back")
             ->alias('a')
-            ->leftJoin('sale b','b.orderCode=a.orderCode AND b.is_del=0')
+            ->leftJoin('sale b', 'b.orderCode=a.orderCode AND b.is_del=0')
             ->where($where)
             ->where(function ($query) use ($condition) {
                 $query->whereOr($condition);
             })
-            ->field('a.*')
+            ->field('a.*,b.order_source,b.supplierNo')
             ->page($page, $size)
             ->order("a.addtime desc")
             ->select()
             ->toArray();
-        $data=[];
+        $data = [];
 
         $all_wsm = Db::name("warehouse_info")
             ->alias("a")
-            ->where(["a.wsm_code"=>array_column($list,'return_wsm')])
-            ->column("a.name,a.supplierNo",'a.wsm_code');//b.name,b.code
+            ->where(["a.wsm_code" => array_column($list, 'return_wsm')])
+            ->column("a.name,a.supplierNo", 'a.wsm_code');//b.name,b.code
 
         $userCommon = new \app\admin\common\User();
-        $names = $userCommon->handle('getCodeAndName', ['code' => array_merge(array_column($all_wsm,'supplierNo'),array_column($list,'customer_code'))]);
+        $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($all_wsm, 'supplierNo'), array_column($list, 'customer_code'), array_column($list, 'supplierNo')))]);
 
-        foreach ($list as $value){
-            $value['wsm_name']="";
-            $value['wsm_supplier']='';
-            $value['wsm_supplierNo']='';
-            if($value['return_wsm']!=""){
+        foreach ($list as $value) {
+            $value['wsm_name'] = "";
+            $value['wsm_supplier'] = '';
+            $value['wsm_supplierNo'] = '';
+            if ($value['return_wsm'] != "") {
 //                $wsmcode = Db::name("warehouse_info")
 //                    ->alias("a")
 ////                    ->leftJoin("supplier b","a.supplierNo=b.code")
 //                    ->where(["a.wsm_code"=>$value['return_wsm']])
 //                    ->field("a.name as wsm_name,a.supplierNo")//b.name,b.code
 //                    ->find();
-                $value['wsm_name'] =$all_wsm[$value['return_wsm']]['name']??'';//isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
-                $value['wsm_supplier'] =$names['data'][$all_wsm[$value['return_wsm']]['supplierNo']]??'';//isset($wsmcode['name']) ? $wsmcode['name']:"";
-                $value['wsm_supplierNo'] =$all_wsm[$value['return_wsm']]['supplierNo'];//isset($wsmcode['code']) ? $wsmcode['code']:"";
+                $value['wsm_name'] = $all_wsm[$value['return_wsm']]['name'] ?? '';//isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
+                $value['wsm_supplier'] = $names['data'][$all_wsm[$value['return_wsm']]['supplierNo']] ?? '';//isset($wsmcode['name']) ? $wsmcode['name']:"";
+                $value['wsm_supplierNo'] = $all_wsm[$value['return_wsm']]['supplierNo'];//isset($wsmcode['code']) ? $wsmcode['code']:"";
             }
-            $value['customer_name']='';
-            if($value['customer_code']!=''){
+            $value['customer_name'] = '';
+            if ($value['customer_code'] != '') {
 //                $customer = Db::name("customer_info")->where(['companyNo'=>$value['customer_code']])->find();
-                $value['customer_name']=$names['data'][$value['customer_code']]??'';//isset($customer['companyName'])?$customer['companyName']:'';
+                $value['customer_name'] = $names['data'][$value['customer_code']] ?? '';//isset($customer['companyName'])?$customer['companyName']:'';
             }
-            $inorder= Db::name("order_backinfo")->where(['thNo'=>$value['thNo'],"is_del"=>0])->select();
-            $value['child']=empty($inorder)? [] : $inorder;
+            $inorder = Db::name("order_backinfo")->where(['thNo' => $value['thNo'], "is_del" => 0])->select();
+            $value['child'] = empty($inorder) ? [] : $inorder;
+            $value['supplierName'] = $names['data'][$value['supplierNo']] ?? '';//isset($customer['companyName'])?$customer['companyName']:'';
 
             //是否具有编辑权限
 //            $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,"获取成功",["list"=>$data ,"count"=>$count]);
+        return app_show(0, "获取成功", ["list" => $data, "count" => $count]);
     }
 
     /**
@@ -176,47 +183,47 @@ class Orderback extends Base
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-  public function info(){
-      $thNo = isset($this->post['thNo']) && $this->post['thNo']!="" ? trim($this->post['thNo']):"";
-      if($thNo==""){
-        return error_show(1004,"参数thNo不能为空");
-      }
-      $info =Db::name("order_back")->where(['thNo'=>$thNo])->find();
-      if(empty($info)){
-          return error_show(1004,"未找到数据");
-      }
-      $orderinfo = Db::name("sale")->where(["orderCode"=>$info["orderCode"]])->find();
-      $info['origin_price']=$orderinfo['origin_price'];
-      $info['sale_price']=$orderinfo['sale_price'];
-      $info['order_type']=$orderinfo['order_type'];
-      $info['order_source']=$orderinfo['order_source'];
-      $info['total_price']=$orderinfo['total_price'];
-      $info['companyNo']=$orderinfo['supplierNo'];
+    public function info(){
+        $thNo = isset($this->post['thNo']) && $this->post['thNo']!="" ? trim($this->post['thNo']):"";
+        if($thNo==""){
+            return error_show(1004,"参数thNo不能为空");
+        }
+        $info =Db::name("order_back")->where(['thNo'=>$thNo])->find();
+        if(empty($info)){
+            return error_show(1004,"未找到数据");
+        }
+        $orderinfo = Db::name("sale")->where(["orderCode"=>$info["orderCode"]])->find();
+        $info['origin_price']=$orderinfo['origin_price'];
+        $info['sale_price']=$orderinfo['sale_price'];
+        $info['order_type']=$orderinfo['order_type'];
+        $info['order_source']=$orderinfo['order_source'];
+        $info['total_price']=$orderinfo['total_price'];
+        $info['companyNo']=$orderinfo['supplierNo'];
 
 //      $info['company'] = Db::name('business')
 //          ->where(['companyNo' => $orderinfo['supplierNo'], 'is_del' => 0])
 //          ->value('company','');
-      $info['addr_cn']=GetAddr($info['addr_code']);
-      if($orderinfo['order_type']==3){
-          $goon = Db::name("good_zixun")->where(["spuCode"=>$orderinfo['good_code'],"is_del"=>0])->find();
-          $is_stock=0;
-      }else {
-          $goon = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
-              ->where(['a.skuCode' => $orderinfo['skuCode']])->find();
-          $is_stock=$goon['is_stock'];
-      }
-      if (empty($goon)) {
-          return error_show(1003, "未找到商品数据");
-      }
-      $info['out_wsm_name']="";
-      $info['out_wsm_supplier']='';
-      $info['out_wsm_supplierNo']='';
-      if($is_stock==1){
-          $out =Db::name("order_out")->where(['outCode'=>$info['outCode']])->find();
-          if($out==false){
-              return error_show(1003, "未找到出库单数据");
-          }
-          if($out['wsm_code']!=''){
+        $info['addr_cn']=GetAddr($info['addr_code']);
+        if($orderinfo['order_type']==3){
+            $goon = Db::name("good_zixun")->where(["spuCode"=>$orderinfo['good_code'],"is_del"=>0])->find();
+            $is_stock=0;
+        }else {
+            $goon = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
+                ->where(['a.skuCode' => $orderinfo['skuCode']])->find();
+            $is_stock=$goon['is_stock'];
+        }
+        if (empty($goon)) {
+            return error_show(1003, "未找到商品数据");
+        }
+        $info['out_wsm_name']="";
+        $info['out_wsm_supplier']='';
+        $info['out_wsm_supplierNo']='';
+        if($is_stock==1){
+            $out =Db::name("order_out")->where(['outCode'=>$info['outCode']])->find();
+            if($out==false){
+                return error_show(1003, "未找到出库单数据");
+            }
+            if($out['wsm_code']!=''){
 //              $wsmcode = Db::name("warehouse_info")
 //                  ->alias("a")
 ////                  ->leftJoin("supplier b","a.supplierNo=b.code")
@@ -226,17 +233,17 @@ class Orderback extends Base
 //              $info['out_wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
 //              $info['out_wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
 //              $info['out_wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
-          }
-      }
-      $retutninfo = Db::name("order_return")->where(['returnCode'=>$info['returnCode']])->find();
-      $info['apply_id'] = $retutninfo['apply_id'];
-      $info['apply_name'] = $retutninfo['apply_name'];
-      $info['return_tag'] = $retutninfo['return_tag'];
-      $int = isset($goon['cat_id']) && $goon['cat_id'] != 0 ? made($goon['cat_id']) : [];
-      $info['wsm_name']="";
-      $info['wsm_supplier']='';
-      $info['wsm_supplierNo']='';
-      if($info['return_wsm']!=""){
+            }
+        }
+        $retutninfo = Db::name("order_return")->where(['returnCode'=>$info['returnCode']])->find();
+        $info['apply_id'] = $retutninfo['apply_id'];
+        $info['apply_name'] = $retutninfo['apply_name'];
+        $info['return_tag'] = $retutninfo['return_tag'];
+        $int = isset($goon['cat_id']) && $goon['cat_id'] != 0 ? made($goon['cat_id']) : [];
+        $info['wsm_name']="";
+        $info['wsm_supplier']='';
+        $info['wsm_supplierNo']='';
+        if($info['return_wsm']!=""){
 //          $wsmcode = Db::name("warehouse_info")
 //              ->alias("a")
 ////              ->leftJoin("supplier b","a.supplierNo=b.code")
@@ -246,48 +253,48 @@ class Orderback extends Base
 //          $info['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
 //          $info['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
 //          $info['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
-      }
-      $inorder= Db::name("order_backinfo")->alias("a")->leftJoin("result_info b","a.error_code=b.result_code")
-          ->where(['a.thNo'=>$info['thNo'],"a.is_del"=>0])->field("a.*,b.result as error_msg")->select();
-      $info['child']=empty($inorder)? [] : $inorder;
+        }
+        $inorder= Db::name("order_backinfo")->alias("a")->leftJoin("result_info b","a.error_code=b.result_code")
+            ->where(['a.thNo'=>$info['thNo'],"a.is_del"=>0])->field("a.*,b.result as error_msg")->select();
+        $info['child']=empty($inorder)? [] : $inorder;
 
-      $info['can']=$int;
+        $info['can']=$int;
 
 
-      //补充仓库名称
-      $warehouse = Db::name('warehouse_info')
-          ->alias('wi')
-          ->where(['wi.is_del' => 0, 'wi.status' => 1])
-          ->whereIn('wi.wsm_code', [$info['can_sell_wsm'], $info['defective_wsm'], $out['wsm_code'], $info['return_wsm']])
+        //补充仓库名称
+        $warehouse = Db::name('warehouse_info')
+            ->alias('wi')
+            ->where(['wi.is_del' => 0, 'wi.status' => 1])
+            ->whereIn('wi.wsm_code', [$info['can_sell_wsm'], $info['defective_wsm'], $out['wsm_code']??'', $info['return_wsm']])
 //          ->leftJoin('supplier s', 's.code=wi.supplierNo AND s.is_del=0')
-          ->column('wi.name,wi.supplierNo', 'wi.wsm_code');
+            ->column('wi.name,wi.supplierNo', 'wi.wsm_code');
 
-      $userCommon = new \app\admin\common\User();
-      $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($warehouse, 'supplierNo'), $orderinfo['supplierNo']))]);
+        $userCommon = new \app\admin\common\User();
+        $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($warehouse, 'supplierNo'), [$orderinfo['supplierNo']]))]);
 
-      $info['company'] = $names['data'][$orderinfo['supplierNo']] ?? '';
+        $info['company'] = $names['data'][$orderinfo['supplierNo']] ?? '';
 
-      $info['can_sell_wsm_name'] = isset($warehouse[$info['can_sell_wsm']]['name']) ? $warehouse[$info['can_sell_wsm']]['name'] : '';
-      $info['can_sell_wsm_supplierNo'] = isset($warehouse[$info['can_sell_wsm']]['supplierNo']) ? $warehouse[$info['can_sell_wsm']]['supplierNo'] : '';
-      $info['can_sell_wsm_supplier'] = $names['data'][$warehouse[$info['can_sell_wsm']]['supplierNo']] ?? '';
-      $info['defective_wsm_name'] = isset($warehouse[$info['defective_wsm']]['name']) ? $warehouse[$info['defective_wsm']]['name'] : '';
-      $info['defective_wsm_supplierNo'] = isset($warehouse[$info['defective_wsm']]['supplierNo']) ? $warehouse[$info['defective_wsm']]['supplierNo'] : '';
-      $info['defective_wsm_supplier'] = $names['data'][$warehouse[$info['defective_wsm']]['supplierNo']] ?? '';
+        $info['can_sell_wsm_name'] = isset($warehouse[$info['can_sell_wsm']]['name']) ? $warehouse[$info['can_sell_wsm']]['name'] : '';
+        $info['can_sell_wsm_supplierNo'] = isset($warehouse[$info['can_sell_wsm']]['supplierNo']) ? $warehouse[$info['can_sell_wsm']]['supplierNo'] : '';
+        $info['can_sell_wsm_supplier'] = isset($warehouse[$info['can_sell_wsm']]['supplierNo']) ? $names['data'][$warehouse[$info['can_sell_wsm']]['supplierNo']]??'' : '';
+        $info['defective_wsm_name'] = isset($warehouse[$info['defective_wsm']]['name']) ? $warehouse[$info['defective_wsm']]['name'] : '';
+        $info['defective_wsm_supplierNo'] = isset($warehouse[$info['defective_wsm']]['supplierNo']) ? $warehouse[$info['defective_wsm']]['supplierNo'] : '';
+        $info['defective_wsm_supplier'] = isset($warehouse[$info['defective_wsm']]['supplierNo'])?$names['data'][$warehouse[$info['defective_wsm']]['supplierNo']]??'' : '';
 
 
-      if ($out['wsm_code'] != '') {
-          $info['out_wsm_name'] = $warehouse[$info['out_wsm_name']]['name'] ?? '';
-          $info['out_wsm_supplier'] = $names['data'][$warehouse[$info['out_wsm_name']]['supplierNo']] ?? '';
-          $info['out_wsm_supplierNo'] = $warehouse[$info['out_wsm_name']]['supplierNo'] ?? '';
-      }
-      if ($info['return_wsm'] != '') {
-          $info['wsm_name'] = $warehouse[$info['wsm_name']]['name'] ?? '';
-          $info['wsm_supplier'] = $names['data'][$warehouse[$info['wsm_name']]['supplierNo']] ?? '';
-          $info['wsm_supplierNo'] = $warehouse[$info['wsm_name']]['supplierNo'] ?? '';
-      }
+        if (isset($out) && $out['wsm_code'] != '') {
+            $info['out_wsm_name'] = $warehouse[$info['out_wsm_name']]['name'] ?? '';
+            $info['out_wsm_supplier'] = $names['data'][$warehouse[$info['out_wsm_name']]['supplierNo']] ?? '';
+            $info['out_wsm_supplierNo'] = $warehouse[$info['out_wsm_name']]['supplierNo'] ?? '';
+        }
+        if ($info['return_wsm'] != '') {
+            $info['wsm_name'] = $warehouse[$info['wsm_name']]['name'] ?? '';
+            $info['wsm_supplier'] = $names['data'][$warehouse[$info['wsm_name']]['supplierNo']] ?? '';
+            $info['wsm_supplierNo'] = $warehouse[$info['wsm_name']]['supplierNo'] ?? '';
+        }
 
-      return app_show(0, "获取成功", $info);
-  }
+        return app_show(0, "获取成功", $info);
+    }
 
     /**
      * @return \think\response\Json|void

+ 67 - 52
app/admin/controller/Project.php

@@ -33,6 +33,21 @@ class Project extends Base
         if($companyNo==""){
             return error_show(1004,"参数companyNo不能为空");
         }
+
+        $platform_temp = Db::name('platform')
+            ->field('id,is_select_pay_rate,status')
+            ->where(['is_del' => 0, 'id' => $platform])
+            ->findOrEmpty();
+        if (empty($platform_temp)) return json_show(1004, '该平台不存在');
+        if ($platform_temp['status'] != 1) return json_show(1004, '该平台已被启用');
+        if ($platform_temp['is_select_pay_rate'] == 1) {
+            $temp = Db::name('platform_pay_rate')
+                ->field('id')
+                ->where(['is_del' => 0, 'platform_id' => $platform, 'companyNo' => $companyNo])
+                ->findOrEmpty();
+            if (!empty($temp)) return json_show(1004, '平台设置支付渠道业务公司,不能包含销售方公司');
+        }
+
         $use_desc = isset($this->post['use_desc'])&&$this->post['use_desc']!=""?trim($this->post['use_desc']):"";
         $budget_total = isset($this->post['budget_total'])&&$this->post['budget_total']!=""?floatval($this->post['budget_total']):"";
         $arrtime = isset($this->post['arrtime'])&&$this->post['arrtime']!=""?$this->post['arrtime']:"";
@@ -57,16 +72,16 @@ class Project extends Base
         if($ladder==""){
             return error_show(1004,"参数ladder不能为空");
         }
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(105,"参数token不能为空");
-        }
-        $user =GetUserInfo($token);
-        if(empty($user)||$user['code']!=0){
-            return error_show(1002,"用户数据不存在");
-        }
-        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
-        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(105,"参数token不能为空");
+//        }
+//        $user =GetUserInfo($token);
+//        if(empty($user)||$user['code']!=0){
+//            return error_show(1002,"用户数据不存在");
+//        }
+        $createrid= $this->uid;//isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= $this->uname;//isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
         Db::startTrans();
         try {
             $projectNo = makeNo("PR");
@@ -204,16 +219,16 @@ class Project extends Base
                 return error_show(1004,"未找到商品信息");
             }
         }
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(105,"参数token不能为空");
-        }
-        $user =GetUserInfo($token);
-        if(empty($user)||$user['code']!=0){
-            return error_show($user['code'],"用户数据不存在");
-        }
-        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
-        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(105,"参数token不能为空");
+//        }
+//        $user =GetUserInfo($token);
+//        if(empty($user)||$user['code']!=0){
+//            return error_show($user['code'],"用户数据不存在");
+//        }
+        $createrid= $this->uid;//isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= $this->uname;//isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
         Db::startTrans();
         try{
             $data=[];
@@ -270,7 +285,7 @@ class Project extends Base
                 if($up){
 
                     //修改状态,添加待办,只记录动作
-                    ActionLog::logAdd($this->post['token'], [
+                    ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                         "order_code" => $pgNo,//编码,这里是project的编码
                         "status" => $old_projectinfo_status,//这里的status是之前的值
                         "action_remark" => '',//备注
@@ -285,14 +300,14 @@ class Project extends Base
                         (["status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
                         if($proc){
                             //修改状态,添加待办
-                            ActionLog::logAdd($this->post['token'], [
+                            ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                                 "order_code"=>$projectinfo['projectNo'],//项目编码
                                 "status"=>1,//这里的status是之前的值
                                 "action_remark"=>'',//备注
                                 "action_type"=>"status"//新建create,编辑edit,更改状态status
                             ],"PRO",2,["status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
 
-                            ProcessOrder::AddProcess($this->post['token'],[
+                            ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname],[
                                 "order_type"=>'PRO',
                                 "order_code"=>$projectinfo['projectNo'],
                                 "order_id"=>$project['id'],//这里更新是根据编码更新的,没有主键id
@@ -623,16 +638,16 @@ class Project extends Base
         if(empty($feedinfo)){
             return error_show(1004,"反馈数据未找到");
         }
-        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-        if($token==''){
-            return error_show(105,"参数token不能为空");
-        }
-        $user =GetUserInfo($token);
-        if(empty($user)||$user['code']!=0){
-            return error_show(1002,"用户数据不存在");
-        }
-        $createrid= isset($user["data"]['id']) ?  $user["data"]['id'] : "";
-        $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
+//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
+//        if($token==''){
+//            return error_show(105,"参数token不能为空");
+//        }
+//        $user =GetUserInfo($token);
+//        if(empty($user)||$user['code']!=0){
+//            return error_show(1002,"用户数据不存在");
+//        }
+        $createrid= $this->uid;//isset($user["data"]['id']) ?  $user["data"]['id'] : "";
+        $creater= $this->uname;//isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
         Db::startTrans();
         try {
             $planNo=makeNo("PL");
@@ -668,7 +683,7 @@ class Project extends Base
                        }else{
 
                            //修改状态,添加待办
-                           ActionLog::logAdd($this->post['token'], [
+                           ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                                "order_code" => $bids['infoNo'],//咨询单详情编号
                                "status" => $old_bids_status,//这里的status是之前的值
                                "action_remark" => '',//备注
@@ -727,14 +742,14 @@ class Project extends Base
                     if($cr){
 
                         //修改状态,添加待办
-                        ActionLog::logAdd($this->post['token'], [
+                        ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                             "order_code" => $projectNo,//项目编码
                             "status" => $old_project_status,//这里的status是之前的值
                             "action_remark" => '',//备注
                             "action_type" => "status"//新建create,编辑edit,更改状态status
                         ], "PRO", 4, $info);
 
-                        ProcessOrder::AddProcess($this->post['token'], [
+                        ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
                             "order_type" => 'PRO',
                             "order_code" => $projectNo,
                             "order_id" => $info['id'],
@@ -893,7 +908,7 @@ class Project extends Base
                     if($up){
 
                         //修改状态,添加待办,只记录动作
-                        ActionLog::logAdd($this->post['token'], [
+                        ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                             "order_code" => $value['pgNo'],//编码
                             "status" => $old_projectinfo_status,//这里的status是之前的值
                             "action_remark" => '',//备注
@@ -910,14 +925,14 @@ class Project extends Base
                                 return error_show(1004,"反馈数据选择失败");
                             }else{
                                 //修改状态,添加待办
-                                ActionLog::logAdd($this->post['token'], [
+                                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                                     "order_code" =>$value['projectNo'],//项目编码
                                     "status" => $poject['status'],//这里的status是之前的值
                                     "action_remark" => '',//备注
                                     "action_type" => "status"//新建create,编辑edit,更改状态status
                                 ], "PRO", 3, ["status"=>3,"updatetime"=>date("Y-m-d H:i:s")]);
 
-                                ProcessOrder::AddProcess($this->post['token'], [
+                                ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
                                     "order_type" => 'PRO',
                                     "order_code" =>$value['projectNo'],
                                     "order_id" => $poject['id'],
@@ -964,7 +979,7 @@ class Project extends Base
             if($up) {
                 foreach ($selec as $value){
                     //修改状态,添加待办,只记录动作
-                    ActionLog::logAdd($this->post['token'], [
+                    ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                         "order_code" => $value['planNo'],//编码
                         "status" => $value['status'],//这里的status是之前的值
                         "action_remark" => '',//备注
@@ -987,14 +1002,14 @@ class Project extends Base
                             return error_show(1004,"项目单未找到");
                         }
                         //修改状态,添加待办
-                        ActionLog::logAdd($this->post['token'], [
+                        ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], [
                             "order_code" =>$value,//项目编码
                             "status" => 4,//这里的status是之前的值
                             "action_remark" => '',//备注
                             "action_type" => "status"//新建create,编辑edit,更改状态status
                         ], "PRO", 5, ["status"=>5,"updatetime"=>date("Y-m-d H:i:s")]);
 
-                        ProcessOrder::AddProcess($this->post['token'], [
+                        ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname], [
                             "order_type" => 'PRO',
                             "order_code" =>$value,
                             "order_id" => $poject['id'],
@@ -1066,16 +1081,16 @@ class Project extends Base
                 }
             }
             $plat = Db::name("platform")->where(["id"=>$prject['platform_id']])->find();
-            $token = isset($this->post['token'])&& $this->post['token']!=="" ? trim($this->post['token']):"";
-            if($token==""){
-                return error_show(1004,"参数token不能为空");
-            }
-            $apply_id = GetUserInfo($token);
-            if (empty($apply_id) || $apply_id['code'] != 0) {
-                return error_show(1002, "申请人数据不存在");
-            }
-            $rm = isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
-            $ri = isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
+//            $token = isset($this->post['token'])&& $this->post['token']!=="" ? trim($this->post['token']):"";
+//            if($token==""){
+//                return error_show(1004,"参数token不能为空");
+//            }
+//            $apply_id = GetUserInfo($token);
+//            if (empty($apply_id) || $apply_id['code'] != 0) {
+//                return error_show(1002, "申请人数据不存在");
+//            }
+            $rm = $this->uid;//isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
+            $ri = $this->uname;//isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
         $orderCode = makeNo("QR");
         Db::startTrans();
         try{

+ 32 - 13
app/admin/controller/Purch.php

@@ -118,6 +118,9 @@ class Purch extends Base
         $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] != "" ? trim($this->post['relaComNo']) : "";
         if ($relaComNo !== "") $where[] = ['po.companyNo', '=', $relaComNo];
 
+        $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] != "" ? trim($this->post['relaComNo']) : "";
+        if ($relaComNo !== "") $where[] = ['po.companyNo', '=', $relaComNo];
+
 //		$whereor=[];
 //        if(!empty($role['write'])){
 ////            $whereor[]=["po.cgder_id","in",$role['write']];
@@ -193,11 +196,14 @@ class Purch extends Base
             ->where(["a.wsm_code" => $wsmCodes])
             ->column("a.name as wsm_name,a.supplierNo as code", "wsm_code");
 
-          $wsmsupplier=[];
-         if(!empty($wsmcode)){
-            $names = $userCommon->handle('getCodeAndName', ['code' => array_column($wsmcode,"code")]);
-            $wsmsupplier = $names['data']??[];
-         }
+//          $wsmsupplier=[];
+//         if(!empty($wsmcode)){
+//
+//
+//            $wsmsupplier = $names['data']??[];
+//         }
+
+        $names = $userCommon->handle('getCodeAndName', ['code' => array_unique(array_merge(array_column($wsmcode,"code"),array_column($list,"companyNo")))]);
 
         //补充供应商负责人(sip.personid as supplier_cgderid,sip.person as supplier_cgder)
         $person_list = $userCommon->handle('sGetList', ['more_code' => array_unique(array_column($list, 'supplierNo')), 'size' => $size]);
@@ -210,6 +216,8 @@ class Purch extends Base
 
             $value['supplier_cgderid'] = $person_list[$value['supplierNo']]['personid'] ?? '';
             $value['supplier_cgder'] = $person_list[$value['supplierNo']]['person'] ?? '';
+
+            $value['companyName'] = $names['data'][$value['companyNo']] ?? '';
 //            $value['wsm_name']="";
 //            if($value['wsm_code']!=""){
 ////                $wsmcode = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")
@@ -225,9 +233,12 @@ class Purch extends Base
                 $goon = Db::name("good_zixun")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
                 $value["speclist"]=isset($goon['specinfo'])&&$goon['specinfo']!=""? json_decode($goon['specinfo'],true):"";
                 //为了格式统一,缺了一个spec_value
-                foreach ($value['speclist'] as &$v) {
-                    $v['spec_value'] = $v['spec_value_name'];
+                if ($value['speclist'] != '') {
+                    foreach ($value['speclist'] as &$v) {
+                        $v['spec_value'] = $v['spec_value_name'];
+                    }
                 }
+
             }else {
                 $goon =Db::name('good_basic')->where(['spuCode'=>$value['spuCode']])->find();
                 $spec = Db::name("good_spec")->where(["spuCode"=>$goon['spuCode'],"is_del"=>0])->select()->toArray();
@@ -1007,29 +1018,37 @@ class Purch extends Base
         $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)];
 
+        $order_source = $order_source = isset($this->post['order_source']) && $this->post['order_source'] != "" ? intval($this->post['order_source']) : "";
+        if ($order_source !== "")   $where[] = ['c.order_source', "=", $order_source];
+        $is_stock = $order_source = isset($this->post['is_stock']) && $this->post['is_stock'] != "" ? intval($this->post['is_stock']) : "";
+        if ($is_stock !== "") $where[] = ['b.is_stock', "=", $is_stock];
+
+
 //        $role = $this->checkDataShare();
 //        if (!empty($role[DataGroupModel::$type_全部])) $where[] = ['a.apply_id', 'in', $role[DataGroupModel::$type_全部]];
-         $role = $this->checkDataShare();
+        $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];
+            $arr= array_unique(array_merge($hand,$role[DataGroupModel::$type_全部]));
+            $where[] = ['a.apply_id', 'in',$arr];
         }
 
         $count = Db::name('purchease_diff')
             ->alias('a')
-            ->join("good b","b.spuCode=a.good_code","left")
+            ->leftJoin("good b","b.spuCode=a.good_code")
+            ->leftJoin("purchease_order c","c.cgdNo=a.cgdNo")
             ->where($where)
             ->count();
         $total = ceil($count/$size);
         $page = $page >= $total ? $total : $page;
         $list = Db::name('purchease_diff')
             ->alias('a')
-            ->join("good b","b.spuCode=a.good_code","left")
+            ->leftJoin("good b","b.spuCode=a.good_code")
+            ->leftJoin("purchease_order c","c.cgdNo=a.cgdNo")
             ->where($where)
             ->page($page,$size)
             ->order("a.addtime desc")
-            ->field("a.*,b.cat_id")
+            ->field("a.*,b.cat_id,c.order_source,b.is_stock")
             ->select()
             ->toArray();
 

+ 42 - 26
app/admin/controller/Purchin.php

@@ -141,7 +141,7 @@ class Purchin extends Base
             ->where($where)
              ->where(function ($query)use ($condition){$query->whereOr($condition);})
             ->page($page,$size)
-            ->field("a.apply_name,a.sendtime,b.order_type,b.order_source,a.status,a.cgdNo,a.wsm_in_code,a.send_num,a.wsm_code,b.good_name,b.spuCode,a.post_company,a.post_code,a.post_fee,a.apply_id,a.wsm_num,a.error_num,a.wait_num,a.status,a.check_name,a.checkid,b.bkcode,b.supplierNo,'' cgder_id,'' cgder,b.good_createrid,b.good_creater,c.name wsm_name,c.supplierNo wsm_supplierNo")
+            ->field("a.apply_name,a.sendtime,b.order_type,b.order_source,a.status,a.cgdNo,a.wsm_in_code,a.send_num,a.wsm_code,b.good_name,b.spuCode,a.post_company,a.post_code,a.post_fee,a.apply_id,a.wsm_num,a.error_num,a.wait_num,a.status,a.check_name,a.checkid,b.bkcode,b.supplierNo,'' cgder_id,'' cgder,b.good_createrid,b.good_creater,c.name wsm_name,b.supplierNo,b.supplier_name,c.supplierNo wsm_supplierNo,b.companyNo")
             ->order("a.addtime desc")
             ->select()
             ->toArray();
@@ -151,7 +151,7 @@ class Purchin extends Base
 
         //获取采购单供应商和仓库供应商的名称
         $userCommon = new \app\admin\common\User();
-        $names = $userCommon->handle('getCodeAndName',['code'=>array_unique(array_merge(array_column($list,'supplierNo'),array_column($list,'wsm_supplierNo')))]);
+        $names = $userCommon->handle('getCodeAndName',['code'=>array_unique(array_merge(array_column($list,'companyNo'),array_column($list,'wsm_supplierNo')))]);
 
         $all_supplier = $userCommon->handle('sGetList',['more_code'=>array_column($list,'supplierNo'),'page'=>1,'size'=>$size]);
         $all_supplier_list = array_column($all_supplier['data']['list'],null,'code');
@@ -211,6 +211,7 @@ class Purchin extends Base
 //                ->find();
 //            $value['wsm_name'] = $wsmcode['wsm_name'];
             $value['wsm_supplier'] = $names['data'][$value['wsm_supplierNo']]??'';
+            $value['companyName'] = $names['data'][$value['companyNo']]??'';
 //            $value['wsm_supplierNo'] = $wsmcode['code'];
 
             $value['company_name'] = $item[$value['apply_id']]??'';
@@ -1032,11 +1033,11 @@ class Purchin extends Base
         }
         $error_remark = isset($this->post['error_remark']) &&$this->post['error_remark']!=="" ? trim($this->post['error_remark']):"" ;
         $remark = isset($this->post['remark']) &&$this->post['remark']!=="" ? trim($this->post['remark']):"" ;
-        $result = GetUserInfo($this->post['token']);
-        if((!empty($result) && $result['code']!=0) ||empty($result) ){
-            return error_show($result['code'],$result['message']);
-        }
-        $userinfo = $result['data'];
+//        $result = GetUserInfo($this->post['token']);
+//        if((!empty($result) && $result['code']!=0) ||empty($result) ){
+//            return error_show($result['code'],$result['message']);
+//        }
+//        $userinfo = $result['data'];
          $cgdinfo=Db::name("purchease_order")->where(['cgdNo'=>$info['cgdNo'],"is_del"=>0])->find();
             if(empty($cgdinfo)){
                 return error_show(1002,"未找到采购单数据");
@@ -1055,13 +1056,16 @@ class Purchin extends Base
         $info['updatetime'] = date("Y-m-d H:i:s");
         $up= Db::name("purchease_in")->save($info);
         if($up){
-             //库存品,推给31库管人员、41库管-张凯旋
-                        $uid = Db::name('user_role')
-                            ->where([
-                                ['is_del', '=', 0],
-                                ['roleid', 'in', [31, 41]],
-                                ['status', '=', 1]
-                            ])->column('uid');
+            //库存品,推给仓库对应的管理员
+            $uid = Db::name('warehouse_info')
+                ->where(['wsm_code' => $info['wsm_code'], 'is_del' => 0])
+                ->column('contactor');
+//                        $uid = Db::name('user_role')
+//                            ->where([
+//                                ['is_del', '=', 0],
+//                                ['roleid', 'in', [31, 41]],
+//                                ['status', '=', 1]
+//                            ])->column('uid');
                 $handle_user_list=implode(",",$uid);
             if($info['status']==4){
                 $order = ["order_code"=>$info['cgdNo'],"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
@@ -1075,7 +1079,7 @@ class Purchin extends Base
                     Db::rollback();
                     return error_show(1002,"发货失败");
                 }
-                ActionLog::logAdd($this->post['token'],$order,"CGD", $cgdinfo['status'],$cgdinfo);
+                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname], $order, "CGD", $cgdinfo['status'], $cgdinfo);
 
 //                $holder_id = Db::name('supplier')->where(['code' => $cgdinfo['supplierNo'], 'is_del' => 0])->value('personid', 0);
                 if($cgdinfo['status']==1 || $cgdinfo['status']==2){
@@ -1083,7 +1087,7 @@ class Purchin extends Base
                         ->where(['is_del'=>0,'spuCode'=>$cgdinfo['spuCode']])
                         ->value('is_stock');
                     if($is_stock==1){
-                        //库存品,推给31库管人员、41库管-张凯旋
+                        //库存品,推给仓库对应的负责人
 
                         if(!in_array($this->uid,$uid)) throw new Exception('库存品订单只能由库管人员操作');
 
@@ -1095,7 +1099,7 @@ class Purchin extends Base
                     }//非库存品和采返商品,推给供应商负责人
                 }//else $process=["order_code"=>$info['cgdNo'],"order_id"=>$cgdinfo['id'],"order_status"=>$cgdinfo['status'],"order_type"=>'CGD',"before_status"=>$order['status'],'holder_id'=>Db::name('supplier')->where(['code' => $cgdinfo['supplierNo'], 'is_del' => 0])->value('personid', 0)];
                 $process=["order_code"=>$info['cgdNo'],"order_id"=>$cgdinfo['id'],"order_status"=>$cgdinfo['status'],"order_type"=>'CGD',"before_status"=>$order['status'],'holder_id'=>$holder_id];
-                ProcessOrder::AddProcess($this->post['token'],$process);
+                ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname],$process);
                 $good = Db::name("good_stock")->where(["wsm_code"=>$info['wsm_code'], "spuCode"=>$cgdinfo['spuCode'],"is_del"=>0])->find();
                 if(empty($good)) {
                     $good=[
@@ -1138,7 +1142,7 @@ class Purchin extends Base
                 }
                 $good_data[]=['good_log_code' => $incode,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>1, 'stock'=>$info['wsm_num'],"stock_name"=>"usable_stock"];
                 $good_data[]=['good_log_code' => $incode,"stock_id"=>isset($good['id'])? $good['id']:Db::name("good_stock")->getLastInsID(),"type"=>2, 'stock'=>$info['wsm_num'],"stock_name"=>"wait_in_stock"];
-                GoodLog::LogAdd($this->post['token'],$good_data,'RKD');
+                GoodLog::LogAdd(['id' => $this->uid, 'nickname' => $this->uname],$good_data,'RKD');
 
                 $bk =Db::name("order_bk")->where(['cgdNo'=>$cgdinfo['cgdNo']])->lock(true)->find();
                 if($bk==false){
@@ -1166,9 +1170,9 @@ class Purchin extends Base
 
 
             }
-            ActionLog::logAdd($this->post['token'],$sto,"RKD", $info['status'],$this->post);
+            ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname],$sto,"RKD", $info['status'],$this->post);
             $process=["order_code"=>$info['wsm_in_code'],"order_id"=>$info['id'],"order_status"=>$info['status'],"order_type"=>'RKD',"before_status"=>$sto['status'],'holder_id' => $info['apply_id'],"handle_user_list"=>$handle_user_list??""];
-            ProcessOrder::AddProcess($this->post['token'],$process);
+            ProcessOrder::AddProcess(['id' => $this->uid, 'nickname' => $this->uname],$process);
 
             //需要在详情页把相关退货记录原样取出来,所以这里把if去掉,所有记录都入purchease_return表
      if($info['status']==5){
@@ -1187,8 +1191,8 @@ class Purchin extends Base
                     "post_code"=>"",
                     "post_company"=>"",
                     "remark"=>$remark ,
-                    "apply_id"=>$userinfo['id'],
-                    "apply_name"=>$userinfo['nickname'],
+                    "apply_id"=>$this->uid,
+                    "apply_name"=>$this->uname,
                     "status"=>0,
                     "addtime"=>date("Y-m-d H:i:s"),
                     "updatetime"=>date("Y-m-d H:i:s")
@@ -1200,7 +1204,7 @@ class Purchin extends Base
                 }
 
                 $sto = ["order_code"=>$incode,"status"=>0,"action_remark"=>'',"action_type"=>"create"];
-                ActionLog::logAdd($this->post['token'],$sto,"RKTHD",0,$data);
+                ActionLog::logAdd(['id' => $this->uid, 'nickname' => $this->uname],$sto,"RKTHD",0,$data);
 
          //维护台账记录
 //         Db::name('standing_book')
@@ -1440,6 +1444,11 @@ class Purchin extends Base
         $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo'] != "" ? trim($this->post['supplierNo']) : "";
         if ($supplierNo != '') $where[] = ['b.supplierNo', '=', $supplierNo];
 
+        $order_source = isset($this->post['order_source']) && $this->post['order_source'] != "" ? intval($this->post['order_source']) : "";
+        if ($order_source != '') $where[] = ['b.order_source', '=', $order_source];
+        $is_stock = isset($this->post['is_stock']) && $this->post['is_stock'] != "" ? intval($this->post['is_stock']) : "";
+        if ($is_stock != '') $where[] = ['c.is_stock', '=', $is_stock];
+
 //        $role = $this->checkDataShare();
 //        if (!empty($role[DataGroupModel::$type_全部])) $where[] = ["a.apply_id", "in", $role[DataGroupModel::$type_全部]];
 
@@ -1455,21 +1464,27 @@ class Purchin extends Base
 
         $count = Db::name('purchease_return')
             ->alias('a')
-            ->join("purchease_order b","b.cgdNo=a.cgdNo","left")
+            ->leftJoin("purchease_order b","b.cgdNo=a.cgdNo")
+            ->leftJoin("good_basic c","c.spuCode=b.spuCode")
             ->where($where)
             ->count();
         $total = ceil($count / $size);
         $page = $page >= $total ? $total : $page;
         $list = Db::name('purchease_return')
             ->alias('a')
-            ->join("purchease_order b","b.cgdNo=a.cgdNo","left")
+            ->leftJoin("purchease_order b","b.cgdNo=a.cgdNo")
+            ->leftJoin("good_basic c","c.spuCode=b.spuCode")
             ->where($where)
             ->page($page,$size)
-            ->field("a.*,b.spuCode,b.good_price,b.order_type,b.good_price,b.total_fee,b.good_name")
+            ->field("a.*,b.spuCode,b.good_price,b.order_type,b.good_price,b.total_fee,b.good_name,b.order_source,c.is_stock,b.supplierNo,b.supplier_name,b.companyNo")
             ->order("a.addtime desc")
             ->select()
             ->toArray();
         $data=[];
+
+        $userCommon = new \app\admin\common\User();
+        $names = $userCommon->handle('getCodeAndName',['code'=>array_unique(array_column($list,'companyNo'))]);
+
         foreach ($list as $value){
             if($value['order_type']==3){
                 $goon = Db::name("good_zixun")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
@@ -1482,6 +1497,7 @@ class Purchin extends Base
             //是否具有编辑权限
 //            $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;
+            $value['companyName'] = $names['data'][$value['companyNo']]??'';
 
             $data[]=$value;
         }

+ 5 - 1
app/admin/controller/Reorder.php

@@ -461,6 +461,10 @@ class Reorder extends Base
             $where[] = ['b.good_code', "in", $spuCode];
         }
 
+        $order_source = $order_source = isset($this->post['order_source']) && $this->post['order_source'] != "" ? trim($this->post['order_source']) : "";
+        if ($order_source !== "") $where[] = ['b.order_source', "=", $order_source];
+
+
         $condition=[];
 //        $role=$this->checkRole();
 //        if(!empty($role['write']) && $this->uid!=""){
@@ -506,7 +510,7 @@ class Reorder extends Base
         $page = $total>=$page ? $page :$total;
         $list = Db::name("sale_return")
             ->alias('sr')
-            ->field('sr.*,b.skuCode,b.sale_price,b.good_num total_num,b.customer_code,b.supplierNo ')
+            ->field('sr.*,b.skuCode,b.sale_price,b.good_num total_num,b.customer_code,b.supplierNo ,b.order_source')
             ->leftJoin("sale b", "b.orderCode=sr.orderCode AND b.is_del=0")
             ->where($where)
             ->where(function ($query)use ($condition){$query->whereOr($condition);})

+ 112 - 95
app/admin/controller/Sale.php

@@ -31,7 +31,7 @@ class Sale extends Base
 
     public function create()
     {
-        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
+//        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
         $orderCode = makeNo("QR");
         $customer_code = isset($this->post['customer_code']) && $this->post['customer_code'] !== "" ? trim($this->post['customer_code']) : "";
         if ($customer_code == "") {
@@ -113,6 +113,7 @@ class Sale extends Base
 //            if ($stock == false || $stock['usable_stock'] < $good_num) {
 //                return error_show(1003, "库存数量不足");
 //            }
+
             if($stock_num < $good_num){
                 return error_show(1003, "库存数量不足");
             }
@@ -276,14 +277,14 @@ class Sale extends Base
             if ($datainfo > 0) {
 
                 //修改状态,添加待办
-                ActionLog::logAdd($this->post['token'], [
+                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                     "order_code" => $orderCode,//销售单code
                     "status" => 0,//这里的status是之前的值
                     "action_remark" => '',//备注
                     "action_type" => "create"//新建create,编辑edit,更改状态status
                 ], "XSQRD", 0, $this->post);
 
-                ProcessOrder::AddProcess($this->post['token'], [
+                ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], [
                     "order_type" => 'XSQRD',
                     "order_code" => $orderCode,//销售单code
                     "order_id" => $datainfo,
@@ -576,7 +577,7 @@ class Sale extends Base
         $up = Db::name("purchease_order")->insert($cg, true);
         if ($up) {
             //修改状态,添加待办
-            ActionLog::logAdd($this->post['token'], [
+            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                 "order_code" => $cg['cgdNo'],//销售单code
                 "status" => 0,//这里的status是之前的值
                 "action_remark" => '',//备注
@@ -584,7 +585,7 @@ class Sale extends Base
             ], "CGD", $cg['status'], $cg);
 
             //当节点是0待与供应商确认,推给供应商负责人
-            ProcessOrder::AddProcess($this->post['token'], [
+            ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], [
                 "order_type" => 'CGD',
                 "order_code" => $cg['cgdNo'],//销售单code
                 "order_id" => $up,
@@ -645,7 +646,7 @@ class Sale extends Base
                 }
                 $good_data[] = ['good_log_code' => $cgdCode, "stock_id" => isset($stoc['id']) ? $stoc['id'] : Db::name("good_stock")->getLastInsID(), "type" => 1,
                     'stock' => $data['good_num'], "stock_name" => "wait_in_stock"];
-                GoodLog::LogAdd($this->post['token'], $good_data, "CGD");
+                GoodLog::LogAdd(['id'=>$this->uid,'nickname'=>$this->uname], $good_data, "CGD");
                 return true;
             }
         } else {
@@ -667,13 +668,13 @@ class Sale extends Base
             return error_show(1005,"存在未完成退货订单数据");
         }
         $arrtime = isset($this->post['arrtime']) && $this->post['arrtime'] != "" ? $this->post['arrtime'] : "";
-        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
-        $apply_id = GetUserInfo($token);
-        if (empty($apply_id) || $apply_id['code'] != 0) {
-            return error_show(1002, "申请人数据不存在");
-        }
-        $rm = isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
-        $ri = isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
+//        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
+//        $apply_id = GetUserInfo($token);
+//        if (empty($apply_id) || $apply_id['code'] != 0) {
+//            return error_show(1002, "申请人数据不存在");
+//        }
+        $rm = $this->uid;//isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
+        $ri = $this->uname;//isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
         $addrlist = isset($this->post['addrlist']) && $this->post['addrlist'] !== "" ? $this->post['addrlist'] : "";
         if ($addrlist == "" || empty($addrlist) || !is_array($addrlist)) {
             return error_show(1004, "参数addrlist不能为空");
@@ -776,7 +777,7 @@ class Sale extends Base
                             }
                             $good_data[] = ['good_log_code' => $outCode, "stock_id" => $temp['id'], "type" => 1, 'stock' => $num, "stock_name" => "wait_out_stock"];
                             $good_data[] = ['good_log_code' => $outCode, "stock_id" => $temp['id'], "type" => 2, 'stock' => $num, "stock_name" => "usable_stock"];
-                            GoodLog::LogAdd($this->post['token'], $good_data, "CKD");
+                            GoodLog::LogAdd(['id'=>$this->uid,'nickname'=>$this->uname], $good_data, "CKD");
                             $status = 1;
                         }
                     }else{
@@ -973,9 +974,9 @@ class Sale extends Base
         }
 
         $userCommon = new \app\admin\common\User();
-        $tmp = $userCommon->handle('bInfo',['companyNo'=>$companyNo]);
-        if(!isset($tmp['code']) || $tmp['code']!=0) return json_show($tmp['code'],$tmp['message'],$tmp['data']);
-        if(empty($tmp['data'])) return json_show(1003, "业务公司数据未找到");
+//        $tmp = $userCommon->handle('bInfo',['companyNo'=>$companyNo]);
+//        if(!isset($tmp['code']) || $tmp['code']!=0) return json_show($tmp['code'],$tmp['message'],$tmp['data']);
+//        if(empty($tmp['data'])) return json_show(1003, "业务公司数据未找到");
 
 //        $company = Db::name("business")->where(["companyNo" => $companyNo, "is_del" => 0])->find();
 //        if ($company == false) {
@@ -997,6 +998,7 @@ class Sale extends Base
         $is_stock = 0;
         $cgd = [
             "supplierNo" => $zxinfo['supplierNo'],
+            "supplierName" => $supplier_temp_info['name'],
             "companyNo" => $companyNo,
             "spuCode" => $spuCode,
             "skuCode" => $skuCode,
@@ -1025,16 +1027,16 @@ class Sale extends Base
             'good_createrid' => $zxinfo['createrid'],
             'good_creater' => $zxinfo['creater'],//商品创建人id
         ];
-        $token = isset($this->post['token']) && $this->post['token'] != "" ? trim($this->post['token']) : "";
-        if ($token == "") {
-            return error_show(102, "参数token不能为空");
-        }
-        $apply_id = GetUserInfo($token);
-        if (empty($apply_id) || $apply_id['code'] != 0) {
-            return error_show(102, "申请人数据不存在");
-        }
-        $rm = isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
-        $ri = isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
+//        $token = isset($this->post['token']) && $this->post['token'] != "" ? trim($this->post['token']) : "";
+//        if ($token == "") {
+//            return error_show(102, "参数token不能为空");
+//        }
+//        $apply_id = GetUserInfo($token);
+//        if (empty($apply_id) || $apply_id['code'] != 0) {
+//            return error_show(102, "申请人数据不存在");
+//        }
+        $rm = $this->uid;//isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
+        $ri = $this->uname;//isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
 
         $va = isset($this->post['order_addr']) && $this->post['order_addr'] !== "" ? $this->post['order_addr'] : "";
         $send_num = 0;
@@ -1130,14 +1132,14 @@ class Sale extends Base
                 ];
 
                 //修改状态,添加待办
-                ActionLog::logAdd($this->post['token'], [
+                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                     "order_code" => $orderCode,//销售单code
                     "status" => 0,//这里的status是之前的值
                     "action_remark" => '',//备注
                     "action_type" => "create"//新建create,编辑edit,更改状态status
                 ], "XSQRD", $data['status'], $data);
 
-                ProcessOrder::AddProcess($this->post['token'], [
+                ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], [
                     "order_type" => 'XSQRD',
                     "order_code" => $orderCode,//销售单code
                     "order_id" => $datainfo,
@@ -1152,7 +1154,7 @@ class Sale extends Base
                     return error_show(1002, "咨询单修改失败");
                 } else {
                     //修改状态,添加待办
-                    ActionLog::logAdd($this->post['token'], [
+                    ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                         "order_code" => $zx['infoNo'],//咨询单详情编号
                         "status" => $old_zx_status,//这里的status是之前的值
                         "action_remark" => '',//备注
@@ -1377,16 +1379,16 @@ class Sale extends Base
         if ($planinfo == "") {
             return error_show(1002, "参数planinfo不能为空");
         }
-        $token = isset($this->post['token']) && $this->post['token'] != "" ? trim($this->post['token']) : "";
-        if ($token == "") {
-            return error_show(102, "参数token不能为空");
-        }
-        $apply_id = GetUserInfo($token);
-        if (empty($apply_id) || $apply_id['code'] != 0) {
-            return error_show(102, "申请人数据不存在");
-        }
-        $rm = isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
-        $ri = isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
+//        $token = isset($this->post['token']) && $this->post['token'] != "" ? trim($this->post['token']) : "";
+//        if ($token == "") {
+//            return error_show(102, "参数token不能为空");
+//        }
+//        $apply_id = GetUserInfo($token);
+//        if (empty($apply_id) || $apply_id['code'] != 0) {
+//            return error_show(102, "申请人数据不存在");
+//        }
+        $rm = $this->uid;//isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
+        $ri = $this->uname;//isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
         Db::startTrans();
         try {
             $plan = Db::name("project_plan")->where(["planNo" => $planNo, "is_del" => 0])->lock(true)->find();
@@ -1501,7 +1503,7 @@ class Sale extends Base
                 return error_show(1002, "项目订单生成失败");
             } else {
                 //修改状态,添加待办,只记录动作
-                ActionLog::logAdd($this->post['token'], [
+                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                     "order_code" => $planNo,//编码
                     "status" => $old_plan_status,//这里的status是之前的值
                     "action_remark" => '',//备注
@@ -1517,14 +1519,14 @@ class Sale extends Base
                 return error_show(1002, "项目订单生成失败");
             } else {
                 //修改状态,添加待办
-                ActionLog::logAdd($this->post['token'], [
+                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                     "order_code" => $project['projectNo'],//项目编码
                     "status" => $old_project_status,//这里的status是之前的值
                     "action_remark" => '',//备注
                     "action_type" => "status"//新建create,编辑edit,更改状态status
                 ], "PRO", 6, $project);
 
-                ProcessOrder::AddProcess($this->post['token'], [
+                ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], [
                     "order_type" => 'PRO',
                     "order_code" => $project['projectNo'],
                     "order_id" => $project['id'],
@@ -1534,14 +1536,14 @@ class Sale extends Base
                 ]);
             }
             //修改状态,添加待办,只记录动作
-            ActionLog::logAdd($this->post['token'], [
+            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                 "order_code" => $project['projectNo'],//编码,这里是project的编码
                 "status" => 1,//这里的status是之前的值
                 "action_remark" => '',//备注
                 "action_type" => "create"//新建create,编辑edit,更改状态status
             ], "PRT", 2, $this->post);
             $process = ["order_code" => $project['projectNo'], "order_id" => $project['id'], "order_status" => 2, "order_type" => "PRT", "before_status" => 1];
-            ProcessOrder::AddProcess($this->post['token'], $process);
+            ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], $process);
 
             Db::commit();
             return app_show(0, "咨询订单生成成功");
@@ -1659,14 +1661,14 @@ class Sale extends Base
             $standing_book_data['customer_code'] = $datas['customer_code'];
             $standing_book_data['infoNo'] = $goodinfo['infoNo'];
             //修改状态,添加待办
-            ActionLog::logAdd($this->post['token'], [
+            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                 "order_code" => $orderCode,//项目编码
                 "status" => 0,//这里的status是之前的值
                 "action_remark" => '',//备注
                 "action_type" => "status"//新建create,编辑edit,更改状态status
             ], "XSQRD", 0, $datas);
 
-            ProcessOrder::AddProcess($this->post['token'], [
+            ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], [
                 "order_type" => 'XSQRD',
                 "order_code" => $orderCode,
                 "order_id" => $datainfo,
@@ -1695,7 +1697,7 @@ class Sale extends Base
                 return false;
             }
             //修改状态,添加待办
-            ActionLog::logAdd($this->post['token'], [
+            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                 "order_code" => $goodinfo['bidNo'],//项目编码
                 "status" => $bidstatus,//这里的status是之前的值
                 "action_remark" => '',//备注
@@ -1809,14 +1811,14 @@ class Sale extends Base
                             return false;
                         }
                         //修改状态,添加待办
-                        ActionLog::logAdd($this->post['token'], [
+                        ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                             "order_code" => $outCode,//项目编码
                             "status" => 0,//这里的status是之前的值
                             "action_remark" => '',//备注
                             "action_type" => "status"//新建create,编辑edit,更改状态status
                         ], "CKD", 0, $out);
 
-                        ProcessOrder::AddProcess($this->post['token'], [
+                        ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], [
                             "order_type" => 'CKD',
                             "order_code" => $outCode,
                             "order_id" => $ou,
@@ -1962,14 +1964,14 @@ class Sale extends Base
 
             $standing_book_data['sale_id'] = $datainfo;
             //修改状态,添加待办
-            ActionLog::logAdd($this->post['token'], [
+            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                 "order_code" => $orderCode,//项目编码
                 "status" => 0,//这里的status是之前的值
                 "action_remark" => '',//备注
                 "action_type" => "status"//新建create,编辑edit,更改状态status
             ], "XSQRD", 0, $datas);
 
-            ProcessOrder::AddProcess($this->post['token'], [
+            ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], [
                 "order_type" => 'XSQRD',
                 "order_code" => $orderCode,
                 "order_id" => $datainfo,
@@ -2047,7 +2049,7 @@ class Sale extends Base
                     //商品变动日志表,good_log_code字段存储采购单号
 //                    $good_data[] = ['good_log_code' => $orderCode, "stock_id" => $stock['id'], "type" => 2, 'stock' => $data['good_num'], "stock_name" => "usable_stock"];
 //                    $good_data[] = ['good_log_code' => $orderCode, "stock_id" => $stock['id'], "type" => 1, 'stock' => $data['good_num'], "stock_name" => "wait_out_stock"];
-//                    GoodLog::LogAdd($this->post['token'], $good_data, "XSQRD");
+//                    GoodLog::LogAdd(['id'=>$this->uid,'nickname'=>$this->uname], $good_data, "XSQRD");
                 }
 
             }
@@ -2153,14 +2155,14 @@ class Sale extends Base
                             $handle_user_list=implode(',', $uids);
                             }
 
-                            ActionLog::logAdd($this->post['token'], [
+                            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], [
                                 "order_code" => $outCode,//出库单号
                                 "status" => 0,//这里的status是之前的值
                                 "action_remark" => '',//备注
                                 "action_type" => "create"//新建create,编辑edit,更改状态status
                             ], "CKD", 0, $out);
 
-                            ProcessOrder::AddProcess($this->post['token'], [
+                            ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], [
                                 "order_type" => 'CKD',
                                 "order_code" => $outCode,//出库单号
                                 "order_id" => $ou,
@@ -2253,6 +2255,10 @@ class Sale extends Base
 
         $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
         if ($company_name !== "") $where[] = ["s.apply_id", 'in', get_company_item_user_by_name($company_name)];
+
+        $order_source = isset($this->post['order_source']) && $this->post['order_source'] !== "" ? trim($this->post['order_source']) : "";
+        if ($order_source !== "") $where[] = ["s.order_source", '=', $order_source];
+
 //        if(!empty($role['platform']) ){
 //            $where[]=["s.platform_id","in",$role['platform']];
 //        }
@@ -2306,12 +2312,12 @@ class Sale extends Base
             $value['supplierName'] = '';
             if ($value['supplierNo'] != "") {
 //                $supplier = Db::name("business")->where(["companyNo" => $value['supplierNo']])->find();
-                $value['supplierName'] = $names[$value['supplierNo']]??'';//isset($supplier['company']) ? $supplier['company'] : "";
+                $value['supplierName'] = $names['data'][$value['supplierNo']]??'';//isset($supplier['company']) ? $supplier['company'] : "";
             }
             $value['customerName'] = '';
             if ($value['customer_code'] != "") {
 //                $supplier = Db::name("customer_info")->where(["companyNo" => $value['customer_code']])->find();
-                $value['customerName'] = $names[$value['customer_code']]??'';//isset($supplier['companyName']) ? $supplier['companyName'] : "";
+                $value['customerName'] = $names['data'][$value['customer_code']]??'';//isset($supplier['companyName']) ? $supplier['companyName'] : "";
             }
             $value['useage'] = "";
             if ($value['use_order'] != 0) {
@@ -2336,7 +2342,7 @@ class Sale extends Base
 
     public function edit()
     {
-        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
+//        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
         $id = isset($this->post['id']) && $this->post['id'] !== "" ? trim($this->post['id']) : "";
         if ($id == "") {
             return error_show(1002, "参数id不能为空");
@@ -2418,7 +2424,7 @@ class Sale extends Base
                 $stn = ["order_code" => $etid['orderCode'], "status" => $etid['status'], "action_remark" => '', "action_type" => "edit"];
                 ActionLog::logAdd(['id'=>$rm,'nickname'=>$ri], $stn, "XSQRD", $etid['status'], $datn);
 //                $order=["order_type"=>'XSQRD',"order_code"=>$etid['orderCode'],"order_id"=>$id,"order_status"=>$etid['status'],"before_status"=> 0];
-//                ProcessOrder::AddProcess($this->post['token'],$order);
+//                ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname],$order);
 
                 //更新台账
                 Db::name('standing_book')
@@ -2652,7 +2658,7 @@ class Sale extends Base
         $str = Db::name('sale')->update(['id' => $id, 'is_del' => 1, 'updatetime' => date("Y-m-d H:i:s")]);
         if ($str) {
             $stc = ["order_code" => $id, "status" => $ed['status'], "action_remark" => '', "action_type" => "delete"];
-            ActionLog::logAdd($this->post['token'], $stc, "XSQRD", $ed['status'], ['id' => $id, 'is_del' => 1, 'updatetime' => date("Y-m-d H:i:s")]);
+            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], $stc, "XSQRD", $ed['status'], ['id' => $id, 'is_del' => 1, 'updatetime' => date("Y-m-d H:i:s")]);
             $order = ["order_type" => 'XSQRD', "order_code" => $ed['orderCode'], "order_id" => $id, "order_status" => $ed['status'],'holder_id' => $ed['apply_id']
             ];
             ProcessOrder::workdel($order);
@@ -2665,7 +2671,7 @@ class Sale extends Base
     //废弃接口
     public function status()
     {
-        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
+//        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
         $id = isset($this->post['id']) && $this->post['id'] !== "" ? intval($this->post['id']) : "";
         if ($id == "") {
             return error_show(1002, "参数id不能为空");
@@ -2716,9 +2722,9 @@ class Sale extends Base
             $st = Db::name('sale')->save($dio);
             if ($st) {
                 $stn = ["order_code" => $dio['orderCode'], "status" => $vmp, "action_remark" => '', "action_type" => "status"];
-                ActionLog::logAdd($this->post['token'], $stn, $dio['order_type'] == 2 ? "ZXQRD" : "XSQRD", $dio['status'], $dio);
+                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], $stn, $dio['order_type'] == 2 ? "ZXQRD" : "XSQRD", $dio['status'], $dio);
                 $order = ["order_type" => "XSQRD", "order_code" => $dio['orderCode'], "order_id" => $id, "order_status" => $dio['status'], "before_status" => 1,'holder_id' => $dio['apply_id']];
-                ProcessOrder::AddProcess($this->post['token'], $order);
+                ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], $order);
                 if ($status == 3 && $dio['order_type'] == 1) {
                     $dn = Db::name('sale_info')->where(['orderCode' => $st['orderCode']])->select();
                     foreach ($dn as $value) {
@@ -2785,7 +2791,7 @@ class Sale extends Base
                     //  var_dump(Db::name("purchease_order")->getLastSql(),$clll);
                     if ($cgin == false) {
                         $stb = ["order_code" => $cgd, "status" => $clll['status'], "action_remark" => '', "action_type" => "create"];
-                        ActionLog::logAdd($this->post['token'], $stb, "xsd", $clll['status'], $stb);
+                        ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], $stb, "xsd", $clll['status'], $stb);
                         Db::rollback();
                         return error_show(1002, "咨询采购单创建商品失败");
                     }
@@ -2820,7 +2826,7 @@ class Sale extends Base
                             $datainfo = Db::name('order_out')->insertGetId($data);
                             if (!$datainfo) {
                                 $sti = ["order_code" => $dio['orderCode'], "status" => 0, "action_remark" => '', "action_type" => "create"];
-                                ActionLog::logAdd($this->post['token'], $sti, "xsd", 0, $sti);
+                                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], $sti, "xsd", 0, $sti);
                                 Db::rollback();
                                 return error_show(1003, "创建失败");
                             } else {
@@ -2863,7 +2869,7 @@ class Sale extends Base
                         $win = Db::name("purchease_in")->insert($orin);
                         if (!$win) {
                             $stv = ["order_code" => $wsm_in_code, "status" => 4, "action_remark" => '', "action_type" => "create"];
-                            ActionLog::logAdd($this->post['token'], $stv, "xsd", 4, $stv);
+                            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], $stv, "xsd", 4, $stv);
                             Db::rollback();
                             return error_show(1003, "创建失败");
                         }
@@ -2889,7 +2895,7 @@ class Sale extends Base
                         $upd = Db::name("good_stock")->save($good);
                         if (!$upd) {
                             $ste = ["order_code" => $zxinfo['cpNo'], "status" => 0, "action_remark" => '', "action_type" => "create"];
-                            ActionLog::logAdd($this->post['token'], $ste, "xsd", 0, $ste);
+                            ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], $ste, "xsd", 0, $ste);
                             Db::rollback();
                             return error_show(1003, "创建失败");
                         }
@@ -2929,9 +2935,9 @@ class Sale extends Base
             $datainfo = Db::name('sale')->where(['id' => $id, 'is_del' => 0])->save($data);
             if ($datainfo) {
                 $stx = ["order_code" => $etid['orderCode'], "status" => $etid['status'], "action_remark" => '', "action_type" => "edit"];
-                ActionLog::logAdd($this->post['token'], $stx, "XSQRD", 2, $data);
+                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], $stx, "XSQRD", 2, $data);
                 $order = ["order_type" => "XSQRD", "order_code" => $etid['orderCode'], "order_id" => $id, "order_status" => $data['status'], "before_status" => 0,'holder_id'=>$etid['apply_id']];
-                ProcessOrder::AddProcess($this->post['token'], $order);
+                ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], $order);
                 foreach ($vr as $value) {
                     $tm = [];
                     $tm['id'] = $value['id'];
@@ -2958,7 +2964,7 @@ class Sale extends Base
     // 废弃
     public function out()
     {
-        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
+//        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
         $outCode = makeNo("DF");
         $orderCode = isset($this->post['orderCode']) && $this->post['orderCode'] !== "" ? trim($this->post['orderCode']) : "";
         if ($orderCode == "") {
@@ -3260,16 +3266,24 @@ class Sale extends Base
         }
         $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo'] !== "" ? trim($this->post['supplierNo']) : "";
         if ($supplierNo != "") {
-            $where[] = ['c.supplierNo', "like", "%$supplierNo%"];
+            $where[] = ['a.companyNo', "like", "%$supplierNo%"];
         }
         $customer_code = isset($this->post['customer_code']) && $this->post['customer_code'] !== "" ? trim($this->post['customer_code']) : "";
         if ($customer_code != "") {
-            $where[] = ['c.customer_code', "like", "%$customer_code%"];
+            $where[] = ['a.customerNo', "like", "%$customer_code%"];
         }
         $relaComNo = trim($this->post['relaComNo'] ?? '');
         if ($relaComNo !== "") {
             $where[] = ['c.supplierNo', "=", $relaComNo];
         }
+        $order_source = isset($this->post['order_source']) && $this->post['order_source'] != "" ? trim($this->post['order_source']) : "";
+        if ($order_source !== "") {
+            $where[] = ['c.order_source', "=", $order_source];
+        }
+        $is_stock = isset($this->post['is_stock']) && $this->post['is_stock'] != "" ? trim($this->post['is_stock']) : "";
+        if ($is_stock !== "") {
+            $where[] = ['c.is_stock', "=", $is_stock];
+        }
         //  $role=$this->checkRole();
 //        if(!empty($role['write'])){
 //            $where[]=["apply_id","in",$role['write']];
@@ -3277,10 +3291,10 @@ class Sale extends Base
 //        $role = $this->checkDataShare();
 //        if (!empty($role[DataGroupModel::$type_全部])) $where[] = ['c.apply_id', 'in', $role[DataGroupModel::$type_全部]];
         $role = $this->checkDataShare();
-        $hand = resign_hand_user($this->uid,0);
+        $hand = resign_hand_user($this->uid, 0);
         if (!empty($role[DataGroupModel::$type_全部])) {
-        	$arr= array_unique(array_merge($hand,$role[DataGroupModel::$type_全部]));
-			$where[] = ['c.apply_id', 'in',$arr];
+            $arr = array_unique(array_merge($hand, $role[DataGroupModel::$type_全部]));
+            $where[] = ['c.apply_id', 'in', $arr];
         }
 //        if(!empty($role['platform']) ){
 //            $where[]=["c.platform_id","in",$role['platform']];
@@ -3295,7 +3309,7 @@ class Sale extends Base
         $page = $page >= $total ? intval($total) : $page;
         $list = Db::name('sale_diff')
             ->alias('a')
-            ->field("a.*,c.customer_code,'' companyName,c.skuCode,c.order_type,c.supplierNo,c.apply_id")
+            ->field("a.*,c.skuCode,c.order_type,c.apply_id,c.order_source,c.is_stock")
             ->join("sale c", "c.orderCode=a.orderCode", "left")
 //            ->join("customer_info v", "v.companyNo=c.customer_code", "left")
             ->where($where)
@@ -3306,8 +3320,8 @@ class Sale extends Base
 
         $data = [];
 
-        $userCommon = new \app\admin\common\User();
-        $names = $userCommon->handle('getCodeAndName',['code'=>array_merge(array_column($list,'supplierNo'),array_column($list,'customer_code'))]);
+//        $userCommon = new \app\admin\common\User();
+//        $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) {
@@ -3318,9 +3332,9 @@ class Sale extends Base
             }
             $value['can'] = isset($goon['cat_id']) && $goon['cat_id'] != 0 ? made($goon['cat_id']) : [];
 //            $wsm = Db::name("business")->where(['companyNo' => $value['supplierNo']])->find();
-            $value['supplierNo'] = $value['supplierNo'];//isset($wsm['companyNo']) ? $wsm['companyNo'] : "";
-            $value['supplierName'] = $names['data'][$value['supplierNo']] ?? '';//isset($wsm['company']) ? $wsm['company'] : "";
-            $value['companyName'] = $names['data'][$value['customer_code']] ?? '';//isset($wsm['company']) ? $wsm['company'] : "";
+//            $value['supplierNo'] = $value['supplierNo'];//isset($wsm['companyNo']) ? $wsm['companyNo'] : "";
+//            $value['supplierName'] = $names['data'][$value['supplierNo']] ?? '';//isset($wsm['company']) ? $wsm['company'] : "";
+//            $value['customer_name'] = $names['data'][$value['customer_code']] ?? '';//isset($wsm['company']) ? $wsm['company'] : "";
 
             //是否具有编辑权限
             $value['is_allow_update'] = 0;
@@ -3340,7 +3354,7 @@ class Sale extends Base
     //工差单审核
     public function diffcheck()
     {
-        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
+//        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
         $id = isset($this->post['id']) && $this->post['id'] !== "" ? intval($this->post['id']) : "";
         if ($id === "") {
             return error_show(1004, "参数id不能为空");
@@ -3439,7 +3453,7 @@ class Sale extends Base
      */
     public function diffstatus()
     {
-        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
+//        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
         $id = isset($this->post['id']) && $this->post['id'] !== "" ? intval($this->post['id']) : "";
         if ($id === "") {
             return error_show(1004, "参数id不能为空");
@@ -3469,9 +3483,9 @@ class Sale extends Base
             $up = Db::name("sale_diff")->where($info)->save($upda);
             if ($up) {
                 $stx = ["order_code" => $info["orderCode"], "status" => $ite, "action_remark" => '', "action_type" => "status"];
-                ActionLog::logAdd($this->post['token'], $stx, "XSGCD", $status, $info);
+                ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname], $stx, "XSGCD", $status, $info);
                 $order = ["order_type" => "XSGCD", "order_code" => $info["orderCode"], "order_id" => $info['id'],"order_status" => $status, "before_status" => $ite,'holder_id'=>$sale['apply_id']];
-                ProcessOrder::AddProcess($this->post['token'], $order);
+                ProcessOrder::AddProcess(['id'=>$this->uid,'nickname'=>$this->uname], $order);
                 $cgdup = Db::name("purchease_diff")->where(["id" => $info['cgd_diffid']])->save($upda);
                 if ($cgdup) {
                     if ($status == 2 && $info['customer_remark'] == 1) {
@@ -3659,6 +3673,9 @@ class Sale extends Base
             $where[] = ["a.status", '>=', 2];//搜索发货时间时,要指定状态为已发货及之后的状态值(0待发货,1待库管发货,2已发货待收货,3已收货,4已全部退货',)
         }
 
+        $order_source = isset($this->post['order_source']) && $this->post['order_source'] !== "" ? intval($this->post['order_source']) : "";
+        if ($order_source !== "") $where[] = ["b.order_source", '=', $order_source];
+
         $count = Db::name('order_out')
             ->alias('a')
             ->join("sale b", "b.orderCode=a.orderCode", "left")
@@ -3827,7 +3844,7 @@ class Sale extends Base
 
     public function outadd()
     {
-        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
+//        $token = isset($this->post['token']) && $this->post['token'] !== "" ? trim($this->post['token']) : "";
         $orderCode = isset($this->post['orderCode']) && $this->post['orderCode'] !== "" ? trim($this->post['orderCode']) : "";
         if ($orderCode == "") {
             return error_show(1002, "参数orderCoder不能为空");
@@ -4009,7 +4026,7 @@ class Sale extends Base
                             // ::todo
                             $good_data[] = ['good_log_code' => $outCode, "stock_id" => $temp['id'], "type" => 1, 'stock' => $send_num, "stock_name" => "wait_out_stock"];
                             $good_data[] = ['good_log_code' => $outCode, "stock_id" => $temp['id'], "type" => 2, 'stock' => $send_num, "stock_name" => "usable_stock"];
-                            GoodLog::LogAdd($this->post['token'], $good_data, "CKD");
+                            GoodLog::LogAdd(['id'=>$this->uid,'nickname'=>$this->uname], $good_data, "CKD");
                         }
 
                     }
@@ -4129,9 +4146,9 @@ class Sale extends Base
         try {
             $up = Db::name("order_out")->where(["outCode"=>$outCode,"status"=>1,"is_del"=>0])->update($outinfo);
 
-            $user_info = GetUserInfo($this->post['token']);
-            $uid = isset($user_info['data']['id']) ? $user_info['data']['id'] : 0;
-            $uname = isset($user_info['data']['nickname']) ? $user_info['data']['nickname'] : '';
+//            $user_info = GetUserInfo($this->post['token']);
+            $uid = $this->uid;//isset($user_info['data']['id']) ? $user_info['data']['id'] : 0;
+            $uname = $this->uname;//isset($user_info['data']['nickname']) ? $user_info['data']['nickname'] : '';
 
             if ($einfo['is_stock'] == 1) {
                 //如果是库存品,只能由库管和库管-张凯旋操作
@@ -4670,8 +4687,8 @@ class Sale extends Base
             $price = Db::name("gold_price1")->where(["type" => $order['metal_id'], "status" => 1, "is_del" => 0])->order("addtime desc")->find();
 
         }
-                	$userCommon = new \app\admin\common\User();
-                $supplier_temp = $userCommon->handle('getCodeAndName', ['code' => $order['supplierNo']]);
+        $userCommon = new \app\admin\common\User();
+        $supplier_temp = $userCommon->handle('getCodeAndName', ['code' => $order['supplierNo']]);
 //            $supplier =Db::name("supplier")->where(['code'=>$supplierNo])->find();
 //		 if($supplier_temp['code']!=0 || empty($supplier_temp['data']) )   return error_show(1004,"未找到供应商信息");
 //        $supplier = Db::name("supplier")->where(["code" => $order['supplierNo']])->find();
@@ -4889,9 +4906,9 @@ class Sale extends Base
 
 
 
-        $user = GetUserInfo($param['token']);
-        $createrid = $user['data']['id']??0;//$this->uid;
-        $creater = $user['data']['nickname']??0;//$this->uname;
+//        $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);
 
         //所有发货单信息

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

@@ -49,7 +49,7 @@ class SaleReport extends Base
             ['is_del', '=', 0],
             ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
         ];
-        if ($param['relaComNo'] !== '') $rs_2_where[] = ['customer_code|supplierNo', '=', $param['relaComNo']];
+        if ($param['relaComNo'] !== '') $rs_2_where[] = ['supplierNo', '=', $param['relaComNo']];
         $rs_2 = Db::name('sale')
             ->where($rs_2_where)
             ->group('apply_id,apply_name')
@@ -59,7 +59,7 @@ class SaleReport extends Base
             ['oo.status', '=', 3],
             ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
         ];
-        if ($param['relaComNo'] !== '') $rs_3_where[] = ['s.customer_code|s.supplierNo', '=', $param['relaComNo']];
+        if ($param['relaComNo'] !== '') $rs_3_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_3 = Db::name('order_out')
             ->alias('oo')
             ->leftJoin('sale s', 's.orderCode=oo.orderCode')
@@ -71,7 +71,7 @@ class SaleReport extends Base
             ['or.is_del', '=', 0],
             ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
         ];
-        if ($param['relaComNo'] !== '') $rs_4_where[] = ['s.customer_code|s.supplierNo|or.customer_code', '=', $param['relaComNo']];
+        if ($param['relaComNo'] !== '') $rs_4_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_4 = Db::name('order_return')
             ->alias('or')
             ->leftJoin('sale s', 's.orderCode=or.orderCode')
@@ -137,25 +137,37 @@ class SaleReport extends Base
             ->group('co.createrid,co.creater')
             ->column('COUNT(ci.id) 当日咨询单数量,SUM(ci.budget_price*ci.num) 金额,co.creater 创建人', 'co.createrid');
 
+        $rs_2_where = [
+            ['is_del', '=', 0],
+            ['addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+        ];
+        if ($param['relaComNo'] !== '') $rs_2_where[] = ['supplierNo', '=', $param['relaComNo']];
         $rs_2 = Db::name('sale')
-            ->where('is_del', 0)
-            ->whereBetween('addtime', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59'])
+            ->where($rs_2_where)
             ->group('apply_id,apply_name')
             ->column('COUNT(id) 当日下单数量,SUM(total_price) 金额,apply_name 创建人', 'apply_id');
 
+        $rs_3_where = [
+            ['oo.status', '=', 3],
+            ['oo.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+        ];
+        if ($param['relaComNo'] !== '') $rs_3_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_3 = Db::name('order_out')
             ->alias('oo')
             ->leftJoin('sale s', 's.orderCode=oo.orderCode')
-            ->where(['oo.status' => 3])
-            ->whereBetween('oo.addtime', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59'])
+            ->where($rs_3_where)
             ->group('oo.apply_id,oo.apply_name')
             ->column('COUNT(oo.id) 当日签收数量,SUM(s.total_price) 金额,oo.apply_name 创建人', 'oo.apply_id');
 
+        $rs_4_where = [
+            ['or.is_del', '=', 0],
+            ['or.addtime', 'between', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59']],
+        ];
+        if ($param['relaComNo'] !== '') $rs_4_where[] = ['s.supplierNo', '=', $param['relaComNo']];
         $rs_4 = Db::name('order_return')
             ->alias('or')
             ->leftJoin('sale s', 's.orderCode=or.orderCode')
-            ->where(['or.is_del' => 0])
-            ->whereBetween('or.addtime', [$param['date'] . ' 00:00:00', $param['date'] . ' 23:59:59'])
+            ->where($rs_4_where)
             ->group('or.apply_id,or.apply_name')
             ->column('COUNT(or.id) 单日售后单数,SUM(s.total_price) 金额,or.apply_name 创建人', 'or.apply_id');
 
@@ -179,7 +191,6 @@ class SaleReport extends Base
             $val['当日下单数量'] = isset($rs_2[$id]['当日下单数量']) ? $rs_2[$id]['当日下单数量'] : '';
             $val['当日下单金额'] = isset($rs_2[$id]['金额']) ? $rs_2[$id]['金额'] : '';
 
-
             $val['当日签收数量'] = isset($rs_3[$id]['当日签收数量']) ? $rs_3[$id]['当日签收数量'] : '';
             $val['当日签收金额'] = isset($rs_3[$id]['金额']) ? $rs_3[$id]['金额'] : '';
 

+ 12 - 0
app/admin/route/app.php

@@ -632,6 +632,14 @@ Route::rule('seooa', 'admin/SaleReport/orderOutAddr');//直接发货申请单统
 Route::rule('seooae', 'admin/SaleReport/orderOutAddrExport');//直接发货申请单统计 -导出
 Route::rule('sna', 'admin/SaleReport/saleNotAddr');//无地址销售订单统计
 Route::rule('snae', 'admin/SaleReport/saleNotAddrExport');//无地址销售订单统计
+Route::rule('sm', 'admin/SaleReport/saleMonth');//十一、销售订单商品类型
+Route::rule('sme', 'admin/SaleReport/saleMonthExport');//十一、销售订单商品类型-导出
+Route::rule('oom', 'admin/SaleReport/orderOutMonth');//十二、采购订单发货维度表
+Route::rule('oome', 'admin/SaleReport/orderOutMonthExport');//十二、采购订单发货维度表-导出
+Route::rule('pom', 'admin/SaleReport/purcheaseOrderMonth');//十三、供应商采购订单情况
+Route::rule('pome', 'admin/SaleReport/purcheaseOrderMonthExport');//十三、供应商采购订单情况-导出
+Route::rule('popm', 'admin/SaleReport/purcheaseOrderPersonMonth');//十四、供应商负责人采购订单情况
+Route::rule('popme', 'admin/SaleReport/purcheaseOrderPersonMonthExport');//十四、供应商负责人采购订单情况-导出
 
 Route::rule("catplatadd", "admin/CatPlat/add");
 Route::rule("catplatedit", "admin/CatPlat/edit");
@@ -692,3 +700,7 @@ route::rule('filingDetail', 'Filing/detail');//详情
 route::rule('filingStatus', 'Filing/status');//审核
 route::rule('filingCancel', 'Filing/cancel');//取消转单
 route::rule('filingTransfer', 'Filing/transfer');//转单
+//网络录单
+route::rule('interadd', 'admin/Filing/orderAdd');//线下订单录入
+route::rule('interedit', 'admin/Filing/orderEdit');
+route::rule('interinfo', 'admin/Filing/orderInfo');

+ 26 - 23
app/common.php

@@ -1105,27 +1105,33 @@ if (!function_exists('get_logistics_information')) {
 
 //获取三级架构
 if (!function_exists('get_top_customer_org')) {
-    function get_top_customer_org($var, $data = [])
+    function get_top_customer_org($var)
     {
-        $str = Db::name('customer_org1')
-            ->field('id,name,pid,level')
-            ->where(['id' => $var])
-            ->find();
-        if ($str == false) {
-            return [];
-        }
-        $vmn = [];
-        $vmn['id'] = $str['id'];
-        $vmn['name'] = $str['name'];
-        $vmn['level'] = $str['level'];
-        array_unshift($data, $vmn);
-        // $var['id']=made();
-        if ($str['pid'] == 0) {
-            // krsort($data);
-            return $data;
-        } else {
-            return get_top_customer_org($str['pid'], $data);
-        }
+        $userCommon = new \app\admin\common\User();
+        $rs = $userCommon->handle('get_top_customer_org', ['itemid' => is_array($var) ? $var : [$var]]);
+
+        if (is_array($var)) return $rs['data'];
+        else return $rs['data'][$var];
+
+//        $str = Db::name('customer_org1')
+//            ->field('id,name,pid,level')
+//            ->where(['id' => $var])
+//            ->find();
+//        if ($str == false) {
+//            return [];
+//        }
+//        $vmn = [];
+//        $vmn['id'] = $str['id'];
+//        $vmn['name'] = $str['name'];
+//        $vmn['level'] = $str['level'];
+//        array_unshift($data, $vmn);
+//        // $var['id']=made();
+//        if ($str['pid'] == 0) {
+//            // krsort($data);
+//            return $data;
+//        } else {
+//            return get_top_customer_org($str['pid'], $data);
+//        }
     }
 }
 
@@ -1249,8 +1255,6 @@ if (!function_exists('checkHasAccountBySupplierNos')) {
     }
 }
 
-
-
 //获取当前用户可查看的其他用户id(新版的)
 if (!function_exists('get_group_share_uid')) {
     function get_group_share_uid(int $uid = 0)
@@ -1526,7 +1530,6 @@ if(!function_exists('makeMenu')){
     }
 }
 
-
 if (!function_exists('MenuTree')) {
     function MenuTree(&$menuArr, $pid = 0)
     {