浏览代码

11482-【CR】【投资系统】增加审批流程-短信

hxy 3 周之前
父节点
当前提交
0bebc12af9

+ 99 - 0
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/ApprovalServiceImpl.java

@@ -26,6 +26,8 @@ import com.ruoyi.tool.service.ITUnifyFileService;
 import org.flowable.engine.repository.ProcessDefinition;
 import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.task.api.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -41,6 +43,7 @@ import java.util.*;
 @Service
 public class ApprovalServiceImpl extends FlowServiceFactory implements IApprovalService
 {
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
     @Autowired
     private ApprovalMapper approvalMapper;
     @Autowired
@@ -190,6 +193,7 @@ public class ApprovalServiceImpl extends FlowServiceFactory implements IApproval
                     flowBaseInfo.setFlag(true);
                     flowBaseInfo.setComment(tProjectApproval.isFlag() ? "[提交]" : "[暂存]");
                     flowBaseInfo.setStatus(FlowStatusEnum.STARTED.getName());
+                    flowBaseInfo.setFlag(tProjectApproval.isFlag());
 
                     activitiBaseInfoService.addActivitiBaseInfo(flowBaseInfo);
                     TProjectPool tProjectPool=new TProjectPool();
@@ -198,6 +202,8 @@ public class ApprovalServiceImpl extends FlowServiceFactory implements IApproval
                     tProjectPool.setProjectState("d");//项目状态-项目立项
                     tProjectPool.setProjectStatus("0");//项目机会状态-正常
                     tProjectPoolService.updateTProjectPool(tProjectPool);
+                    //todo 短信
+                    //sendMessage(flowBaseInfo,"");
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();
@@ -397,8 +403,10 @@ public class ApprovalServiceImpl extends FlowServiceFactory implements IApproval
             }
             flow.setTaskName(task.getName());
             flow.setCreateBy(SecurityUtils.getLoginUser().getUserId().toString());
+            flow.setFlag(tProjectApproval.isFlag());
 
             ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).active().singleResult();
+            String result="";
             // 表示流程已经审批结束了
             if (processInstance == null) {
                 flow.setStatus(FlowStatusEnum.ENDED.getName());
@@ -415,8 +423,10 @@ public class ApprovalServiceImpl extends FlowServiceFactory implements IApproval
                         if(StringUtils.isNotBlank(tProjectApproval.getIsTerminate())) {
                             tProjectApproval.setStatus(4);//流程状态为关闭
                             if ("1".equals(tProjectApproval.getIsTerminate())) {
+                                result="【终止】";
                                 tProjectPool.setProjectStatus("1");//终止
                             } else {
+                                result="【观望】";
                                 tProjectPool.setProjectStatus("2");//观望
                             }
                             tProjectPool.setProjectStage("3");//项目阶段-项目立项
@@ -435,6 +445,8 @@ public class ApprovalServiceImpl extends FlowServiceFactory implements IApproval
             }
             tProjectApprovalService.updateTProjectApproval(tProjectApproval);
             activitiBaseInfoService.addActivitiBaseInfo(flow);
+            // todo 短信提醒
+            //sendMessage(flow,result);
         }
         return AjaxResult.success();
     }
@@ -463,5 +475,92 @@ public class ApprovalServiceImpl extends FlowServiceFactory implements IApproval
         }
         return sumScore;
     }
+    // todo 短信
+    public void sendMessage(FlowBaseInfo flowBaseInfo,String result) {
+        boolean flag = flowBaseInfo.isFlag();
+        String procInsId = flowBaseInfo.getProcInsId();
+        // 待办任务
+        List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInsId).list();
+        // 对应业务单据
+        ProjectApprovalVo projectApproval = approvalMapper.selectProjectApprovalByProcInstId(procInsId);
+        if (projectApproval == null) {
+            return;
+        }
+        // 申请人
+        SysUser applyUserInfo = sysUserService.selectUserById(Long.valueOf(projectApproval.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) {
+                        // 如果是申请人暂存或者关闭或者自己驳回,不用给自己发审批短信
+                    } else {
+                        // 申请人提交,给下一个审批人发短信
+                        // 审批人同意,给下一个审批人发短信
+                        if (flag) { //给审批人发送短信
+                            if (tasks.size()<2
+                                    &&("industryResearch".equals(task.getTaskDefinitionKey())||"technicalResearch".equals(task.getTaskDefinitionKey()))){
+                                continue;
+                            }
+                            String assignee = task.getAssignee();
+                            if (org.apache.commons.lang3.StringUtils.isNotBlank(assignee)) { // 给审批人发送短信
+                                SysUser auditUser = sysUserService.selectUserById(Long.valueOf(assignee));
+                                String auditContents = auditUser.getNickName() + ",您好。投资系统中" + projectApproval.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()+",您好。你在投资系统中提交" + projectApproval.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()+",您好。你在投资系统中提交" + projectApproval.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());
+                    }*/
+                }
+
+            }else{
+                if(StringUtils.isNotEmpty(result)){//代表是终止或者观望
+                    completeContents = applyUserInfo.getNickName()+",您好。你在投资系统中提交" + projectApproval.getProjectName() + "的项目立项申请已审核,结果为"+result;
+                    System.out.println(completeContents);
+                    if (applyUserInfo != null && StringUtils.isNotBlank(applyUserInfo.getPhonenumber())) {
+                    /*try{
+                        SmsSenderUtils.sendSms(completeUser.getPhonenumber(), completeContents);
+                    } catch (IOException e) {
+                        logger.error("短信发送失败"+e.getMessage());
+                    }*/
+                    }
+                }
+            }
 
+        }
+    }
 }

+ 100 - 16
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/DecisionServiceImpl.java

@@ -26,6 +26,8 @@ import com.ruoyi.tool.service.ITUnifyFileService;
 import org.flowable.engine.repository.ProcessDefinition;
 import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.task.api.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -42,27 +44,17 @@ import java.util.*;
 @Service
 public class DecisionServiceImpl extends FlowServiceFactory implements IDecisionService
 {
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
     @Autowired
     private DecisionMapper decisionMapper;
     @Autowired
     private ITProjectDecisionService tProjectDecisionService;
     @Autowired
-    private TProjectPoolMapper tProjectPoolMapper;
-    @Autowired
     private ITProjectPoolService tProjectPoolService;
-
-    @Autowired
-    private ITProjectCompanyService tProjectCompanyService;
-
-    @Autowired
-    private ITProjectContactsService tProjectContactsService;
-
     @Autowired
     private ITProjectCirculationService tProjectCirculationService;
-
     @Autowired
     private ITUnifyFileService tUnifyFileService;
-
     @Autowired
     private IFlowBaseInfoService activitiBaseInfoService;
     @Autowired
@@ -71,9 +63,6 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
     private ISysUserService sysUserService;
     @Autowired
     private SysDeptMapper sysDeptMapper;
-    @Autowired
-    private ITProjectReviewService tProjectReviewService;
-
     @Autowired
     private IFlowService flowService;
     @Autowired
@@ -203,13 +192,15 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
                     flowBaseInfo.setFlag(true);
                     flowBaseInfo.setComment(tProjectDecision.isFlag() ? "[提交]" : "[暂存]");
                     flowBaseInfo.setStatus(FlowStatusEnum.STARTED.getName());
-
+                    flowBaseInfo.setFlag(tProjectDecision.isFlag());
                     activitiBaseInfoService.addActivitiBaseInfo(flowBaseInfo);
                     TProjectPool tProjectPool=new TProjectPool();
                     tProjectPool.setId(tProjectDecision.getProjectPoolId());
                     tProjectPool.setProjectStage("5");//项目阶段-项目投决
                     tProjectPool.setProjectState("h");//项目状态-准备项目投决材料
                     tProjectPoolService.updateTProjectPool(tProjectPool);
+                    // todo 短信
+                    //sendMessage(flowBaseInfo,"");
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();
@@ -374,8 +365,9 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
             }
             flow.setTaskName(task.getName());
             flow.setCreateBy(SecurityUtils.getLoginUser().getUserId().toString());
-
+            flow.setFlag(tProjectDecision.isFlag());
             ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).active().singleResult();
+            String result="";
             // 表示流程已经审批结束了
             if (processInstance == null) {
                 flow.setStatus(FlowStatusEnum.ENDED.getName());
@@ -396,8 +388,10 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
                         if(StringUtils.isNotBlank(tProjectDecision.getIsTerminate())) {
                             tProjectDecision.setStatus(4);//流程状态为关闭
                             if ("1".equals(tProjectDecision.getIsTerminate())) {
+                                result="【终止】";
                                 tProjectPool.setProjectStatus("1");//终止
                             } else {
+                                result="【观望】";
                                 tProjectPool.setProjectStatus("2");//观望
                             }
                         }
@@ -408,6 +402,8 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
 
             tProjectDecisionService.updateTProjectDecision(tProjectDecision);
             activitiBaseInfoService.addActivitiBaseInfo(flow);
+            //todo 短信
+            //sendMessage(flow,result);
         }
         return AjaxResult.success();
     }
@@ -434,5 +430,93 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
         }
         return sumScore;
     }
+    // todo 短信
+    public void sendMessage(FlowBaseInfo flowBaseInfo,String result) {
+        boolean flag = flowBaseInfo.isFlag();
+        String procInsId = flowBaseInfo.getProcInsId();
+        // 待办任务
+        List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInsId).list();
+        // 对应业务单据
+        ProjectDecisionVo projectDecision = decisionMapper.selectProjectDecisionByProcInstId(procInsId);
+        if (projectDecision == null) {
+            return;
+        }
+        // 申请人
+        SysUser applyUserInfo = sysUserService.selectUserById(Long.valueOf(projectDecision.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) { //给审批人发送短信
+                            if ("decision".equals(flowBaseInfo.getTaskDefKey())&&"decision".equals(task.getTaskDefinitionKey())){
+                                continue;
+                            }
+                            String assignee = task.getAssignee();
+                            if (org.apache.commons.lang3.StringUtils.isNotBlank(assignee)) { // 给审批人发送短信
+                                SysUser auditUser = sysUserService.selectUserById(Long.valueOf(assignee));
+                                String auditContents = auditUser.getNickName() + ",您好。投资系统中" + projectDecision.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()+",您好。你在投资系统中提交" + projectDecision.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()+",您好。你在投资系统中提交" + projectDecision.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());
+                    }*/
+                }
+
+            }else{
+                if(StringUtils.isNotEmpty(result)){//代表是终止或者观望
+                    completeContents = applyUserInfo.getNickName()+",您好。你在投资系统中提交" + projectDecision.getProjectName() + "的项目投决申请已审核,结果为"+result;
+                    System.out.println(completeContents);
+                    if (applyUserInfo != null && StringUtils.isNotBlank(applyUserInfo.getPhonenumber())) {
+                    /*try{
+                        SmsSenderUtils.sendSms(completeUser.getPhonenumber(), completeContents);
+                    } catch (IOException e) {
+                        logger.error("短信发送失败"+e.getMessage());
+                    }*/
+                    }
+                }
+            }
+
+        }
+    }
 
 }

+ 100 - 3
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/InvestigateServiceImpl.java

@@ -26,6 +26,8 @@ import com.ruoyi.tool.service.ITUnifyFileService;
 import org.flowable.engine.repository.ProcessDefinition;
 import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.task.api.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -42,6 +44,7 @@ import java.util.*;
 @Service
 public class InvestigateServiceImpl extends FlowServiceFactory implements IInvestigateService
 {
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
     @Autowired
     private InvestigateMapper investigateMapper;
     @Autowired
@@ -66,8 +69,6 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
     private SysDeptMapper sysDeptMapper;
     @Autowired
     private IFlowService flowService;
-    @Autowired
-    private TProjectScoringMapper tProjectScoringMapper;
     @Override
     public List<ProjectInvestigateVo> selectAllInvestigateList(TProjectInvestigate tProjectInvestigate){
         return investigateMapper.selectAllInvestigateList(tProjectInvestigate);
@@ -181,6 +182,7 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
                     flowBaseInfo.setFlag(true);
                     flowBaseInfo.setComment(tProjectInvestigate.isFlag() ? "[提交]" : "[暂存]");
                     flowBaseInfo.setStatus(FlowStatusEnum.STARTED.getName());
+                    flowBaseInfo.setFlag(tProjectInvestigate.isFlag());
                     activitiBaseInfoService.addActivitiBaseInfo(flowBaseInfo);
 
                     TProjectPool tProjectPool=new TProjectPool();
@@ -188,6 +190,8 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
                     tProjectPool.setProjectStage("4");//项目阶段-尽职背调
                     tProjectPool.setProjectState("f");//项目状态-尽职背调
                     tProjectPoolService.updateTProjectPool(tProjectPool);
+                    //todo 短信
+                    //sendMessage(flowBaseInfo,"");
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();
@@ -324,8 +328,9 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
             }
             flow.setTaskName(task.getName());
             flow.setCreateBy(SecurityUtils.getLoginUser().getUserId().toString());
-
+            flow.setFlag(tProjectInvestigate.isFlag());
             ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).active().singleResult();
+            String result="";
             // 表示流程已经审批结束了
             if (processInstance == null) {
                 flow.setStatus(FlowStatusEnum.ENDED.getName());
@@ -341,8 +346,10 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
                         if(StringUtils.isNotBlank(tProjectInvestigate.getIsTerminate())) {
                             tProjectInvestigate.setStatus(4);//流程状态为关闭
                             if ("1".equals(tProjectInvestigate.getIsTerminate())) {
+                                result="【终止】";
                                 tProjectPool.setProjectStatus("1");//终止
                             } else {
+                                result="【观望】";
                                 tProjectPool.setProjectStatus("2");//观望
                             }
                             tProjectPool.setProjectStage("4");//项目阶段-尽职背调
@@ -362,6 +369,8 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
 
             tProjectInvestigateService.updateTProjectInvestigate(tProjectInvestigate);
             activitiBaseInfoService.addActivitiBaseInfo(flow);
+            // todo 短信
+            //sendMessage(flow,result);
         }
         return AjaxResult.success();
     }
@@ -388,5 +397,93 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
         }
         return sumScore;
     }
+    // todo 短信
+    public void sendMessage(FlowBaseInfo flowBaseInfo,String result) {
+        boolean flag = flowBaseInfo.isFlag();
+        String procInsId = flowBaseInfo.getProcInsId();
+        // 待办任务
+        List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInsId).list();
+        // 对应业务单据
+        ProjectInvestigateVo projectInvestigate =investigateMapper.selectProjectInvestigateByProcInstId(procInsId);
+        if (projectInvestigate == null) {
+            return;
+        }
+        // 申请人
+        SysUser applyUserInfo = sysUserService.selectUserById(Long.valueOf(projectInvestigate.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) { //给审批人发送短信
+                            if ("approve".equals(flowBaseInfo.getTaskDefKey())&&("approve".equals(task.getTaskDefinitionKey()))){
+                                continue;
+                            }
+                            String assignee = task.getAssignee();
+                            if (org.apache.commons.lang3.StringUtils.isNotBlank(assignee)) { // 给审批人发送短信
+                                SysUser auditUser = sysUserService.selectUserById(Long.valueOf(assignee));
+                                String auditContents = auditUser.getNickName() + ",您好。投资系统中" + projectInvestigate.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()+",您好。你在投资系统中提交" + projectInvestigate.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()+",您好。你在投资系统中提交" + projectInvestigate.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());
+                    }*/
+                }
+
+            }else{
+                if(StringUtils.isNotEmpty(result)){//代表是终止或者观望
+                    completeContents = applyUserInfo.getNickName()+",您好。你在投资系统中提交" + projectInvestigate.getProjectName() + "的项目背调申请已审核,结果为"+result;
+                    System.out.println(completeContents);
+                    if (applyUserInfo != null && StringUtils.isNotBlank(applyUserInfo.getPhonenumber())) {
+                    /*try{
+                        SmsSenderUtils.sendSms(completeUser.getPhonenumber(), completeContents);
+                    } catch (IOException e) {
+                        logger.error("短信发送失败"+e.getMessage());
+                    }*/
+                    }
+                }
+            }
+
+        }
+    }
 
 }

+ 98 - 5
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/InvestmentOpportunityServiceImpl.java

@@ -24,14 +24,13 @@ import com.ruoyi.tool.service.ITUnifyFileService;
 import org.flowable.engine.repository.ProcessDefinition;
 import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.task.api.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletRequest;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
 
 /**
  * 项目池Service业务层处理
@@ -42,6 +41,7 @@ import java.util.Objects;
 @Service
 public class InvestmentOpportunityServiceImpl extends FlowServiceFactory implements IInvestmentOpportunityService
 {
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
     @Autowired
     private InvestmentOpportunityMapper investmentOpportunityMapper;
 
@@ -215,8 +215,10 @@ public class InvestmentOpportunityServiceImpl extends FlowServiceFactory impleme
                     flowBaseInfo.setFlag(true);
                     flowBaseInfo.setComment(tProjectPool.isFlag() ? "[提交]" : "[暂存]");
                     flowBaseInfo.setStatus(FlowStatusEnum.STARTED.getName());
-
+                    flowBaseInfo.setFlag(tProjectPool.isFlag());
                     activitiBaseInfoService.addActivitiBaseInfo(flowBaseInfo);
+                    //todo 短信
+                    //sendMessage(flowBaseInfo,"");
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();
@@ -352,7 +354,9 @@ public class InvestmentOpportunityServiceImpl extends FlowServiceFactory impleme
             }
             flow.setTaskName(task.getName());
             flow.setCreateBy(SecurityUtils.getLoginUser().getUserId().toString());
+            flow.setFlag(tProjectPool.isFlag());
             ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).active().singleResult();
+            String result="";
             // 表示流程已经审批结束了
             if (processInstance == null) {
                 flow.setStatus(FlowStatusEnum.ENDED.getName());
@@ -367,8 +371,10 @@ public class InvestmentOpportunityServiceImpl extends FlowServiceFactory impleme
                         if(StringUtils.isNotBlank(tProjectPool.getIsTerminate())) {
                             tProjectPool.setStatus(4);//流程状态为关闭
                             if ("1".equals(tProjectPool.getIsTerminate())) {
+                                result="【终止】";
                                 tProjectPool.setProjectStatus("1");//终止
                             } else {
+                                result="【观望】";
                                 tProjectPool.setProjectStatus("2");//观望
                             }
                         }
@@ -379,8 +385,95 @@ public class InvestmentOpportunityServiceImpl extends FlowServiceFactory impleme
 
             tProjectPoolService.updateTProjectPool(tProjectPool);
             activitiBaseInfoService.addActivitiBaseInfo(flow);
+            //todo 短信
+            //sendMessage(flow,result);
         }
         return AjaxResult.success();
     }
+    // todo 短信
+    public void sendMessage(FlowBaseInfo flowBaseInfo,String result) {
+        boolean flag = flowBaseInfo.isFlag();
+        String procInsId = flowBaseInfo.getProcInsId();
+        // 待办任务
+        List<Task> tasks = taskService.createTaskQuery().processInstanceId(procInsId).list();
+        // 对应业务单据
+        TProjectPool projectPool = investmentOpportunityMapper.selectTProjectPoolByProcInstId(procInsId);
+        if (projectPool == null) {
+            return;
+        }
+        // 申请人
+        SysUser applyUserInfo = sysUserService.selectUserById(Long.valueOf(projectPool.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() + ",您好。投资系统中" + projectPool.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()+",您好。你在投资系统中提交" + projectPool.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()+",您好。你在投资系统中提交" +projectPool.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());
+                    }*/
+                }
+
+            }else{
+                if(StringUtils.isNotEmpty(result)){//代表是终止或者观望
+                    completeContents = applyUserInfo.getNickName()+",您好。你在投资系统中提交" +projectPool.getProjectName() + "的项目机会申请已审核,结果为"+result;
+                    System.out.println(completeContents);
+                    if (applyUserInfo != null && StringUtils.isNotBlank(applyUserInfo.getPhonenumber())) {
+                    /*try{
+                        SmsSenderUtils.sendSms(completeUser.getPhonenumber(), completeContents);
+                    } catch (IOException e) {
+                        logger.error("短信发送失败"+e.getMessage());
+                    }*/
+                    }
+                }
+            }
+
+        }
+    }
 
 }

+ 83 - 21
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/TerminationServiceImpl.java

@@ -23,6 +23,8 @@ import com.ruoyi.tool.service.ITUnifyFileService;
 import org.flowable.engine.repository.ProcessDefinition;
 import org.flowable.engine.runtime.ProcessInstance;
 import org.flowable.task.api.Task;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -38,15 +40,13 @@ import java.util.*;
 @Service
 public class TerminationServiceImpl extends FlowServiceFactory implements ITerminationService
 {
+    protected final Logger logger = LoggerFactory.getLogger(this.getClass());
     @Autowired
     private TerminationMapper terminationMapper;
     @Autowired
     private ITProjectPoolService tProjectPoolService;
-
     @Autowired
     private ITProjectCirculationService tProjectCirculationService;
-
-
     @Autowired
     private IFlowBaseInfoService activitiBaseInfoService;
     @Autowired
@@ -55,14 +55,11 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
     private ISysUserService sysUserService;
     @Autowired
     private SysDeptMapper sysDeptMapper;
-
     @Autowired
     private IFlowService flowService;
     @Autowired
     private ITProjectMeetingService tProjectMeetingService;
     @Autowired
-    private ITProjectScoringService tProjectScoringService;
-    @Autowired
     private TProjectScoringMapper tProjectScoringMapper;
     @Override
     public List<ProjectTerminationVo> selectAllTerminationList(TProjectTermination tProjectTermination){
@@ -173,13 +170,15 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
                     flowBaseInfo.setFlag(true);
                     flowBaseInfo.setComment(tProjectTermination.isFlag() ? "[提交]" : "[暂存]");
                     flowBaseInfo.setStatus(FlowStatusEnum.STARTED.getName());
-
+                    flowBaseInfo.setFlag(tProjectTermination.isFlag());
                     activitiBaseInfoService.addActivitiBaseInfo(flowBaseInfo);
                     TProjectPool tProjectPool=new TProjectPool();
                     tProjectPool.setId(tProjectTermination.getProjectPoolId());
                     tProjectPool.setProjectStage("8");//项目阶段-项目终止
                     tProjectPool.setProjectState("o");//项目状态-项目终止
                     tProjectPoolService.updateTProjectPool(tProjectPool);
+                    // todo 短信
+                    //sendMessage(flowBaseInfo);
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();
@@ -247,34 +246,25 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
             }
             flow.setTaskName(task.getName());
             flow.setCreateBy(SecurityUtils.getLoginUser().getUserId().toString());
-
+            flow.setFlag(tProjectTermination.isFlag());
             ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(task.getProcessInstanceId()).active().singleResult();
             // 表示流程已经审批结束了
             if (processInstance == null) {
                 flow.setStatus(FlowStatusEnum.ENDED.getName());
                 if (!"modifyApply".equals(task.getTaskDefinitionKey())) {
                     //关闭该项目存在的流程(投资机会、项目立项、尽职背调、项目投决)
-
                     tProjectTermination.setStatus(3);
-                    /*tProjectPool.setProjectStage("8");//项目阶段-项目终止
-                    tProjectPool.setProjectState("p");//项目状态-终止通过*/
                     tProjectPool.setUpdateBy(userInfo.getNickName());
                     tProjectPool.setProjectStatus("1");//项目机会状态为终止
                     // todo 增加项目创建记录
                     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);
             activitiBaseInfoService.addActivitiBaseInfo(flow);
+            //todo 短信
+            //sendMessage(flow);
         }
         return AjaxResult.success();
     }
@@ -310,4 +300,76 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
     public TProjectTermination listProjectPoolIdNew(String 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());
+                    }*/
+                }
+
+            }
+        }
+    }
 }

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/mapper/ApprovalMapper.java

@@ -24,6 +24,7 @@ public interface ApprovalMapper {
     List<ProjectApprovalVo> getMyList(@Param("userId") String userId, @Param("projectApproval")TProjectApproval tProjectApproval);
     /*详情*/
     public TProjectApproval selectTProjectApprovalByProcInstId(String ProcInstId);
+    public ProjectApprovalVo selectProjectApprovalByProcInstId(String ProcInstId);
 
 
 }

+ 1 - 1
ruoyi-system/src/main/java/com/ruoyi/invest/mapper/DecisionMapper.java

@@ -26,6 +26,6 @@ public interface DecisionMapper {
     List<ProjectDecisionVo> getMyList(@Param("userId") String userId, @Param("projectDecision")TProjectDecision tProjectDecision);
     /*详情*/
     public TProjectDecision selectTProjectDecisionByProcInstId(String ProcInstId);
-
+    public ProjectDecisionVo selectProjectDecisionByProcInstId(String ProcInstId);
 
 }

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/mapper/InvestigateMapper.java

@@ -24,6 +24,7 @@ public interface InvestigateMapper {
     List<ProjectInvestigateVo> getMyList(@Param("userId") String userId, @Param("projectInvestigate")TProjectInvestigate tProjectInvestigate);
     /*详情*/
     public TProjectInvestigate selectTProjectInvestigateByProcInstId(String ProcInstId);
+    public ProjectInvestigateVo selectProjectInvestigateByProcInstId(String ProcInstId);
 
 
 }

+ 1 - 0
ruoyi-system/src/main/java/com/ruoyi/invest/mapper/TerminationMapper.java

@@ -39,6 +39,7 @@ public interface TerminationMapper {
     List<ProjectTerminationVo> getMyList(@Param("userId") String userId, @Param("projectTermination")TProjectTermination tProjectTermination);
     /*详情*/
     public TProjectTermination selectTProjectTerminationByProcInstId(String ProcInstId);
+    public ProjectTerminationVo selectProjectTerminationByProcInstId(String ProcInstId);
 
     /**
      * 根据项目ID获取最新终止申请

+ 12 - 0
ruoyi-system/src/main/resources/mapper/invest/ApprovalMapper.xml

@@ -225,5 +225,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
         GROUP BY a.id
     </select>
+    <select id="selectProjectApprovalByProcInstId" parameterType="java.lang.String" resultMap="ProjectApprovalVoResult">
+        select a.id,a.proc_inst_id, a.project_pool_id, a.project_overview, a.project_sparkle, a.participants_id,
+               a.participants, a.remark, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.need_meeting,
+               t.TASK_DEF_KEY_ as 'taskDefKey',tp.project_name
+        from t_project_approval a
+         left join t_project_pool tp on tp.id=a.project_pool_id
+         left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
+         left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
+         left join sys_user u on a.create_by = u.user_id
+        where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
+        GROUP BY a.id
+    </select>
 
 </mapper>

+ 12 - 1
ruoyi-system/src/main/resources/mapper/invest/DecisionMapper.xml

@@ -222,5 +222,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
         GROUP BY a.id
     </select>
-
+    <select id="selectProjectDecisionByProcInstId" parameterType="java.lang.String" resultMap="ProjectDecisionVoResult">
+        select a.id,a.proc_inst_id, a.project_pool_id, a.participants_id,a.participants,
+               a.provision, a.remark, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.need_meeting,
+               t.TASK_DEF_KEY_ as 'taskDefKey',tp.project_name
+        from t_project_decision a
+        left join t_project_pool tp on tp.id=a.project_pool_id
+        left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
+        left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
+        left join sys_user u on a.create_by = u.user_id
+        where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
+        GROUP BY a.id
+    </select>
 </mapper>

+ 13 - 1
ruoyi-system/src/main/resources/mapper/invest/InvestigateMapper.xml

@@ -250,5 +250,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
         GROUP BY a.id
     </select>
-
+    <select id="selectProjectInvestigateByProcInstId" parameterType="java.lang.String" resultMap="ProjectInvestigateVoResult">
+        select a.id,a.proc_inst_id, a.project_pool_id, a.investigate_name, a.investigate_code,a.investigate_place, a.start_time, a.end_time, a.readiness, a.third_party, a.dead_date,
+               a.investigate_person, a.investigate_person_id, a.investigate_cost, a.describe_,
+               a.remark, a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,a.status,
+               tp.project_name,tp.project_status, t.TASK_DEF_KEY_ as 'taskDefKey'
+        from t_project_investigate a
+        left join t_project_pool tp on tp.id=a.project_pool_id
+        left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
+        left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
+        left join sys_user u on a.create_by = u.user_id
+        where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
+        GROUP BY a.id
+    </select>
 </mapper>

+ 12 - 0
ruoyi-system/src/main/resources/mapper/invest/TerminationMapper.xml

@@ -258,6 +258,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
         GROUP BY a.id
     </select>
+    <select id="selectProjectTerminationByProcInstId" parameterType="java.lang.String" resultMap="ProjectTerminationVoResult">
+        select a.id,a.proc_inst_id, a.project_pool_id, a.reason,
+               a.del_flag, a.create_by, a.create_time, a.update_by, a.update_time ,
+               t.TASK_DEF_KEY_ as 'taskDefKey',tp.project_name
+        from t_project_termination a
+        left join t_project_pool tp on tp.id=a.project_pool_id
+        left join ACT_RU_TASK t on a.proc_inst_id = t.PROC_INST_ID_
+        left join (select * from sys_user limit 100000) ui on t.ASSIGNEE_ = ui.user_id
+        left join sys_user u on a.create_by = u.user_id
+        where a.proc_inst_id = #{procInstId,jdbcType=VARCHAR}
+        GROUP BY a.id
+    </select>
 
     <select id="listProjectPoolIdNew" parameterType="String" resultMap="TProjectTerminationResult">
         <include refid="selectTProjectTerminationVo"/>

+ 4 - 2
ruoyi-ui/src/views/project/approval/audit.vue

@@ -1698,11 +1698,13 @@ export default {
             this.$refs.fileItemLXApply.fileList = [];
             this.$refs.fileItemLXApply.getListFileBusinessId(that.formLXApply.id,"10");
             //项目行研报告
-            this.$refs.industryFileItem.handleButton();
+            if(response.data.taskDefKey==='president') {
+              this.$refs.industryFileItem.handleButton();
+              this.$refs.technicalFileItem.handleButton();
+            }
             this.$refs.industryFileItem.fileList = [];
             this.$refs.industryFileItem.getListFileBusinessId(that.formLXApply.id, "12");
             //项目技术报告
-            this.$refs.technicalFileItem.handleButton();
             this.$refs.technicalFileItem.fileList = [];
             this.$refs.technicalFileItem.getListFileBusinessId(that.formLXApply.id, "13");
             //其他附件

+ 4 - 2
ruoyi-ui/src/views/project/investigate/audit.vue

@@ -474,12 +474,14 @@ export default {
             this.$refs.fileItems1.listFile = [];
             this.$refs.fileItems1.handleButton();
             this.$refs.fileItems1.getListFileBusinessId(that.dueForm.id,"11");
+            if(response.data.taskDefKey==='president') {
+              this.$refs.financeFileItem.handleButton();
+              this.$refs.legalFileItem.handleButton();
+            }
             //项目行研报告
-            this.$refs.financeFileItem.handleButton();
             this.$refs.financeFileItem.fileList = [];
             this.$refs.financeFileItem.getListFileBusinessId(that.dueForm.id, "14");
             //项目技术报告
-            this.$refs.legalFileItem.handleButton();
             this.$refs.legalFileItem.fileList = [];
             this.$refs.legalFileItem.getListFileBusinessId(that.dueForm.id, "15");
             //其他

+ 1 - 0
ruoyi-ui/src/views/project/meetingList.vue

@@ -943,6 +943,7 @@ import {
 } from "@/api/invest/meeting";
 import {approvalStart} from "@/api/project/approval/pool";
 import {decisionStart} from "@/api/project/decision/pool";
+import {terminationStart} from "@/api/project/termination/pool";
 import projectItem from "../invest/components/projectItem";
 import projectItemLX from "./approval/projectItem";
 import projectItemTJ from "./decision/projectItem";