From 9ec715d2deb18a269dd49c48da91a36632d08c81 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期三, 18 六月 2025 00:56:26 +0800 Subject: [PATCH] 最新代码上传,优化功能等 --- 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs | 148 +++++++++++++++++++++++++++++++++++++----------- 1 files changed, 113 insertions(+), 35 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" index 5877ad4..47af224 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -259,11 +259,18 @@ task.NextAddress = router.NextPosi; task.DeviceCode = router.ChildPosi; } - else if (item.TaskType == TaskTypeEnum.MesOutbound.ObjToInt() || item.TaskType == TaskTypeEnum.MesHandOutbound.ObjToInt() || item.TaskType == TaskTypeEnum.MesHandPickOutbound.ObjToInt() || (item.TaskType == TaskTypeEnum.OutAllocate.ObjToInt() && item.RoadWay.Contains("BC"))) + else if (item.TaskType == TaskTypeEnum.MesOutbound.ObjToInt() || item.TaskType == TaskTypeEnum.MesHandOutbound.ObjToInt() || item.TaskType == TaskTypeEnum.MesHandPickOutbound.ObjToInt() || ((item.TaskType == TaskTypeEnum.OutAllocate.ObjToInt() || item.TaskType == TaskTypeEnum.OutQuality.ObjToInt() || item.TaskType == TaskTypeEnum.OutInventory.ObjToInt()) && item.RoadWay.Contains("BC"))) { task.NextAddress = router.NextPosi; task.DeviceCode = stationManger.StackerCraneCode; - task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt(); + if (item.TaskType == TaskTypeEnum.MesOutbound.ObjToInt() && task.TargetAddress== "SCUTL-001") + { + task.TaskState = TaskStatusEnum.MesPending.ObjToInt(); + } + else + { + task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt(); + } } else if (item.TaskType == TaskTypeEnum.MesOutbound.ObjToInt() && item.RoadWay.Contains("ZH")) { @@ -283,6 +290,10 @@ { task.DeviceCode = stationManger.StationDeviceCode; task.AgvTaskNum = task.Roadway + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum; + } + else if (item.RoadWay.Contains("PP") && taskTypeGroup == TaskTypeGroup.OutbondGroup) + { + task.DeviceCode = router.StartPosi; } else { @@ -335,11 +346,21 @@ router = routers.FirstOrDefault(); task.NextAddress = router?.StartPosi ?? ""; task.DeviceCode = item.RoadWay; - task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt(); + if (item.RoadWay.Contains("ZH")) + { + task.TaskState = TaskStatusEnum.New.ObjToInt(); + } + else + { + task.TaskState = TaskStatusEnum.SC_Execute.ObjToInt(); + } } else { - task.AgvTaskNum = item.AGVArea + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum; + if (task.Roadway!="SC01_ZH") + { + task.AgvTaskNum = item.AGVArea + DateTime.Now.ToString("yyyyMMdd") + item.TaskNum; + } List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == item.TaskType && item.AGVArea == x.StartPosi); if (routers.FirstOrDefault() == null) { @@ -351,10 +372,16 @@ { return WebResponseContent.Instance.Error($"鏈壘鍒扮珯鍙伴厤缃俊鎭�"); } - task.NextAddress = stationManger?.AGVStationCode ?? ""; task.DeviceCode = stationManger?.Remark ?? ""; - task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt(); + if (task.Roadway != "SC01_ZH") + { + task.TaskState = TaskStatusEnum.AGV_Execute.ObjToInt(); + } + else + { + task.TaskState = TaskStatusEnum.AGV_Executing.ObjToInt(); + } } } @@ -379,7 +406,7 @@ /// <param name="palletCode">鎵樼洏鍙�</param> /// <param name="sourceAddress">璧峰鍦板潃</param> /// <returns></returns> - public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress) + public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string materielBoxCode = "") { WebResponseContent content = new WebResponseContent(); try @@ -394,7 +421,15 @@ { return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃"); } - string responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTask?stationCode={sourceAddress}&roadwayNo={stationManger.StackerCraneCode}&palletCode={palletCode}"); + string responseStr = ""; + if (!string.IsNullOrEmpty(materielBoxCode)) + { + responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTask?stationCode={sourceAddress}&roadwayNo={stationManger.StackerCraneCode}&palletCode={palletCode}&materielBoxCode={materielBoxCode}"); + } + else + { + responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTask?stationCode={sourceAddress}&roadwayNo={stationManger.StackerCraneCode}&palletCode={palletCode}"); + } WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr); if (responseContent != null && responseContent.Status && responseContent.Data != null) { @@ -412,7 +447,50 @@ } return content; } + public WebResponseContent RequestWMSZHTask(string agvTaskCode, string palletCode, string palletType, string materialLot) + { + WebResponseContent content = new WebResponseContent(); + try + { + Dt_Task task = BaseDal.QueryFirst(x => x.AgvTaskNum == agvTaskCode); + if (task != null) + { + return WebResponseContent.Instance.Error($"浠诲姟鍙穥task.TaskNum}瀵瑰簲浠诲姟宸插瓨鍦�"); + } + string address = AppSettings.Get("WMSApiAddress"); + if (string.IsNullOrEmpty(address)) + { + return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃"); + } + string responseStr = ""; + if (string.IsNullOrEmpty(materialLot)) + { + return content.Error("鐗╂枡鎵规涓虹┖"); + + } + responseStr = HttpHelper.Get($"{address}/api/Task/RequestZHInboundTask?agvTaskCode={agvTaskCode}&palletCode={palletCode}&palletType={palletType}&materialLot={materialLot}"); + WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr); + if (responseContent != null && responseContent.Status && responseContent.Data != null) + { + WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString()); + if (taskDTO != null) + { + taskDTO.AGVTaskNum = agvTaskCode; + content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); + } + } + else + { + content.Error(responseContent.Message); + } + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error(ex.Message); + } + return content; + } /// <summary> /// /// </summary> @@ -455,34 +533,34 @@ /// <param name="sourceAddress"></param> /// <param name="roadway"></param> /// <returns></returns> - public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string roadway) - { - WebResponseContent content = new WebResponseContent(); - try - { - string address = AppSettings.Get("WMSApiAddress"); - if (string.IsNullOrEmpty(address)) - { - return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃"); - } - string responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTask?stationCode={sourceAddress}&roadwayNo={roadway}&palletCode={palletCode}"); - WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr); - if (responseContent != null && responseContent.Status && responseContent.Data != null) - { - WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString()); - if (taskDTO != null) - { - content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); - } - } + //public WebResponseContent RequestWMSTask(string palletCode, string sourceAddress, string roadway) + //{ + // WebResponseContent content = new WebResponseContent(); + // try + // { + // string address = AppSettings.Get("WMSApiAddress"); + // if (string.IsNullOrEmpty(address)) + // { + // return WebResponseContent.Instance.Error($"鏈壘鍒癢MSApi鍦板潃"); + // } + // string responseStr = HttpHelper.Get($"{address}/api/Task/DeviceRequestInboundTask?stationCode={sourceAddress}&roadwayNo={roadway}&palletCode={palletCode}"); + // WebResponseContent? responseContent = JsonConvert.DeserializeObject<WebResponseContent>(responseStr); + // if (responseContent != null && responseContent.Status && responseContent.Data != null) + // { + // WMSTaskDTO? taskDTO = JsonConvert.DeserializeObject<WMSTaskDTO>(responseContent.Data.ToString()); + // if (taskDTO != null) + // { + // content = ReceiveWMSTask(new List<WMSTaskDTO> { taskDTO }); + // } + // } - } - catch (Exception ex) - { - content = WebResponseContent.Instance.Error(ex.Message); - } - return content; - } + // } + // catch (Exception ex) + // { + // content = WebResponseContent.Instance.Error(ex.Message); + // } + // return content; + //} /// <summary> /// -- Gitblit v1.9.3