|
@@ -84,6 +84,9 @@ class NowReportHandle extends Command
|
|
|
case 'L':
|
|
|
$res = $this->NewOut($info['start'], $info['end']);
|
|
|
break;
|
|
|
+ case 'M':
|
|
|
+ $res = $this->EveryDayStock($info['start'], $info['end']);
|
|
|
+ break;
|
|
|
default:
|
|
|
throw new Exception('暂不支持这个报表');
|
|
|
}
|
|
@@ -777,7 +780,16 @@ class NowReportHandle extends Command
|
|
|
}
|
|
|
return $data;
|
|
|
}
|
|
|
-
|
|
|
+ /**
|
|
|
+ * 新出库单明细
|
|
|
+ * @param string $start
|
|
|
+ * @param string $end
|
|
|
+ * @return \Generator
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\DbException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ *
|
|
|
+ */
|
|
|
private function NewOut(string $start,string $end)
|
|
|
{
|
|
|
$data = Db::name("order_out")
|
|
@@ -831,4 +843,57 @@ class NowReportHandle extends Command
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private function EveryDayStock(string $start,string $end){
|
|
|
+ $list = Db::name("good_stock_info")->alias("a")
|
|
|
+ ->leftJoin("good_stock b","a.stockid=b.id")
|
|
|
+ ->leftJoin("purchease_in c","c.bnCode=a.bnCode")
|
|
|
+ ->leftJoin("purchease_order d","c.cgdNo=d.cgdNo")
|
|
|
+ ->leftJoin("purcheaase e","d.bkcode=e.bk_code")
|
|
|
+ ->leftJoin("good f","b.spuCode=f.spuCode")
|
|
|
+ ->leftJoin("warehouse_info j","b.wsm_code=j.wsm_code")
|
|
|
+ ->field(" e.companyNo '业务公司',
|
|
|
+ e.apply_id '申请部门',
|
|
|
+ e.apply_name '申请人',
|
|
|
+ e.addtime '备库创建时间',
|
|
|
+ e.bk_code '备库单号',
|
|
|
+ a.bnCode 'BN编号' ,
|
|
|
+ a.addtime '入库时间',
|
|
|
+ c.cgdNo '采购单编号' ,
|
|
|
+ f.spuCode '产品编号' ,
|
|
|
+ f.good_name '产品名称' ,
|
|
|
+ e.good_num '备库数量' ,
|
|
|
+ f.cat_id '一级分类' ,
|
|
|
+ '' as '财务核算编码',
|
|
|
+ f.tax as '税率',
|
|
|
+ a.origin_price '成本单价',
|
|
|
+ b.wait_in_stock '待入库数量',
|
|
|
+ b.wait_out_stock '待出库数量',
|
|
|
+ b.total_stock '当前库存数量',
|
|
|
+ b.usable_stock '可用库存数量',
|
|
|
+ a.total_num 'BN总数',
|
|
|
+ a.balance_num 'BN库存数',
|
|
|
+ a.used_num 'BN已使用数量',
|
|
|
+ DATEDIFF(NOW(),a.addtime) '库存天数',
|
|
|
+ f.supplierNo '采购员',
|
|
|
+ d.supplier_name '供应商名称',
|
|
|
+ j.`name` '仓库名称'")
|
|
|
+ ->where(["f.is_stock"=>1])
|
|
|
+ ->whereBetween("a.updatetime",[$start,$end])
|
|
|
+ ->cursor();
|
|
|
+ foreach ($list as $value){
|
|
|
+ $value['申请部门'] = Db::name("depart_user")->alias("a")->leftJoin("company_item ci", "a.itemid=ci.id")->where(["a.uid" => $value['申请部门'], "a.status" => 1, "a.is_del" => 0])->value('ci.name', '');
|
|
|
+ $value['业务公司'] = Db::name("business")->where(["companyNo" => $value['业务公司']])->value('company', '');
|
|
|
+ $cat = made($value['cat_id']);
|
|
|
+ $value['财务核算编号'] = Db::name("cat")->where(["id"=>$value['cat_id']])->value("fund_code",'');
|
|
|
+ unset($value['cat_id']);
|
|
|
+ $value['一级分类'] = isset($cat[0]['name']) ? $cat[0]['name'] : "";
|
|
|
+ $supplier = Db::name("supplier")->where(["code"=>$value['采购员']])->field("person,name")->find();
|
|
|
+ if($value['供应商名称']==''){
|
|
|
+ $value['供应商名称']= $supplier['name']??"";
|
|
|
+ }
|
|
|
+ $value['采购员']= $supplier['person']??"";
|
|
|
+ yield $value;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|