From 035f614428d37d07976e995719a5d5bfb5472648 Mon Sep 17 00:00:00 2001
From: CRZ <1278080563@qq.com>
Date: 星期三, 03 十二月 2025 10:20:33 +0800
Subject: [PATCH] 任务单接口修改
---
MES.Service/service/WomcaaManager.cs | 55 ++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 42 insertions(+), 13 deletions(-)
diff --git a/MES.Service/service/WomcaaManager.cs b/MES.Service/service/WomcaaManager.cs
index 5859f34..8b08ef5 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();
@@ -28,6 +53,9 @@
var womErpCaa = wom. ErpCaa;
var mesWomcaa = MapErpCAAtoWomcaa(womErpCaa);
var mesWomcabs = MapErpCABtoWomcab(wom.ErpCabs);
+
+ // 楠岃瘉BOM鏄惁涓虹┖
+ ValidateBomNotEmpty(wom.ErpCabs, womErpCaa.FBillNo);
return UseTransaction(db =>
{
@@ -66,21 +94,21 @@
if (mesWomcabs.Count > 0)
{
- // var mesWomcab = mesWomcabs.Select(s => new { CAB001 = s.Cab001, CAB002 = s.Cab002, CAB003 = s.Cab003 }).ToList();
- var mesWomcab = mesWomcabs.Select(s => new { CAB001 = s.Cab001, CAB002 = s.Cab002}).ToList();
+ var mesWomcab = mesWomcabs.Select(s => new { CAB001 = s.Cab001, CAB002 = s.Cab002, CAB003 = s.Cab003 }).ToList();
+ //var mesWomcab = mesWomcabs.Select(s => new { CAB001 = s.Cab001, CAB002 = s.Cab002}).ToList();
- /*db.Deleteable<Womcab>()
+ db.Deleteable<Womcab>()
.Where(it => mesWomcab
.Any(p => p.CAB001 == it.Cab001
&& p.CAB002 == it.Cab002
&& p.CAB003 == it.Cab003))
- .ExecuteCommand();*/
- db.Deleteable<Womcab>()
- .Where(it => mesWomcab
- .Any(p => p.CAB001 == it.Cab001
- && p.CAB002 == it.Cab002))
.ExecuteCommand();
+ //db.Deleteable<Womcab>()
+ // .Where(it => mesWomcab
+ // .Any(p => p.CAB001 == it.Cab001
+ // && p.CAB002 == it.Cab002))
+ // .ExecuteCommand();
};
@@ -137,13 +165,13 @@
.ExecuteCommand() > 0;
- //var mesWomcab = mesWomcabs.Select(s => new { CAB001 = s.Cab001, CAB002 = s.Cab002, CAB003 = s.Cab003 }).ToList();
- var mesWomcab = mesWomcabs.Select(s => new { CAB001 = s.Cab001, CAB002 = s.Cab002}).ToList();
+ var mesWomcab = mesWomcabs.Select(s => new { CAB001 = s.Cab001, CAB002 = s.Cab002, CAB003 = s.Cab003 }).ToList();
+ //var mesWomcab = mesWomcabs.Select(s => new { CAB001 = s.Cab001, CAB002 = s.Cab002}).ToList();
- //var insertOrUpdate = db.Deleteable<Womcab>().Where(it => mesWomcab.Any(p => p.CAB001 == it.Cab001 && p.CAB002 == it.Cab002 && p.CAB003 == it.Cab003)).ExecuteCommand() > 0;
- var insertOrUpdate = db.Deleteable<Womcab>().Where(it => mesWomcab.Any(p => p.CAB001 == it.Cab001 && p.CAB002 == it.Cab002)).ExecuteCommand() > 0;
+ var insertOrUpdate = db.Deleteable<Womcab>().Where(it => mesWomcab.Any(p => p.CAB001 == it.Cab001 && p.CAB002 == it.Cab002 && p.CAB003 == it.Cab003)).ExecuteCommand() > 0;
+ //var insertOrUpdate = db.Deleteable<Womcab>().Where(it => mesWomcab.Any(p => p.CAB001 == it.Cab001 && p.CAB002 == it.Cab002)).ExecuteCommand() > 0;
if (update && insertOrUpdate) return true;
@@ -189,7 +217,8 @@
Cust_item_no = dto.FCustitemno,
DemandDate = DemandDate,
CustNumber = dto.CustNumber,
- ModelType = dto.ModelType
+ ModelType = dto.ModelType,
+ OrderNo = dto.FOrderNo
--
Gitblit v1.9.3