From b903237d13a6b62d3e9dc1a8e3381ace2f523ab3 Mon Sep 17 00:00:00 2001 From: 南骏 池 <chiffly@163.com> Date: 星期四, 04 九月 2025 13:07:53 +0800 Subject: [PATCH] 1.生产领料查询优化 --- service/Wom/WomdaaManager.cs | 102 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 81 insertions(+), 21 deletions(-) diff --git a/service/Wom/WomdaaManager.cs b/service/Wom/WomdaaManager.cs index 5d43f56..d6f50d5 100644 --- a/service/Wom/WomdaaManager.cs +++ b/service/Wom/WomdaaManager.cs @@ -28,9 +28,57 @@ } //鏍规嵁宸ュ崟鍙疯繑鍥炰骇鍝佸瀷鍙峰拰寰呴鐗╂枡 - public ProductionPickDto GetItemsByDaa001(WarehouseQuery query, dynamic requestInfo) + public dynamic GetItemsByDaa001(WarehouseQuery query, dynamic requestInfo) { - return getDaa001(query); + if (string.IsNullOrEmpty(query.daa001)) + throw new Exception("璇烽�夊伐鍗曞彿锛�"); + + if (query == null) + throw new ArgumentNullException(nameof(query), "鍙傛暟瀵硅薄涓嶈兘涓簄ull"); + + if (string.IsNullOrEmpty(query.daa001?.ToString())) + throw new ArgumentException("宸ュ崟鍙蜂笉鑳戒负绌�", nameof(query.daa001)); + + var orgId = requestInfo.OrgId; + + if (orgId == null) + throw new Exception("缁勭粐涓嶅瓨鍦紒"); + + // 璋冪敤瀛樺偍杩囩▼鑾峰彇鐗╂枡鏄庣粏 + var parameters = new[] + { + new SugarParameter("@daa001", query.daa001), + new SugarParameter("@pi_orgId",orgId), + new SugarParameter("@inP1", null), + new SugarParameter("@inP2", null), + new SugarParameter("@inP3", null), + new SugarParameter("@inP4", null) + }; + var womdabs = Db.Ado.SqlQuery<ItemDetailModel>("EXEC prc_pda_scll_detailList @daa001", parameters); + + var DS_list = womdabs.Where(s => s.DSQty > 0).ToList(); + var YS_list = womdabs.Where(s => s.SQty > 0).ToList(); + + // 淇锛氳ˉ鍏呰幏鍙� womdaa 瀵硅薄 + var daa001Value = query.daa001?.ToString(); + var womdaa = Db.Queryable<Womdaa>().Where(s => s.Daa001 == daa001Value).First(); + + var womcaa = Db.Queryable<Womcaa>().Where(s => s.Guid == womdaa.CaaGuid).First(); + + if (womcaa == null) + { + throw new Exception("鐢熶骇浠诲姟鍗曚笉瀛樺湪"); + } + + var dto = new ProductionPickDto + { + daa001 = query.daa001, + PlanNo = womcaa.Caa020, + items = DS_list, + Ysitems = YS_list + }; + + return dto; } public ProductionPickDto ScanCode(WarehouseQuery query) @@ -935,32 +983,43 @@ } } - public dynamic GetXcslDaa(dynamic unity) + public dynamic GetXcslDaa(dynamic unity,dynamic RequestInfo) { - var sqlParams = new List<SugarParameter> { }; + //var sqlParams = new List<SugarParameter> { }; - var sql2 = new StringBuilder(@" - SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021 - FROM WOMDAA - WHERE daa018 <>'W:瀹屽伐'"); + //var sql2 = new StringBuilder(@" + //SELECT '['+DAA001+']['+DAA021+']' AS daaInfo,DAA001,DAA021 + //FROM WOMDAA + //WHERE daa018 <>'W:瀹屽伐'"); - if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString())) + //if (!string.IsNullOrWhiteSpace(unity.selectKey?.ToString())) + //{ + // sqlParams.Add(new("@selectKey", unity.selectKey)); + // sql2.Append(@" + // AND (DAA001 LIKE '%' + @selectKey + '%' + // OR DAA021 LIKE '%' + @selectKey + '%')"); + //} + + //var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams); + + //if (XcslItem == null) + //{ + // throw new Exception("璇ユ潯浠朵笅鏃犲搴斿伐鍗曚俊鎭紝璇烽噸鏂拌緭鍏ワ紒"); + //} + var orgId = RequestInfo.OrgId; + var parameters = new List<SugarParameter> { - sqlParams.Add(new("@selectKey", unity.selectKey)); - sql2.Append(@" - AND (DAA001 LIKE '%' + @selectKey + '%' - OR DAA021 LIKE '%' + @selectKey + '%')"); - } + new SugarParameter("@selectKey", unity.selectKey), + new SugarParameter("@inP1", orgId), // 鍙�夊弬鏁� + new SugarParameter("@inP2", null), // 鍙�夊弬鏁� + // ...鍏朵粬鍙�夊弬鏁� + }; - var XcslItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams); + var result = Db.Ado.SqlQuery<dynamic>("EXEC prc_pda_getWorkOrderInfo @selectKey, @inP1, @inP2", parameters); - if (XcslItem == null) - { - throw new Exception("璇ユ潯浠朵笅鏃犲搴斿伐鍗曚俊鎭紝璇烽噸鏂拌緭鍏ワ紒"); - } - return XcslItem; + return result; } @@ -1342,7 +1401,8 @@ var sqlParams = new List<SugarParameter> { }; - var sql2 = new StringBuilder(@"SELECT NAME,line_no FROM MES_WORKSHOP_LINE WHERE isAgv = 1 ORDER BY line_no"); + var sql2 = new StringBuilder(@" +SELECT NAME,line_no FROM MES_WORKSHOP_LINE WHERE isAgv = 1 ORDER BY line_no"); var XtItem = Db.Ado.SqlQuery<dynamic>(sql2.ToString(), sqlParams); -- Gitblit v1.9.3