Explorar o código

Merge branch 'version1.5' of ssh://192.168.10.210:10022/wugg/stock into version1.5

panlumeng %!s(int64=3) %!d(string=hai) anos
pai
achega
e72e1b2467

+ 12 - 3
app/admin/controller/Consult.php

@@ -7,10 +7,11 @@ use think\facade\Db;
 
 class Consult extends Base
 {
-
+    public $noble=[];
     public function __construct(App $app)
     {
         parent::__construct($app);
+        $this->noble =\think\facade\Config::get("noble");
     }
 //    public function list(){
 //      $page = isset($this->post['page']) && $this->post['page'] !== "" ? intval($this->post['page']) :"1";
@@ -118,6 +119,7 @@ class Consult extends Base
                 $kh=Db::name("customer_info")->where(['companyNo'=>$value['khNo']])->find();
                 $value['khname']= isset($kh['companyName'])?$kh['companyName']:"";
             }
+            $value['metal_name']=isset($value['metal_id'])&& $value['metal_id']!=0?$this->noble[$value['metal_id']]:"";
             $data[]=$value;
         }
         return app_show(0,"获取成功",['count'=>$count,'list'=>$data]);
@@ -457,7 +459,9 @@ class Consult extends Base
         $zxinfo['budget_total']="";
         $zxinfo['departinfo']=[];
         $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);
+
         if($zxorder['khNo']!==""){
             $kh=Db::name("customer_info")->where(['companyNo'=>$zxorder['khNo']])->find();
             $zxinfo['khname']= isset($kh['companyName'])?$kh['companyName']:"";
@@ -762,6 +766,7 @@ class Consult extends Base
         $metal_id = isset($this->post['metal_id'])&&$this->post['metal_id']!=""? intval($this->post['metal_id']):"";
         $is_gold_price = isset($this->post['is_gold_price'])&&$this->post['is_gold_price']!=""? intval($this->post['is_gold_price']):"";
         $config = isset($this->post['config'])&&$this->post['config']!=""? $this->post['config']:"";
+        $other_config = isset($this->post['other_config'])&&$this->post['other_config']!=""? $this->post['other_config']:"";
         $weight = isset($this->post['weight'])&&$this->post['weight']!=""? floatval($this->post['weight']):"";
         $demo_fee = isset($this->post['demo_fee'])&&$this->post['demo_fee']!=""? floatval($this->post['demo_fee']):"";
         $delivery_fee = isset($this->post['delivery_fee'])&&$this->post['delivery_fee']!=""? floatval($this->post['delivery_fee']):"";
@@ -813,6 +818,7 @@ class Consult extends Base
             "metal_id"=>$metal_id,
             "is_gold_price"=>$is_gold_price,
             "config"=>$config,
+            "other_config"=>$other_config,
             "weight"=>$weight,
             "is_diff"=>$is_diff,
             "demo_fee"=>$demo_fee,
@@ -923,6 +929,7 @@ class Consult extends Base
         }
         $info['specinfo'] = json_decode($info['specinfo'],true);
         $info['sale_price'] =round($price,2);
+        $info['metal_name']=isset($info['metal_id'])&& $info['metal_id']!=0?$this->noble[$info['metal_id']]:"";
         $bargain =Db::name("bargain_order")->where(['bidsNo'=>$bidNo,"is_del"=>0])->find();
         $info['bargain'] =$bargain;
         return app_show(0,"获取成功",$info);
@@ -985,6 +992,7 @@ class Consult extends Base
         $metal_id = isset($this->post['metal_id'])&&$this->post['metal_id']!=""? intval($this->post['metal_id']):"";
         $is_gold_price = isset($this->post['is_gold_price'])&&$this->post['is_gold_price']!=""? intval($this->post['is_gold_price']):"";
         $config = isset($this->post['config'])&&$this->post['config']!=""? $this->post['config']:"";
+        $other_config = isset($this->post['other_config'])&&$this->post['other_config']!=""? $this->post['other_config']:"";
         $weight = isset($this->post['weight'])&&$this->post['weight']!=""? floatval($this->post['weight']):"";
         $demo_fee = isset($this->post['demo_fee'])&&$this->post['demo_fee']!=""? floatval($this->post['demo_fee']):"";
         $delivery_fee = isset($this->post['delivery_fee'])&&$this->post['delivery_fee']!=""? floatval($this->post['delivery_fee']):"";
@@ -1018,6 +1026,7 @@ class Consult extends Base
             "metal_id"=>$metal_id,
             "is_gold_price"=>$is_gold_price,
             "config"=>$config,
+            "other_config"=>$other_config,
             "weight"=>$weight,
             "is_diff"=>$is_diff,
             "demo_fee"=>$demo_fee,
@@ -1201,7 +1210,6 @@ class Consult extends Base
         $data=[];
         foreach ($list as $value){
             $catinfo = Db::name("cat")->where(["id"=>$value['cat_id']])->find();
-
             $value['can']= isset($value['cat_id']) && $value['cat_id'] !=0 ? made($value['cat_id']):[];
             $unit =Db::name("unit")->where(["id"=>$value['unit_id']])->find();
             $value['unit'] = isset($unit['unit'])?$unit['unit']:'';
@@ -1235,7 +1243,7 @@ class Consult extends Base
                 $price = GoodPrice($god, $budget/100);
             }
             $value['specinfo'] = json_decode($value['specinfo'],true);
-
+            $value['metal_name']=isset($value['metal_id'])&& $value['metal_id']!=0?$this->noble[$value['metal_id']]:"";
             $value['sale_price'] =round($price,2);
             $value['bargain_status']=$bidinfo['bargain_status'];
             $data[]=$value;
@@ -1311,6 +1319,7 @@ class Consult extends Base
             }else{
                 $price = GoodPrice($god, $budget/100);
             }
+            $value['metal_name']=isset($value['metal_id'])&& $value['metal_id']!=0?$this->noble[$value['metal_id']]:"";
             $value['sale_price'] =round($price,2);
             $value['specinfo'] = json_decode($value['specinfo'],true);
             $value['bargain_status']=$bidinfo['bargain_status'];

+ 2 - 3
app/admin/controller/Resign.php

@@ -229,7 +229,7 @@ class Resign extends BaseController
         if(empty($info)){
             return error_show(1002,'未找到数据');
         }
-        $good =Db::name("good")->alias("a")->leftJoin("good b","a.spuCod=b.spuCode")->where([["a.skuCode","=",
+        $good =Db::name("good_platform")->alias("a")->leftJoin("good b","a.spuCod=b.spuCode")->where([["a.skuCode","=",
             $info['skuCode']],["a.is_del","=",0]])->find();
         if($good==false){
             return error_show(1004,"未找到商品数据");
@@ -311,7 +311,6 @@ class Resign extends BaseController
             "good_name"=>$good['good_name'],
             "good_num"=>$good_num,
             "skuCode"=>$good['skuCode'],
-            "wsm_code"=>'',
             "companyNo"=>$customer,
             "supplierNo"=>$supplier,
             "file_url"=>$file_url,
@@ -780,7 +779,7 @@ class Resign extends BaseController
                 $in =Db::name("order_bk")->insert($data);
                 if($in){
                     Db::commit();
-                    return app_show(0,"采购单新建成功");
+                    return app_show(0,"采购单新建成功",["cgdNo"=>$cgdCode]);
                 }
             }
                 Db::rollback();

+ 120 - 4
app/admin/controller/Sale.php

@@ -129,9 +129,8 @@ class Sale extends BaseController
                 "order_type"=>$order_type,
             ];
         }
-
+        $is_activity= isset($this->post['is_activity'])&&$this->post['is_activity']!=="" ?$this->post['is_activity']:"";
         if($order_type==1){
-            $is_activity= isset($this->post['is_activity'])&&$this->post['is_activity']!=="" ?$this->post['is_activity']:"";
             if($is_activity===""){
                 return error_show(1002, "参数is_activity不能为空");
             }
@@ -187,6 +186,8 @@ class Sale extends BaseController
                 "platform_order"=>$platform_order,
                 "platform_id"=>$platform_id,
                 "remark"=>$remark,
+                "is_stock"=>$is_stock,
+                "is_activity"=>$is_activity===""?0:$is_activity,
                 "proof_id"=>$proofid,
                 "order_type"=>$order_type,
                 "addtime"=>date("Y-m-d H:i:s"),
@@ -377,10 +378,13 @@ class Sale extends BaseController
             $rela=[
                 "orderCode"=>$data['orderCode'],
                 "cgdNo"=>$cgdCode,
+                "spuCode"=>$data['spuCode'],
                 "good_num"=>$data['good_num'],
                 "wsend_num"=>$data['good_num'],
                 "send_num"=>0,
-                "wait_num"=>0
+                "wait_num"=>0,
+                "status"=>1,
+                "source"=>2
             ];
             $re =Db::name("order_num")->save($rela);
             if($re==false){
@@ -1714,12 +1718,124 @@ class Sale extends BaseController
         $outinfo['updatetime'] = date("Y-m-d H:i:s");
         $up =Db::name("order_out")->save($outinfo);
         if($up){
-
+            $dbol =$this->RelaCgd($outinfo);
+            if($dbol==false){
+                Db::rollback();
+                return  error_show(1004,"采购关联失败");
+            }
             return app_show(0,"发货成功");
         }else{
             return error_show(1004,"发货失败");
         }
     }
+    public function RelaCgd($outinfo){
+        $der = Db::name('sale')->where(['orderCode' => $outinfo['orderCode']])->find();
+        if ($der == "") {
+          return false;
+        }
+        if($der['is_stock']==1){
+            $cgd = Db::name("order_bk")->where([["spuCode","=",$der['spuCode']],["is_del","=",0],["balance_num",">",0]])
+                ->select()->toArray();
+            if(empty($cgd)){
+                return false;
+            }
+            $send =$outinfo['send_num'];
+            $outsend=[];
+            foreach ($cgd as $value){
+                $temp=[];
+                if($value['balance_num']>=$send){
+                    $value['balance_num']-=$send;
+                    $value['merge_num']+=$send;
+                    $send=0;
+                    $temp['send_num'] =$send;
+                }else{
+                    $value['balance_num'] =0;
+                    $value['merge_num']+=$value['balance_num'];
+                    $send -= $value['balance_num'];
+                    $temp['send_num'] =$value['balance_num'];
+                }
+                $value['status'] = $value['balance_num']==0 ?2:$value['merge_num']==0?0:1 ;
+                $value['updatetime'] = date("Y-m-d H:i:s");
+                $bk = Db::name("order_bk")->save($value);
+                if($bk==false){
+                    return false;
+                }
+                $temp['cgdNo'] = $value['cgdNo'];
+                $temp['outCode'] = $outinfo['outCode'];
+                $temp['status'] = 1;
+                $temp['addtime']=date("Y-m-d H:i:s");
+                $temp['updatetime']=date("Y-m-d H:i:s");
+                $outsend[]=$temp;
+                $order = Db::name("order_num")->where(["orderCode"=>$der['orderCode'],"cgdNo"=>$value['cgdNo'],"spuCode"=>$der['spuCode'],"status"=>1])->find();
+                if($order==false){
+                    $order=[
+                        "orderCode"=>$der['orderCode'],
+                        "cgdNo"=>$value['cgdNo'],
+                        "spuCode"=>$der['spuCode'],
+                        "good_num"=>$der['good_num'],
+                        "wsend_num"=>$der['good_num']-$temp['send_num'],
+                        "send_num"=>$temp['send_num'],
+                        "status"=>1,
+                        "source"=>1
+                    ];
+                }else{
+                    $order['wsend_num']-=$temp['send_num'];
+                    $order['send_num']+=$temp['send_num'];
+                }
+                if($order['wsend_num']<0){
+                    return false;
+                }
+                $up =Db::name("order_num")->save($order);
+                if($up==false){
+                    return false;
+                }
+                if($send==0){
+                    break;
+                }
+            }
+            if(empty($temp)){
+                return false;
+            }
+            $insert = Db::name("order_send")->insertAll($outsend);
+            if($insert){
+                return true;
+            }else{
+                return false;
+            }
+        }else{
+            $order = Db::name("order_num")->where(["orderCode"=>$der['orderCode'],"spuCode"=>$der['spuCode'],
+                    "status"=>1])->find();
+            if($order==false){
+                return false;
+            }else{
+                if($outinfo['send_num']> $order['wsend_num']){
+                    return false;
+                }
+                $order['wsend_num']-=$outinfo['send_num'];
+                $order['send_num']+=$outinfo['send_num'];
+                if($order['wsend_num']<0){
+                    return false;
+                }
+                $up =Db::name("order_num")->save($order);
+                if($up==false){
+                    return false;
+                }
+                $temp=[];
+                $temp['cgdNo'] = $order['cgdNo'];
+                $temp['outCode'] = $outinfo['outCode'];
+                $temp['send_num'] =$outinfo['send_num'];
+                $temp['status'] = 1;
+                $temp['addtime']=date("Y-m-d H:i:s");
+                $temp['updatetime']=date("Y-m-d H:i:s");
+                $insert = Db::name("order_send")->insert($temp);
+                if($insert){
+                    return true;
+                }else{
+                    return false;
+                }
+            }
+        }
 
+        }
 
 }

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

@@ -184,6 +184,7 @@ Route::rule("purchdel","admin/Resign/delete");
 Route::rule("purchinfo","admin/Resign/info");
 Route::rule("purchstatus","admin/Resign/status");
 Route::rule("purchaddwsm","admin/Resign/addwsm");
+Route::rule("purchcgd","admin/Resign/createCgd");
 
 Route::rule("feedadd","admin/Resign/addFeed");
 Route::rule("feeddel","admin/Resign/delFeed");