|
@@ -11,11 +11,14 @@ import com.qmth.distributed.print.business.bean.result.FlowTaskApprovePeopleResu
|
|
import com.qmth.distributed.print.business.bean.result.FlowTaskResult;
|
|
import com.qmth.distributed.print.business.bean.result.FlowTaskResult;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.entity.*;
|
|
import com.qmth.distributed.print.business.enums.ExamStatusEnum;
|
|
import com.qmth.distributed.print.business.enums.ExamStatusEnum;
|
|
|
|
+import com.qmth.distributed.print.business.enums.FlowModelEnum;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.distributed.print.business.service.*;
|
|
import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
|
|
import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
|
+import com.qmth.teachcloud.common.entity.SysOrg;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.*;
|
|
import com.qmth.teachcloud.common.enums.*;
|
|
|
|
+import com.qmth.teachcloud.common.service.SysOrgService;
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
import com.qmth.teachcloud.common.util.RedisUtil;
|
|
import com.qmth.teachcloud.common.util.RedisUtil;
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
@@ -87,6 +90,9 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
@Resource
|
|
@Resource
|
|
SysUserService sysUserService;
|
|
SysUserService sysUserService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ SysOrgService sysOrgService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 注册流程
|
|
* 注册流程
|
|
*
|
|
*
|
|
@@ -155,7 +161,9 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
tfFlowApproveQueryWrapper.lambda().eq(TFFlowApprove::getFlowId, Long.parseLong(flowId));
|
|
tfFlowApproveQueryWrapper.lambda().eq(TFFlowApprove::getFlowId, Long.parseLong(flowId));
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.getOne(tfFlowApproveQueryWrapper);
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.getOne(tfFlowApproveQueryWrapper);
|
|
if (Objects.isNull(tfFlowApprove)) {
|
|
if (Objects.isNull(tfFlowApprove)) {
|
|
- tfFlowApprove = new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(flowId), sysUser.getId(), FlowStatusEnum.END, sysUser.getId());
|
|
|
|
|
|
+ ExamTask examTask = examTaskService.findByFlowId(Long.parseLong(flowId));
|
|
|
|
+ int count = sysUserService.countByTeachingRoomId(examTask.getTeachingRoomId());
|
|
|
|
+ tfFlowApprove = new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), Long.parseLong(flowId), sysUser.getId(), FlowStatusEnum.END, sysUser.getId(), count == 0 ? FlowModelEnum.CHOOSE : FlowModelEnum.SYSTEM);
|
|
} else {
|
|
} else {
|
|
tfFlowApprove.setStatus(FlowStatusEnum.END);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.END);
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.END.getSetup());
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.END.getSetup());
|
|
@@ -164,9 +172,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
tfFlowApproveService.saveOrUpdate(tfFlowApprove);
|
|
tfFlowApproveService.saveOrUpdate(tfFlowApprove);
|
|
|
|
|
|
//流程流水日志
|
|
//流程流水日志
|
|
- QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
|
|
|
|
- examTaskQueryWrapper.lambda().eq(ExamTask::getFlowId, Long.parseLong(flowId));
|
|
|
|
- ExamTask examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
|
|
|
+ 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(), FlowGdykdxApproveSetupEnum.END.getTitle());
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.END);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.END);
|
|
tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.END.getSetup());
|
|
tfFlowLog.setApproveSetup(FlowGdykdxApproveSetupEnum.END.getSetup());
|
|
@@ -247,7 +253,9 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
FlowStatusEnum flowStatusEnum = (FlowStatusEnum) map.get(SystemConstant.FLOW_STATUS);
|
|
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;
|
|
Long approveId = Objects.nonNull(map.get(SystemConstant.APPROVE_ID)) ? Long.parseLong(String.valueOf(map.get(SystemConstant.APPROVE_ID))) : null;
|
|
- tfFlowApproveService.save(new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, approveId, flowStatusEnum, sysUser.getId()));
|
|
|
|
|
|
+ Long teachingRoomId = Objects.nonNull(map.get(SystemConstant.TEACHING_ROOM_ID)) ? (Long) map.get(SystemConstant.TEACHING_ROOM_ID) : null;
|
|
|
|
+ int count = sysUserService.countByTeachingRoomId(teachingRoomId);
|
|
|
|
+ tfFlowApproveService.save(new TFFlowApprove(sysUser.getSchoolId(), sysUser.getOrgId(), flowId, approveId, flowStatusEnum, sysUser.getId(), count == 0 ? FlowModelEnum.CHOOSE : FlowModelEnum.SYSTEM));
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -274,9 +282,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
}
|
|
}
|
|
String processInstanceId = task.getProcessInstanceId();
|
|
String processInstanceId = task.getProcessInstanceId();
|
|
- QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
|
|
|
|
- examTaskQueryWrapper.lambda().eq(ExamTask::getFlowId, Long.parseLong(processInstanceId));
|
|
|
|
- ExamTask examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
|
|
|
+ ExamTask examTask = examTaskService.findByFlowId(Long.parseLong(processInstanceId));
|
|
|
|
|
|
String processDefinitionId = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult().getProcessDefinitionId();
|
|
String processDefinitionId = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult().getProcessDefinitionId();
|
|
ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
|
|
ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
|
|
@@ -314,6 +320,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.SUBMIT);
|
|
tfFlowLog.setApproveOperation(FlowApproveOperationEnum.SUBMIT);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
tfFlowApprove.setStatus(FlowStatusEnum.AUDITING);
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
tfFlowApprove.setSetup(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup());
|
|
|
|
+ map.computeIfAbsent(SystemConstant.APPROVE_DIRECTOR_USER_IDS, v -> map.get(SystemConstant.APPROVE_USER_IDS));
|
|
} else if (setupEnum == FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
} else if (setupEnum == FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE) {//主任提交
|
|
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);
|
|
@@ -335,6 +342,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
throw ExceptionResultEnum.ERROR.exception("流程变量值错误");
|
|
}
|
|
}
|
|
map.computeIfAbsent(SystemConstant.APPROVE, v -> approve.getId());
|
|
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) {//院长提交
|
|
} else if (setupEnum == FlowGdykdxApproveSetupEnum.SECOND_APPROVE) {//院长提交
|
|
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);
|
|
@@ -488,16 +496,14 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
}
|
|
}
|
|
-
|
|
|
|
- QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
|
|
|
|
- examTaskQueryWrapper.lambda().eq(ExamTask::getFlowId, flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
|
- ExamTask examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
|
|
|
+ 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());
|
|
IPage<FlowApproveResult> flowApproveResultIPage = tfFlowService.flowApproveList(new Page<>(SystemConstant.PAGE_NUMBER, SystemConstant.PAGE_SIZE), null, SystemConstant.getHeadOrUserSchoolId(), null, flowTaskApprovePeopleAllResult.getFlowId());
|
|
FlowApproveResult flowApproveResult = null;
|
|
FlowApproveResult flowApproveResult = null;
|
|
if (Objects.nonNull(flowApproveResultIPage) && flowApproveResultIPage.getRecords().size() > 0) {
|
|
if (Objects.nonNull(flowApproveResultIPage) && flowApproveResultIPage.getRecords().size() > 0) {
|
|
flowApproveResult = flowApproveResultIPage.getRecords().get(0);
|
|
flowApproveResult = flowApproveResultIPage.getRecords().get(0);
|
|
}
|
|
}
|
|
|
|
+ List<ApproveUserResult> approveUserMtResult = null;
|
|
switch (tfFlowApprove.getSetup()) {
|
|
switch (tfFlowApprove.getSetup()) {
|
|
case -1:
|
|
case -1:
|
|
if (Objects.isNull(flowApproveResult)) {
|
|
if (Objects.isNull(flowApproveResult)) {
|
|
@@ -505,7 +511,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
}
|
|
}
|
|
if (Objects.nonNull(flowApproveResult.getStartId())) {
|
|
if (Objects.nonNull(flowApproveResult.getStartId())) {
|
|
//获取命题已审
|
|
//获取命题已审
|
|
- List<ApproveUserResult> approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
|
|
|
+ approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
}
|
|
}
|
|
if (Objects.nonNull(flowApproveResult.getPrimaryApproveId())) {
|
|
if (Objects.nonNull(flowApproveResult.getPrimaryApproveId())) {
|
|
@@ -519,7 +525,7 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
throw ExceptionResultEnum.ERROR.exception("未找到流程审批记录");
|
|
throw ExceptionResultEnum.ERROR.exception("未找到流程审批记录");
|
|
}
|
|
}
|
|
//获取命题已审
|
|
//获取命题已审
|
|
- List<ApproveUserResult> approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
|
|
|
|
+ approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
//获取主任已审
|
|
//获取主任已审
|
|
List<ApproveUserResult> approveUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
List<ApproveUserResult> approveUserDirectorList = sysUserService.findById(flowApproveResult.getPrimaryApproveId());
|
|
@@ -529,7 +535,12 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), true, approveUserPresidentList));
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), true, approveUserPresidentList));
|
|
break;
|
|
break;
|
|
case 1:
|
|
case 1:
|
|
- flowTaskApprovePeopleResultList = getApproveUserAll(examTask.getCourseCode(), flowTaskApprovePeopleResultList);
|
|
|
|
|
|
+ if (tfFlowApprove.getModel() == FlowModelEnum.SYSTEM) {
|
|
|
|
+ flowTaskApprovePeopleResultList = getApproveUserAll(examTask.getCourseCode(), flowTaskApprovePeopleResultList);
|
|
|
|
+ } else {
|
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup(), false, new ArrayList<>()));
|
|
|
|
+ }
|
|
break;
|
|
break;
|
|
case 2:
|
|
case 2:
|
|
if (Objects.isNull(flowApproveResult)) {
|
|
if (Objects.isNull(flowApproveResult)) {
|
|
@@ -539,11 +550,15 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
approveUserMtResult = sysUserService.findById(flowApproveResult.getStartId());
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.SUBMIT.getSetup(), true, approveUserMtResult));
|
|
|
|
|
|
- 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));
|
|
|
|
|
|
+ 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;
|
|
break;
|
|
case 3:
|
|
case 3:
|
|
@@ -593,6 +608,9 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
}
|
|
}
|
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
+// List<Long> ids = null;
|
|
|
|
+// String variableName = null;
|
|
switch (tfFlowApprove.getSetup()) {
|
|
switch (tfFlowApprove.getSetup()) {
|
|
case 1:
|
|
case 1:
|
|
if (Objects.nonNull(task) && Objects.nonNull(task.getAssignee()) && Objects.equals(task.getAssignee(), userId)) {
|
|
if (Objects.nonNull(task) && Objects.nonNull(task.getAssignee()) && Objects.equals(task.getAssignee(), userId)) {
|
|
@@ -609,17 +627,25 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
throw ExceptionResultEnum.ERROR.exception("该审批人已有审批权限,无需流转");
|
|
throw ExceptionResultEnum.ERROR.exception("该审批人已有审批权限,无需流转");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+// if (tfFlowApprove.getSetup() == FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup()) {
|
|
|
|
+// ids = (List<Long>) taskService.getVariable(taskId, SystemConstant.APPROVE_DIRECTOR_USER_IDS);
|
|
|
|
+// variableName = SystemConstant.APPROVE_DIRECTOR_USER_IDS;
|
|
|
|
+// } else {
|
|
|
|
+// ids = (List<Long>) taskService.getVariable(taskId, SystemConstant.APPROVE_PRESIDENT_USER_IDS);
|
|
|
|
+// variableName = SystemConstant.APPROVE_PRESIDENT_USER_IDS;
|
|
|
|
+// }
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
- SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
|
taskService.deleteCandidateUser(taskId, String.valueOf(sysUser.getId()));
|
|
taskService.deleteCandidateUser(taskId, String.valueOf(sysUser.getId()));
|
|
taskService.addCandidateUser(taskId, userId);
|
|
taskService.addCandidateUser(taskId, userId);
|
|
-
|
|
|
|
- QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
|
|
|
|
- examTaskQueryWrapper.lambda().eq(ExamTask::getFlowId, flowId);
|
|
|
|
- ExamTask examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
|
|
|
+// if (Objects.nonNull(ids) && ids.size() > 0) {
|
|
|
|
+// ids.remove(sysUser.getId());
|
|
|
|
+// ids.add(Long.parseLong(userId));
|
|
|
|
+// taskService.setVariable(taskId, variableName, ids);
|
|
|
|
+// }
|
|
|
|
+ ExamTask examTask = examTaskService.findByFlowId(flowId);
|
|
|
|
|
|
String processDefinitionId = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId();
|
|
String processDefinitionId = historyService.createHistoricProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).singleResult().getProcessDefinitionId();
|
|
ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
|
|
ProcessDefinitionEntity processDefinitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService).getDeployedProcessDefinition(processDefinitionId);
|
|
@@ -666,21 +692,18 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
if (tfFlowApprove.getSetup() <= 0) {
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
}
|
|
}
|
|
- QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
|
|
|
|
- examTaskQueryWrapper.lambda().eq(ExamTask::getFlowId, flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
|
ExamTask examTask = null;
|
|
ExamTask examTask = null;
|
|
-
|
|
|
|
List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList = new ArrayList<>();
|
|
List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList = new ArrayList<>();
|
|
switch (tfFlowApprove.getSetup()) {
|
|
switch (tfFlowApprove.getSetup()) {
|
|
case 1:
|
|
case 1:
|
|
//获取命题审批人
|
|
//获取命题审批人
|
|
- examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
|
|
|
+ examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
List<ApproveUserResult> approveUserResultList = sysUserService.findByAssignApprove(examTask.getCourseCode(), realName);
|
|
List<ApproveUserResult> approveUserResultList = sysUserService.findByAssignApprove(examTask.getCourseCode(), realName);
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(approveUserResultList));
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(approveUserResultList));
|
|
break;
|
|
break;
|
|
case 2:
|
|
case 2:
|
|
//获取教研室主任审批人
|
|
//获取教研室主任审批人
|
|
- examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
|
|
|
+ examTask = examTaskService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
List<ApproveUserResult> sysUserDirectorList = sysUserService.findByDirectorApprove(examTask.getCourseCode(), realName);
|
|
List<ApproveUserResult> sysUserDirectorList = sysUserService.findByDirectorApprove(examTask.getCourseCode(), realName);
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(sysUserDirectorList));
|
|
flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(sysUserDirectorList));
|
|
break;
|
|
break;
|
|
@@ -698,6 +721,63 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
return flowTaskApprovePeopleAllResult;
|
|
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();
|
|
|
|
+ if (Objects.isNull(task)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
|
|
+ }
|
|
|
|
+ flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(Long.parseLong(task.getProcessInstanceId()));
|
|
|
|
+ //获取当前流程节点
|
|
|
|
+ TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
|
+ if (Objects.isNull(tfFlowApprove)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到流程状态记录");
|
|
|
|
+ }
|
|
|
|
+ if (tfFlowApprove.getSetup() <= 0) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
|
|
+ }
|
|
|
|
+ List<ApproveUserResult> approveUserResultList = null;
|
|
|
|
+ flowTaskApprovePeopleResultList = new LinkedList<>();
|
|
|
|
+
|
|
|
|
+ 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));
|
|
|
|
+ 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));
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ } else {//获取整个节点审批人
|
|
|
|
+ if (Objects.isNull(courseCode) || Objects.equals(courseCode, "")) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("课程编码为空");
|
|
|
|
+ }
|
|
|
|
+ List<ApproveUserResult> approveUserResultList = sysUserService.findByRootApprove(courseCode, null, null, FlowApproveNameEnum.DIRECTOR);
|
|
|
|
+ flowTaskApprovePeopleResultList = new LinkedList<>();
|
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(FlowGdykdxApproveSetupEnum.PRIMARY_APPROVE.getSetup(), false, approveUserResultList));
|
|
|
|
+ flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
|
+ }
|
|
|
|
+ flowTaskApprovePeopleAllResult.setApproveUserList(flowTaskApprovePeopleResultList);
|
|
|
|
+ return flowTaskApprovePeopleAllResult;
|
|
|
|
+ }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 流程提交校验
|
|
* 流程提交校验
|
|
*
|
|
*
|