|
@@ -15,8 +15,12 @@ import com.qmth.distributed.print.business.service.*;
|
|
|
import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
|
|
|
import com.qmth.teachcloud.common.contant.SpringContextHolder;
|
|
|
import com.qmth.teachcloud.common.contant.SystemConstant;
|
|
|
+import com.qmth.teachcloud.common.entity.BasicCourse;
|
|
|
+import com.qmth.teachcloud.common.entity.SysOrg;
|
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
|
import com.qmth.teachcloud.common.enums.*;
|
|
|
+import com.qmth.teachcloud.common.service.BasicCourseService;
|
|
|
+import com.qmth.teachcloud.common.service.SysOrgService;
|
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
|
import com.qmth.teachcloud.common.util.RedisUtil;
|
|
|
import com.qmth.teachcloud.common.util.ResultUtil;
|
|
@@ -88,6 +92,12 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
@Resource
|
|
|
SysUserService sysUserService;
|
|
|
|
|
|
+ @Resource
|
|
|
+ BasicCourseService basicCourseService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ SysOrgService sysOrgService;
|
|
|
+
|
|
|
/**
|
|
|
* 注册流程
|
|
|
*
|
|
@@ -513,9 +523,8 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
if (Objects.isNull(task)) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
|
}
|
|
|
- flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
+ flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(Long.parseLong(task.getProcessInstanceId()));
|
|
|
flowTaskApprovePeopleResultList = new LinkedList();
|
|
|
- flowTaskApprovePeopleAllResult.setFlowId(Long.parseLong(task.getProcessInstanceId()));
|
|
|
//获取当前流程节点
|
|
|
TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
if (Objects.isNull(tfFlowApprove)) {
|
|
@@ -571,7 +580,6 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
if (Objects.isNull(courseCode) || Objects.equals(courseCode, "")) {
|
|
|
throw ExceptionResultEnum.ERROR.exception("课程编码为空");
|
|
|
}
|
|
|
- flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult();
|
|
|
flowTaskApprovePeopleResultList = getApproveUserAll(courseCode, flowTaskApprovePeopleResultList);
|
|
|
}
|
|
|
flowTaskApprovePeopleAllResult.setApproveUserList(flowTaskApprovePeopleResultList);
|
|
@@ -622,6 +630,60 @@ public class ActivitiServiceImpl implements ActivitiService {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取转他人审批人
|
|
|
+ *
|
|
|
+ * @param taskId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public FlowTaskApprovePeopleAllResult taskApproverExchangePeople(String taskId) {
|
|
|
+ SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
|
+ Task task = taskService.createTaskQuery().taskId(taskId).singleResult();
|
|
|
+ if (Objects.isNull(task)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程任务为空");
|
|
|
+ }
|
|
|
+ FlowTaskApprovePeopleAllResult flowTaskApprovePeopleAllResult = new FlowTaskApprovePeopleAllResult(Long.parseLong(task.getProcessInstanceId()));
|
|
|
+ //获取当前流程节点
|
|
|
+ TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
+ if (Objects.isNull(tfFlowApprove)) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到流程状态记录");
|
|
|
+ }
|
|
|
+ if (tfFlowApprove.getSetup() <= 0) {
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("流程已结束或已终止");
|
|
|
+ }
|
|
|
+ QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
|
|
|
+ examTaskQueryWrapper.lambda().eq(ExamTask::getFlowId, flowTaskApprovePeopleAllResult.getFlowId());
|
|
|
+ ExamTask examTask = null;
|
|
|
+
|
|
|
+ List<FlowTaskApprovePeopleResult> flowTaskApprovePeopleResultList = new ArrayList<>();
|
|
|
+ switch (tfFlowApprove.getSetup()) {
|
|
|
+ case 1:
|
|
|
+ //获取命题审批人
|
|
|
+ examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
+ List<ApproveUserResult> approveUserResultList = sysUserService.findByAssignApprove(examTask.getCourseCode());
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(approveUserResultList));
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ //获取教研室主任审批人
|
|
|
+ examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
+ List<ApproveUserResult> sysUserDirectorList = sysUserService.findByDirectorApprove(examTask.getCourseCode());
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(sysUserDirectorList));
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ //获取院长审批人
|
|
|
+ if (Objects.nonNull(sysUser.getOrgId())) {
|
|
|
+ List<ApproveUserResult> sysUserPresidentList = sysUserService.findByPresidentApprove(Arrays.asList(sysUser.getOrgId()));
|
|
|
+ flowTaskApprovePeopleResultList.add(new FlowTaskApprovePeopleResult(sysUserPresidentList));
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ flowTaskApprovePeopleAllResult.setApproveUserList(flowTaskApprovePeopleResultList);
|
|
|
+ return flowTaskApprovePeopleAllResult;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 流程提交校验
|
|
|
*
|