From 6d97c9dfd51e148ba2f97114f18889871c278fa6 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期五, 03 一月 2025 16:38:55 +0800 Subject: [PATCH] 化成空托回流请求MoM接口改动 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs index e32b07f..7498a48 100644 --- a/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs +++ b/Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs @@ -1,4 +1,5 @@ 锘縰sing AngleSharp.Dom; +using log4net.Core; using Mapster; using Masuit.Tools; using SixLabors.Fonts.Tables.AdvancedTypographic; @@ -10,6 +11,7 @@ using WIDESEA_DTO.WMS; using WIDESEA_IServices; using WIDESEA_IStoragIntegrationServices; +using WIDESEA_StorageBasicRepository; using WIDESEA_StoragIntegrationServices; using WIDESEAWCS_BasicInfoRepository; @@ -181,6 +183,8 @@ // 鏇存柊搴撳瓨鐘舵�佸拰浠诲姟鐘舵�� (var loc, var tas) = UpdateStockAndTaskStatus(stock, task); var taskHty = task.Adapt<Dt_Task_Hty>(); + taskHty.FinishTime = DateTime.Now; + DtStockInfo_Hty stockInfo_Hty = stock.Adapt<DtStockInfo_Hty>(); stockInfo_Hty.ModifyDate = DateTime.Now; @@ -266,11 +270,13 @@ { var location = _locationRepository.QueryFirst(x => x.LocationCode == task.SourceAddress && x.RoadwayNo == task.Roadway); //var details = _stockInfoDetailRepository.QueryData(x => x.StockId == stock.Id); - + int lastStatus = location.LocationStatus; location.LocationStatus = (int)LocationEnum.Free; task.TaskState = (int)TaskOutStatusEnum.OutFinish; //task.CurrentAddress = task.NextAddress; //task.NextAddress = task.TargetAddress; + + _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(location, lastStatus, (int)StatusChangeTypeEnum.AutomaticDelivery,task.TaskNum); LogFactory.GetLog("浠诲姟瀹屾垚").Info(true, "鏇存柊搴撳瓨鐘舵�佷笌浠诲姟鐘舵��"); return (location, task); @@ -346,7 +352,7 @@ try { // 鏇存柊璐т綅鍜屽簱瀛樹俊鎭� - (DtStockInfo updateStock, DtLocationInfo locationInForm, DtLocationInfo locationInfoTo) = UpdateStockLocation(stock, task); + (DtStockInfo updateStock, DtLocationInfo locationInForm, DtLocationInfo locationInfoTo) = UpdateStockLocation(stock, task); var taskHty = CreateHistoricalTask(task); LogFactory.GetLog("浠诲姟瀹屾垚").InfoFormat(true, "绉诲簱浠诲姟瀹屾垚", $"璐т綅鍦板潃锛歿task.TargetAddress},淇敼鍚庡簱瀛樻暟鎹細{JsonConvert.SerializeObject(updateStock)}锛屽師鍏堣揣浣嶆暟鎹細{locationInForm}"); @@ -403,6 +409,7 @@ var boxing = await _boxingInfoRepository.QueryFirstNavAsync(x => x.PalletCode == task.PalletCode); var locationInf = await _locationRepository.QueryFirstAsync(x => x.LocationCode == task.TargetAddress && x.RoadwayNo == task.Roadway); + int lastStatus = locationInf.LocationStatus; // 鏇存柊鐩爣浣嶇疆鐘舵�佷负搴撳瓨涓� locationInf.LocationStatus = (int)LocationEnum.InStock; @@ -414,6 +421,10 @@ await _locationRepository.UpdateDataAsync(locationInf); await _task_HtyRepository.AddDataAsync(taskHty); await BaseDal.DeleteDataAsync(task); + + //璁板綍璐т綅鍙樺姩淇℃伅 + _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInf, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum); + return content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛"); } // 鏍规嵁鏄惁鏈夌粍鐩樹俊鎭垱寤哄簱瀛樺疄渚嬫ā鍨� @@ -423,6 +434,7 @@ bool isResult = await ExecuteTransaction(stock, taskHty, locationInf, task.TaskId, boxing); if (isResult) { + _locationStatusChangeRecordRepository.AddLocationStatusChangeRecord(locationInf, lastStatus, (int)StatusChangeTypeEnum.AutomaticStorage, task.TaskNum); content.OK("鍏ュ簱浠诲姟瀹屾垚鎴愬姛"); } else @@ -950,6 +962,7 @@ if (!content.Status) return content; var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString()); + if (!result.Success) { if (result.SerialNos.Count <= 0) @@ -970,7 +983,7 @@ } // 澶勭悊寮傚父鐢佃姱鎯呭喌 - var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1).ToList(); + var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); if (serialNosError.Count > 0) { return await HandleErrorCells(input, area, serialNosError); -- Gitblit v1.9.3