From cad9f911a2f0c7a14d62f1503aadd279423caccc Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期二, 22 七月 2025 16:40:32 +0800 Subject: [PATCH] 退料单接口BUG修复 --- StandardPda/MES.Service/Modes/MesInvItemOutItems.cs | 8 +- StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs | 154 ++++++++++++++++++++++++++------------------------ 2 files changed, 84 insertions(+), 78 deletions(-) diff --git a/StandardPda/MES.Service/Modes/MesInvItemOutItems.cs b/StandardPda/MES.Service/Modes/MesInvItemOutItems.cs index 66da2f5..6260f6a 100644 --- a/StandardPda/MES.Service/Modes/MesInvItemOutItems.cs +++ b/StandardPda/MES.Service/Modes/MesInvItemOutItems.cs @@ -247,13 +247,13 @@ /// </summary> [SugarColumn(ColumnName = "FMTONO")] public string? Fmtono { get; set; } - + // <summary> /// 鐢宠琛屽彿 /// </summary> - //[SugarColumn(ColumnName = "SQ_NO")] - //public string? SqNo { get; set; } - + [SugarColumn(ColumnName = "SQ_NO")] + public string? SqNo { get; set; } + //[SugarColumn(ColumnName = "ZZITEM_ID")] //public string? ZzitemId{ get; set; } } \ No newline at end of file diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs index 3691388..6c5d183 100644 --- a/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs +++ b/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs @@ -14,88 +14,94 @@ var itemOutFrom = oItemOut.from; var itemOutLists = oItemOut.items; - // 鏍规嵁AsnNo鍜孧esNo瀵规槑缁嗚繘琛屽垎缁� - var groupedItems = itemOutLists - .GroupBy(item => new { item.MesNo, item.SqNo }) - .ToList(); - - bool result = true; - foreach (var group in groupedItems) + return UseTransaction(db => { - //if (group.Key.AsnNo == null) - //{ - // throw new NotImplementedException("AsnNo涓嶈兘涓虹┖"); - //} + // 鏍规嵁AsnNo鍜孧esNo瀵规槑缁嗚繘琛屽垎缁� + var groupedItems = itemOutLists + .GroupBy(item => new { item.MesNo, item.SqNo }) + .ToList(); - if (group.Key.MesNo == null) + int result = 1; + int count = 1; + foreach (var group in groupedItems) { - throw new NotImplementedException("鍏ュ簱鍗曞崟鍙蜂笉鑳戒负绌�"); - } + //if (group.Key.AsnNo == null) + //{ + // throw new NotImplementedException("AsnNo涓嶈兘涓虹┖"); + //} - if (group.Key.SqNo == null) - { - throw new NotImplementedException("閫�璐х敵璇峰崟琛屽彿涓嶈兘涓虹┖"); - } - - // 鍒涘缓涓�涓复鏃剁殑itemOutFrom瀵硅薄锛屼娇鐢ㄥ垎缁勭殑Key浣滀负涓昏灞炴�� - var tempItemOutFrom = new ItemOutFrom - { - - MesNo = group.Key.MesNo, - SqNo = group.Key.SqNo, - // 缁ф壙鍘熷itemOutFrom鐨勫叾浠栧睘鎬� - RtnNo = itemOutFrom.RtnNo, - Type = itemOutFrom.Type, - CreateBy = itemOutFrom.CreateBy, - FMRMODE = itemOutFrom.FMRMODE, - DepotId = itemOutFrom.DepotId, - SupperId = itemOutFrom.SupperId - }; - - // 鏍规嵁Type鎵ц涓嶅悓鐨勯�昏緫 - switch (tempItemOutFrom.Type) - { - case "1": + if (group.Key.MesNo == null) { - var mesInvItemOuts = Db.Queryable<MesInvItemOuts>() - .Where(s => s.BillTypeId == BILL_TYPE_ID - && s.TransactionNo == TRANSACTION_NO - && s.ItemOutNo == tempItemOutFrom.RtnNo - - ) - .Count(); - - if (mesInvItemOuts > 0) - { - throw new NotImplementedException( - tempItemOutFrom.RtnNo + - "鐨勯��鏂欑敵璇峰崟宸茬粡瀛樺湪"); - } - - // 涓哄綋鍓嶅垎缁勪繚瀛樻暟鎹� - var groupResult = Save(tempItemOutFrom, group.ToList()); - if (!groupResult) - { - result = false; - } - - break; + throw new NotImplementedException("鍏ュ簱鍗曞崟鍙蜂笉鑳戒负绌�"); } - case "4": - var removeResult = Remove(tempItemOutFrom); - if (!removeResult) - { - result = false; - } - break; - default: - result = false; - break; + if (group.Key.SqNo == null) + { + throw new NotImplementedException("閫�璐х敵璇峰崟琛屽彿涓嶈兘涓虹┖"); + } + + // 鍒涘缓涓�涓复鏃剁殑itemOutFrom瀵硅薄锛屼娇鐢ㄥ垎缁勭殑Key浣滀负涓昏灞炴�� + var tempItemOutFrom = new ItemOutFrom + { + //AsnNo = group.Key.AsnNo, + MesNo = group.Key.MesNo, + SqNo = group.Key.SqNo, + // 缁ф壙鍘熷itemOutFrom鐨勫叾浠栧睘鎬� + RtnNo = itemOutFrom.RtnNo+ "-"+count.ToString(), + Type = itemOutFrom.Type, + CreateBy = itemOutFrom.CreateBy, + FMRMODE = itemOutFrom.FMRMODE, + DepotId = itemOutFrom.DepotId, + SupperId = itemOutFrom.SupperId + }; + count++; + // 鏍规嵁Type鎵ц涓嶅悓鐨勯�昏緫 + switch (tempItemOutFrom.Type) + { + case "1": + { + var mesInvItemOuts = Db.Queryable<MesInvItemOuts>() + .Where(s => s.BillTypeId == BILL_TYPE_ID + && s.TransactionNo == TRANSACTION_NO + && s.ItemOutNo == tempItemOutFrom.RtnNo + && s.Sapno == tempItemOutFrom.SqNo + ) + .Count(); + + if (mesInvItemOuts > 0) + { + throw new NotImplementedException( + tempItemOutFrom.RtnNo + + "鐨勯��鏂欑敵璇峰崟宸茬粡瀛樺湪"); + } + + // 涓哄綋鍓嶅垎缁勪繚瀛樻暟鎹� + var groupResult = Save(tempItemOutFrom, group.ToList()); + if (!groupResult) + { + result = 0; + } + + break; + } + case "4": + var removeResult = Remove(tempItemOutFrom); + if (!removeResult) + { + result = 0; + } + + break; + default: + result = 0; + break; + } } - } - return result; + return result; + }) > 0; + + } private bool Save(ItemOutFrom from, List<ItemOutList> items) @@ -286,7 +292,7 @@ RkQty = mesInvItemInCItems.Quantity, TlQty = 0, ItemId = Decimal.Parse(itemIdLinkU9.MesId), // 纭繚ItemId鏈夊�� - //SqNo = itemOutList.SqNo, // 纭繚ItemId鏈夊�� + SqNo = itemOutList.SqNo, // 纭繚ItemId鏈夊�� //ZzitemId = itemOutList.AsnLineNo, // 纭繚ItemId鏈夊�� // Unit = item.Unit, }); -- Gitblit v1.9.3