1
Huangxiaoqiang-03
2024-11-11 d100db102ded4dc2047f1b92f4ed0ed4c18d8ee4
´úÂë¹ÜÀí/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -59,7 +59,7 @@
        private Dictionary<string, OrderByType> _taskOrderBy = new()
            {
                {nameof(Dt_Task.Grade),OrderByType.Desc },
                {nameof(Dt_Task.Grade),OrderByType.Asc },
                {nameof(Dt_Task.CreateDate),OrderByType.Asc},
            };
@@ -111,6 +111,10 @@
            {
                _unitOfWorkManage.RollbackTran();
                content = WebResponseContent.Instance.Error($"{ex.Message}");
            }
            finally
            {
                WriteLog.GetLog("接收任务").Write($"接收参数:{JsonConvert.SerializeObject(taskDTOs)}{Environment.NewLine}报文:{JsonConvert.SerializeObject(content)}", "接收任务");
            }
            return content;
        }
@@ -205,20 +209,9 @@
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneTask(string deviceNo, string currentAddress = "")
        public Dt_Task? QueryStackerCraneTask(string deviceNo, string currentAddress = "")
        {
            Dt_Task taskGrade = BaseDal.QueryFirst(x => x.Grade == 0, TaskOrderBy);
            if (taskGrade != null)
            {
                return taskGrade;
            }
            else
            {
                if (string.IsNullOrEmpty(currentAddress))
                    return BaseDal.QueryFirst(x => x.Roadway == deviceNo && (TaskTypeEnums.Contains(x.TaskType) && (x.TaskStatus == (int)TaskInStatusEnum.InNew ||  x.TaskStatus == (int)TaskOutStatusEnum.OutNew)), TaskOrderBy);
                else
                    return BaseDal.QueryFirst(x => x.Roadway == deviceNo && x.CurrentAddress == currentAddress && (TaskTypeEnums.Contains(x.TaskType) && x.TaskStatus == (int)TaskInStatusEnum.Line_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
            }
            return BaseDal.QueryFirst(x => true, TaskOrderBy);
        }
        /// <summary>
@@ -229,7 +222,7 @@
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneInTask(string deviceNo, string currentAddress = "")
        {
            Dt_Task taskGrade = BaseDal.QueryFirst(x => x.Grade == 0, TaskOrderBy);
            Dt_Task taskGrade = BaseDal.QueryFirst(x =>true, TaskOrderBy);
            if (taskGrade != null)
            {
                return taskGrade;
@@ -262,20 +255,6 @@
            }
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池入库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneRelocationTask(string deviceNo, string currentAddress = "")
        {
            if (string.IsNullOrEmpty(currentAddress))
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
            else
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskStatus == (int)TaskInStatusEnum.InNew && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
@@ -283,7 +262,7 @@
        /// <returns>返回任务实体对象,可能为null</returns>
        public Dt_Task QueryStackerCraneOutTask(string deviceNo, string currentAddress = "")
        {
            Dt_Task taskGrade = BaseDal.QueryFirst(x => x.Grade == 0, TaskOrderBy);
            Dt_Task taskGrade = BaseDal.QueryFirst(x => true, TaskOrderBy);
            if (taskGrade != null)
            {
                return taskGrade;
@@ -325,7 +304,7 @@
        /// <returns>返回任务实体对象集合,可能为null</returns>
        public List<Dt_Task> QueryStackerCraneOutTasks(string deviceNo, string outStationCodes)
        {
            List<Dt_Task> taskGrade = BaseDal.QueryData(x => x.Grade == 0, TaskOrderBy);
            List<Dt_Task> taskGrade = BaseDal.QueryData(x => true, TaskOrderBy);
            if (taskGrade != null)
            {
                return taskGrade;
@@ -634,6 +613,7 @@
                        }
                        else
                        {
                            UpdateTaskExceptionMessage(task.TaskNum, $"堆垛机任务取消失败");
                            _unitOfWorkManage.RollbackTran();
                            return content = WebResponseContent.Instance.Error(response.Message);
                        }
@@ -660,6 +640,7 @@
                        }
                        else
                        {
                            UpdateTaskExceptionMessage(task.TaskNum, $"堆垛机任务取消失败");
                            _unitOfWorkManage.RollbackTran();
                            return content = WebResponseContent.Instance.Error(response.Message);
                        }
@@ -686,6 +667,7 @@
                        }
                        else
                        {
                            UpdateTaskExceptionMessage(task.TaskNum, $"堆垛机任务取消失败");
                            _unitOfWorkManage.RollbackTran();
                            return content = WebResponseContent.Instance.Error(response.Message);
                        }