From 002a5c73e1c81000e9c128ec7803888decac62b9 Mon Sep 17 00:00:00 2001 From: hutongqing <hutongqing@hnkhzn.com> Date: 星期四, 19 十二月 2024 09:42:19 +0800 Subject: [PATCH] 添加注释 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 67 +++++++++++++++++++++++++++++++++ 1 files changed, 67 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 73909ec..017776e 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" @@ -18,6 +18,7 @@ using AutoMapper; using Newtonsoft.Json; using SqlSugar; +using System.Reflection.Emit; using System.Threading.Tasks; using WIDESEA_Common.CommonEnum; using WIDESEA_Common.LocationEnum; @@ -279,5 +280,71 @@ return WebResponseContent.Instance.Error(ex.Message); } } + + /// <summary> + /// 鍑哄簱浠诲姟瀹屾垚 + /// </summary> + /// <param name="taskNum">浠诲姟鍙�</param> + /// <returns></returns> + public WebResponseContent OutboundTaskCompleted(int taskNum) + { + try + { + Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum); + if (task == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒颁换鍔′俊鎭�"); + } + + Dt_StockInfo stockInfo = _stockService.StockInfoService.Repository.GetStockInfo(task.PalletCode); + + Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == task.SourceAddress); + if (stockInfo == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板簱瀛樹俊鎭�"); + } + if (locationInfo == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒拌揣浣嶄俊鎭�"); + } + + Dt_OutStockLockInfo outStockLockInfo = _outboundService.OutboundStockLockInfoService.Repository.QueryFirst(x => x.TaskNum == taskNum); + if (outStockLockInfo == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撹鎯呬俊鎭�"); + } + + //todo 鏇存柊鍗曟嵁淇℃伅 + Dt_OutboundOrder outboundOrder = Db.Queryable<Dt_OutboundOrder>().Where(x => x.OrderNo == outStockLockInfo.OrderNo).Includes(x => x.Details).First(); + if (outboundOrder == null) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撳崟淇℃伅"); + } + if (!outboundOrder.Details.Any()) + { + return WebResponseContent.Instance.Error($"鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅"); + } + + _unitOfWorkManage.BeginTran(); + stockInfo.LocationCode = locationInfo.LocationCode; + stockInfo.StockStatus = StockStatusEmun.鍑哄簱瀹屾垚.ObjToInt(); + _stockService.StockInfoService.Repository.UpdateData(stockInfo); + + int beforeStatus = locationInfo.LocationStatus; + locationInfo.LocationStatus = LocationStatusEnum.Free.ObjToInt(); + _basicService.LocationInfoService.Repository.UpdateData(locationInfo); + BaseDal.DeleteAndMoveIntoHty(task, App.User.UserId == 0 ? OperateTypeEnum.鑷姩瀹屾垚 : OperateTypeEnum.浜哄伐瀹屾垚); + + _recordService.LocationStatusChangeRecordSetvice.AddLocationStatusChangeRecord(locationInfo, (LocationStatusEnum)beforeStatus, LocationChangeType.OutboundCompleted, stockInfo.Details.FirstOrDefault()?.OrderNo ?? "", task.TaskNum); + _unitOfWorkManage.CommitTran(); + + return WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + _unitOfWorkManage.RollbackTran(); + return WebResponseContent.Instance.Error(ex.Message); + } + } } } -- Gitblit v1.9.3