Эх сурвалжийг харах

Merge branch 'master-new-wgg' of wugg/phpstock into master-new

wugg 11 сар өмнө
parent
commit
c21239f26f
40 өөрчлөгдсөн 802 нэмэгдсэн , 601 устгасан
  1. 3 3
      app/admin/controller/After.php
  2. 45 3
      app/admin/controller/Base.php
  3. 1 1
      app/admin/controller/CatPlat.php
  4. 0 1
      app/admin/controller/CombindStock.php
  5. 48 0
      app/admin/controller/CompanyCatProfit.php
  6. 1 1
      app/admin/controller/CompanyCgd.php
  7. 58 59
      app/admin/controller/CompanyPlatformCatProfit.php
  8. 87 96
      app/admin/controller/Consult.php
  9. 48 0
      app/admin/controller/ConsultGood.php
  10. 4 4
      app/admin/controller/DataChange.php
  11. 3 1
      app/admin/controller/Filing.php
  12. 11 5
      app/admin/controller/Good.php
  13. 50 98
      app/admin/controller/Goodup.php
  14. 10 7
      app/admin/controller/OrderImport.php
  15. 30 72
      app/admin/controller/Platform.php
  16. 4 96
      app/admin/controller/Purch.php
  17. 11 43
      app/admin/controller/Purchin.php
  18. 3 3
      app/admin/controller/Reorder.php
  19. 79 30
      app/admin/controller/Sale.php
  20. 2 2
      app/admin/controller/SaleReport.php
  21. 0 14
      app/admin/controller/User.php
  22. 3 1
      app/admin/model/CgdCaixiao.php
  23. 1 0
      app/admin/model/CombindStock.php
  24. 30 0
      app/admin/model/CompanyCatProfit.php
  25. 30 0
      app/admin/model/CompanyPlatformCatProfit.php
  26. 92 0
      app/admin/model/ConsultTemp.php
  27. 9 1
      app/admin/model/GoodCombind.php
  28. 14 0
      app/admin/model/OrderUse.php
  29. 14 0
      app/admin/model/OriginCgd.php
  30. 14 0
      app/admin/model/SpecValue.php
  31. 14 0
      app/admin/model/Specs.php
  32. 14 0
      app/admin/model/StandingBook.php
  33. 2 2
      app/admin/route/app.php
  34. 1 6
      app/command/ExecByRelaComNoHandle.php
  35. 19 12
      app/command/ImportOrderFromCHandleData.php
  36. 3 0
      app/command/SplitSale.php
  37. 6 7
      app/command/caixiao.php
  38. 18 18
      app/command/handleYzOrderData.php
  39. 15 9
      app/common.php
  40. 5 6
      app/youzan/logic/Goodup.php

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

@@ -136,7 +136,7 @@ class After extends Base
         if ($num > ($orderout['send_num'] - $thnum)) return error_show(1004, "可用售后数量不足");
          $fininfo =GetFin("admin/orderischeck",["token"=>$this->post['token'],"orderCode"=>$orderout['orderCode']]);
 				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-					return json_show(1005, $fininfo['message']??"结算校验失败");
+					return json_show(10005, $fininfo['message']??"结算校验失败",$fininfo['data']??[]);
 				}
 //        $except_code =isset($this->post['except_code']) &&$this->post['except_code']!=''?trim($this->post['except_code']) :"";
 //        $img = isset($this->post['img']) &&$this->post['img']!=''?trim($this->post['img']) :"";
@@ -578,10 +578,10 @@ class After extends Base
             }
 			if(in_array($info['status'],[9,10])&& $param['status'] == 4){
 				$fininfo =GetFin("admin/orderischeck",["token"=>$this->post['token'],"orderCode"=>$info['orderCode'],"isCgd"=>1]);
-				if(!isset($fininfo['code'])||$fininfo['code']!=0 )throw new Exception($fininfo['message']??"结算校验失败");
+				if(!isset($fininfo['code'])||$fininfo['code']!=0 )return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 			}else{
 				 $fininfo =GetFin("admin/orderischeck",["token"=>$this->post['token'],"orderCode"=>$info['orderCode']]);
-				 if(!isset($fininfo['code'])||$fininfo['code']!=0 )throw new Exception($fininfo['message']??"结算校验失败");
+				 if(!isset($fininfo['code'])||$fininfo['code']!=0 )return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 			}
             //获取最新的供应商负责人
             $s_info = \app\admin\common\User::getIns()->handle('sInfo', ['code' => $info['supplierNo']]);

+ 45 - 3
app/admin/controller/Base.php

@@ -7,9 +7,9 @@ namespace app\admin\controller;
 use app\admin\model\ActionLog;
 use app\admin\model\ProcessOrder;
 use think\App;
-use think\facade\Db;
+use think\exception\HttpResponseException;use think\facade\Db;
 use app\admin\model\DataGroup as DataGroupModel;
-use think\facade\Validate;
+use think\facade\Validate;use think\Response;
 
 class Base extends \app\BaseController
 {
@@ -292,5 +292,47 @@ class Base extends \app\BaseController
         if ($newAdd == false) throw new \Exception("非库存商品转库存失败", 1005);
         return $spuCode;
     }
-
+	/**
+		* @param string $message
+		* @param int $code
+		* @param null $data
+		 */
+	    public function error($message='',$code=1003,$data=null){
+	        $this->result($message,$data,$code);
+	    }
+	
+	     /**
+		* @param string $msg
+		* @param null $data
+		* @param int $code
+		* @param string|null $type
+		* @param array $header
+		* @param array $options
+		 */
+	    private function result(string $msg, $data = null, int $code = 0, string $type = 'json', array $header = [], array
+	    $options = [])
+	    {
+	        $result = [
+	            'code' => $code,
+	            'message'  => $msg,
+	            'data' => $data,
+	        ];
+	        $code = 200;
+	        if (isset($header['statuscode'])) {
+	            $code = $header['statuscode'];
+	            unset($header['statuscode']);
+	        }
+	
+	        $response = Response::create($result, $type, $code)->header($header)->options($options);
+	         throw new HttpResponseException($response);
+	    }
+	    
+	    /**
+		* @param string $message
+		* @param int $code
+		* @param null $data
+		 */
+	     public function success($message='',$data=null,$code=0){
+	        $this->result($message,$data,$code);
+	    }
 }

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

@@ -276,7 +276,7 @@ use think\App;class CatPlat extends Base{
 
         //计算毛利率
         $budget = get_budget($good['cat_id'], $companyNo, $platid);
-
+		if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
 //        $budget = isset($catinfo['sale_rate']) ? $catinfo['sale_rate']/100:0;
         $top_cat_id = made($good['cat_id']);//获取所有分类
         $top_cat_id = isset($top_cat_id[0]['id']) ? $top_cat_id[0]['id'] : 0;//获取顶级分类id

+ 0 - 1
app/admin/controller/CombindStock.php

@@ -36,7 +36,6 @@ class CombindStock extends Base
 		->withJoin(["wsminfo","good"],"left")
 		->where($where)->order("id desc")
 		->paginate(["page"=>$param['page'],"list_rows"=>$param['size']]);
-
 		return app_show(0,"获取成功",["list"=>$list->items(),"count"=>$list->total()]);
 		
 	}

+ 48 - 0
app/admin/controller/CompanyCatProfit.php

@@ -260,4 +260,52 @@ class CompanyCatProfit extends Base
         return json_show(0, '获取成功', ['count' => $count, 'list' => $list]);
     }
 
+        public function copyProfit(){
+    	  $param = $this->request->only(['companyNo', 'cat_id','copy_companyNo', 'copy_cat_id',], 'post', 'trim');
+    	  $val = Validate::rule([
+    	              'companyNo|公司编码' => 'requireIf:cat_id,0|length:18',
+    	              'cat_id|分类id' => 'requireIf:cat_id,0|number|egt:0',
+    	              'copy_companyNo|源头公司编码' => 'requireWith:companyNo|alphaNum|length:18',
+    	              'copy_cat_id|源头分类id' => 'requireWith:cat_id|number|egt:0',
+    	          ]);
+    	  if ($val->check($param) == false)$this->error($val->getError());
+    	  $where = [['is_del','=',0]];
+    	  if($param['copy_companyNo']!=0){
+    	  	$where[]=['companyNo','=',$param['copy_companyNo']];
+    	  }
+    	  
+    	  if($param['copy_cat_id']!=0){
+    	      	  	$where[]=['cat_id','=',$param['copy_cat_id']];
+    	  }
+    	    if($param['copy_companyNo']==$param['companyNo']&&
+    	    $param['copy_cat_id']==$param['cat_id']){
+    	    	$this->error('数据已存在,请删除后在复制');
+    	    }
+    	  $rs = Db::name('company_cat_profit')->where($where)->field('companyNo,cat_id,rate,order_rate,money_rate,low_rate,sale_rate ')->select();
+    	   if(empty($rs)) $this->error('未找到可复制数据');
+    	   Db::startTrans();
+    	   try{
+    	   	$temp=[];
+    	   foreach ($rs as $key=>$value){
+    	   	        if($param['cat_id']!=0){
+    	   	            	   	   $value['cat_id'] = $param['cat_id'];
+    	   	          }
+    	   	        if($param['companyNo']!=0){
+    	   	            	   	        	$value['companyNo'] = $param['companyNo'];
+    	   	            	   	        }
+    	            $temp[]=$value;
+    	   	        if($key%1000==0){
+    	   	        	Db::name('company_cat_profit')->insertAll($temp);
+    	   	        	$temp=[];
+    	   	        }
+    	      }
+    	   if(empty($temp)==false) Db::name('company_cat_profit')->insertAll($temp);
+    	   Db::commit();
+    	   $this->success('复制成功');
+    	   }catch (\Exception $exception)
+    	    {
+	            Db::rollback();
+	            $this->error($exception->getMessage());
+    	    }
+    }
 }

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

@@ -101,7 +101,7 @@ class CompanyCgd extends Base
     	if($info->status>0)return error_show(1004,"采购单当前状态不可修改");
     	if($info->order_source!=2)return error_show(1004,"非咨询采购单不可修改");
     	$ist = $this->model->where([["companyNo","=",$info->companyNo],["is_cgd","=",1]])->findOrEmpty();
-    	if($ist->isEmpty())return error_show(1004,'采购单业务公司不可修改');
+    	if($ist->isEmpty())return error_show(1004,'采购单业务公司无修改权限');
     	$before = [
     			'supplierNo'=>$info->supplierNo,
     			'supplier_name'=>$info->supplier_name,

+ 58 - 59
app/admin/controller/CompanyPlatformCatProfit.php

@@ -109,64 +109,6 @@ class CompanyPlatformCatProfit extends Base
         }
         return $rs ? json_show(0, '设置成功') : json_show(1004, '设置失败');
     }
-
-    //启禁用
-//    public function status()
-//    {
-//        $param = $this->request->only(['cat_id', 'companyNo', 'platform_id', 'status'], 'post', 'trim');
-//
-//        $val = Validate::rule([
-//            'cat_id|分类id' => 'require|number|gt:0',
-//            'platform_id|平台id' => 'require|number|gt:0',
-//            'companyNo|公司编码' => 'require|length:18',
-//            'status|状态' => 'require|number|in:0,1',
-//        ]);
-//
-//        if ($val->check($param) == false) return json_show(1004, $val->getError());
-//
-//        $cat = Db::name('cat')
-//            ->field('id,level')
-//            ->where(['id' => $param['cat_id'], 'is_del' => 0])
-//            ->findOrEmpty();
-//
-//        if (empty($cat)) return json_show(1005, '该分类不存在');
-//
-//        //要操作的分类id集合
-//        switch ($cat['level']) {
-//            case 1:
-//                $first_ids = Db::name('cat')
-//                    ->where(['is_del' => 0, 'pid' => $param['cat_id']])
-//                    ->column('id');
-//
-//                $second_ids = Db::name('cat')
-//                    ->where('is_del', 0)
-//                    ->whereIn('pid', $first_ids)
-//                    ->column('id');
-//
-//                $cat_ids = array_merge($first_ids, $second_ids);
-//                break;
-//
-//            case 2:
-//                $cat_ids = Db::name('cat')
-//                    ->where(['is_del' => 0, 'pid' => $param['cat_id']])
-//                    ->column('id');
-//                break;
-//        }
-//
-//        $cat_ids[] = $param['cat_id'];
-//
-//        $rs = Db::name('company_platform_cat_profit')
-//            ->where(['is_del' => 0, 'companyNo' => $param['companyNo'], 'platform_id' => $param['platform_id']])
-//            ->whereIn('cat_id', $cat_ids)
-//            ->where('status', '<>', $param['status'])
-//            ->update([
-//                'status' => $param['status'],
-//                'updatetime' => date('Y-m-d H:i:s')
-//            ]);
-//        return $rs ? json_show(0, '操作成功') : json_show(1004, '操作失败,该记录不存在或重复操作');
-//
-//    }
-
     //删除
     public function delete()
     {
@@ -194,5 +136,62 @@ class CompanyPlatformCatProfit extends Base
 
         return $rs ? json_show(0, '删除成功') : json_show(1004, '删除失败');
     }
-
+	
+    public function copyProfit(){
+    	  $param = $this->request->only(['companyNo', 'platform_id', 'cat_id',"copy_companyNo",'copy_platform_id', 'copy_cat_id',], 'post', 'trim');
+    	  $val = Validate::rule([
+    	              'companyNo|公司编码' => 'requireIf:platform_id,0|alphaNum|length:18',
+    	              'platform_id|平台id' => 'requireIf:companyNo,0|number|egt:0',
+    	              'cat_id|分类id' => 'number|egt:0',
+    	              'copy_companyNo|源头公司编码' => 'requireWith:companyNo|alphaNum|length:18',
+    	              'copy_platform_id|源头平台id' => 'requireWith:platform_id|number|egt:0',
+    	              'copy_cat_id|源头分类id' => 'requireWith:cat_id|number|egt:0',
+    	          ]);
+    	  
+    	  if ($val->check($param) == false)$this->error($val->getError());
+    	  $where = [["is_del","=",0]];
+    	  if($param['copy_companyNo']!=0){
+    	  	$where[]=["companyNo","=",$param['copy_companyNo']];
+    	  }
+    	  
+    	  if($param['copy_platform_id']!=0){
+    	  	$where[]=['platform_id','=',$param['copy_platform_id']];
+    	  }
+    	  if($param['copy_cat_id']!=0){
+    	      	  	$where[]=['cat_id','=',$param['copy_cat_id']];
+    	  }
+    	    if($param['copy_companyNo']==$param['companyNo'] &&$param['copy_platform_id']==$param['platform_id'] &&
+    	    $param['copy_cat_id']==$param['cat_id']){
+    	    	$this->error("数据已存在,请删除后在复制");
+    	    }
+    	  $rs = Db::name('company_platform_cat_profit')->where($where)->field("companyNo,platform_id,cat_id,rate,order_rate,money_rate,low_rate,sale_rate ")->select();
+    	   if(empty($rs)) $this->error('未找到可复制数据');
+    	   Db::startTrans();
+    	   try{
+    	   	$temp=[];
+    	   foreach ($rs as $key=>$value){
+    	   	        if($param['platform_id']!=0){
+    	   	        	$value['platform_id'] = $param['platform_id'];
+    	   	        }
+    	   	        if($param['cat_id']!=0){
+    	   	            	   	        	$value['cat_id'] = $param['cat_id'];
+    	   	            	   	        }
+    	   	        if($param['companyNo']!=0){
+    	   	            	   	        	$value['companyNo'] = $param['companyNo'];
+    	   	            	   	        }
+    	            $temp[]=$value;
+    	   	        if($key%1000==0){
+    	   	        	Db::name('company_platform_cat_profit')->insertAll($temp);
+    	   	        	$temp=[];
+    	   	        }
+    	      }
+    	   if(empty($temp)==false) Db::name('company_platform_cat_profit')->insertAll($temp);
+    	   Db::commit();
+    	   $this->success("复制成功");
+    	   }catch (\Exception $exception)
+    	    {
+	            Db::rollback();
+	            $this->error($exception->getMessage());
+    	    }
+    }
 }

+ 87 - 96
app/admin/controller/Consult.php

@@ -3,7 +3,7 @@
 namespace app\admin\controller;
 
 use app\admin\model\ActionLog;
-use app\admin\model\DataGroup as DataGroupModel;
+use app\admin\model\ConsultTemp;use app\admin\model\DataGroup as DataGroupModel;
 use app\admin\model\ProcessOrder;
 use think\App;
 use think\facade\Db;
@@ -127,13 +127,14 @@ class Consult extends Base
             return app_show(0,"获取成功",$fo);
         }
     }
-    public function del(){
+    public function delete(){
         $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) : "";
-        $de = Db::name('consult')->where(['id'=>$id,'is_del'=>0])->find();
+        $de = Db::name('consult_bids')->where(['id'=>$id,'is_del'=>0])->find();
         if($de==false){
-            return error_show(1002,'咨询信息未找到');
+            return error_show(1002,'咨询商品信息未找到');
         }
-        $dell= Db::name('consult')->update(['id'=>$id,'is_del'=>1,'updatetime'=>date("Y-m-d H:i:s")]);
+        if($de['status']>1)  return error_show(1002,'咨询商品信息当前状态不可删除');
+        $dell= Db::name('consult_bids')->update(['id'=>$id,'is_del'=>1,'updatetime'=>date("Y-m-d H:i:s")]);
         if($dell){
             return error_show(0,"删除成功");
         }else
@@ -331,9 +332,6 @@ class Consult extends Base
 
     }
 
-
-    
-
     public function zxinfo(){
         $infoNo= isset($this->post['infoNo'])&&$this->post['infoNo']!=""?trim($this->post['infoNo']):"";
         if($infoNo==""){
@@ -347,12 +345,8 @@ class Consult extends Base
         if($zxorder==false){
             return error_show(1004,"未找到咨询信息数据");
         }
-
-//        $cat =Db::name("cat")->where(["id"=>$zxinfo['cat_id']])->find();
-//        $budget = isset($cat['order_rate']) ? $cat['order_rate']:0;
-
         $budget = get_budget($zxinfo['cat_id'], $zxorder['companyNo'], $zxorder['platform_code']);
-
+		if($budget===false) $this->error("未找到业务公司有关的平台分类毛利信息");
         $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));
@@ -375,7 +369,6 @@ class Consult extends Base
         $zxinfo['unit_name']="";
         $zxinfo['metal_name']=isset($zxinfo['metal_id'])&& $zxinfo['metal_id']!=0?$this->noble[$zxinfo['metal_id']]:"";
         $zxinfo['specinfo']=json_decode($zxinfo['specinfo'],true);
-
         $userCommon = \app\admin\common\User::getIns();
         $tmp = $userCommon->handle('getCodeAndName', ['code' => [$zxorder['companyNo'],$zxorder['khNo']]]);
 
@@ -694,11 +687,11 @@ class Consult extends Base
         if($zx==false){
             return error_show(1003,"未找咨询信息数据");
         }
-        $pname = isset($this->post['pname'])&&$this->post['pname']!=""? trim($this->post['pname']):"";
-        if($pname==""){
-            return error_show(1002,"参数pname不能为空");
+        $good_name = isset($this->post['good_name'])&&$this->post['good_name']!=""? trim($this->post['good_name']):"";
+        if($good_name==""){
+            return error_show(1002,"参数good_name不能为空");
         }
-        $brandid = isset($this->post['brandid'])&&$this->post['brandid']!=""? intval($this->post['brandid']):"";
+        $brandid = isset($this->post['brand_id'])&&$this->post['brand_id']!=""? intval($this->post['brand_id']):"";
         $cat_id = isset($this->post['cat_id'])&&$this->post['cat_id']!=""? trim($this->post['cat_id']):"";
         if($cat_id==""){
             return error_show(1002,"参数cat_id不能为空");
@@ -709,14 +702,14 @@ class Consult extends Base
         }
         $specinfo=[];
         foreach ($specin as $v){
-            $spec =Db::name("specs")->where(["id"=>$v['specid']])->find();
+            $spec =Db::name("specs")->where(["id"=>$v['spec_id']])->find();
             $spec_value =Db::name("spec_value")->where(["id"=>$v['spec_value_id']])->find();
             $v['spec_name']=isset($spec['spec_name'])?$spec['spec_name']:"";
-            $v['spec_id']=$v['specid'];
             $v['spec_value_name']=isset($spec_value['spec_value'])?$spec_value['spec_value']:"";
             $specinfo[]=$v;
         }
         $unit_id = isset($this->post['unit_id'])&&$this->post['unit_id']!=""? intval($this->post['unit_id']):"";
+        $is_combind = isset($this->post['is_combind'])&&$this->post['is_combind']!=""? intval($this->post['is_combind']):"0";
         $cost_desc = isset($this->post['cost_desc'])&&$this->post['cost_desc']!=""? trim($this->post['cost_desc']):"";
         $work_day = isset($this->post['work_day'])&&$this->post['work_day']!=""? intval($this->post['work_day']):"";
         $delivery_day = isset($this->post['delivery_day'])&&$this->post['delivery_day']!=""? intval($this->post['delivery_day']):"";
@@ -724,21 +717,19 @@ class Consult extends Base
         $expire_day = isset($this->post['expire_day'])&&$this->post['expire_day']!=""? intval($this->post['expire_day']) :"";
         $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']):"";
-        $supplier_account = checkHasAccountBySupplierNos([$supplierNo]);
-         $cgd_supplier_code =  isset($this->post['cgd_supplier_code'])&&$this->post['cgd_supplier_code']!=''? trim($this->post['cgd_supplier_code']):'';
-	        $cgd_apply_id =  isset($this->post['cgd_apply_id'])&&$this->post['cgd_apply_id']!=''? trim($this->post['cgd_apply_id']):'';
-	        $cgd_apply_name =  isset($this->post['cgd_apply_name'])&&$this->post['cgd_apply_name']!=''? trim($this->post['cgd_apply_name']):'';
-	        $supplier_origin_price =  isset($this->post['supplier_origin_price'])&&$this->post['supplier_origin_price']!=''? floatval($this->post['supplier_origin_price']):'';
-	        $cgd_supplier_name='';
+         if ($this->level == 2) {
+        	 $supplier_account = checkHasAccountBySupplierNos([$supplierNo]);
+        	 if (isset($supplier_account[$supplierNo])) return json_show(1004, '供应商已开通账号,请用供应商账户反馈');
+          }
+        $cgd_supplier_code =  isset($this->post['cgd_supplier_code'])&&$this->post['cgd_supplier_code']!=''? trim($this->post['cgd_supplier_code']):'';
+	    $cgd_apply_id =  isset($this->post['cgd_apply_id'])&&$this->post['cgd_apply_id']!=''? trim($this->post['cgd_apply_id']):0;
+	    $cgd_apply_name =  isset($this->post['cgd_apply_name'])&&$this->post['cgd_apply_name']!=''? trim($this->post['cgd_apply_name']):'';
+	    $supplier_origin_price =  isset($this->post['supplier_origin_price'])&&$this->post['supplier_origin_price']!=''? floatval($this->post['supplier_origin_price']):0;
+	   
         $user= \app\admin\common\User::getIns();
         $supplier =$user->handle("getCodeAndName",["code"=>[$supplierNo,$cgd_supplier_code]]);
         $supplierName = isset($supplier['data'][$supplierNo])?$supplier['data'][$supplierNo]:"";
-          if(isset($supplier_account[$supplierNo])){
-	            if($cgd_supplier_code=='')return error_show(1004,'采购供应商信息不能为空');
-	            if($cgd_apply_id=='')return error_show(1004,'采购竞单人信息不能为空');
-	            if($supplier_origin_price==='')return error_show(1004,'采购供应商信息采购成本不能为空');
-		        $cgd_supplier_name= $supplier['data'][$cgd_supplier_code]??'';
-	        }
+        $cgd_supplier_name= $supplier['data'][$cgd_supplier_code]??'';
         $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']):"";
@@ -769,29 +760,20 @@ class Consult extends Base
 
         $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo'] != '' ? trim($this->post['relaComNo']) : "";
         if ($relaComNo == '') return error_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不能为空');
-
-
-//        $token = isset($this->post['token'])&& $this->post['token']!='' ? trim($this->post['token']):"";
-//        if($token==''){
-//            return error_show(1002,"参数token不能为空");
-//        }
-//        $user =GetUserInfo($token);
-//        if(empty($user)||$user['code']!=0){
-//            return error_show(1005,"用户数据不存在");
-//        }
+        
         $createrid= $this->uid;//isset($user["data"]['id']) ?  $user["data"]['id'] : "";
         $creater= $this->uname;//isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
         $bidNo=makeNo("BD");
         $spucode=makeNo("SKU");
-//        $catinfo = Db::name("cat")->where(["id"=>$cat_id])->find();
-
+		$goodBind=  isset($this->post['goodBind']) && !empty($this->post['goodBind']) ? $this->post['goodBind'] :[];
+		if($is_combind==1){
+			 if(empty($goodBind))$this->error('组合商品商品明细不能为空');
+			 $spucode=makeNo('SSU');
+		}
+		
         //计算毛利率
         $budget = get_budget($zxinfo['cat_id'], $zx['companyNo'], $zx['platform_code']);
-//        $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:0;
-
+		if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
         //部分参数的大小校验
         $vali = Validate::rule([
             'expire_day|有效时长'=>'require|elt:214748364',
@@ -799,7 +781,6 @@ class Consult extends Base
             'work_day|生产工期'=>'require|elt:214748364',
             'weight|总重量'=>'require|max:10',
         ]);
-
         $temp = [
             'expire_day'=>$expire_day,
             'delivery_day'=>$delivery_day,
@@ -809,9 +790,7 @@ class Consult extends Base
 
         if(!$vali->check($temp)) return error_show(0,$vali->getError());
 
-
         $sale_cost_fee = $cost_fee;//销售工艺费默认取传值
-
         $cat_top_list = made($cat_id);
         $cat_top_id = isset($cat_top_list[0]['id']) ? $cat_top_list[0]['id'] : 0;
         if ($is_gold_price == 1 && $cat_top_id == 6) {
@@ -819,16 +798,10 @@ class Consult extends Base
                 ->where(["type"=>$metal_id,"is_del"=>0,"status"=>1])
                 ->order("addtime desc")
                 ->find();
-
-            //$total_fee = $open_fee/$zxinfo['num'] + $weight* $gold["price"] + $cost_fee*$weight+$pakge_fee+$mark_fee+$cert_fee+$nake_fee;
-            //$total_fee(成本合计初始价格) =打样费/购买数量 + 开模费/购买数量 + 商品重量* 最新金价 + 工艺费* 商品重量+包装费+加标费+证书费+产品裸价0+运费;
             $total_fee = $demo_fee / $zxinfo['num'] + $open_fee / $zxinfo['num'] + $good_weight * $gold["price"] + $cost_fee * $good_weight + $pakge_fee + $mark_fee + $cert_fee + $nake_fee + $delivery_fee;
-
-//            $saleprice = $open_fee/$zxinfo['num'] + $weight* $gold["price"] + $cost_fee/(1-$budget)* $weight+$pakge_fee+$mark_fee+$cert_fee+$nake_fee;
             //$saleprice(最终售价) = (开模费/购买数量 + 商品重量* 最新金价 + 工艺费* 商品重量+包装费+加标费+证书费+产品裸价)/(1-成本售价/100);
-//            $saleprice = ($open_fee / $zxinfo['num'] + $weight * $gold["price"] + $cost_fee * $weight + $pakge_fee + $mark_fee + $cert_fee + $nake_fee) / (1 - $budget);
+			// $saleprice = ($open_fee / $zxinfo['num'] + $weight * $gold["price"] + $cost_fee * $weight + $pakge_fee + $mark_fee + $cert_fee + $nake_fee) / (1 - $budget);
             $saleprice = $total_fee/ (1 - $budget);
-
             //销售工艺费=((开模费/购买数量 + 商品重量* 最新金价 + 工艺费* 商品重量+包装费+加标费+证书费+产品裸价)/(1-成本售价/100)-(打样费/购买数量 + 开模费/购买数量 +包装费+加标费+证书费+产品裸价0+运费) )/商品重量-最新金价
             $sale_cost_fee = ($saleprice - ($demo_fee / $zxinfo['num'] + $open_fee / $zxinfo['num'] + $pakge_fee + $mark_fee + $cert_fee + $nake_fee + $delivery_fee)) /$good_weight - $gold["price"];
 
@@ -843,11 +816,6 @@ class Consult extends Base
             }
 
         }
-
-//        $supplier = Db::name('supplier')
-//            ->field('id,person,personid')
-//            ->where('code',$supplierNo)
-//            ->findOrEmpty();
 	    $userCommon= \app\admin\common\User::getIns();
         $supplier_temp =$userCommon->handle("hqInfo",["code"=>$supplierNo]);
         if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) return error_show(1004,"供应商信息未找到");
@@ -856,15 +824,15 @@ class Consult extends Base
 
         if ($supplierArr['relation_code'] != '') {
             if ($supplierArr['relation_code'] == $zx['companyNo']) 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) {
                if(channel_is_company($zx['platform_code'],$supplierArr['relation_code'])) return  error_show(1004, "平台渠道包含当前供应商公司{$supplierNo}");
-//                if (!empty($temp)) return json_show(1004, '招标任务平台已存在该供应商,请更换其他供应商');
             }
+        }else{
+        	if($is_combind==1)$this->error("当前供应商无对应业务公司,不可选择组合商品");
         }
 
 
@@ -874,7 +842,7 @@ class Consult extends Base
             "infoNo"=>$infoNo,
             "zxNo"=>$zxinfo['zxNo'],
             "spuCode"=>$spucode,
-            "good_name"=>$pname,
+            "good_name"=>$good_name,
             "brand_id"=>$brandid,
             "cat_id"=>$cat_id,
             "specinfo"=>json_encode($specinfo),
@@ -917,6 +885,7 @@ class Consult extends Base
             "creater"=>$creater,
             "status"=>$zxinfo['status']==1 ?1 :2,
             "is_del"=>0,
+            "is_combind"=>$is_combind,
             "addtime"=>date("Y-m-d H:i:s"),
             "updatetime"=>date("Y-m-d H:i:s"),
             'delivery_place'=>$delivery_place,//发货地
@@ -943,7 +912,7 @@ class Consult extends Base
                         $temp['skuCode']="";
                         $temp['pgNo']=$zxinfo['pgNo'];
                         $temp['projectNo']=$zx['projectNo'];
-                        $temp['good_name']=$pname;
+                        $temp['good_name']=$good_name;
                         $temp['good_type']=$projectinfo['good_type'];
                         $temp['data_source']=2;
                         $temp['cat_id']=$cat_id;
@@ -1006,7 +975,15 @@ class Consult extends Base
                             }
                         }
                     }
-
+                    if($is_combind==1){
+                    	$arram=[
+                    		'bidNo'=>$bidNo,
+                    		"companyNo"=>$zx['companyNo'],
+                    		"companyName"=>$zx['companyName'],
+                    		'supplierName'=>$supplierName,
+                    		];
+                    	(new \app\admin\model\ConsultTemp)->CreateByZx($goodBind,$arram);
+                    }
                     Db::commit();
                     return app_show(0,"反馈成功",["bidNo"=>$bidNo]);
 
@@ -1051,6 +1028,7 @@ class Consult extends Base
         $bidinfo = Db::name("consult_info")->where(["infoNo"=>$info["infoNo"]])->find();
 //        $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
         $budget = get_budget($info['cat_id'], $zx['companyNo'], $zx['platform_code']);
+        if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
         $god=[
             "metal_id"=>$info['metal_id'],
             "weight"=>$info["good_weight"],
@@ -1119,15 +1097,15 @@ class Consult extends Base
         if($zx==false){
             return error_show(1003,"未找咨询信息数据");
         }
-        $pname = isset($this->post['pname'])&&$this->post['pname']!=""? trim($this->post['pname']):"";
+        $pname = isset($this->post['good_name'])&&$this->post['good_name']!=""? trim($this->post['good_name']):"";
         if($pname==""){
-            return error_show(1002,"参数pname不能为空");
+            return error_show(1002,"参数good_name不能为空");
         }
-        $brandid = isset($this->post['brandid'])&&$this->post['brandid']!=""? intval($this->post['brandid']):"";
+        $brandid = isset($this->post['brand_id'])&&$this->post['brand_id']!=""? intval($this->post['brand_id']):"";
 //        if($brandid==""){
 //            return error_show(1002,"参数brandid不能为空");
 //        }
-
+        $is_combind = isset($this->post['is_combind'])&&$this->post['is_combind']!=''? intval($this->post['is_combind']):'0';
         $cat_id = isset($this->post['cat_id'])&&$this->post['cat_id']!=""? trim($this->post['cat_id']):"";
         if($cat_id==""){
             return error_show(1002,"参数cat_id不能为空");
@@ -1152,22 +1130,24 @@ class Consult extends Base
         $expire_day = isset($this->post['expire_day'])&&$this->post['expire_day']!=""? intval($this->post['expire_day']) :"";
         $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']):"";
-          $supplier_account = checkHasAccountBySupplierNos([$supplierNo]);
+        
+         if ($this->level == 2) {
+        	 $supplier_account = checkHasAccountBySupplierNos([$bidinfo['supplierNo'],$supplierNo]);
+        	 if (isset($supplier_account[$bidinfo['supplierNo']])) return json_show(1004, '原供应商已开通账号,请用供应商账户反馈');
+        	 if (isset($supplier_account[$supplierNo])) return json_show(1004, '供应商已开通账号,请用供应商账户反馈');
+          }
          $cgd_supplier_code =  isset($this->post['cgd_supplier_code'])&&$this->post['cgd_supplier_code']!=''? trim($this->post['cgd_supplier_code']):'';
-	        $cgd_apply_id =  isset($this->post['cgd_apply_id'])&&$this->post['cgd_apply_id']!=''? trim($this->post['cgd_apply_id']):'';
+	        $cgd_apply_id =  isset($this->post['cgd_apply_id'])&&$this->post['cgd_apply_id']!=''? trim($this->post['cgd_apply_id']):0;
 	        $cgd_apply_name =  isset($this->post['cgd_apply_name'])&&$this->post['cgd_apply_name']!=''? trim($this->post['cgd_apply_name']):'';
-	        $supplier_origin_price =  isset($this->post['supplier_origin_price'])&&$this->post['supplier_origin_price']!=''? floatval($this->post['supplier_origin_price']):'';
+	        $supplier_origin_price =  isset($this->post['supplier_origin_price'])&&$this->post['supplier_origin_price']!=''? floatval($this->post['supplier_origin_price']):0;
 	        $cgd_supplier_name='';
                 $user= \app\admin\common\User::getIns();
         $supplier =$user->handle("getCodeAndName",["code"=>[$supplierNo,$cgd_supplier_code]]);
 
         $supplierName = isset($supplier['data'][$supplierNo])?$supplier['data'][$supplierNo]:"";
-        if(isset($supplier_account[$supplierNo])){
-	            if($cgd_supplier_code=='')return error_show(1004,'采购供应商信息不能为空');
-	            if($cgd_apply_id=='')return error_show(1004,'采购竞单人信息不能为空');
-	            if($supplier_origin_price==='')return error_show(1004,'采购供应商信息采购成本不能为空');
-		        $cgd_supplier_name= $supplier['data'][$cgd_supplier_code]??'';
-	     }
+
+		$cgd_supplier_name= $supplier['data'][$cgd_supplier_code]??'';
+
         $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";
@@ -1193,10 +1173,8 @@ class Consult extends Base
         if($delivery_place==''){
             return error_show(1002,"参数delivery_place不能为空");
         }
-//        $catinfo = Db::name("cat")->where(["id"=>$cat_id])->find();
-
 	    $budget = get_budget($cat_id,$zx['companyNo'],$zx['platform_code']);
-
+		if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
         $sale_cost_fee = $bidinfo['sale_cost_fee'];
 
         $cat_top_list = made($cat_id);
@@ -1224,7 +1202,11 @@ class Consult extends Base
         if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) return error_show(1004,"供应商信息未找到");
 		$supplierArr=$supplier_temp['data']??[];
 //		$supplier=$supplierArr['child']??[];
-
+		$goodBind=  isset($this->post['goodBind']) && !empty($this->post['goodBind']) ? $this->post['goodBind'] :[];
+				if($is_combind==1){
+					 if(empty($goodBind))$this->error('组合商品商品明细不能为空');
+//					 $spucode=makeNo('SSU');
+				}
         if ($supplierArr['relation_code'] != '') {
             if ($supplierArr['relation_code'] == $zx['companyNo']) return error_show(1004, "业务公司与供应商信息一致");
 
@@ -1236,6 +1218,8 @@ class Consult extends Base
                if(channel_is_company($zx['platform_code'],$supplierArr['relation_code'])) return  error_show(1004, "平台渠道包含当前供应商公司{$supplierNo}");
 //
             }
+        }else{
+        	if($is_combind==1)$this->error('当前供应商无对应业务公司,不可选择组合商品');
         }
 
         Db::startTrans();
@@ -1245,7 +1229,6 @@ class Consult extends Base
                 "brand_id"=>$brandid,
                 "cat_id"=>$cat_id,
                 "specinfo"=>json_encode($specinfo),
-//            "material"=>$material,
                 "unit_id"=>$unit_id,
                 "cost_desc"=>$cost_desc,
                 "work_day"=>$work_day,
@@ -1371,6 +1354,15 @@ class Consult extends Base
                       }
                   }
             }
+                if($is_combind==1){
+                    	$arram=[
+                    		'bidNo'=>$bidNo,
+                    		"companyNo"=>$zx['companyNo'],
+                    		"companyName"=>$zx['companyName'],
+                    		"supplierName"=>$supplierName,
+                    		];
+                    	(new \app\admin\model\ConsultTemp)->CreateByZx($goodBind,$arram);
+                    }
                 Db::commit();
                 return app_show(0,"编辑成功");
             }else{
@@ -1623,7 +1615,7 @@ class Consult extends Base
             ->findOrEmpty();
 
         $catinfo = get_budget($bids['cat_id'],$tmp['companyNo']??'',$tmp['platform_code']??0,true);
-
+			if($catinfo===false) $this->error('未找到业务公司有关的平台分类毛利信息');
         $rate = isset($catinfo['rate']) ? $catinfo['rate']/100:0; //业务主管利率
         if($bids['is_gold_price']==1){
             $gold = Db::name("gold_price1")->where(["type"=>$bids['metal_id'],"is_del"=>0,"status"=>1])->order("addtime desc")
@@ -1735,10 +1727,6 @@ class Consult extends Base
         $info['good_img'] = isset($bidinfos['good_img'])?$bidinfos['good_img']:"";
         $info['brand_id'] = isset($bidinfos['brand_id'])?$bidinfos['brand_id']:"";
         $info['good_num'] = isset($consultinfos['num'])?$consultinfos['num']:"";
-//        $info['before_rate'] =round($info['before_rate']*100,2);
-//        $info['sale_price'] =round($bidinfos['origin_price'],2);
-//        $info['cost_before_price'] =round($bidinfos['origin_cost_fee'],2);
-//        $info['after_rate'] = round($info['after_rate']*100,2);
         $info['exam_info'] = isset($info['exam_info'])&&$info['exam_info']!=""?json_decode($info['exam_info'],true):"";
         if($bidinfos['brand_id']!=0){
             $info['brand_id'] = $bidinfos['brand_id'];
@@ -1757,7 +1745,7 @@ class Consult extends Base
             ->findOrEmpty();
 
         $catinfo = get_budget($bidinfos['cat_id'],$tmp['companyNo']??'',$tmp['platform_code']??0,true);
-
+		if($catinfo===false) $this->error('未找到业务公司有关的平台分类毛利信息');
         $info['can']= isset($bidinfos['cat_id']) && $bidinfos['cat_id'] !=0 ? made($bidinfos['cat_id']):[];
         $unit =Db::name("unit")->where(["id"=>$bidinfos['unit_id']])->find();
         $info['unit'] = isset($unit['unit'])?$unit['unit']:'';
@@ -1798,10 +1786,10 @@ class Consult extends Base
 
             }else{
                 if($bidinfos['nake_fee']!=0){
-                          $lower_price =($bidinfos['demo_fee']/$consultinfos['num']+$bidinfos['delivery_fee']+$bidinfos['open_fee']/$consultinfos['num']+$bidinfos['cost_fee']*$bidinfos['good_weight']+$bidinfos['pakge_fee'] +$bidinfos['mark_fee']+  $bidinfos['cert_fee'] +  $bidinfos['nake_fee']) / (1 - $lower_rate);
+                	$lower_price =($bidinfos['demo_fee']/$consultinfos['num']+$bidinfos['delivery_fee']+$bidinfos['open_fee']/$consultinfos['num']+$bidinfos['cost_fee']*$bidinfos['good_weight']+$bidinfos['pakge_fee'] +$bidinfos['mark_fee']+  $bidinfos['cert_fee'] +  $bidinfos['nake_fee']) / (1 - $lower_rate);
 
                 }else{
-                       $lower_price = ($bidinfos['demo_fee']/$consultinfos['num']+$bidinfos['delivery_fee']+$bidinfos['open_fee']/$consultinfos['num']+$bidinfos['cost_fee']*$bidinfos['good_weight']+$bidinfos['pakge_fee'] +$bidinfos['mark_fee']+  $bidinfos['cert_fee'])/ (1 - $lower_rate);
+                   $lower_price = ($bidinfos['demo_fee']/$consultinfos['num']+$bidinfos['delivery_fee']+$bidinfos['open_fee']/$consultinfos['num']+$bidinfos['cost_fee']*$bidinfos['good_weight']+$bidinfos['pakge_fee'] +$bidinfos['mark_fee']+  $bidinfos['cert_fee'])/ (1 - $lower_rate);
                 }
             }
         $info['cost_desc'] =$bidinfos['cost_desc'];
@@ -1851,7 +1839,6 @@ class Consult extends Base
         $info['is_custom'] =$consultinfos['is_custom'];
 
         $info['metal_name']=isset($bidinfos['metal_id'])&& $bidinfos['metal_id']!=0?$this->noble[$bidinfos['metal_id']]:"";
-//        $info['sale_price'] =round($bidinfos['sale_price'],2);//议价前价格
         $info['specinfo'] = isset($bidinfos['specinfo'])&&$bidinfos['specinfo']!=""?json_decode($bidinfos['specinfo'],true):[];
         $info['lower_price'] =round($lower_price,2);
         //获取议价原因
@@ -1935,6 +1922,7 @@ class Consult extends Base
             $bidinfo = Db::name("consult_info")->where(["infoNo"=>$value["infoNo"]])->find();
             $zx = Db::name("consult_order")->where(["zxNo"=>$value["zxNo"]])->find();
              $budget = get_budget($value['cat_id'],$zx['companyNo']??'',$zx['platform_code']??0);
+//             if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
 //            $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
                 $god=[
                     "metal_id"=>$value['metal_id'],
@@ -2057,6 +2045,7 @@ class Consult extends Base
 //            $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
               $zx = Db::name("consult_order")->where(["zxNo"=>$value["zxNo"]])->find();
              $budget = get_budget($value['cat_id'],$zx['companyNo']??'',$zx['platform_code']??0);
+             if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
             $god=[
                 "metal_id"=>$value['metal_id'],
                 "weight"=>$value["good_weight"],
@@ -2234,6 +2223,7 @@ class Consult extends Base
 //            $budget = $cat[$bidinfos['cat_id']] ?? 0;//isset($catinfo['order_rate']) ? $catinfo['order_rate']:0;
 
             $budget = get_budget($bidinfos['cat_id'],$value['companyNo']??'',$value['platform_code']??0);
+            if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
             $value['budget'] = $budget;
             $god = [
                 "metal_id" => $bidinfos['metal_id'],
@@ -2493,6 +2483,7 @@ class Consult extends Base
             $bidinfo = Db::name("consult_info")->where(["infoNo" => $value["infoNo"]])->find();
 //            $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate'] : 0;
             $budget = get_budget((int)$value['cat_id'], $value['companyNo'], (int)$value['platform_code']);
+//           if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
             $god = [
                 "metal_id" => $value['metal_id'],
                 "weight" => $value["good_weight"],

+ 48 - 0
app/admin/controller/ConsultGood.php

@@ -0,0 +1,48 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\controller;
+
+use app\admin\model\ConsultTemp;use think\App;use think\Request;
+
+class ConsultGood extends Base
+{
+	private $model;
+	public function __construct(App $app) {
+		parent::__construct($app);
+		$this->model=new ConsultTemp();
+	}
+ 
+	
+	public function info(){
+		$param =$this->request->param(["id"],"post","trim");
+		$info = $this->model->with(['brand','cat','unit'])->findOrEmpty($param['id']);
+		if($info->isEmpty())$this->error("未找到信息");
+		 $place = ['provice_code'=>'','city_code'=>'','area_code'=>''];
+        if($info['delivery_place']!=''){
+            list($place['provice_code'],$place['city_code'],$place['area_code'])=explode(',',$info['delivery_place']);
+        }
+        $info['delivery_place_cn']=GetAddr(json_encode($place));
+        $place = ['provice_code'=>'','city_code'=>'','area_code'=>''];
+        if($info['origin_place']!=''){
+            list($place['provice_code'],$place['city_code'],$place['area_code'])=explode(',',$info['origin_place']);
+        }
+
+        $info['origin_place_cn']=GetAddr(json_encode($place));
+		$this->success("获取成功",$info);
+	}
+	
+	public function getList(){
+		$param= $this->request->param(["bidNo"=>""],"post","trim");
+		$list = $this->model->with(["brand","cat","unit"])->where("bidNo",$param['bidNo'])->select();
+		$this->success('获取成功',$list);
+	}
+	
+	public function delete(){
+		$param= $this->request->param(['id'=>''],'post','trim');
+		$info = $this->model->findOrEmpty($param['id']);
+		if($info->isEmpty())$this->error('未找到信息');
+		$del= $info->delete();
+		$del?$this->success('删除成功'):$this->error("删除失败");
+	}
+}

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

@@ -32,14 +32,14 @@ class DataChange extends Base
   		$orderinfo = Db::name("purchease_order")->where(["cgdNo"=>$param['code']])->find();
   		  $fininfo =GetFin('admin/orderischeck',['token'=>$this->post['token'],'orderCode'=>$param['code'],'is_cgd_check'=>1]);
 				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-					return json_show(1005, $fininfo['message']??'结算校验失败');
+					return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 				}
   	}
   	if($param['type']==2){
   		$orderinfo = Db::name('sale')->where(['orderCode'=>$param['code']])->find();
   		$fininfo =GetFin('admin/orderischeck',['token'=>$this->post['token'],'orderCode'=>$param['code'],'is_cgd_check'=>0]);
 		if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-			return json_show(1005, $fininfo['message']??'结算校验失败');
+			return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 		}
   	}
   	if($param['type']==3){
@@ -114,13 +114,13 @@ class DataChange extends Base
     	if($info->type==1){
     		    $fininfo =GetFin('admin/orderischeck',['token'=>$this->post['token'],'orderCode'=>$info->code,"is_cgd_check"=>1]);
 				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-					return json_show(1005, $fininfo['message']??'结算校验失败');
+					return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 				}
     	}
     	if($info->type==2){
     		    $fininfo =GetFin('admin/orderischeck',['token'=>$this->post['token'],'orderCode'=>$info->code,'is_cgd_check'=>0]);
 				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-					return json_show(1005, $fininfo['message']??'结算校验失败');
+					return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 				}
     	}
     }

+ 3 - 1
app/admin/controller/Filing.php

@@ -971,7 +971,7 @@ class Filing extends Base
             "qrdType|订单类型" => "require|number|in:1,2,3",
             "goodName|商品名称" => "require|max:255|min:1",
             "goodUnit|商品单位" => "require|number|gt:0",
-            "tax|税率" => "require|number|gt:0",
+            "tax|税率" => "require|number|egt:0",
             "goodNum|商品数量" => "require|number|gt:0",
             "sale_total|销售总额" => "require|float|gt:0",
             "cgd_total|采购总额" => "require|float|gt:0",
@@ -1120,6 +1120,8 @@ class Filing extends Base
             "is_diff" => 0,
             "pay_way" => 0,
             "send_way" => 0,
+            "order_createrid" => $this->uid,
+            "order_creater" =>$this->uname,
             "companyNo" => $param['companyNo'],
             "companyName" => $tmp['data'][$param['companyNo']],
             "addtime" => date("Y-m-d H:i:s"),

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

@@ -758,7 +758,7 @@ class Good extends Base
             ->page($page,$size)
             ->leftJoin('warehouse_info whi','whi.wsm_code=gs.wsm_code AND whi.is_del=0')
             ->group("gs.wsm_code")
-            ->field("gs.wsm_code,sum(wait_in_stock) wait_in_stock,sum(wait_out_stock) wait_out_stock,sum(usable_stock) usable_stock,sum(intra_stock) intra_stock,sum(warn_stock) warn_stock,sum(usable_stock+wait_out_stock) total_stock")
+            ->field("gs.wsm_code,whi.wsm_type,sum(wait_in_stock) wait_in_stock,sum(wait_out_stock) wait_out_stock,sum(usable_stock) usable_stock,sum(intra_stock) intra_stock,sum(warn_stock) warn_stock,sum(usable_stock+wait_out_stock) total_stock")
             ->select()
             ->toArray();
 
@@ -856,7 +856,6 @@ class Good extends Base
     public function GetStockGod(){
         $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;
-//        $condition = [["b.is_del","=",0],["c.usable_stock",">",0],["a.wsm_type","<>",2]];
         $condition = [["b.is_del", "=", 0], ["a.wsm_type", "<>", 2],['b.is_stock','=',1]];//库存为0的也要显示出来
         $type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
         if($type_code!==""){
@@ -869,10 +868,12 @@ class Good extends Base
 
         $relaComNo = isset($this->post['relaComNo']) && $this->post['relaComNo']!="" ? trim($this->post['relaComNo']):"";
         if($relaComNo!="") $condition[]=['b.companyNo','=', $relaComNo];
-
+        
         $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo']!="" ? trim($this->post['supplierNo']):"";
         if($supplierNo!=="") $condition[]=['b.supplierNo','=', $supplierNo];
-
+		$isZero=isset($this->post['isZero']) && $this->post['isZero']!='' ? intval($this->post['isZero']):0;
+		  if($isZero!==0) $condition[]=['c.wait_in_stock|c.wait_out_stock|c.usable_stock|c.intra_stock','<>',
+		 0];
         $count = Db::name("good_basic")
             ->alias("b")
             ->join("good_stock c","c.spuCode = b.spuCode","left")
@@ -909,7 +910,7 @@ class Good extends Base
                         ->join("warehouse_info b", "a.wsm_code=b.wsm_code", "left")
                         ->where(['a.spuCode' => $value['spuCode'], "a.is_del" => 0])
                         ->where("b.wsm_type","<>",2)
-                        ->field("a.wsm_code,b.name wsm_name,a.wait_in_stock,a.wait_out_stock,a.usable_stock,a.intra_stock,(a.wait_out_stock+a.usable_stock) total_stock,a.warn_stock,b.supplierNo,b.companyNo,b.contactor_name")
+                        ->field("a.wsm_code,,b.wsm_type,b.name wsm_name,a.wait_in_stock,a.wait_out_stock,a.usable_stock,a.intra_stock,(a.wait_out_stock+a.usable_stock) total_stock,a.warn_stock,b.supplierNo,b.companyNo,b.contactor_name")
                         ->select()
                         ->toArray();
 
@@ -1364,4 +1365,9 @@ class Good extends Base
 
     }
 
+    public function getCombind(){
+        $param= $this->request->param(['spuCode'=>'',"isZx"=>""],'post','trim');
+		$list = (new GoodCombind())->with([$param['isZx']==1?"goodZx":"goodBasic"])->where('spuCode',$param['spuCode'])->select();
+		$this->success('获取成功',$list);
+    }
 }

+ 50 - 98
app/admin/controller/Goodup.php

@@ -21,7 +21,6 @@ class Goodup extends Base
     public function __construct(App $app)
     {
         parent::__construct($app);
-
         $this->noble=\think\facade\Config::get("noble");
     }
     public function list(){
@@ -133,21 +132,6 @@ class Goodup extends Base
             else  $where[]=["gb.spuCode","not in",$sta];
         }
 
-//        //只有level2的账号过滤数据权限
-//        if ($this->level == 2) {
-//            $role = $this->checkDataShare();
-//            $hand = resign_hand_user($this->uid, 0);
-//            if (!empty($role[DataGroupModel::$type_全部])) {
-//                $arr = array_unique(array_merge($hand, $role[DataGroupModel::$type_全部]));
-//                $supplierNos = Db::connect('mysql_sys')
-//                    ->name('supplier')
-//                    ->where(['is_del' => 0, 'personid' => $arr])
-//                    ->column('code');
-//				array_push($supplierNos,'');
-//                $where[] = ['gb.supplierNo', 'in', $supplierNos];
-//            }
-//        }
-
         $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
         if ($company_name !== "") $where[] = ["gb.createrid", 'in', get_company_item_user_by_name($company_name)];
 
@@ -208,8 +192,9 @@ class Goodup extends Base
                 $value['noble_name']=isset($value['noble_metal'])&&$value['noble_metal']!=0?$this->noble[$value['noble_metal']] :"";
 
             //如果一个spucode在任意平台上线,那么就视为它上线,即手动把它的is_online值改为1
-            if (isset($exam_statuss[$value['spuCode']]) || isset($exam_status_yz[$value['spuCode']]))  $value['is_online'] = 1;
-
+           $value['is_online'] = 0;
+            if (isset($exam_statuss[$value['spuCode']]) || isset($exam_status_yz[$value['spuCode']])) $value['is_online'] = 1;
+			else $value['is_online'] = 0;
             $value['charger_company_name'] = $item[$value['chargerid']]??'';
 
             $value['has_account'] = (int)isset($account[$value['supplierNo']]);
@@ -507,12 +492,12 @@ class Goodup extends Base
 	        $cgd_supplier_code =  isset($this->post['cgd_supplier_code'])&&$this->post['cgd_supplier_code']!=''? trim($this->post['cgd_supplier_code']):'';
 	        $cgd_apply_id =  isset($this->post['cgd_apply_id'])&&$this->post['cgd_apply_id']!=''? trim($this->post['cgd_apply_id']):'';
 	        $cgd_apply_name =  isset($this->post['cgd_apply_name'])&&$this->post['cgd_apply_name']!=''? trim($this->post['cgd_apply_name']):'';
-	        $supplier_origin_price =  isset($this->post['supplier_origin_price'])&&$this->post['supplier_origin_price']!=''? floatval($this->post['supplier_origin_price']):'';
+//	        $supplier_origin_price =  isset($this->post['supplier_origin_price'])&&$this->post['supplier_origin_price']!=''? floatval($this->post['supplier_origin_price']):'';
 	        $cgd_supplier_name='';
-	        if(isset($supplier_account[$supplierNo])){
+	        if(isset($supplierArr['relation_code']) && $supplierArr['relation_code']!='' && $isCombind==0){
 	            if($cgd_supplier_code=="")return error_show(1004,'采购供应商信息不能为空');
 	            if($cgd_apply_id=="")return error_show(1004,'采购竞单人信息不能为空');
-	            if($supplier_origin_price==="")return error_show(1004,'采购供应商信息采购成本不能为空');
+//	            if($supplier_origin_price==="")return error_show(1004,'采购供应商信息采购成本不能为空');
 	              $cgd_supplier =$userCommon->handle('getCodeAndName',['code'=>$cgd_supplier_code]);
 		          $cgd_supplier_name= $cgd_supplier['data'][$cgd_supplier_code]??'';
 	        }
@@ -724,7 +709,7 @@ class Goodup extends Base
                 'is_combind'=>$isCombind,
                 'chargerid'=>$supplier['personid']??$createrid,
                 'charger'=>$supplier['person']??$creater,//负责人跟创建人一致
-                'supplier_origin_price'=>$supplier_origin_price,//供应商采购成本
+//                'supplier_origin_price'=>$supplier_origin_price,//供应商采购成本
                 'cgd_supplier_code'=>$cgd_supplier_code,//采购供应商编号
                 'cgd_supplier_name'=>$cgd_supplier_name,//采购供应商编号
                 'cgd_apply_id'=>$cgd_apply_id,//竞单人
@@ -778,6 +763,7 @@ class Goodup extends Base
                         $lemp['mark_fee'] = $value['mark_fee'];
                         $lemp['package_fee'] = $value['package_fee'];
                         $lemp['other_fee'] = $value['other_fee'];
+                        $lemp['supplier_origin_price'] = $value['supplier_origin_price'];
                         if($is_gold_price==1 && $top_cat_id==6){
 
                             //$is_gold_price==1 表示启用实时金价,cat_id==6表示贵金属
@@ -898,19 +884,24 @@ class Goodup extends Base
 	        if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) return error_show(1004,'供应商信息未找到');
 			$supplierArr=$supplier_temp['data']??[];
 			$supplier=$supplierArr['child']??[];
-            $supplier_account = checkHasAccountBySupplierNos([$supplierNo]);
+//            $supplier_account = checkHasAccountBySupplierNos([$supplierNo]);
 	        $cgd_supplier_code =  isset($this->post['cgd_supplier_code'])&&$this->post['cgd_supplier_code']!=''? trim($this->post['cgd_supplier_code']):'';
 	        $cgd_apply_id =  isset($this->post['cgd_apply_id'])&&$this->post['cgd_apply_id']!=''? trim($this->post['cgd_apply_id']):'';
 	        $cgd_apply_name =  isset($this->post['cgd_apply_name'])&&$this->post['cgd_apply_name']!=''? trim($this->post['cgd_apply_name']):'';
-	        $supplier_origin_price =  isset($this->post['supplier_origin_price'])&&$this->post['supplier_origin_price']!=''? floatval($this->post['supplier_origin_price']):'';
+//	        $supplier_origin_price =  isset($this->post['supplier_origin_price'])&&$this->post['supplier_origin_price']!=''? floatval($this->post['supplier_origin_price']):'';
 	        $cgd_supplier_name='';
-	        if(isset($supplier_account[$supplierNo])){
+	        if(isset($supplierArr['relation_code']) && $supplierArr['relation_code']!=''  && $isCombind==0){
 	            if($cgd_supplier_code=='')return error_show(1004,'采购供应商信息不能为空');
 	            if($cgd_apply_id=='')return error_show(1004,'采购竞单人信息不能为空');
-	            if($supplier_origin_price==='')return error_show(1004,'采购供应商信息采购成本不能为空');
+//	            if($supplier_origin_price==='')return error_show(1004,'采购供应商信息采购成本不能为空');
 	              $cgd_supplier =$userCommon->handle('getCodeAndName',['code'=>$cgd_supplier_code]);
 		          $cgd_supplier_name= $cgd_supplier['data'][$cgd_supplier_code]??'';
 	        }
+	         if (($this->level == 2) && ($supplierNo != $data['supplierNo'])) {
+	            $supplier_account = checkHasAccountBySupplierNos([$supplierNo,$data['supplierNo']]);
+	            if (isset($supplier_account[$supplierNo])) return json_show(1004, '该供应商已开通账号,不允许操作');
+	            if (isset($supplier_account[$data['supplierNo']])) return json_show(1004, '原供应商已开通账号,不允许操作');
+	        }
         $good_size = isset($this->post['good_size'])&&$this->post['good_size']!=""? trim($this->post['good_size']) :"";
         if($good_size==''){
             return error_show(1004,"参数good_size不能为空");
@@ -983,15 +974,7 @@ class Goodup extends Base
             return error_show(1004,"参数delivery_day不能为空");
         }
         $lead_time = isset($this->post['lead_time'])&&$this->post['lead_time']!==""? intval($this->post['lead_time']) :"0";
-//        if($lead_time===""){
-//            return error_show(1004,"参数lead_time不能为空");
-//        }
         $sample_day = isset($this->post['sample_day'])&&$this->post['sample_day']!==""? intval($this->post['sample_day']):"0";
-//        if($sample_day===""){
-//            return error_show(1004,"参数sample_day不能为空");
-//        }
-     //   $sample_fee = isset($this->post['sample_fee'])&&$this->post['sample_fee']!==""? floatval
-        //($this->post['sample_fee']):"0";
         $config = isset($this->post['config'])&&$this->post['config']!==""? trim($this->post['config']):"";
         $other_config = isset($this->post['other_config'])&&$this->post['other_config']!==""? trim($this->post['other_config']):"";
         $is_diff = isset($this->post['is_diff'])&&$this->post['is_diff']!==""? intval($this->post['is_diff']):"0";
@@ -1081,7 +1064,7 @@ class Goodup extends Base
                 'is_combind'=>$isCombind,
                 'chargerid' => $supplier['personid'] ?? $this->uid,
                 'charger' => $supplier['person'] ?? $this->uname,//负责人跟创建人一致
-                'supplier_origin_price'=>$supplier_origin_price,//供应商采购成本
+//                'supplier_origin_price'=>$supplier_origin_price,//供应商采购成本
                 'cgd_supplier_code'=>$cgd_supplier_code,//采购供应商编号
                 'cgd_supplier_name'=>$cgd_supplier_name,//采购供应商编号
                 'cgd_apply_id'=>$cgd_apply_id,//竞单人
@@ -1188,15 +1171,14 @@ class Goodup extends Base
         if($market_price===""){
             return error_show(1004,"参数market_price不能为空");
         }
+        if ($this->level == 2) {
+        	            $supplier_account = checkHasAccountBySupplierNos([$datas['supplierNo']]);
+        	            if (isset($supplier_account[$datas['supplierNo']])) return json_show(1004, '供应商已开通账号,不允许操作');
+        }
         $nake_price = isset($this->post['nake_price'])&&$this->post['nake_price']!==""? floatval($this->post['nake_price']):"";
-//        $is_step = isset($this->post['is_step'])&&$this->post['is_step']!==""? intval($this->post['is_step']):"";
-//        if($is_step===""){
-//            return error_show(1004,"参数is_step不能为空");
-//        }
+
         $good_ladder = isset($this->post['good_ladder'])&&!empty($this->post['good_ladder'])? $this->post['good_ladder']:"";
-//        if($is_step==1 &&  $good_ladder==""){
-//            return error_show(1004,"启用阶梯,阶梯价不能为空");
-//        }
+
         $data=[
             "cert_fee"=>$cert_fee,
             "packing_fee"=>$packing_fee,
@@ -1243,29 +1225,6 @@ class Goodup extends Base
                     "before_status"=>$datas['status'],
                     'holder_id'=>$datas['createrid'],
                 ]);
-//                $online =  Db::name("good_platform")->where(["spuCode"=>$supcode,"is_del"=>0])->find();
-//                if($online){
-//                    $onup = Db::name("good_platform")->where(["spuCode"=>$supcode,"is_del"=>0])->save
-//                    (["exam_status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
-//                    if($onup==false){
-//                        Db::rollback();
-//                        return app_show(1004,"商品规成本修改失败");
-//                    }
-//                    //修改状态,添加待办
-//                    ActionLog::logAdd($this->post['token'], [
-//                        "order_code" =>$online['skuCode'],//咨询单详情编号
-//                        "status" =>  $online['exam_status'],//这里的status是之前的值
-//                        "action_remark" => '',//备注
-//                        "action_type" => "edit"//新建create,编辑edit,更改状态status
-//                    ], "SPSX",2,["exam_status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
-//
-//                    ProcessOrder::AddProcess($this->post['token'], [
-//                        "order_type" => 'SPSX',
-//                        "order_code" => $online['skuCode'],//咨询单详情编号
-//                        "order_id" => $online['id'],
-//                        "order_status" =>2,"before_status"=>$online['exam_status']
-//                    ]);
-//                }
                 if($good_ladder!=="" && !empty($good_ladder)){
 
                     $user =GetUserInfo($this->post['token']);
@@ -1282,6 +1241,7 @@ class Goodup extends Base
                         $lemp['mark_fee'] = $value['mark_fee'];
                         $lemp['package_fee'] = $value['package_fee'];
                         $lemp['other_fee'] = $value['other_fee'];
+                        $lemp['supplier_origin_price'] = $value['supplier_origin_price'];
                         $top_cat_id = made($datas['cat_id']);//获取所有分类
                         $top_cat_id = isset($top_cat_id[0]['id']) ? $top_cat_id[0]['id'] : 0;//获取顶级分类id
                         if($is_gold_price==1 && $top_cat_id==6){
@@ -2209,6 +2169,7 @@ class Goodup extends Base
                     $tmp['package_fee'] = $value['package_fee'];
                     $tmp['other_fee'] = $value['other_fee'];
                     $tmp['nake_total'] =$value['nake_total'];
+                    $tmp['supplier_origin_price'] =$value['supplier_origin_price'];
                     $tmp['creater_id']=$createrid;
                     $tmp['creater']=$creater;
                     $tmp['is_del']=$value['is_del'];
@@ -2368,19 +2329,28 @@ class Goodup extends Base
 	        }
 	
 	        if (($this->level == 2) && ($supplierNo != $data['supplierNo'])) {
-	            $supplier_account = checkHasAccountBySupplierNos([$supplierNo]);
+	            $supplier_account = checkHasAccountBySupplierNos([$supplierNo,$data['supplierNo']]);
 	            if (isset($supplier_account[$supplierNo])) return json_show(1004, '该供应商已开通账号,不允许操作');
 	            if (isset($supplier_account[$data['supplierNo']])) return json_show(1004, '原供应商已开通账号,不允许操作');
 	        }
-	
+		 $supplier_temp =$userCommon->handle('hqInfo',['code'=>$supplierNo]);
+		        if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) return error_show(1004,'供应商信息未找到');
+				$supplierArr=$supplier_temp['data']??[];
+				$supplier=$supplierArr['child']??[];
+				  if($supplierArr['relation_code']==$company_id){
+	                return error_show(1004,'业务公司与供应商属于同一家公司');
+	            }
+	        $cgd_supplier_code =  isset($this->post['cgd_supplier_code'])&&$this->post['cgd_supplier_code']!=''? trim($this->post['cgd_supplier_code']):'';
+	        $cgd_apply_id =  isset($this->post['cgd_apply_id'])&&$this->post['cgd_apply_id']!=''? trim($this->post['cgd_apply_id']):'';
+	        $cgd_apply_name =  isset($this->post['cgd_apply_name'])&&$this->post['cgd_apply_name']!=''? trim($this->post['cgd_apply_name']):'';
+	        $cgd_supplier_name='';
+	        if(isset($supplierArr['relation_code']) && $supplierArr['relation_code']!='' && $isCombind==0){
+	            if($cgd_supplier_code=='')return error_show(1004,'采购供应商信息不能为空');
+	            if($cgd_apply_id=='')return error_show(1004,'采购竞单人信息不能为空');
+	              $cgd_supplier =$userCommon->handle('getCodeAndName',['code'=>$cgd_supplier_code]);
+		          $cgd_supplier_name= $cgd_supplier['data'][$cgd_supplier_code]??'';
+	        }
 	       
-	        $supplier_temp =$userCommon->handle("hqInfo",["code"=>$supplierNo]);
-	        if($supplier_temp['code']!=0 || empty($supplier_temp['data']) ) return error_show(1004,"供应商信息未找到");
-			$supplierArr=$supplier_temp['data']??[];
-			$supplier=$supplierArr['child']??[];
-			  if($supplierArr['relation_code']==$company_id){
-        	    return error_show(1004,'业务公司与供应商属于同一家公司');
-            }
 
         $good_size = isset($this->post['good_size'])&&$this->post['good_size']!=""? trim($this->post['good_size']) :"";
         if($good_size==''){
@@ -2572,6 +2542,10 @@ class Goodup extends Base
                 'is_support_barter'=>$is_support_barter,
                 'chargerid' => $supplier['personid'] ?? $this->uid,
                 'charger' => $supplier['person'] ?? $this->uname,
+                 'cgd_supplier_code'=>$cgd_supplier_code,//采购供应商编号
+                'cgd_supplier_name'=>$cgd_supplier_name,//采购供应商编号
+                'cgd_apply_id'=>$cgd_apply_id,//竞单人
+                'cgd_apply_name'=>$cgd_apply_name,//竞单人
             ];
             $field = array_diff_assoc($temp,$data);
             $temp['field_change'] =empty($field)?"":json_encode(array_keys($field));
@@ -2582,22 +2556,6 @@ class Goodup extends Base
             if($up){
             	$this->BasicToGood($supcode,$temp);
                 ChangeLog::logAdd(3,$data['spuCode'],$dat,$json,['id' => $this->uid, 'nickname' => $this->uname]);
-//                //修改状态,添加待办
-//                ActionLog::logAdd($this->post['token'], [
-//                    "order_code" =>$supcode,//咨询单详情编号
-//                    "status" => $data['status'],//这里的status是之前的值
-//                    "action_remark" => '',//备注
-//                    "action_type" => "create"//新建create,编辑edit,更改状态status
-//                ], "SPCB", 0,$temp);
-//
-//                ProcessOrder::AddProcess($this->post['token'], [
-//                    "order_type" => 'SPCB',
-//                    "order_code" =>$supcode,//咨询单详情编号
-//                    "order_id" => $data['id'],
-//                    "order_status" =>0,
-//                    "before_status"=>0,
-//                    'holder_id'=>$data['createrid'],
-//                ]);
                 if($speclist!=="" && !empty($speclist)){
                     foreach ($speclist as $value){
                         $lemp=[];
@@ -2648,7 +2606,7 @@ class Goodup extends Base
                         $lemp['mark_fee'] = $value['mark_fee'];
                         $lemp['package_fee'] = $value['package_fee'];
                         $lemp['other_fee'] = $value['other_fee'];
-
+						$lemp['supplier_origin_price'] = $value['supplier_origin_price'];
                         if ($is_gold_price == 1 && $top_cat_id == 6) {
                             $gold =Db::name("gold_price1")->where(["type"=>$noble_metal,"status"=>1,"is_del"=>0])->order("addtime desc")->find();
 
@@ -2706,11 +2664,6 @@ class Goodup extends Base
             ->findOrEmpty();
         if(empty($good)) return json_show(1005,"商品数据未找到");
 
-//        $num=isset($this->post['min_num'])&&$this->post['min_num']!=="" ? intval($this->post['min_num']):"";
-//        if($num==""){
-//            return error_show(1005,"参数min_num不能为空");
-//        }
-
         $nakelist = Db::name("good_nake")
             ->where(['spuCode'=>$param['spuCode'],"is_del"=>0])
             ->where([["min_num","<=",$param['min_num']]])
@@ -2721,7 +2674,6 @@ class Goodup extends Base
                 ->where(['spuCode'=>$param['spuCode'],"is_del"=>0])
                 ->order("min_num asc")
                 ->find();
-
             //非库存品的话,继续校验最小起订量
             //库存品的话,不足采购起订量的时候,取采购最小起订量
             if ($good['is_stock'] == 0) return error_show(1010, "起订量不足{$nakelist['min_num']}");
@@ -2729,7 +2681,7 @@ class Goodup extends Base
 
         //计算毛利率
         $budget = get_budget($good['cat_id'],$param['relaComNo'],$param['platform_id']);
-
+		if($budget===false) $this->error('未找到业务公司有关的平台分类毛利信息');
         $top_cat_id = made($good['cat_id']);//获取所有分类
         $top_cat_id = isset($top_cat_id[0]['id']) ? $top_cat_id[0]['id'] : 0;//获取顶级分类id
 

+ 10 - 7
app/admin/controller/OrderImport.php

@@ -376,14 +376,17 @@ class OrderImport extends Base
             $co = Db::name('good_platform')
                 ->alias('gp')
                 ->leftJoin('platform p', 'p.id=gp.platform_code AND p.is_del=0')
-                ->leftJoin('customer_org1 co', 'co.name=p.platform_name AND co.is_del=0')
                 ->where('gp.plat_code', $rs['plat_code'])
-                ->field('co.id,co.name')
-                ->find();
-
-            if ($co) {
-                $customer_code = Db::name('customer_info')
-                    ->where(['itemid' => $co['id'], 'companyName' => $co['name'] . '客户', 'is_del' => 0])
+                ->value('p.platform_name','');
+                
+			
+            if ($co!='') {
+            	$itemId= Db::connect('mysql_sys')->name("customer_org1")
+	                                             ->where(["name"=>$co,"is_del"=>0])
+		            ->value("id",0);
+                $customer_code =Db::connect('mysql_sys')
+                                    ->name('customer_info')
+                    ->where(['itemid' => $itemId, 'companyName' => $co . '客户', 'is_del' => 0])
                     ->value('companyNo', '');
 
                 if ($customer_code) $extend_insert_data['customer_code'] = $customer_code;

+ 30 - 72
app/admin/controller/Platform.php

@@ -18,7 +18,7 @@ class Platform extends Base
             'platform_type',
             'use_type',
             'is_select_pay_rate' => 0,
-            'desc' => '',
+            'desc' => '0',
             'status' => 0,
             'pay_list' => []
         ], 'post', 'trim');
@@ -28,7 +28,7 @@ class Platform extends Base
             'platform_type|对接平台' => 'require|number|in:0,1,2',
             'use_type|对接类型' => 'require|number|in:0,1,2',
             'is_select_pay_rate|是否开启支付渠道' => 'require|number|in:0,1',
-            'desc|描述' => 'max:255',
+            'desc|权重' => 'float',
             'status|状态' => 'number|in:0,1',
             'pay_list|渠道配置' => 'requireIf:is_select_pay_rate,1|array|max:100'
         ]);
@@ -88,13 +88,7 @@ class Platform extends Base
                 }
                 if ($insert_da) Db::name('platform_channel')->insertAll($insert_da);
             }
-//                return error_show(0,"新建成功");
-//            }else{
-//                return error_show(1003,"新建失败");
-//            }
-
             Db::commit();
-
             return json_show(0, '新建成功');
         } catch (Exception $exception) {
             Db::rollback();
@@ -111,73 +105,44 @@ class Platform extends Base
             'size' => 10,
             'platform_name' => '',
             'platform_type' => '',
-//            'use_type' => '',
             'status' => '',
             'start' => '',
             'end' => '',
             'is_show' => 1,
             'creater' => ''
-//            'company_name' => '',
         ], 'post', 'trim');
-
-//        $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 = [["p.is_del", "=", 0]];
-//        $platform_name = isset($this->post['platform_name']) && $this->post['platform_name'] !=="" ? trim($this->post['platform_name']):"";
-        if ($param['platform_name'] != "") $where[] = ['p.platform_name', "like", '%' . $param['platform_name'] . '%'];
-
-//        $platform_type = isset($this->post['platform_type']) && $this->post['platform_type'] !=="" ? intval($this->post['platform_type']):"";
-        if ($param['platform_type'] !== "") $where[] = ['p.platform_type', "=", $param['platform_type']];
 
-//         $use_type = isset($this->post['use_type']) && $this->post['use_type'] !=="" ? intval($this->post['use_type']):"";
-//        if ($param['use_type'] !== "") $where[] = ['p.use_type', "=", $param['use_type']];
+        if ($param['platform_name'] != "") $where[] = ['p.platform_name', "like", '%' . $param['platform_name'] . '%'];
+		 if ($param['platform_type'] !== "") $where[] = ['p.platform_type', "=", $param['platform_type']];
 
-//        $status = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
         if ($param['status'] !== "") $where[] = ['p.status', "=", $param['status']];
 
-//        $start = isset($this->post['start']) && $this->post['start']!=="" ? $this->post['start']:"";
         if ($param['start'] !== "") $where[] = ['p.addtime', ">=", date('Y-m-d H:i:s', strtotime($param['start']))];
 
-//        $end = isset($this->post['end']) && $this->post['end']!=="" ? $this->post['end']:"";
         if ($param['end'] !== "") $where[] = ['p.addtime', "<", date('Y-m-d H:i:s', strtotime($param['end']) + 24 * 3600)];
-
-//        $is_show=isset($this->post['is_show']) && $this->post['is_show']!=="" ? intval($this->post['is_show']):"1";
         if ($param['is_show'] == 1) {
             $role = $this->checkRole();
             if (!empty($role['platform'])) $where[] = ["p.id", "in", $role['platform']];
         }
-//        $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
-//        if ($param['company_name'] !== "") $where[] = ["p.createrid", 'in', get_company_item_user_by_name($param['company_name'])];
         if ($param['creater'] != '') $where[] = ['p.creater', 'like', '%' . $param['creater'] . '%'];
 
         $count = Db::name('platform')
             ->alias('p')
             ->where($where)
             ->count('p.id');
-//        $total = ceil($count / $size);
-//        $page = $page >= $total ? $total : $page;
         $list = Db::name('platform')
             ->alias('p')
-//            ->leftJoin("depart_user u", "u.uid=p.createrid AND u.is_del=0")
             ->where($where)
             ->page($param['page'], $param['size'])
-            ->order(['p.addtime' => 'desc', 'p.id' => 'desc'])
-//            ->append(['company_name'])
-//            ->withAttr('company_name',function ($val,$data){
-//                return implode('/', array_column(GetPart($data['itemid']), 'name'));
-//            })
+            ->order(['p.desc' => 'desc', 'p.id' => 'desc'])
             ->select()
             ->toArray();
-
         $createrid = array_column($list, 'createrid');
         $company = get_company_name_by_uid($createrid);
-
         foreach ($list as &$value) {
             $value['company_name'] = $company[$value['createrid']] ?? '';
-//            $value['pay_list'] = Db::name('platform_pay_rate')
-//                ->where(['platform_id' => $value['id'], 'is_del' => 0])
-//                ->select()
-//                ->toArray();
         }
 
         return app_show(0, "获取成功", ['list' => $list, 'count' => $count]);
@@ -192,9 +157,8 @@ class Platform extends Base
             'platform_type',
             'use_type',
             'is_select_pay_rate' => 0,
-            'desc' => '',
+            'desc' => 0,
             'status' => 0,
-//            'pay_title' => '',
             'pay_list' => []
         ], 'post', 'trim');
 
@@ -204,7 +168,7 @@ class Platform extends Base
             'platform_type|对接平台' => 'require|number|in:0,1,2',
             'use_type|对接类型' => 'require|number|in:0,1,2',
             'is_select_pay_rate|是否开启支付渠道' => 'require|number|in:0,1',
-            'desc|描述' => 'max:255',
+            'desc|排序权重' => 'float',
             'status|状态' => 'number|in:0,1',
             'pay_list|渠道配置' => 'requireIf:is_select_pay_rate,1|array|max:100'
         ]);
@@ -229,8 +193,6 @@ class Platform extends Base
 
             $date = date('Y-m-d H:i:s');
 
-//            $platform_code = makeNo("PT");
-
             $data = [
                 "platform_name" => $param['platform_name'],
                 "platform_type" => $param['platform_type'],
@@ -274,31 +236,6 @@ class Platform extends Base
             Db::rollback();
             return json_show(1004, '更新失败,' . $exception->getMessage());
         }
-
-
-//        $data = [
-//            "id" => $id,
-//            "platform_code" => $platform_code,
-//            "platform_name" => $platform_name,
-//            "platform_type" => $platform_type,
-//            "use_type"=>$use_type,
-////            "createrid" => $action_id,
-////            "creater" => $action_name,
-//            "desc" => $desc,
-//            "status" => $status,
-//            "is_del" => 0,
-//            "updatetime" => date("Y-m-d H:i:s")
-//        ];
-//        $datainfo = Db::name('platform')->save($data);
-//        $temp = array_diff($data,$info);
-//        $json = json_encode($temp,JSON_UNESCAPED_UNICODE);
-//        $jsp = json_encode($info,JSON_UNESCAPED_UNICODE);
-//        if ($datainfo) {
-//            ChangeLog::logAdd(8,$info['platform_code'],$jsp,$json,$this->post['token'],$this->post);
-//            return error_show(0, "更新成功");
-//        } else {
-//            return error_show(1002, "更新失败");
-//        }
     }
 
     public function info()
@@ -447,10 +384,31 @@ class Platform extends Base
         $list = Db::name('platform')
             ->field('id,platform_code,platform_name,platform_type,use_type,status')
             ->where($where)
-            ->order('id', 'desc')
+            ->order(['desc' => 'desc', 'id' => 'desc'])
             ->page($param['page'], $param['size'])
             ->select()
             ->toArray();
         return json_show(0, '获取成功', ['count' => $count, 'list' => $list]);
     }
+    
+    
+    public function platformSourceCreate(){
+    	$param=$this->request->param(["platform_id","source"],"post","trim");
+    	$valid=Validate::rule(["platform_id|平台id"=>"require|number|gt:0","source|渠道名称"=>"require|max:255"]);
+    	if($valid->check($param)==false)$this->error($valid->getError());
+    	$data=["platform_id"=>$param["platform_id"],"source"=>$param["source"],"apply_id"=>$this->uid,
+    	"apply_name"=>$this->uname];
+    	Db::name("platform_source")->save($data);
+    	$this->success("创建成功");
+    }
+    
+     public function platformSourceDelete(){
+    	$param=$this->request->param(['id'],'post','trim');
+    	$info =Db::name("platform_source")->findOrEmpty($param['id']);
+    	if(empty($info))$this->error("未找到数据");
+    	$info["is_del"]=1;
+    	$info["updatetime"]=date("Y-m-d H:i:s");
+    	Db::name('platform_source')->save($info);
+    	$this->success('删除成功');
+    }
 }

+ 4 - 96
app/admin/controller/Purch.php

@@ -64,12 +64,10 @@ class Purch extends Base
         }
         $good_name = isset($this->post['good_name']) && $this->post['good_name'] != "" ? trim($this->post['good_name']) : "";
         if ($good_name !== "") {
-            //$where['good_name'] = Db::raw(" like %{$good_name}%");
             $where[] = ['po.good_name', "like", "%{$good_name}%"];
         }
         $good_code = isset($this->post['good_code']) && $this->post['good_code'] != "" ? trim($this->post['good_code']) : "";
         if ($good_code !== "") {
-            // $where['good_code'] = Db::raw(" like %{$good_code}%");
             $where[] = ['po.spuCode', "like", "%{$good_code}%"];
         }
         $supplierNo = isset($this->post['supplierNo']) && $this->post['supplierNo'] != "" ? trim($this->post['supplierNo']) : "";
@@ -79,10 +77,6 @@ class Purch extends Base
         }
         $wsm_supplierNo = isset($this->post['wsm_supplierNo']) && $this->post['wsm_supplierNo'] != "" ? trim($this->post['wsm_supplierNo']) : "";
         if ($wsm_supplierNo !== "") {
-//            $supplier = Db::name("supplier")->where(["code"=>$wsm_supplierNo])->find();
-//            if(empty($supplier)){
-//                return error_show(1004,"未找到供应商信息");
-//            }
             $wsmcode = Db::name("warehouse_info")->where(["is_del" => 0, "supplierNo" => $wsm_supplierNo])->column("wsm_code");
             $where[] = ['po.wsm_code', "in", $wsmcode];
         }
@@ -118,36 +112,7 @@ class Purch extends Base
 
         $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']];
-////            $whereor[]=["sip.personid","=",$this->uid];
-//            $whereor[]=["sip.personid","in",$role['write']];//最后的筛选条件
-////            $whereor[]=["po.cgder_id","=",$this->uid];
-//        }
-//		$role = $this->checkDataShare();
-//        if (!empty($role[DataGroupModel::$type_全部])) $where[] = ["sip.personid", "in", $role[DataGroupModel::$type_全部]];
-
         $userCommon = \app\admin\common\User::getIns();
-
-        //只有level2的账号过滤数据权限
-//        if ($this->level == 2) {
-//            $role = $this->checkDataShare();
-//            $hand = resign_hand_user($this->uid, 0);
-//            if (!empty($role[DataGroupModel::$type_全部])) {
-//                $arr = array_unique(array_merge($hand, $role[DataGroupModel::$type_全部]));
-//
-//                $supplierNos = Db::connect('mysql_sys')
-//                    ->name('supplier')
-//                    ->where(['is_del' => 0, 'personid' => $arr])
-//                    ->column('code');
-//
-//                $where[] = ['po.supplierNo', 'in', $supplierNos];
-//            }
-//        }
-
-
         $company_name = isset($this->post['company_name']) && $this->post['company_name'] !== "" ? trim($this->post['company_name']) : "";
         if ($company_name !== "") $where[] = ["po.cgder_id", 'in', get_company_item_user_by_name($company_name)];
 
@@ -156,26 +121,19 @@ class Purch extends Base
 
         $order_source = isset($this->post['order_source']) && $this->post['order_source'] !== "" ? intval($this->post['order_source']) : "";
         if ($order_source !== "") $where[] = ["po.order_source", '=', $order_source];
-
-//        if(!empty($role['platform']) ){
-//            $where[]=["po.platform_id","in",$role['platform']];
-//        }
-
         $count = Db::name("purchease_order")
             ->alias('po')
             ->leftJoin('order_num on', 'on.cgdNo=po.cgdNo')
-            ->leftJoin("depart_user u", "u.uid=po.cgder_id AND u.is_del=0")
-//            ->leftJoin('supplier sip', 'sip.code=po.supplierNo')
+//            ->leftJoin("depart_user u", "u.uid=po.cgder_id AND u.is_del=0")
             ->where($where)
             ->where(function ($query) use ($where) {
                 $query->whereOr([['po.order_type', '<>', 1], ['po.order_source', '=', 0]]);
-            })->count();
+            })->count("po.id");
         $total = ceil($count / $size);
         $page = $page >= $total ? $total : $page;
         $list = Db::name("purchease_order")
             ->alias('po')
             ->leftJoin('order_num on', 'on.cgdNo=po.cgdNo')
-//            ->leftJoin('supplier sip', 'sip.code=po.supplierNo')
             ->field('po.*,on.orderCode,"" supplier_cgderid,"" supplier_cgder')
             ->where($where)
             ->where(function ($query) use ($where) {
@@ -232,24 +190,10 @@ 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")
-////                    ->where(["a.wsm_code"=>$value['wsm_code']])->field("a.name as wsm_name,b.name,b.code")->find();
-//                $value['wsm_name'] =isset($wsmcode['wsm_name']) ? $wsmcode['wsm_name']:"";
-//                $value['wsm_supplier'] =isset($wsmcode['name']) ? $wsmcode['name']:"";
-//                $value['wsm_supplierNo'] =isset($wsmcode['code']) ? $wsmcode['code']:"";
-//            }
-//			$supplierCgder =Db::name("supplier")->where(["code"=>$value['supplierNo']])->findOrEmpty();
-//            $value['supplier_cgderid'] = $supplierCgder['personid'] ??'';
-//            $value['supplier_cgder'] = $supplierCgder['person'] ??'';
-//            $cat_id = 0;
             if ($value['order_type'] == 3 || $value['order_type'] == 4) {
-//                $goon = Db::name("good_zixun")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
+
                 $value["speclist"] =isset($goon_3_4[$value['spuCode']])? json_decode
-                ($goon_3_4[$value['spuCode']]['specinfo'],true):'';//isset($goon['specinfo'])&&$goon['specinfo']!=""?
-                // json_decode($goon['specinfo'],true):"";
+                ($goon_3_4[$value['spuCode']]['specinfo'],true):'';
                 //为了格式统一,缺了一个spec_value
                 if ($value['speclist'] != '') {
                     foreach ($value['speclist'] as &$v) {
@@ -260,7 +204,6 @@ class Purch extends Base
                 $cat_id =isset($goon_3_4[$value['spuCode']])?  $goon_3_4[$value['spuCode']]['cat_id']:0;
 
             } else {
-//                $goon =Db::name('good_basic')->field('cat_id')->where(['spuCode'=>$value['spuCode']])->find();
                 $spec = Db::name("good_spec")->where(["spuCode" => $value['spuCode'], "is_del" => 0])->select()->toArray();
                 $speclist = [];
                 if (!empty($spec)) {
@@ -283,11 +226,6 @@ class Purch extends Base
 
             if (!isset($cat_temp[$cat_id])) $cat_temp[$cat_id] = made($cat_id);
             $value['can'] = $cat_temp[$cat_id];
-
-            //采购单详情字段order_type 为1或者2时,取线上商品库 商品创建人   order_type 为3或者4时 取采购反馈的商品库 商品反馈人
-//            $value['cgder_id'] = $goon['createrid'];
-//            $value['cgder'] = $goon['creater'];
-
             $inorder = Db::name("purchease_in")
                 ->where(['cgdNo' => $value['cgdNo'], "is_del" => 0])
                 ->select()
@@ -295,16 +233,8 @@ class Purch extends Base
             $value['child'] = empty($inorder) ? [] : $inorder;
             $value['send_num'] -= $value['th_num'];
             $value['total_fee'] = round($value['total_fee'] - $value['th_fee'], 2);
-            //补充orderCode
-//            $value['orderCode']=isset($all_orderCodes[$value['cgdNo']])?$all_orderCodes[$value['cgdNo']]:'';
             $value['company_name'] = $item[$value['cgder_id']] ?? '';
-
             $value['has_account'] = (int)isset($account[$value['supplierNo']]);
-
-            //是否具有编辑权限
-//            $value['is_allow_update'] = 0;
-//            if (in_array($this->roleid, [1, 33]) || in_array($value['cgder_id'], $role[DataGroupModel::$type_可编辑])) $value['is_allow_update'] = 1;
-
             $data[] = $value;
         }
         return app_show(0, "获取成功", ["list" => $data, "count" => $count]);
@@ -468,31 +398,9 @@ class Purch extends Base
 
         $data['company'] = '';
         if (isset($data['companyNo']) && $data['companyNo'] != "") {
-//            $company = Db::name("business")->where(["companyNo"=>$data['companyNo']])->find();
             $data['company'] = $tmp['data'][$data['companyNo']] ?? '';
         }
-        //$data['company'] = isset($company['company'])?$company['company']:"";
-        //$data['info'] = $var;
         $data['purcheaseback'] = $var;
-
-        //补充orderCode
-//        $data['orderCode'] = Db::name('order_num')
-//            ->where('cgdNo', $data['cgdNo'])
-//            ->value('orderCode', '');
-
-//        //补充收货地址
-//        $addr = Db::name('order_addr')
-//            ->field('id,addr,addr_code,contactor,mobile,receipt_quantity')
-//            ->where(['orderCode' => $data['orderCode'], 'is_del' => 0])
-//            ->select()
-//            ->toArray();
-//        if (!empty($addr)) {
-//             foreach ($addr as &$vv){
-//                $temp = explode(',', $vv['addr_code']);
-//                $temp_ = GetAddr(json_encode(['provice_code' => isset($temp[0]) ? $temp[0] : '', 'city_code' => isset($temp[1]) ? $temp[1] : '', 'area_code' => isset($temp[2]) ? $temp[2] : '']));
-//                $vv['addr_code'] = $temp_ . $vv['addr'];
-//            }
-//        }else
         $addr = [];
         $data['addr_info'] = $addr;
 

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

@@ -1215,14 +1215,6 @@ class Purchin extends Base
                         ActionLog::logAdd(['id'=>$this->uid,'nickname'=>$this->uname],$order,"CGD", $cgdinfo['status'],$cgdinfo);
 
                         if($cgdinfo['status']==1  || $cgdinfo['status']==2){
-//                            $orderinfo = Db::name('sale')
-//                                ->alias('a')
-//                                ->field('a.id,a.orderCode,a.is_stock,a.order_type,a.cgderid')
-//                                ->leftJoin('order_num b','b.orderCode=a.orderCode')
-//                                ->where([
-//                                    'a.is_del'=>0,
-//                                    'b.cgdNo'=>$cgdinfo['cgdNo'],
-//                                ])->findOrEmpty();
                             $is_stock = Db::name('good_basic')
                                 ->where(['is_del'=>0,'spuCode'=>$cgdinfo['spuCode']])
                                 ->value('is_stock');
@@ -1255,11 +1247,6 @@ class Purchin extends Base
                     }
                 }
                 if($status==1){
-//                    $cgdinfo=Db::name("purchease_order")->where(['cgdNo'=>$info['cgdNo'],"is_del"=>0])->find();
-//                    if(empty($cgdinfo)){
-//                        Db::rollback();
-//                        return error_show(1002,"未找到采购单数据");
-//                    }
                     $order = ["order_code"=>$info['cgdNo'],"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
                     $cgdinfo['wsend_num']-=$info['send_num'];
                     $cgdinfo['send_num']+=$info['send_num'];
@@ -1269,18 +1256,7 @@ class Purchin extends Base
                     $up=Db::name("purchease_order")->save($cgdinfo);
                     if($up){
                         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){
-//                            $orderinfo = Db::name('sale')
-//                                ->alias('a')
-//                                ->field('a.id,a.orderCode,a.is_stock,a.order_type,a.cgderid')
-//                                ->leftJoin('order_num b','b.orderCode=a.orderCode')
-//                                ->where([
-//                                    'a.is_del'=>0,
-//                                    'b.cgdNo'=>$cgdinfo['cgdNo'],
-//                                ])->findOrEmpty();
                             $is_stock = Db::name('good_basic')
                                 ->where(['is_del'=>0,'spuCode'=>$cgdinfo['spuCode']])
                                 ->value('is_stock');
@@ -1309,11 +1285,6 @@ class Purchin extends Base
                     }
                 }
                 if($status==4){
-//                    $cgdinfo=Db::name("purchease_order")->where(['cgdNo'=>$info['cgdNo'],"is_del"=>0])->find();
-//                    if(empty($cgdinfo)){
-//                        Db::rollback();
-//                        return error_show(1002,"未找到采购单数据");
-//                    }
                     $order = ["order_code"=>$info['cgdNo'],"status"=>$cgdinfo['status'],"action_remark"=>'',"action_type"=>"edit"];
                     $cgdinfo['wsend_num']-=$info['send_num'];
                     $cgdinfo['send_num']+=$info['send_num'];
@@ -1326,16 +1297,7 @@ class Purchin extends Base
                         return error_show(1002,"发货失败");
                     }
                     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){
-//                        $orderinfo = Db::name('sale')
-//                            ->alias('a')
-//                            ->field('a.id,a.orderCode,a.is_stock,a.order_type,a.cgderid')
-//                            ->leftJoin('order_num b','b.orderCode=a.orderCode')
-//                            ->where([
-//                                'a.is_del'=>0,
-//                                'b.cgdNo'=>$cgdinfo['cgdNo'],
-//                            ])->findOrEmpty();
                         $is_stock = Db::name('good_basic')
                             ->where(['is_del'=>0,'spuCode'=>$cgdinfo['spuCode']])
                             ->value('is_stock');
@@ -1348,9 +1310,7 @@ class Purchin extends Base
                                     ['status', '=', 1]
                                 ])->column('uid');
                             if(!in_array($this->uid,$uid)) throw new Exception('库存品订单只能由库管人员操作');
-//                            $holder_id = implode(",",$uid);
-//                            $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),'handle_user_list'=>implode(',', $uid)];
-                        }else{
+               }else{
                             if($this->uid != $holder_id)throw new Exception('非库存品和采返商品只能由供应商负责人操作');
 //                            $process=["order_code"=>$info['cgdNo'],"order_id"=>$cgdinfo['id'],"order_status"=>$cgdinfo['status'],"order_type"=>'CGD',"before_status"=>$order['status'],'holder_id'=>$holder_id,'handle_user_list'=>$holder_id];
                         }//非库存品和采返商品,推给供应商负责人
@@ -1385,14 +1345,22 @@ class Purchin extends Base
                     $stockid=$good['id']?? Db::name("good_stock")->getLastInsID();
                     //商品变动日志表,good_log_code字段存储入库单编号
                     $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"];
+                    $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"];
                     if($upd){
                     	$bnin=GoodStockInfo::AddBn($stockid,$info['bnCode'],$info['wsm_num'],$cgdinfo['good_price']);
                     	if($bnin==false){
                     		Db::rollback();
                             return error_show(1004,"库存bn数据新增失败");
                     	}
+                    	 if($cgdinfo['order_type']==1){
+                            //商品表里的'可用总库存数'增加
+                            Db::name('good')
+                                ->data(['updatetime' => date('Y-m-d H:i:s')])
+                                ->where(['is_del' => 0, 'spuCode' => $cgdinfo['spuCode']])
+                                ->inc('usable_stock', $info['wsm_num'])
+                                ->update();
+                        }                     //商品表里的'可用总库存数'增加
+                       
                         GoodLog::LogAdd(['id'=>$this->uid,'nickname'=>$this->uname],$good_data,'RKD');
                         Db::commit();
                         return app_show(0,'商品入库成功');

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

@@ -56,7 +56,7 @@ class Reorder extends Base
         if (empty($supplier)) return json_show(1005, "未找到商品供应商数据");
 		$fininfo =GetFin("admin/orderischeck",["token"=>$this->post['token'],"orderCode"=>$ordeCode]);
 		if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-			return json_show(1005, $fininfo['message']??"结算校验失败");
+			return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 		}
 
         $errorCode = isset($this->post['errorCode']) && $this->post['errorCode'] != '' ? trim($this->post['errorCode']) : "";
@@ -861,7 +861,7 @@ class Reorder extends Base
         if (in_array($info['status'], [9, 10]) && $param['status'] == 4) $info['is_th'] = 1;//除了8-11-12-4之外,其余9-4和10-4都属于供应商同意退货
 		$fininfo =GetFin("admin/orderischeck",["token"=>$this->post['token'],"orderCode"=>$info["orderCode"],"isCgd"=>$info['is_th']]);
 		if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-			return json_show(1005, $fininfo['message']??"结算校验失败");
+			return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 		}
         Db::startTrans();
         try {
@@ -1326,7 +1326,7 @@ class Reorder extends Base
 
         $fininfo =GetFin("admin/orderischeck",["token"=>$this->post['token'],"orderCode"=>$orderCode]);
 		if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-			return json_show(1005, $fininfo['message']??"结算校验失败");
+			return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 		}
         $order = Db::name("sale")->where(["orderCode" => $orderCode, "is_del" => 0])->find();
         if (empty($order)) {

+ 79 - 30
app/admin/controller/Sale.php

@@ -4,7 +4,7 @@ namespace app\admin\controller;
 
 use app\abutment\model\SupplierRelationUser;
 use app\abutment\model\SupplierUser;
-use app\admin\model\CgdPrice;use app\admin\model\DataGroup as DataGroupModel;
+use app\admin\model\CgdPrice;use app\admin\model\ConsultTemp;use app\admin\model\DataGroup as DataGroupModel;
 use app\admin\model\GoodLog;
 use app\admin\model\GoodPlatform;use app\admin\model\GoodStockInfo;
 use app\admin\model\OrderOutChild;use app\admin\model\ProcessOrder;
@@ -105,20 +105,18 @@ class Sale extends Base
                 return error_show(1002, "参数act_code不能为空");
             }
         }
+           $origin = Db::name('good_nake')->where([['spuCode', '=', $spuCode], ['min_num', '<=', $good_num], ['is_del', '=', 0]])->order('min_num desc')->find();
+           if ($origin == false) {
+              return error_show(1003, '未找到相关阶梯成本价格');
+           }
+           $origin_price = $origin['nake_total'];
+           $cgd_origin_price = $origin['supplier_origin_price'];
         if ($goodinfo['is_stock'] == 1) {
            $stock_num = Db::name("good")->where(["spuCode"=> $spuCode])->value("usable_stock",0);
             if($stock_num < $good_num){
                 return error_show(1003, "商品可用库存数量不足");
             }
             $origin_price = 0;
-        } else {
-            if ($is_activity == 0) {
-                $origin = Db::name("good_nake")->where([["spuCode", "=", $spuCode], ["min_num", "<=", $good_num], ["is_del", "=", 0]])->order("min_num desc")->find();
-                if ($origin == false) {
-                    return error_show(1003, "未找到相关阶梯成本价格");
-                }
-                $origin_price = $origin['nake_total'];
-            }
         }
 
         $sale_price = isset($this->post['good_price']) && $this->post['good_price'] !== "" ? floatval($this->post['good_price']) : '';
@@ -193,7 +191,7 @@ class Sale extends Base
             'send_way' => 2,
             'good_createrid' => $goodinfo['createrid'],
             'good_creater' => $goodinfo['creater'],//商品创建人
-             'supplier_origin_price'=>$goodinfo['supplier_origin_price'],//供应商采购成本
+             'supplier_origin_price'=>$cgd_origin_price,//供应商采购成本
 	        'cgd_supplier_code'=>$goodinfo['cgd_supplier_code'],//采购供应商编号
 	        'cgd_supplier_name'=>$goodinfo['cgd_supplier_name'],//采购供应商编号
 	        'cgd_apply_id'=>$goodinfo['cgd_apply_id'],//竞单人
@@ -332,6 +330,7 @@ class Sale extends Base
                         } else {
                             $addr = isset($value['addr_code']) ? $value['addr_code'] : '';
                         }
+                        if($value['receipt_quantity']<=0) throw new Exception('地址发货数量不能小于1');
                         $temp['orderCode'] = $orderCode;
                         $temp['contactor'] = $value['contactor'];
                         $temp['mobile'] = $value['mobile'];
@@ -699,6 +698,7 @@ class Sale extends Base
                 } else {
                     $addr = isset($value['addr_code']) && $value['addr_code'] !== '' ? $value['addr_code'] : '';
                 }
+                if($value['receipt_quantity']<=0) throw new Exception('地址发货数量不能小于1');
                 $temp['orderCode'] = $orderCode;
                 $temp['contactor'] = $value['contactor'];
                 $temp['mobile'] = $value['mobile'];
@@ -1147,6 +1147,7 @@ class Sale extends Base
                     "companyNo" => $companyNo,
                     "companyName" =>$companyinfo['data'][$companyNo]??"",
                     "status" => 1,
+                    "is_combind" => $zxinfo['is_combind'],
                     "is_del" => 0,
                     'order_type' => 3,
                     'order_source' => 2,
@@ -1164,6 +1165,29 @@ class Sale extends Base
                     Db::rollback();
                     return error_show(1006, "咨询商品录入失败");
                 }
+                
+                if($zxinfo['is_combind']==1){
+                	$marage=[
+                		"parent_code"=>$zxinfo['spuCode'],
+                		"parent_name"=>$zxinfo['good_name'],
+                		'order_type' => 3,
+                		 'order_source' => 2,
+                		 'good_type' => 0,
+                            'moq' => 1,
+                            'good_thumb_img' => '',
+	                    'good_info_img' => '',
+		                    "is_auth" => 0,
+		                    'good_remark' => '',
+                		 'createrid' => $zxinfo['createrid'],
+	                    'creater' => $zxinfo['creater'],
+	                    'order_createrid' => $this->uid,
+	                    'order_creater' =>  $this->uname,
+	                    'proof_type' => $proof_type,//凭证类型
+	                    'proof_url' => $proof_url,//凭证文件
+	                     'platform_id' => $zxorder['platform_id'],
+                		];
+                	(new ConsultTemp())->CreateGood($zxinfo['bidNo'],$marage);
+                }
                 if (!empty($va)) {
                     $order = Db::name("order_num")->where(["orderCode" => $orderCode, "status" => 1])->where([["wsend_num", ">=", 0]])
                         ->find();
@@ -1183,6 +1207,8 @@ class Sale extends Base
                         } else {
                             $addr = isset($value['addr_code']) ? $value['addr_code'] : '';
                         }
+                        
+                        if($value['receipt_quantity']<=0) throw new Exception("地址发货数量不能小于1");
                         $temp['orderCode'] = $orderCode;
                         $temp['contactor'] = $value['contactor'];
                         $temp['mobile'] = $value['mobile'];
@@ -1708,6 +1734,26 @@ class Sale extends Base
             if (!$good) {
                 throw new Exception("咨询商品录入失败");
             }
+            if($goodinfo['is_combind']==1){
+                	$marage=[
+                		'parent_code'=>$goodinfo['spuCode'],
+                		'parent_name'=>$goodinfo['good_name'],
+                		'order_type' => 3,
+                		 'order_source' =>3,
+                		 'good_type' => 0,
+                            'moq' => 1,
+                            'good_thumb_img' => '',
+	                    '   good_info_img' => '',
+		                    'is_auth' => 0,
+		                    'good_remark' => '',
+                		 'createrid' => $goodinfo['createrid'],
+	                    'creater' => $goodinfo['creater'],
+	                     'order_createrid' => $data['rm'],
+                        'order_creater' => $data['ri'],
+	                     'platform_id' => $zxorder['platform_id'],
+                		];
+                	(new ConsultTemp())->CreateGood($goodinfo['bidNo'],$marage);
+                }
             if ($data['sendtype'] == 1 && !empty($data['addrlist'])) {
                 $order = Db::name("order_num")->where(["orderCode" => $orderCode, "status" => 1])
                     ->find();
@@ -1726,6 +1772,7 @@ class Sale extends Base
                     } else {
                         $addr = isset($value['addr_code']) ? $value['addr_code'] : '';
                     }
+                    if($value['receipt_quantity']<=0) throw new Exception('地址发货数量不能小于1');
                     $temp['orderCode'] = $orderCode;
                     $temp['contactor'] = $value['contactor'];
                     $temp['mobile'] = $value['mobile'];
@@ -1837,16 +1884,14 @@ class Sale extends Base
             throw new Exception("商品售价信息未找到");
         }
         $sale_price = $goodlass['sale_price'];
-        $origin_price = 0;
-        if ($good['is_stock'] == 0) {
-            $origin = Db::name("good_nake")->where([["spuCode", "=", $data['spuCode']], ["min_num", "<=", $data['good_num']],
-                ["is_del", "=", 0]])->order("min_num desc")->find();
-            if ($origin == false) {
-//                return 4;//商品信息未找到
-                throw new Exception("商品成本售价信息未找到");
-            }
-            $origin_price = $origin['nake_total'];
+        $origin = Db::name('good_nake')->where([['spuCode', '=', $data['spuCode']], ['min_num', '<=', $data['good_num']],
+                ['is_del', '=', 0]])->order('min_num desc')->find();
+        if ($origin == false) {
+                throw new Exception('商品成本售价信息未找到');
         }
+         $origin_price = $good['is_stock'] == 0?$origin['nake_total']:0;
+         $cgd_origin_price = $origin['supplier_origin_price'];
+        
         if ($good['is_gold_price'] == 1 && $good['is_stock'] == 0) {
             $gold = Db::name("gold_price1")
                 ->field('id,price')
@@ -1968,7 +2013,7 @@ class Sale extends Base
                 'send_way' => 2,
                 'good_createrid' => $good['createrid'],
                 'good_creater' => $good['creater'],//商品创建人
-                 'supplier_origin_price'=>$good['supplier_origin_price'],//供应商采购成本
+                 'supplier_origin_price'=>$cgd_origin_price,//供应商采购成本
 		        'cgd_supplier_code'=>$good['cgd_supplier_code'],//采购供应商编号
 		        'cgd_supplier_name'=>$good['cgd_supplier_name'],//采购供应商编号
 		        'cgd_apply_id'=>$good['cgd_apply_id'],//竞单人
@@ -2007,6 +2052,7 @@ class Sale extends Base
                     } else {
                         $addr = isset($value['addr_code']) ? $value['addr_code'] : '';
                     }
+                     if($value['receipt_quantity']<=0) throw new Exception('地址发货数量不能小于1');
                     $temp['orderCode'] = $orderCode;
                     $temp['contactor'] = $value['contactor'];
                     $temp['mobile'] = $value['mobile'];
@@ -2194,7 +2240,6 @@ class Sale extends Base
 
         $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];
-        
         $count = Db::name('sale')
             ->alias('s')
             ->leftJoin('order_num b','b.orderCode=s.orderCode')
@@ -5205,7 +5250,7 @@ class Sale extends Base
 
         $list = Db::name('sale')
             ->alias('a')
-            ->field('a.id sale_id,a.good_code,a.platform_order,a.good_name,a.wsend_num,a.total_price,a.order_type,
+            ->field('a.id sale_id,a.good_code,a.platform_order,a.good_name,a.wsend_num,a.good_num,a.total_price,a.order_type,
             a.status sale_status,a.orderCode,a.cat_id,a.good_createrid,c.id cgd_id,c.status cgd_status,c.cgdNo,c.cgder_id,
             a.addtime,c.wsm_code,a.order_source,a.other_orderNo')
             ->leftJoin('order_num b', 'b.orderCode=a.orderCode')
@@ -5297,7 +5342,9 @@ class Sale extends Base
 
 					}
                     SaleCgdPrice::RePrice($sale['sale_id'],$sale['wsend_num']);
-                }else{
+                }
+                else{
+                	  if ($sale['order_source'] != 9){
                 	$good = Db::name('good_stock')->where(['spuCode' => $sale['good_code'],'wsm_code'=>$sale['wsm_code']])
                 		->findOrEmpty();
 	                if (empty($good)) throw new Exception('未找到商品信息');
@@ -5310,7 +5357,7 @@ class Sale extends Base
                 	
                 	if($sale['cgd_status']==3){
                 		$wait_out= Db::name('order_out_child')
-		                ->where(['is_del' => 0, 'orderCode' => $sale['orderCode'],"status"=>1])
+		                ->where(['is_del' => 0, 'orderCode' => $sale['orderCode'],'status'=>1])
 		                ->sum('num');
                 		$usable = $sale['wsend_num'] - intval($wait_out);
                 		if($usable>0){
@@ -5321,6 +5368,8 @@ class Sale extends Base
 		                }
                 	}
                 }
+                }
+              
                 if($sale['order_type'] == 4){
                     $fill =Db::name("filing")->where(["filingCode"=>$sale["platform_order"]])->findOrEmpty();
                     if(empty($fill)) throw new Exception($sale['orderCode'] . '未找到对应得报备单');
@@ -5347,8 +5396,7 @@ class Sale extends Base
                                             'wait_name'=>0,
                                         ]);
                 }
-                
-                 if($sale['order_source'] == 11){
+                if($sale['order_source'] == 11){
                     $fill =(new BbcFill())->where(['fillCode'=>$sale['other_orderNo']])->findOrEmpty();
                     if($fill->isEmpty()) throw new Exception($sale['orderCode'] . '未找到对应得业务报备单');
                     if($fill->transfer_num <$sale['wsend_num'])throw new Exception($sale['orderCode'] . '对应得业务报备单已转单数量不足');
@@ -5359,12 +5407,13 @@ class Sale extends Base
                 }
 				 $fininfo =GetFin("admin/orderischeck",["token"=>$this->post['token'],"orderCode"=>$sale['orderCode'], "isCgd"=>1]);
 				if(!isset($fininfo['code'])||$fininfo['code']!=0 ){
-					throw new Exception($fininfo['message']??"结算校验失败");
+					Db::rollback();
+					return json_show(10005, $fininfo['message']??'结算校验失败',$fininfo['data']??[]);
 				}
 				$thtemp=[
 					"orderCode"=>$sale["orderCode"],
 					"th_type"=>4,//取消订单
-					"th_num"=>$sale["wsend_num"],
+					"th_num"=>$sale["good_num"],
 					"th_fee"=>$sale["total_price"],
 					"thCode"=>$sale["orderCode"],
 					"cat_id"=>$sale["cat_id"],
@@ -5415,9 +5464,9 @@ class Sale extends Base
                 ->where(['is_del' => 0, 'id' => array_column($list, 'sale_id')])
                 ->update([
                 	'status' => 3,
-                	'th_num' => Db::raw("wsend_num"),
+                	'th_num' => Db::raw("good_num"),
                 	'th_fee' =>Db::raw("total_price"),
-                	'send_num' =>Db::raw("wsend_num"),
+                	'send_num' =>Db::raw("good_num"),
                 	'wsend_num' =>0,
                 	'send_status' =>3,
                 	'updatetime' => $date

+ 2 - 2
app/admin/controller/SaleReport.php

@@ -1548,7 +1548,7 @@ class SaleReport extends Base
             thd.addtime return_time,thd.thCode,"" outCode,"" status,s.apply_name,s.apply_id apply_company,thd.orderCode,s.addtime,s.customerName companyName,s.good_name,s.sale_price,s.wsend_num,thd.th_num,thd.th_fee,"" contactor,"" mobile,"" addr,"" result')
             ->leftJoin('sale s', 's.orderCode=thd.orderCode')
             ->where($where)
-            ->limit($param['page'],$param['size'])
+            ->page($param['page'],$param['size'])
             ->order('thd.addtime', 'desc')
             ->select()
             ->toArray();
@@ -2424,7 +2424,7 @@ class SaleReport extends Base
         $data = Db::name('sale')
             ->alias('a')
             ->field("a.orderCode 订单编号,a.order_type 订单类型,
-            a.good_code 商品成本编码,a.skuCode 商品上线编码,a.good_name 商品名称,
+            a.good_code 商品成本编码,a.skuCode 商品上线编码,a.good_name 商品名称,a.supplierName 业务公司,a.sale_price 商品单价,
             a.good_num 购买数量,a.send_num 已发货数量,a.wsend_num 未发货数量,a.status 订单状态,
             a.apply_name 申请人名称,a.apply_id 申请人所属部门, 
             a.good_num-a.th_num - IFNULL((select sum(receipt_quantity) from wsm_order_addr where orderCode=a.orderCode and is_del=0),0) 无地址数量,

+ 0 - 14
app/admin/controller/User.php

@@ -412,20 +412,6 @@ class User extends Base
             } else $post['nuid'] = $uid;
             unset($post['status']);
         }
-//        if ($post["islevel"] != "") {
-//            $uid = Db::name("user_role")
-//                ->alias("a")
-//                ->leftJoin("role b", "a.roleid=b.id")
-//                ->where([["b.level", "=", 1], ["a.is_del", "=", 0]])
-//                ->where($where)
-//                ->column("uid");
-//            if ($post['islevel'] == 1) $post['uid'] = $uid;
-//             else $post['nuid'] = $uid;
-//
-//            unset($post["islevel"]);
-//        }
-//    	var_dump($post);
-//        $userinfo=GetUserList($post);
         $userCommon = CommonUser::getIns();
         $userinfo = $userCommon->GetList($post);
         $userinfo = json_decode($userinfo, true);

+ 3 - 1
app/admin/model/CgdCaixiao.php

@@ -10,5 +10,7 @@ use think\Model;
  */
 class CgdCaixiao extends Model
 {
-    //
+    public function OriginCgd(){
+    	return $this->belongsTo(OriginCgd::class,"cgdNo","newCode")->bind(["mainCode"=>"oldCode"]);
+    }
 }

+ 1 - 0
app/admin/model/CombindStock.php

@@ -48,6 +48,7 @@ class CombindStock extends Model
         }
          return  $speclist;
    }
+   
    public function  getCatInfoAttr($v,$row){
         return made($row['cat_id']);
    }

+ 30 - 0
app/admin/model/CompanyCatProfit.php

@@ -0,0 +1,30 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class CompanyCatProfit extends Model
+{
+    public function GetRate($companyNo,$cat_id,$field){
+        $rate=$this->where(["companyNo"=>$companyNo,"cat_id"=>$cat_id])->value($field,0);
+        if($rate==0){
+        	$parent = $this->name("cat")->where(["id"=>$cat_id])->value("pid",0);
+        	if($parent>0)$rate=$this->GetRate($companyNo,$parent,$field);
+        }
+        return $rate;
+    }
+    
+     public function GetAllRate($companyNo,$cat_id){
+        $rate=$this->where(['companyNo'=>$companyNo,'cat_id'=>$cat_id])->findOrEmpty();
+        if($rate->isEmpty()){
+        	$parent = $this->name('cat')->where(['id'=>$cat_id])->value('pid',0);
+        	if($parent>0)$rate=$this->GetAllRate($companyNo,$parent);
+        }
+        return $rate;
+    }
+}

+ 30 - 0
app/admin/model/CompanyPlatformCatProfit.php

@@ -0,0 +1,30 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class CompanyPlatformCatProfit extends Model
+{
+    public function GetRate($companyNo,$cat_id,$platform,$field){
+        $rate=$this->where(['companyNo'=>$companyNo,'cat_id'=>$cat_id,'platform_id'=>$platform])->value($field,0);
+        if($rate==0){
+        	$parent = $this->name('cat')->where(['id'=>$cat_id])->value('pid',0);
+        	if($parent>0)$rate=$this->GetRate($companyNo,$parent,$platform,$field);
+        }
+        return $rate;
+    }
+    
+     public function GetAllRate($companyNo,$cat_id,$platform){
+        $rate=$this->where(['companyNo'=>$companyNo,'cat_id'=>$cat_id,'platform_id'=>$platform])->findOrEmpty();
+        if($rate->isEmpty()){
+        	$parent = $this->name('cat')->where(['id'=>$cat_id])->value('pid',0);
+        	if($parent>0)$rate=$this->GetAllRate($companyNo,$parent,$platform);
+        }
+        return $rate;
+    }
+}

+ 92 - 0
app/admin/model/ConsultTemp.php

@@ -0,0 +1,92 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;use think\model\concern\SoftDelete;
+
+/**
+ * @mixin \think\Model
+ */
+class ConsultTemp extends Model
+{
+	use SoftDelete;
+	protected $createTime="addtime";
+	protected $updateTime="updatetime";
+	protected $deleteTime = 'delete_time';
+	
+    public function CreateByZx($list,$merage){
+        foreach ($list as $key=>&$item){
+        	isset($item['id'])?:$item['id']=null;
+        	if(isset($item['spuCode'])==false){
+        		$item['spuCode']= substr(makeNo("SPU"), 0, -2) . str_pad(strval($key), 2, '0', STR_PAD_LEFT);
+        	}
+        	if(empty($item['specinfo'])==false){
+        		foreach ($item['specinfo'] as &$v){
+        			$v['spec_name'] = Specs::where("id",$v['spec_id'])->value("spec_name",'');
+        			$v['spec_value_name'] = SpecValue::where("id",$v['spec_value_id'])->value("spec_value",'');
+        		}
+        	}
+        	$item = array_merge($item,$merage);
+        }
+        self::saveAll($list);
+    }
+    
+   public function Brand(){
+    	return $this->belongsTo(Brand::class,"brand_id")->bind(["brand_name"]);
+   }
+   
+   public function Unit(){
+    	return $this->belongsTo(Unit::class,'unit_id')->bind(['unit_name'=>"unit"]);
+   }
+   
+   public function Cat(){
+    	return $this->belongsTo(Cat::class,'cat_id')->bind(["cat_name"=>'search']);
+   }
+   
+    public function GetSpecinfoAttr($v){
+    	return json_decode($v,true);
+    }
+    
+    public function SetSpecinfoAttr($v){
+        	return json_encode($v,JSON_UNESCAPED_UNICODE);
+    }
+    
+    public function GetGoodImgAttr($v){
+        	return json_decode($v,true);
+        }
+        
+    public function SetGoodImgAttr($v){
+            	return json_encode($v,JSON_UNESCAPED_UNICODE);
+    }
+    
+    
+    public function CreateGood($bidNo,$marage){
+      $list =$this->where(["bidNo"=>$bidNo])->hidden(["id"])->select();
+      if($list->isEmpty()==false){
+      	    $addGood=[];
+      	    $combind =[];
+            foreach ($list as $item){
+            	$item['good_unit'] = $item['unit_id'];
+            	$item['specinfo'] = json_encode($item['specinfo'],JSON_UNESCAPED_UNICODE);
+            	$item['good_img'] = implode(",",$item['good_img']);
+            	$item['customized'] = $item['work_day'];
+            	$item['craft_desc'] = $item['good_name'];
+            	$item['noble_metal'] = $item['metal_id'];
+            	$item['isChild'] = 1;
+            	$item['creater'] = $item['cgder'];
+            	$item['createrid'] = $item['cgderid'];
+                $addGood[]  = array_merge($item->toArray(),$marage);
+                $combind[]=[
+                	"spuCode"=>$marage["parent_code"],
+                	"good_name"=>$marage["parent_name"],
+                	"childCode"=>$item["spuCode"],
+                	"child_name"=>$item["good_name"],
+                	"child_num"=>$item["good_num"],
+                	];
+            }
+            if(empty($addGood)==false)(new GoodZixun())->strict(false)->insertAll($addGood);
+            if(empty($combind)==false)(new GoodCombind())->insertAll($combind);
+      }
+    }
+}

+ 9 - 1
app/admin/model/GoodCombind.php

@@ -15,11 +15,19 @@ class GoodCombind extends Model
 	protected $append=["usable_stock"];
 	  // 定义全局的查询范围
     protected $globalScope = ['is_del'];
-
+    
+    
     public function scopeIsDel($query)
     {
         $query->where('is_del',0);
     }
+    
+    public function GoodZx(){
+    	return $this->belongsTo(GoodZixun::class,"childCode","spuCode");
+    }
+    public function GoodBasic(){
+    	return $this->belongsTo(GoodBasic::class,'childCode','spuCode');
+    }
 	public function getUsableStockAttr($v,$row){
 		return (new GoodStock())->withJoin(['wsminfo'] , 'left')
 		                 ->where(['spuCode'=>$row['childCode'] , 'wsm_type'=>[2 , 5]])

+ 14 - 0
app/admin/model/OrderUse.php

@@ -0,0 +1,14 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class OrderUse extends Model
+{
+    //
+}

+ 14 - 0
app/admin/model/OriginCgd.php

@@ -0,0 +1,14 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class OriginCgd extends Model
+{
+    //
+}

+ 14 - 0
app/admin/model/SpecValue.php

@@ -0,0 +1,14 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class SpecValue extends Model
+{
+    //
+}

+ 14 - 0
app/admin/model/Specs.php

@@ -0,0 +1,14 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class Specs extends Model
+{
+    //
+}

+ 14 - 0
app/admin/model/StandingBook.php

@@ -0,0 +1,14 @@
+<?php
+declare (strict_types = 1);
+
+namespace app\admin\model;
+
+use think\Model;
+
+/**
+ * @mixin \think\Model
+ */
+class StandingBook extends Model
+{
+    //
+}

+ 2 - 2
app/admin/route/app.php

@@ -90,7 +90,6 @@ Route::rule('Resigninfostatu', 'admin/Resigninfo/statu');//离职交接单审核
 
 Route::rule('Consultlist', 'admin/Consult/list');
 Route::rule('Consultinfo', 'admin/Consult/info');
-Route::rule('Consultdel', 'admin/Consult/del');
 
 Route::rule('infolist', 'admin/Listcustomer/list');
 
@@ -200,6 +199,7 @@ Route::rule("goodstatus", "admin/Good/SetStatus");
 Route::rule("goodstat", "admin/Good/Stat");//库存概况
 Route::rule("goodstock", "admin/Good/GetStock");
 Route::rule("goodall", "admin/Good/all");
+Route::rule("getCombind", "admin/Good/getCombind");
 Route::rule("getstockgod", "admin/Good/GetStockGod");//库存统计
 Route::rule("getstockwsm", "admin/Good/GetStockWsm");//库存统计
 Route::rule("getstockwsmchild", "admin/Good/GetStockWsmChild");//库存统计-明细
@@ -484,7 +484,7 @@ Route::rule('ocrquery', 'admin/Ocrlicense/query');
 
 Route::rule('consultlists', 'admin/Consult/conlist');
 Route::rule('consultinfo', 'admin/Consult/info');
-Route::rule('consultdel', 'admin/Consult/del');
+Route::rule('consultdel', 'admin/Consult/delete');
 Route::rule('consultcreate', 'admin/Consult/create');
 Route::rule('consultzxadd', 'admin/Consult/zxadd');
 Route::rule('consultzxinfo', 'admin/Consult/zxinfo');

+ 1 - 6
app/command/ExecByRelaComNoHandle.php

@@ -117,10 +117,7 @@ class ExecByRelaComNoHandle extends Command
                         'expiretime' => date('Y-m-d H:i:s', strtotime('+7 day')),
                         'remark' => ''
                     ]);
-
-                //$output->writeln('【' . $info['id'] . '】该预约记录处理成功');
-
-            } //else  $output->writeln('没有可供处理的报表预约记录');
+            }
 
         } catch (Exception $exception) {
             Db::name('exec_rela_com_no')
@@ -132,8 +129,6 @@ class ExecByRelaComNoHandle extends Command
                     'expiretime' => date('Y-m-d H:i:s', strtotime('+7 day')),
                     'remark' => $exception->getMessage()
                 ]);
-
-            //$output->writeln($exception->getMessage() . '|' . $exception->getFile() . '|' . $exception->getLine());
         }
 
     }

+ 19 - 12
app/command/ImportOrderFromCHandleData.php

@@ -118,19 +118,18 @@ class ImportOrderFromCHandleData extends Command
                 $spuCode = $ct['spuCode'];
                 $skuCode = $ct['skuCode'];
                 $is_activity = empty($extend_data['activity_name']) ? 0 : 1;
-
+                $origin = Db::name('good_nake')
+                        ->where([['spuCode', '=', $spuCode], ['min_num', '<=', $good_num], ['is_del', '=', 0]])
+                        ->order('min_num desc')
+                        ->find();
+                if ($origin == false) throw new \Exception('未找到相关成本价格');
+                $origin_price = $goodinfo['is_stock'] == 1?0:$origin['nake_total'];
+                $cgd_origin_price = $origin['supplier_origin_price'];
                 if ($goodinfo['is_stock'] == 1) {
                     if ($ct['usable_stock'] < $good_num) {
                         throw new \Exception('商品库存数量不足');
                     }
-                    $origin_price = 0;
-                } else {
-                    $origin = Db::name("good_nake")
-                        ->where([["spuCode", "=", $spuCode], ["min_num", "<=", $good_num], ["is_del", "=", 0]])
-                        ->order("min_num desc")
-                        ->find();
-                    if ($origin == false) throw new \Exception('未找到相关成本价格');
-                    $origin_price = $origin['nake_total'];
+                    
                 }
 
                 $sale_price = $extend_data['price'];
@@ -211,15 +210,18 @@ class ImportOrderFromCHandleData extends Command
                     'gold_price' => $ct['cgd_gold_price'],
                     'good_createrid' => $goodinfo['createrid'],
                     'good_creater' => $goodinfo['creater'],//商品创建人
-                    "weight" => $ct['noble_weight']
+                    "weight" => $ct['noble_weight'],
+                    'supplier_origin_price'=>$cgd_origin_price,//供应商采购成本
+			        'cgd_supplier_code'=>$goodinfo['cgd_supplier_code'],//采购供应商编号
+			        'cgd_supplier_name'=>$goodinfo['cgd_supplier_name'],//采购供应商编号
+			        'cgd_apply_id'=>$goodinfo['cgd_apply_id'],//竞单人
+			        'cgd_apply_name'=>$goodinfo['cgd_apply_name'],//竞单人
                 ];
 
                 $send_num = $extend_data['num'];
                 $remark = $extend_data['order_remark'];
                 $rm = $c_data['createrid'];
                 $ri = $c_data['creater'];
-
-
                 $data = [
                     "orderCode" => $orderCode,
                     "good_code" => $spuCode,
@@ -557,6 +559,11 @@ class ImportOrderFromCHandleData extends Command
             "order_source" => $data['order_source'],
             "good_type" => $data['good_type'],
             "addtime" => date("Y-m-d H:i:s"),
+            'supplier_origin_price'=>$data["supplier_origin_price"],//供应商采购成本
+	        'cgd_supplier_code'=>$data['cgd_supplier_code'],//采购供应商编号
+	        'cgd_supplier_name'=>$data['cgd_supplier_name'],//采购供应商编号
+	        'cgd_apply_id'=>$data['cgd_apply_id'],//竞单人
+	        'cgd_apply_name'=>$data['cgd_apply_name'],//竞单人
             "updatetime" => date("Y-m-d H:i:s"),
             'good_createrid' => $data['good_createrid'],
             'good_creater' => $data['good_creater'],//商品创建人

+ 3 - 0
app/command/SplitSale.php

@@ -235,6 +235,9 @@ class SplitSale extends Command
             'is_diff' => $sale['is_diff'] ?? 0,
             'send_num' => $sale['send_num'] ?? 0,
             'wsend_num' => $sale['wsend_num'] ?? 0,
+            'workNo' => $sale['workNo'] ?? '',
+            'poNo' => $sale['platform_order'] ?? '',
+            'other_orderNo' => $sale['other_orderNo'],
             'th_num' => $sale['th_num'] ?? 0,
             'send_type' => $sale['send_type'] ?? 0,
             'gold_price' => $sale['gold_price'] ?? 0,

+ 6 - 7
app/command/caixiao.php

@@ -14,9 +14,10 @@ class caixiao extends Command
     protected function cgd(){
     	$cgd=new CgdCaixiao();
     	$where=[['updatetime','>=',$this->hour]];
-    	$list = $cgd->where($where)->cursor();
+    	$list = $cgd->with(["originCgd"])->where($where)->select();
     	$cgdArr=[];
     	foreach ($list as $item){
+    		echo date('Y-m:d H:i:s')."|".$item->cgdNo."--".$item->mainCode."\r\n";
     		$unique = md5($item->cgdNo.$item->updatetime);
            $temp=['order_type'=>2,'uniqkey'=>$unique,'status'=>1,'addtime'=>date('Y-m:d H:i:s')];
            if($this->isInCfp($unique)){
@@ -39,17 +40,14 @@ class caixiao extends Command
     {
         // 指令输出
         $key="caixiao_copy";
-        $rs = Cache::store('redis')->inc($key);
-        if ($rs!=1){
-            Cache::store('redis')->dec($key);
-            return true;
-        }
+        $rs = Cache::store('redis')->get($key);
+        if ($rs!=0) return true;
+	    Cache::store('redis')->set($key,1,180);
         $this->hour=date('Y-m-d H:i:s',strtotime('-1 hours'));
         $this->contect= Db::connect('mysql_cxinv');
         $this->table =$this->contect->name("caixiao_data");
         $this->sale();
         $this->cgd();
-        Cache::store('redis')->dec($key);
         $output->writeln('caixiao');
     }
     
@@ -65,6 +63,7 @@ class caixiao extends Command
     	$qrd=[];
     	foreach ($list as $item){
            $unique = md5($item->orderCode.$item->updatetime);
+           echo date('Y-m:d H:i:s').'|'.$item->orderCode."\r\n";
            $temp=["order_type"=>1,"uniqkey"=>$unique,"status"=>1,"addtime"=>date('Y-m:d H:i:s')];
            if($this->isInCfp($unique)){
            	$item['cat_name'] = json_decode($item->cat_name);

+ 18 - 18
app/command/handleYzOrderData.php

@@ -90,22 +90,19 @@ class handleYzOrderData extends Command
                 $spuCode = $ct['spuCode'];
                 $skuCode = $ct['skuCode'];
 
-
+				$origin = Db::name('good_nake')
+				                        ->where([['spuCode', '=', $spuCode], ['min_num', '<=', $good_num], ['is_del', '=', 0]])
+				                        ->order('min_num desc')
+				                        ->find();
+				if ($origin == false) throw new \Exception('未找到相关成本价格');
+			        $origin_price = $goodinfo['is_stock'] == 1?0:$origin['nake_total'];
+			     $cgd_origin_price = $origin['supplier_origin_price'];
                 if ($is_stock == 1) {
                     if($ct['usable_stock'] < $good_num){
 			               throw new Exception('商品库存数量不足');
 			            }
                     $origin_price = 0;
 
-                } else {
-
-                    $origin = Db::name("good_nake")
-                        ->where([["spuCode", "=", $spuCode], ["min_num", "<=", $good_num], ["is_del", "=", 0]])
-                        ->order("min_num desc")
-                        ->find();
-                    if ($origin == false) throw new Exception('未找到相关成本价格');
-                    $origin_price = $origin['nake_total'];
-
                 }
 
 				$is_activity = 0;
@@ -141,11 +138,7 @@ class handleYzOrderData extends Command
                 $rm = isset($user['id']) ? $user['id'] : 0;
                 $ri = isset($user['nickname']) ? $user['nickname'] : 'youzan';
 				if($rm==0)throw new Exception('平台转单未找到对应的平台账户');
-
-//                $supplier_temp_info = Db::name('supplier')
-//                    ->field('id,person,personid')
-//                    ->where('code', $ct['supplierNo'])
-//                    ->findOrEmpty();
+				
                 $userCommon = User::getIns();
                 $tmp = $userCommon->handle('sInfo',['code'=>$ct['supplierNo']]);
                 $supplier_temp_info = $tmp['data']??[];
@@ -186,7 +179,6 @@ class handleYzOrderData extends Command
                     'activity_code' => $is_activity==1 ? $act['activity_code'] : ($is_activity==2?"txx":""),
                     "order_type" => $order_type,
                     "order_source" => $order_source,
-//                "poNo"=>$poNo,
                     'good_weight' => $ct['weight'],
                     'gold_price' => $ct['cgd_gold_price'],
                     'cost_price' => $ct['cost_fee'],
@@ -264,6 +256,11 @@ class handleYzOrderData extends Command
                             'good_createrid' => $goodinfo['createrid'],
                             'good_creater' => $goodinfo['creater'],//商品创建人
                             'weight' => $ct['noble_weight'],//商品创建人
+                             'supplier_origin_price'=>$cgd_origin_price,//供应商采购成本
+						     'cgd_supplier_code'=>$goodinfo['cgd_supplier_code'],//采购供应商编号
+						     'cgd_supplier_name'=>$goodinfo['cgd_supplier_name'],//采购供应商编号
+						     'cgd_apply_id'=>$goodinfo['cgd_apply_id'],//竞单人
+						     'cgd_apply_name'=>$goodinfo['cgd_apply_name'],//竞单人
                         ];
 
                         //非库存品
@@ -491,8 +488,6 @@ class handleYzOrderData extends Command
     private function createCgd($data = [], $rm = '0', $ri = '', array &$standing_book_data = [])
     {
         $cgdCode = makeNo("CG");
-//        $supplier = Db::name("supplier")->where(["code" => $data['supplierNo'], "is_del" => 0])->find();
-//        if ($supplier == false) return false;
 
         $wsm = Db::name("warehouse_info")
             ->where(["supplierNo" => $data["supplierNo"], "companyNo" => $data['companyNo'], "is_del" => 0])
@@ -570,6 +565,11 @@ class handleYzOrderData extends Command
             'good_createrid' => $data['good_createrid'],
             'good_creater' => $data['good_creater'],//商品创建人
             'from_tag' => isset($from_tag[$data['supplierNo']]) ? 2 : 1,//来源标签:1采销(默认),2供应商端
+            'supplier_origin_price'=>$data['supplier_origin_price'],//供应商采购成本
+	        'cgd_supplier_code'=>$data['cgd_supplier_code'],//采购供应商编号
+	        'cgd_supplier_name'=>$data['cgd_supplier_name'],//采购供应商编号
+	        'cgd_apply_id'=>$data['cgd_apply_id'],//竞单人
+	        'cgd_apply_name'=>$data['cgd_apply_name'],//竞单人
         ];
         $up = Db::name("purchease_order")->insert($cg, true);
         if ($up) {

+ 15 - 9
app/common.php

@@ -1627,15 +1627,16 @@ function endTime($time){
 if (function_exists('get_budget') == false) {
     function get_budget(int $cat_id = 0, string $relaComNo = '', int $platform_id = 0,bool $is_show_more=false)
     {
-        $sale_rate_1 = Db::name('company_cat_profit')
-            ->where(['is_del' => 0, 'cat_id' => $cat_id, 'companyNo' => $relaComNo])
-            ->findOrEmpty();
-
-        $sale_rate_2 = Db::name('company_platform_cat_profit')
-            ->where(['is_del' => 0, 'companyNo' => $relaComNo, 'platform_id' => $platform_id, 'cat_id' => $cat_id, 'status' => 1])
-            ->findOrEmpty();
+//        $sale_rate_1 = (new \app\admin\model\CompanyCatProfit)->GetAllRate($relaComNo,$cat_id);
+//		if($sale_rate_1->isEmpty()) throw new \think\Exception("该分类未找到有关毛利信息");
+//        $sale_rate_2 = Db::name('company_platform_cat_profit')
+//            ->where(['is_del' => 0, 'companyNo' => $relaComNo, 'platform_id' => $platform_id, 'cat_id' => $cat_id, 'status' => 1])
+//            ->findOrEmpty();
 
         if ($is_show_more) {
+	        $sale_rate_1 = (new \app\admin\model\CompanyCatProfit)->GetAllRate($relaComNo,$cat_id);
+			if($sale_rate_1->isEmpty()) return false;
+			 $sale_rate_2 = (new \app\admin\model\CompanyPlatformCatProfit)->GetAllRate($relaComNo,$cat_id,$platform_id);
             //返回多个字段的和
             return [
                 'rate' => (($sale_rate_1['rate'] ?? 0) + ($sale_rate_2['rate'] ?? 0)) / 100,
@@ -1645,7 +1646,12 @@ if (function_exists('get_budget') == false) {
                 'sale_rate' => (($sale_rate_1['sale_rate'] ?? 0) + ($sale_rate_2['sale_rate'] ?? 0)) / 100,
                 'lower_rate'=>0,//boss利率,默认0,数据库没有这个值
             ];
-        } else return (($sale_rate_1['sale_rate'] ?? 0) + ($sale_rate_2['sale_rate'] ?? 0)) / 100; //此时的毛利率要取两个毛利的和
+        } else {
+        	 $sale_rate_1 = (new \app\admin\model\CompanyCatProfit)->GetRate($relaComNo,$cat_id,"sale_rate");
+			if($sale_rate_1==0) return false;
+			 $sale_rate_2 = (new \app\admin\model\CompanyPlatformCatProfit)->GetRate($relaComNo,$cat_id,$platform_id,'sale_rate');
+        	return ($sale_rate_1 + $sale_rate_2) / 100;
+        } //此时的毛利率要取两个毛利的和
 
     }
 }
@@ -1673,7 +1679,7 @@ if(function_exists('cat_is_gold')==false){
 //是否是渠道
 if(function_exists('channel_is_company')==false){
     function channel_is_company($platform_id,$companyNo){
-    	return false;
+//    	return false;
     	$platform=Db::name("platform_channel")
     	->alias("a")
     	->leftJoin("channel b","a.channel_id=b.id")

+ 5 - 6
app/youzan/logic/Goodup.php

@@ -9,7 +9,7 @@ use app\txx\model\YzGood;
 use app\youzan\model\PlatformYouzan;
 use think\Exception;
 use think\facade\Cache;
-use think\facade\Db;
+use think\facade\Db;use think\facade\Log;
 
 //商品处理层
 class Goodup
@@ -319,14 +319,13 @@ class Goodup
                     'distribution'=>$data['distribution'],
                 ];
                 $host = config('app.yz_domain');
-                $response = curl_request($host . 'api/yz_goodup', $curl_data);
-                $response = json_decode($response, true);
-
+                $responses = curl_request($host . 'api/yz_goodup', $curl_data);
+                $response = json_decode($responses, true);
+				Log::info("[".date('Y-m-d H:i:s')."] {$rs->skuCode} 接口yz_goodup:".$responses);
                 if (!isset($response['code'])||$response['code'] != 0) {
                     //上架失败
                     $res = false;
                     $update_data = array_merge($update_data, ['exam_status' => $db::$exam_status_7, 'offline_fail_reason' => $response['message']]);
-//                    $update_good_platform_data = array_merge($update_good_platform_data,[]);
                 } else {
                     //上架成功
                     $update_data = array_merge($update_data, ['exam_status' => $db::$exam_status_6, 'offline_fail_reason' => '', 'online_time' => date('Y-m-d H:i:s')]);
@@ -671,7 +670,7 @@ class Goodup
                 //调有赞项目的接口,从有赞平台下线该商品
                 $host = config('app.yz_domain');
                 $response = curl_request($host . 'api/yz_goodup_offline', $curl_data);
-
+				Log::info('['.date('Y-m-d H:i:s')."] {$rs->skuCode} 接口offline:".$response);
                 $response = json_decode($response, true);
 
                 if ($response['code'] != 0) throw new Exception($response['message']);