|
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.qmth.distributed.print.business.entity.ExamTask;
|
|
import com.qmth.distributed.print.business.entity.ExamTask;
|
|
import com.qmth.distributed.print.business.entity.TFFlowApprove;
|
|
import com.qmth.distributed.print.business.entity.TFFlowApprove;
|
|
import com.qmth.distributed.print.business.entity.TFFlowLog;
|
|
import com.qmth.distributed.print.business.entity.TFFlowLog;
|
|
-import com.qmth.distributed.print.business.enums.ExamStatusEnum;
|
|
|
|
import com.qmth.distributed.print.business.service.ActivitiService;
|
|
import com.qmth.distributed.print.business.service.ActivitiService;
|
|
import com.qmth.distributed.print.business.service.ExamTaskService;
|
|
import com.qmth.distributed.print.business.service.ExamTaskService;
|
|
import com.qmth.distributed.print.business.service.TFFlowApproveService;
|
|
import com.qmth.distributed.print.business.service.TFFlowApproveService;
|
|
@@ -12,10 +11,7 @@ import com.qmth.distributed.print.business.service.TFFlowLogService;
|
|
import com.qmth.teachcloud.common.contant.SpringContextHolder;
|
|
import com.qmth.teachcloud.common.contant.SpringContextHolder;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
-import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
|
-import com.qmth.teachcloud.common.enums.FlowApproveOperationEnum;
|
|
|
|
-import com.qmth.teachcloud.common.enums.FlowGdykdxApproveSetupEnum;
|
|
|
|
-import com.qmth.teachcloud.common.enums.FlowStatusEnum;
|
|
|
|
|
|
+import com.qmth.teachcloud.common.enums.*;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.activiti.bpmn.model.BpmnModel;
|
|
import org.activiti.bpmn.model.BpmnModel;
|
|
import org.activiti.bpmn.model.FlowNode;
|
|
import org.activiti.bpmn.model.FlowNode;
|
|
@@ -240,23 +236,29 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
tfFlowLog = new TFFlowLog(Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
|
|
tfFlowLog = new TFFlowLog(Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
|
|
FlowGdykdxApproveSetupEnum setupEnum = FlowGdykdxApproveSetupEnum.convertToInstance(userTask.getId());
|
|
FlowGdykdxApproveSetupEnum setupEnum = FlowGdykdxApproveSetupEnum.convertToInstance(userTask.getId());
|
|
if (setupEnum == FlowGdykdxApproveSetupEnum.SUBMIT) {//命题提交
|
|
if (setupEnum == FlowGdykdxApproveSetupEnum.SUBMIT) {//命题提交
|
|
|
|
+ Task taskUser = taskService.createTaskQuery().taskId(flowTaskId).taskAssignee(String.valueOf(sysUser.getId())).singleResult();
|
|
|
|
+ if (Objects.isNull(taskUser)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务");
|
|
|
|
+ }
|
|
tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.SUBMIT);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.SUBMIT);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
} else if (setupEnum == FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
} else if (setupEnum == FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
- if (Objects.isNull(map.get(SystemConstant.APPROVE))) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程变量不能为空");
|
|
|
|
|
|
+ Task taskUser = taskService.createTaskQuery().taskId(flowTaskId).taskCandidateUser(String.valueOf(sysUser.getId())).singleResult();
|
|
|
|
+ if (Objects.isNull(taskUser)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务");
|
|
|
|
+ }
|
|
|
|
+ if (Objects.isNull(map.get(SystemConstant.APPROVE_OPERATION))) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程审核操作不能为空");
|
|
}
|
|
}
|
|
- String approve = map.get(SystemConstant.APPROVE).toString();
|
|
|
|
|
|
+ FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
|
|
+ String approve = approvePass == FlowApprovePassEnum.PASS ? "1" : "0";
|
|
tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
if (Objects.equals(approve, "0")) {//驳回命题
|
|
if (Objects.equals(approve, "0")) {//驳回命题
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
-// examTask.setStatus(ExamStatusEnum.DRAFT);
|
|
|
|
-// examTask.updateInfo(sysUser.getId());
|
|
|
|
-// examTaskService.updateById(examTask);
|
|
|
|
} else if (Objects.equals(approve, "1")) {//提交
|
|
} else if (Objects.equals(approve, "1")) {//提交
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
@@ -264,19 +266,34 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
} else {
|
|
} else {
|
|
throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
}
|
|
}
|
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE, v -> approve);
|
|
} else if (setupEnum == FlowGdykdxApproveSetupEnum.SECOND_APPROVE) {//院长提交
|
|
} else if (setupEnum == FlowGdykdxApproveSetupEnum.SECOND_APPROVE) {//院长提交
|
|
- if (Objects.isNull(map.get(SystemConstant.APPROVE))) {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程变量不能为空");
|
|
|
|
|
|
+ Task taskUser = taskService.createTaskQuery().taskId(flowTaskId).taskCandidateUser(String.valueOf(sysUser.getId())).singleResult();
|
|
|
|
+ if (Objects.isNull(taskUser)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务");
|
|
|
|
+ }
|
|
|
|
+ if (Objects.isNull(map.get(SystemConstant.APPROVE_OPERATION))) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程审核操作不能为空");
|
|
|
|
+ }
|
|
|
|
+ FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
|
|
+ String approve = null;
|
|
|
|
+ if (approvePass == FlowApprovePassEnum.PASS) {
|
|
|
|
+ approve = "2";
|
|
|
|
+ } else {
|
|
|
|
+ if (Objects.isNull(map.get(SystemConstant.APPROVE_SETUP))) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程驳回节点不能为空");
|
|
|
|
+ }
|
|
|
|
+ Integer setup = Integer.parseInt(map.get(SystemConstant.APPROVE_SETUP).toString());
|
|
|
|
+ if (setup.intValue() < FlowGdykdxApproveSetupEnum.SUBMIT.getSetup() || setup.intValue() >= FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup()) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程驳回节点有误");
|
|
|
|
+ }
|
|
|
|
+ approve = setup.intValue() == 1 ? "0" : "1";
|
|
}
|
|
}
|
|
- String approve = map.get(SystemConstant.APPROVE).toString();
|
|
|
|
tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup());
|
|
tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup());
|
|
if (Objects.equals(approve, "0")) {//驳回命题
|
|
if (Objects.equals(approve, "0")) {//驳回命题
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
-// examTask.setStatus(ExamStatusEnum.DRAFT);
|
|
|
|
-// examTask.updateInfo(sysUser.getId());
|
|
|
|
-// examTaskService.updateById(examTask);
|
|
|
|
} else if (Objects.equals(approve, "1")) {//驳回主任
|
|
} else if (Objects.equals(approve, "1")) {//驳回主任
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
@@ -288,6 +305,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
} else {
|
|
} else {
|
|
throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
}
|
|
}
|
|
|
|
+ String finalApprove = approve;
|
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE, v -> finalApprove);
|
|
}
|
|
}
|
|
tfFlowApprove.updateInfo(sysUser.getId());
|
|
tfFlowApprove.updateInfo(sysUser.getId());
|
|
}
|
|
}
|