From 9ec715d2deb18a269dd49c48da91a36632d08c81 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期三, 18 六月 2025 00:56:26 +0800 Subject: [PATCH] 最新代码上传,优化功能等 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 51 insertions(+), 9 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" index 7208d9e..11dc349 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs" @@ -83,7 +83,7 @@ /// <param name="ProOutNo">鍑哄簱璁㈠崟鍙�</param> /// <param name="StationCode">绔欏彴鍦板潃</param> /// <returns></returns> - public async Task<WebResponseContent> OutProductTask(int[] keys, string StationCode) + public async Task<WebResponseContent> OutProductTask(int[] keys, string StationCode, int Grade) { WebResponseContent content = new WebResponseContent(); try @@ -93,10 +93,10 @@ return await Task.FromResult(content.Error("绾夸綋杈撳叆閿欒")); } //鑾峰彇鎴愬搧鍑哄簱璁㈠崟 - List<Dt_ProOutOrderDetail> _ProOutOrderDetails = await _outboundRepository.ProOutOrderDetailRepository.QueryDataAsync(x => keys.Contains(x.Id)); + List<Dt_ProOutOrderDetail> _ProOutOrderDetails = await _outboundRepository.ProOutOrderDetailRepository.QueryDataAsync(x => keys.Contains(x.Id) && x.ProOrderDetailStatus== OrderDetailStatusEnum.New.ObjToInt()); if (_ProOutOrderDetails.Count<=0) { - return await Task.FromResult(content.Error("鍕鹃�夎鍗曟槑缁嗕笉瀛樺湪")); + return await Task.FromResult(content.Error("鍕鹃�夎鍗曟槑缁嗙姸鎬佷负鍑哄簱涓�")); } List<Dt_Task> tasks = new List<Dt_Task>(); List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>(); @@ -124,10 +124,26 @@ } if (result.Item1 != null && result.Item1.Count > 0) { + Dt_Task? task = BaseDal.QueryData(x=>x.TaskType==TaskTypeEnum.OutProduct.ObjToInt()).OrderBy(x=>x.Grade).FirstOrDefault(); //鏇存柊鍑哄簱鐩殑浣嶇疆 result.Item1.ForEach(x => { x.TargetAddress = StationCode; + if (Grade==1 || task==null) + { + x.Grade = 127; + } + else + { + if (task.Grade==0 || task.Grade==1) + { + x.Grade = 1; + } + else + { + x.Grade = task.Grade - 1; + } + } }); tasks.AddRange(result.Item1); } @@ -422,9 +438,7 @@ { x.Status = OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(); }); - string groupId = DateTime.Now.ToString("yyyyMMddHHmmss"); tasks.ForEach(x => x.OrderNo = proOutOrder.ProOutOrderNo); - tasks.ForEach(x => x.GroupId = groupId); proStockInfos = result.Item1; proOutOrderDetails = result.Item2; outProStockInfos = result.Item3; @@ -445,10 +459,14 @@ public List<Dt_Task> GetTasks(List<Dt_ProStockInfo> stockInfos, TaskTypeEnum taskType) { List<Dt_Task> tasks = new List<Dt_Task>(); - for (int i = 0; i < stockInfos.Count; i++) + string groupId = DateTime.Now.ToString("yyMMddHHmmss"); + for (int i = 1; i <= stockInfos.Count; i++) { - Dt_ProStockInfo stockInfo = stockInfos[i]; - + Dt_ProStockInfo stockInfo = stockInfos[i-1]; + if (i%5==0) + { + groupId= DateTime.Now.AddSeconds(i).ToString("yyMMddHHmmss"); + } if (stockInfo != null) { Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode); @@ -468,6 +486,9 @@ TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)), PalletType = stockInfo.PalletType, WarehouseId = stockInfo.WarehouseId, + GroupId= groupId, + MaterielCode = stockInfo.proStockInfoDetails.Where(x => x.ProStockId == stockInfo.Id).FirstOrDefault()?.ProductCode, + Quantity = (float)stockInfo.proStockInfoDetails.Where(x => x.ProStockId == stockInfo.Id).Sum(x=> x.StockPcsQty) }; tasks.Add(task); } @@ -506,7 +527,17 @@ TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)), PalletType = stockInfo.PalletType, WarehouseId = stockInfo.WarehouseId, + }; + if (taskType != TaskTypeEnum.OutEmpty) + { + task.MaterielCode = stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode; + task.Quantity = (float)stockInfo.Details.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.StockQuantity; + } + if (stockInfo.StockLength>0) + { + task.TaskLength = stockInfo.StockLength; + } tasks.Add(task); } } @@ -751,7 +782,9 @@ StockId = x.Id, TaskNum = 0, OrderQuantity = OrderDetail.OrderQuantity, - Unit = OrderDetail.Unit + Unit = OrderDetail.Unit, + ProductionDate = v.ProductionDate, + EffectiveDate = v.EffectiveDate }; outStockLockInfos.Add(outStockLockInfo); } @@ -851,6 +884,15 @@ { x.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt(); }); + outboundOrderDetails.ForEach(x => + { + x.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt(); + }); + Dt_OutboundOrder outboundOrder = _outboundRepository.OutboundOrderRepository.QueryFirst(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId); + if (outboundOrder.OrderStatus != OutOrderStatusEnum.鍑哄簱涓�.ObjToInt()) + { + _outboundRepository.OutboundOrderRepository.UpdateData(outboundOrder); + } WebResponseContent content = _outboundService.OutboundOrderDetailService.LockOutboundStockDataUpdate(stockInfos, outboundOrderDetails, outStockLockInfos, locationInfos, tasks: tasks); if (!content.Status) -- Gitblit v1.9.3