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 ++++++++++++++++++++++++++++++++++++++++----------
Controllers/Wom/WomdaaController.cs | 2
2 files changed, 82 insertions(+), 22 deletions(-)
diff --git a/Controllers/Wom/WomdaaController.cs b/Controllers/Wom/WomdaaController.cs
index a2d8567..f5dee1c 100644
--- a/Controllers/Wom/WomdaaController.cs
+++ b/Controllers/Wom/WomdaaController.cs
@@ -547,7 +547,7 @@
try
{
dynamic resultInfos = new ExpandoObject();
- resultInfos.tbBillList = m.GetXcslDaa(query);
+ resultInfos.tbBillList = m.GetXcslDaa(query, RequestInfo);
return new ResponseResult
{
status = 0,
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