|
@@ -1,6 +1,5 @@
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
@@ -194,7 +193,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
|
|
|
//流程流水日志
|
|
//流程流水日志
|
|
ExamTask examTask = examTaskService.findByFlowId(flowId);
|
|
ExamTask examTask = examTaskService.findByFlowId(flowId);
|
|
- TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, examTask.getId(), sysUser.getId(), sysUser.getId(), FlowApproveSetupEnum.END.getTitle());
|
|
|
|
|
|
+ TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), examTask.getFlowId(), examTask.getId(), sysUser.getId(), sysUser.getId(), FlowApproveSetupEnum.END.getTitle());
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.END);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.END);
|
|
tfFlowLog.setApproveSetup(FlowApproveSetupEnum.END.getSetup());
|
|
tfFlowLog.setApproveSetup(FlowApproveSetupEnum.END.getSetup());
|
|
tfFlowLogService.save(tfFlowLog);
|
|
tfFlowLogService.save(tfFlowLog);
|
|
@@ -318,7 +317,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
UserTask userTask = (UserTask) currFlow;
|
|
UserTask userTask = (UserTask) currFlow;
|
|
String remark = Objects.nonNull(map.get(SystemConstant.APPROVE_REMARK)) ? map.get(SystemConstant.APPROVE_REMARK).toString() : null;
|
|
String remark = Objects.nonNull(map.get(SystemConstant.APPROVE_REMARK)) ? map.get(SystemConstant.APPROVE_REMARK).toString() : null;
|
|
//流程流水日志
|
|
//流程流水日志
|
|
- tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), processInstanceId, examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
|
|
|
|
|
|
+ tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), examTask.getFlowId(), examTask.getId(), sysUser.getId(), sysUser.getId(), remark);
|
|
FlowApproveSetupEnum setupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
|
|
FlowApproveSetupEnum setupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
|
|
if (Objects.isNull(tfFlowApproveLog)) {
|
|
if (Objects.isNull(tfFlowApproveLog)) {
|
|
tfFlowApproveLog = new TFFlowApproveLog(sysUser.getSchoolId(), sysUser.getOrgId(), processInstanceId, examTask.getId(), sysUser.getId(), sysUser.getId());
|
|
tfFlowApproveLog = new TFFlowApproveLog(sysUser.getSchoolId(), sysUser.getOrgId(), processInstanceId, examTask.getId(), sysUser.getId(), sysUser.getId());
|
|
@@ -329,98 +328,20 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
if (setupEnum == FlowApproveSetupEnum.SUBMIT) {//命题提交
|
|
if (setupEnum == FlowApproveSetupEnum.SUBMIT) {//命题提交
|
|
this.assignSubmit(task, sysUser, tfFlowApprove, tfFlowLog, map);
|
|
this.assignSubmit(task, sysUser, tfFlowApprove, tfFlowLog, map);
|
|
} else if (setupEnum == FlowApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
} else if (setupEnum == FlowApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
- this.directorSubmit(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, processDefinitionEntity, map);
|
|
|
|
|
|
+ this.directorApprove(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, processDefinitionEntity, map);
|
|
} else if (setupEnum == FlowApproveSetupEnum.SECOND_APPROVE) {//院长提交
|
|
} else if (setupEnum == FlowApproveSetupEnum.SECOND_APPROVE) {//院长提交
|
|
- flowApproveVaild(task, sysUser.getId(), map);
|
|
|
|
- FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
|
|
- FlowApproveVariableEnum approve = null;
|
|
|
|
- tfFlowApproveLog.setSecondApproveId(sysUser.getId());
|
|
|
|
- tfFlowApproveLog.setSecondApproveRemark(remark);
|
|
|
|
- if (approvePass == FlowApprovePassEnum.PASS) {
|
|
|
|
- approve = FlowApproveVariableEnum.SECOND_APPROVE;
|
|
|
|
- } else {
|
|
|
|
- Optional.ofNullable(map.get(SystemConstant.APPROVE_SETUP)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程驳回节点不能为空"));
|
|
|
|
- Integer setup = Integer.parseInt(map.get(SystemConstant.APPROVE_SETUP).toString());
|
|
|
|
- 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(FlowApproveSetupEnum.SECOND_APPROVE.getSetup());
|
|
|
|
- if (approve == FlowApproveVariableEnum.SECOND_REJECT_ONE) {//驳回命题
|
|
|
|
- tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
|
- tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
|
- 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(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
|
- } else if (approve == FlowApproveVariableEnum.SECOND_APPROVE) {//提交
|
|
|
|
- tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
- tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
- List<FlowTaskResult> taskTaskAll = getTaskAll(processInstanceId);
|
|
|
|
- if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
|
- tfFlowApprove.setSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
|
|
|
|
- objectMap.computeIfAbsent(SystemConstant.APPROVE_PRESIDENT_SYSTEM, v -> true);
|
|
|
|
- } else {
|
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.FINISH);
|
|
|
|
- tfFlowApprove.setSetup(FlowApproveSetupEnum.FINISH.getSetup());
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
|
|
- }
|
|
|
|
- FlowApproveVariableEnum finalApprove = approve;
|
|
|
|
- map.computeIfAbsent(SystemConstant.APPROVE, v -> finalApprove.getId());
|
|
|
|
- TFFlowApproveLog finalTfFlowApproveLog = tfFlowApproveLog;
|
|
|
|
- map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> finalTfFlowApproveLog.getStartId());
|
|
|
|
|
|
+ this.presidentApprove(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, map, objectMap, processInstanceId);
|
|
} else if (setupEnum == FlowApproveSetupEnum.THREE_APPROVE) {//命题提交
|
|
} else if (setupEnum == FlowApproveSetupEnum.THREE_APPROVE) {//命题提交
|
|
- boolean presidentApprove = Objects.nonNull(map.get(SystemConstant.APPROVE_PRESIDENT_SYSTEM)) ? (boolean) map.get(SystemConstant.APPROVE_PRESIDENT_SYSTEM) : false;
|
|
|
|
- Long userId = null;
|
|
|
|
- if (presidentApprove) {
|
|
|
|
- userId = tfFlowApproveLog.getStartId();
|
|
|
|
- } else {
|
|
|
|
- userId = sysUser.getId();
|
|
|
|
- }
|
|
|
|
- flowSubmitVaild(task, userId);
|
|
|
|
- tfFlowLog.setApproveSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
|
|
|
|
- tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
|
- tfFlowApprove.setSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
|
|
|
|
- tfFlowApproveLog.setStartApproveId(userId);
|
|
|
|
- tfFlowApproveLog.setThreeApproveRemark(remark);
|
|
|
|
- map.computeIfAbsent(SystemConstant.APPROVE_PRINT_USER_IDS, v -> map.get(SystemConstant.APPROVE_USER_IDS));
|
|
|
|
|
|
+ this.teacherApprove(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, map);
|
|
} else if (setupEnum == FlowApproveSetupEnum.FOUR_APPROVE) {//印刷员提交
|
|
} else if (setupEnum == FlowApproveSetupEnum.FOUR_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(FlowApproveSetupEnum.FOUR_APPROVE.getSetup());
|
|
|
|
- tfFlowApproveLog.setFourApproveId(sysUser.getId());
|
|
|
|
- tfFlowApproveLog.setFourApproveRemark(remark);
|
|
|
|
- if (approve == FlowApproveVariableEnum.FOUR_REJECT) {//驳回命题
|
|
|
|
- tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
|
- tfFlowApproveLog.setFourApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
|
- tfFlowApprove.setSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
|
|
|
|
- } else if (approve == FlowApproveVariableEnum.FOUR_APPROVE) {//提交
|
|
|
|
- tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
- tfFlowApproveLog.setFourApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
- tfFlowApprove.setStatus(FlowStatusEnum.FINISH);
|
|
|
|
- tfFlowApprove.setSetup(FlowApproveSetupEnum.FINISH.getSetup());
|
|
|
|
- } else {
|
|
|
|
- throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
|
|
- }
|
|
|
|
- map.computeIfAbsent(SystemConstant.APPROVE, v -> approve.getId());
|
|
|
|
|
|
+ this.printApprove(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, map);
|
|
}
|
|
}
|
|
- }
|
|
|
|
- //江西中医药大学
|
|
|
|
|
|
+ }//江西中医药大学
|
|
else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
if (setupEnum == FlowApproveSetupEnum.SUBMIT) {//命题提交
|
|
if (setupEnum == FlowApproveSetupEnum.SUBMIT) {//命题提交
|
|
this.assignSubmit(task, sysUser, tfFlowApprove, tfFlowLog, map);
|
|
this.assignSubmit(task, sysUser, tfFlowApprove, tfFlowLog, map);
|
|
} else if (setupEnum == FlowApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
} else if (setupEnum == FlowApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
- this.directorSubmit(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, processDefinitionEntity, map);
|
|
|
|
|
|
+ this.directorApprove(task, sysUser, tfFlowApprove, tfFlowApproveLog, tfFlowLog, remark, processDefinitionEntity, map);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
@@ -737,7 +658,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
|
|
|
SysUser exchangeUser = sysUserService.getById(userId);
|
|
SysUser exchangeUser = sysUserService.getById(userId);
|
|
//流程流水日志
|
|
//流程流水日志
|
|
- TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, examTask.getId(), sysUser.getId(), sysUser.getRealName() + "转" + exchangeUser.getRealName() + "审批", FlowApproveOperationEnum.EXCHANGE);
|
|
|
|
|
|
+ TFFlowLog tfFlowLog = new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), examTask.getFlowId(), examTask.getId(), sysUser.getId(), sysUser.getRealName() + "转" + exchangeUser.getRealName() + "审批", FlowApproveOperationEnum.EXCHANGE);
|
|
if (currFlow instanceof UserTask) {
|
|
if (currFlow instanceof UserTask) {
|
|
UserTask userTask = (UserTask) currFlow;
|
|
UserTask userTask = (UserTask) currFlow;
|
|
FlowApproveSetupEnum setupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
|
|
FlowApproveSetupEnum setupEnum = FlowApproveSetupEnum.convertToInstance(userTask.getId());
|
|
@@ -999,7 +920,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 主任提交
|
|
|
|
|
|
+ * 主任审核
|
|
*
|
|
*
|
|
* @param task
|
|
* @param task
|
|
* @param sysUser
|
|
* @param sysUser
|
|
@@ -1010,14 +931,14 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
* @param processDefinitionEntity
|
|
* @param processDefinitionEntity
|
|
* @param map
|
|
* @param map
|
|
*/
|
|
*/
|
|
- private void directorSubmit(Task task,
|
|
|
|
- SysUser sysUser,
|
|
|
|
- TFFlowApprove tfFlowApprove,
|
|
|
|
- TFFlowApproveLog tfFlowApproveLog,
|
|
|
|
- TFFlowLog tfFlowLog,
|
|
|
|
- String remark,
|
|
|
|
- ProcessDefinitionEntity processDefinitionEntity,
|
|
|
|
- Map<String, Object> map) {
|
|
|
|
|
|
+ private void directorApprove(Task task,
|
|
|
|
+ SysUser sysUser,
|
|
|
|
+ TFFlowApprove tfFlowApprove,
|
|
|
|
+ TFFlowApproveLog tfFlowApproveLog,
|
|
|
|
+ TFFlowLog tfFlowLog,
|
|
|
|
+ String remark,
|
|
|
|
+ ProcessDefinitionEntity processDefinitionEntity,
|
|
|
|
+ Map<String, Object> map) {
|
|
flowApproveVaild(task, sysUser.getId(), map);
|
|
flowApproveVaild(task, sysUser.getId(), map);
|
|
FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
FlowApproveVariableEnum approve = approvePass == FlowApprovePassEnum.PASS ? FlowApproveVariableEnum.PRIMARY_APPROVE : FlowApproveVariableEnum.PRIMARY_REJECT;
|
|
FlowApproveVariableEnum approve = approvePass == FlowApprovePassEnum.PASS ? FlowApproveVariableEnum.PRIMARY_APPROVE : FlowApproveVariableEnum.PRIMARY_REJECT;
|
|
@@ -1073,4 +994,151 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.END);
|
|
tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.END);
|
|
tfFlowApproveLog.setPrimaryApproveRemark(FlowApproveOperationEnum.END.getTitle());
|
|
tfFlowApproveLog.setPrimaryApproveRemark(FlowApproveOperationEnum.END.getTitle());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 院长审核
|
|
|
|
+ *
|
|
|
|
+ * @param task
|
|
|
|
+ * @param sysUser
|
|
|
|
+ * @param tfFlowApprove
|
|
|
|
+ * @param tfFlowApproveLog
|
|
|
|
+ * @param tfFlowLog
|
|
|
|
+ * @param remark
|
|
|
|
+ * @param map
|
|
|
|
+ * @param objectMap
|
|
|
|
+ * @param processInstanceId
|
|
|
|
+ */
|
|
|
|
+ private void presidentApprove(Task task,
|
|
|
|
+ SysUser sysUser,
|
|
|
|
+ TFFlowApprove tfFlowApprove,
|
|
|
|
+ TFFlowApproveLog tfFlowApproveLog,
|
|
|
|
+ TFFlowLog tfFlowLog,
|
|
|
|
+ String remark,
|
|
|
|
+ Map<String, Object> map,
|
|
|
|
+ Map<String, Object> objectMap,
|
|
|
|
+ String processInstanceId) {
|
|
|
|
+ flowApproveVaild(task, sysUser.getId(), map);
|
|
|
|
+ FlowApprovePassEnum approvePass = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_OPERATION);
|
|
|
|
+ FlowApproveVariableEnum approve = null;
|
|
|
|
+ tfFlowApproveLog.setSecondApproveId(sysUser.getId());
|
|
|
|
+ tfFlowApproveLog.setSecondApproveRemark(remark);
|
|
|
|
+ if (approvePass == FlowApprovePassEnum.PASS) {
|
|
|
|
+ approve = FlowApproveVariableEnum.SECOND_APPROVE;
|
|
|
|
+ } else {
|
|
|
|
+ Optional.ofNullable(map.get(SystemConstant.APPROVE_SETUP)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程驳回节点不能为空"));
|
|
|
|
+ Integer setup = Integer.parseInt(map.get(SystemConstant.APPROVE_SETUP).toString());
|
|
|
|
+ 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(FlowApproveSetupEnum.SECOND_APPROVE.getSetup());
|
|
|
|
+ if (approve == FlowApproveVariableEnum.SECOND_REJECT_ONE) {//驳回命题
|
|
|
|
+ tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
|
+ tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
|
+ 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(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
|
+ } else if (approve == FlowApproveVariableEnum.SECOND_APPROVE) {//提交
|
|
|
|
+ tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
+ tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
+ List<FlowTaskResult> taskTaskAll = getTaskAll(processInstanceId);
|
|
|
|
+ if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
|
|
|
|
+ objectMap.computeIfAbsent(SystemConstant.APPROVE_PRESIDENT_SYSTEM, v -> true);
|
|
|
|
+ TFFlowLog finalTfFlowLog = tfFlowLog;
|
|
|
|
+ objectMap.computeIfAbsent(SystemConstant.APPROVE_TF_FLOW_LOG, v -> finalTfFlowLog);
|
|
|
|
+ } else {
|
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.FINISH);
|
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.FINISH.getSetup());
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
|
|
+ }
|
|
|
|
+ FlowApproveVariableEnum finalApprove = approve;
|
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE, v -> finalApprove.getId());
|
|
|
|
+ TFFlowApproveLog finalTfFlowApproveLog = tfFlowApproveLog;
|
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE_ID, v -> finalTfFlowApproveLog.getStartId());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 命题老师审核
|
|
|
|
+ *
|
|
|
|
+ * @param task
|
|
|
|
+ * @param sysUser
|
|
|
|
+ * @param tfFlowApprove
|
|
|
|
+ * @param tfFlowApproveLog
|
|
|
|
+ * @param tfFlowLog
|
|
|
|
+ * @param remark
|
|
|
|
+ * @param map
|
|
|
|
+ */
|
|
|
|
+ private void teacherApprove(Task task,
|
|
|
|
+ SysUser sysUser,
|
|
|
|
+ TFFlowApprove tfFlowApprove,
|
|
|
|
+ TFFlowApproveLog tfFlowApproveLog,
|
|
|
|
+ TFFlowLog tfFlowLog,
|
|
|
|
+ String remark,
|
|
|
|
+ Map<String, Object> map) {
|
|
|
|
+ boolean presidentApprove = Objects.nonNull(map.get(SystemConstant.APPROVE_PRESIDENT_SYSTEM)) ? (boolean) map.get(SystemConstant.APPROVE_PRESIDENT_SYSTEM) : false;
|
|
|
|
+ Long userId = null;
|
|
|
|
+ if (presidentApprove) {
|
|
|
|
+ userId = tfFlowApproveLog.getStartId();
|
|
|
|
+ } else {
|
|
|
|
+ userId = sysUser.getId();
|
|
|
|
+ }
|
|
|
|
+ flowSubmitVaild(task, userId);
|
|
|
|
+ tfFlowLog.setApproveSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
|
|
|
|
+ tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
+ tfFlowLog.setApproveId(userId);
|
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
|
|
|
|
+ tfFlowApproveLog.setStartApproveId(userId);
|
|
|
|
+ tfFlowApproveLog.setThreeApproveRemark(remark);
|
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE_PRINT_USER_IDS, v -> map.get(SystemConstant.APPROVE_USER_IDS));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 印刷员审核
|
|
|
|
+ *
|
|
|
|
+ * @param task
|
|
|
|
+ * @param sysUser
|
|
|
|
+ * @param tfFlowApprove
|
|
|
|
+ * @param tfFlowApproveLog
|
|
|
|
+ * @param tfFlowLog
|
|
|
|
+ * @param remark
|
|
|
|
+ * @param map
|
|
|
|
+ */
|
|
|
|
+ private void printApprove(Task task,
|
|
|
|
+ SysUser sysUser,
|
|
|
|
+ TFFlowApprove tfFlowApprove,
|
|
|
|
+ TFFlowApproveLog tfFlowApproveLog,
|
|
|
|
+ TFFlowLog tfFlowLog,
|
|
|
|
+ String remark,
|
|
|
|
+ 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.FOUR_APPROVE.getSetup());
|
|
|
|
+ tfFlowApproveLog.setFourApproveId(sysUser.getId());
|
|
|
|
+ tfFlowApproveLog.setFourApproveRemark(remark);
|
|
|
|
+ if (approve == FlowApproveVariableEnum.FOUR_REJECT) {//驳回命题
|
|
|
|
+ tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
|
+ tfFlowApproveLog.setFourApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.THREE_APPROVE.getSetup());
|
|
|
|
+ } else if (approve == FlowApproveVariableEnum.FOUR_APPROVE) {//提交
|
|
|
|
+ tfFlowLog.setApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
+ tfFlowApproveLog.setFourApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
|
+ tfFlowApprove.setStatus(FlowStatusEnum.FINISH);
|
|
|
|
+ tfFlowApprove.setSetup(FlowApproveSetupEnum.FINISH.getSetup());
|
|
|
|
+ } else {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
|
|
+ }
|
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE, v -> approve.getId());
|
|
|
|
+ }
|
|
}
|
|
}
|