From 637e23e7df2eb7e9e3dc630f3cf4e212017c7e18 Mon Sep 17 00:00:00 2001 From: wangxinhui <wangxinhui@hnkhzn.com> Date: 星期四, 28 八月 2025 16:59:21 +0800 Subject: [PATCH] 更新最新代码 --- 项目代码/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs | 125 ++++++++++++++++++++++++++++++++++++----- 1 files changed, 110 insertions(+), 15 deletions(-) diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" index 8110c69..82197ce 100644 --- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" +++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WCS/WCSServices/WIDESEAWCS_TaskInfoService/TaskService.cs" @@ -14,21 +14,10 @@ * *----------------------------------------------------------------*/ #endregion << 鐗� 鏈� 娉� 閲� >> - using AutoMapper; -using HslCommunication.Enthernet; using Newtonsoft.Json; -using OfficeOpenXml.FormulaParsing.Excel.Functions.Text; using SqlSugar; -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Diagnostics; using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Reflection; -using System.Text; -using System.Threading.Tasks; using WIDESEA_DTO.Agv; using WIDESEAWCS_Common; using WIDESEAWCS_Common.APIEnum; @@ -37,18 +26,15 @@ using WIDESEAWCS_Core.BaseServices; using WIDESEAWCS_Core.Enums; using WIDESEAWCS_Core.Helper; -using WIDESEAWCS_DTO.BasicInfo; -using WIDESEAWCS_DTO.System; +using WIDESEAWCS_Core.LogHelper; using WIDESEAWCS_DTO.TaskInfo; using WIDESEAWCS_IBasicInfoRepository; using WIDESEAWCS_ITaskInfoRepository; using WIDESEAWCS_ITaskInfoService; using WIDESEAWCS_Model.Models; -using WIDESEAWCS_QuartzJob; using WIDESEAWCS_QuartzJob.Models; using WIDESEAWCS_QuartzJob.Repository; using WIDESEAWCS_QuartzJob.Service; -using WIDESEAWCS_TaskInfoRepository; using ICacheService = WIDESEAWCS_Core.Caches.ICacheService; namespace WIDESEAWCS_TaskInfoService @@ -878,5 +864,114 @@ return WebResponseContent.Instance.Error(ex.Message); } } + + public Dt_Task QueryBarCodeAGVFinishTask(int TaskNum, string currentAddress) + { + return BaseDal.QueryFirst(x => TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskStatusEnum.AGV_Finish && x.NextAddress == currentAddress && x.TaskNum == TaskNum, TaskOrderBy); + } + + public Dt_Task QueryExecutingTaskByBarcode(int TaskNum, string nextAddress) + { + return BaseDal.QueryFirst(x => x.TaskNum == TaskNum && x.NextAddress == nextAddress && x.TaskState == (int)TaskStatusEnum.Line_Executing, TaskOrderBy); + } + + public Dt_Task QueryLineExecuteTaskByBarcode(int TaskNum, string nextAddress) + { + return BaseDal.QueryFirst(x => x.TaskNum == TaskNum && x.CurrentAddress == nextAddress && x.TaskState == (int)TaskStatusEnum.Line_Execute, TaskOrderBy); + } + + public WebResponseContent UpdateTaskStatusToNext([NotNull] Dt_Task task, Dt_StationManger stationManger = null) + { + WebResponseContent content = new WebResponseContent(); + try + { + TaskStatusEnum nextStatus = new TaskStatusEnum(); + if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup) + { + if (task.TaskState == (int)TaskStatusEnum.SC_Executing) + { + task.CurrentAddress = task.NextAddress; + task.NextAddress = task.TargetAddress; + task.TaskState = (int)TaskStatusEnum.Line_Executing; + nextStatus = TaskStatusEnum.Line_Executing; + } + else if (task.TaskState == (int)TaskStatusEnum.SC_Execute) + { + task.TaskState = (int)TaskStatusEnum.SC_Executing; + nextStatus = TaskStatusEnum.SC_Executing; + } + } + else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup) + { + if (task.TaskState == (int)TaskStatusEnum.Line_Executing) + { + #region 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃 + //string? local = RequestAssignLocation(task.TaskNum, task.Roadway); + string? local = "SC05_YLDual-002-090-009-01"; + if (!string.IsNullOrEmpty(local)) + { + task.CurrentAddress = stationManger.StackerCraneStationCode; + task.TargetAddress = local; + task.NextAddress = local; + task.DeviceCode = stationManger.StackerCraneCode; + task.TaskState = (int)TaskStatusEnum.SC_Execute; + nextStatus = TaskStatusEnum.SC_Execute; + content.OK($"鑾峰彇璐т綅鍙穥local}"); + } + else + { + return content.Error($"璇锋眰鍏ュ簱璐т綅澶辫触"); + } + #endregion 鍏ュ簱璋冪敤鎺ュ彛鑾峰彇璐т綅鍦板潃 + } + else if (task.TaskState == (int)TaskStatusEnum.AGV_Finish) + { + //content = AssignYLRoadwayNo(task.PalletCode); + content.OK(data: "SC05_YLDual"); + if (!content.Status) + { + return content.Error($"璇锋眰鍏ュ簱澶辫触锛歿content.Message}"); + } + string roadWay = content.Data.ToString(); + + List<Dt_Router> routers = _routerRepository.QueryData(x => x.InOutType == task.TaskType && task.CurrentAddress == x.StartPosi && x.ChildPosiDeviceCode == roadWay); + Dt_Router router = routers.FirstOrDefault(); + if (router == null) + { + return content.Error($"浠诲姟鍙�:{task.TaskNum}鏈壘鍒拌矾鐢遍厤缃俊鎭�"); + } + + task.Roadway = roadWay; + task.NextAddress = router.NextPosi; + task.TaskState = (int)TaskStatusEnum.Line_Execute; + nextStatus = TaskStatusEnum.Line_Execute; + } + else if (task.TaskState == (int)TaskStatusEnum.Line_Execute) + { + task.TaskState = (int)TaskStatusEnum.Line_Executing; + nextStatus = TaskStatusEnum.Line_Executing; + } + else if (task.TaskState == (int)TaskStatusEnum.SC_Execute) + { + task.TaskState = (int)TaskStatusEnum.SC_Executing; + nextStatus = TaskStatusEnum.SC_Executing; + } + } + else + { + throw new Exception($"浠诲姟绫诲瀷閿欒,鏈壘鍒拌浠诲姟绫诲瀷,浠诲姟鍙�:銆恵task.TaskNum}銆�,浠诲姟绫诲瀷:銆恵task.TaskType}銆�"); + } + task.ModifyDate = DateTime.Now; + task.Modifier = "System"; + BaseDal.UpdateData(task); + //UpdateTask(task, nextStatus); + content = WebResponseContent.Instance.OK(); + } + catch (Exception ex) + { + content = WebResponseContent.Instance.Error(ex.Message); + } + return content; + } } } -- Gitblit v1.9.3