From f1deb7b024e17cba204de5fcb0dac15801436b90 Mon Sep 17 00:00:00 2001 From: sjz <1240968267@qq.com> Date: 星期一, 28 七月 2025 20:56:41 +0800 Subject: [PATCH] 多组织修改 --- MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 112 insertions(+), 1 deletions(-) diff --git a/MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs b/MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs index 4d40c63..8f28fe9 100644 --- a/MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs +++ b/MES.Service/service/Warehouse/MesInvItemOutCDetailsManager.cs @@ -1,4 +1,5 @@ 锘縰sing MES.Service.DB; +using MES.Service.Dto.service; using MES.Service.Modes; using SqlSugar; @@ -38,7 +39,8 @@ conModels.Add(new ConditionalModel { FieldName = typeof(MesInvItemOutCDetails).GetProperties()[0].Name, - ConditionalType = ConditionalType.Equal, FieldValue = "1" + ConditionalType = ConditionalType.Equal, + FieldValue = "1" }); //id=1 var data7 = base.GetPageList(conModels, p, it => SqlFunc.GetRandom()); @@ -75,4 +77,113 @@ } #endregion + + + public MesInvItemOutCDetails GetOutList(WarehouseQuery query) + { + var mesInvItemBarcodes = Db.Queryable<MesInvItemBarcodes>() + .Where(s => s.ItemBarcode == query.barcode).Count(); + + if (mesInvItemBarcodes <= 0) throw new Exception("鏉$爜涓嶅瓨鍦�"); + + var mesInvItemOutCDetails = Db.Queryable<MesInvItemOutCDetails>() + .Where(s => s.ItemBarcode == query.barcode && s.Receive == 0) + .Count(); + + + if (mesInvItemOutCDetails <= 0) throw new Exception("鏉$爜涓嶇鍚堟帴鏀舵潯浠�,璇锋鏌ワ紒"); + + + var entity = Db + .Queryable<MesInvItemOutCDetails, MesInvItemOuts, MesItems>((a, b, + c) => + new JoinQueryInfos(JoinType.Left, a.ItemOutId == b.Id, + JoinType.Left, a.ItemNo == c.ItemNo)) + .Where((a, b, c) => a.ItemBarcode == query.barcode) + .Select((a, b, c) => new MesInvItemOutCDetails + { + PbillNo = b.ItemOutNo, + WorkNo = a.WorkNo, + ItemNo = a.ItemNo, + ItemName = c.ItemName, + Quantity = a.Quantity + }).First(); + + if (entity == null) + throw new Exception("鍑哄簱鏉$爜" + query.barcode + " 涓嶅瓨鍦紝璇风‘璁�!"); + + + return entity; + } + + + public MaterialReceipt GetFormList(WarehouseQuery query) + { + var mesInvItemBarcodes = Db.Queryable<MesInvItemBarcodes>() + .Where(s => s.ItemBarcode == query.barcode).Count(); + + if (mesInvItemBarcodes <= 0) throw new Exception("鏉$爜涓嶅瓨鍦�"); + + var mesInvItemOutCDetails = Db.Queryable<MesInvItemOutCDetails>() + .Where(s => s.ItemBarcode == query.barcode).First(); + + var entity = new MaterialReceipt + { + InvItemoutCDetails = + GetMesInvItemOutCDetails(mesInvItemOutCDetails.PbillNo), + ItemOuts = GetMesInvItemOuts(mesInvItemOutCDetails.PbillNo) + }; + + return entity; + } + + + public MesInvItemOutCDetails confirmReceipt(WarehouseQuery query) + { + if (string.IsNullOrWhiteSpace(query.barcode)) + throw new Exception("璇锋壂鍑哄簱鏉$爜锛�"); + + if (string.IsNullOrWhiteSpace(query.billNo)) + throw new Exception("鍑哄簱鍗曟嵁涓嶈兘涓虹┖锛�"); + + + var barcodeInfo = GetBarcodeInfo(query.barcode); + + + if (barcodeInfo.Receive == 1) throw new Exception("姝ゆ潯鐮佸凡缁忔帴鏀�,璇锋鏌ワ紒"); + + + UseTransaction(db => + { + var count = db.Updateable<MesInvItemOutCDetails>() + .SetColumns(s => s.Receive == 1) + .Where(s => s.ItemBarcode == barcodeInfo.ItemBarcode) + .ExecuteCommand(); + + return 1; + }); + + return barcodeInfo; + } + + + public List<MesInvItemOutCDetails> GetMesInvItemOutCDetails(string billno) + { + return Db.Queryable<MesInvItemOutCDetails>() + .Where(s => s.PbillNo == billno).ToList(); + } + + public MesInvItemOuts GetMesInvItemOuts(string billno) + { + return Db.Queryable<MesInvItemOuts>() + .Where(a => a.ItemOutNo == billno).Single(); + } + + + private MesInvItemOutCDetails GetBarcodeInfo(string itemBarcode) + { + // Get barcode information + return Db.Queryable<MesInvItemOutCDetails>() + .First(b => b.ItemBarcode == itemBarcode); + } } \ No newline at end of file -- Gitblit v1.9.3