liuhairui 7 месяцев назад
Родитель
Сommit
7c395be763
1 измененных файлов с 24 добавлено и 9 удалено
  1. 24 9
      application/api/controller/WorkOrderSpotCheck.php

+ 24 - 9
application/api/controller/WorkOrderSpotCheck.php

@@ -2899,16 +2899,31 @@ class WorkOrderSpotCheck extends Api{
         if (empty($param)){
             $this->error('参数错误');
         }
+//        $list = \db('工单_面料资料')
+//            ->alias('b')
+//            ->join('物料_库存 a','a.物料编号 = b.BOM_物料编码 AND a.物料名称 = b.BOM_物料名称','left')
+//            ->join('工单关联表 c','b.BOM_物料编码 = c.物料编号 AND b.BOM_工单编号 = c.订单编号')
+//            ->field('a.Mod_rq,a.批次号,c.关联编号,b.BOM_物料编码,b.BOM_物料名称,a.入仓总量,a.库存数量,a.领用数量,a.退还数量,a.单位,a.实际门幅,
+//            a.departname,
+//            b.BOM_工单编号,b.BOM_颜色,b.BOM_计划门幅 as 计划门幅,b.BOM_定额门幅,b.BOM_计划用量 as 计划用料,b.BOM_标准用量 as 定额用料')
+//            ->where('c.关联编号',$param['关联编号'])
+//            ->where('c.订单编号',$param['订单编号'])
+//            ->where('b.BOM_物料编码',$param['物料编码'])
+//            ->find();
         $list = \db('工单_面料资料')
             ->alias('b')
-            ->join('物料_库存 a','a.物料编号 = b.BOM_物料编码 AND a.物料名称 = b.BOM_物料名称','left')
-            ->join('工单关联表 c','b.BOM_物料编码 = c.物料编号 AND b.BOM_工单编号 = c.订单编号')
-            ->field('a.批次号,c.关联编号,b.BOM_物料编码,b.BOM_物料名称,a.入仓总量,a.库存数量,a.领用数量,a.退还数量,a.单位,a.实际门幅,
-            a.departname,
-            b.BOM_工单编号,b.BOM_颜色,b.BOM_计划门幅 as 计划门幅,b.BOM_定额门幅,b.BOM_计划用量 as 计划用料,b.BOM_标准用量 as 定额用料')
-            ->where('c.关联编号',$param['关联编号'])
-            ->where('c.订单编号',$param['订单编号'])
-            ->where('b.BOM_物料编码',$param['物料编码'])
+            ->join('工单关联表 c', 'b.BOM_物料编码 = c.物料编号 AND b.BOM_工单编号 = c.订单编号')
+            ->field('a.Mod_rq, a.批次号, c.关联编号, b.BOM_物料编码, b.BOM_物料名称, a.入仓总量, a.库存数量, a.领用数量, a.退还数量, a.单位, a.实际门幅,
+            a.departname, b.BOM_工单编号, b.BOM_颜色, b.BOM_计划门幅 as 计划门幅, b.BOM_定额门幅, b.BOM_计划用量 as 计划用料, b.BOM_标准用量 as 定额用料');
+
+        if (empty($param['Mod_rq'])) {  // 如果 Mod_rq 为空,才关联物料库存表
+            $list = $list->join('物料_库存 a', 'a.物料编号 = b.BOM_物料编码 AND a.物料名称 = b.BOM_物料名称 AND a.Mod_rq IS NULL', 'left')
+                ->field('a.批次号, a.入仓总量, a.库存数量, a.领用数量, a.退还数量, a.单位, a.实际门幅, a.departname');
+        }
+
+        $list = $list->where('c.关联编号', $param['关联编号'])
+            ->where('c.订单编号', $param['订单编号'])
+            ->where('b.BOM_物料编码', $param['物料编码'])
             ->find();
         $orderList = \db('工单关联表')
             ->where('关联编号',$param['关联编号'])
@@ -2959,7 +2974,7 @@ class WorkOrderSpotCheck extends Api{
                 $stockQuantity = $number['库存数量'] - (float)$item['number'];
             }else{
                 $returnQuantity = $number['退还数量'];
-                $stockQuantity = $number['库存数量'] ; 
+                $stockQuantity = $number['库存数量'] ;
             }
 
             // 构建库存数据