|
@@ -146,37 +146,51 @@ class NowReportHandle extends Command
|
|
|
private function B(string $start_date = '', string $end_date = '')
|
|
|
{
|
|
|
$data = Db::name('good_stock')
|
|
|
- ->alias('gs')
|
|
|
- ->field('b.company 公司名称,pi.updatetime 最近一次入库时间,pi.apply_name 采购员,gs.spuCode 产品编码,"" 一级分类,gb.good_name 产品名称,"" 成本单价,gs.wait_out_stock 待出库量,gs.wait_in_stock 待入库量,gs.usable_stock 可用库存数量,gs.total_stock 当前库存量,"" 可用库存金额,"" 当前库存金额,"" 保质期时间,"" 库存天数,po.supplier_name 供应商名称,wi.name 仓库名称,gb.cat_id')
|
|
|
- ->leftJoin('purchease_in pi', 'pi.wsm_code = gs.wsm_code AND pi.status=4')
|
|
|
- ->leftJoin('purchease_order po', 'po.cgdNo = pi.cgdNo')
|
|
|
- ->leftJoin('warehouse_info wi', 'wi.wsm_code = gs.wsm_code')
|
|
|
- ->leftJoin('business b', 'b.companyNo = po.companyNo')
|
|
|
- ->leftJoin('good_basic gb', 'gb.spuCode = gs.spuCode')
|
|
|
- ->where('gs.is_del', 0)
|
|
|
+ ->alias('wgs')
|
|
|
+ ->field(" wb.company '公司名称',
|
|
|
+ wgs.spuCode '产品编号',
|
|
|
+ cat_id '一级分类',
|
|
|
+ good_name '产品名称',
|
|
|
+ '' as '成本单价',
|
|
|
+ wait_in_stock '待入库存数量',
|
|
|
+ wait_out_stock '待出库存数量',
|
|
|
+ usable_stock '可用库存数量',
|
|
|
+ wait_out_stock+usable_stock '当前库存',
|
|
|
+ '' as '可用库存金额',
|
|
|
+ '' as '当前库存金额',
|
|
|
+ '' as '保质期时间',
|
|
|
+ '' as '库存天数',
|
|
|
+ wgb.creater as 'CGD.采购员',
|
|
|
+ '' as '备库单号',
|
|
|
+ ws.`name` as '供应商名称',
|
|
|
+ wwi.`name` as '仓库名称',
|
|
|
+ '' as '最近入库时间'")
|
|
|
+ ->leftJoin('warehouse_info wwi', 'wwi.wsm_code = wgs.wsm_code')
|
|
|
+ ->leftJoin('business wb', 'wb.companyNo = wwi.companyNo')
|
|
|
+ ->leftJoin('good_basic wgb', 'wgb.spuCode = wgs.spuCode')
|
|
|
+ ->leftJoin('supplier ws', 'ws.supplierNo = ws.`code`')
|
|
|
+ ->where('wgs.is_del', 0)
|
|
|
+ ->where('wgb.is_stock', 1)
|
|
|
->whereBetween('gs.addtime', [$start_date, $end_date])
|
|
|
- ->order('gs.addtime', 'desc')
|
|
|
+ ->order('wgs.addtime', 'desc')
|
|
|
->cursor();
|
|
|
|
|
|
$list = [];
|
|
|
foreach ($data as $value) {
|
|
|
-
|
|
|
- $value['一级分类'] = implode('/', array_column(made($value['cat_id']), 'name'));
|
|
|
-
|
|
|
+ $cat = made($value['一级分类']);
|
|
|
+ $value['一级分类'] = isset($cat[0]['cat_name'])?$cat[0]['cat_name']:"";
|
|
|
$value['成本单价'] = Db::name('good_nake')
|
|
|
->where('spuCode', $value['产品编码'])
|
|
|
->order('min_num', 'asc')
|
|
|
- ->value('nake_fee', '');
|
|
|
-
|
|
|
+ ->value('nake_total', '0');
|
|
|
$value['可用库存金额'] = bcmul((string)$value['可用库存数量'] ?? '0', (string)$value['成本单价'] ?? '0', 2);
|
|
|
- $value['当前库存金额'] = bcmul((string)$value['当前库存量'] ?? '0', (string)$value['成本单价'] ?? '0', 2);
|
|
|
- if (!empty($value['最近一次入库时间'])) {
|
|
|
- $value['保质期时间'] = date('Y-m-d H:i:s', strtotime($value['最近一次入库时间']) + 31536000);//365天之后
|
|
|
- $value['库存天数'] = bcdiv((string)(time() - strtotime($value['最近一次入库时间'])), (string)(24 * 3600));//365天之后
|
|
|
+ $value['当前库存金额'] = bcmul((string)$value['当前库存'] ?? '0', (string)$value['成本单价'] ?? '0', 2);
|
|
|
+ $value['最近入库时间'] =Db::name("purchease_order")->alias("a")->leftJoin("purchease_in c","a.cgdNo=c.cgdNo")->where(["spuCode"=>
|
|
|
+ $value['产品编码'],"order_type"=>1,"c.status"=>[4,6]])->order("c.addtime desc")->value("c.addtime","");
|
|
|
+ if (!empty($value['最近入库时间'])) {
|
|
|
+ $value['保质期时间'] = date('Y-m-d H:i:s', strtotime($value['最近入库时间']) + 31536000);//365天之后
|
|
|
+ $value['库存天数'] = bcdiv((string)(time() - strtotime($value['最近入库时间'])), (string)(24 * 3600));//365天之后
|
|
|
}
|
|
|
-
|
|
|
- unset($value['cat_id']);
|
|
|
-
|
|
|
yield $list[] = $value;
|
|
|
}
|
|
|
|