Преглед изворни кода

11482-【CR】【投资系统】增加审批流程-背调审批流程、以及项目详情显示更改、项目阶段显示项目流程非关闭

hxy пре 1 месец
родитељ
комит
5360e3b876

+ 10 - 10
ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ProjectController.java

@@ -107,7 +107,7 @@ public class ProjectController extends BaseController
     {
         startPage();
         tProjectPool.setDelFlag("0");//数据未删除
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("1");//项目报备(项目机会)
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool);
@@ -122,7 +122,7 @@ public class ProjectController extends BaseController
     public void exportInvestOppStage(HttpServletResponse response, TProjectPool tProjectPool)
     {
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("1");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool)
@@ -158,7 +158,7 @@ public class ProjectController extends BaseController
     {
         startPage();
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("3");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool)
@@ -180,7 +180,7 @@ public class ProjectController extends BaseController
     public void exportApprovalStage(HttpServletResponse response, TProjectPool tProjectPool)
     {
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("3");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool)
@@ -216,7 +216,7 @@ public class ProjectController extends BaseController
     {
         startPage();
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("4");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool)
@@ -238,7 +238,7 @@ public class ProjectController extends BaseController
     public void exportInvestigateStage(HttpServletResponse response, TProjectPool tProjectPool)
     {
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("4");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool)
@@ -274,7 +274,7 @@ public class ProjectController extends BaseController
     {
         startPage();
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("5");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool).stream().map(n -> {
@@ -295,7 +295,7 @@ public class ProjectController extends BaseController
     public void exportDecisionStage(HttpServletResponse response, TProjectPool tProjectPool)
     {
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("5");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool)
@@ -331,7 +331,7 @@ public class ProjectController extends BaseController
     {
         startPage();
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("6");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool);
@@ -346,7 +346,7 @@ public class ProjectController extends BaseController
     public void exportSignStage(HttpServletResponse response, TProjectPool tProjectPool)
     {
         tProjectPool.setDelFlag("0");
-        //tProjectPool.setStatus(4);//流程状态非关闭
+        tProjectPool.setStatus(4);//流程状态非关闭
         tProjectPool.setProjectStage("6");
         tProjectPool.setProjectStatus("0");//项目机会状态非观望2、非终止1(也就是项目机会状态为正常0)
         List<TProjectPool> list = investmentOpportunityService.selectProjectList(tProjectPool)

+ 55 - 10
ruoyi-flowable/src/main/java/com/ruoyi/flowable/listener/DueTaskListener.java

@@ -2,6 +2,7 @@ package com.ruoyi.flowable.listener;
 
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.system.mapper.SysDeptMapper;
+import com.ruoyi.system.service.IApproveUserService;
 import com.ruoyi.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
 import org.flowable.engine.delegate.TaskListener;
@@ -9,6 +10,9 @@ import org.flowable.task.service.delegate.DelegateTask;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * 任务监听器
  *
@@ -25,6 +29,7 @@ import org.springframework.stereotype.Component;
 public class DueTaskListener implements TaskListener{
     private static ISysUserService sysUserService;
     private static SysDeptMapper sysDeptMapper;
+    private static IApproveUserService approveUserService;
     @Autowired
     public void setSysUserService(ISysUserService sysUserService) {
         DueTaskListener.sysUserService = sysUserService;
@@ -33,27 +38,67 @@ public class DueTaskListener implements TaskListener{
     public void setSysDeptMapper(SysDeptMapper sysDeptMapper) {
         DueTaskListener.sysDeptMapper = sysDeptMapper;
     }
+    @Autowired
+    public void setApproveUserMapper(IApproveUserService approveUserService) {
+        DueTaskListener.approveUserService = approveUserService;
+    }
     @Override
     public void notify(DelegateTask delegateTask) {
 
         log.info("任务监听器:{}", delegateTask);
         // TODO  获取事件类型 delegateTask.getEventName(),可以通过监听器给任务执行人发送相应的通知消息
         String eventName= delegateTask.getEventName();
+        System.out.println("任务监听器触发事件:" + eventName);
         String taskDefKey= delegateTask.getTaskDefinitionKey();
         Object obj = delegateTask.getVariable("INITIATOR");
         SysUser user = sysUserService.selectUserById((Long) obj);
         String leader=sysDeptMapper.selectDeptLeader("投资部");
         SysUser leaderUser=sysUserService.selectUserByUserName(leader);
-        if("deptLeader".equals(taskDefKey)) {//部门负责人、
-            //部门负责人
-            delegateTask.setAssignee(leaderUser.getUserId().toString());
-        }else if("confirm".equals(taskDefKey)){
-            //申请人本人确认
-            delegateTask.setAssignee(user.getUserId().toString());
-        }else if("president".equals(taskDefKey)){
-            //总裁室固定杨总
-            SysUser ylUser=sysUserService.selectUserByUserName("杨琳");
-            delegateTask.setAssignee(ylUser.getUserId().toString());
+        if("create".equals(eventName)) {
+            if ("deptLeader".equals(taskDefKey)) {//部门负责人、
+                //部门负责人
+                delegateTask.setAssignee(leaderUser.getUserId().toString());
+            } else if ("confirm".equals(taskDefKey)) {
+                //申请人本人确认
+                delegateTask.setAssignee(user.getUserId().toString());
+            } else if ("president".equals(taskDefKey)) {
+                //总裁室固定杨总
+                SysUser ylUser = sysUserService.selectUserByUserName("杨琳");
+                delegateTask.setAssignee(ylUser.getUserId().toString());
+            }
+        }else if("complete".equals(eventName)){
+            if ("deptLeader".equals(taskDefKey)) {
+                List<String> aUser = approveUserService.findApproveUser();
+                if (aUser != null && aUser.size() > 0) {
+                /*if(aUser.size() == 1){
+                    delegateTask.setAssignee(aUser.get(0));
+                }else{
+                    delegateTask.addCandidateUsers(aUser);
+                }*/
+                    delegateTask.setVariable("uploadList", aUser);
+                } else {
+                    List<String> users = new ArrayList<>();
+                    /*List<SysUser> financeUsers = sysUserService.selectUserByDeptName("财务部");
+                    if (financeUsers != null && financeUsers.size() > 0) {
+                        for (SysUser userInfo : financeUsers) {
+                            if("周亚琴".equals(userInfo.getNickName())&&"15821632425".equals(userInfo.getUserName())) {
+                                users.add(userInfo.getUserId().toString());
+                            }
+                        }
+                    }
+                    List<SysUser> lawUsers = sysUserService.selectUserByDeptName("法务部");
+                    if (lawUsers != null && lawUsers.size() > 0) {
+                        for (SysUser userInfo : lawUsers) {
+                            if("钱振雷".equals(userInfo.getNickName())&&"18964333328".equals(userInfo.getUserName())) {
+                                users.add(userInfo.getUserId().toString());
+                            }
+                        }
+                    }*/
+                    users.add("31");
+                    users.add("850");
+                    delegateTask.setVariable("uploadList", users);
+                }
+            }
         }
 
     }

+ 8 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -131,4 +131,12 @@ public interface SysUserMapper
      * @return 结果
      */
     public SysUser checkEmailUnique(String email);
+
+    /**
+     * 通过部门名称查询用户
+     *
+     * @param deptName 部门名称
+     * @return 用户对象信息
+     */
+    List<SysUser> selectUserByDeptName(String deptName,String deptName1);
 }

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

@@ -175,9 +175,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         uu.nick_name AS 'startUserName',
         dd.dept_name AS 'startDeptName',
         t.ID_ AS 'taskId',
-        t.NAME_ AS 'taskName',
+        GROUP_CONCAT(DISTINCT t.NAME_ SEPARATOR '\r\n' ) as 'taskName',
         t.ASSIGNEE_ AS 'assignee',
-        ui.nick_name AS 'assigneeName',
+        GROUP_CONCAT(DISTINCT ui.nick_name SEPARATOR '\r\n') AS 'assigneeName',
         t.TASK_DEF_KEY_ as 'taskDefKey',
         rp.DEPLOYMENT_ID_ AS 'deployId'
         from t_project_investigate a
@@ -207,7 +207,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         p.START_USER_ID_ AS 'startUserId',
         uu.nick_name AS 'startUserName',
         dd.dept_name AS 'startDeptName',
-        t.NAME_ as 'taskName',
+        GROUP_CONCAT(DISTINCT t.NAME_ SEPARATOR '\r\n' ) as 'taskName',
         t.TASK_DEF_KEY_ as 'taskDefKey',
         DATE_FORMAT(t.CREATE_TIME_ ,'%Y-%m-%d %H:%i') as 'taskCreateTiem',
         t.ASSIGNEE_ as 'assignee',

+ 8 - 8
ruoyi-ui/src/views/project/poolDetail.vue

@@ -58,7 +58,7 @@
         align-center
         style="margin-left: -60px"
       >
-        <el-step title="项目报备"></el-step>
+        <el-step title="项目机会"></el-step>
         <el-step title="评估考察"></el-step>
         <el-step title="项目立项"></el-step>
         <el-step title="尽职背调"></el-step>
@@ -121,15 +121,15 @@
     <section class="section3">
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane label="活动" name="0"></el-tab-pane>
-        <el-tab-pane label="项目机会申请" name="1"></el-tab-pane>
-        <el-tab-pane label="评估考察" name="9"></el-tab-pane>
-        <el-tab-pane label="项目立项申请" name="3"></el-tab-pane>
-        <el-tab-pane label="项目背调申请" name="4"></el-tab-pane>
-        <el-tab-pane label="项目投决申请" name="5"></el-tab-pane>
+        <el-tab-pane label="项目信息" name="1"></el-tab-pane>
+        <!-- <el-tab-pane label="评估考察" name="9"></el-tab-pane> -->
+        <el-tab-pane label="项目立项信息" name="3"></el-tab-pane>
+        <el-tab-pane label="项目背调信息" name="4"></el-tab-pane>
+        <el-tab-pane label="项目投决信息" name="5"></el-tab-pane>
         <el-tab-pane label="跟进记录" name="2"></el-tab-pane>
-        <el-tab-pane label="会议" name="6"></el-tab-pane>
+        <!-- <el-tab-pane label="会议" name="6"></el-tab-pane> -->
         <!-- <el-tab-pane label="文件资料" name="7"></el-tab-pane> -->
-        <el-tab-pane label="合同" name="8"></el-tab-pane>
+        <!-- <el-tab-pane label="合同" name="8"></el-tab-pane> -->
         <!-- <el-tab-pane label="附件" name="9"></el-tab-pane> -->
       </el-tabs>
       <section>