| | |
| | | |
| | | private readonly WomcabManager _womcabManager = new(); |
| | | |
| | | /// <summary> |
| | | /// 验证BOM是否为空 |
| | | /// </summary> |
| | | /// <param name="erpCabs">BOM明细列表</param> |
| | | /// <param name="billNo">生产任务单号</param> |
| | | /// <exception cref="Exception">当BOM为空时抛出异常</exception> |
| | | private void ValidateBomNotEmpty(List<ErpCAB> erpCabs, string billNo) |
| | | { |
| | | if (erpCabs == null || erpCabs.Count == 0) |
| | | { |
| | | throw new Exception($"生产任务单 {billNo} 的BOM为空,不允许推送到MES系统"); |
| | | } |
| | | |
| | | // 检查是否有有效的BOM明细(物料编码不为空且需领用量大于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} 的BOM明细无效(物料编码为空或需领用量为0),不允许推送到MES系统"); |
| | | } |
| | | } |
| | | |
| | | public bool SaveList(List<ErpWOM> rohIns) |
| | | { |
| | | var result = rohIns.Select(Save).ToList(); |
| | |
| | | var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa); |
| | | var mesWomcabs = MapErpCABtoWomcab(wom.ErpCabs); |
| | | |
| | | // 验证BOM是否为空 |
| | | ValidateBomNotEmpty(wom.ErpCabs, womErpCaa.FBillNo); |
| | | |
| | | return UseTransaction(db => |
| | | { |
| | | switch (womErpCaa.Type) |