Преглед изворни кода

修复:床垫接口处理异常情况

chen_yjin пре 2 месеци
родитељ
комит
2272854de3
1 измењених фајлова са 23 додато и 15 уклоњено
  1. 23 15
      JLHHJSvr/Helper/InterfaceHelper.cs

+ 23 - 15
JLHHJSvr/Helper/InterfaceHelper.cs

@@ -1030,23 +1030,26 @@ namespace JLHHJSvr.Helper
                 }
             }
 
-            var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
-            var parameters = new JObject();
-            parameters.Add("mtrlids", JToken.FromObject(mtrlidList));
-            var resultList = erpHelper.GetERPList<erp_mtrldef>("GetL1Mtrldef", parameters);
-
-            if (resultList != null && resultList.Any())
+            if (mtrlidList.Count > 0)
             {
-                foreach (var mx in qdList)
+                var erpHelper = HelperBase.GetHelper<ERPHelper>(null);
+                var parameters = new JObject();
+                parameters.Add("mtrlids", JToken.FromObject(mtrlidList));
+                var resultList = erpHelper.GetERPList<erp_mtrldef>("GetL1Mtrldef", parameters);
+
+                if (resultList != null && resultList.Any())
                 {
-                    var result = resultList.FirstOrDefault(o => o.mtrlid == mx.erp_mtrlid);
-                    if (result != null)
+                    foreach (var mx in qdList)
                     {
-                        mx.erp_mtrlcode = result.mtrlcode;
-                        mx.erp_mtrlname = result.mtrlname;
-                        mx.erp_mtrlmode = result.mtrlmode;
-                        mx.erp_unit = result.unit;
-                        mx.erp_mtrlengname = result.zxmtrlmode;
+                        var result = resultList.FirstOrDefault(o => o.mtrlid == mx.erp_mtrlid);
+                        if (result != null)
+                        {
+                            mx.erp_mtrlcode = result.mtrlcode;
+                            mx.erp_mtrlname = result.mtrlname;
+                            mx.erp_mtrlmode = result.mtrlmode;
+                            mx.erp_unit = result.unit;
+                            mx.erp_mtrlengname = result.zxmtrlmode;
+                        }
                     }
                 }
             }
@@ -1054,7 +1057,12 @@ namespace JLHHJSvr.Helper
             //更新 二级明细项目 需要产品配置列表,此部分由前端完成
             if (interfaceList != null && interfaceList.Any())
             {
-                Dictionary<string, u_mattress_interface> interfaceDict = interfaceList.ToDictionary(mb => mb.bj_pzname, mb => mb);
+                // 使用 GroupBy 去重并选择第一个元素
+                var distinctList = interfaceList
+                    .GroupBy(mb => mb.bj_pzname)
+                    .Select(g => g.First())
+                    .ToList();
+                Dictionary<string, u_mattress_interface> interfaceDict = distinctList.ToDictionary(mb => mb.bj_pzname, mb => mb);
                 foreach (var mx in qdList)
                 {
                     if (interfaceDict.TryGetValue(mx.bj_pzname, out var mb))