Browse Source

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

panlumeng 3 years ago
parent
commit
0a2ec6b9e5
1 changed files with 109 additions and 72 deletions
  1. 109 72
      app/admin/controller/Sale.php

+ 109 - 72
app/admin/controller/Sale.php

@@ -67,34 +67,10 @@ class Sale extends BaseController
         if($good_num===''){
             return error_show(1004,"参数good_num不能为空");
         }
-        if($order_type==3|| $order_type==4){
-            $goodinfo = Db::name("consult_bids")->where(["spuCode"=>$good_code,"is_del"=>0])->find();
-            if($goodinfo==false){
-                return error_show(1004,"未找到商品数据");
-            }
-            $spuCode = $goodinfo['spuCode'];
-            $skuCode = "";
-            $is_stock=0;
-            $cgd=[
-                "supplierNo"=>$goodinfo['supplierNo'],
-                "companyNo"=>$supplierNo,
-                "spuCode"=>$good_code,
-                "skuCode"=>$skuCode,
-                "orderCode"=>$orderCode,
-                "good_name"=>$goodinfo['good_name'],
-                "sale_price"=>$goodinfo['sale_price'],
-                "total_fee"=>$goodinfo['total_fee'],
-                "pakge_fee"=>$goodinfo['pakge_fee'],
-                "cert_fee"=>$goodinfo['cert_fee'],
-                "open_fee"=>$goodinfo['open_fee'],
-                "cost_fee"=>$goodinfo['cost_fee'],
-                "mark_fee"=>$goodinfo['mark_fee'],
-                "demo_fee"=>$goodinfo['demo_fee'],
-                "good_num"=>$good_num,
-                "good_type"=>$goodtype,
-                "order_type"=>$order_type,
-            ];
-        }else{
+        $arrtime = isset($this->post['arrtime'])&&$this->post['arrtime']!="" ?$this->post['arrtime']:"";
+        if($arrtime==""){
+            return error_show(1004,"参数arrtime不能为空");
+        }
         $ct = Db::name('good_platform')->alias('a')->join('good b', 'b.spuCode=a.spuCode', 'left')
             ->where(['a.skuCode' => $good_code])->find();
             if ($ct == false) {
@@ -123,7 +99,6 @@ class Sale extends BaseController
                 "good_type"=>$goodtype,
                 "order_type"=>$order_type,
             ];
-        }
         $is_activity= isset($this->post['is_activity'])&&$this->post['is_activity']!=="" ?$this->post['is_activity']:"";
         if($order_type==1){
             if($is_activity===""){
@@ -131,6 +106,12 @@ class Sale extends BaseController
             }
 
         }
+        $addrlist = isset($this->post['addrlist']) && $this->post['addrlist'] !=="" ?$this->post['addrlist']:"";
+        if($sendtype==1){
+            if($addrlist=="" || empty($addrlist) ||!is_array($addrlist)){
+                return error_show(1004,"参数addrlist不能为空");
+            }
+        }
         $remark =isset($this->post['remark']) && $this->post['remark'] !=="" ?trim($this->post['remark']):"";
 
         $proofid= isset($this->post['proof_id'])&&$this->post['proof_id']===""?intval($this->post['proof_id']):"0";
@@ -185,37 +166,92 @@ class Sale extends BaseController
                         return error_show(1002,"咨询订单创建失败");
                     }
                 }
+                if($sendtype==1){
+                    foreach ($addrlist as $value){
+                        $temp=[];
+                        $addrs=[];
+                        if($value['addr_code']!==''&&is_array($value['addr_code'])){
+                            $addrs['provice_code'] = $value['addr_code'][0];
+                            $addrs['city_code'] = $value['addr_code'][1];
+                            $addrs['area_code'] = $value['addr_code'][2];
+                            $addr = json_encode($addrs);
+                        }else{
+                            $addr = isset($value['addr_code'])?$value['addr_code']:'';
+                        }
+                        $temp['orderCode']=$orderCode;
+                        $temp['contactor']=$value['contactor'];
+                        $temp['mobile'] = $value['mobile'];
+                        $temp['addr'] = $value['addr'];
+                        $temp['addr_code']=$addr;
+                        $temp['customer_code'] =$customer_code;
+                        $temp['receipt_quantity']=$value['receipt_quantity'];
+                        $temp['post_fee'] =0;
+                        $temp['is_del'] =0;
+                        $temp['addtime'] =date("Y-m-d H:i:s");
+                        $temp['updatetime'] =date("Y-m-d H:i:s");
+                        $temp['arrive_time']=$arrtime;
+                        $vmp = Db::name('order_addr')->insert($temp,true);
+                        if($vmp>0){
+                            $outCode=makeNo("CK");
+                            $out=[
+                                "orderCode"=>$orderCode,
+                                "outCode"=>$outCode,
+                                "apply_id"=>$rm,
+                                "apply_name"=>$ri,
+                                "addrid"=>$vmp,
+                                "post_name"=>"",
+                                "post_code"=>"",
+                                "post_fee"=>0,
+                                "sendtime"=>date("Y-m-d H:i:s"),
+                                "send_num"=>$value['receipt_quantity'],
+                                "check_num"=>0,
+                                "error_num"=>0,
+                                "wsm_code"=>"",
+                                "order_type"=>$order_type,
+                                "status"=>0,
+                                "addtime"=>date("Y-m-d H:i:s"),
+                                "updatetime"=>date("Y-m-d H:i:s")
+                            ];
+                            $ou =Db::name("order_out")->insert($out);
+                            if($ou==false){
+                                Db::rollback();
+                                return error_show(1002,"发货地址添加创建失败");
+                            }
+                            if($is_stock==0){
+                                $order =Db::name("order_num")->where(["orderCode"=>$orderCode,"status"=>1])->where([["wsend_num",">=",0]])
+                                    ->find();
+                                if($order==false){
+                                    Db::rollback();
+                                    return error_show(1006,"采购单关联数据未找到");
+                                }
+                                $order['send_num']+=$value['receipt_quantity'];
+                                $order['wsend_num']-=$value['receipt_quantity'];
+                                if($order['wsend_num']<0){
+                                    Db::rollback();
+                                    return error_show(1002,"发货数量已超出总数");
+                                }
+                                $ups = Db::name("order_num")->save($order);
+                                if($ups){
+                                    $tep=[
+                                        "cgdNo"=>$order['cgdNo'],
+                                        "outCode"=>$outCode,
+                                        "send_num"=>$value['receipt_quantity'],
+                                        "status"=>1,
+                                        "addtime"=>date("Y-m-d H:i:s"),
+                                        "updatetime"=>date("Y-m-d H:i:s")
+                                    ];
+                                    $sen=Db::name("order_send")->save($tep);
+                                    if($sen==false){
+                                        Db::rollback();
+                                        return error_show(1002,"发货地址添加创建失败");
+                                    }
+                                }
+                            }
 
-
-                if($order_type==3|| $order_type==4){
-                    $limt=[
-                        "spuCode"=>$goodinfo['spuCode'],
-                        "good_name"=>$goodinfo['good_name'],
-                        "brand_id"=>$goodinfo['brand_id'],
-                        "good_unit"=>$goodinfo['good_name'],
-                        "cat_id"=>$goodinfo['cat_id'],
-                        "good_type"=>0,
-                        "moq"=>1,
-                        "customized"=>$goodinfo['work_day'],
-                        "tax"=>$goodinfo['tax'],
-                        "supplierNo"=>$goodinfo["supplierNo"],
-                        "is_auth"=>0,
-                        "craft_desc"=>$goodinfo['good_name'],
-                        "good_remark"=>"",
-                        "good_img"=>$goodinfo['good_img'],
-                        "good_thumb_img"=>"",
-                        "good_info_img"=>"",
-                        "status"=>1,
-                        "is_del"=>0,
-                        "createrid"=>$rm,
-                        "creater"=>$ri,
-                        "addtime"=>date("Y-m-d H:i:s"),
-                        "updatetime"=>date("Y-m-d H:i:s")
-                    ];
-                    $good = Db::name("good_zixun")->insert($limt);
-                    if(!$good){
-                        Db::rollback();
-                        return error_show(1006,"咨询商品录入失败");
+                        }else{
+                            Db::rollback();
+                            return error_show(1002,"发货地址添加创建失败");
+                        }
                     }
                 }
                 Db::commit();
@@ -468,9 +504,6 @@ class Sale extends BaseController
         if($zx==false){
             return error_show(1003,"未找到咨询单信息");
         }
-        if($zx['status']!=2){
-            return error_show(1003,"咨询单任务未结束");
-        }
         $zxorder =Db::name("consult_order")->where(["zxNo"=>$zx["zxNo"],"is_del"=>0])->find();
         if($zxorder==false){
             return error_show(1003,"未找到咨询单信息");
@@ -606,14 +639,14 @@ class Sale extends BaseController
                         Db::rollback();
                         return error_show(1006,"咨询商品录入失败");
                     }
-                    if(!empty($order_addr)){
+                    if(!empty($va)){
                         $order =Db::name("order_num")->where(["orderCode"=>$orderCode,"status"=>1])->where([["wsend_num",">=",0]])
                             ->find();
                         if($order==false){
                             Db::rollback();
                             return error_show(1006,"采购单关联数据未找到");
                         }
-                        foreach ($order_addr as $value){
+                        foreach ($va as $value){
                             $temp=[];
                             $addrs=[];
                             if($value['addr_code']!==''&&is_array($value['addr_code'])){
@@ -719,7 +752,7 @@ class Sale extends BaseController
        if($plan==false){
            return error_show(1004,"未找到方案信息");
        }
-        $feedbackid = Db::name("project_plan_rela")->where(["planNo"=>$planNo,"is_del"=>0])->column("feedback_id");
+        $feedbackid = Db::name("project_plan_rela")->where(["planNo"=>$planNo,"is_del"=>0])->column("feedback_id,sale_price");
        if($feedbackid==false){
            return error_show(1004,"未找到方案反馈信息");
        }
@@ -747,18 +780,22 @@ class Sale extends BaseController
         $ri = isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
         Db::startTrans();
         try {
+            $feedid = array_column($feedbackid,"feedback_id");
             foreach ($planinfo as $value){
                 $good=[];
-                $feedback = Db::name("project_feedback")->where(["pgNo"=>$value['pgNo'],"projectNo"=>$plan['projectNo'], "is_del"=>0])->find();
+                $feedback = Db::name("project_feedback")->where(["id"=>$value['feedback_id'],"projectNo"=>$plan['projectNo'],
+                    "is_del"=>0])->find();
                 if($feedback==false){
                     Db::rollback();
                     return error_show(1002, "反馈数据未找到");
                 }
+                $key =array_search($feedback['id'],$feedid);
+                $price = $feedbackid[$key];
                 $good['spuCode'] = $feedback['spuCode'];
                 $good['skuCode'] = $feedback['skuCode'];
                 $good['good_num'] = $value['good_num'];
                 $good['sendtype'] = $value['sendtype'];
-                $good['sale_price']=$feedback['sale_price'];
+                $good['sale_price']=$price['sale_price'];
                 $good['companyNo']=$project['companyNo'];
                 $good['customerNo']=$project['khNo'];
                 $good['pgNo']=$feedback['pgNo'];
@@ -2502,11 +2539,11 @@ 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,"采购关联失败");
-            }
+//            $dbol =$this->RelaCgd($outinfo);
+//            if($dbol==false){
+//                Db::rollback();
+//                return  error_show(1004,"采购关联失败");
+//            }
             return app_show(0,"发货成功");
         }else{
             return error_show(1004,"发货失败");