|
@@ -352,8 +352,7 @@ class Good extends Base
|
|
|
if($wsm_code!==""){
|
|
|
$condition[]=["wsm_code","=",$wsm_code];
|
|
|
}
|
|
|
- $suplierNo = isset($this->post['suplierNo']) &&$this->post['suplierNo'] !=="" ? trim($this->post['suplierNo'])
|
|
|
- :"";
|
|
|
+ $suplierNo = isset($this->post['suplierNo']) &&$this->post['suplierNo'] !=="" ? trim($this->post['suplierNo']):"";
|
|
|
if($suplierNo!==""){
|
|
|
$wsmcode = Db::name("warehouse_info")->where(['supplierNo'=>$suplierNo,"is_del"=>0])->column("wsm_code");
|
|
|
$condition[]=["wsm_code","in",$wsmcode];
|
|
@@ -378,21 +377,52 @@ class Good extends Base
|
|
|
foreach ($list as $key=>$value){
|
|
|
$temp=[];
|
|
|
if($value['wsm_code']!=""){
|
|
|
- $wsm = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")->where
|
|
|
- (['a.wsm_code'=>$value['wsm_code'],"a.is_del"=>0])->field("a.name as wsm_name,wsm_code,b.code,b.name")
|
|
|
+ $wsm = Db::name("warehouse_info")
|
|
|
+ ->alias("a")
|
|
|
+ ->leftJoin("supplier b","a.supplierNo=b.code")
|
|
|
+ ->leftJoin("business bus","a.companyNo=bus.companyNo")
|
|
|
+ ->where(['a.wsm_code'=>$value['wsm_code'],"a.is_del"=>0])
|
|
|
+ ->field("a.name as wsm_name,wsm_code,a.supplierNo,b.name supplierName,a.companyNo,bus.company")
|
|
|
->find();
|
|
|
}
|
|
|
$temp['wsm_name'] = isset($wsm['wsm_name'])?$wsm['wsm_name']:"";
|
|
|
$temp['wsm_code']=$value['wsm_code'];
|
|
|
- $temp['supplier_code']=isset($wsm['code'])?$wsm['code']:"";
|
|
|
- $temp['supplier_name']=isset($wsm['name'])?$wsm['name']:"";
|
|
|
+ $temp['supplier_code']=isset($wsm['supplierNo'])?$wsm['supplierNo']:"";
|
|
|
+ $temp['supplier_name']=isset($wsm['supplierName'])?$wsm['supplierName']:"";
|
|
|
+ $temp['company_no']=isset($wsm['companyNo'])?$wsm['companyNo']:"";
|
|
|
+ $temp['company_name']=isset($wsm['company'])?$wsm['company']:"";
|
|
|
if($value['spuCode']!=""){
|
|
|
- $good=Db::name("good")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
|
|
|
+ $good=Db::name("good")
|
|
|
+ ->alias('g')
|
|
|
+ ->field('g.*,b.brand_name,u.unit')
|
|
|
+ ->where(["g.spuCode"=>$value['spuCode'],"g.is_del"=>0])
|
|
|
+ ->leftJoin('brand b','b.id=g.brand_id')
|
|
|
+ ->leftJoin('unit u','u.id=g.good_unit')
|
|
|
+ ->find();
|
|
|
+
|
|
|
+ //规格信息
|
|
|
+ $spec = Db::name("good_spec")->field('id,spec_id,spec_value_id')->where(["spuCode" => $value['spuCode'], "is_del" => 0])->select()->toArray();
|
|
|
+
|
|
|
+ $speclist = [];
|
|
|
+ if (!empty($spec)) {
|
|
|
+ foreach ($spec as $val) {
|
|
|
+ $tmp = [];
|
|
|
+ $tmp['spec_id'] = $val['spec_id'];
|
|
|
+ $tmp['spec_value_id'] = $val['spec_value_id'];
|
|
|
+ $sp = Db::name("specs")->where(["id" => $val['spec_id']])->find();
|
|
|
+ $tmp['spec_name'] = isset($sp["spec_name"]) ? $sp["spec_name"] : "";
|
|
|
+ $spv = Db::name("spec_value")->where(["id" => $val['spec_value_id']])->find();
|
|
|
+ $tmp['spec_value'] = isset($spv["spec_value"]) ? $spv["spec_value"] : "";
|
|
|
+ $speclist[] = $tmp;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $temp['specinfo'] = $speclist;
|
|
|
}
|
|
|
$temp['good_code']=isset($good['spuCode'])?$good['spuCode']:"";
|
|
|
// $temp['type_code']=isset($good['type_code'])?$good['type_code']:"";
|
|
|
$temp['good_name']=isset($good['good_name'])?$good['good_name']:"";
|
|
|
$temp['unit']=isset($good['unit'])?$good['unit']:"";
|
|
|
+ $temp['brand_name']=isset($good['brand_name'])?$good['brand_name']:"";
|
|
|
// $temp['attribute']=isset($good['attribute'])?$good['attribute']:"";
|
|
|
$temp['sort_f']=isset($good['cat_id'])?$good['cat_id']:"";
|
|
|
$temp['cat_info']=isset($good['cat_id'])?made($good['cat_id']):"";
|
|
@@ -422,13 +452,11 @@ class Good extends Base
|
|
|
$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;
|
|
|
$condition = [["is_del","=",0]];
|
|
|
- $wsm_code = isset($this->post['wsm_code']) &&$this->post['wsm_code'] !=="" ? trim($this->post['wsm_code'])
|
|
|
- :"";
|
|
|
+ $wsm_code = isset($this->post['wsm_code']) &&$this->post['wsm_code'] !=="" ? trim($this->post['wsm_code']):"";
|
|
|
if($wsm_code!==""){
|
|
|
$condition[]=["wsm_code","=",$wsm_code];
|
|
|
}
|
|
|
- $suplierNo = isset($this->post['supplierNo']) &&$this->post['supplierNo'] !=="" ? trim($this->post['supplierNo'])
|
|
|
- :"";
|
|
|
+ $suplierNo = isset($this->post['supplierNo']) &&$this->post['supplierNo'] !=="" ? trim($this->post['supplierNo']):"";
|
|
|
if($suplierNo!==""){
|
|
|
$wsmcode = Db::name("warehouse_info")->where(['supplierNo'=>$suplierNo,"is_del"=>0])->column("wsm_code");
|
|
|
$condition[]=["wsm_code","in",$wsmcode];
|
|
@@ -441,23 +469,65 @@ class Good extends Base
|
|
|
$build= Db::name("good_stock")->where($condition)->group("wsm_code")->field("wsm_code")->buildSql();
|
|
|
$count = Db::table($build." a")->count();
|
|
|
$page>=ceil($count/$size) ? $page=ceil($count/$size) :"";
|
|
|
- $list = Db::name("good_stock")->where($condition)->page($page,$size)->group("wsm_code")
|
|
|
- ->field("wsm_code,sum(wait_in_stock) wait_in_stock,sum(wait_out_stock) wait_out_stock,sum(usable_stock) usable_stock,
|
|
|
- sum(intra_stock) intra_stock,sum(warn_stock) warn_stock,sum(total_stock) total_stock")->select();
|
|
|
+ $list = Db::name("good_stock")
|
|
|
+ ->where($condition)
|
|
|
+ ->page($page,$size)
|
|
|
+ ->group("wsm_code")
|
|
|
+ ->field("wsm_code,sum(wait_in_stock) wait_in_stock,sum(wait_out_stock) wait_out_stock,sum(usable_stock) usable_stock,sum(intra_stock) intra_stock,sum(warn_stock) warn_stock,sum(total_stock) total_stock")
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
$data=[];
|
|
|
foreach ($list as $key=>$value){
|
|
|
$temp=[];
|
|
|
if($value['wsm_code']!=""){
|
|
|
- $wsm = Db::name("warehouse_info")->alias("a")->leftJoin("supplier b","a.supplierNo=b.code")->where
|
|
|
- (['a.wsm_code'=>$value['wsm_code'],"a.is_del"=>0])->field("a.name as wsm_name,wsm_code,b.code,b.name")
|
|
|
+ $wsm = Db::name("warehouse_info")
|
|
|
+ ->alias("a")
|
|
|
+ ->leftJoin("business bus", "bus.companyNo=a.companyNo")
|
|
|
+ ->leftJoin("supplier b","a.supplierNo=b.code")
|
|
|
+ ->where(['a.wsm_code'=>$value['wsm_code'],"a.is_del"=>0])
|
|
|
+ ->field("a.name as wsm_name,wsm_code,a.supplierNo,b.name supplierName,a.companyNo,bus.company")
|
|
|
->find();
|
|
|
- $good = Db::name("good_stock")->alias("a")
|
|
|
- ->join("good c","c.spuCode=a.spuCode","left")->where(["a.wsm_code"=>$value['wsm_code'],"a.is_del"=>0,"c.is_del"=>0])->select();
|
|
|
+ $good = Db::name("good_stock")
|
|
|
+ ->alias("a")
|
|
|
+ ->leftJoin("good c","c.spuCode=a.spuCode")
|
|
|
+ ->where(["a.wsm_code"=>$value['wsm_code'],"a.is_del"=>0,"c.is_del"=>0])
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+
|
|
|
+ //商品单位和品牌
|
|
|
+ $good_unit_s = Db::name("unit")->whereIn('id', array_column($good, 'good_unit'))->where('is_del', 0)->column('unit', 'id');
|
|
|
+ $brands = Db::name("brand")->whereIn('id', array_column($good, 'brand_id'))->where('is_del', 0)->column('brand_name', 'id');
|
|
|
+
|
|
|
+ foreach ($good as &$item_good){
|
|
|
+ //规格信息
|
|
|
+ $spec = Db::name("good_spec")->field('id,spec_id,spec_value_id')->where(["spuCode" => $item_good['spuCode'], "is_del" => 0])->select()->toArray();
|
|
|
+
|
|
|
+ $speclist = [];
|
|
|
+ if (!empty($spec)) {
|
|
|
+ foreach ($spec as $val) {
|
|
|
+ $tmp = [];
|
|
|
+ $tmp['spec_id'] = $val['spec_id'];
|
|
|
+ $tmp['spec_value_id'] = $val['spec_value_id'];
|
|
|
+ $sp = Db::name("specs")->where(["id" => $val['spec_id']])->find();
|
|
|
+ $tmp['spec_name'] = isset($sp["spec_name"]) ? $sp["spec_name"] : "";
|
|
|
+ $spv = Db::name("spec_value")->where(["id" => $val['spec_value_id']])->find();
|
|
|
+ $tmp['spec_value'] = isset($spv["spec_value"]) ? $spv["spec_value"] : "";
|
|
|
+ $speclist[] = $tmp;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $item_good['specinfo'] = $speclist;
|
|
|
+ $item_good['unit'] = $good_unit_s[$item_good['good_unit']]??'';
|
|
|
+ $item_good['brand_name'] = $brands[$item_good['brand_id']]??'';
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
$temp['wsm_name'] = isset($wsm['wsm_name'])?$wsm['wsm_name']:"";
|
|
|
$temp['wsm_code']=$value['wsm_code'];
|
|
|
- $temp['supplier_code']=isset($wsm['code'])?$wsm['code']:"";
|
|
|
- $temp['supplier_name']=isset($wsm['name'])?$wsm['name']:"";
|
|
|
+ $temp['supplier_code']=isset($wsm['supplierNo'])?$wsm['supplierNo']:"";
|
|
|
+ $temp['supplier_name']=isset($wsm['supplierName'])?$wsm['supplierName']:"";
|
|
|
+ $temp['company_no']=isset($wsm['companyNo'])?$wsm['companyNo']:"";
|
|
|
+ $temp['company_name']=isset($wsm['company'])?$wsm['company']:"";
|
|
|
$temp['usable_stock'] = $value['usable_stock'];
|
|
|
$temp['wait_in_stock'] = $value['wait_in_stock'];
|
|
|
$temp['wait_out_stock'] = $value['wait_out_stock'];
|