From 6b3c4d87c500442f9774904c6a1117fe7cee5b5f Mon Sep 17 00:00:00 2001 From: 如洲 陈 <1278080563@qq.com> Date: 星期三, 24 九月 2025 17:50:40 +0800 Subject: [PATCH] 退货检验平板优化、任务单加序列号 --- MES.Service/service/WomcaaManager.cs | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-) diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs index 5859f34..36a9a6a 100644 --- a/MES.Service/service/WomcaaManager.cs +++ b/MES.Service/service/WomcaaManager.cs @@ -17,6 +17,31 @@ private readonly WomcabManager _womcabManager = new(); + /// <summary> + /// 楠岃瘉BOM鏄惁涓虹┖ + /// </summary> + /// <param name="erpCabs">BOM鏄庣粏鍒楄〃</param> + /// <param name="billNo">鐢熶骇浠诲姟鍗曞彿</param> + /// <exception cref="Exception">褰揃OM涓虹┖鏃舵姏鍑哄紓甯�</exception> + private void ValidateBomNotEmpty(List<ErpCAB> erpCabs, string billNo) + { + if (erpCabs == null || erpCabs.Count == 0) + { + throw new Exception($"鐢熶骇浠诲姟鍗� {billNo} 鐨凚OM涓虹┖锛屼笉鍏佽鎺ㄩ�佸埌MES绯荤粺"); + } + + // 妫�鏌ユ槸鍚︽湁鏈夋晥鐨凚OM鏄庣粏锛堢墿鏂欑紪鐮佷笉涓虹┖涓旈渶棰嗙敤閲忓ぇ浜�0锛� + var validBomItems = erpCabs.Where(cab => + !string.IsNullOrWhiteSpace(cab.FMaterialID2) && + !string.IsNullOrWhiteSpace(cab.FNeedQty2) && + decimal.TryParse(cab.FNeedQty2, out decimal qty) && qty > 0).ToList(); + + if (validBomItems.Count == 0) + { + throw new Exception($"鐢熶骇浠诲姟鍗� {billNo} 鐨凚OM鏄庣粏鏃犳晥锛堢墿鏂欑紪鐮佷负绌烘垨闇�棰嗙敤閲忎负0锛夛紝涓嶅厑璁告帹閫佸埌MES绯荤粺"); + } + } + public bool SaveList(List<ErpWOM> rohIns) { var result = rohIns.Select(Save).ToList(); @@ -29,6 +54,9 @@ var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa); var mesWomcabs = MapErpCABtoWomcab(wom.ErpCabs); + // 楠岃瘉BOM鏄惁涓虹┖ + ValidateBomNotEmpty(wom.ErpCabs, womErpCaa.FBillNo); + return UseTransaction(db => { switch (womErpCaa.Type) -- Gitblit v1.9.3