| | |
| | | using System.Reflection; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEAWCS_Common.TaskEnum; |
| | | using WIDESEAWCS_Core; |
| | | using WIDESEAWCS_Core.BaseServices; |
| | | using WIDESEAWCS_Core.Enums; |
| | |
| | | |
| | | public void AddTaskExecuteDetail(int taskId, string description = "") |
| | | { |
| | | // 尝试执行添加任务执行详情的方法 |
| | | try |
| | | { |
| | | // 初始化是否正常为true |
| | | bool isNormal = true; |
| | | // 根据任务id查询任务 |
| | | Dt_Task task = _taskRepository.QueryFirst(x => x.TaskId == taskId); |
| | | // 如果任务为空,则返回 |
| | | if (task == null) return; |
| | | // 获取任务数量 |
| | | int taskNum = task.TaskNum; |
| | | // 获取任务状态 |
| | | int taskState = task.TaskState; |
| | | |
| | | // 尝试将任务状态转换为TaskOutStatusEnum枚举类型 |
| | | if (!int.TryParse(Enum.Parse<TaskOutStatusEnum>(taskState.ToString()).ToString(), out int result)) |
| | | { |
| | | if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish) |
| | | // 如果转换失败,则将任务状态转换为TaskInStatusEnum枚举类型 |
| | | if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result)) |
| | | { |
| | | // 如果转换失败,则将isNormal设置为false |
| | | isNormal = false; |
| | | } |
| | | } |
| | | else if (!int.TryParse(Enum.Parse<TaskInStatusEnum>(taskState.ToString()).ToString(), out result)) |
| | | // 如果转换成功,则判断任务状态是否大于OutFinish |
| | | else if ((int)(TaskOutStatusEnum)result > (int)TaskOutStatusEnum.OutFinish) |
| | | { |
| | | if ((int)(TaskInStatusEnum)result > (int)TaskInStatusEnum.InFinish) |
| | | isNormal = false; |
| | | // 如果大于,则将isNormal设置为false |
| | | isNormal = false; |
| | | } |
| | | // 创建任务执行详情对象 |
| | | Dt_TaskExecuteDetail taskExecuteDetail = new() |
| | | { |
| | | // 设置是否手动执行 |
| | | IsManual = App.User.UserId > 0, |
| | | // 设置是否正常 |
| | | IsNormal = isNormal, |
| | | // 设置任务数量 |
| | | TaskNum = taskNum, |
| | | // 设置任务id |
| | | TaskId = taskId, |
| | | // 设置任务状态 |
| | | TaskState = taskState, |
| | | // 设置描述 |
| | | Description = description, |
| | | // 设置当前地址 |
| | | CurrentAddress = task.CurrentAddress, |
| | | // 设置下一个地址 |
| | | NextAddress = task.NextAddress, |
| | | }; |
| | | // 添加任务执行详情 |
| | | BaseDal.AddData(taskExecuteDetail); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | |
| | | |
| | | } |
| | | } |
| | | |
| | |
| | | { |
| | | try |
| | | { |
| | | //Task.Run(() => |
| | | //{ |
| | | //Thread.Sleep(500); |
| | | List<Dt_TaskExecuteDetail> taskExecuteDetails = new List<Dt_TaskExecuteDetail>(); |
| | | foreach (var item in taskNums) |
| | | { |
| | |
| | | } |
| | | |
| | | BaseDal.AddData(taskExecuteDetails); |
| | | //}); |
| | | } |
| | | catch (Exception ex) |
| | | { |