From dcecb039035f4b2e82e31c39b74db9402444c536 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期二, 08 四月 2025 21:35:39 +0800 Subject: [PATCH] 代码更新,优化等内容 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService_Outbound.cs | 42 ++++++++++++++++++++++++++++++++---------- 1 files changed, 32 insertions(+), 10 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 d130c64..822d0f3 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" @@ -18,6 +18,7 @@ using MailKit.Search; using WIDESEA_External.Model; using WIDESEA_Core.CodeConfigEnum; +using Microsoft.AspNetCore.Mvc; namespace WIDESEA_TaskInfoService { @@ -81,16 +82,16 @@ /// <param name="ProOutNo">鍑哄簱璁㈠崟鍙�</param> /// <param name="StationCode">绔欏彴鍦板潃</param> /// <returns></returns> - public WebResponseContent OutProductTask(string ProOutNo, string StationCode) + public WebResponseContent OutProductTask(int[] keys, string StationCode) { WebResponseContent content = new WebResponseContent(); try { //鑾峰彇鎴愬搧鍑哄簱璁㈠崟 - Dt_ProOutOrder proOutOrder = _outboundService.ProOutOrderService.Repository.Db.Queryable<Dt_ProOutOrder>().Where(x => x.ProOutOrderNo == ProOutNo).Includes(x => x.Details).First(); - if (proOutOrder==null) + List<Dt_ProOutOrderDetail> _ProOutOrderDetails = _outboundRepository.ProOutOrderDetailRepository.QueryData(x => keys.Contains(x.Id)); + if (_ProOutOrderDetails.Count<=0) { - return content.Error("鍑哄簱璁㈠崟涓嶅瓨鍦�"); + return content.Error("鍕鹃�夎鍗曟槑缁嗕笉瀛樺湪"); } List<Dt_Task> tasks = new List<Dt_Task>(); List<StockSelectViewDTO> stockSelectViews = new List<StockSelectViewDTO>(); @@ -99,7 +100,7 @@ List<Dt_OutProStockInfo> outProStockInfos = new List<Dt_OutProStockInfo>(); List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>(); (List<Dt_Task>, List<Dt_ProStockInfo>?, List<Dt_ProOutOrderDetail>?, List<Dt_OutProStockInfo>?, List<Dt_LocationInfo>?) result = - OutProductTaskDataHandle(proOutOrder); + OutProductTaskDataHandle(_ProOutOrderDetails); if (result.Item2 != null && result.Item2.Count > 0) { proStockInfos.AddRange(result.Item2); @@ -135,6 +136,10 @@ } return content; } + + /// <summary> + /// 澶勭悊鍑哄簱鏁版嵁 + /// </summary> public WebResponseContent GenerateOutboundTaskDataUpdate(List<Dt_Task> tasks, List<Dt_ProStockInfo>? proStockInfos = null, List<Dt_ProOutOrderDetail>? proOutOrderDetails = null, List<Dt_OutProStockInfo>? outProStockInfos = null, List<Dt_LocationInfo>? locationInfos = null) { try @@ -158,12 +163,19 @@ } else if (proOutOrderDetails != null && proOutOrderDetails.Count > 0) { + //鑾峰彇鎴愬搧鍑哄簱鍗曚富琛� + Dt_ProOutOrder proOutOrder = _outboundRepository.ProOutOrderRepository.QueryFirst(x => x.Id == proOutOrderDetails.FirstOrDefault().ProOrderId); + if (proOutOrder.ProOrderStatus == OutOrderStatusEnum.鏈紑濮�.ObjToInt()) + { + proOutOrder.ProOrderStatus = OutOrderStatusEnum.鍑哄簱涓�.ObjToInt(); + _outboundRepository.ProOutOrderRepository.UpdateData(proOutOrder); + } proOutOrderDetails.ForEach(x => { x.ProOrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt(); }); - _outboundService.ProOutOrderDetailService.Repository.UpdateData(proOutOrderDetails); + _outboundRepository.ProOutOrderDetailRepository.UpdateData(proOutOrderDetails); } _unitOfWorkManage.CommitTran(); PushTasksToWCS(tasks); @@ -180,17 +192,23 @@ /// 澶勭悊鎴愬搧鍑哄簱鏁版嵁 /// </summary> /// <returns></returns> - public (List<Dt_Task>, List<Dt_ProStockInfo>?, List<Dt_ProOutOrderDetail>?, List<Dt_OutProStockInfo>?, List<Dt_LocationInfo>?) OutProductTaskDataHandle(Dt_ProOutOrder proOutOrder) + public (List<Dt_Task>, List<Dt_ProStockInfo>?, List<Dt_ProOutOrderDetail>?, List<Dt_OutProStockInfo>?, List<Dt_LocationInfo>?) OutProductTaskDataHandle(List<Dt_ProOutOrderDetail> proOutOrderDetails) { List<Dt_Task> tasks = new List<Dt_Task>(); List<Dt_ProStockInfo> proStockInfos = new List<Dt_ProStockInfo>(); - List<Dt_ProOutOrderDetail> proOutOrderDetails = new List<Dt_ProOutOrderDetail>(); + List<Dt_ProOutOrderDetail> assignOutOrderDetails = new List<Dt_ProOutOrderDetail>(); List<Dt_OutProStockInfo> outProStockInfos=new List<Dt_OutProStockInfo>(); List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>(); //鍒嗛厤搴撳瓨 - (List<Dt_ProStockInfo>, List<Dt_ProOutOrderDetail>, List<Dt_OutProStockInfo>, List<Dt_LocationInfo>) result = _outboundService.ProOutOrderDetailService.AssignProStockOut(proOutOrder.WarehouseId, proOutOrder); + (List<Dt_ProStockInfo>, List<Dt_ProOutOrderDetail>, List<Dt_OutProStockInfo>, List<Dt_LocationInfo>) result = _outboundService.ProOutOrderDetailService.AssignProStockOut(proOutOrderDetails); if (result.Item1!=null&&result.Item1.Count>0) { + //鑾峰彇鎴愬搧鍗� + Dt_ProOutOrder proOutOrder = _outboundRepository.ProOutOrderRepository.QueryFirst(x => x.Id == proOutOrderDetails.FirstOrDefault().ProOrderId); + if (proOutOrder==null) + { + throw new Exception("鏈壘鍒版垚鍝佽鍗�"); + } TaskTypeEnum typeEnum = proOutOrder.ProOrderType switch { (int)OutProTypeEnum.ProOut => TaskTypeEnum.OutProduct, @@ -647,7 +665,11 @@ { 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); + } _outboundService.OutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails); } _unitOfWorkManage.CommitTran(); -- Gitblit v1.9.3