From a07e4702be045efa9b04b49a561463875dd28e0a Mon Sep 17 00:00:00 2001 From: 肖洋 <cathay_xy@163.com> Date: 星期六, 04 一月 2025 16:18:33 +0800 Subject: [PATCH] 更新配置文件和事件总线逻辑,修复任务处理逻辑 --- Code Management/WMS/WIDESEA_WMSServer/WIDESEA_StorageTaskServices/Task/Dt_TaskService.cs | 61 +++++++++++++++++++++++------- 1 files changed, 47 insertions(+), 14 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 29f3ad9..3b6a326 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; @@ -167,12 +169,19 @@ var agingOutputDto = MapToAgingOutputDto(stock); content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto); - var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString()); - task.Remark = result.Success ? null : "NG"; - - if (!result.Success && result.MessageCode == "E10001") + if (content.Status) { - await HandleOutBoundError(stock, task); + var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString()); + task.Remark = result.Success ? null : "NG"; + + if (!result.Success && result.MessageCode == "E10001") + { + await HandleOutBoundError(stock, task); + } + } + else + { + task.Remark = "NG"; } } } @@ -268,11 +277,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); @@ -405,6 +416,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; @@ -416,6 +428,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("鍏ュ簱浠诲姟瀹屾垚鎴愬姛"); } // 鏍规嵁鏄惁鏈夌粍鐩樹俊鎭垱寤哄簱瀛樺疄渚嬫ā鍨� @@ -425,6 +441,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 @@ -949,11 +966,17 @@ // 鍒涘缓骞惰幏鍙栨暣鐩樼數鑺姸鎬� TrayCellsStatusDto trayCells = CreateTrayCellsStatusDto(area, input.PalletCode); content = await GetTrayCellStatusAsync(trayCells); - if (!content.Status) return content; + if (!content.Status) + { + ConsoleHelper.WriteErrorLine($"鑾峰彇鐢佃姱鐘舵�佸け璐�:{content.Message}"); + return content; + } var result = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString()); + if (!result.Success) { + ConsoleHelper.WriteErrorLine($"鑾峰彇鐢佃姱鐘舵�佸け璐�:{result.MOMMessage}"); if (result.SerialNos.Count <= 0) { // 绌烘墭鐩樺叆搴撻�昏緫 @@ -971,17 +994,27 @@ return content.Error(result.MOMMessage); } - // 澶勭悊寮傚父鐢佃姱鎯呭喌 - var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1).ToList(); - if (serialNosError.Count > 0) + + if (result.SerialNos.Count <= 0) { - return await HandleErrorCells(input, area, serialNosError); + return await RequestTrayInTaskAsync(input); } + else + { - var boxing = CreateBoxingInfo(result, input.PalletCode); - if (boxing == null) return content.Error("缁勭洏澶辫触"); - return await ProcessBasedOnProcessCode(boxing, area, input, result); + // 澶勭悊寮傚父鐢佃姱鎯呭喌 + var serialNosError = result.SerialNos.Where(x => x.SerialNoStatus != 1 && x.SerialNoStatus != 4).ToList(); + if (serialNosError.Count > 0) + { + return await HandleErrorCells(input, area, serialNosError); + } + + var boxing = CreateBoxingInfo(result, input.PalletCode); + if (boxing == null) return content.Error("缁勭洏澶辫触"); + + return await ProcessBasedOnProcessCode(boxing, area, input, result); + } } catch (Exception err) { -- Gitblit v1.9.3