1
huangxiaoqiang
10 天以前 dda095e27b535d5748340f127c5f83c0d1324226
项目代码/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/TaskEnum/TaskEnumHelper.cs
@@ -48,6 +48,38 @@
            }
        }
        public static TaskStateGroup GetTaskStateGroup(this int taskState)
        {
            if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result))
            {
                return TaskStateGroup.OutbondGroup;
            }
            else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result))
            {
                return TaskStateGroup.InboundGroup;
            }
            else if (!int.TryParse(Enum.Parse<TaskRelocationStatusEnum>(taskState.ToString()).ToString(), out result))
            {
                return TaskStateGroup.RelocationGroup;
            }
            else if (!int.TryParse(Enum.Parse<TaskOtherStateEnum>(taskState.ToString()).ToString(), out result))
            {
                return TaskStateGroup.OtherGroup;
            }
            else if (!int.TryParse(Enum.Parse<TaskAGVCarryStatusEnum>(taskState.ToString()).ToString(), out result))
            {
                return TaskStateGroup.CarryGroup;
            }
            else if (!int.TryParse(Enum.Parse<TaskAcrossFloorStatusEnum>(taskState.ToString()).ToString(), out result))
            {
                return TaskStateGroup.AcrossFloorGroup;
            }
            else
            {
                throw new NotImplementedException();
            }
        }
        public static int GetNextNotCompletedStatus<T>(this int currentStatus) where T : Enum
        {
            Type type = typeof(T);
@@ -62,6 +94,14 @@
            {
                return type.GetEnumIndexList().Where(x => x > currentStatus && x < (int)TaskOutStatusEnum.OutFinish).OrderBy(x => x).FirstOrDefault();
            }
            else if (type == typeof(TaskAGVCarryStatusEnum))
            {
                return type.GetEnumIndexList().Where(x => x > currentStatus && x < (int)TaskAGVCarryStatusEnum.CarryFinish).OrderBy(x => x).FirstOrDefault();
            }
            else if (type == typeof(TaskAcrossFloorStatusEnum))
            {
                return type.GetEnumIndexList().Where(x => x > currentStatus && x < (int)TaskAcrossFloorStatusEnum.CarryFinish).OrderBy(x => x).FirstOrDefault();
            }
            else
            {
                throw new NotImplementedException();