Browse Source

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

panlumeng 3 years ago
parent
commit
9829c54a3d

+ 127 - 44
app/admin/controller/Consult.php

@@ -798,6 +798,23 @@ class Consult extends Base
         $creater= isset($user["data"]['nickname']) ?  $user["data"]['nickname'] : "";
         $bidNo=makeNo("BD");
         $spucode=makeNo("SPU");
+        $catinfo = Db::name("cat")->where(["id"=>$cat_id])->find();
+        $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:1;
+        if($is_gold_price=1){
+            $gold = Db::name("gold_price1")->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;
+            $saleprice = $open_fee/$zxinfo['num'] + $weight* $gold["price"] + $cost_fee/(1-$budget)*
+                $weight+$pakge_fee+$mark_fee+$cert_fee+$nake_fee;
+        }else{
+            $saleprice =  $open_fee/$zxinfo['num'] +
+                $cost_fee*$weight+$pakge_fee+$mark_fee+$cert_fee+$nake_fee/(1-$budget);
+            $total_fee =  $open_fee/$zxinfo['num'] +
+                $cost_fee*$weight+$pakge_fee+$mark_fee+$cert_fee+$nake_fee;
+        }
+
+
         $data=[
             "bidNo"=>$bidNo,
             "infoNo"=>$infoNo,
@@ -807,8 +824,6 @@ class Consult extends Base
             "brand_id"=>$brandid,
             "cat_id"=>$cat_id,
             "specinfo"=>json_encode($specinfo),
-//            "color"=>$color,
-//            "material"=>$material,
             "unit_id"=>$unit_id,
             "cost_desc"=>$cost_desc,
             "work_day"=>$work_day,
@@ -838,7 +853,7 @@ class Consult extends Base
             "total_fee"=>$total_fee,
             "supply_area"=>$supply_area,
             "remark"=>$remark,
-            "sale_price"=>0,
+            "sale_price"=>$saleprice,
             "createrid"=>$createrid,
             "creater"=>$creater,
             "status"=>$zxinfo['status']==1 ?1 :2,
@@ -890,7 +905,7 @@ class Consult extends Base
                         $temp['data_source']=2;
                         $temp['cat_id']=$cat_id;
                         $temp['budget_price']=$projectinfo['budget_price'];
-                        $temp['sale_price']=$total_fee;
+                        $temp['sale_price']=$saleprice;
                         $temp['origin_price']=$total_fee;
                         $temp['num']=$zxinfo['num'];
                         $temp['status']=0;
@@ -1002,6 +1017,10 @@ class Consult extends Base
         if($zxinfo==false){
             return error_show(1003,"未找到信息数据");
         }
+        $zx = Db::name("consult_order")->where(["zxNo"=>$zxinfo['zxNo'],"is_del"=>0])->find();
+        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不能为空");
@@ -1056,47 +1075,111 @@ class Consult extends Base
         $is_diff = isset($this->post['is_diff'])&&$this->post['is_diff']!==""? intval($this->post['is_diff']):"";
         $supply_area = isset($this->post['supply_area'])&&$this->post['supply_area']!==""? intval($this->post['supply_area']):"";
         $remark = isset($this->post['remark'])&&$this->post['remark']!=""? trim($this->post['remark']):"";
-        $data=[
-            "good_name"=>$pname,
-            "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,
-            "delivery_day"=>$delivery_day,
-            "good_img"=>$good_img,
-            "expire_day"=>$expire_day,
-            "origin_place"=>$origin_place,
-            "supplierNo"=>$supplierNo,
-            "pay_way"=>$pay_way,
-            "tax"=>$tax,
-            "send_way"=>$send_way,
-            "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,
-            "delivery_fee"=>$delivery_fee,
-            "open_fee"=>$open_fee,
-            "pakge_fee"=>$pakge_fee,
-            "nake_fee"=>$nake_fee,
-            "mark_fee"=>$mark_fee,
-            "cert_fee"=>$cert_fee,
-            "cost_fee"=>$cost_fee,
-            "total_fee"=>$total_fee,
-            "supply_area"=>$supply_area,
-            "remark"=>$remark,
-            "updatetime"=>date("Y-m-d H:i:s")
-        ];
-        $insert= Db::name("consult_bids")->where($bidinfo)->save($data);
-        if($insert){
-            return app_show(0,"编辑成功");
+        $catinfo = Db::name("cat")->where(["id"=>$cat_id])->find();
+        $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:1;
+        if($is_gold_price=1){
+            $gold = Db::name("gold_price1")->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;
+            $saleprice = $open_fee/$zxinfo['num'] + $weight* $gold["price"] + $cost_fee/(1-$budget)*
+                $weight+$pakge_fee+$mark_fee+$cert_fee+$nake_fee;
         }else{
-            return error_show(1004,"编辑失败");
+            $saleprice =  $open_fee/$zxinfo['num'] +
+                $cost_fee*$weight+$pakge_fee+$mark_fee+$cert_fee+$nake_fee/(1-$budget);
+            $total_fee =  $open_fee/$zxinfo['num'] +
+                $cost_fee*$weight+$pakge_fee+$mark_fee+$cert_fee+$nake_fee;
+        }
+        Db::startTrans();
+        try{
+            $data=[
+                "good_name"=>$pname,
+                "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,
+                "delivery_day"=>$delivery_day,
+                "good_img"=>$good_img,
+                "expire_day"=>$expire_day,
+                "origin_place"=>$origin_place,
+                "supplierNo"=>$supplierNo,
+                "pay_way"=>$pay_way,
+                "tax"=>$tax,
+                "send_way"=>$send_way,
+                "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,
+                "delivery_fee"=>$delivery_fee,
+                "open_fee"=>$open_fee,
+                "pakge_fee"=>$pakge_fee,
+                "nake_fee"=>$nake_fee,
+                "mark_fee"=>$mark_fee,
+                "cert_fee"=>$cert_fee,
+                "cost_fee"=>$cost_fee,
+                "total_fee"=>$total_fee,
+                "sale_price"=>$saleprice,
+                "supply_area"=>$supply_area,
+                "remark"=>$remark,
+                "updatetime"=>date("Y-m-d H:i:s")
+            ];
+            $insert= Db::name("consult_bids")->where($bidinfo)->save($data);
+            if($insert){
+                if($zx['is_project']==1 && $zx['projectNo']!="" && $zxinfo['pgNo']!=""){
+                    $projectinfo =Db::name("project_info")->where(["pgNo"=>$zxinfo["pgNo"],"projectNo"=>$zx['projectNo'],"is_del"=>0])->find();
+                    if($projectinfo==false){
+                        Db::rollback();
+                        return error_show(1006,"未找到项目信息");
+                    }
+                    $feed = Db::name("project_feedback")->where(["pgNo"=>$zxinfo["pgNo"],
+                        "projectNo"=>$zx['projectNo'],"spuCode"=>$bidinfo['spuCode'],"is_del"=>0])->find();
+                  if($feed==false){
+                      Db::rollback();
+                      return error_show(1006,"未找到项目反馈信息");
+                  }
+                $feed['good_name']=$pname;
+                $feed['good_type']=$projectinfo['good_type'];
+                $feed['cat_id']=$cat_id;
+                $feed['sale_price']=$saleprice;
+                $feed['origin_price']=$total_fee;
+                $temp['updatetime']=date("Y-m-d H:i:s");
+                $nu = Db::name("project_feedback")->save($feed);
+                if($nu==false){
+                    Db::rollback();
+                    return error_show(1006,"项目反馈失败");
+                }else{
+                    $projectinfo['status']=2;
+                    $projectinfo['updatetime']=date("Y-m-d H:i:s");
+                    $up = Db::name("project_info")->save($projectinfo);
+                    if($up){
+                        $count = Db::name("project_info")->where(["projectNo"=>$projectinfo['projectNo'],"status"=>1])
+                            ->count();
+                        if($count==0){
+                            $proc =Db::name("project")->where(["projectNo"=>$projectinfo['projectNo'],"status"=>1])->save
+                            (["status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
+                            if($proc==false){
+                                Db::rollback();
+                                return error_show(1006,"项目反馈失败");
+                            }
+                        }
+                    }
+                }
+            }
+                Db::commit();
+                return app_show(0,"编辑成功");
+            }else{
+                Db::rollback();
+                return error_show(1004,"编辑失败");
+            }
+        }catch (\Exception $e){
+            Db::rollback();
+            return error_show(1004,$e->getMessage());
         }
     }
     public function bargain_add(){

+ 13 - 0
app/admin/controller/Goodup.php

@@ -46,6 +46,19 @@ class Goodup extends BaseController
         if($supplierNo!==""){
             $where[]=['supplierNo',"like","%$supplierNo%"];
         }
+        $supplier = isset($this->post['supplier']) && $this->post['supplier'] !=="" ? trim($this->post['supplier'])
+            :"";
+        if($supplier!==""){
+            $suppliernos = Db::name("supplier")->where([["name","like","%$supplier%"]])->column("code");
+            $where[]=['supplierNo',"in",$suppliernos];
+        }
+        $company = isset($this->post['company']) && $this->post['company'] !=="" ? trim($this->post['company'])
+            :"";
+        if($company!==""){
+            $companyNos = Db::name("business")->where([["company","like","%$company%"]])->column("companyNo");
+            $where[]=['companyNo',"in",$companyNos];
+        }
+
         $brandid = isset($this->post['brandid']) && $this->post['brandid'] !=="" ? intval($this->post['brandid'])
             :"";
         if($brandid!==""){

+ 20 - 16
app/admin/controller/Project.php

@@ -355,15 +355,16 @@ class Project extends Base
                     "cost_fee"=>$good["cost_fee"],
                     "num"=>$value["num"],
                 ];
-                if($good['is_gold_price']==1){
-                    $price = GoldPrice($god, 0);
-                }else{
-                    $price = GoodPrice($god, 0);
-                }
-                $good['origin_price'] = $price;
+//                if($good['is_gold_price']==1){
+//                    $price = GoldPrice($god, 0);
+//                }else{
+//                    $price = GoodPrice($god, 0);
+//                }
+                $good['origin_price'] = $good["nake_fee"];
             }
             $nobel =\think\facade\Config::get("noble");
             $value['good_name'] = isset($good['good_name'])?$good['good_name']:"";
+            $value['good_img'] = isset($good['good_img'])?$good['good_img']:"";
             $value['brand_id'] = isset($good['brand_id'])?$good['brand_id']:"";
             $brand = Db::name("brand")->where(['id'=>$value["brand_id"]])->find();
             $value['brand_name'] =isset($brand['brand_name']) ? $brand['brand_name']:"";
@@ -462,7 +463,7 @@ class Project extends Base
         if($info==false){
             return error_show(1004,"未找到项目信息");
         }
-        if($info['status']!=3 || $info['status']!=4){
+        if($info['status']!=3 && $info['status']!=4){
             return error_show(1004,"项目状态有误");
         }
         $feedback =isset($this->post['feedback'])&&!empty($this->post['feedback'])?$this->post['feedback']:"";
@@ -489,9 +490,10 @@ class Project extends Base
         try {
             $planNo=makeNo("PLA");
             $total=0;
+            $num_t=0;
             $dl=[];
             foreach ($feedinfo as $value){
-                    $key =array_search($value['id'],$feedback);
+                    $key =array_search($value['id'],$feedid);
                     $price = $feedback[$key];
                     if($price['sale_price']<$value['origin_price']){
                         Db::rollback();
@@ -512,6 +514,7 @@ class Project extends Base
                     $temp['addtime']=date("Y-m-d H:i:s");
                     $temp['updatetime']=date("Y-m-d H:i:s");
                     $total+=$value['num']*$value['sale_price'];
+                    $num_t+=$value['num'];
                     $dl[]=$temp;
                 }
             $inn=Db::name("project_plan_rela")->insertAll($dl);
@@ -522,6 +525,7 @@ class Project extends Base
                     "createrid"=>$createrid,
                     "creater"=>$creater,
                     "sale_total"=>round($total,2),
+                    "total_num"=>$num_t,
                     "status"=>0,
                     "is_del"=>0,
                     "addtime"=>date("Y-m-d H:i:s"),
@@ -585,11 +589,11 @@ class Project extends Base
         $info['platform_name']=isset($plat['platform_name'])?$plat['platform_name']:"";
         $info['platform_code']=isset($plat['platform_code'])?$plat['platform_code']:"";
 
-        $khinfo = Db::name("customer_info")->where(["companyNo"=>$plat['khNo']])->find();
-        $info['khName'] = isset($khinfo['CompanyName'])?$khinfo['CompanyName']:"";
+        $khinfo = Db::name("customer_info")->where(["companyNo"=>$info['khNo']])->find();
+        $info['khName'] = isset($khinfo['companyName'])?$khinfo['companyName']:"";
 
         $ladder = Db::name("project_plan")->where(['projectNo'=>$projectNo,"is_del"=>0])->select()->toArray();
-        $info['plan']=[];
+        $info=[];
         if(!empty($ladder)){
             foreach ($ladder as $value){
                 $value['feedback']=[];
@@ -597,13 +601,13 @@ class Project extends Base
                 if(!empty($feedback)){
                     $feedlist = Db::name("project_feedback")->where(["id"=>$feedback,"is_del"=>0])->select();
                     if(!empty($feedlist)){
-                        foreach ($feedlist as $value){
-                            $value["cat_info"]=isset($value['cat_id'])&&$value['cat_id']!=""? made($value['cat_id'],[]):[];
-                            $plan['feedback'][]=$value;
+                        foreach ($feedlist as $val){
+                            $val["cat_info"]=isset($val['cat_id'])&&$val['cat_id']!=""? made($val['cat_id'],[]):[];
+                            $value['feedback'][]=$val;
                         }
                     }
                 }
-                $info['plan'][]=$value;
+                $info[]=$value;
             }
         }
         return app_show(0,"获取成功",$info);
@@ -670,7 +674,7 @@ class Project extends Base
         if($status==""){
             return error_show(1004,"参数status不能为空");
         }
-        $selec = Db::name("project_plan")->where(["planNo"=>$planNos,'is_del'=>0,"status"=>0])->select();
+        $selec = Db::name("project_plan")->where(["planNo"=>$planNos,'is_del'=>0,"status"=>0])->select()->toArray();
         if(empty($selec)){
             return error_show(1004,"项目方案数据信息未找到");
         }

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

@@ -404,17 +404,53 @@ class Sale extends BaseController
                     $ou =Db::name("order_out")->insert($out);
                     if($ou==false){
                         Db::rollback();
-                        return error_show(1002,"咨询订单创建失败");
+                        return error_show(1002,"发货地址添加创建失败");
                     }
+                    $num = $value['receipt_quantity'];
+                    $orsend=[];
                     foreach ($order as $val){
-
+                        $tep=[];$ornum=0;
+                        if($val['wsend_num']>=$num){
+                            $val['wsend_num']-=$num;
+                            $val['send_num']+=$num;
+                            $ornum =$num;
+                            $num=0;
+                        }else{
+                            $num-=$val['wsend_num'];
+                            $val['send_num']+=$val['wsend_num'];
+                            $ornum =$val['wsend_num'];
+                            $val['wsend_num']=0;
+                        }
+                        $or =Db::name("order_num")->save($val);
+                        if($or==false){
+                            Db::rollback();
+                            return error_show(1002,"发货地址添加创建失败");
+                        }
+                        $tep=[
+                            "cgdNo"=>$val['cgdNo'],
+                            "outCode"=>$outCode,
+                            "send_num"=>$ornum,
+                            "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($num==0){
+                            break;
+                        }
                     }
 
                 }else{
                     Db::rollback();
-                    return error_show(1002,"咨询订单创建失败");
+                    return error_show(1002,"发货地址添加创建失败");
                 }
             }
+            Db::commit();
+            return app_show(0,"发货地址添加完成");
         }catch(\Exception $e){
             Db::rollback();
             return error_show(1002,$e->getMessage());
@@ -1661,7 +1697,12 @@ class Sale extends BaseController
 //            return error_show(1002, "订单code不存在");
 //        }
         $sendtime = isset($this->post['sendtime']) && $this->post['sendtime'] !== "" ? $this->post['sendtime'] : date("Y-m-d H:i:s");
-
+        $order =Db::name("order_num")->where(["orderCode"=>$orderCode,"status"=>1])->where([["wsend_num",">=",0]])
+            ->select()->toArray();
+        if(empty($order)){
+            return error_show(1004,"未找到可以发货得采购单数据");
+        }
+        Db::startTrans();
         try {
             $addrlst =[
                 "orderCode"=>$orderCode,
@@ -1700,6 +1741,43 @@ class Sale extends BaseController
                 ];
                 $datainfo = Db::name('order_out')->insert($data,true);
                 if($datainfo>0){
+                    $num = $send_num;
+                    foreach ($order as $val){
+                        $tep=[];
+                        $ornum=0;
+                        if($val['wsend_num']>=$num){
+                            $val['wsend_num']-=$num;
+                            $val['send_num']+=$num;
+                            $ornum =$num;
+                            $num=0;
+                        }else{
+                            $num-=$val['wsend_num'];
+                            $val['send_num']+=$val['wsend_num'];
+                            $ornum =$val['wsend_num'];
+                            $val['wsend_num']=0;
+                        }
+                        $or =Db::name("order_num")->save($val);
+                        if($or==false){
+                            Db::rollback();
+                            return error_show(1002,"发货地址添加创建失败");
+                        }
+                        $tep=[
+                            "cgdNo"=>$val['cgdNo'],
+                            "outCode"=>$outCode,
+                            "send_num"=>$ornum,
+                            "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($num==0){
+                            break;
+                        }
+                    }
                     Db::commit();
                     return app_show(0,"出库单新建成功",["outCode"=>$outCode]);
                 }

+ 3 - 6
app/admin/controller/Suppler.php

@@ -166,7 +166,7 @@ class Suppler extends BaseController
                         $data['capital']= isset($license['registered_capital'])?$license['registered_capital']:"";
                         $data['nature']= isset($license['type'])?$license['type']:"";
                         $data['registercode']= isset($license['registration_number'])?$license['registration_number']:"";
-                        $data['status']=1;
+                        $data['ocr_status']=1;
                         if($name!=$license['name']){
                             $data['remark']="企业名称与营业执照不匹配";
                             $data['status']=0;
@@ -400,7 +400,7 @@ class Suppler extends BaseController
             if($supplier_img!=="" &&$info['license_img']!=$supplier_img){
                 $ocr=new Ocr();
                 $dataw =  $ocr->query("",$supplier_img);
-                // var_dump($data);
+
                 if($dataw['code']==0 && isset($dataw['data']['result'])){
                     $license = $dataw['data']['result'];
                     $data['legaler']= isset($license['legal_representative'])?$license['legal_representative']:"";
@@ -410,20 +410,17 @@ class Suppler extends BaseController
                     $data['capital']= isset($license['registered_capital'])?$license['registered_capital']:"";
                     $data['nature']= isset($license['type'])?$license['type']:"";
                     $data['registercode']=isset($license['registration_number'])? $license['registration_number']:"";//12356
-                    $data['status']=1;
+                    $data['ocr_status']=1;
                     if($name!=$license['name']){
                         $data['remark']="企业名称与营业执照不匹配";
-                        $data['status']=0;
                         $data['ocr_status']=1;
                     }
                     if($registercode!=$license['registration_number']&&$registercode!=''){
                         $data['remark'].="企业名称与营业执照不匹配";
-                        $data['status']=0;
                         $data['ocr_status']=1;
                     }
                 }else{
                     $data['remark']="营业执照识别失败";
-                    $data['status']=0;
                     $data['ocr_status']=2;
                 }
             }