From ae6bbf378b56b3a583527c546f8050b9813c1d1b Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 13 三月 2025 14:38:54 +0800 Subject: [PATCH] 1.生产入库数据源优化 --- service/Wom/WomdaaManager.cs | 84 ++++++++++++++++++++++++++--------------- 1 files changed, 53 insertions(+), 31 deletions(-) diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs index 8c92aee..4e169d9 100644 --- a/service/Wom/WomdaaManager.cs +++ b/service/Wom/WomdaaManager.cs @@ -1,6 +1,8 @@ 锘縰sing System.Data; using System.Data.SqlClient; using Masuit.Tools; +using MES.Service.Modes; +using Microsoft.SqlServer.Server; using NewPdaSqlServer.DB; using NewPdaSqlServer.Dto.service; using NewPdaSqlServer.entity; @@ -17,9 +19,9 @@ public List<string> GetProductionPickDaa001(WarehouseQuery query) { var sql = - "SELECT DAA001 FROM WOMDAA A LEFT JOIN (SELECT COUNT(1) UN_NUM, PID FROM WOMDAB WHERE DAB006 > DAB007 GROUP BY PID) B ON A.ID = B.PID WHERE DAA001 LIKE '%" + + "SELECT DAA001 FROM WOMDAA A LEFT JOIN (SELECT COUNT(1) UN_NUM, PID FROM WOMDAB WHERE DAB006 > DAB007 GROUP BY DAB002) B ON A.GUID = B.daaGuid WHERE DAA001 = " + query.daa001 + - "%' and DAA018 != '瀹屽伐' AND DAA022 = 1 AND UN_NUM > 0 AND ROWNUM <= 10 order by a.id desc"; + " and DAA018 != '瀹屽伐' AND DAA022 = 1 AND UN_NUM > 0 AND ROWNUM <= 10 order by a.id desc"; return Db.Ado.SqlQuery<string>(sql); } @@ -77,7 +79,9 @@ daa001 = query.daa001, barcodeNum = barcodeNum, splitNum = splitNum, - barcode = query.barcode + barcode = query.barcode, + strMsg = _strMsg, + result = _intSum }; return dto; @@ -161,7 +165,8 @@ var womdaa = Db.Queryable<Womdaa, MesItems>((a, i) => new JoinQueryInfos(JoinType.Left, a.Daa002 == i.ItemId.ToString())) - .Where((a, i) => a.Daa001 == query.daa001) + .Where((a, i) => a.Daa001 == query.daa001 + && a.Fstatus == 1) .Select((a, i) => new { a.Daa001, a.CaaGuid @@ -169,31 +174,43 @@ if (womdaa?.Daa001 == 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.IssueType == "1") - .Select((a, b, c, d) => new Womdab - { - Pid = b.Pid, - Dab003 = b.Dab003, - Dab006 = b.Dab006, - Dab007 = b.Dab007, - wNum = b.Dab006 - b.Dab007, // 璁$畻瀛楁 W_NUM - ItemName = c.ItemName, // 鍔ㄦ�佸瓧娈� ITEM_NAME - ItemNo = c.ItemNo // 鍔ㄦ�佸瓧娈� ITEM_NO - }) - .ToList(); + //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 list = womdabs.Where(s => s.wNum > 0).ToList(); + var sql =string.Format(@"SELECT c.item_no ItemNo,c.item_name ItemName,c.item_model ItemModel,b.dab006 FQty,b.dab007 SQty,b.dab006 - b.dab007 DSQty , + dbo.F_QX_GETRECODEPOTSE(B.dab003) as RecoKw + FROM WOMDAB B + LEFT JOIN WOMDAA A ON A.guid = B.daaGuid + LEFT JOIN MES_ITEMS C ON B.dab003 = C.item_id + LEFT JOIN WOMCAB D ON B.erpid = D.ERPID + WHERE daa001 = '{0}' AND ISSUE_TYPE = 1 ORDER BY DAB002", query.daa001); + + var womdabs = Db.Ado.SqlQuery<ItemDetailModel>(sql); + + + var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); + + var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); var mesInvItemOutCDetailsList = Db .Queryable<MesInvItemOutCDetails, MesItems, MesDepots> @@ -218,13 +235,18 @@ var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid) .First(); + if (womcaa == null) + { + throw new Exception("鐢熶骇浠诲姟鍗曚笉瀛樺湪"); + } + var dto = new ProductionPickDto { daa001 = womdaa.Daa001, PlanNo = womcaa.Caa020, - totals = womdabs, - daisao = list, - yisao = mesInvItemOutCDetailsList + items = DS_list, + Ysitems = YS_list + // yisao = mesInvItemOutCDetailsList }; return dto; -- Gitblit v1.9.3