1
dengjunjie
2025-05-08 092971a8ba7848f024427694c642959d0fbc8599
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/PartialTaskService_ShuttleCar.cs
@@ -121,7 +121,7 @@
            }
            return content;
        }
        public static int tasktype = 0;
        /// <summary>
        /// 鏌ヨ绌挎杞﹀嚭鍏ュ簱浠诲姟
        /// </summary>
@@ -130,10 +130,27 @@
        /// <returns></returns>
        public Dt_Task QueryShuttleCarTask(string deviceNo, string currentAddress = "")
        {
            if (string.IsNullOrEmpty(currentAddress))
                return BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
            Dt_Task? _Task = null;
            if (tasktype == 0)
            {
                if (string.IsNullOrEmpty(currentAddress))
                    _Task = BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
                else
                    _Task = BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
            }
            else
                return BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && x.CurrentAddress == currentAddress && (TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish || TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew), TaskOrderBy);
            {
                if (TaskInboundTypes.Contains(tasktype))
                {
                    _Task = BaseDal.QueryFirst(x => TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy) ?? BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish, TaskOrderBy);
                }
                else if (TaskOutboundTypes.Contains(tasktype))
                {
                    _Task = BaseDal.QueryFirst(x => x.ShuttleCarCode == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.SC_InFinish, TaskOrderBy) ?? BaseDal.QueryFirst(x => TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
                }
            }
            if (_Task != null) tasktype = _Task.TaskType;
            return _Task;
        }
        /// <summary>
        /// 鑾峰彇绉诲簱浠诲姟
@@ -146,9 +163,9 @@
            List<Dt_Task> tasks = null;
            Dt_Task? task = null;
            if (string.IsNullOrEmpty(currentAddress))
                tasks = BaseDal.QueryData(x => x.ShuttleCarCode == deviceNo && TaskRelocationTypes.Contains(x.TaskType) && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew).OrderBy(x => x.TaskNum).ToList();
                tasks = BaseDal.QueryData(x => /*x.ShuttleCarCode == deviceNo &&*/ TaskRelocationTypes.Contains(x.TaskType) && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew).OrderBy(x => x.TaskNum).ToList();
            else
                tasks = BaseDal.QueryData(x => x.ShuttleCarCode == deviceNo && x.CurrentAddress == currentAddress && TaskRelocationTypes.Contains(x.TaskType) && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew).OrderBy(x => x.TaskNum).ToList();
                tasks = BaseDal.QueryData(x => /*x.ShuttleCarCode == deviceNo &&*/ x.CurrentAddress == currentAddress && TaskRelocationTypes.Contains(x.TaskType) && x.TaskState == (int)TaskRelocationStatusEnum.RelocationNew).OrderBy(x => x.TaskNum).ToList();
            if (tasks != null && tasks.Count > 0)
            {
                task = tasks[0];