dengjunjie
5 天以前 7ca9651f81d7b84f054194d3d46fdbd1d9c8b922
ÏîÄ¿´úÂë/WCS/WIDESEAWCS_Server/WIDESEAWCS_TaskInfoService/TaskService.cs
@@ -119,6 +119,10 @@
                            task.NextAddress = routers.FirstOrDefault().ChildPosi;
                        }
                    }
                    else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.RelocationGroup)
                    {
                        task.TaskState = item.SourceIsPickPlace ? TaskRelocationStatusEnum.CarSource_Finish.ObjToInt() : TaskRelocationStatusEnum.RelocationNew.ObjToInt();
                    }
                    tasks.Add(task);
                }
                BaseDal.AddData(tasks);
@@ -273,6 +277,11 @@
                return BaseDal.QueryFirst(x => x.Roadway == deviceNo && TaskInboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskInStatusEnum.Line_InFinish && !string.IsNullOrEmpty(x.NextAddress) && x.CurrentAddress == currentAddress, TaskOrderBy);
        }
        public Dt_Task QueryCarOutFinish()
        {
            Dt_Task? _Task = BaseDal.QueryFirst(x => TaskOutboundTypes.Contains(x.TaskType) && x.TaskState == (int)TaskOutStatusEnum.Car_OutFinish, TaskOrderBy);
            return _Task;
        }
        /// <summary>
        /// æ ¹æ®è®¾å¤‡ç¼–号、当前地址按照优先级以及创建时间排序查询任务池出库类型的新增的任务
        /// </summary>
@@ -313,14 +322,14 @@
            {
                Dt_Task task = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
                if (task == null) return WebResponseContent.Instance.Error($"未找到该任务信息,任务号:【{taskNum}】");
                if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                {
                    task.TaskState = (int)TaskOutStatusEnum.OutPending;
                }
                else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                {
                    task.TaskState = (int)TaskInStatusEnum.InPending;
                }
                //if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.OutbondGroup)
                //{
                //    task.TaskState = (int)TaskOutStatusEnum.OutPending;
                //}
                //else if (task.TaskType.GetTaskTypeGroup() == TaskTypeGroup.InboundGroup)
                //{
                //    task.TaskState = (int)TaskInStatusEnum.InPending;
                //}
                task.ExceptionMessage = message;
                task.ModifyDate = DateTime.Now;
                BaseDal.UpdateData(task);
@@ -436,7 +445,7 @@
                    }
                    else if (task.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt())
                    {
                        if (task.TaskState >= (int)CarChargingTaskEnum.RelocationCarFinish)
                        if (task.TaskState >= (int)CarChargingTaskEnum.CarChargingFinish)
                        {
                            return content = WebResponseContent.Instance.Error($"该任务状态不可跳转到下一步,任务号:【{task.TaskNum}】,任务状态:【{task.TaskState}】");
                        }
@@ -614,9 +623,9 @@
        /// <param name="TaskState"></param>
        /// <param name="TaskType"></param>
        /// <returns></returns>
        public Dt_Task GetTaskState(int TaskState, int TaskType)
        public Dt_Task? GetTaskState(int TaskState, int TaskType)
        {
            Dt_Task task = null;
            Dt_Task? task = null;
            if (TaskState > 0 && TaskType > 0)
                task = BaseDal.QueryFirst(x => x.TaskState == TaskState && x.TaskType == TaskType);
            else if (TaskState > 0)
@@ -641,12 +650,17 @@
            {
                if (!string.IsNullOrEmpty(SourceAddress) && SourceAddress != "")
                {
                    Dt_Task? task = BaseDal.QueryFirst(x => x.SourceAddress == SourceAddress && x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt());
                    Dt_Task? task = BaseDal.QueryFirst(x => x.SourceAddress == SourceAddress &&
                    x.ShuttleCarCode == ShuttleCarCode &&
                    (x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() ||
                    x.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt()));
                    if (task != null) return;
                }
                if (!string.IsNullOrEmpty(TargetAddress) && TargetAddress != "")
                {
                    Dt_Task? task = BaseDal.QueryFirst(x => x.TargetAddress == TargetAddress && x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt());
                    Dt_Task? task = BaseDal.QueryFirst(x => x.TargetAddress == TargetAddress &&
                    (x.TaskType == TaskOtherTypeEnum.RelocationCar.ObjToInt() ||
                    x.TaskType == TaskOtherTypeEnum.RelocationCarCharging.ObjToInt()));
                    if (task != null) return;
                }
                #region åˆ›å»ºå †åž›æœºç§»è½¦ä»»åŠ¡
@@ -662,12 +676,12 @@
                    NextAddress = TargetAddress,
                    CreateDate = DateTime.Now,
                    Creater = "WCS",
                    TaskState = string.IsNullOrEmpty(remark) ? (int)TaskCarStatusEnum.CarNew : (int)CarChargingTaskEnum.CarNew,
                    TaskState = string.IsNullOrEmpty(remark) ? (int)TaskCarStatusEnum.CarNew : (int)CarChargingTaskEnum.CarChargingNew,
                    ShuttleCarCode = ShuttleCarCode,
                    WMSId = 0,
                    Remark = remark
                };
                if (SourceAddress == TargetAddress) dt_Task.TaskState = (int)CarChargingTaskEnum.SC_CarFinish;
                if (SourceAddress == TargetAddress) dt_Task.TaskState = (int)CarChargingTaskEnum.CarChargingSC_CarFinish;
                AddData(dt_Task);
                #endregion
            }