|
@@ -11,30 +11,30 @@ use think\facade\Db;
|
|
|
class Good extends Base
|
|
|
{
|
|
|
|
|
|
- private $acton=[
|
|
|
- "allotsend"=>'调拨发货',
|
|
|
- "allotin"=>'调拨入库',
|
|
|
- "allotincheck"=>'调拨验货',
|
|
|
- 'CGD'=>'采购单',
|
|
|
- 'BHD'=>'备库单',
|
|
|
- 'FKD'=>'备库反馈单',
|
|
|
- 'RKD'=>'入库单',
|
|
|
- 'ZXQRD'=>'咨询单',
|
|
|
- 'XSQRD'=>'销售单',
|
|
|
- 'PDD'=>'盘点单',
|
|
|
- 'DBD'=>'调拨单',
|
|
|
- 'CKD'=>'出库单',
|
|
|
- 'CGTHD'=>'采购退货单',
|
|
|
- 'XSTHD'=>'销售退货单',
|
|
|
- 'CGGCD'=>'采购工差单',
|
|
|
- 'ZXGCD'=>'咨询工差单'
|
|
|
- ];
|
|
|
- public $noble=[];
|
|
|
- public function __construct(App $app)
|
|
|
- {
|
|
|
- parent::__construct($app);
|
|
|
- $this->noble=\think\facade\Config::get("noble");
|
|
|
- }
|
|
|
+ private $acton=[
|
|
|
+ "allotsend"=>'调拨发货',
|
|
|
+ "allotin"=>'调拨入库',
|
|
|
+ "allotincheck"=>'调拨验货',
|
|
|
+ 'CGD'=>'采购单',
|
|
|
+ 'BHD'=>'备库单',
|
|
|
+ 'FKD'=>'备库反馈单',
|
|
|
+ 'RKD'=>'入库单',
|
|
|
+ 'ZXQRD'=>'咨询单',
|
|
|
+ 'XSQRD'=>'销售单',
|
|
|
+ 'PDD'=>'盘点单',
|
|
|
+ 'DBD'=>'调拨单',
|
|
|
+ 'CKD'=>'出库单',
|
|
|
+ 'CGTHD'=>'采购退货单',
|
|
|
+ 'XSTHD'=>'销售退货单',
|
|
|
+ 'CGGCD'=>'采购工差单',
|
|
|
+ 'ZXGCD'=>'咨询工差单'
|
|
|
+ ];
|
|
|
+ public $noble=[];
|
|
|
+ public function __construct(App $app)
|
|
|
+ {
|
|
|
+ parent::__construct($app);
|
|
|
+ $this->noble=\think\facade\Config::get("noble");
|
|
|
+ }
|
|
|
|
|
|
public function list(){
|
|
|
$page = isset($this->post['page']) && $this->post['page'] !==""? intval($this->post['page']):"1";
|
|
@@ -51,8 +51,8 @@ class Good extends Base
|
|
|
$skucode = isset($this->post['spucode']) && $this->post['spucode'] !=="" ? trim($this->post['spucode'])
|
|
|
:"";
|
|
|
if($skucode!==""){
|
|
|
- $where [] = ['b.skucode',"like","%$skucode%"];
|
|
|
- }
|
|
|
+ $where [] = ['b.skucode',"like","%$skucode%"];
|
|
|
+ }
|
|
|
$start = isset($this->post['start']) && $this->post['start']!=="" ? $this->post['start']:"";
|
|
|
if($start!==""){
|
|
|
$where[]=['a.addtime',">=",date('Y-m-d H:i:s',strtotime($start))];
|
|
@@ -120,7 +120,7 @@ class Good extends Base
|
|
|
$total = ceil($count / $size);
|
|
|
$page = $page >= $total ? $total : $page;
|
|
|
$list = Db::name('good')->alias("a")->leftJoin("good_platform b","a.spuCode=b.spuCode")->where($where)->page
|
|
|
- ($page,$size)->field("b.skuCode,b.platform_code,b.plat_code,b.id as good_id,a.*,b.addtime,b.updatetime,b.exam_status")
|
|
|
+ ($page,$size)->field("b.skuCode,b.platform_code,b.plat_code,b.id as good_id,a.*,b.addtime,b.updatetime,b.exam_status")
|
|
|
->order("b.addtime desc")
|
|
|
->select();
|
|
|
$data=[];
|
|
@@ -164,30 +164,30 @@ class Good extends Base
|
|
|
}
|
|
|
|
|
|
public function info(){
|
|
|
- $skucode=isset($this->post['skuCode'])&&$this->post['skuCode']!=""?trim($this->post['skuCode']):"";
|
|
|
- if($skucode==""){
|
|
|
- return error_show(1005,"参数skuCode不能为空");
|
|
|
- }
|
|
|
- $good_platform = Db::name("good_platform")->where(['skuCode'=>$skucode,"is_del"=>0])->find();
|
|
|
- if($good_platform==false){
|
|
|
- return error_show(1004,"未找到商品数据");
|
|
|
- }
|
|
|
- $data = Db::name("good")->where(["spuCode"=>$good_platform['spuCode'],"is_del"=>0])->find();
|
|
|
- if($data==false){
|
|
|
- return error_show(1004,"未找到商品数据");
|
|
|
- }
|
|
|
- $plat =Db::name("platform")->where(["id"=>$good_platform['platform_code']])->find();
|
|
|
- $data['skuCode']=$good_platform['skuCode'];
|
|
|
- $data['platform_code']=$good_platform['id'];
|
|
|
- $data['platform_code_en']=isset($plat['platform_code'])?$plat['platform_code']:"";
|
|
|
- $data['platform_name']=isset($plat['platform_name'])?$plat['platform_name']:"";
|
|
|
- $data['online_reason']=$good_platform['online_reason'];
|
|
|
- $data['online_time']=$good_platform['online_time'];
|
|
|
- $data['online_remark']=$good_platform['online_remark'];
|
|
|
- $data['exam_status']=$good_platform['exam_status'];
|
|
|
- $data['is_online']=$good_platform['is_online'];
|
|
|
- $data['plat_code']=$good_platform['plat_code'];
|
|
|
- $data['exclusive']=makeExcluse($data['is_exclusive']);
|
|
|
+ $skucode=isset($this->post['skuCode'])&&$this->post['skuCode']!=""?trim($this->post['skuCode']):"";
|
|
|
+ if($skucode==""){
|
|
|
+ return error_show(1005,"参数skuCode不能为空");
|
|
|
+ }
|
|
|
+ $good_platform = Db::name("good_platform")->where(['skuCode'=>$skucode,"is_del"=>0])->find();
|
|
|
+ if($good_platform==false){
|
|
|
+ return error_show(1004,"未找到商品数据");
|
|
|
+ }
|
|
|
+ $data = Db::name("good")->where(["spuCode"=>$good_platform['spuCode'],"is_del"=>0])->find();
|
|
|
+ if($data==false){
|
|
|
+ return error_show(1004,"未找到商品数据");
|
|
|
+ }
|
|
|
+ $plat =Db::name("platform")->where(["id"=>$good_platform['platform_code']])->find();
|
|
|
+ $data['skuCode']=$good_platform['skuCode'];
|
|
|
+ $data['platform_code']=$good_platform['id'];
|
|
|
+ $data['platform_code_en']=isset($plat['platform_code'])?$plat['platform_code']:"";
|
|
|
+ $data['platform_name']=isset($plat['platform_name'])?$plat['platform_name']:"";
|
|
|
+ $data['online_reason']=$good_platform['online_reason'];
|
|
|
+ $data['online_time']=$good_platform['online_time'];
|
|
|
+ $data['online_remark']=$good_platform['online_remark'];
|
|
|
+ $data['exam_status']=$good_platform['exam_status'];
|
|
|
+ $data['is_online']=$good_platform['is_online'];
|
|
|
+ $data['plat_code']=$good_platform['plat_code'];
|
|
|
+ $data['exclusive']=makeExcluse($data['is_exclusive']);
|
|
|
$unit =Db::name("unit")->where(["id"=>$data['good_unit']])->find();
|
|
|
$data['unit'] = isset($unit['unit'])?$unit['unit']:'';
|
|
|
$data['cat_info'] = made($data['cat_id'],[]);
|
|
@@ -241,7 +241,7 @@ class Good extends Base
|
|
|
$data["ladderlist"]=!empty($ladder)?$ladder:[];
|
|
|
$nakelist = Db::name("good_nake")->where(['spuCode'=>$good_platform['spuCode'],"is_del"=>0])->select()->toArray();
|
|
|
$catinfo = Db::name("cat")->where(["id"=>$data['cat_id']])->find();
|
|
|
- // $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:0;
|
|
|
+ // $budget = isset($catinfo['order_rate']) ? $catinfo['order_rate']/100:0;
|
|
|
$nakearry=[];
|
|
|
if(!empty($nakelist)){
|
|
|
foreach ($nakelist as $value){
|
|
@@ -257,39 +257,39 @@ class Good extends Base
|
|
|
|
|
|
|
|
|
public function SetWarn(){
|
|
|
- $condition=["is_del"=>0];
|
|
|
- $wsm_code = isset($this->post['wsm_code']) &&$this->post['wsm_code'] !=="" ? trim($this->post['wsm_code']):"";
|
|
|
- if($wsm_code!=""){
|
|
|
- $condition["wsm_code"] = $wsm_code;
|
|
|
- }else{
|
|
|
- return error_show(1004,"参数wsm_code 不能为空");
|
|
|
- }
|
|
|
- $type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
|
|
|
- if($type_code!=""){
|
|
|
- $condition["good_type_code"] = $type_code;
|
|
|
- }else{
|
|
|
- return error_show(1004,"参数type_code 不能为空");
|
|
|
- }
|
|
|
- $good= Db::name("good_stock")->where($condition)->find();
|
|
|
- if(empty($good)){
|
|
|
- return error_show(1005,"未找到数据");
|
|
|
- }
|
|
|
- $warn_stock = isset($this->post['warn_stock']) &&$this->post['warn_stock'] !=="" ? intval($this->post['warn_stock']):"";
|
|
|
- if($warn_stock===""){
|
|
|
- return error_show(1005,"参数warn_stock 不能为空");
|
|
|
- }
|
|
|
- $good['warn_stock'] = $warn_stock;
|
|
|
- $good['updatetime'] = date("Y-m-d H:i:s");
|
|
|
- $up= Db::name("good_stock")->save($good);
|
|
|
- if($up){
|
|
|
- $data=["stock_id"=>$good['id'],"type"=>1,'stock'=>$warn_stock,"stock_name"=>"warn_stock"];
|
|
|
- GoodLog::LogAdd($this->post['token'],$data,'setwarn');
|
|
|
+ $condition=["is_del"=>0];
|
|
|
+ $wsm_code = isset($this->post['wsm_code']) &&$this->post['wsm_code'] !=="" ? trim($this->post['wsm_code']):"";
|
|
|
+ if($wsm_code!=""){
|
|
|
+ $condition["wsm_code"] = $wsm_code;
|
|
|
+ }else{
|
|
|
+ return error_show(1004,"参数wsm_code 不能为空");
|
|
|
+ }
|
|
|
+ $type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
|
|
|
+ if($type_code!=""){
|
|
|
+ $condition["good_type_code"] = $type_code;
|
|
|
+ }else{
|
|
|
+ return error_show(1004,"参数type_code 不能为空");
|
|
|
+ }
|
|
|
+ $good= Db::name("good_stock")->where($condition)->find();
|
|
|
+ if(empty($good)){
|
|
|
+ return error_show(1005,"未找到数据");
|
|
|
+ }
|
|
|
+ $warn_stock = isset($this->post['warn_stock']) &&$this->post['warn_stock'] !=="" ? intval($this->post['warn_stock']):"";
|
|
|
+ if($warn_stock===""){
|
|
|
+ return error_show(1005,"参数warn_stock 不能为空");
|
|
|
+ }
|
|
|
+ $good['warn_stock'] = $warn_stock;
|
|
|
+ $good['updatetime'] = date("Y-m-d H:i:s");
|
|
|
+ $up= Db::name("good_stock")->save($good);
|
|
|
+ if($up){
|
|
|
+ $data=["stock_id"=>$good['id'],"type"=>1,'stock'=>$warn_stock,"stock_name"=>"warn_stock"];
|
|
|
+ GoodLog::LogAdd($this->post['token'],$data,'setwarn');
|
|
|
|
|
|
- return app_show(0,"预警库存更新成功");
|
|
|
- }else{
|
|
|
- return error_show(1005,"预警库存更新失败");
|
|
|
- }
|
|
|
+ return app_show(0,"预警库存更新成功");
|
|
|
+ }else{
|
|
|
+ return error_show(1005,"预警库存更新失败");
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
public function SetStatus(){
|
|
|
$id = isset($this->post['id']) &&$this->post['id'] !=="" ? intval($this->post['id']):"";
|
|
@@ -311,7 +311,7 @@ class Good extends Base
|
|
|
$condition = [["a.is_del","=",0]];
|
|
|
$type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
|
|
|
if($type_code!==""){
|
|
|
- $condition[]=["a.spuCode","=",$type_code];
|
|
|
+ $condition[]=["a.spuCode","=",$type_code];
|
|
|
}
|
|
|
$wsm_code = isset($this->post['wsm_code']) &&$this->post['wsm_code'] !=="" ? trim($this->post['wsm_code'])
|
|
|
:"";
|
|
@@ -325,12 +325,12 @@ class Good extends Base
|
|
|
$wsmcode = Db::name("warehouse_info")->where(['supplierNo'=>$suplierNo,"is_del"=>0])->column("wsm_code");
|
|
|
$condition[]=["a.wsm_code","in",$wsmcode];
|
|
|
}
|
|
|
- $list = Db::name("good_stock")->alias("a")->join("warehouse_info b","a.wsm_code=b.wsm_code","left")->join("supplier c","b.supplierNo=c.code","left")
|
|
|
- ->where($condition)->field("a.id,b.name as wsm_name,c.code,c.name,a.wait_in_stock,a.wait_out_stock,a.usable_stock,a.intra_stock,a.total_stock,a.status,a.warn_stock")->select();
|
|
|
+ $list = Db::name("good_stock")->alias("a")->join("warehouse_info b","a.wsm_code=b.wsm_code","left")->join("supplier c","b.supplierNo=c.code","left")
|
|
|
+ ->where($condition)->field("a.id,b.name as wsm_name,c.code,c.name,a.wait_in_stock,a.wait_out_stock,a.usable_stock,a.intra_stock,a.total_stock,a.status,a.warn_stock")->select();
|
|
|
if(empty($list)){
|
|
|
return error_show(1004,"未找到数据");
|
|
|
}
|
|
|
- return app_show(0,"获取成功",$list);
|
|
|
+ return app_show(0,"获取成功",$list);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -339,77 +339,77 @@ class Good extends Base
|
|
|
* @throws \think\db\exception\DbException
|
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
|
*/
|
|
|
- public function GetStockBet(){
|
|
|
- $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]];
|
|
|
- $type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
|
|
|
- if($type_code!==""){
|
|
|
- $condition[]=["spuCode","like","%{$type_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['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];
|
|
|
- }
|
|
|
- $companyNo = isset($this->post['companyNo']) && $this->post['companyNo'] !== "" ? trim($this->post['companyNo']) : "";
|
|
|
- if ($companyNo !== "") {
|
|
|
- $wsmcode = Db::name("warehouse_info")->where(['companyNo'=>$companyNo,"is_del"=>0])->column("wsm_code");
|
|
|
- $condition[]=["wsm_code","in",$wsmcode];
|
|
|
- }
|
|
|
- $start = isset($this->post['start']) &&$this->post['start'] !=="" ? $this->post['start']:"";
|
|
|
- $end = isset($this->post['end']) &&$this->post['end'] !=="" ? $this->post['end']:"";
|
|
|
- if($start!=""){
|
|
|
- $condition[]=["addtime",">=",$start];
|
|
|
- }
|
|
|
- if($end!=""){
|
|
|
- $condition[]=["addtime","<=",$end];
|
|
|
- }
|
|
|
- $count = Db::name("good_stock")->where($condition)->count();
|
|
|
- $page>=ceil($count/$size) ? $page=ceil($count/$size) :"";
|
|
|
- $list = Db::name("good_stock")->where($condition)->page($page,$size)->order("addtime desc")->select();
|
|
|
- $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")
|
|
|
- ->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']:"";
|
|
|
- if($value['spuCode']!=""){
|
|
|
- $good=Db::name("good")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
|
|
|
- }
|
|
|
- $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['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']):"";
|
|
|
- $temp['usable_stock'] = $value['usable_stock'];
|
|
|
- $temp['wait_in_stock'] = $value['wait_in_stock'];
|
|
|
- $temp['wait_out_stock'] = $value['wait_out_stock'];
|
|
|
- $temp['intra_stock'] = $value['intra_stock'];
|
|
|
- $temp['total_stock'] = $value['total_stock'];
|
|
|
- $temp['warn_stock'] = $value['warn_stock'];
|
|
|
- $temp['id'] = $value['id'];
|
|
|
- $temp['out_total'] =0;
|
|
|
- $temp['in_total'] = 0;
|
|
|
- $temp['addtime'] = $value['addtime'];
|
|
|
- $data[]=$temp;
|
|
|
- }
|
|
|
- return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);
|
|
|
- }
|
|
|
+ public function GetStockBet(){
|
|
|
+ $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]];
|
|
|
+ $type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
|
|
|
+ if($type_code!==""){
|
|
|
+ $condition[]=["spuCode","like","%{$type_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['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];
|
|
|
+ }
|
|
|
+ $companyNo = isset($this->post['companyNo']) && $this->post['companyNo'] !== "" ? trim($this->post['companyNo']) : "";
|
|
|
+ if ($companyNo !== "") {
|
|
|
+ $wsmcode = Db::name("warehouse_info")->where(['companyNo'=>$companyNo,"is_del"=>0])->column("wsm_code");
|
|
|
+ $condition[]=["wsm_code","in",$wsmcode];
|
|
|
+ }
|
|
|
+ $start = isset($this->post['start']) &&$this->post['start'] !=="" ? $this->post['start']:"";
|
|
|
+ $end = isset($this->post['end']) &&$this->post['end'] !=="" ? $this->post['end']:"";
|
|
|
+ if($start!=""){
|
|
|
+ $condition[]=["addtime",">=",$start];
|
|
|
+ }
|
|
|
+ if($end!=""){
|
|
|
+ $condition[]=["addtime","<=",$end];
|
|
|
+ }
|
|
|
+ $count = Db::name("good_stock")->where($condition)->count();
|
|
|
+ $page>=ceil($count/$size) ? $page=ceil($count/$size) :"";
|
|
|
+ $list = Db::name("good_stock")->where($condition)->page($page,$size)->order("addtime desc")->select();
|
|
|
+ $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")
|
|
|
+ ->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']:"";
|
|
|
+ if($value['spuCode']!=""){
|
|
|
+ $good=Db::name("good")->where(["spuCode"=>$value['spuCode'],"is_del"=>0])->find();
|
|
|
+ }
|
|
|
+ $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['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']):"";
|
|
|
+ $temp['usable_stock'] = $value['usable_stock'];
|
|
|
+ $temp['wait_in_stock'] = $value['wait_in_stock'];
|
|
|
+ $temp['wait_out_stock'] = $value['wait_out_stock'];
|
|
|
+ $temp['intra_stock'] = $value['intra_stock'];
|
|
|
+ $temp['total_stock'] = $value['total_stock'];
|
|
|
+ $temp['warn_stock'] = $value['warn_stock'];
|
|
|
+ $temp['id'] = $value['id'];
|
|
|
+ $temp['out_total'] =0;
|
|
|
+ $temp['in_total'] = 0;
|
|
|
+ $temp['addtime'] = $value['addtime'];
|
|
|
+ $data[]=$temp;
|
|
|
+ }
|
|
|
+ return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* @return \think\response\Json|void
|
|
@@ -418,115 +418,110 @@ class Good extends Base
|
|
|
* @throws \think\db\exception\ModelNotFoundException
|
|
|
* @throws \think\exception\DbException
|
|
|
*/
|
|
|
- public function GetStockWsm(){
|
|
|
- $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'])
|
|
|
- :"";
|
|
|
- if($wsm_code!==""){
|
|
|
- $condition[]=["wsm_code","=",$wsm_code];
|
|
|
- }
|
|
|
- $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];
|
|
|
- }
|
|
|
- $companyNo = isset($this->post['companyNo']) && $this->post['companyNo'] !== "" ? trim($this->post['companyNo']) : "";
|
|
|
- if ($companyNo !== "") {
|
|
|
- $wsmcode = Db::name("warehouse_info")->where(['companyNo'=>$companyNo,"is_del"=>0])->column("wsm_code");
|
|
|
- $condition[]=["wsm_code","in",$wsmcode];
|
|
|
- }
|
|
|
- $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,
|
|
|
+ public function GetStockWsm(){
|
|
|
+ $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'])
|
|
|
+ :"";
|
|
|
+ if($wsm_code!==""){
|
|
|
+ $condition[]=["wsm_code","=",$wsm_code];
|
|
|
+ }
|
|
|
+ $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];
|
|
|
+ }
|
|
|
+ $companyNo = isset($this->post['companyNo']) && $this->post['companyNo'] !== "" ? trim($this->post['companyNo']) : "";
|
|
|
+ if ($companyNo !== "") {
|
|
|
+ $wsmcode = Db::name("warehouse_info")->where(['companyNo'=>$companyNo,"is_del"=>0])->column("wsm_code");
|
|
|
+ $condition[]=["wsm_code","in",$wsmcode];
|
|
|
+ }
|
|
|
+ $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();
|
|
|
- $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")
|
|
|
- ->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();
|
|
|
- }
|
|
|
- $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['usable_stock'] = $value['usable_stock'];
|
|
|
- $temp['wait_in_stock'] = $value['wait_in_stock'];
|
|
|
- $temp['wait_out_stock'] = $value['wait_out_stock'];
|
|
|
- $temp['intra_stock'] = $value['intra_stock'];
|
|
|
- $temp['total_stock'] = $value['total_stock'];
|
|
|
- // $temp['warn_stock'] = $value['warn_stock'];
|
|
|
- $temp['child']=isset($good)&&!empty($good) ? $good:[];
|
|
|
- $data[]=$temp;
|
|
|
- }
|
|
|
- return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);
|
|
|
- }
|
|
|
-
|
|
|
- public function GetStockGod()
|
|
|
- {
|
|
|
-
|
|
|
- //1.接收参数
|
|
|
- $data = $this->request->only(['page' => 1, 'size' => 10, 'type_code' => ''], 'post', 'trim');
|
|
|
-
|
|
|
- //2.组织查询条件
|
|
|
- $condition = [["b.is_del", "=", 0], ["c.usable_stock", ">", 0]];
|
|
|
- if ($data['type_code']) $condition[] = ["b.spuCode", "like", "%{$data['type_code']}%"];
|
|
|
+ $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")
|
|
|
+ ->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();
|
|
|
+ }
|
|
|
+ $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['usable_stock'] = $value['usable_stock'];
|
|
|
+ $temp['wait_in_stock'] = $value['wait_in_stock'];
|
|
|
+ $temp['wait_out_stock'] = $value['wait_out_stock'];
|
|
|
+ $temp['intra_stock'] = $value['intra_stock'];
|
|
|
+ $temp['total_stock'] = $value['total_stock'];
|
|
|
+ // $temp['warn_stock'] = $value['warn_stock'];
|
|
|
+ $temp['child']=isset($good)&&!empty($good) ? $good:[];
|
|
|
+ $data[]=$temp;
|
|
|
+ }
|
|
|
+ return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);
|
|
|
+ }
|
|
|
|
|
|
- //3.总数
|
|
|
- $count = Db::name("good")
|
|
|
- ->alias("b")
|
|
|
- ->join("good_stock c", "c.spuCode = b.spuCode", "left")
|
|
|
+ public function GetStockGod(){
|
|
|
+ $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 = [["b.is_del","=",0],["c.usable_stock",">",0]];
|
|
|
+ $type_code = isset($this->post['type_code']) &&$this->post['type_code'] !=="" ? trim($this->post['type_code']):"";
|
|
|
+ if($type_code!==""){
|
|
|
+ $condition[]=["b.spuCode","like","%{$type_code}%"];
|
|
|
+ }
|
|
|
+ $count = Db::name("good")->alias("b")
|
|
|
+ ->join("good_stock c","c.spuCode = b.spuCode","left")
|
|
|
->where($condition)
|
|
|
->group("b.spuCode,b.good_name,b.good_unit,b.cat_id,b.craft_desc,b.addtime")
|
|
|
- ->count('b.id');
|
|
|
-
|
|
|
- //4.查询列表
|
|
|
- $last_page = ceil($count / $data['size']);
|
|
|
- $page = $data['page'] >= $last_page ? $last_page : $data['page'];
|
|
|
+ ->count();
|
|
|
+ $page>=ceil($count/$size) ? $page=ceil($count/$size) :"";
|
|
|
$list = Db::name("good")
|
|
|
->alias("b")
|
|
|
- ->join("good_stock c", "c.spuCode = b.spuCode", "left")
|
|
|
+ ->join("good_stock c","c.spuCode = b.spuCode","left")
|
|
|
->where($condition)
|
|
|
- ->field("b.spuCode,b.good_name,b.good_unit,b.cat_id,b.brand_id,b.craft_desc,b.addtime,sum(c.wait_in_stock) wait_in_stock,sum(c.wait_out_stock) wait_out_stock,sum(c.usable_stock) usable_stock,sum(c.intra_stock) intra_stock,sum(c.warn_stock) warn_stock,sum(c.total_stock) total_stock")
|
|
|
- ->page($page, $data['size'])
|
|
|
+ ->field("b.spuCode,b.good_name,b.good_unit,b.brand_id,b.cat_id,b.craft_desc,b.addtime,sum(c.wait_in_stock) wait_in_stock,sum(c.wait_out_stock) wait_out_stock,sum(c.usable_stock) usable_stock,sum(c.intra_stock) intra_stock,sum(c.warn_stock) warn_stock,sum(c.total_stock) total_stock")
|
|
|
+ ->page($page,$size)
|
|
|
->order("b.addtime desc")
|
|
|
- ->group("b.spuCode,b.good_name,b.good_unit,b.cat_id,b.craft_desc,b.brand_id,b.addtime")
|
|
|
+ ->group("b.spuCode,b.good_name,b.good_unit,b.brand_id,b.cat_id,b.craft_desc,b.addtime")
|
|
|
->select()
|
|
|
->toArray();
|
|
|
+ // echo Db::name("good_type")->getLastSql();
|
|
|
+ $data=[];
|
|
|
|
|
|
- //5.组织其他数据
|
|
|
- if ($list) {
|
|
|
-
|
|
|
- //仓库
|
|
|
- $child = Db::name("good_stock")
|
|
|
- ->alias("a")
|
|
|
- ->join("warehouse_info b", "a.wsm_code=b.wsm_code", "left")
|
|
|
- ->join("business bus", "bus.companyNo=b.companyNo", "left")
|
|
|
- ->join("supplier s", "s.code=b.supplierNo", "left")
|
|
|
- ->where(["b.wsm_type" => 1, "a.is_del" => 0])
|
|
|
- ->whereIn('a.spuCode', array_column($list, 'spuCode'))
|
|
|
- ->column("a.wsm_code,b.name wsm_name,a.wait_in_stock,a.wait_out_stock,a.usable_stock,a.intra_stock,a.total_stock,a.warn_stock,b.supplierNo,s.name supplierName,b.companyNo,bus.company", 'a.spuCode');
|
|
|
+ if($list) {
|
|
|
|
|
|
//商品单位和品牌
|
|
|
$good_unit_s = Db::name("unit")->whereIn('id', array_column($list, 'good_unit'))->where('is_del', 0)->column('unit', 'id');
|
|
|
$brands = Db::name("brand")->whereIn('id', array_column($list, 'brand_id'))->where('is_del', 0)->column('brand_name', 'id');
|
|
|
|
|
|
- $data = [];
|
|
|
foreach ($list as $key => $value) {
|
|
|
$temp = [];
|
|
|
-
|
|
|
+ if ($value['spuCode'] != "") {
|
|
|
+ $child = Db::name("good_stock")
|
|
|
+ ->alias("a")
|
|
|
+ ->join("warehouse_info b", "a.wsm_code=b.wsm_code", "left")
|
|
|
+ ->join("business bus", "bus.companyNo=b.companyNo", "left")
|
|
|
+ ->join("supplier s", "s.code=b.supplierNo", "left")
|
|
|
+ ->where(['a.spuCode' => $value['spuCode'], "b.wsm_type" => 1, "a.is_del" => 0])
|
|
|
+ ->field("a.wsm_code,b.name wsm_name,a.wait_in_stock,a.wait_out_stock,a.usable_stock,a.intra_stock,a.total_stock,a.warn_stock,b.supplierNo,s.name supplierName,b.companyNo,bus.company")
|
|
|
+ ->select()
|
|
|
+ ->toArray();
|
|
|
+ }
|
|
|
$temp['good_name'] = $value['good_name'];
|
|
|
$temp['good_code'] = $value['spuCode'];
|
|
|
$temp['type_code'] = '';
|
|
|
- $temp['unit'] = $good_unit_s[$value['good_unit']] ?? '';
|
|
|
+// $unit = Db::name("unit")->where(['id' => $value['good_unit']])->find();
|
|
|
+ $temp['unit'] =$good_unit_s[$value['spuCode']]??'';
|
|
|
+ $temp['brand_name'] =$brands[$value['brand_id']]??'';
|
|
|
$temp['sort_f'] = isset($value['cat_id']) ? made($value['cat_id']) : [];
|
|
|
$temp['sort_f'] = implode('/', array_column($temp['sort_f'], 'name'));//由于这个字段原样在页面显示,所以在这里特意拼接成字符串
|
|
|
$temp['attribute'] = $value['craft_desc'];
|
|
@@ -537,8 +532,7 @@ class Good extends Base
|
|
|
$temp['intra_stock'] = isset($value['intra_stock']) ? $value['intra_stock'] : "";
|
|
|
$temp['total_stock'] = isset($value['total_stock']) ? $value['total_stock'] : "";
|
|
|
// $temp['warn_stock'] = isset($value['warn_stock'])? $value['warn_stock']:"";
|
|
|
- $temp['child'] = $child[$value['spuCode']] ?? [];
|
|
|
- $temp['brand_name'] = $brands[$value['brand_id']] ?? '';
|
|
|
+ $temp['child'] = isset($child) && !empty($child) ? $child : [];
|
|
|
|
|
|
//规格信息
|
|
|
$spec = Db::name("good_spec")->field('id,spec_id,spec_value_id')->where(["spuCode" => $value['spuCode'], "is_del" => 0])->select()->toArray();
|
|
@@ -561,7 +555,7 @@ class Good extends Base
|
|
|
$data[] = $temp;
|
|
|
}
|
|
|
}
|
|
|
- return app_show(0, "获取成功", ["list" => $data, "count" => $count]);
|
|
|
+ return app_show(0,"获取成功",["list"=>$data,"count"=>$count]);
|
|
|
}
|
|
|
/**
|
|
|
* @return \think\response\Json|void
|
|
@@ -573,7 +567,7 @@ class Good extends Base
|
|
|
$condition =[["is_del","=",0]];
|
|
|
$wsm_code = isset($this->post['wsm_code']) &&$this->post['wsm_code'] !=="" ? trim($this->post['wsm_code']):"";
|
|
|
if($wsm_code!=""){
|
|
|
- //$condition["wsm_code"] = $wsm_code;
|
|
|
+ //$condition["wsm_code"] = $wsm_code;
|
|
|
$condition[]=["wsm_code","=",$wsm_code];
|
|
|
}
|
|
|
$suplierNo = isset($this->post['supplierNo']) &&$this->post['supplierNo'] !=="" ? trim($this->post['supplierNo']) :"";
|
|
@@ -628,7 +622,7 @@ class Good extends Base
|
|
|
$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();
|
|
|
+ ->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");
|
|
@@ -671,7 +665,7 @@ class Good extends Base
|
|
|
->field("a.action_name,a.type,a.stock_name,a.stock,a.action_type,b.spuCode,a.addtime,a.action_uid,b.wsm_code")
|
|
|
->select()
|
|
|
->toArray();
|
|
|
- $data=[];
|
|
|
+ $data=[];
|
|
|
foreach ($list as $value){
|
|
|
$db = Db::name("depart_user")->where(['uid'=>$value['action_uid']])->column("itemid");
|
|
|
$item = Db::name("company_item")->where(['id'=>$db])->column("id,name");
|