From 0939aa5f3cc12a8856456a51cf2b661b6cd780c7 Mon Sep 17 00:00:00 2001 From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com> Date: 星期四, 31 七月 2025 17:25:49 +0800 Subject: [PATCH] 1 --- 项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 91 ++++++++++++++++++++++++++++++++++++++------- 1 files changed, 77 insertions(+), 14 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" index ed50158..955d7d3 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -165,6 +165,7 @@ RGVName = stationManager.RGVName != null ? stationManager.RGVName : RGVName, Floor = stationManager.stationFloor, TargetStation= stationManagerEnd.remark, + SourceStation= 0, }; BaseDal.AddData(taskOut); } @@ -250,13 +251,13 @@ Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationType == 3 && x.stationFloor == task.Floor); - Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway &&x.stationChildCode==taskDTOs.BeginPoint && x.stationFloor == task.Floor); + Dt_StationManager stationManagerStart = _stationManagerRepository.QueryFirst(x => x.stationChildCode==taskDTOs.BeginPoint && x.stationFloor == task.Floor); task.NextAddress = stationManager.stationChildCode; task.SourceStation = stationManagerStart.remark; - task.TargetStation = stationManagerStart.stationRemark; + task.TargetStation = stationManager.stationRemark; BaseDal.UpdateData(task); } @@ -268,11 +269,14 @@ } else if (taskDTOs.TaskType == "3") { + string[] targetCodes = taskDTOs.BeginPoint.Split("-"); Dt_Task taskRelocation = new Dt_Task() { TaskType = (int)TaskRelocationTypeEnum.Relocation, TaskState = (int)TaskRelocationStatusEnum.RelocationNew, + + Roadway = GetScCode(Convert.ToInt32(targetCodes[0])), SourceAddress = taskDTOs.BeginPoint, @@ -311,17 +315,25 @@ { return "SC01"; } - else if (number >= 5 && number <= 8) + else if (number >= 5 && number <= 7) { return "SC02"; } - else if (number >= 9 && number <= 12) + else if (number >= 8 && number <= 10) { return "SC03"; } - else if (number >= 13 && number <= 16) + else if (number >= 11 && number <= 14) { return "SC04"; + } + else if (number >= 15 && number <= 18) + { + return "SC05"; + } + else if (number >= 19 && number <= 22) + { + return "SC06"; } else { @@ -466,9 +478,20 @@ /// <param name="deviceNo">璁惧缂栧彿</param> /// <param name="currentAddress">褰撳墠鍦板潃</param> /// <returns></returns> - public Dt_Task QueryRGVExecutingTask(string deviceNo,int TaskNum) + public Dt_Task QueryRGVExecutingTask(string deviceNo) { - return BaseDal.QueryFirst(x => TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish && x.TaskNum == TaskNum && x.RGVName == deviceNo); + return BaseDal.QueryFirst(x => (x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish|| x.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS|| x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish) && x.RGVName == deviceNo); + } + + /// <summary> + /// 鏍规嵁璁惧缂栧彿銆佸綋鍓嶅湴鍧�鏌ヨRGV鏈墽琛岀殑浠诲姟 + /// </summary> + /// <param name="deviceNo">璁惧缂栧彿</param> + /// <param name="currentAddress">褰撳墠鍦板潃</param> + /// <returns></returns> + public Dt_Task QueryRGVExecutingTask(string deviceNo,int taskNum) + { + return BaseDal.QueryFirst(x => (x.TaskState == (int)TaskInStatusEnum.RGV_IndispatchFinish || x.TaskState == (int)TaskInStatusEnum.RGV_InAwaitWMS) && x.TaskState == (int)TaskOutStatusEnum.RGV_OutdispatchFinish && x.RGVName == deviceNo&&x.TaskNum==taskNum); } /// <summary> @@ -664,9 +687,11 @@ if (task.TaskState == (int)TaskOutStatusEnum.Line_OutExecuting) { Dt_StationManager stationManager = _stationManagerRepository.QueryFirst(x => x.Roadway == task.Roadway && x.stationChildCode == task.NextAddress); + Dt_StationManager stationManagerend = _stationManagerRepository.QueryFirst(x => x.stationChildCode == task.TargetAddress); task.CurrentAddress = task.NextAddress; task.NextAddress = task.TargetAddress; task.SourceStation = stationManager.stationRemark; + task.TargetStation = stationManagerend.remark; } if (task.TaskState == (int)TaskOutStatusEnum.SC_OutFinish) @@ -739,6 +764,11 @@ if (task.TaskState == (int)TaskInStatusEnum.RGV_Indispatch) { + task.TaskState = (int)TaskInStatusEnum.RGV_InAwaitWMS; + task.PalletCode = Barcode; + task.ModifyDate = DateTime.Now; + BaseDal.UpdateData(task); + var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.RequestTask)?.ConfigValue; @@ -756,13 +786,8 @@ var wmsIpAddress = wmsBase + requestTask; var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; - //if (result != null) - //{ - task.TaskState = (int)TaskInStatusEnum.RGV_InAwaitWMS; - task.PalletCode = Barcode; - task.ModifyDate = DateTime.Now; - BaseDal.UpdateData(task); - //} + + _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"RGV璋冨害瀹屾垚绛夊緟WMS浠诲姟"); } @@ -897,6 +922,25 @@ BaseDal.DeleteData(task); _taskHtyRepository.AddData(task_Hty); _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈哄叆搴撳畬鎴�"); + + var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; + var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue; + WMSTaskDTO taskDTO = new WMSTaskDTO() + { + TaskId = task.WMSTaskNum, + TPbarcode = task.PalletCode, + WhCode = "1001", + BeginPoint = task.SourceAddress, + EndPoint = task.TargetAddress, + Results = "1" + }; + if (wmsBase == null || requestTask == null) + { + throw new InvalidOperationException("WMS IP 鏈厤缃�"); + } + var wmsIpAddress = wmsBase + requestTask; + var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup) { @@ -911,6 +955,25 @@ BaseDal.DeleteData(task); _taskHtyRepository.AddData(task_Hty); _taskExecuteDetailService.AddTaskExecuteDetail(task.TaskId, $"鍫嗗灈鏈虹Щ搴撳畬鎴�"); + + var config = _sys_ConfigService.GetConfigsByCategory(CateGoryConst.CONFIG_SYS_IPAddress); + var wmsBase = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.WMSIP_BASE)?.ConfigValue; + var requestTask = config.FirstOrDefault(x => x.ConfigKey == SysConfigKeyConst.CompleteTask)?.ConfigValue; + WMSTaskDTO taskDTO = new WMSTaskDTO() + { + TaskId = task.WMSTaskNum, + TPbarcode = task.PalletCode, + WhCode = "1001", + BeginPoint = task.SourceAddress, + EndPoint = task.TargetAddress, + Results = "1" + }; + if (wmsBase == null || requestTask == null) + { + throw new InvalidOperationException("WMS IP 鏈厤缃�"); + } + var wmsIpAddress = wmsBase + requestTask; + var result = WIDESEA_Comm.Http.HttpHelper.PostAsync(wmsIpAddress, taskDTO.ToJsonString()).Result; } else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OtherGroup) { -- Gitblit v1.9.3