From e1dd1dc9ba7135e3d64a65587d6c1be2c3e18c5a Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期三, 25 六月 2025 11:01:22 +0800 Subject: [PATCH] 提交最新优化代码 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 68 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 0 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" index 41ebfc6..1c3e7d4 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs" @@ -627,6 +627,10 @@ { return WebResponseContent.Instance.Error($"鏈壘鍒拌揣浣嶄俊鎭�"); } + if ((task.TaskType == TaskTypeEnum.OutInventory.ObjToInt())) + { + return OutInventoryCompleted(task,stockInfo, locationInfo); + } List<Dt_OutStockLockInfo> outStockLockInfos = _outboundService.OutboundStockLockInfoService.Repository.QueryData(x => x.TaskNum == taskNum); List<Dt_OutboundOrderDetail> outboundOrderDetails = new List<Dt_OutboundOrderDetail>(); List<Dt_MesOutboundOrder> mesOutboundOrders = new List<Dt_MesOutboundOrder>(); @@ -1013,5 +1017,69 @@ } return content; } + /// <summary> + /// 鐩樼偣鍑哄簱瀹屾垚 + /// </summary> + public WebResponseContent OutInventoryCompleted(Dt_Task task,Dt_StockInfo stockInfo,Dt_LocationInfo locationInfo) + { + WebResponseContent content = new WebResponseContent(); + try + { + //鑾峰彇瀵瑰簲鐩樼偣鍗� + Dt_TakeStockOrder takeStockOrder = _inboundRepository.TakeStockOrderRepository.Db.Queryable<Dt_TakeStockOrder>().Where(x=>x.OrderNo==task.OrderNo).Includes(x=>x.Details).First(); + if (takeStockOrder==null) + { + return content.Error($"鐩樼偣鍗晎task.OrderNo}涓嶅瓨鍦�"); + } + if (takeStockOrder.TakeStockStatus!=TakeStockStatusEnum.鐩樼偣涓�.ObjToInt()) + { + return content.Error($"鐩樼偣鍗晎task.OrderNo}鐩樼偣宸插畬鎴愭垨鏈紑濮�"); + } + if (stockInfo.StockStatus!=StockStatusEmun.鍑哄簱閿佸畾.ObjToInt()) + { + return content.Error($"{stockInfo.PalletCode}搴撳瓨鐘舵�佷笉姝g‘"); + } + if (locationInfo.LocationStatus != LocationStatusEnum.Lock.ObjToInt()) + { + return content.Error($"{locationInfo.LocationCode}璐т綅鐘舵�佷笉姝g‘"); + } + //鏍规嵁浠诲姟鎵樼洏鏌ョ洏鐐规槑缁� + Dt_TakeStockOrderDetail? takeStockOrderDetail = takeStockOrder.Details.FirstOrDefault(x=>x.TakePalletCode==stockInfo.PalletCode); + if (takeStockOrderDetail==null) + { + return content.Error($"{stockInfo.PalletCode}鏈壘鍒板搴旂洏鐐规槑缁�"); + } + if (takeStockOrderDetail.TakeDetalStatus!=TakeStockDetailStatusEnum.鐩樼偣鍑哄簱涓�.ObjToInt()) + { + return content.Error($"{stockInfo.PalletCode}鐩樼偣鏄庣粏鐘舵�佷笉姝g‘"); + } + takeStockOrderDetail.TakeDetalStatus = TakeStockDetailStatusEnum.鐩樼偣鍑哄簱瀹屾垚.ObjToInt(); + stockInfo.StockStatus = StockStatusEmun.鐩樼偣鍑哄簱瀹屾垚.ObjToInt(); + stockInfo.Details.ForEach(x => + { + x.Status = StockStatusEmun.鐩樼偣鍑哄簱瀹屾垚.ObjToInt(); + }); + stockInfo.LocationCode = ""; + task.TaskStatus = TaskStatusEnum.Finish.ObjToInt(); + int beforeStatus = locationInfo.LocationStatus; + locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + _unitOfWorkManage.BeginTran(); + //璐т綅鍙樺姩璁板綍 + _basicService.LocationInfoService.UpdateLocationStatus(locationInfo, stockInfo.PalletType, LocationStatusEnum.Free, locationInfo.WarehouseId); + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationStatusEnum.Free, LocationChangeType.OutboundCompleted, takeStockOrder?.OrderNo ?? "", task.TaskNum); + _inboundRepository.TakeStockOrderDetailRepository.UpdateData(takeStockOrderDetail); + _stockRepository.StockInfoRepository.UpdateData(stockInfo); + _stockRepository.StockInfoDetailRepository.UpdateData(stockInfo.Details); + BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚); + _unitOfWorkManage.CommitTran(); + content.OK(); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + content.Error(ex.Message); + } + return content; + } } } -- Gitblit v1.9.3