|
@@ -1,6 +1,5 @@
|
|
|
package com.qmth.distributed.print.business.service.impl;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.google.gson.Gson;
|
|
|
import com.google.gson.reflect.TypeToken;
|
|
|
import com.qmth.boot.api.exception.ApiException;
|
|
@@ -25,7 +24,6 @@ import com.qmth.teachcloud.common.util.ServletUtil;
|
|
|
import org.activiti.bpmn.BpmnAutoLayout;
|
|
|
import org.activiti.bpmn.model.Process;
|
|
|
import org.activiti.bpmn.model.*;
|
|
|
-import org.activiti.engine.HistoryService;
|
|
|
import org.activiti.engine.RepositoryService;
|
|
|
import org.activiti.engine.RuntimeService;
|
|
|
import org.activiti.engine.TaskService;
|
|
@@ -33,7 +31,6 @@ import org.activiti.engine.impl.bpmn.behavior.MultiInstanceActivityBehavior;
|
|
|
import org.activiti.engine.impl.bpmn.behavior.ParallelMultiInstanceBehavior;
|
|
|
import org.activiti.engine.impl.bpmn.behavior.SequentialMultiInstanceBehavior;
|
|
|
import org.activiti.engine.repository.Deployment;
|
|
|
-import org.activiti.engine.repository.DeploymentBuilder;
|
|
|
import org.activiti.engine.runtime.ProcessInstance;
|
|
|
import org.activiti.engine.task.Task;
|
|
|
import org.apache.commons.io.FileUtils;
|
|
@@ -42,11 +39,9 @@ import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.LinkedMultiValueMap;
|
|
|
-import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.File;
|
|
|
-import java.io.FileInputStream;
|
|
|
import java.io.IOException;
|
|
|
import java.io.InputStream;
|
|
|
import java.util.*;
|
|
@@ -79,30 +74,15 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
@Resource
|
|
|
TFFlowLogService tfFlowLogService;
|
|
|
|
|
|
- @Resource
|
|
|
- HistoryService historyService;
|
|
|
-
|
|
|
@Resource
|
|
|
ExamTaskService examTaskService;
|
|
|
|
|
|
-// @Resource
|
|
|
-// TFFlowApproveLogService tfFlowApproveLogService;
|
|
|
-
|
|
|
@Resource
|
|
|
RedisUtil redisUtil;
|
|
|
|
|
|
-// @Resource
|
|
|
-// TFFlowService tfFlowService;
|
|
|
-
|
|
|
@Resource
|
|
|
SysUserService sysUserService;
|
|
|
|
|
|
- @Resource
|
|
|
- ExamDetailCourseService examDetailCourseService;
|
|
|
-
|
|
|
- @Resource
|
|
|
- ExamDetailService examDetailService;
|
|
|
-
|
|
|
@Resource
|
|
|
TFFlowJoinService tfFlowJoinService;
|
|
|
|
|
@@ -115,65 +95,6 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
@Resource
|
|
|
TFCustomFlowEntityService tfCustomFlowEntityService;
|
|
|
|
|
|
- /**
|
|
|
- * 注册流程
|
|
|
- *
|
|
|
- * @param processFileName
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void createDeployment(String processFileName) {
|
|
|
- DeploymentBuilder builder = repositoryService.createDeployment();
|
|
|
- builder.addClasspathResource(SystemConstant.PROCESSES + File.separator + processFileName);
|
|
|
- builder.deploy();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 上传流程文件
|
|
|
- *
|
|
|
- * @param file
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void uploadDeployment(MultipartFile file) throws IOException {
|
|
|
- DeploymentBuilder builder = repositoryService.createDeployment();
|
|
|
- builder.addInputStream(file.getOriginalFilename(), file.getInputStream());
|
|
|
- builder.deploy();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 上传流程文件
|
|
|
- *
|
|
|
- * @param file
|
|
|
- */
|
|
|
- @Override
|
|
|
- public void uploadDeployment(File file) throws IOException {
|
|
|
- DeploymentBuilder builder = repositoryService.createDeployment();
|
|
|
- builder.addInputStream(file.getName(), new FileInputStream(file));
|
|
|
- builder.deploy();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 根据流程key开启一个流程
|
|
|
- *
|
|
|
- * @param processKey
|
|
|
- * @param map
|
|
|
- */
|
|
|
- @Override
|
|
|
- @Transactional
|
|
|
- public ProcessInstance startActivity(String processKey, Map<String, Object> map) {
|
|
|
- ProcessInstance processInstance = null;
|
|
|
- if (Objects.nonNull(map) && map.size() > 0) {
|
|
|
- processInstance = runtimeService.startProcessInstanceByKey(processKey, map);
|
|
|
- } else {
|
|
|
- processInstance = runtimeService.startProcessInstanceByKey(processKey);
|
|
|
- }
|
|
|
- log.info("流程id:{},processInstanceId:{},processDefinitionId:{},processDefinitionKey:{}", processInstance.getId(), processInstance.getProcessInstanceId(), processInstance.getProcessDefinitionId(), processInstance.getProcessDefinitionKey());
|
|
|
- ProcessInstance finalProcessInstance = processInstance;
|
|
|
- map.computeIfAbsent(SystemConstant.FLOW_ID, v -> finalProcessInstance.getId());
|
|
|
- map.computeIfAbsent(SystemConstant.FLOW_STATUS, v -> FlowStatusEnum.START);
|
|
|
- this.flowApproveStart(map);
|
|
|
- return processInstance;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 启动流程
|
|
|
*
|
|
@@ -318,20 +239,6 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
tfFlowApproveService.save(new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), SystemConstant.convertIdToLong(flowId), sysUser.getId(), flowStatusEnum, sysUser.getId()));
|
|
|
|
|
|
Long objectId = (Long) map.get(SystemConstant.OBJECT_ID);
|
|
|
-// //TODO 测试用
|
|
|
-// if (flowType == TFCustomTypeEnum.ELECTRON_FLOW) {//如果是电子交卷审核,就查询命题任务
|
|
|
-// ExamTask examTask = examTaskService.getById(objectId);
|
|
|
-// examTask.setFlowId(SystemConstant.convertIdToLong(flowId));
|
|
|
-// examTaskService.updateById(examTask);
|
|
|
-// }
|
|
|
-//
|
|
|
-// String id = (String) map.get(SystemConstant.FLOW_ENTITY_ID);
|
|
|
-// TFFlowJoin tfFlowJoin = tfFlowJoinService.findByFlowLevel(objectId);
|
|
|
-// tfFlowJoin.setFlowEntityId(SystemConstant.convertIdToLong(id));
|
|
|
-// tfFlowJoin.setFlowId(SystemConstant.convertIdToLong(flowId));
|
|
|
-// tfFlowJoin.setObjectTable(flowType.getTable());
|
|
|
-// tfFlowJoinService.updateById(tfFlowJoin);
|
|
|
-
|
|
|
tfFlowLogService.save(new TFFlowLog(sysUser.getSchoolId(), sysUser.getOrgId(), SystemConstant.convertIdToLong(flowId), objectId, sysUser.getId(), sysUser.getId(), "提交流程", approveId, FlowApproveOperationEnum.SUBMIT, flowType.getTable()));
|
|
|
}
|
|
|
|
|
@@ -481,7 +388,6 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
examTask,
|
|
|
objectMap);
|
|
|
//当前实例的执行到哪个节点
|
|
|
-// int i = 1 / 0;
|
|
|
taskService.complete(String.valueOf(flowTaskId), map);
|
|
|
return objectMap;
|
|
|
} catch (Exception e) {
|
|
@@ -798,252 +704,6 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
return flowTaskResultList;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 流程删除
|
|
|
- *
|
|
|
- * @param id
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public Boolean flowDelete(Long id) {
|
|
|
-// TFFlow tfFlow = tfFlowService.getById(id);
|
|
|
-// List<ProcessInstance> processInstanceList = runtimeService.createProcessInstanceQuery().processDefinitionId(tfFlow.getActFlowId()).processDefinitionKey(tfFlow.getFlowKey()).list();
|
|
|
-// if (Objects.nonNull(processInstanceList) && processInstanceList.size() > 0) {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("有在途的流程,无法删除!");
|
|
|
-// } else {
|
|
|
-// UpdateWrapper<TFFlow> tfFlowUpdateWrapper = new UpdateWrapper<>();
|
|
|
-// tfFlowUpdateWrapper.lambda().eq(TFFlow::getId, id)
|
|
|
-// .set(TFFlow::getEnable, false);
|
|
|
-// tfFlowService.update(tfFlowUpdateWrapper);
|
|
|
-// }
|
|
|
- return true;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取所有流程节点待审批人
|
|
|
- *
|
|
|
- * @param courseCode
|
|
|
- * @param taskId
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public FlowTaskApprovePeopleAllResult taskApproverPeopleAll(String courseCode, String taskId) {
|
|
|
- FlowTaskApprovePeopleAllResult flowTaskApprovePeopleAllResult = null;
|
|
|
-// List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList = null;
|
|
|
-// if (Objects.nonNull(taskId) && !Objects.equals(taskId, "")) {//说明从已审核的节点开始捞人
|
|
|
-// Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
|
-// Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务为空或该流程已被他人审核,请刷新再试!"));
|
|
|
-// flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(SystemConstant.convertIdToLong(task.getProcessInstanceId()));
|
|
|
-// flowTaskApprovePeopleResultList = new LinkedList();
|
|
|
-// //获取当前流程节点
|
|
|
-// TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId(), Long.parseLong((String) ServletUtil.getRequestHeaderSchoolId()));
|
|
|
-// 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());
|
|
|
-//
|
|
|
-// FlowApproveResult flowApproveResult = tfFlowService.flowApproveUserList(SystemConstant.getHeadOrUserSchoolId(), flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
-// if (tfFlowApprove.getSetup() != FlowApproveSetupEnum.SUBMIT.getSetup()) {
|
|
|
-// Optional.ofNullable(flowApproveResult).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("未找到流程审批记录"));
|
|
|
-// }
|
|
|
-// List<FlowTaskResult> taskTaskAll = getTaskAll(task.getProcessInstanceId());
|
|
|
-// switch (tfFlowApprove.getSetup()) {
|
|
|
-// case -1:
|
|
|
-// if (Objects.nonNull(flowApproveResult.getStartId())) {
|
|
|
-// //获取命题已审
|
|
|
-// List<ApproveUserResult> 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));
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(flowApproveResult.getSecondApproveId())) {
|
|
|
-// //获取院长已审
|
|
|
-// List<ApproveUserResult> approveUserPresidentList = sysUserService.findById(flowApproveResult.getSecondApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), true, approveUserPresidentList));
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
-// if (Objects.nonNull(flowApproveResult.getThreeApproveId())) {
|
|
|
-// //获取命题已审
|
|
|
-// List<ApproveUserResult> approveUserTeacherResult = sysUserService.findById(flowApproveResult.getThreeApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), true, approveUserTeacherResult));
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(flowApproveResult.getFourApproveId())) {
|
|
|
-// //获取印刷员已审
|
|
|
-// List<ApproveUserResult> approveUserPrintResult = sysUserService.findById(flowApproveResult.getFourApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_APPROVE.getSetup(), true, approveUserPrintResult));
|
|
|
-// }
|
|
|
-// }
|
|
|
-// break;
|
|
|
-// case 0:
|
|
|
-// //广东医科大学流程
|
|
|
-// if (Objects.nonNull(processDefinitionEntity) && (processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)
|
|
|
-// || processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_SUB_FLOW_KEY))) {
|
|
|
-// //获取命题已审
|
|
|
-// List<ApproveUserResult> approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
-// //获取主任已审
|
|
|
-// List<ApproveUserResult> approveUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
-// 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));
|
|
|
-//
|
|
|
-// if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
-// if (Objects.nonNull(flowApproveResult.getThreeApproveId())) {
|
|
|
-// //获取命题已审
|
|
|
-// List<ApproveUserResult> approveUserTeacherResult = sysUserService.findById(flowApproveResult.getThreeApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), true, approveUserTeacherResult));
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(flowApproveResult.getFourApproveId())) {
|
|
|
-// //获取印刷员已审
|
|
|
-// List<ApproveUserResult> approveUserPrintResult = sysUserService.findById(flowApproveResult.getFourApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_APPROVE.getSetup(), true, approveUserPrintResult));
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }//江西中医药大学
|
|
|
-// else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
-// //获取命题已审
|
|
|
-// List<ApproveUserResult> approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
-// //获取主任已审
|
|
|
-// List<ApproveUserResult> approveUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, approveUserDirectorList));
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
-// break;
|
|
|
-// case 1:
|
|
|
-// if (tfFlowApprove.getModel() == FlowModelEnum.SYSTEM) {
|
|
|
-// flowTaskApprovePeopleResultList = getApproveUserAll(examTask.getCourseCode(), flowTaskApprovePeopleResultList, Objects.nonNull(processDefinitionEntity) ? processDefinitionEntity.getKey() : null, task.getProcessInstanceId(), taskTaskAll);
|
|
|
-// } else {
|
|
|
-// //广东医科大学流程
|
|
|
-// if (Objects.nonNull(processDefinitionEntity) && (processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)
|
|
|
-// || processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_SUB_FLOW_KEY))) {
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
-// if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_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<>()));
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// break;
|
|
|
-// case 2:
|
|
|
-// //广东医科大学流程
|
|
|
-// if (Objects.nonNull(processDefinitionEntity) && (processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)
|
|
|
-// || processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_SUB_FLOW_KEY))) {
|
|
|
-// //获取命题已审
|
|
|
-// List<ApproveUserResult> 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(new ArrayList(Arrays.asList(sysUser.getOrgId())), null);
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, sysUserPresidentList));
|
|
|
-// }
|
|
|
-// if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
-// //获取命题审批人
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), false, approveUserMtResult));
|
|
|
-// //获取印刷员审批人
|
|
|
-// List<ApproveUserResult> sysUserPrintList = this.findByPrintApprove(SystemConstant.convertIdToLong(task.getProcessInstanceId()));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_APPROVE.getSetup(), false, sysUserPrintList));
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
-// if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }//江西中医药大学
|
|
|
-// else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.getKey().contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
-// //获取命题已审
|
|
|
-// List<ApproveUserResult> approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
-// break;
|
|
|
-// case 3:
|
|
|
-// //获取命题已审
|
|
|
-// List<ApproveUserResult> approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
-// //获取主任已审
|
|
|
-// List<ApproveUserResult> sysUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, sysUserDirectorList));
|
|
|
-// if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
-// //获取命题审批人
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), false, approveUserMtResult));
|
|
|
-// //获取印刷员审批人
|
|
|
-// List<ApproveUserResult> sysUserPrintList = this.findByPrintApprove(SystemConstant.convertIdToLong(task.getProcessInstanceId()));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_APPROVE.getSetup(), false, sysUserPrintList));
|
|
|
-// }
|
|
|
-// break;
|
|
|
-// case 4:
|
|
|
-// //获取命题已审
|
|
|
-// approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
-// //获取主任已审
|
|
|
-// sysUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, sysUserDirectorList));
|
|
|
-// //获取院长已审
|
|
|
-// List<ApproveUserResult> sysUserPresidentList = sysUserService.findById(flowApproveResult.getSecondApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), true, sysUserPresidentList));
|
|
|
-// //获取印刷员审批人
|
|
|
-// List<ApproveUserResult> sysUserPrintList = this.findByPrintApprove(SystemConstant.convertIdToLong(task.getProcessInstanceId()));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_APPROVE.getSetup(), false, sysUserPrintList));
|
|
|
-// break;
|
|
|
-// case 5:
|
|
|
-// //获取命题已审
|
|
|
-// approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
-// //获取主任已审
|
|
|
-// sysUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), true, sysUserDirectorList));
|
|
|
-// //获取院长已审
|
|
|
-// sysUserPresidentList = sysUserService.findById(flowApproveResult.getSecondApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), true, sysUserPresidentList));
|
|
|
-// //获取命题审核已审
|
|
|
-// List<ApproveUserResult> approveUserTeacherResult = sysUserService.findById(flowApproveResult.getThreeApproveId());
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), true, approveUserTeacherResult));
|
|
|
-// break;
|
|
|
-// default:
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// } else {//获取整个节点审批人
|
|
|
-// Map<String, List<String>> flowSchoolCodeMap = SystemConstant.getFlowSchoolCodeMap();
|
|
|
-// BasicSchool basicSchool = (BasicSchool) ServletUtil.getRequestSchool();
|
|
|
-// if (flowSchoolCodeMap.get(SystemConstant.GDYKDX_FLOW_KEY).contains(basicSchool.getCode())) {
|
|
|
-// if (Objects.isNull(courseCode) || Objects.equals(courseCode, "")) {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("课程编码为空");
|
|
|
-// }
|
|
|
-// flowTaskApprovePeopleResultList = getApproveUserAll(courseCode, flowTaskApprovePeopleResultList, SystemConstant.GDYKDX_FLOW_KEY, null, null);
|
|
|
-// flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
-// } else if (flowSchoolCodeMap.get(SystemConstant.JXZYY_FLOW_KEY).contains(basicSchool.getCode())) {//江西中医药大学
|
|
|
-// flowTaskApprovePeopleResultList = getApproveUserAll(courseCode, flowTaskApprovePeopleResultList, SystemConstant.JXZYY_FLOW_KEY, null, null);
|
|
|
-// flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
-// }
|
|
|
-// flowTaskApprovePeopleAllResult.setApproveUserList(flowTaskApprovePeopleResultList);
|
|
|
- return flowTaskApprovePeopleAllResult;
|
|
|
- }
|
|
|
-
|
|
|
/**
|
|
|
* 流程节点转他人审批
|
|
|
*
|
|
@@ -1144,7 +804,6 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
tfFlowLog.setApproveUserApproveType(customFlowVarDto.getMultipleUserApproveType());
|
|
|
tfFlowLogService.save(tfFlowLog);
|
|
|
|
|
|
-// int i = 1 / 0;
|
|
|
taskService.setAssignee(taskId, userId);
|
|
|
return true;
|
|
|
}
|
|
@@ -1162,638 +821,6 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
approveIds.add(exchangeUserId);
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 获取转他人审批人
|
|
|
- *
|
|
|
- * @param taskId
|
|
|
- * @param realName
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public FlowTaskApprovePeopleAllResult taskApproverExchangePeople(String taskId, String realName) {
|
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
- Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
|
- Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务为空或该流程已被他人审核,请刷新再试!"));
|
|
|
- FlowTaskApprovePeopleAllResult flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(SystemConstant.convertIdToLong(task.getProcessInstanceId()));
|
|
|
-// //获取当前流程节点
|
|
|
-// TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId(), sysUser.getSchoolId());
|
|
|
-// 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:
|
|
|
-// List<ApproveUserResult> approveUserResultList = null;
|
|
|
-// //广东医科大学流程
|
|
|
-// if (Objects.nonNull(processDefinitionEntity) && (processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)
|
|
|
-// || processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_SUB_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);
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(approveUserResultList));
|
|
|
-// break;
|
|
|
-// case 2:
|
|
|
-// examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
-// List<ApproveUserResult> sysUserDirectorList = null;
|
|
|
-// //广东医科大学流程
|
|
|
-// if (Objects.nonNull(processDefinitionEntity) && (processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)
|
|
|
-// || processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_SUB_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)) {
|
|
|
-// //获取教研室主任审批人
|
|
|
-// sysUserDirectorList = sysUserService.findByJxzyyDirectorApprove(realName, FlowApproveNameEnum.DIRECTOR);
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(sysUserDirectorList));
|
|
|
-// break;
|
|
|
-// case 3:
|
|
|
-// List<ApproveUserResult> sysUserPresidentList = null;
|
|
|
-// if (tfFlowApprove.getModel() == FlowModelEnum.SYSTEM) {
|
|
|
-// //获取院长审批人
|
|
|
-// if (Objects.nonNull(sysUser.getOrgId())) {
|
|
|
-// sysUserPresidentList = sysUserService.findByPresidentApprove(new ArrayList(Arrays.asList(sysUser.getOrgId())), realName);
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// //获取院长审批人
|
|
|
-// examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
-// List<SysOrg> sysOrgList = sysOrgService.findByConnectByParentId(examTask.getTeachingRoomId(), true, true);
|
|
|
-// sysUserPresidentList = sysUserService.findByRootApprove(null, sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()), null, FlowApproveNameEnum.PRESIDENT);
|
|
|
-// }
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(sysUserPresidentList));
|
|
|
-// break;
|
|
|
-// case 4:
|
|
|
-// //获取命题审批人
|
|
|
-// examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
-// approveUserResultList = sysUserService.findByAssignApprove(examTask.getCourseCode(), realName);
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(approveUserResultList));
|
|
|
-// break;
|
|
|
-// case 5:
|
|
|
-// //获取印刷员审批人
|
|
|
-// List<ApproveUserResult> approvePrintUserResultList = this.findByPrintApprove(SystemConstant.convertIdToLong(task.getProcessInstanceId()));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(approvePrintUserResultList));
|
|
|
-// break;
|
|
|
-// default:
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// flowTaskApprovePeopleAllResult.setApproveUserList(flowTaskApprovePeopleResultList);
|
|
|
- return flowTaskApprovePeopleAllResult;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取下级节点审批人
|
|
|
- *
|
|
|
- * @param courseCode
|
|
|
- * @param taskId
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public FlowTaskApprovePeopleAllResult taskApproverNextPeople(String courseCode, String taskId) {
|
|
|
- FlowTaskApprovePeopleAllResult flowTaskApprovePeopleAllResult = null;
|
|
|
-// List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList = null;
|
|
|
-// if (Objects.nonNull(taskId) && !Objects.equals(taskId, "")) {//说明从已审核的节点开始捞人
|
|
|
-// Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
|
-// Optional.ofNullable(task).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程任务为空或该流程已被他人审核,请刷新再试!"));
|
|
|
-//
|
|
|
-// flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(SystemConstant.convertIdToLong(task.getProcessInstanceId()));
|
|
|
-// //获取当前流程节点
|
|
|
-// TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId(), Long.parseLong((String) ServletUtil.getRequestHeaderSchoolId()));
|
|
|
-// 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:
|
|
|
-// //广东医科大学流程
|
|
|
-// if (Objects.nonNull(processDefinitionEntity) && (processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_FLOW_KEY)
|
|
|
-// || processDefinitionEntity.getKey().contains(SystemConstant.GDYKDX_SUB_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, FlowApproveNameEnum.DIRECTOR);
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
-// break;
|
|
|
-// case 2:
|
|
|
-// //获取院长审批人
|
|
|
-// approveUserResultList = sysUserService.findByRootApprove(null, sysOrgList.stream().map(s -> s.getId()).collect(Collectors.toList()), null, FlowApproveNameEnum.PRESIDENT);
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.SECOND_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
-// break;
|
|
|
-// case 3:
|
|
|
-// //获取命题审批人
|
|
|
-// approveUserResultList = sysUserService.findByAssignApprove(examTask.getCourseCode(), null);
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
-// break;
|
|
|
-// case 4:
|
|
|
-// //获取印刷员审批人
|
|
|
-// approveUserResultList = this.findByPrintApprove(SystemConstant.convertIdToLong(task.getProcessInstanceId()));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
-// break;
|
|
|
-// default:
|
|
|
-// break;
|
|
|
-// }
|
|
|
-// } else {//获取整个节点审批人
|
|
|
-// Map<String, List<String>> flowSchoolCodeMap = SystemConstant.getFlowSchoolCodeMap();
|
|
|
-// List<ApproveUserResult> approveUserResultList = null;
|
|
|
-// BasicSchool basicSchool = (BasicSchool) ServletUtil.getRequestSchool();
|
|
|
-// if (flowSchoolCodeMap.get(SystemConstant.GDYKDX_FLOW_KEY).contains(basicSchool.getCode())) {
|
|
|
-// if (Objects.isNull(courseCode) || Objects.equals(courseCode, "")) {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("课程编码为空");
|
|
|
-// }
|
|
|
-// approveUserResultList = sysUserService.findByRootApprove(courseCode, null, null, FlowApproveNameEnum.DIRECTOR);
|
|
|
-// } else if (flowSchoolCodeMap.get(SystemConstant.JXZYY_FLOW_KEY).contains(basicSchool.getCode())) {//江西中医药大学
|
|
|
-// approveUserResultList = sysUserService.findByJxzyyDirectorApprove(null, FlowApproveNameEnum.DIRECTOR);
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
-// flowTaskApprovePeopleResultList = new LinkedList<>();
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
-// flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
-// }
|
|
|
-// flowTaskApprovePeopleAllResult.setApproveUserList(flowTaskApprovePeopleResultList);
|
|
|
- return flowTaskApprovePeopleAllResult;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取印刷员审批人
|
|
|
- *
|
|
|
- * @param flowId
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public List<ApproveUserResult> findByPrintApprove(Long flowId) {
|
|
|
- ExamTask examTask = examTaskService.findByFlowId(flowId);
|
|
|
- QueryWrapper<ExamDetailCourse> examDetailCourseQueryWrapper = new QueryWrapper<>();
|
|
|
- examDetailCourseQueryWrapper.lambda().eq(ExamDetailCourse::getSchoolId, examTask.getSchoolId())
|
|
|
- .eq(ExamDetailCourse::getCourseCode, examTask.getCourseCode())
|
|
|
- .eq(ExamDetailCourse::getPaperNumber, examTask.getPaperNumber());
|
|
|
- List<ExamDetailCourse> examDetailCourseList = examDetailCourseService.list(examDetailCourseQueryWrapper);
|
|
|
-
|
|
|
- List<ApproveUserResult> approveUserResultList = null;
|
|
|
- if (Objects.nonNull(examDetailCourseList) && examDetailCourseList.size() > 0) {
|
|
|
- Set<Long> examDetailIdSet = examDetailCourseList.stream().map(s -> s.getExamDetailId()).collect(Collectors.toSet());
|
|
|
- QueryWrapper<ExamDetail> examDetailQueryWrapper = new QueryWrapper<>();
|
|
|
- examDetailQueryWrapper.lambda().in(ExamDetail::getId, examDetailIdSet);
|
|
|
- List<ExamDetail> examDetailList = examDetailService.list(examDetailQueryWrapper);
|
|
|
- if (Objects.nonNull(examDetailList) && examDetailList.size() > 0) {
|
|
|
- Set<Long> printHouseIdSet = examDetailList.stream().map(s -> s.getPrintHouseId()).collect(Collectors.toSet());
|
|
|
- approveUserResultList = sysUserService.findByOrgIds(printHouseIdSet);
|
|
|
- }
|
|
|
- }
|
|
|
- return approveUserResultList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取流程提交记录
|
|
|
- *
|
|
|
- * @param examTaskId
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Override
|
|
|
- public List<FlowTaskSubmitPeopleAllResult> taskApproverSubmitList(String examTaskId) {
|
|
|
- List<FlowTaskSubmitPeopleAllResult> flowTaskSubmitPeopleAllResultList = null;
|
|
|
- List<TFFlowLogResult> tfFlowLogResultList = tfFlowLogService.findByObjectId(SystemConstant.convertIdToLong(examTaskId));
|
|
|
- if (Objects.nonNull(tfFlowLogResultList) && tfFlowLogResultList.size() > 0) {
|
|
|
- flowTaskSubmitPeopleAllResultList = new LinkedList<>();
|
|
|
- for (TFFlowLogResult t : tfFlowLogResultList) {
|
|
|
- ApproveUserResult submitUser = new ApproveUserResult(t.getOrgName(), t.getOrgType(), t.getLoginName(), t.getRealName(), t.getSchoolId(), t.getCode(), t.getMobileNumber(), t.getCreateTime(), t.getPaperAttachmentId());
|
|
|
- FlowTaskSubmitPeopleAllResult flowTaskSubmitPeopleAllResult = new FlowTaskSubmitPeopleAllResult(t.getFlowId(), submitUser);
|
|
|
-
|
|
|
- if (Objects.nonNull(t.getPendApproveId())) {
|
|
|
- List<ApproveUserResult> approveUserList = new LinkedList<>();
|
|
|
- String[] pendApproveIds = t.getPendApproveId().split(",");
|
|
|
- for (int i = 0; i < pendApproveIds.length; i++) {
|
|
|
- approveUserList.addAll(sysUserService.findById(SystemConstant.convertIdToLong(pendApproveIds[i].trim())));
|
|
|
- }
|
|
|
- flowTaskSubmitPeopleAllResult.setApproveUserList(approveUserList);
|
|
|
- }
|
|
|
- flowTaskSubmitPeopleAllResultList.add(flowTaskSubmitPeopleAllResult);
|
|
|
- }
|
|
|
- }
|
|
|
- return flowTaskSubmitPeopleAllResultList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 流程提交校验
|
|
|
- *
|
|
|
- * @param task
|
|
|
- * @param userId
|
|
|
- */
|
|
|
- private void flowSubmitVaild(Task task, Long userId) {
|
|
|
- if (Objects.isNull(task.getAssignee())) {
|
|
|
- Task taskUser = taskService.createTaskQuery().taskId(task.getId()).taskAssignee(String.valueOf(userId)).singleResult();
|
|
|
- Optional.ofNullable(taskUser).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!"));
|
|
|
- } else {
|
|
|
- if (!Objects.equals(task.getAssignee(), String.valueOf(userId))) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!");
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 流程审批校验
|
|
|
- *
|
|
|
- * @param task
|
|
|
- * @param userId
|
|
|
- * @param map
|
|
|
- */
|
|
|
- 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();
|
|
|
- Optional.ofNullable(taskUser).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!"));
|
|
|
- } else {
|
|
|
- if (!Objects.equals(task.getAssignee(), String.valueOf(userId))) {
|
|
|
- throw ExceptionResultEnum.ERROR.exception("不能提交他人的任务或者该任务已被审核,请刷新再试!");
|
|
|
- }
|
|
|
- }
|
|
|
- Optional.ofNullable(map.get(SystemConstant.APPROVE_OPERATION)).orElseThrow(() -> ExceptionResultEnum.ERROR.exception("流程审核操作不能为空"));
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 获取所有审批人
|
|
|
- *
|
|
|
- * @param courseCode
|
|
|
- * @param flowTaskApprovePeopleResultList
|
|
|
- * @param processDefinitionEntity
|
|
|
- * @param processInstanceId
|
|
|
- * @param taskTaskAll
|
|
|
- */
|
|
|
- private List<FlowTaskApprovePeopleResult> getApproveUserAll(String courseCode
|
|
|
- , List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList
|
|
|
- , String processDefinitionEntity
|
|
|
- , String processInstanceId
|
|
|
- , List<FlowTaskResult> taskTaskAll) {
|
|
|
- flowTaskApprovePeopleResultList = Objects.isNull(flowTaskApprovePeopleResultList) ? new LinkedList() : flowTaskApprovePeopleResultList;
|
|
|
-// //广东医科大学流程
|
|
|
-// if (Objects.nonNull(processDefinitionEntity) && (processDefinitionEntity.contains(SystemConstant.GDYKDX_FLOW_KEY)
|
|
|
-// || processDefinitionEntity.contains(SystemConstant.GDYKDX_SUB_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));
|
|
|
-// if (Objects.nonNull(taskTaskAll) && taskTaskAll.size() > 3) {
|
|
|
-// //获取命题审批人
|
|
|
-// List<ApproveUserResult> sysUserTeacherList = sysUserService.findByAssignApprove(courseCode, null);
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.THREE_APPROVE.getSetup(), false, sysUserTeacherList));
|
|
|
-// if (Objects.nonNull(processInstanceId)) {
|
|
|
-// //获取印刷员审批人
|
|
|
-// List<ApproveUserResult> sysUserPrintList = this.findByPrintApprove(SystemConstant.convertIdToLong(processInstanceId));
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.FOUR_APPROVE.getSetup(), false, sysUserPrintList));
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }//江西中医药大学
|
|
|
-// else if (Objects.nonNull(processDefinitionEntity) && processDefinitionEntity.contains(SystemConstant.JXZYY_FLOW_KEY)) {
|
|
|
-// //获取教研室主任审批人
|
|
|
-// List<ApproveUserResult> sysUserDirectorList = sysUserService.findByJxzyyDirectorApprove(null, FlowApproveNameEnum.DIRECTOR);
|
|
|
-// flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, sysUserDirectorList));
|
|
|
-// } else {
|
|
|
-// throw ExceptionResultEnum.ERROR.exception("未配置流程学校code");
|
|
|
-// }
|
|
|
- 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);
|
|
|
-// tfFlowLog.setPaperAttachmentId((String) map.get(SystemConstant.PAPAER_ATTACHMENT_IDS));
|
|
|
-// 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 directorApprove(Task task,
|
|
|
-// SysUser sysUser,
|
|
|
-// TFFlowApprove tfFlowApprove,
|
|
|
-// TFFlowApproveLog tfFlowApproveLog,
|
|
|
-// TFFlowLog tfFlowLog,
|
|
|
-// String remark,
|
|
|
-// ProcessDefinitionEntity processDefinitionEntity,
|
|
|
-// Map<String, Object> map) {
|
|
|
-// FlowApprovePassEnum flowApprovePassEnum = (FlowApprovePassEnum) map.get(SystemConstant.APPROVE_CANCEL);
|
|
|
-// Long approveCancelUserId = (Long) map.get(SystemConstant.APPROVE_CANCEL_USER);
|
|
|
-// if (Objects.isNull(approveCancelUserId) || approveCancelUserId.longValue() != SystemConstant.APPROVE_CANCEL_USER_ID.longValue()) {
|
|
|
-// 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) {//驳回命题
|
|
|
-// if (Objects.nonNull(flowApprovePassEnum) && flowApprovePassEnum == FlowApprovePassEnum.CANCEL) {
|
|
|
-// tfFlowLog.setApproveOperation(FlowApproveOperationEnum.CANCEL);
|
|
|
-// tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.CANCEL);
|
|
|
-// tfFlowApprove.setStatus(FlowStatusEnum.CANCEL);
|
|
|
-// tfFlowLog.setEnable(false);
|
|
|
-//
|
|
|
-//// List<TFFlowLog> tfFlowLogList = tfFlowLogService.findByFlowId(Long.parseLong(task.getProcessInstanceId()), sysUser.getSchoolId());
|
|
|
-// UpdateWrapper<TFFlowLog> tfFlowLogUpdateWrapper = new UpdateWrapper<>();
|
|
|
-// tfFlowLogUpdateWrapper.lambda().eq(TFFlowLog::getApproveOperation, FlowApproveOperationEnum.SUBMIT)
|
|
|
-// .eq(TFFlowLog::getFlowId, Long.parseLong(task.getProcessInstanceId()))
|
|
|
-//// .set(TFFlowLog::getPaperAttachmentId, null);
|
|
|
-// .set(TFFlowLog::getEnable, false);
|
|
|
-// tfFlowLogService.update(tfFlowLogUpdateWrapper);
|
|
|
-//// tfFlowLogService.removeByIds(tfFlowLogList.stream().map(s -> s.getId()).collect(Collectors.toList()));
|
|
|
-// } else {
|
|
|
-// tfFlowLog.setApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
-// tfFlowApproveLog.setPrimaryApproveOperation(FlowApproveOperationEnum.REJECT);
|
|
|
-// tfFlowApprove.setStatus(FlowStatusEnum.REJECT);
|
|
|
-// }
|
|
|
-// tfFlowApprove.setSetup(FlowApproveSetupEnum.SUBMIT.getSetup());
|
|
|
-// tfFlowLog.setPendApproveId(String.valueOf(tfFlowApproveLog.getStartId()));
|
|
|
-// } 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("未配置流程学校code");
|
|
|
-// }
|
|
|
-// } 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());
|
|
|
-// }
|
|
|
-
|
|
|
-// /**
|
|
|
-// * 院长终止
|
|
|
-// *
|
|
|
-// * @param tfFlowApproveLog
|
|
|
-// * @param sysUser
|
|
|
-// */
|
|
|
-// private void presidentFlowEnd(TFFlowApproveLog tfFlowApproveLog, SysUser sysUser) {
|
|
|
-// tfFlowApproveLog.setSecondApproveId(sysUser.getId());
|
|
|
-// tfFlowApproveLog.setSecondApproveOperation(FlowApproveOperationEnum.END);
|
|
|
-// tfFlowApproveLog.setSecondApproveRemark(FlowApproveOperationEnum.END.getTitle());
|
|
|
-// }
|
|
|
-
|
|
|
-// /**
|
|
|
-// * 命题终止
|
|
|
-// *
|
|
|
-// * @param tfFlowApproveLog
|
|
|
-// * @param sysUser
|
|
|
-// */
|
|
|
-// private void teacherFlowEnd(TFFlowApproveLog tfFlowApproveLog, SysUser sysUser) {
|
|
|
-// tfFlowApproveLog.setThreeApproveId(sysUser.getId());
|
|
|
-// tfFlowApproveLog.setThreeApproveRemark(FlowApproveSetupEnum.THREE_APPROVE.getTitle() + FlowApproveOperationEnum.END.getTitle());
|
|
|
-// tfFlowApproveLog.setThreeApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
-// }
|
|
|
-
|
|
|
-// /**
|
|
|
-// * 印刷员终止
|
|
|
-// *
|
|
|
-// * @param tfFlowApproveLog
|
|
|
-// * @param sysUser
|
|
|
-// */
|
|
|
-// private void printFlowEnd(TFFlowApproveLog tfFlowApproveLog, SysUser sysUser) {
|
|
|
-// tfFlowApproveLog.setFourApproveId(sysUser.getId());
|
|
|
-// tfFlowApproveLog.setFourApproveOperation(FlowApproveOperationEnum.END);
|
|
|
-// tfFlowApproveLog.setFourApproveRemark(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());
|
|
|
-// tfFlowLog.setPendApproveId(String.valueOf(tfFlowApproveLog.getStartId()));
|
|
|
-// } 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.setPendApproveId(String.valueOf(tfFlowApproveLog.getStartId()));
|
|
|
-// } 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);
|
|
|
-// tfFlowLog.setPaperAttachmentId((String) map.get(SystemConstant.PAPAER_ATTACHMENT_IDS));
|
|
|
-// tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
|
-// tfFlowApprove.setSetup(FlowApproveSetupEnum.FOUR_APPROVE.getSetup());
|
|
|
-// tfFlowApproveLog.setThreeApproveId(userId);
|
|
|
-// tfFlowApproveLog.setThreeApproveRemark(remark);
|
|
|
-// tfFlowApproveLog.setThreeApproveOperation(FlowApproveOperationEnum.APPROVE);
|
|
|
-// 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.FOUR_APPROVE : FlowApproveVariableEnum.FOUR_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());
|
|
|
-// tfFlowLog.setPendApproveId(String.valueOf(tfFlowApproveLog.getStartId()));
|
|
|
-// } 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());
|
|
|
-// }
|
|
|
-
|
|
|
/**
|
|
|
* 动态创建流程图
|
|
|
*
|