wugg 2 years ago
parent
commit
52f96fb123
1 changed files with 35 additions and 21 deletions
  1. 35 21
      app/command/NowReportHandle.php

+ 35 - 21
app/command/NowReportHandle.php

@@ -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;
         }