wugg 3 anos atrás
pai
commit
bc4bad1cb3

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

@@ -233,10 +233,8 @@ class Goodup extends BaseController
         if($is_stock===""){
             return error_show(1004,"参数is_stock不能为空");
         }
-        $is_diff = isset($this->post['is_diff'])&&$this->post['is_diff']!==""? intval($this->post['is_diff']):"";
-        if($is_diff===""){
-            return error_show(1004,"参数is_diff不能为空");
-        }
+        $is_diff = isset($this->post['is_diff'])&&$this->post['is_diff']!==""? intval($this->post['is_diff']):"0";
+
         $good_img = isset($this->post['good_img'])&&$this->post['good_img']!==""? trim($this->post['good_img']):"";
         $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']):"";

+ 303 - 2
app/admin/controller/Sale.php

@@ -438,7 +438,6 @@ class Sale extends BaseController
                             break;
                         }
                     }
-
                 }else{
                     Db::rollback();
                     return error_show(1002,"发货地址添加创建失败");
@@ -453,6 +452,308 @@ class Sale extends BaseController
 
     }
 
+    public  function consultOrder(){
+        $bidNo =isset($this->post['bidNo'])&&$this->post['bidNo']!="" ?  trim($this->post['bidNo']):"";
+        if($bidNo==""){
+            return error_show(1003,"参数bidNo不能为空");
+        }
+        $zxinfo = Db::name("consult_bid")->where(["bidNo"=>$bidNo,"is_del"=>0])->find();
+        if($zxinfo==false){
+            return error_show(1003,"未找到咨询单商品信息");
+        }
+        if($zxinfo['status']!=5){
+            return error_show(1003,"咨询单状态有误无法转单");
+        }
+        $zx =Db::name("consult_info")->where(["infoNo"=>$zxinfo['infoNo'],"is_del"=>0])->find();
+        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,"未找到咨询单信息");
+        }
+        $good_num =isset($this->post['good_num'])&&$this->post['good_num']!="" ?  intval($this->post['good_num']):"";
+        if($good_num===""){
+            return error_show(1003,"参数good_num不能为空");
+        }
+        $sendtype = isset($this->post['sendtype'])&&$this->post['sendtype']!="" ? intval($this->post['sendtype']):"";
+        if($sendtype==""){
+            return error_show(1003,"参数sendtype不能为空");
+        }
+        $orderCode = makeNo("QR");
+        $spuCode = $zxinfo['spuCode'];
+        $skuCode = "";
+        $is_stock=0;
+        $cgd=[
+            "supplierNo"=>$zxinfo['supplierNo'],
+            "companyNo"=>$zxorder['companyNo'],
+            "spuCode"=>$spuCode,
+            "skuCode"=>$skuCode,
+            "orderCode"=>$orderCode,
+            "good_name"=>$zxinfo['good_name'],
+            "sale_price"=>$zxinfo['sale_price'],
+            "total_fee"=>$zxinfo['total_fee'],
+            "pakge_fee"=>$zxinfo['pakge_fee'],
+            "cert_fee"=>$zxinfo['cert_fee'],
+            "open_fee"=>$zxinfo['open_fee'],
+            "cost_fee"=>$zxinfo['cost_fee'],
+            "mark_fee"=>$zxinfo['mark_fee'],
+            "demo_fee"=>$zxinfo['demo_fee'],
+            "good_num"=>$good_num,
+            "good_type"=>1,
+            "is_diff"=>$zxinfo['is_diff'],
+            "order_type"=>3,
+        ];
+        $token=isset($this->post['token'])&&$this->post['token']!=""? trim($this->post['token']):"";
+        if($token==""){
+            return error_show(102, "参数token不能为空");
+        }
+        $apply_id = GetUserInfo($token);
+        if (empty($apply_id) || $apply_id['code'] != 0) {
+            return error_show(102, "申请人数据不存在");
+        }
+        $rm = isset($apply_id["data"]['id']) ? $apply_id["data"]['id'] : "";
+        $ri = isset($apply_id["data"]['nickname']) ? $apply_id["data"]['nickname'] : "";
+
+        $va = isset($this->post['order_addr']) && $this->post['order_addr'] !== "" ? $this->post['order_addr'] : "";
+        if($sendtype==1){
+            if ($va == "") {
+                return error_show(1002, "参数order_addr不能为空");
+            }
+        }
+        $arrtime=isset($this->post['arrtime'])&&$this->post['arrtime']!="" ?$this->post['arrtime']:"";
+        if($arrtime==""){
+            return error_show(1002, "参数arrtime不能为空");
+        }
+        Db::startTrans();
+        try{
+            $data=[
+                "orderCode"=>$orderCode,
+                "good_code"=>$spuCode,
+                "skuCode"=>$skuCode,
+                "customer_code"=>$zx['khNo'],
+                "good_name"=>isset($zxinfo['good_name'])&&$zxinfo['good_name']!==''?$zxinfo['good_name']:'',
+                "good_num"=>$good_num,
+                "cat_id"=>$zxinfo['cat_id'],
+                "apply_id"=>$rm,
+                "apply_name"=>$ri,
+                "origin_price"=>$zxinfo['nake_fee'],
+                "sale_price"=>$zxinfo['sale_price'],
+                "post_fee"=>0,
+                "status"=>0,
+                "send_num"=>0,
+                "wsend_num"=>$good_num,
+                "send_status"=>1,
+                "good_type"=>1,
+                "send_type"=>$sendtype,
+                "supplierNo"=>$zx['companyNo'],
+                "is_del"=>0,
+                "zxNo"=>$bidNo,
+                "platform_order"=>"",
+                "platform_id"=>0,
+                "remark"=>"",
+                "is_stock"=>0,
+                "is_activity"=>0,
+                "proof_id"=>0,
+                "order_type"=>3,
+                "addtime"=>date("Y-m-d H:i:s"),
+                "updatetime"=>date("Y-m-d H:i:s"),
+                'total_price'=>round($zxinfo['sale_price']*$good_num,2),
+            ];
+            $datainfo = Db::name('sale')->insert($data, true);
+            if($datainfo>0){
+                    $zxinfo['status']=6;
+                    $zxinfo['updatetime']=date("Y-m-d H:i:s");
+                    $sa=Db::name("consult_bids")->save($zxinfo);
+                    if($sa==false){
+                        Db::rollback();
+                        return error_show(1002,"咨询单修改失败");
+                    }
+                    $bol=$this->createCgd($cgd);
+                    if($bol==false){
+                        Db::rollback();
+                        return error_show(1002,"咨询订单创建失败");
+                    }
+                    $limt=[
+                        "spuCode"=>$zxinfo['spuCode'],
+                        "good_name"=>$zxinfo['good_name'],
+                        "brand_id"=>$zxinfo['brand_id'],
+                        "good_unit"=>$zxinfo['good_name'],
+                        "cat_id"=>$zxinfo['cat_id'],
+                        "good_type"=>0,
+                        "moq"=>1,
+                        "customized"=>$zxinfo['work_day'],
+                        "tax"=>$zxinfo['tax'],
+                        "supplierNo"=>$zxinfo["supplierNo"],
+                        "is_auth"=>0,
+                        "craft_desc"=>$zxinfo['good_name'],
+                        "good_remark"=>"",
+                        "good_img"=>$zxinfo['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,"咨询商品录入失败");
+                    }
+                    if(!empty($order_addr)){
+                        $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){
+                            $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'] =$zx['khNo'];
+                            $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"=>3,
+                                    "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,"发货地址添加创建失败");
+                                }
+                                $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,"发货地址添加创建失败");
+                                    }
+                                }
+
+                            }else{
+                                Db::rollback();
+                                return error_show(1002,"发货地址添加创建失败");
+                            }
+                        }
+                    }
+                Db::commit();
+                return error_show(0,"咨询订单创建成功",["order_code"=>$orderCode]);
+            }
+            Db::rollback();
+            return error_show(1002,"咨询订单创建失败");
+        }catch(\Exception $e){
+            Db::rollback();
+            return error_show(1003,$e->getMessage());
+        }
+    }
+
+    /**
+     * @return \think\response\Json|void
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     */
+
+    public function projectCreate(){
+        $planNo =isset($this->post['planNo'])&&$this->post['planNo']!=""?trim($this->post['planNo']):"";
+        if($planNo==""){
+            return error_show(1004,"参数planNo不能为空");
+        }
+       $plan =Db::name("project_plan")->where(["planNo"=>$planNo,"is_del"=>0])->find();
+       if($plan==false){
+           return error_show(1004,"未找到方案信息");
+       }
+        $feedbackid = Db::name("project_plan_rela")->where(["planNo"=>$planNo,"is_del"=>0])->column("feedback_id");
+       if($feedbackid==false){
+           return error_show(1004,"未找到方案反馈信息");
+       }
+        $arrtime=isset($this->post['arrtime'])&&$this->post['arrtime']!="" ?$this->post['arrtime']:"";
+        if($arrtime==""){
+            return error_show(1002, "参数arrtime不能为空");
+        }
+        $planinfo =isset($this->post['planinfo'])&&!empty($this->post['planinfo']) ?$this->post['planinfo']:"";
+        if($planinfo==""){
+            return error_show(1002, "参数planinfo不能为空");
+        }
+
+        foreach ($planinfo as $value){
+            $feedback = Db::name("project_plan")->where(["pgNo"=>$value['pgNo'],"projectNo"=>$plan['project'],"is_del"=>0])->find();
+            if($feedback==false){
+                return error_show(1002, "反馈数据未找到");
+            }
+            if($feedback['data_source']==1){
+                $feed=$this->project_good($feedback);
+                if($feed==false){
+                    return error_show(1002, "咨询订单生成失败");
+                }
+            }
+        }
+    }
+
+
+    public function project_zx($data){}
+    public function project_good($data){}
+
+
+
+
+
     public function list()
     {
         $page = isset($this->post['page']) && $this->post['page'] !== "" ? intval($this->post['page']) : "1";
@@ -1135,7 +1436,7 @@ class Sale extends BaseController
         Db::startTrans();
         try {
             $data = [
-                "wsm_code" => $wsm_code,
+                "wsm_code" => "",
                 "orderCode" => $orderCode,
                 "outCode" => $outCode,
                 "order_type" => $der['order_type'],

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

@@ -105,6 +105,7 @@ Route::rule('saleout','admin/Sale/out');
 Route::rule('salecustomer','admin/Sale/customer');
 Route::rule('xsaleout','admin/Sale/saleout');
 Route::rule('saleoutinfo','admin/Sale/outinfo');
+Route::rule('saleaddr','admin/Sale/addAddr');
 
 Route::rule('checkflist','admin/Check/flist');
 Route::rule('checklist','admin/Check/list');