|
@@ -12,9 +12,11 @@ import com.qmth.distributed.print.business.bean.result.FlowTaskResult;
|
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
|
import com.qmth.distributed.print.business.enums.ExamStatusEnum;
|
|
|
import com.qmth.distributed.print.business.enums.FlowModelEnum;
|
|
|
+import com.qmth.distributed.print.business.enums.FlowSchoolCodeEnum;
|
|
|
import com.qmth.distributed.print.business.service.*;
|
|
|
import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
+import com.qmth.teachcloud.common.entity.BasicSchool;
|
|
|
import com.qmth.teachcloud.common.entity.SysOrg;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
import com.qmth.teachcloud.common.enums.*;
|
|
@@ -140,6 +142,25 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
return processInstance;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 启动流程
|
|
|
+ *
|
|
|
+ * @param map
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ProcessInstance flowStart(Map<String, Object> map) {
|
|
|
+ BasicSchool basicSchool = (BasicSchool) ServletUtil.getRequestSchool();
|
|
|
+ ProcessInstance processInstance = null;
|
|
|
+ //广东医科大学
|
|
|
+ if (Objects.equals(basicSchool.getCode(), FlowSchoolCodeEnum.GDYKDX.getCode())) {
|
|
|
+ processInstance = this.startActivity(SystemConstant.GDYKDX_FLOW_KEY, map);
|
|
|
+ } else if (Objects.equals(basicSchool.getCode(), FlowSchoolCodeEnum.JXZYYDX.getCode())) {//江西中医药大学
|
|
|
+ processInstance = this.startActivity(SystemConstant.JXZYY_FLOW_KEY, map);
|
|
|
+ }
|
|
|
+ return processInstance;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据流程id直接结束流程
|
|
|
*
|
|
@@ -155,7 +176,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
try {
|
|
|
Task task = taskService.createTaskQuery().processInstanceId(flowId).singleResult();
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
- runtimeService.deleteProcessInstance(flowId, FlowGdykdxApproveSetupEnum.END.getTitle());
|
|
|
+ runtimeService.deleteProcessInstance(flowId, FlowApproveSetupEnum.END.getTitle());
|
|
|
//流程审批
|
|
|
QueryWrapper<TFFlowApprove> tfFlowApproveQueryWrapper = new QueryWrapper<>();
|
|
|
tfFlowApproveQueryWrapper.lambda().eq(TFFlowApprove::getFlowId, Long.parseLong(flowId));
|
|
@@ -166,16 +187,16 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
tfFlowApprove = new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(flowId), sysUser.getId(), FlowStatusEnum.END, sysUser.getId(), count == 0 ? FlowModelEnum.CHOOSE : FlowModelEnum.SYSTEM);
|
|
|
} else {
|
|
|
tfFlowApprove.setStatus(FlowStatusEnum.END);
|
|
|
- tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.END.getSetup());
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.END.getSetup());
|
|
|
tfFlowApprove.updateInfo(sysUser.getId());
|
|
|
}
|
|
|
tfFlowApproveService.saveOrUpdate(tfFlowApprove);
|
|
|
|
|
|
//流程流水日志
|
|
|
ExamTask examTask = examTaskService.findByFlowId(Long.parseLong(flowId));
|
|
|
- TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(flowId), examTask.getId(), sysUser.getId(), sysUser.getId(), FlowGdykdxApproveSetupEnum.END.getTitle());
|
|
|
+ TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(flowId), examTask.getId(), sysUser.getId(), sysUser.getId(), FlowApproveSetupEnum.END.getTitle());
|
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.END);
|
|
|
- tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.END.getSetup());
|
|
|
+ tfFlowLog.setApproveSetup(FlowApproveSetupEnum.END.getSetup());
|
|
|
tfFlowLogService.save(tfFlowLog);
|
|
|
|
|
|
if (Objects.nonNull(task)) {
|
|
@@ -187,33 +208,37 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
FlowNode currFlow = (FlowNode) bpmnModel.getMainProcess().getFlowElement(currActivityId);
|
|
|
if (currFlow instanceof UserTask) {
|
|
|
UserTask userTask = (UserTask) currFlow;
|
|
|
+ //流程审批记录
|
|
|
+ QueryWrapper<TFFlowApproveLog> tfFlowApproveLogQueryWrapper = new QueryWrapper<>();
|
|
|
+ tfFlowApproveLogQueryWrapper.lambda().eq(TFFlowApproveLog::getFlowId, Long.parseLong(flowId))
|
|
|
+ .eq(TFFlowApproveLog::getTaskId, examTask.getId());
|
|
|
+ TFFlowApproveLog tfFlowApproveLog = tfFlowApproveLogService.getOne(tfFlowApproveLogQueryWrapper);
|
|
|
+ if (Objects.isNull(tfFlowApproveLog)) {
|
|
|
+ tfFlowApproveLog = new TFFlowApproveLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(flowId), examTask.getId(), sysUser.getId(), sysUser.getId());
|
|
|
+ }
|
|
|
+ FlowApproveSetupEnum setupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
|
|
|
//广东医科大学流程
|
|
|
if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
- //流程审批记录
|
|
|
- QueryWrapper<TFFlowApproveLog> tfFlowApproveLogQueryWrapper = new QueryWrapper<>();
|
|
|
- tfFlowApproveLogQueryWrapper.lambda().eq(TFFlowApproveLog::getFlowId, Long.parseLong(flowId))
|
|
|
- .eq(TFFlowApproveLog::getTaskId, examTask.getId());
|
|
|
- TFFlowApproveLog tfFlowApproveLog = tfFlowApproveLogService.getOne(tfFlowApproveLogQueryWrapper);
|
|
|
- if (Objects.isNull(tfFlowApproveLog)) {
|
|
|
- tfFlowApproveLog = new TFFlowApproveLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(flowId), examTask.getId(), sysUser.getId(), sysUser.getId());
|
|
|
- }
|
|
|
-
|
|
|
- FlowGdykdxApproveSetupEnum setupEnum = FlowGdykdxApproveSetupEnum.convertToInstance(userTask.getId());
|
|
|
- if (setupEnum == FlowGdykdxApproveSetupEnum.SUBMIT) {//命题
|
|
|
- tfFlowApproveLog.setStartId(sysUser.getId());
|
|
|
- tfFlowApproveLog.setRemark(FlowGdykdxApproveSetupEnum.SUBMIT.getTitle() + FlowApproveOperationEnum.END.getTitle());
|
|
|
- } else if (setupEnum == FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE) {//主任
|
|
|
- tfFlowApproveLog.setPrimaryApproveId(sysUser.getId());
|
|
|
- tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.END);
|
|
|
- tfFlowApproveLog.setPrimaryApproveRemark(FlowApproveOperationEnum.END.getTitle());
|
|
|
- } else if (setupEnum == FlowGdykdxApproveSetupEnum.SECOND_APPROVE) {//院长
|
|
|
+ if (setupEnum == FlowApproveSetupEnum.SUBMIT) {//命题
|
|
|
+ assignFlowEnd(tfFlowApproveLog, sysUser);
|
|
|
+ } else if (setupEnum == FlowApproveSetupEnum.PRIMARY_APPROVE) {//主任
|
|
|
+ directorFlowEnd(tfFlowApproveLog, sysUser);
|
|
|
+ } else if (setupEnum == FlowApproveSetupEnum.SECOND_APPROVE) {//院长
|
|
|
tfFlowApproveLog.setSecondApproveId(sysUser.getId());
|
|
|
tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.END);
|
|
|
tfFlowApproveLog.setSecondApproveRemark(FlowApproveOperationEnum.END.getTitle());
|
|
|
}
|
|
|
- tfFlowApproveLog.updateInfo(sysUser.getId());
|
|
|
- tfFlowApproveLogService.saveOrUpdate(tfFlowApproveLog);
|
|
|
}
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+ if (setupEnum == FlowApproveSetupEnum.SUBMIT) {//命题
|
|
|
+ assignFlowEnd(tfFlowApproveLog, sysUser);
|
|
|
+ } else if (setupEnum == FlowApproveSetupEnum.PRIMARY_APPROVE) {//主任
|
|
|
+ directorFlowEnd(tfFlowApproveLog, sysUser);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tfFlowApproveLog.updateInfo(sysUser.getId());
|
|
|
+ tfFlowApproveLogService.saveOrUpdate(tfFlowApproveLog);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -241,15 +266,10 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
*/
|
|
|
public void flowApproveStart(Map<String, Object> map) {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
-
|
|
|
- if (Objects.isNull(map.get(SystemConstant.FLOW_ID))) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程id不能为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(map.get(SystemConstant.FLOW_ID)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程id不能为空"));
|
|
|
Long flowId = Long.parseLong(map.get(SystemConstant.FLOW_ID).toString());
|
|
|
|
|
|
- if (Objects.isNull(map.get(SystemConstant.FLOW_STATUS))) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程状态不能为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(map.get(SystemConstant.FLOW_STATUS)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程状态不能为空"));
|
|
|
FlowStatusEnum flowStatusEnum = (FlowStatusEnum) map.get(SystemConstant.FLOW_STATUS);
|
|
|
|
|
|
Long approveId = Objects.nonNull(map.get(SystemConstant.APPROVE_ID)) ? Long.parseLong(String.valueOf(map.get(SystemConstant.APPROVE_ID))) : null;
|
|
@@ -268,9 +288,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
public Map<String, Object> taskApprove(Map<String, Object> map) {
|
|
|
String flowTaskId = null;
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
- if (Objects.isNull(map.get(SystemConstant.FLOW_TASK_ID))) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程任务id不能为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(map.get(SystemConstant.FLOW_TASK_ID)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务id不能为空"));
|
|
|
flowTaskId = (String) map.get(SystemConstant.FLOW_TASK_ID);
|
|
|
boolean lock = redisUtil.lock(SystemConstant.REDIS_LOCK_FLOW_TASK_PREFIX + flowTaskId, SystemConstant.REDIS_LOCK_FLOW_TASK_TIME_OUT);
|
|
|
if (!lock) {
|
|
@@ -278,9 +296,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
}
|
|
|
try {
|
|
|
Task task = taskService.createTaskQuery().taskId(flowTaskId).singleResult();
|
|
|
- if (Objects.isNull(task)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务为空"));
|
|
|
String processInstanceId = task.getProcessInstanceId();
|
|
|
ExamTask examTask = examTaskService.findByFlowId(Long.parseLong(processInstanceId));
|
|
|
|
|
@@ -305,45 +321,20 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
TFFlowLog tfFlowLog = null;
|
|
|
if (currFlow instanceof UserTask) {
|
|
|
UserTask userTask = (UserTask) currFlow;
|
|
|
+ String remark = Objects.nonNull(map.get(SystemConstant.APPROVE_REMARK)) ? map.get(SystemConstant.APPROVE_REMARK).toString() : null;
|
|
|
+ //流程流水日志
|
|
|
+ tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
|
|
|
+ FlowApproveSetupEnum setupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
|
|
|
+ if (Objects.isNull(tfFlowApproveLog)) {
|
|
|
+ tfFlowApproveLog = new TFFlowApproveLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId());
|
|
|
+ }
|
|
|
//广东医科大学流程
|
|
|
if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
- String remark = Objects.nonNull(map.get(SystemConstant.APPROVE_REMARK)) ? map.get(SystemConstant.APPROVE_REMARK).toString() : null;
|
|
|
- //流程流水日志
|
|
|
- tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
|
|
|
- FlowGdykdxApproveSetupEnum setupEnum = FlowGdykdxApproveSetupEnum.convertToInstance(userTask.getId());
|
|
|
- if (setupEnum == FlowGdykdxApproveSetupEnum.SUBMIT) {//命题提交
|
|
|
- flowSubmitVaild(task, sysUser.getId());
|
|
|
- if (Objects.isNull(tfFlowApproveLog)) {
|
|
|
- tfFlowApproveLog = new TFFlowApproveLog(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(processInstanceId), examTask.getId(), sysUser.getId(), sysUser.getId());
|
|
|
- }
|
|
|
- tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
|
- tfFlowLog.setApproveOperation(FlowApproveOperationEnum.SUBMIT);
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
- tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
- map.computeIfAbsent(SystemConstant.APPROVE_DIRECTOR_USER_IDS, v -> map.get(SystemConstant.APPROVE_USER_IDS));
|
|
|
- } else if (setupEnum == FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
|
- flowApproveVaild(task, sysUser.getId(), map);
|
|
|
- FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
|
- FlowApproveVariableEnum approve = approvePass == FlowApprovePassEnum.PASS ? FlowApproveVariableEnum.PRIMARY_APPROVE : FlowApproveVariableEnum.PRIMARY_REJECT;
|
|
|
- tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
- tfFlowApproveLog.setPrimaryApproveId(sysUser.getId());
|
|
|
- tfFlowApproveLog.setPrimaryApproveRemark(remark);
|
|
|
- if (approve == FlowApproveVariableEnum.PRIMARY_REJECT) {//驳回命题
|
|
|
- tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
- tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
- tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
|
- } else if (approve == FlowApproveVariableEnum.PRIMARY_APPROVE) {//提交
|
|
|
- tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
- tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
- tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup());
|
|
|
- } else {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
|
- }
|
|
|
- map.computeIfAbsent(SystemConstant.APPROVE, v -> approve.getId());
|
|
|
- map.computeIfAbsent(SystemConstant.APPROVE_PRESIDENT_USER_IDS, v -> map.get(SystemConstant.APPROVE_USER_IDS));
|
|
|
- } else if (setupEnum == FlowGdykdxApproveSetupEnum.SECOND_APPROVE) {//院长提交
|
|
|
+ if (setupEnum == FlowApproveSetupEnum.SUBMIT) {//命题提交
|
|
|
+ this.assignSubmit(task, sysUser, tfFlowApprove, tfFlowLog, map);
|
|
|
+ } else if (setupEnum == FlowApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
|
+ this.directorSubmit(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, processDefinitionEntity, map);
|
|
|
+ } else if (setupEnum == FlowApproveSetupEnum.SECOND_APPROVE) {//院长提交
|
|
|
flowApproveVaild(task, sysUser.getId(), map);
|
|
|
FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
|
FlowApproveVariableEnum approve = null;
|
|
@@ -352,41 +343,47 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
if (approvePass == FlowApprovePassEnum.PASS) {
|
|
|
approve = FlowApproveVariableEnum.SECOND_APPROVE;
|
|
|
} else {
|
|
|
- if (Objects.isNull(map.get(SystemConstant.APPROVE_SETUP))) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程驳回节点不能为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(map.get(SystemConstant.APPROVE_SETUP)).orElseThrow(() -> 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()) {
|
|
|
+ if (setup.intValue() < FlowApproveSetupEnum.SUBMIT.getSetup() || setup.intValue() >= FlowApproveSetupEnum.SECOND_APPROVE.getSetup()) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("流程驳回节点有误");
|
|
|
}
|
|
|
approve = setup.intValue() == 1 ? FlowApproveVariableEnum.SECOND_REJECT_ONE : FlowApproveVariableEnum.SECOND_REJECT_TWO;
|
|
|
}
|
|
|
- tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup());
|
|
|
+ tfFlowLog.setApproveSetup(FlowApproveSetupEnum.SECOND_APPROVE.getSetup());
|
|
|
if (approve == FlowApproveVariableEnum.SECOND_REJECT_ONE) {//驳回命题
|
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
- tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup());
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.SUBMIT.getSetup());
|
|
|
} else if (approve == FlowApproveVariableEnum.SECOND_REJECT_TWO) {//驳回主任
|
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
- tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
} else if (approve == FlowApproveVariableEnum.SECOND_APPROVE) {//提交
|
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
tfFlowApprove.setStatus(FlowStatusEnum.FINISH);
|
|
|
- tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.FINISH.getSetup());
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.FINISH.getSetup());
|
|
|
} else {
|
|
|
throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
|
}
|
|
|
FlowApproveVariableEnum finalApprove = approve;
|
|
|
map.computeIfAbsent(SystemConstant.APPROVE, v -> finalApprove.getId());
|
|
|
}
|
|
|
- tfFlowApprove.updateInfo(sysUser.getId());
|
|
|
- tfFlowApproveLog.updateInfo(sysUser.getId());
|
|
|
+ }
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+ if (setupEnum == FlowApproveSetupEnum.SUBMIT) {//命题提交
|
|
|
+ this.assignSubmit(task, sysUser, tfFlowApprove, tfFlowLog, map);
|
|
|
+ } else if (setupEnum == FlowApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
|
+ this.directorSubmit(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, processDefinitionEntity, map);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ tfFlowApprove.updateInfo(sysUser.getId());
|
|
|
+ tfFlowApproveLog.updateInfo(sysUser.getId());
|
|
|
tfFlowApprove.setApproveId(sysUser.getId());
|
|
|
//当前实例的执行到哪个节点
|
|
|
taskService.complete(String.valueOf(flowTaskId), map);
|
|
@@ -437,11 +434,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
if (flowElement instanceof UserTask) {
|
|
|
UserTask userTask = (UserTask) flowElement;
|
|
|
if (Objects.nonNull(userTask)) {
|
|
|
- //广东药科大学流程
|
|
|
- if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
- FlowGdykdxApproveSetupEnum flowGdykdxApproveSetupEnum = FlowGdykdxApproveSetupEnum.convertToInstance(userTask.getId());
|
|
|
- flowTaskResultList.add(new FlowTaskResult(Long.parseLong(flowId), userTask.getName(), flowGdykdxApproveSetupEnum.getId(), flowGdykdxApproveSetupEnum.getSetup()));
|
|
|
- }
|
|
|
+ FlowApproveSetupEnum flowApproveSetupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
|
|
|
+ flowTaskResultList.add(new FlowTaskResult(Long.parseLong(flowId), userTask.getName(), flowApproveSetupEnum.getId(), flowApproveSetupEnum.getSetup()));
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -483,19 +477,18 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList = null;
|
|
|
if (Objects.nonNull(taskId) && !Objects.equals(taskId, "")) {//说明从已审核的节点开始捞人
|
|
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
|
- if (Objects.isNull(task)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务为空"));
|
|
|
flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(Long.parseLong(task.getProcessInstanceId()));
|
|
|
flowTaskApprovePeopleResultList = new LinkedList();
|
|
|
//获取当前流程节点
|
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
- if (Objects.isNull(tfFlowApprove)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到流程状态记录");
|
|
|
- }
|
|
|
+ Optional.ofNullable(tfFlowApprove).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程状态记录"));
|
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
|
}
|
|
|
+ String processDefinitionId = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId();
|
|
|
+ ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
|
|
|
+
|
|
|
ExamTask examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
|
|
|
IPage<FlowApproveResult> flowApproveResultIPage = tfFlowService.flowApproveList(new Page<>(SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE), null, SystemConstant.getHeadOrUserSchoolId(), null, flowTaskApprovePeopleAllResult.getFlowId());
|
|
@@ -506,81 +499,107 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
List<ApproveUserResult> approveUserMtResult = null;
|
|
|
switch (tfFlowApprove.getSetup()) {
|
|
|
case -1:
|
|
|
- if (Objects.isNull(flowApproveResult)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到流程审批记录");
|
|
|
+ Optional.ofNullable(flowApproveResult).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程审批记录"));
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
+ if (Objects.nonNull(flowApproveResult.getStartId())) {
|
|
|
+ //获取命题已审
|
|
|
+ approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(flowApproveResult.getPrimaryApproveId())) {
|
|
|
+ //获取主任已审
|
|
|
+ List<ApproveUserResult> approveUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, approveUserDirectorList));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+
|
|
|
}
|
|
|
- if (Objects.nonNull(flowApproveResult.getStartId())) {
|
|
|
+ break;
|
|
|
+ case 0:
|
|
|
+ Optional.ofNullable(flowApproveResult).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程审批记录"));
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
//获取命题已审
|
|
|
approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
- }
|
|
|
- if (Objects.nonNull(flowApproveResult.getPrimaryApproveId())) {
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
//获取主任已审
|
|
|
List<ApproveUserResult> approveUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, approveUserDirectorList));
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, approveUserDirectorList));
|
|
|
+ //获取院长已审
|
|
|
+ List<ApproveUserResult> approveUserPresidentList = sysUserService.findById(flowApproveResult.getSecondApproveId());
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), true, approveUserPresidentList));
|
|
|
}
|
|
|
- break;
|
|
|
- case 0:
|
|
|
- if (Objects.isNull(flowApproveResult)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到流程审批记录");
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+
|
|
|
}
|
|
|
- //获取命题已审
|
|
|
- approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
- //获取主任已审
|
|
|
- List<ApproveUserResult> approveUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, approveUserDirectorList));
|
|
|
- //获取院长已审
|
|
|
- List<ApproveUserResult> approveUserPresidentList = sysUserService.findById(flowApproveResult.getSecondApproveId());
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), true, approveUserPresidentList));
|
|
|
break;
|
|
|
case 1:
|
|
|
if (tfFlowApprove.getModel() == FlowModelEnum.SYSTEM) {
|
|
|
- flowTaskApprovePeopleResultList = getApproveUserAll(examTask.getCourseCode(), flowTaskApprovePeopleResultList);
|
|
|
+ flowTaskApprovePeopleResultList = getApproveUserAll(examTask.getCourseCode(), flowTaskApprovePeopleResultList, Objects.nonNull(processDefinitionEntity) ? processDefinitionEntity.getKey() : null);
|
|
|
} else {
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
+ }
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
+ }
|
|
|
}
|
|
|
break;
|
|
|
case 2:
|
|
|
- if (Objects.isNull(flowApproveResult)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到流程审批记录");
|
|
|
+ Optional.ofNullable(flowApproveResult).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程审批记录"));
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
+ //获取命题已审
|
|
|
+ approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
+
|
|
|
+ if (tfFlowApprove.getModel() == FlowModelEnum.SYSTEM) {
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ if (Objects.nonNull(sysUser.getOrgId())) {
|
|
|
+ //获取院长审批人
|
|
|
+ List<ApproveUserResult> sysUserPresidentList = sysUserService.findByPresidentApprove(Arrays.asList(sysUser.getOrgId()), null);
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, sysUserPresidentList));
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
+ }
|
|
|
}
|
|
|
- //获取命题已审
|
|
|
- approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
|
|
|
- if (tfFlowApprove.getModel() == FlowModelEnum.SYSTEM) {
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
- if (Objects.nonNull(sysUser.getOrgId())) {
|
|
|
- //获取院长审批人
|
|
|
- List<ApproveUserResult> sysUserPresidentList = sysUserService.findByPresidentApprove(Arrays.asList(sysUser.getOrgId()), null);
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), false, sysUserPresidentList));
|
|
|
- }
|
|
|
- } else {
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
}
|
|
|
break;
|
|
|
case 3:
|
|
|
- if (Objects.isNull(flowApproveResult)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到流程审批记录");
|
|
|
- }
|
|
|
+ Optional.ofNullable(flowApproveResult).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程审批记录"));
|
|
|
//获取命题已审
|
|
|
approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
//获取主任已审
|
|
|
List<ApproveUserResult> sysUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, sysUserDirectorList));
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, sysUserDirectorList));
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
} else {//获取整个节点审批人
|
|
|
- if (Objects.isNull(courseCode) || Objects.equals(courseCode, "")) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("课程编码为空");
|
|
|
+ BasicSchool basicSchool = (BasicSchool) ServletUtil.getRequestSchool();
|
|
|
+ if (Objects.equals(basicSchool.getCode(), FlowSchoolCodeEnum.GDYKDX.getCode())) {
|
|
|
+ if (Objects.isNull(courseCode) || Objects.equals(courseCode, "")) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("课程编码为空");
|
|
|
+ }
|
|
|
+ flowTaskApprovePeopleResultList = getApproveUserAll(courseCode, flowTaskApprovePeopleResultList, SystemConstant.GDYKDX_FLOW_KEY);
|
|
|
+ flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
+ } else if (Objects.equals(basicSchool.getCode(), FlowSchoolCodeEnum.JXZYYDX.getCode())) {//江西中医药大学
|
|
|
+ flowTaskApprovePeopleResultList = getApproveUserAll(courseCode, flowTaskApprovePeopleResultList, SystemConstant.JXZYY_FLOW_KEY);
|
|
|
+ flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
}
|
|
|
- flowTaskApprovePeopleResultList = getApproveUserAll(courseCode, flowTaskApprovePeopleResultList);
|
|
|
- flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
}
|
|
|
flowTaskApprovePeopleAllResult.setApproveUserList(flowTaskApprovePeopleResultList);
|
|
|
return flowTaskApprovePeopleAllResult;
|
|
@@ -597,14 +616,10 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
@Transactional
|
|
|
public boolean taskApproverExchange(String userId, String taskId) {
|
|
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
|
- if (Objects.isNull(task)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务为空"));
|
|
|
Long flowId = Long.parseLong(task.getProcessInstanceId());
|
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowId);
|
|
|
- if (Objects.isNull(tfFlowApprove)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到流程状态记录");
|
|
|
- }
|
|
|
+ Optional.ofNullable(tfFlowApprove).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程状态记录"));
|
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
|
}
|
|
@@ -647,8 +662,6 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
// }
|
|
|
ExamTask examTask = examTaskService.findByFlowId(flowId);
|
|
|
|
|
|
- String processDefinitionId = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId();
|
|
|
- ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
|
|
|
//获取当前流程节点
|
|
|
String currActivityId = task.getTaskDefinitionKey();
|
|
|
BpmnModel bpmnModel = repositoryService.getBpmnModel(task.getProcessDefinitionId());
|
|
@@ -659,11 +672,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, examTask.getId(), sysUser.getId(), sysUser.getRealName() + "转" + exchangeUser.getRealName() + "审批", FlowApproveOperationEnum.EXCHANGE);
|
|
|
if (currFlow instanceof UserTask) {
|
|
|
UserTask userTask = (UserTask) currFlow;
|
|
|
- //广东医科大学流程
|
|
|
- if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
- FlowGdykdxApproveSetupEnum setupEnum = FlowGdykdxApproveSetupEnum.convertToInstance(userTask.getId());
|
|
|
- tfFlowLog.setApproveSetup(setupEnum.getSetup());
|
|
|
- }
|
|
|
+ FlowApproveSetupEnum setupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
|
|
|
+ tfFlowLog.setApproveSetup(setupEnum.getSetup());
|
|
|
}
|
|
|
tfFlowLogService.save(tfFlowLog);
|
|
|
return true;
|
|
@@ -680,37 +690,52 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
public FlowTaskApprovePeopleAllResult taskApproverExchangePeople(String taskId, String realName) {
|
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
|
- if (Objects.isNull(task)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务为空"));
|
|
|
FlowTaskApprovePeopleAllResult flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(Long.parseLong(task.getProcessInstanceId()));
|
|
|
//获取当前流程节点
|
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
- if (Objects.isNull(tfFlowApprove)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到流程状态记录");
|
|
|
- }
|
|
|
+ Optional.ofNullable(tfFlowApprove).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程状态记录"));
|
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
|
}
|
|
|
+ String processDefinitionId = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId();
|
|
|
+ ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
|
|
|
+
|
|
|
ExamTask examTask = null;
|
|
|
List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList = new ArrayList<>();
|
|
|
switch (tfFlowApprove.getSetup()) {
|
|
|
case 1:
|
|
|
- //获取命题审批人
|
|
|
- examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
- List<ApproveUserResult> approveUserResultList = sysUserService.findByAssignApprove(examTask.getCourseCode(), realName);
|
|
|
+ List<ApproveUserResult> approveUserResultList = null;
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
+ //获取命题审批人
|
|
|
+ examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
+ approveUserResultList = sysUserService.findByAssignApprove(examTask.getCourseCode(), realName);
|
|
|
+ }
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+ approveUserResultList = sysUserService.findByJxzyyAssignApprove(realName);
|
|
|
+ }
|
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(approveUserResultList));
|
|
|
break;
|
|
|
case 2:
|
|
|
examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
List<ApproveUserResult> sysUserDirectorList = null;
|
|
|
- if (tfFlowApprove.getModel() == FlowModelEnum.SYSTEM) {
|
|
|
- //获取教研室主任审批人
|
|
|
- sysUserDirectorList = sysUserService.findByDirectorApprove(examTask.getCourseCode(), realName);
|
|
|
- } else {
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
+ if (tfFlowApprove.getModel() == FlowModelEnum.SYSTEM) {
|
|
|
+ //获取教研室主任审批人
|
|
|
+ sysUserDirectorList = sysUserService.findByDirectorApprove(examTask.getCourseCode(), realName);
|
|
|
+ } else {
|
|
|
+ //获取教研室主任审批人
|
|
|
+ List<SysOrg> sysOrgList = sysOrgService.findByConnectByParentId(examTask.getTeachingRoomId(), true, true);
|
|
|
+ sysUserDirectorList = sysUserService.findByRootApprove(null, sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()), null, FlowApproveNameEnum.DIRECTOR);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
//获取教研室主任审批人
|
|
|
- List<SysOrg> sysOrgList = sysOrgService.findByConnectByParentId(examTask.getTeachingRoomId(), true, true);
|
|
|
- sysUserDirectorList = sysUserService.findByRootApprove(null, sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()), null, FlowApproveNameEnum.DIRECTOR);
|
|
|
+ sysUserDirectorList = sysUserService.findByJxzyyDirectorApprove(realName);
|
|
|
}
|
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(sysUserDirectorList));
|
|
|
break;
|
|
@@ -749,44 +774,59 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList = null;
|
|
|
if (Objects.nonNull(taskId) && !Objects.equals(taskId, "")) {//说明从已审核的节点开始捞人
|
|
|
Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
|
- if (Objects.isNull(task)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务为空"));
|
|
|
+
|
|
|
flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(Long.parseLong(task.getProcessInstanceId()));
|
|
|
//获取当前流程节点
|
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
- if (Objects.isNull(tfFlowApprove)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("未找到流程状态记录");
|
|
|
- }
|
|
|
+ Optional.ofNullable(tfFlowApprove).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程状态记录"));
|
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
|
}
|
|
|
List<ApproveUserResult> approveUserResultList = null;
|
|
|
flowTaskApprovePeopleResultList = new LinkedList<>();
|
|
|
|
|
|
+ String processDefinitionId = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId();
|
|
|
+ ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
|
|
|
+
|
|
|
ExamTask examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
List<SysOrg> sysOrgList = sysOrgService.findByConnectByParentId(examTask.getTeachingRoomId(), true, true);
|
|
|
switch (tfFlowApprove.getSetup()) {
|
|
|
case 1:
|
|
|
- //获取教研室主任审批人
|
|
|
- approveUserResultList = sysUserService.findByRootApprove(null, sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()), null, FlowApproveNameEnum.DIRECTOR);
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
+ //获取教研室主任审批人
|
|
|
+ approveUserResultList = sysUserService.findByRootApprove(null, sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()), null, FlowApproveNameEnum.DIRECTOR);
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
+ }
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+ //获取教研室主任审批人
|
|
|
+ approveUserResultList = sysUserService.findByJxzyyDirectorApprove(null);
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
+ }
|
|
|
break;
|
|
|
case 2:
|
|
|
//获取院长审批人
|
|
|
approveUserResultList = sysUserService.findByRootApprove(null, sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()), null, FlowApproveNameEnum.PRESIDENT);
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
|
} else {//获取整个节点审批人
|
|
|
- if (Objects.isNull(courseCode) || Objects.equals(courseCode, "")) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("课程编码为空");
|
|
|
+ List<ApproveUserResult> approveUserResultList = null;
|
|
|
+ BasicSchool basicSchool = (BasicSchool) ServletUtil.getRequestSchool();
|
|
|
+ if (Objects.equals(basicSchool.getCode(), FlowSchoolCodeEnum.GDYKDX.getCode())) {
|
|
|
+ if (Objects.isNull(courseCode) || Objects.equals(courseCode, "")) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("课程编码为空");
|
|
|
+ }
|
|
|
+ approveUserResultList = sysUserService.findByRootApprove(courseCode, null, null, FlowApproveNameEnum.DIRECTOR);
|
|
|
+ } else if (Objects.equals(basicSchool.getCode(), FlowSchoolCodeEnum.JXZYYDX.getCode())) {//江西中医药大学
|
|
|
+ approveUserResultList = sysUserService.findByJxzyyDirectorApprove(null);
|
|
|
}
|
|
|
- List<ApproveUserResult> approveUserResultList = sysUserService.findByRootApprove(courseCode, null, null, FlowApproveNameEnum.DIRECTOR);
|
|
|
flowTaskApprovePeopleResultList = new LinkedList<>();
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
}
|
|
|
flowTaskApprovePeopleAllResult.setApproveUserList(flowTaskApprovePeopleResultList);
|
|
@@ -802,9 +842,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
private void flowSubmitVaild(Task task, Long userId) {
|
|
|
if (Objects.isNull(task.getAssignee())) {
|
|
|
Task taskUser = taskService.createTaskQuery().taskId(task.getId()).taskAssignee(String.valueOf(userId)).singleResult();
|
|
|
- if (Objects.isNull(taskUser)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!");
|
|
|
- }
|
|
|
+ Optional.ofNullable(taskUser).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!"));
|
|
|
} else {
|
|
|
if (!Objects.equals(task.getAssignee(), String.valueOf(userId))) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!");
|
|
@@ -822,17 +860,13 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
private void flowApproveVaild(Task task, Long userId, Map<String, Object> map) {
|
|
|
if (Objects.isNull(task.getAssignee())) {
|
|
|
Task taskUser = taskService.createTaskQuery().taskId(task.getId()).taskCandidateUser(String.valueOf(userId)).singleResult();
|
|
|
- if (Objects.isNull(taskUser)) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!");
|
|
|
- }
|
|
|
+ Optional.ofNullable(taskUser).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!"));
|
|
|
} else {
|
|
|
if (!Objects.equals(task.getAssignee(), String.valueOf(userId))) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!");
|
|
|
}
|
|
|
}
|
|
|
- if (Objects.isNull(map.get(SystemConstant.APPROVE_OPERATION))) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程审核操作不能为空");
|
|
|
- }
|
|
|
+ Optional.ofNullable(map.get(SystemConstant.APPROVE_OPERATION)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程审核操作不能为空"));
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -840,16 +874,122 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
*
|
|
|
* @param courseCode
|
|
|
* @param flowTaskApprovePeopleResultList
|
|
|
+ * @param processDefinitionEntity
|
|
|
*/
|
|
|
- private List<FlowTaskApprovePeopleResult> getApproveUserAll(String courseCode, List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList) {
|
|
|
+ private List<FlowTaskApprovePeopleResult> getApproveUserAll(String courseCode, List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList, String processDefinitionEntity) {
|
|
|
flowTaskApprovePeopleResultList = Objects.isNull(flowTaskApprovePeopleResultList) ? new LinkedList() : flowTaskApprovePeopleResultList;
|
|
|
- //获取教研室主任审批人
|
|
|
- List<ApproveUserResult> sysUserDirectorList = sysUserService.findByDirectorApprove(courseCode, null);
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, sysUserDirectorList));
|
|
|
- Set<Long> orgIds = sysUserDirectorList.stream().map(s -> s.getOrgId()).collect(Collectors.toSet());
|
|
|
- //获取院长审批人
|
|
|
- List<ApproveUserResult> sysUserPresidentList = sysUserService.findByPresidentApprove(new ArrayList<>(orgIds), null);
|
|
|
- flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), false, sysUserPresidentList));
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
+ //获取教研室主任审批人
|
|
|
+ List<ApproveUserResult> sysUserDirectorList = sysUserService.findByDirectorApprove(courseCode, null);
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, sysUserDirectorList));
|
|
|
+ Set<Long> orgIds = sysUserDirectorList.stream().map(s -> s.getOrgId()).collect(Collectors.toSet());
|
|
|
+ //获取院长审批人
|
|
|
+ List<ApproveUserResult> sysUserPresidentList = sysUserService.findByPresidentApprove(new ArrayList<>(orgIds), null);
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, sysUserPresidentList));
|
|
|
+ }
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+ //获取教研室主任审批人
|
|
|
+ List<ApproveUserResult> sysUserDirectorList = sysUserService.findByJxzyyDirectorApprove(null);
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, sysUserDirectorList));
|
|
|
+ }
|
|
|
return flowTaskApprovePeopleResultList;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 命题提交
|
|
|
+ *
|
|
|
+ * @param task
|
|
|
+ * @param sysUser
|
|
|
+ * @param tfFlowApprove
|
|
|
+ * @param tfFlowLog
|
|
|
+ * @param map
|
|
|
+ */
|
|
|
+ private void assignSubmit(Task task,
|
|
|
+ SysUser sysUser,
|
|
|
+ TFFlowApprove tfFlowApprove,
|
|
|
+ TFFlowLog tfFlowLog,
|
|
|
+ Map<String, Object> map) {
|
|
|
+ flowSubmitVaild(task, sysUser.getId());
|
|
|
+ tfFlowLog.setApproveSetup(FlowApproveSetupEnum.SUBMIT.getSetup());
|
|
|
+ tfFlowLog.setApproveOperation(FlowApproveOperationEnum.SUBMIT);
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE_DIRECTOR_USER_IDS, v -> map.get(SystemConstant.APPROVE_USER_IDS));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 主任提交
|
|
|
+ *
|
|
|
+ * @param task
|
|
|
+ * @param sysUser
|
|
|
+ * @param tfFlowApprove
|
|
|
+ * @param tfFlowApproveLog
|
|
|
+ * @param tfFlowLog
|
|
|
+ * @param remark
|
|
|
+ * @param processDefinitionEntity
|
|
|
+ * @param map
|
|
|
+ */
|
|
|
+ private void directorSubmit(Task task,
|
|
|
+ SysUser sysUser,
|
|
|
+ TFFlowApprove tfFlowApprove,
|
|
|
+ TFFlowApproveLog tfFlowApproveLog,
|
|
|
+ TFFlowLog tfFlowLog,
|
|
|
+ String remark,
|
|
|
+ ProcessDefinitionEntity processDefinitionEntity,
|
|
|
+ Map<String, Object> map) {
|
|
|
+ flowApproveVaild(task, sysUser.getId(), map);
|
|
|
+ FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
|
+ FlowApproveVariableEnum approve = approvePass == FlowApprovePassEnum.PASS ? FlowApproveVariableEnum.PRIMARY_APPROVE : FlowApproveVariableEnum.PRIMARY_REJECT;
|
|
|
+ tfFlowLog.setApproveSetup(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
+ tfFlowApproveLog.setPrimaryApproveId(sysUser.getId());
|
|
|
+ tfFlowApproveLog.setPrimaryApproveRemark(remark);
|
|
|
+ if (approve == FlowApproveVariableEnum.PRIMARY_REJECT) {//驳回命题
|
|
|
+ tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
+ tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.SUBMIT.getSetup());
|
|
|
+ } else if (approve == FlowApproveVariableEnum.PRIMARY_APPROVE) {//提交
|
|
|
+ tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
+ tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
+ //广东医科大学流程
|
|
|
+ if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)) {
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.SECOND_APPROVE.getSetup());
|
|
|
+ }
|
|
|
+ //江西中医药大学
|
|
|
+ else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.FINISH);
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.FINISH.getSetup());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
|
+ }
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE, v -> approve.getId());
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE_PRESIDENT_USER_IDS, v -> map.get(SystemConstant.APPROVE_USER_IDS));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 命题终止
|
|
|
+ *
|
|
|
+ * @param tfFlowApproveLog
|
|
|
+ * @param sysUser
|
|
|
+ */
|
|
|
+ private void assignFlowEnd(TFFlowApproveLog tfFlowApproveLog, SysUser sysUser) {
|
|
|
+ tfFlowApproveLog.setStartId(sysUser.getId());
|
|
|
+ tfFlowApproveLog.setRemark(FlowApproveSetupEnum.SUBMIT.getTitle() + FlowApproveOperationEnum.END.getTitle());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 主任终止
|
|
|
+ *
|
|
|
+ * @param tfFlowApproveLog
|
|
|
+ * @param sysUser
|
|
|
+ */
|
|
|
+ private void directorFlowEnd(TFFlowApproveLog tfFlowApproveLog, SysUser sysUser) {
|
|
|
+ tfFlowApproveLog.setPrimaryApproveId(sysUser.getId());
|
|
|
+ tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.END);
|
|
|
+ tfFlowApproveLog.setPrimaryApproveRemark(FlowApproveOperationEnum.END.getTitle());
|
|
|
+ }
|
|
|
}
|