刘磊
2024-12-21 a6ea79849f0142b5280f0c5d4b15ecc83f0d015a
Code Management/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -90,32 +90,48 @@
                    task.Creater = "WMS";
                    if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                    {
                        List<Dt_Router> routers = _routerService.QueryNextRoutes(item.RoadWay, item.TargetAddress);
                        if (routers.Count > 0)
                        if (task.TargetAddress == "002-021-001")
                        {
                            task.TaskState = (int)TaskOutStatusEnum.OutNew;
                            task.CurrentAddress = item.SourceAddress;
                            task.NextAddress = routers.FirstOrDefault().ChildPosi;
                        }
                        else
                        {
                            routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
                            List<Dt_Router> routers = _routerService.QueryNextRoutes(item.RoadWay, item.TargetAddress);
                            if (routers.Count > 0)
                            {
                                task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
                                task.TaskState = (int)TaskOutStatusEnum.OutNew;
                                task.CurrentAddress = item.SourceAddress;
                                task.NextAddress = routers.FirstOrDefault().ChildPosi;
                            }
                            else
                            {
                                routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
                                if (routers.Count > 0)
                                {
                                    task.TaskState = (int)TaskOutStatusEnum.SC_OutFinish;
                                    task.CurrentAddress = item.SourceAddress;
                                    task.NextAddress = routers.FirstOrDefault().ChildPosi;
                                }
                            }
                        }
                    }
                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                    {
                        List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
                        if (routers.Count > 0)
                        if (task.SourceAddress == "1359-4")
                        {
                            task.TaskState = (int)TaskInStatusEnum.InNew;
                            task.CurrentAddress = item.SourceAddress;
                            task.NextAddress = routers.FirstOrDefault().ChildPosi;
                        }
                        else
                        {
                            List<Dt_Router> routers = _routerService.QueryNextRoutes(item.SourceAddress, item.TargetAddress);
                            if (routers.Count > 0)
                            {
                                task.TaskState = (int)TaskInStatusEnum.InNew;
                                task.CurrentAddress = item.SourceAddress;
                                task.NextAddress = routers.FirstOrDefault().ChildPosi;
                            }
                        }
                    }
                    tasks.Add(task);
@@ -249,6 +265,12 @@
            return BaseDal.QueryFirst(x => x.TaskNum == taskNum && x.CurrentAddress == currentAddress && (x.TaskState == (int)TaskInStatusEnum.Line_InFinish || x.TaskState == (int)TaskOutStatusEnum.Line_OutFinish), TaskOrderBy);
        }
        public Dt_Task QueryBarcodeTask(string barcode, string currentAddress)
        {
            return BaseDal.QueryFirst(x => x.PalletCode == barcode && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        /// <summary>
        /// 根据任务号、当前地址查询输送线新建的任务
        /// </summary>
@@ -320,6 +342,21 @@
        }
        /// <summary>
        /// 根据设备编号、排除的任务、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的所有任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>
        /// <param name="excludedTaskId">排除的任务</param>
        /// <param name="currentAddress">当前地址</param>
        /// <returns>返回任务实体对象,可能为null</returns>
        public List<Dt_Task> QueryAllOutboundTasks(string deviceNo, string currentAddress = "")
        {
            if (string.IsNullOrEmpty(currentAddress))
                return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew, TaskOrderBy);
            else
                return BaseDal.QueryData(x => x.Roadway == deviceNo && TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.OutNew && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        /// <summary>
        /// 根据设备编号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
        /// <param name="deviceNo">设备编号</param>