|
@@ -23,6 +23,8 @@ import com.ruoyi.tool.service.ITUnifyFileService;
|
|
|
import org.flowable.engine.repository.ProcessDefinition;
|
|
import org.flowable.engine.repository.ProcessDefinition;
|
|
|
import org.flowable.engine.runtime.ProcessInstance;
|
|
import org.flowable.engine.runtime.ProcessInstance;
|
|
|
import org.flowable.task.api.Task;
|
|
import org.flowable.task.api.Task;
|
|
|
|
|
+import org.slf4j.Logger;
|
|
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
|
@@ -38,15 +40,13 @@ import java.util.*;
|
|
|
@Service
|
|
@Service
|
|
|
public class TerminationServiceImpl extends FlowServiceFactory implements ITerminationService
|
|
public class TerminationServiceImpl extends FlowServiceFactory implements ITerminationService
|
|
|
{
|
|
{
|
|
|
|
|
+ protected final Logger logger = LoggerFactory.getLogger(this.getClass());
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private TerminationMapper terminationMapper;
|
|
private TerminationMapper terminationMapper;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private ITProjectPoolService tProjectPoolService;
|
|
private ITProjectPoolService tProjectPoolService;
|
|
|
-
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private ITProjectCirculationService tProjectCirculationService;
|
|
private ITProjectCirculationService tProjectCirculationService;
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IFlowBaseInfoService activitiBaseInfoService;
|
|
private IFlowBaseInfoService activitiBaseInfoService;
|
|
|
@Autowired
|
|
@Autowired
|
|
@@ -55,14 +55,11 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
|
|
|
private ISysUserService sysUserService;
|
|
private ISysUserService sysUserService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private SysDeptMapper sysDeptMapper;
|
|
private SysDeptMapper sysDeptMapper;
|
|
|
-
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IFlowService flowService;
|
|
private IFlowService flowService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private ITProjectMeetingService tProjectMeetingService;
|
|
private ITProjectMeetingService tProjectMeetingService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private ITProjectScoringService tProjectScoringService;
|
|
|
|
|
- @Autowired
|
|
|
|
|
private TProjectScoringMapper tProjectScoringMapper;
|
|
private TProjectScoringMapper tProjectScoringMapper;
|
|
|
@Override
|
|
@Override
|
|
|
public List<ProjectTerminationVo> selectAllTerminationList(TProjectTermination tProjectTermination){
|
|
public List<ProjectTerminationVo> selectAllTerminationList(TProjectTermination tProjectTermination){
|
|
@@ -173,13 +170,15 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
|
|
|
flowBaseInfo.setFlag(true);
|
|
flowBaseInfo.setFlag(true);
|
|
|
flowBaseInfo.setComment(tProjectTermination.isFlag() ? "[提交]" : "[暂存]");
|
|
flowBaseInfo.setComment(tProjectTermination.isFlag() ? "[提交]" : "[暂存]");
|
|
|
flowBaseInfo.setStatus(FlowStatusEnum.STARTED.getName());
|
|
flowBaseInfo.setStatus(FlowStatusEnum.STARTED.getName());
|
|
|
-
|
|
|
|
|
|
|
+ flowBaseInfo.setFlag(tProjectTermination.isFlag());
|
|
|
activitiBaseInfoService.addActivitiBaseInfo(flowBaseInfo);
|
|
activitiBaseInfoService.addActivitiBaseInfo(flowBaseInfo);
|
|
|
TProjectPool tProjectPool=new TProjectPool();
|
|
TProjectPool tProjectPool=new TProjectPool();
|
|
|
tProjectPool.setId(tProjectTermination.getProjectPoolId());
|
|
tProjectPool.setId(tProjectTermination.getProjectPoolId());
|
|
|
tProjectPool.setProjectStage("8");//项目阶段-项目终止
|
|
tProjectPool.setProjectStage("8");//项目阶段-项目终止
|
|
|
tProjectPool.setProjectState("o");//项目状态-项目终止
|
|
tProjectPool.setProjectState("o");//项目状态-项目终止
|
|
|
tProjectPoolService.updateTProjectPool(tProjectPool);
|
|
tProjectPoolService.updateTProjectPool(tProjectPool);
|
|
|
|
|
+ // todo 短信
|
|
|
|
|
+ //sendMessage(flowBaseInfo);
|
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
|
}
|
|
}
|
|
|
return AjaxResult.error();
|
|
return AjaxResult.error();
|
|
@@ -247,34 +246,25 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
|
|
|
}
|
|
}
|
|
|
flow.setTaskName(task.getName());
|
|
flow.setTaskName(task.getName());
|
|
|
flow.setCreateBy(SecurityUtils.getLoginUser().getUserId().toString());
|
|
flow.setCreateBy(SecurityUtils.getLoginUser().getUserId().toString());
|
|
|
-
|
|
|
|
|
|
|
+ flow.setFlag(tProjectTermination.isFlag());
|
|
|
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).active().singleResult();
|
|
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).active().singleResult();
|
|
|
// 表示流程已经审批结束了
|
|
// 表示流程已经审批结束了
|
|
|
if (processInstance == null) {
|
|
if (processInstance == null) {
|
|
|
flow.setStatus(FlowStatusEnum.ENDED.getName());
|
|
flow.setStatus(FlowStatusEnum.ENDED.getName());
|
|
|
if (!"modifyApply".equals(task.getTaskDefinitionKey())) {
|
|
if (!"modifyApply".equals(task.getTaskDefinitionKey())) {
|
|
|
//关闭该项目存在的流程(投资机会、项目立项、尽职背调、项目投决)
|
|
//关闭该项目存在的流程(投资机会、项目立项、尽职背调、项目投决)
|
|
|
-
|
|
|
|
|
tProjectTermination.setStatus(3);
|
|
tProjectTermination.setStatus(3);
|
|
|
- /*tProjectPool.setProjectStage("8");//项目阶段-项目终止
|
|
|
|
|
- tProjectPool.setProjectState("p");//项目状态-终止通过*/
|
|
|
|
|
tProjectPool.setUpdateBy(userInfo.getNickName());
|
|
tProjectPool.setUpdateBy(userInfo.getNickName());
|
|
|
tProjectPool.setProjectStatus("1");//项目机会状态为终止
|
|
tProjectPool.setProjectStatus("1");//项目机会状态为终止
|
|
|
// todo 增加项目创建记录
|
|
// todo 增加项目创建记录
|
|
|
tProjectCirculationService.insertTProjectCirculation(tProjectPool.getId(),"项目终止完成", userInfo.getNickName());
|
|
tProjectCirculationService.insertTProjectCirculation(tProjectPool.getId(),"项目终止完成", userInfo.getNickName());
|
|
|
-
|
|
|
|
|
- }/*else{
|
|
|
|
|
- tProjectPool.setProjectStage("6");//项目阶段-
|
|
|
|
|
- tProjectPool.setProjectState("o");//项目状态-
|
|
|
|
|
- tProjectPool.setDelFlag("0");
|
|
|
|
|
- tProjectPool.setUpdateBy(userInfo.getNickName());
|
|
|
|
|
- }*/
|
|
|
|
|
- tProjectPoolService.updateTProjectPool(tProjectPool);
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
- /*tProjectTerminationService.updateTProjectTermination(tProjectTermination);*/
|
|
|
|
|
|
|
+ tProjectPoolService.updateTProjectPool(tProjectPool);
|
|
|
terminationMapper.updateTProjectTermination(tProjectTermination);
|
|
terminationMapper.updateTProjectTermination(tProjectTermination);
|
|
|
activitiBaseInfoService.addActivitiBaseInfo(flow);
|
|
activitiBaseInfoService.addActivitiBaseInfo(flow);
|
|
|
|
|
+ //todo 短信
|
|
|
|
|
+ //sendMessage(flow);
|
|
|
}
|
|
}
|
|
|
return AjaxResult.success();
|
|
return AjaxResult.success();
|
|
|
}
|
|
}
|
|
@@ -310,4 +300,76 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
|
|
|
public TProjectTermination listProjectPoolIdNew(String projectPoolId) {
|
|
public TProjectTermination listProjectPoolIdNew(String projectPoolId) {
|
|
|
return terminationMapper.listProjectPoolIdNew(projectPoolId);
|
|
return terminationMapper.listProjectPoolIdNew(projectPoolId);
|
|
|
}
|
|
}
|
|
|
|
|
+ // todo 短信
|
|
|
|
|
+ public void sendMessage(FlowBaseInfo flowBaseInfo) {
|
|
|
|
|
+ boolean flag = flowBaseInfo.isFlag();
|
|
|
|
|
+ String procInsId = flowBaseInfo.getProcInsId();
|
|
|
|
|
+ // 待办任务
|
|
|
|
|
+ List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInsId).list();
|
|
|
|
|
+ // 对应业务单据
|
|
|
|
|
+ ProjectTerminationVo projectTermination =terminationMapper.selectProjectTerminationByProcInstId(procInsId);
|
|
|
|
|
+ if (projectTermination == null) {
|
|
|
|
|
+ return;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 申请人
|
|
|
|
|
+ SysUser applyUserInfo = sysUserService.selectUserById(Long.valueOf(projectTermination.getCreateBy()));
|
|
|
|
|
+ // 当前登录人
|
|
|
|
|
+ SysUser loginUser = SecurityUtils.getLoginUser().getUser();
|
|
|
|
|
+
|
|
|
|
|
+ if(tasks.size()>0) {
|
|
|
|
|
+ for (int i = 0; i < tasks.size(); i++) {
|
|
|
|
|
+ Task task = tasks.get(i);
|
|
|
|
|
+ if (task != null) {
|
|
|
|
|
+ if (Objects.equals(applyUserInfo.getUserId(), loginUser.getUserId()) && !flag) {
|
|
|
|
|
+ // 如果是申请人暂存或者关闭或者自己驳回,不用给自己发审批短信
|
|
|
|
|
+ continue;
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 申请人提交,给下一个审批人发短信
|
|
|
|
|
+ // 审批人同意,给下一个审批人发短信
|
|
|
|
|
+ if (flag) { //给审批人发送短信
|
|
|
|
|
+ String assignee = task.getAssignee();
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(assignee)) { // 给审批人发送短信
|
|
|
|
|
+ SysUser auditUser = sysUserService.selectUserById(Long.valueOf(assignee));
|
|
|
|
|
+ String auditContents = auditUser.getNickName() + ",您好。投资系统中" + projectTermination.getProjectName() + "的项目终止流程待处理";
|
|
|
|
|
+ System.out.println(auditContents);
|
|
|
|
|
+ if (auditUser != null && StringUtils.isNotBlank(auditUser.getPhonenumber())) {
|
|
|
|
|
+ /*try{
|
|
|
|
|
+ SmsSenderUtils.sendSms(auditUser.getPhonenumber(), auditContents);
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
|
+ logger.error("短信发送失败"+e.getMessage());
|
|
|
|
|
+ }*/
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ } else { // 审批人驳回,给申请人发短信
|
|
|
|
|
+ String rejectContents = applyUserInfo.getNickName()+",您好。你在投资系统中提交" + projectTermination.getProjectName() + "的项目终止申请已审核,结果为【驳回】";
|
|
|
|
|
+ System.out.println(rejectContents);
|
|
|
|
|
+ if (applyUserInfo != null && StringUtils.isNotBlank(applyUserInfo.getPhonenumber())) {
|
|
|
|
|
+ /*try{
|
|
|
|
|
+ SmsSenderUtils.sendSms(rejectUser.getPhonenumber(), rejectContents);
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
|
+ logger.error("短信发送失败"+e.getMessage());
|
|
|
|
|
+ }*/
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ String completeContents ="";
|
|
|
|
|
+ if(flag) {
|
|
|
|
|
+ // 审批完成,给申请人发短信
|
|
|
|
|
+ //XXX,您好。你在投资系统中提交“XXX”的项目终止申请已审核,结果为【通过】/【驳回】/【观望】!
|
|
|
|
|
+ completeContents = applyUserInfo.getNickName()+",您好。你在投资系统中提交" + projectTermination.getProjectName() + "的项目终止申请已审核,结果为【同意】";
|
|
|
|
|
+ System.out.println(completeContents);
|
|
|
|
|
+ if (applyUserInfo != null && StringUtils.isNotBlank(applyUserInfo.getPhonenumber())) {
|
|
|
|
|
+ /*try{
|
|
|
|
|
+ SmsSenderUtils.sendSms(completeUser.getPhonenumber(), completeContents);
|
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
|
+ logger.error("短信发送失败"+e.getMessage());
|
|
|
|
|
+ }*/
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|