/// <summary> /// 检查任务是否第一次打开。如是,则更新任务状态为“已开始”,同时添加任务生命周期 /// </summary> private void checkAndSignFirstOpen() { var isPassed = TaskLifecycleCache.getCache().FirstOrDefault(l => l.taskId == taskInfoId && l.taskState == (int)TaskStateEnum.Passed); var isOpened = TaskLifecycleCache.getCache().FirstOrDefault(l => l.taskId == taskInfoId && l.taskState == (int)TaskStateEnum.Running); if (isPassed != null && isOpened == null)//如果审批通过,但从未打开过 { TaskCache.updateTaskState(taskInfoId, (int)TaskStateEnum.Running); } }
public void init(int[] taskStateArray, TaskGridShownStyle style) { this._taskStateArray = taskStateArray; this._style = style; var classList = CodeCache.getClass(); var brandList = CodeCache.getBrand(); var modelList = CodeCache.getModel(); var taskList = TaskCache.getCache(); var tasklifecycleList = TaskLifecycleCache.getCache(); var taskModelMapList = TaskModelMapCache.getCache(); taskModelAllList = (from task in taskList from classCode in classList from tasklifecycle in tasklifecycleList //from brandCode in brandList //from taskModelMap in taskModelMapList //where (taskStateArray == (int)TaskStateEnum.Completed ? // (task.taskState == taskStateArray || task.taskState == (int)TaskStateEnum.Rejected || task.taskState == (int)TaskStateEnum.Closed) // : (task.taskState == taskStateArray))//如果是展示已完成任务,则需要附带已关闭、已驳回的任务 where taskStateArray.Contains(task.taskState) && task.taskClass == classCode.id //&& taskModelMap.taskId == task.id && taskModelMap.brandId == brandCode.id //todo 跟当前用户相关 && task.id == tasklifecycle.taskId && tasklifecycle.taskState == 5001 && (task.taskExecutor.Contains(User.currentUser.name) || tasklifecycle.taskStateChangeExecutor == User.currentUser.name) //当前用户创建或测试人包含当前用户 orderby task.createTime descending select new TaskModel { taskId = task.id, taskName = task.taskName, taskStateId = task.taskState, taskStateName = taskStateDic[task.taskState], taskBrandModelName = string.Join(Environment.NewLine, from brandCode in brandList from modelCode in modelList from taskModelMap in taskModelMapList where taskModelMap.taskId == task.id && taskModelMap.brandId == brandCode.id && taskModelMap.ModelId == modelCode.id select brandCode.codeName + " " + modelCode.codeName), taskClassName = classCode.codeName, taskStartTime = task.createTime, taskCode = task.taskCode, percent = task.percent, taskRound = task.taskRound }).ToList(); doQuery(new TaskQueryItem()); showStyle(style); }
public void init(int taskInfoId) { var taskLifeList = TaskLifecycleCache.getCache().Where(t => t.taskId == taskInfoId).OrderBy(t => t.taskState).ToList(); var taskStateList = CodeCache.getState(); var tempList = from life in taskLifeList from state in taskStateList where life.taskState == state.id select new { life, state }; List <String> textList = new List <string>(); foreach (var taskLife in tempList) { textList.Add(taskLife.life.taskStateDateTime + " 状态:" + taskLife.state.codeName + " 操作人:" + taskLife.life.taskStateChangeExecutor + " 备注:" + taskLife.life.remark); } lbl_taskLifecycle.Text = string.Join(Environment.NewLine, textList); }