Bladeren bron

工单超节损入仓数量优化

zck 11 maanden geleden
bovenliggende
commit
33993727f4
1 gewijzigde bestanden met toevoegingen van 14 en 1 verwijderingen
  1. 14 1
      application/api/controller/OrderSuperLoss.php

+ 14 - 1
application/api/controller/OrderSuperLoss.php

@@ -1741,7 +1741,7 @@ class OrderSuperLoss extends Api
         b.`实际投料`,  
         b.`计量单位`,  
         DATE(a.jjcp_sj) AS warehousing_date,  
-        `入仓数量` AS warehousing_num, 
+        total_sl.warehousing_num,
         SUM(DISTINCT b.`计划损耗`) AS `工单计划损耗`,  
         b.`废品合计`,  
         SUM(b.`CjsJe`) AS reward_money,  
@@ -1753,10 +1753,23 @@ class OrderSuperLoss extends Api
         `工单质检废` AS 工单质检废,
         c.质量考核  
     ';
+
+        // 子查询:计算所有记录的 jjcp_sl 总和(入仓数量)
+        $subQuery = \db('成品入仓')
+        ->alias('a_sub')
+        ->field('
+        a_sub.jjcp_gdbh AS Gd_gdbh_sub,
+        a_sub.jjcp_yjno AS jjcp_yjno_sub,
+        SUM(a_sub.jjcp_sl) AS warehousing_num
+        ')
+        ->group('a_sub.jjcp_gdbh, a_sub.jjcp_yjno')
+        ->buildSql();
+
         $list = \db('成品入仓')
             ->alias('a')
             ->join('工单_质量考核汇总 b','a.jjcp_gdbh = b.Gy0_gdbh AND a.jjcp_yjno = b.印件及工序','left')
             ->join('工单_印件资料 c','a.jjcp_gdbh = c.Yj_Gdbh AND a.jjcp_yjno = c.yj_Yjno')
+            ->join([$subQuery => 'total_sl'], 'a.jjcp_gdbh = total_sl.Gd_gdbh_sub AND a.jjcp_yjno = total_sl.jjcp_yjno_sub', 'left')
             ->field($field)
             ->where($where)
             ->where('a.jjcp_smb','like','末%')