|
@@ -1,16 +1,27 @@
|
|
package com.qmth.distributed.print.business.activiti;
|
|
package com.qmth.distributed.print.business.activiti;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.qmth.distributed.print.business.entity.ExamTask;
|
|
|
|
+import com.qmth.distributed.print.business.entity.TFFlowApprove;
|
|
|
|
+import com.qmth.distributed.print.business.enums.MessageEnum;
|
|
|
|
+import com.qmth.distributed.print.business.service.BasicMessageService;
|
|
|
|
+import com.qmth.distributed.print.business.service.ExamTaskService;
|
|
|
|
+import com.qmth.distributed.print.business.service.TFFlowApproveService;
|
|
import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
|
|
import com.qmth.teachcloud.common.bean.params.ApproveUserResult;
|
|
import com.qmth.teachcloud.common.contant.SpringContextHolder;
|
|
import com.qmth.teachcloud.common.contant.SpringContextHolder;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.entity.SysUser;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
|
|
|
|
+import com.qmth.teachcloud.common.enums.FlowGdykdxApproveSetupEnum;
|
|
|
|
+import com.qmth.teachcloud.common.enums.FlowStatusEnum;
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
import com.qmth.teachcloud.common.service.SysUserService;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import com.qmth.teachcloud.common.util.ServletUtil;
|
|
import org.activiti.engine.delegate.DelegateTask;
|
|
import org.activiti.engine.delegate.DelegateTask;
|
|
import org.activiti.engine.delegate.TaskListener;
|
|
import org.activiti.engine.delegate.TaskListener;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
@@ -33,14 +44,30 @@ public class PresidentApproveListener implements TaskListener {
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public void notify(DelegateTask delegateTask) {
|
|
public void notify(DelegateTask delegateTask) {
|
|
|
|
+ ExamTaskService examTaskService = SpringContextHolder.getBean(ExamTaskService.class);
|
|
SysUserService sysUserService = SpringContextHolder.getBean(SysUserService.class);
|
|
SysUserService sysUserService = SpringContextHolder.getBean(SysUserService.class);
|
|
|
|
+ BasicMessageService basicMessageService = SpringContextHolder.getBean(BasicMessageService.class);
|
|
|
|
+ TFFlowApproveService tfFlowApproveService = SpringContextHolder.getBean(TFFlowApproveService.class);
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser sysUser = (SysUser) ServletUtil.getRequestUser();
|
|
if (Objects.isNull(sysUser.getOrgId())) {
|
|
if (Objects.isNull(sysUser.getOrgId())) {
|
|
throw ExceptionResultEnum.ERROR.exception("审批人机构为空");
|
|
throw ExceptionResultEnum.ERROR.exception("审批人机构为空");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ String flowId = delegateTask.getProcessInstanceId();
|
|
|
|
+ QueryWrapper<ExamTask> examTaskQueryWrapper = new QueryWrapper<>();
|
|
|
|
+ examTaskQueryWrapper.lambda().eq(ExamTask::getFlowId, Long.parseLong(flowId));
|
|
|
|
+ ExamTask examTask = examTaskService.getOne(examTaskQueryWrapper);
|
|
|
|
+
|
|
List<ApproveUserResult> sysUserList = sysUserService.findByPresidentApprove(Arrays.asList(sysUser.getOrgId()), null);
|
|
List<ApproveUserResult> sysUserList = sysUserService.findByPresidentApprove(Arrays.asList(sysUser.getOrgId()), null);
|
|
List<String> ids = sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
|
|
List<String> ids = sysUserList.stream().map(s -> String.valueOf(s.getId())).collect(Collectors.toList());
|
|
//添加或签的人员,一人通过即可进入下一环节
|
|
//添加或签的人员,一人通过即可进入下一环节
|
|
delegateTask.addCandidateUsers(ids);
|
|
delegateTask.addCandidateUsers(ids);
|
|
|
|
+
|
|
|
|
+ // 发送审核短信
|
|
|
|
+ TFFlowApprove tfFlowApprove = tfFlowApproveService.findByFlowId(Long.valueOf(flowId));
|
|
|
|
+ if(tfFlowApprove.getStatus().equals(FlowStatusEnum.AUDITING)
|
|
|
|
+ && tfFlowApprove.getSetup().equals(FlowGdykdxApproveSetupEnum.SECOND_APPROVE.getSetup())) {
|
|
|
|
+ basicMessageService.sendNoticeTaskAuditFlow(examTask, sysUserList, MessageEnum.NOTICE_OF_AUDIT_CREATED);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|