From 58a8a8843f101b2a1ba25622e2ef8ade605e0c49 Mon Sep 17 00:00:00 2001 From: Administrator <Administrator@WIN-16OJST5SSCB> Date: 星期一, 02 十二月 2024 16:28:23 +0800 Subject: [PATCH] OCV2-包装代码 --- Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 64 +++++++++++++++++++++++++------ 1 files changed, 51 insertions(+), 13 deletions(-) diff --git a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs index d72a5da..64753c2 100644 --- a/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs +++ b/Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs @@ -5,6 +5,8 @@ using SqlSugar; using System.Diagnostics.CodeAnalysis; using System.Threading.Tasks; +using WIDESEAWCS_BasicInfoRepository; +using WIDESEAWCS_BasicInfoService; using WIDESEAWCS_Common; using WIDESEAWCS_Common.TaskEnum; using WIDESEAWCS_Core; @@ -17,6 +19,7 @@ using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; using WIDESEAWCS_QuartzJob.Models; +using WIDESEAWCS_QuartzJob.Repository; using WIDESEAWCS_QuartzJob.Service; namespace WIDESEAWCS_TaskInfoService @@ -28,6 +31,9 @@ private readonly ITaskExecuteDetailRepository _taskExecuteDetailRepository; private readonly ISys_ConfigService _sys_ConfigService; private readonly IMapper _mapper; + private readonly IDt_StationManagerService _stationManagerService; + private readonly IDt_StationManagerRepository _stationManagerRepository; + private readonly IRouterRepository _routerRepository; private Dictionary<string, OrderByType> _taskOrderBy = new() { @@ -42,13 +48,16 @@ public List<int> TaskOutboundTypes => typeof(TaskOutboundTypeEnum).GetEnumIndexList(); - public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService) : base(BaseDal) + public TaskService(ITaskRepository BaseDal, IRouterService routerService, ITaskExecuteDetailService taskExecuteDetailService, ITaskExecuteDetailRepository taskExecuteDetailRepository, IMapper mapper, ISys_ConfigService sys_ConfigService, IDt_StationManagerService stationManagerService, IDt_StationManagerRepository stationManagerRepository, IRouterRepository routerRepository) : base(BaseDal) { _routerService = routerService; _taskExecuteDetailService = taskExecuteDetailService; _taskExecuteDetailRepository = taskExecuteDetailRepository; _mapper = mapper; _sys_ConfigService = sys_ConfigService; + _stationManagerService = stationManagerService; + _stationManagerRepository = stationManagerRepository; + _routerRepository = routerRepository; } /// <summary> @@ -78,6 +87,16 @@ task.TaskState = (int)TaskOutStatusEnum.OutNew; task.CurrentAddress = item.SourceAddress; task.NextAddress = routers.FirstOrDefault().ChildPosi; + } + else + { + routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress); + if (routers.Count > 0) + { + task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish; + task.CurrentAddress = item.SourceAddress; + task.NextAddress = routers.FirstOrDefault().ChildPosi; + } } } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) @@ -119,7 +138,7 @@ var hasTask = await BaseDal.QueryFirstAsync(x => x.PalletCode == palletCode); if (hasTask != null) { - return content.Error("褰撳墠鎵樼洏瀛樺湪浠诲姟"); + return content.OK("褰撳墠鎵樼洏瀛樺湪浠诲姟"); } var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); @@ -524,18 +543,28 @@ if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup && task.TaskState == (int)TaskOutStatusEnum.SC_OutExecuting) { - var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress); - if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�"); + if (!task.Roadway.Contains("GW")) + { + var routers = _routerService.QueryNextRoutes(task.NextAddress, task.TargetAddress); + if (!routers.Any()) return WebResponseContent.Instance.Error($"鏈壘鍒拌澶囪矾鐢变俊鎭�"); - int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>(); - task.TaskState = nextStatus; - task.CurrentAddress = task.NextAddress; - task.NextAddress = routers.FirstOrDefault().ChildPosi; - task.ModifyDate = DateTime.Now; - task.Modifier = "System"; - BaseDal.UpdateData(task); + int nextStatus = task.TaskState.GetNextNotCompletedStatus<TaskOutStatusEnum>(); + task.TaskState = nextStatus; + task.CurrentAddress = task.NextAddress; + task.NextAddress = routers.FirstOrDefault().ChildPosi; + task.ModifyDate = DateTime.Now; + task.Modifier = "System"; + BaseDal.UpdateData(task); - _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�"); + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�"); + } + else + { + task.TaskState = (int)TaskOutStatusEnum.OutFinish; + BaseDal.UpdateData(task); + + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴�"); + } //鏆備笉鑰冭檻澶氫釜鍑哄簱鍙� @@ -580,12 +609,21 @@ var result = HttpHelper.GetAsync(wmsIpAddress, keys).Result; content = JsonConvert.DeserializeObject<WebResponseContent>(result); + if (!content.Data.IsNullOrEmpty()) + { + if (content.Data.ToString() == "NG") + { + task.Remark = "NG"; + BaseDal.UpdateData(task); + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄嚭搴撳畬鎴愶紝MOM杩斿洖NG"); + } + } #endregion #region 鏇存柊浠诲姟鐘舵�� - var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue; + var updateTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.UpdateTask)?.ConfigValue; if (wmsBase == null || updateTask == null) { throw new InvalidOperationException("WMS IP 鏈厤缃�"); -- Gitblit v1.9.3