|
@@ -329,11 +329,16 @@ public class TaskController extends BladeController {
|
|
|
}
|
|
|
|
|
|
//校验当前项目是否为垂直审批
|
|
|
- List<Task> taskList = taskService.getBaseMapper().selectList(Wrappers.<Task>lambdaQuery().select(Task::getId,Task::getProjectId, Task::getTaskName, Task::getProcessInstanceId, Task::getContractId, Task::getFormDataId).in(Task::getId, Arrays.asList(taskIdArray)));
|
|
|
+ List<String> taskIdList = new ArrayList<>();
|
|
|
+ List<Task> taskList = taskService.getBaseMapper().selectList(Wrappers.<Task>lambdaQuery().select(Task::getId,Task::getProjectId, Task::getTaskName, Task::getProcessInstanceId, Task::getContractId, Task::getFormDataId, Task::getStatus).in(Task::getId, Arrays.asList(taskIdArray)));
|
|
|
for (Task task : taskList) {
|
|
|
if (ObjectUtil.isEmpty(task.getProjectId())) {
|
|
|
throw new ServiceException("未获取到任务【" + task.getTaskName() + "】对应的项目信息");
|
|
|
}
|
|
|
+ if (task.getStatus() != null && task.getStatus() == 3) {
|
|
|
+ taskIdList.add(task.getId() + "");
|
|
|
+ continue;
|
|
|
+ }
|
|
|
ProjectInfo projectInfo = jdbcTemplate.query("select approval_type from m_project_info where id = " + task.getProjectId(), new BeanPropertyRowMapper<>(ProjectInfo.class)).stream().findAny().orElse(null);
|
|
|
//如果是垂直审批,那么检查当前用户是否符合当前顺序
|
|
|
if (projectInfo != null && projectInfo.getApprovalType() != null && new Integer(1).equals(projectInfo.getApprovalType())) {
|
|
@@ -369,6 +374,9 @@ public class TaskController extends BladeController {
|
|
|
List<TaskApprovalVO> taskApprovalVOS = new ArrayList<>();
|
|
|
|
|
|
for (int i = 0, l = taskIdArray.length; i < l; i++) {
|
|
|
+ if (taskIdList.contains(taskIdArray[i])) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
TaskApprovalVO approvalVO = new TaskApprovalVO();
|
|
|
approvalVO.setTaskId(taskIdArray[i]);
|
|
|
approvalVO.setParallelProcessInstanceId(parallelProcessInstanceIdArray[i]);
|
|
@@ -384,7 +392,7 @@ public class TaskController extends BladeController {
|
|
|
this.taskService.batchCompleteApprovalTask(taskApprovalVOS);
|
|
|
Map<String, TaskApprovalVO> taskApprovalVOMap = taskApprovalVOS.stream().collect(Collectors.toMap(TaskApprovalVO::getTaskId, taskApprovalVO -> taskApprovalVO, (o1, o2) -> o1));
|
|
|
for (Task task : taskList) {
|
|
|
- if (batchTaskVO.getFlag().equals("NO")) {
|
|
|
+ if (batchTaskVO.getFlag().equals("NO") && task.getStatus() != null && task.getStatus() != 3) {
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("operationObjIds", Func.toStrList(task.getFormDataId()));
|
|
|
json.put("operationObjName", "批量废除");
|
|
@@ -1233,9 +1241,12 @@ public class TaskController extends BladeController {
|
|
|
//生成等待批次,任务完成后删除
|
|
|
List<TaskApprovalVO> taskApprovalVOS = new ArrayList<>();
|
|
|
taskApprovalVOS.add(taskApprovalVO);
|
|
|
+ Task task = taskService.getOne(Wrappers.<Task>lambdaQuery().eq(Task::getId, taskApprovalVO.getTaskId()));
|
|
|
+ if (task == null || (task.getStatus() != null && task.getStatus() == 3)) {
|
|
|
+ return R.fail("任务已被撤回或者驳回");
|
|
|
+ }
|
|
|
this.taskService.batchCompleteApprovalTask(taskApprovalVOS);
|
|
|
if (!taskApprovalVO.isPass()) {
|
|
|
- Task task = taskService.getBaseMapper().selectOne(Wrappers.<Task>lambdaQuery().select(Task::getProjectId, Task::getContractId, Task::getFormDataId).eq(Task::getId, taskApprovalVO.getTaskId()));
|
|
|
JSONObject json = new JSONObject();
|
|
|
json.put("operationObjIds", Func.toStrList(task.getFormDataId()));
|
|
|
json.put("operationObjName", "批量废除");
|