From 020774a716af699a0854439ed223e54327706206 Mon Sep 17 00:00:00 2001 From: zjh <2207896513@qq.com> Date: 星期六, 30 八月 2025 09:54:22 +0800 Subject: [PATCH] 代码提交,校验栈板码已经在MES入库,不允许解绑 --- StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs | 169 +++++++++++++++++++++++++++++--------------------------- 1 files changed, 88 insertions(+), 81 deletions(-) diff --git a/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs b/StandardPda/MES.Service/service/Warehouse/MesInvItemOutsManager.cs index 3691388..cf603b2 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) @@ -154,7 +160,7 @@ { Id = nextSequenceValue, ItemOutNo = billCode, - Status = 0, + Status = 1, CreateBy = "PL017", CreateDate = DateTime.Now, BillTypeId = 200, @@ -172,7 +178,7 @@ Nflag = 0, Fmrmode = from.FMRMODE, Sapno = from.SqNo, - Organizeid = "1002503270000079", + Organizeid = "1002011210000095", }; // 鍒涘缓閲囪喘閫�鏂欏崟璁板綍 @@ -225,7 +231,7 @@ var itemIdLinkU9 = Db.Queryable<MesLinkU9>() .Where(s => s.TableType == "MES_ITEMS" - && s.U9Id == itemOutList.itemId).First(); + && s.U9Id == itemOutList.itemId &&s.OrgId== "1002011210000095").First(); if (mesLinkU9 == null) { @@ -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, }); @@ -324,10 +330,11 @@ } // 妫�鏌ユ槸鍚︽湁宸插鏍哥殑鍗曟嵁锛屽鏋滃瓨鍦ㄥ凡瀹℃牳(Status=1)鍒欎笉鍏佽鍒犻櫎 - if (mesInvItemOuts.Any(item => item.Status == 1)) - { - throw new NotImplementedException("瀛樺湪宸插鏍哥殑閲囪喘閫�鏂欏崟锛屼笉鍏佽鍒犻櫎"); - } + //榛樿u9杩囨潵灏辨槸瀹℃牳鐨勶紝涓嶉渶瑕佸仛瀹℃牳鍒ゆ柇 + //if (mesInvItemOuts.Any(item => item.Status == 1)) + //{ + // throw new NotImplementedException("瀛樺湪宸插鏍哥殑閲囪喘閫�鏂欏崟锛屼笉鍏佽鍒犻櫎"); + //} // 鍒犻櫎鎵�鏈夌浉鍏冲崟鎹� foreach (var itemOut in mesInvItemOuts) -- Gitblit v1.9.3