From c827fe7b0c5b3b444d76ba0d96a2649c764630dd Mon Sep 17 00:00:00 2001 From: dengjunjie <dengjunjie@hnkhzn.com> Date: 星期四, 14 十一月 2024 16:36:08 +0800 Subject: [PATCH] 修改WCS、WMS出入库逻辑 --- 项目代码/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs | 50 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 32 insertions(+), 18 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs" index faceb44..663a4f8 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Base/OutStockLockInfoService.cs" @@ -1,4 +1,5 @@ -锘縰sing System; +锘縰sing SqlSugar; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -18,29 +19,42 @@ public OutStockLockInfoService(IOutStockLockInfoRepository BaseDal) : base(BaseDal) { } - + /// <summary> + /// 娣诲姞鍑哄簱璇︽儏 + /// </summary> + /// <param name="outboundOrder"></param> + /// <param name="outboundOrderDetail"></param> + /// <param name="outStocks"></param> + /// <param name="taskNum"></param> + /// <returns></returns> public List<Dt_OutStockLockInfo> GetOutStockLockInfos(Dt_OutboundOrder outboundOrder, Dt_OutboundOrderDetail outboundOrderDetail, List<Dt_StockInfo> outStocks, int? taskNum = null) { List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>(); - + var OutStockLockInfos = GetByOrderDetailId(outboundOrderDetail.Id); foreach (var item in outStocks) { - Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo() + Dt_OutStockLockInfo outStockLockInfo = OutStockLockInfos.FirstOrDefault(x => x.StockId == item.Id && x.OrderDetailId == outboundOrderDetail.Id); + if (outStockLockInfo == null) { - PalletCode = item.PalletCode, - AssignQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.OutboundQuantity), - MaterielCode = outboundOrderDetail.MaterielCode, - BatchNo = outboundOrderDetail.BatchNo, - LocationCode = item.LocationCode, - MaterielName = outboundOrderDetail.MaterielName, - OrderDetailId = outboundOrderDetail.Id, - OrderNo = outboundOrder.OrderNo, - OrderType = outboundOrder.OrderType, - OriginalQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity), - Status = taskNum == null ? OutStockStatus.宸插垎閰�.ObjToInt() : OutStockStatus.鍑哄簱涓�.ObjToInt(), - StockId = item.Id, - TaskNum = taskNum - }; + outStockLockInfo = new Dt_OutStockLockInfo() + { + PalletCode = item.PalletCode, + AssignQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.OutboundQuantity), + MaterielCode = outboundOrderDetail.MaterielCode, + BatchNo = item.Details.Select(x => x.BatchNo).FirstOrDefault(), + //BatchNo = outboundOrderDetail.BatchNo, + LocationCode = item.LocationCode, + MaterielName = outboundOrderDetail.MaterielName, + OrderDetailId = outboundOrderDetail.Id, + OrderNo = outboundOrder.OrderNo, + OrderType = outboundOrder.OrderType, + OriginalQuantity = item.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity), + //Status = taskNum == null ? OutStockStatus.宸插垎閰�.ObjToInt() : OutStockStatus.鍑哄簱涓�.ObjToInt(), + StockId = item.Id, + TaskNum = taskNum + }; + } + outStockLockInfo.Status = taskNum == null ? OutStockStatus.宸插垎閰�.ObjToInt() : OutStockStatus.鍑哄簱涓�.ObjToInt(); outStockLockInfos.Add(outStockLockInfo); } -- Gitblit v1.9.3