南骏 池
2025-05-08 b38ef27a088410208e4643c3ab34de433fcf4849
1.现场收料优化
已修改1个文件
28 ■■■■■ 文件已修改
service/Wom/WomdaaManager.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/Wom/WomdaaManager.cs
@@ -620,13 +620,8 @@
        var sqlParams = new List<SugarParameter> { new("@daa001", query.daa001) };
        var sql1 = @"SELECT A.item_out_no,
       SUM(B.QUANTITY) AS BL_Num,
       (SELECT ISNULL(SUM(B.QUANTITY), 0)
        FROM MES_INV_ITEM_OUTS A
                 LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
        WHERE out_type = '生产领料'
          AND A.task_no = @daa001
          AND ISNULL(IS_XCSL, '0') = 1) AS JS_Num,
       SUM(B.QUANTITY)         AS BL_Num,
       ISNULL(Sub.JS_Sum, 0) AS JS_Num, -- 使用LEFT JOIN子查询的结果
       C.item_no,
       C.item_name,
       D.USER_NAME
@@ -634,9 +629,24 @@
         LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B ON A.GUID = B.ITEM_OUT_ID
         LEFT JOIN MES_ITEMS C ON B.ITEM_ID = C.item_id
         LEFT JOIN SYS_USER D ON A.create_by = D.ACCOUNT
WHERE out_type = '生产领料'
-- 新增LEFT JOIN聚合子查询
         LEFT JOIN (SELECT B1.ITEM_ID,
                           SUM(B1.QUANTITY) AS JS_Sum
                    FROM MES_INV_ITEM_OUTS A1
                             LEFT JOIN MES_INV_ITEM_OUT_C_DETAILS B1 ON A1.GUID = B1.ITEM_OUT_ID
                    WHERE A1.out_type = '生产领料'
                      AND A1.task_no = @daa001
                      AND ISNULL(B1.IS_XCSL, '0') = 1
                    GROUP BY B1.ITEM_ID -- 按ITEM_ID提前聚合
) AS Sub ON Sub.ITEM_ID = C.item_id
WHERE A.out_type = '生产领料'
  AND A.task_no = @daa001
GROUP BY item_out_no, C.item_no, C.item_name, D.USER_NAME";
GROUP BY A.item_out_no,
         C.item_no,
         C.item_name,
         D.USER_NAME,
         C.item_id,
         ISNULL(Sub.JS_Sum, 0);";
        var XcslItem = Db.Ado.SqlQuery<dynamic>(sql1, sqlParams);