From 6ea7ec9920a6c5d1a678170f9b11cb68fe2b5a8f Mon Sep 17 00:00:00 2001
From: cnf <3283105747@qq.com>
Date: 星期一, 15 十二月 2025 15:45:45 +0800
Subject: [PATCH] 修改合并领料查询

---
 service/Wom/WomdaahbManager.cs |   82 ++++++++++++++++------------------------
 1 files changed, 33 insertions(+), 49 deletions(-)

diff --git a/service/Wom/WomdaahbManager.cs b/service/Wom/WomdaahbManager.cs
index 4540be1..9581901 100644
--- a/service/Wom/WomdaahbManager.cs
+++ b/service/Wom/WomdaahbManager.cs
@@ -194,55 +194,39 @@
 
         if (queryResult?.Daahb001 == null) throw new Exception("鍚堝苟鍗曞彿涓嶅瓨鍦�");
 
-        //var womdabs = Db.Queryable<Womdaa, Womdab, MesItems, Womcab>(
-        //        (a, b, c, d) =>
-        //            new JoinQueryInfos(
-        //                JoinType.Left,
-        //                a.Guid == b.DaaGuid,
-        //                JoinType.Inner,
-        //                c.Id.ToString() ==
-        //                b.Dab003,
-        //                JoinType.Inner, b.Erpid == d.Erpid
-        //            ))
-        //    .Where((a, b, c, d) =>
-        //        a.Daa001 == query.daa001 && d.Iss1ueType == "1")
-        //    .Select((a, b, c, d) => new ItemDetailModel
-        //    {
-        //        ItemNo = c.ItemNo,
-        //        ItemName = c.ItemName,
-        //        ItemModel = c.ItemModel,
-        //        FQty = b.Dab006, // 鐢宠鏁伴噺
-        //        SQty = b.Dab007, // 宸叉壂鏁伴噺
-        //        DSQty = b.Dab006 - b.Dab007, // 宸叉壂鏁伴噺
-        //    })
-        //    .ToList();
-
-        var sql =string.Format(@"SELECT max(ahb.GUID)     as hbguid,
-                        m.item_no         as itemNo,
-                        max(m.item_name)  as itemName,
-                        max(m.item_model) as itemModel,
-                        sum(b.dab006)     as FQty,
-                        sum(b.dab007)     as SQty,
-                        sum(b.dab006) - sum(b.dab007) as DSQty,
-                        sum(b.dab020)     as slsl,
-                        max(u.fname)      as dw,
-                        max(ahb.DAAHB001) as hbdh,
-                        dbo.F_QX_GETRECODEPOTSE(MAX(B.DAB003),'','','') AS RecoKw
-                        FROM WOMDAAHB ahb
-                          left join WOMDAAHB_LIST ahbl on ahb.GUID = ahbl.MID
-                          left join WOMDAA A on ahbl.PWORK_NO = a.daa021 and ahb.org_id = a.erp_sczz
-                          left join WOMDAB b on b.daaGuid = a.guid
-                          left join WOMCAA ca on a.caaGuid = ca.guid
-                          LEFT JOIN WOMCAB D ON B.erpid = D.ERPID
-                          LEFT JOIN MES_WORKSHOP_LINE WL ON WL.ID = A.DAA015
-                          left join mes_items m on M.ID = b.dab003
-                          left join MES_UNIT u on u.id = ahbl.UNIT
-                          left join [dbo].[v_caa] v on v.guid = a.guid
-                          LEFT JOIN MES_BACK_FLASH F ON b.dab003 = F.ItemId
-                          WHERE ahb.daahb001 = '{0}' AND D.ISSUE_TYPE = 1 AND (F.ItemId is null OR F.checkStatus<>1)
-                          group by m.item_no
-                          ORDER BY m.item_no 
-                          ", query.hbNo);
+                    var sql =string.Format(@"SELECT max(ahb.GUID)                                      as hbguid,
+                   m.item_no                                          as itemNo,
+                   max(m.item_name)                                   as itemName,
+                   max(m.item_model)                                  as itemModel,
+                   sum(b.dab006)                                      as FQty,
+                   sum(b.dab007)                                      as SQty,
+                   sum(b.dab006) - sum(b.dab007)                      as DSQty,
+                   sum(b.dab020)                                      as slsl,
+                   max(u.fname)                                       as dw,
+                   max(ahb.DAAHB001)                                  as hbdh,
+                   dbo.F_QX_GETRECODEPOTSE(MAX(B.DAB003), '', '', '') AS RecoKw,
+                   max(e1.kc)                                         as kc
+                    FROM WOMDAAHB ahb
+                             left join WOMDAAHB_LIST ahbl on ahb.GUID = ahbl.MID
+                             left join WOMDAA A on ahbl.PWORK_NO = a.daa021 and ahb.org_id = a.erp_sczz
+                             left join WOMDAB b on b.daaGuid = a.guid
+                             left join WOMCAA ca on a.caaGuid = ca.guid
+                             LEFT JOIN WOMCAB D ON B.erpid = D.ERPID
+                             LEFT JOIN MES_WORKSHOP_LINE WL ON WL.ID = A.DAA015
+                             left join mes_items m on M.ID = b.dab003
+                             left join (select a.ITEM_ID, a.DEPOT_ID, sum(isnull(QUANTITY, 0)) as kc
+                                        from MES_INV_ITEM_STOCKS a
+                                        group by a.ITEM_ID, a.DEPOT_ID) e1 on e1.ITEM_ID = m.item_id and e1.DEPOT_ID = m.depot_code
+                             left join MES_UNIT u on u.id = ahbl.UNIT
+                             left join [dbo].[v_caa] v on v.guid = a.guid
+                             LEFT JOIN MES_BACK_FLASH F ON b.dab003 = F.ItemId
+                    WHERE ahb.daahb001 = '{0}'
+                      AND D.ISSUE_TYPE = 1
+                      AND (F.ItemId is null OR F.checkStatus <> 1)
+                      and(m.F_WPVT_BASE_QTR = ahb.cgyid or isnull(m.F_WPVT_BASE_QTR, '') = '')
+                    group by m.item_no
+                    ORDER BY m.item_no
+                                      ", query.hbNo);
 
         var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql);
 

--
Gitblit v1.9.3