wugg 3 years ago
parent
commit
1ffeb09f60
3 changed files with 52 additions and 8 deletions
  1. 49 6
      app/admin/controller/Good.php
  2. 2 2
      app/admin/controller/WareHouse.php
  3. 1 0
      app/admin/route/app.php

+ 49 - 6
app/admin/controller/Good.php

@@ -28,7 +28,8 @@ class Good extends \app\BaseController
         $condtion=["a.is_del"=>0,"b.is_del"=>0];
         $wsmcode =isset($this->post['wsmcode']) &&$this->post['wsmcode'] !=="" ? trim($this->post['wsmcode']):"";
         if($wsmcode!=""){
-            $condtion["c.wsm_code"] = $wsmcode;
+            $typecode= Db::name("good_stock")->where(["wsm_code"=>$wsmcode,'is_del'=>0])->column("good_type_code");
+            $condtion["b.type_code"] = $typecode;
         }
         $good_code =isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
         if($good_code!=""){
@@ -59,13 +60,10 @@ class Good extends \app\BaseController
         }
 
         $count = Db::name("good_type")->alias("b")->join("good a","a.good_code = b.good_code","left")
-            ->join("good_stock c","c.good_type_code = b.type_code","left")
-            ->where($condtion)->where("c.is_del=0 or c.is_del is null")->count();
-      //  echo Db::name("good_type")->getLastSql();
+            ->where($condtion)->count();
         $page>=ceil($count/$size) ? $page=ceil($count/$size) :"";
         $list = Db::name("good_type")->alias("b")->join("good a","a.good_code = b.good_code","left")
-            ->join("good_stock c","c.good_type_code = b.type_code","left")->where($condtion)->where("c.is_del=0 or c.is_del is null")
-            ->field("b.id,a.good_code,a.good_name,a.good_desc,a.brand,a.original_price,a.cg_saler,a.good_type,a.market_fee,a.gys_code,a.unit,
+          ->where($condtion)->field("b.id,a.good_code,a.good_name,a.good_desc,a.brand,a.original_price,a.cg_saler,a.good_type,a.market_fee,a.gys_code,a.unit,
                 a.sort_f,a.sort_s,a.sort_t,b.color,b.material,b.specs,b.is_main,b.type_code,b.attribute,b.status as bstatus,a.addtime,a.updatetime")
             ->page($page,$size)->select();
         $data=[];
@@ -141,4 +139,49 @@ class Good extends \app\BaseController
         return app_show(0,"获取成功",$statlist);
     }
 
+    public function all(){
+        $condtion=["a.is_del"=>0,"b.is_del"=>0];
+        $wsmcode =isset($this->post['wsmcode']) &&$this->post['wsmcode'] !=="" ? trim($this->post['wsmcode']):"";
+        if($wsmcode!=""){
+            $typecode= Db::name("good_stock")->where(["wsm_code"=>$wsmcode,'is_del'=>0])->column("good_type_code");
+            $condtion["b.type_code"] = $typecode;
+        }
+        $good_code =isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
+        if($good_code!=""){
+            $condtion['b.type_code'] = $good_code;
+        }
+        $goodcode =isset($this->post['good_code']) &&$this->post['good_code'] !=="" ? trim($this->post['good_code'])
+            :"";
+        if($goodcode!=""){
+            $condtion['a.good_code'] = $goodcode;
+        }
+        $good_name =isset($this->post['good_name']) &&$this->post['good_name'] !=="" ? trim($this->post['good_name'])
+            :"";
+        if($good_name!=""){
+            $condtion['a.good_name'] = Db::raw("like '%{$good_name}%'");
+        }
+        $supplierNo =isset($this->post['supplierNo']) &&$this->post['supplierNo'] !=="" ? trim($this->post['supplierNo']):"";
+        if($supplierNo!=""){
+            $supplier = Db::name("supplier")->where(["code"=>$supplierNo])->find();
+            if(empty($supplier)){
+                return error_show(1004,"未找到供应商信息");
+            }
+            $condtion["a.gys_code"] = $supplierNo;
+        }
+
+        $list = Db::name("good_type")->alias("b")->join("good a","a.good_code = b.good_code","left")
+            ->where($condtion)->field("b.id,a.good_code,a.good_name,a.good_desc,a.brand,a.original_price,a.cg_saler,a.good_type,a.market_fee,a.gys_code,a.unit,
+                a.sort_f,a.sort_s,a.sort_t,b.color,b.material,b.specs,b.is_main,b.type_code,b.attribute,b.status as bstatus,a.addtime,a.updatetime")
+            ->select();
+        $data=[];
+        foreach ($list as $key=>$value){
+            $stock = Db::name("good_stock")->where(["good_type_code"=>$value['type_code'],"is_del"=>0])->sum("usable_stock");
+            $value['usable_stock']=$stock;
+            $supplier = Db::name("supplier")->where(["code"=>$value['gys_code']])->find();
+            $value['supplier_name'] =isset($supplier['name']) ?$supplier['name'] :"";
+            $data[]=$value;
+        }
+        return app_show(0,"获取成功",$data);
+    }
+
 }

+ 2 - 2
app/admin/controller/WareHouse.php

@@ -152,7 +152,7 @@ class WareHouse extends BaseController
             ->where($condition)->count();
         $page>=ceil($count/$size) ? $page = ceil($count/$size): '';
         $list = Db::name("warehouse_info")->alias("a")->join("warehouse_addr b ","a.wsm_code=b.wsm_code","left")
-            ->where($condition)->field("a.id,a.wsm_code,a.name,a.wsm_type,a.supplierNo,a.addr,a.contactor,a.mobile,a.position,a.status,a.addtime,
+            ->where($condition)->field("a.id,a.wsm_code,a.name,a.wsm_type,a.supplierNo,a.addr,a.contactor,a.contactor_name,a.mobile,a.position,a.status,a.addtime,
             a.updatetime,b.wsm_type,b.wsm_name,b.wsm_mobile,b.wsm_addr,b.addr_code,a.addrs_code")->page($page,$size)->order("a.addtime desc")
             ->select();
         foreach ($list as $key=>$value){
@@ -181,7 +181,7 @@ class WareHouse extends BaseController
           return  error_show(1004,"参数id不能为空");
         };
         $warse = Db::name("warehouse_info")->alias("a")->join("warehouse_addr b ","a.wsm_code=b.wsm_code","left")
-            ->where(["a.id"=>$id,"a.is_del"=>0])->field("a.id,a.wsm_code,a.name,a.wsm_type,a.supplierNo,a.addr,a.contactor,a.mobile,a.position,a.status,a.addtime,
+            ->where(["a.id"=>$id,"a.is_del"=>0])->field("a.id,a.wsm_code,a.name,a.wsm_type,a.supplierNo,a.addr,a.contactor,a.contactor_name,a.mobile,a.position,a.status,a.addtime,
             a.updatetime,b.wsm_type,b.wsm_name,b.wsm_mobile,b.wsm_addr,b.addr_code,a.addrs_code")->find();
         if(empty($warse)){
             return error_show(1004,"未找到数据");

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

@@ -132,4 +132,5 @@ Route::rule("goodwarn","admin/Good/SetWarn");
 Route::rule("goodstatus","admin/Good/SetStatus");
 Route::rule("goodstat","admin/Good/Stat");
 Route::rule("goodstock","admin/Good/GetStock");
+Route::rule("goodall","admin/Good/all");