|
@@ -53,12 +53,9 @@ public function flist(){
|
|
|
if(empty($supplier)){
|
|
|
return error_show(1004,"未找到供应商信息");
|
|
|
}
|
|
|
-// $typecode = Db::name("good_stock")->alias("a")->join("warehouse_info b","a.wsm_code=b.wsm_code","left")->where(["a.is_del"=>0,
|
|
|
-// "b.is_del"=>0,"b.supplierNo"=>$supplierNo])->column("a.good_type_code");
|
|
|
-// if(empty($typecode)){
|
|
|
-// return error_show(1004,"未找到供应商有关的商品信息");
|
|
|
-// }
|
|
|
- $condtion["a.gys_code"] = $supplierNo;
|
|
|
+ $wsmcode = Db::name("warehouse_info")->where([
|
|
|
+ "is_del"=>0,"supplierNo"=>$supplierNo])->column("wsm_code");
|
|
|
+ $condtion["c.wsm_code"] = $wsmcode;
|
|
|
}
|
|
|
|
|
|
$count = Db::name("good_type")->alias("b")
|
|
@@ -68,13 +65,11 @@ public function flist(){
|
|
|
$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)->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,c.usable_stock,a.updatetime")
|
|
|
+ ->where($condtion)->field("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,c.usable_stock,c.warn_stock,a.updatetime")
|
|
|
->page($page,$size)->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;
|
|
@@ -275,6 +270,7 @@ public function edit()
|
|
|
return error_show(1002, "盘点仓库不能为空");
|
|
|
}
|
|
|
$type = isset($this->post['type']) && $this->post['type'] !== "" ? trim($this->post['type']) : "";
|
|
|
+ $remark = isset($this->post['remark']) && $this->post['remark'] !== "" ? trim($this->post['remark']) : "";
|
|
|
if ($type == "") {
|
|
|
return error_show(1002, "盘点类型不能为空");
|
|
|
}
|
|
@@ -309,6 +305,7 @@ public function edit()
|
|
|
"type" => $type,
|
|
|
"apply_id" => $rm,
|
|
|
"apply_name" => $ri,
|
|
|
+ "remark" => $remark,
|
|
|
"updatetime" => date("Y-m-d H:i:s")
|
|
|
];
|
|
|
$up = Db::name('good_check')->where(['id'=>$id,'is_del' => 0])->save($var);
|
|
@@ -373,6 +370,7 @@ public function dell(){
|
|
|
}
|
|
|
|
|
|
$stauts = isset($this->post['status']) && $this->post['status'] !=="" ? intval($this->post['status']) :"";
|
|
|
+ $remark = isset($this->post['remark']) && $this->post['remark'] !=="" ? trim($this->post['remark']) :"";
|
|
|
if($stauts===""){
|
|
|
return error_show(1002,"状态不能为空");
|
|
|
}
|
|
@@ -381,8 +379,14 @@ public function dell(){
|
|
|
return error_show(1002,"盘点信息未找到");
|
|
|
}
|
|
|
$st['status']=$stauts;
|
|
|
+ $st['remark']=$remark;
|
|
|
$st['updatetime']= date('Y-m-d H:i:s');
|
|
|
$sv = Db::name('good_check')->save($st);
|
|
|
+ if($stauts==0){
|
|
|
+ $sv = Db::name('check_item')->where(['check_code'=>$st['check_code']])->save(['is_del'=>1,"updatetime"=>date
|
|
|
+ ("Y-m-d H:i:s")
|
|
|
+ ]);
|
|
|
+ }
|
|
|
if($sv){
|
|
|
return error_show(0,"状态更新成功");
|
|
|
}else{
|
|
@@ -394,20 +398,86 @@ public function dell(){
|
|
|
public function exportGood(){
|
|
|
$id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
|
|
|
if($id==""){
|
|
|
- return error_show(1002,"盘点单号不能为空");
|
|
|
+ return error_show(1002,"参数id不能为空");
|
|
|
}
|
|
|
$fo = Db::name('good_check')->alias('a')->join('warehouse_info b',"b.wsm_code=a.wsm_code","left")
|
|
|
- ->join('supplier c',"c.code=b.supplierNo","left")->field("c.name,c.code,a.*")
|
|
|
+ ->join('supplier c',"c.code=b.supplierNo","left")->field("c.name,c.code,b.name,a.*")
|
|
|
->where(['a.id'=>$id,'a.is_del'=>0])->find();
|
|
|
if(empty($fo)){
|
|
|
return error_show(1003,"未找到盘点信息");
|
|
|
}
|
|
|
- $fi = Db::name('check_item')->where(['check_code'=>$fo['check_code'],'is_del'=>0])->select();
|
|
|
- $fo['item']=$fi;
|
|
|
+ $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(['c.wsm_code'=>$fo['wsm_code'],"a.is_del"=>0,"b.is_del"=>0,"c.is_del"=>0])->field("a.good_code '商品编码',b.type_code '商品属性编码',
|
|
|
+ a.good_name '商品名称',a.good_desc '商品描述',a.brand '品牌',a.unit '单位',a.gys_code '供应商编码','' as '供应商名称',a.sort_f '一级分类',a.sort_s '二级分类',a.sort_t '三级分类',
|
|
|
+ a.addtime '新建时间',c.wsm_code '仓库编码','' as '仓库名称',c.usable_stock '可用库存','' as '盘点库存'")
|
|
|
+ ->select();
|
|
|
+ $data=[];
|
|
|
+ foreach ($list as $key=>$value){
|
|
|
+ $wsm = Db::name("warehouse_info")->where(['wsm_code'=>$value['仓库编码']])->find();
|
|
|
+ $supplier = Db::name("supplier")->where(["code"=>$value['供应商编码']])->find();
|
|
|
+ $value['供应商名称'] =isset($supplier['name']) ?$supplier['name'] :"";
|
|
|
+ $value['仓库名称'] =isset($wsm['name']) ?$wsm['name'] :"";
|
|
|
+ $data[]=$value;
|
|
|
+ }
|
|
|
+ if(empty($data)){
|
|
|
+ $data[]=["暂无商品信息"=>''];
|
|
|
+ }
|
|
|
+ $headerArr= array_keys($data[0]);
|
|
|
+ excelSave('盘点商品',$headerArr,$data);
|
|
|
+ // return app_show(0,"获取成功",$data);
|
|
|
+ }
|
|
|
+
|
|
|
+ public function importGood(){
|
|
|
+ $id = isset($this->post['id']) && $this->post['id'] !=="" ? intval($this->post['id']) :"";
|
|
|
+ if($id==""){
|
|
|
+ return error_show(1002,"参数id不能为空");
|
|
|
+ }
|
|
|
+ $fo = Db::name('good_check')->alias('a')->join('warehouse_info b',"b.wsm_code=a.wsm_code","left")
|
|
|
+ ->join('supplier c',"c.code=b.supplierNo","left")->field("c.name,c.code,b.name,a.*")
|
|
|
+ ->where(['a.id'=>$id,'a.is_del'=>0])->find();
|
|
|
if(empty($fo)){
|
|
|
- return error_show(1002,"未找到盘点编号");
|
|
|
+ return error_show(1003,"未找到盘点信息");
|
|
|
+ }
|
|
|
+ if($fo['status']>=1){
|
|
|
+ return error_show(1003,"盘点已提交审核,不可提交盘点数据");
|
|
|
+ }
|
|
|
+ $data = isset($this->post['data']) && $this->post['data'] !=="" ?$this->post['data'] :"";
|
|
|
+ if($data=="" || empty($data)){
|
|
|
+ return error_show(1003,"盘点数据不能为空");
|
|
|
+ }
|
|
|
+ $insert=[];
|
|
|
+ foreach ($data as $value){
|
|
|
+ if($value[1]==""){
|
|
|
+ return error_show(1003,"商品属性code 不能为空");
|
|
|
+ }
|
|
|
+ if($value[15]===""){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ $stock = Db::name("good_stock")->where(["good_type_code"=>$value[1],"wsm_code"=>$fo['wsm_code'],
|
|
|
+ "is_del"=>0])->find();
|
|
|
+ $stock_num = isset($stock) ? $stock['usable_stock']:0;
|
|
|
+ $insert[]=[
|
|
|
+ "good_type_code"=>$value[1],
|
|
|
+ "good_name"=>$value[2],
|
|
|
+ "origin_price"=>0,
|
|
|
+ "origin_num"=>isset($stock) ? $stock['usable_stock']:0,
|
|
|
+ "check_num"=>$value[15],
|
|
|
+ "is_profit"=>intval($value[15])>=$stock_num ?1:0,
|
|
|
+ "diff_num"=>intval($value[15])>=$stock_num ?intval($value[15])-$stock_num:$stock_num-intval($value[15]),
|
|
|
+ 'addtime'=>date("Y-m-d H:i:s"),
|
|
|
+ 'updatetime'=>date("Y-m-d H:i:s"),
|
|
|
+ "check_code"=>$fo['check_code']
|
|
|
+ ];
|
|
|
+ }
|
|
|
+ if(empty($insert)){
|
|
|
+ return error_show(1003,"盘点数据不可用");
|
|
|
+ }
|
|
|
+ $inst = Db::name("check_item")->insertAll($insert);
|
|
|
+ if($inst){
|
|
|
+ return app_show(0,"盘点数据导入成功");
|
|
|
}else{
|
|
|
- return app_show(0,"获取成功",$fo);
|
|
|
+ return app_show(0,"盘点数据导入失败");
|
|
|
}
|
|
|
}
|
|
|
}
|