wugg 2 years ago
parent
commit
828ae4ab2b
3 changed files with 277 additions and 23 deletions
  1. 0 23
      app/admin/controller/Project.php
  2. 273 0
      app/admin/controller/Version.php
  3. 4 0
      app/admin/route/app.php

+ 0 - 23
app/admin/controller/Project.php

@@ -355,30 +355,7 @@ class Project extends Base
                     true):"";
                 $catinfo = Db::name("cat")->where(["id"=>$good['cat_id']])->find();
                 $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:100;
-//                $good=[
-//                    "metal_id"=>$good['metal_id'],
-//                    "weight"=>$good["weight"],
-//                    "demo_fee"=>$good["demo_fee"],
-//                    "delivery_fee"=>$good["delivery_fee"],
-//                    "open_fee"=>$good["open_fee"],
-//                    "packing_fee"=>$good["pakge_fee"],
-//                    "mark_fee"=>$good["mark_fee"],
-//                    "nake_fee"=>$good["nake_fee"],
-//                    "cert_fee"=>$good["cert_fee"],
-//                    "cost_fee"=>$good["cost_fee"],
-//                    "num"=>$value["num"],
-//                    "good_img"=>$good["good_img"],
-//                    "good_img"=>$good["good_img"],
-//                    "good_img"=>$good["good_img"],
-//                    "good_img"=>$good["good_img"],
-//                    "good_img"=>$good["good_img"],
-//                ];
                 $good_img = $good['good_img'];
-//                if($good['is_gold_price']==1){
-//                    $price = GoldPrice($god, 0);
-//                }else{
-//                    $price = GoodPrice($god, 0);
-//                }
             }
             $nobel =\think\facade\Config::get("noble");
             $value['good_name'] = isset($good['good_name'])?$good['good_name']:"";

+ 273 - 0
app/admin/controller/Version.php

@@ -91,5 +91,278 @@ class Version extends BaseController
         }
         return app_show(0,"获取成功",$info);
     }
+    public function  feedlist(){
+        $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=[["is_del","=",0]];
+        $pgNo =isset($this->post['pgNo'])&&$this->post['pgNo']!==""?trim($this->post['pgNo']):"";
+        if($pgNo!==""){
+            $where[]=["pgNo","=",$pgNo];
+        }
+        $projectNo =isset($this->post['projectNo'])&&$this->post['projectNo']!==""?trim($this->post['projectNo']):"";
+        if($projectNo!==""){
+            $where[]=["projectNo","=",$projectNo];
+        }
+        $source =isset($this->post['source'])&&$this->post['source']!==""?intval($this->post['source']):"";
+        if($source!==""){
+            $where[]=["data_source","=",$source];
+        }
+        $cat_id =isset($this->post['cat_id'])&&$this->post['cat_id']!==""?intval($this->post['cat_id']):"";
+        if($cat_id!==""){
+            $where[]=["cat_id","=",$cat_id];
+        }
+        $status =isset($this->post['status'])&&$this->post['status']!==""?intval($this->post['status']):"";
+        if($status!==""){
+            $where[]=["status","=",$status];
+        }
+        $count = Db::name('project_feedback')->where($where)->count();
+        $total = ceil($count / $size);
+        $page = $page >= $total ? $total : $page;
+        $list = Db::name('project_feedback')->where($where)->page($page,$size)->order("addtime desc")->select();
+        $data=[];
+        foreach ($list as $value){
+            $value['can']=isset($value['cat_id'])&&$value['cat_id']!=""?made($value['cat_id']):"";
+
+            if($value['data_source']==1){
+                $good=Db::name("good_platform")->alias("a")->leftJoin("good b","a.spuCode=b.spuCode")->where
+                (["a.skuCode"=>$value['skuCode'],"a.is_del"=>0])->find();
+                $nake = Db::name("good_nake")->where([["spuCode","=",$value['spuCode']],["min_num","<=",
+                    $value["num"]],["is_del","=",0]])->order("min_num desc")->find();
+                $good['unit_id'] = isset($good['good_unit'])?$good['good_unit']:"";
+                $good['cost_desc'] = isset($good['craft_desc'])?$good['craft_desc']:"";
+                $good['pakge_fee'] = isset($nake['package_fee'])?$nake['package_fee']:"0";
+                $good['mark_fee'] = isset($nake['mark_fee'])?$nake['mark_fee']:"0";
+                $good['other_fee'] = isset($nake['other_fee'])?$nake['other_fee']:"0";
+                $good['cert_fee'] = isset($nake['cert_fee'])?$nake['cert_fee']:"0";
+                $good['delivery_fee'] = isset($nake['delivery_fee'])?$nake['delivery_fee']:"0";
+                $good['nake_fee'] = isset($nake['nake_fee'])?$nake['nake_fee']:"0";
+                $good['metal_id'] = isset($good['noble_metal'])?$good['noble_metal']:"0";
+                $spec = Db::name("good_spec")->where(["spuCode"=>$good['spuCode'],"is_del"=>0])->select()->toArray();
+                $good['specinfo']=[];
+                if(!empty($spec)){
+                    foreach ($spec as $vae){
+                        $specs=Db::name("specs")->where(["id"=>$vae['spec_id']])->find();
+                        $spec_value = Db::name("spec_value")->where(["id"=>$vae["spec_value_id"]])->find();
+                        $temp = ["specid"=>$vae['spec_id'],"spec_name"=>$specs['spec_name'],"spec_value_id"=>$vae['spec_value_id'],"spec_value_name"=>$spec_value["spec_value"]];
+                        $good['specinfo'][]=$temp;
+                    }
+
+                }
+                $nake =Db::name("good_nake")->where(["spuCode"=>$good['spuCode'],"is_del"=>0])->where([["min_num","<=",$value['num']]])
+                    ->order("min_num desc")->find();
+                $good['origin_price']=$nake['nake_total'];
+                $good['work_day']=$good['lead_time'];
+                $good_img = $good['good_thumb_img'];
+
+            }else{
+                $good=Db::name("consult_bids")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
+                $good['specinfo'] = isset($good['specinfo'])&&$good['specinfo']!=""?json_decode($good['specinfo'],
+                    true):"";
+                $catinfo = Db::name("cat")->where(["id"=>$good['cat_id']])->find();
+                $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']:100;
+                $good_img = $good['good_img'];
+            }
+            $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']:"";
+            $value['specinfo'] = isset($good['specinfo'])&&$good['specinfo']!=""?$good['specinfo']:[];
+            $value['unit_id'] = isset($good['unit_id'])?$good['unit_id']:"";
+            $unit = Db::name("unit")->where(['id'=>$value["unit_id"]])->find();
+            $value["unit_name"]=isset($unit['unit'])?$unit['unit']:"";
+            $value['cost_desc'] = isset($good['cost_desc'])?$good['cost_desc']:"";
+            $value['work_day'] = isset($good['work_day'])?$good['work_day']:"";
+            $value['delivery_day'] = isset($good['delivery_day'])?$good['delivery_day']:"";
+            $value['expire_day'] = isset($good['expire_day'])?$good['expire_day']:"0";
+            $value['good_img'] = $good_img;
+            $value['expire_day'] = isset($good['expire_day'])?$good['expire_day']:"";
+            $value['origin_place'] = isset($good['origin_place'])?$good['origin_place']:"";
+            $value['supplierNo'] = isset($good['supplierNo'])?$good['supplierNo']:"";
+            $value['pay_way'] = isset($good['pay_way'])?$good['pay_way']:"";
+            $value['tax'] = isset($good['tax'])?$good['tax']:"";
+            $value['send_way'] = isset($good['send_way'])?$good['send_way']:"";
+            $value['metal_id'] = isset($good['metal_id'])?$good['metal_id']:"";
+            $value['metal_name'] = isset($nobel[$good['metal_id']])?$nobel[$good['metal_id']]:"";
+            $value['is_gold_price'] = isset($good['is_gold_price'])?$good['is_gold_price']:"0";
+            $value['config'] = isset($good['config'])?$good['config']:"";
+            $value['other_config'] = isset($good['other_config'])?$good['other_config']:"";
+            $value['weight'] = isset($good['weight'])?$good['weight']:"";
+            $value['is_diff'] = isset($good['is_diff'])?$good['is_diff']:"0";
+            $value['demo_fee'] = isset($good['demo_fee'])?$good['demo_fee']:"0";
+            $value['deivery_fee'] = isset($good['deivery_fee'])?$good['deivery_fee']:"0";
+            $value['open_fee'] = isset($good['open_fee'])?$good['open_fee']:"0";
+            $value['pakge_fee'] = isset($good['pakge_fee'])?$good['pakge_fee']:"0";
+            $value['nake_fee'] = isset($good['nake_fee'])?$good['nake_fee']:"0";
+            $value['mark_fee'] = isset($good['mark_fee'])?$good['mark_fee']:"0";
+            $value['cert_fee'] = isset($good['cert_fee'])?$good['cert_fee']:"0";
+            $value['cost_fee'] = isset($good['cost_fee'])?$good['cost_fee']:"0";
+            $value['rate'] =round(($value['sale_price'] - $value['origin_price'])/$value['sale_price'] * 100,2);
+            $value['supply_area'] = isset($good['supply_area'])?$good['supply_area']:"";
+            $data[]=$value;
+        }
+        return app_show(0,"获取成功",['list'=>$data,'count'=>$count]);
+    }
+    public function project_plan(){
+        $projectNo = isset($this->post['projectNo'])&&$this->post['projectNo']!==""?trim($this->post['projectNo']):"";
+        if($projectNo==""){
+            return error_show(1004,"参数projectNo不能为空");
+        }
+
+        $type = isset($this->post['type'])&&$this->post['type']!=="" ? intval($this->post['type']) :0;
+
+        $info =Db::name("project")->where(["projectNo"=>$projectNo,"is_del"=>0])->find();
+        if($info==false){
+            return error_show(1004,"未找到项目信息");
+        }
+        $plat = Db::name("platform")->where(['id'=>$info['platform_id']])->find();
+        $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"=>$info['khNo']])->find();
+        $info['khName'] = isset($khinfo['companyName'])?$khinfo['companyName']:"";
+        if($type==1){
+            $where = ['projectNo'=>$projectNo,"is_del"=>0,"status"=>1];
+        }else{
+            $where = ['projectNo'=>$projectNo,"is_del"=>0];
+        }
+        $ladder = Db::name("project_plan")->where($where)->order("addtime desc")->select()->toArray();
+        $info=[];
+        if(!empty($ladder)){
+            foreach ($ladder as $value){
+                $value['feedback']=[];
+                $feedback =Db::name("project_plan_rela")->where(["planNo"=>$value['planNo'],"is_del"=>0])->column("feedback_id,sale_price,sale_num");
+                if(!empty($feedback)){
+                    $feedid = array_column($feedback,"feedback_id");
+                    $feedlist = Db::name("project_feedback")->where(["id"=>$feedid,"is_del"=>0])->select();
+                    if(!empty($feedlist)){
+                        foreach ($feedlist as $val){
+                            $key =array_search($val['id'],$feedid);
+                            $price = $feedback[$key]['sale_price'];
+                            $val["cat_info"]=isset($val['cat_id'])&&$val['cat_id']!=""? made($val['cat_id'],[]):[];
+                            $val["sale_price"]=$price;
+                            $val["origin_num"]=$val['num'];
+                            $val["num"]=$feedback[$key]['sale_num'];
+                            if($val['data_source']!=1){
+                                $good=Db::name("consult_bids")->where(["spuCode"=>$val['spuCode'],"is_del"=>0])->find();
+                                $good['specinfo']=isset($good['specinfo'])&&$good['specinfo']!=""?json_decode($good['specinfo'],true):[];
+                            }else{
+                                $good=Db::name("good")->where(["spuCode"=>$val['spuCode'],"is_del"=>0])->find();
+                                $spec = Db::name("good_spec")->where(["spuCode"=>$val['spuCode'],"is_del"=>0])->select()->toArray();
+                                $good['specinfo']=[];
+                                if(!empty($spec)){
+                                    foreach ($spec as $vae){
+                                        $specs=Db::name("specs")->where(["id"=>$vae['spec_id']])->find();
+                                        $spec_value = Db::name("spec_value")->where(["id"=>$vae["spec_value_id"]])->find();
+                                        $temp = ["specid"=>$vae['spec_id'],"spec_name"=>$specs['spec_name'],"spec_value_id"=>$vae['spec_value_id'],"spec_value_name"=>$spec_value["spec_value"]];
+                                        $good['specinfo'][]=$temp;
+                                    }
+                                }
+                            }
+                            if(isset($good['brand_id'])){
+                                $brand =Db::name("brand")->where(["id"=>$good['brand_id']])->find();
+                            }
+                            $val['good_img']=isset($good['good_img'])&&$good['good_img']!=""?trim($good['good_img']):"";
+                            $val['brand_id']=isset($good['brand_id'])&&$good['brand_id']!=""?$good['brand_id']:"";
+                            $val['brand_name']=isset($brand['brand_name'])&&$brand['brand_name']!=""?$brand['brand_name']:"";
+                            $val['specinfo']=isset($good['specinfo'])&&$good['specinfo']!=""?$good['specinfo']:[];
+                            $value['feedback'][]=$val;
+                        }
+                    }
+                }
+                $info[]=$value;
+            }
+        }
+        return app_show(0,"获取成功",$info);
+    }
+    public function  feedCheck(){
+        $feedid = isset($this->post['feedid'])&&!empty($this->post['feedid']) ? $this->post['feedid'] :[];
+        if(empty($feedid)){
+            return error_show(1004,"参数feedid不能为空");
+        }
+        $feedid=array_unique($feedid);
+        $selec = Db::name("project_feedback")->where(["id"=>$feedid,'is_del'=>0,"status"=>0])->select()->toArray();
+        if(empty($selec)){
+            return error_show(1004,"反馈数据信息未找到");
+        }
+        $pgnos =array_column($selec,"pgNo");
+        $infolist =   Db::name("project_info")->where(['pgNo'=>$pgnos])->select()->toArray();
+        if(empty($infolist)){
+            return error_show(1004,"项目商品数据未找到");
+        }
+        Db::startTrans();
+        try{
+            $up = Db::name("project_feedback")->where(["id"=>$feedid,'is_del'=>0,"status"=>0])->save(["status"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
+            if($up){
+
+                foreach ($infolist as $value){
+                    $value['status']=3;
+                    $value['updatetime']=date("Y-m-d H:i:s");
+                    $up = Db::name("project_info")->save($value);
+                    if($up){
+                        $count = Db::name("project_info")->where(["projectNo"=>$value['projectNo'],"status"=>2])
+                            ->count();
+                        if($count==0){
+                            $proc =Db::name("project")->where(["projectNo"=>$value['projectNo']])->save
+                            (["status"=>3,"updatetime"=>date("Y-m-d H:i:s")]);
+                            if(!$proc){
+                                Db::rollback();
+                                return error_show(1004,"反馈数据选择失败");
+                            }
+                        }
+                    }else{
+                        Db::rollback();
+                        return error_show(1004,"反馈数据选择失败");
+                    }
+                }
+                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  planCheck(){
+        $planNos = isset($this->post['planNos'])&&!empty($this->post['planNos'])? $this->post['planNos'] :"";
+        if($planNos==""){
+            return error_show(1004,"参数planNos不能为空");
+        }
+        $status=isset($this->post['status'])&&$this->post['status']!=="" ? intval($this->post['status']):"";
+        if($status==""){
+            return error_show(1004,"参数status不能为空");
+        }
+        $selec = Db::name("project_plan")->where(["planNo"=>$planNos,'is_del'=>0,"status"=>0])->select()->toArray();
+        if(empty($selec)){
+            return error_show(1004,"项目方案数据信息未找到");
+        }
+        Db::startTrans();
+        try{
+            $up = Db::name("project_plan")->where(["planNo"=>$planNos,'is_del'=>0,"status"=>0])->save(["status"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
+            if($up) {
+                $project = array_column($selec, "projectNo");
+                if (empty($project)) {
+                    Db::rollback();
+                    return error_show(1004, "方案选择失败");
+                }
+                $pro = Db::name("project")->where(["projectNo" => $project, "status" => 4])->save(["status" => 5, "updatetime" => date("Y-m-d H:i:s")]);
+                if ($pro) {
+                    Db::commit();
+                    return app_show(0, "方案数据修改成功");
+                }
+            }
+            Db::rollback();
+            return error_show(1004,"方案选择失败");
+        }catch (\Exception $e){
+            Db::rollback();
+            return error_show(1004,$e->getMessage());
+        }
+
+    }
 
 }

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

@@ -457,4 +457,8 @@ Route::rule("usestatus","admin/Orderuse/status");
 Route::rule("usedelete","admin/Orderuse/dele");
 
 Route::rule("projectshare","admin/Version/info");
+Route::rule("projectsharelist","admin/Version/feedlist");
+Route::rule("projectshareplan","admin/Version/project_plan");
+Route::rule("projectsharecheck","admin/Version/feedCheck");
+Route::rule("plancheck","admin/Version/planCheck");