From fe77f3c9d11e3087c1efa56fd6205ffc10e39991 Mon Sep 17 00:00:00 2001 From: helongyang <647556386@qq.com> Date: 星期四, 05 六月 2025 18:45:23 +0800 Subject: [PATCH] 更新 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 47 ++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 38 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..3da86d6 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()).OrderByDescending(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,13 @@ TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)), PalletType = stockInfo.PalletType, WarehouseId = stockInfo.WarehouseId, + MaterielCode = stockInfo.Details.Where(x =>x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode, + 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 +778,9 @@ StockId = x.Id, TaskNum = 0, OrderQuantity = OrderDetail.OrderQuantity, - Unit = OrderDetail.Unit + Unit = OrderDetail.Unit, + ProductionDate = v.ProductionDate, + EffectiveDate = v.EffectiveDate }; outStockLockInfos.Add(outStockLockInfo); } -- Gitblit v1.9.3