2 Commits 7b713e5000 ... 67d5d27d0d

Autore SHA1 Messaggio Data
  dangzj 67d5d27d0d Merge remote-tracking branch 'origin/invest-dev-hxy' into invest-dev-hxy 1 settimana fa
  dangzj 6ab4dab415 增加审批提交更新代办数量内容 1 settimana fa

+ 42 - 42
ruoyi-admin/src/main/java/com/ruoyi/web/job/ToDoNumberJob.java

@@ -37,46 +37,46 @@ public class ToDoNumberJob {
      * 每五分钟更新一次待办事项数量
      *
      */
-    @Scheduled(fixedDelay = 120000,initialDelay = 10000)
-    public void updateToDoNumber(){
-        logger.info("开始更新待办事项数量");
-        //查询所有进行中的任务
-        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
-        RuntimeService runtimeService = engine.getRuntimeService();
-        List<ProcessInstance> instances = runtimeService
-                .createProcessInstanceQuery()
-                .active()
-                .list();
-        //声明map记录用户和对应的代办数量
-        Map<String,Integer> map = new HashMap<>();
-        for (ProcessInstance instance : instances) {
-           /* TaskQuery query = engine.getTaskService().createTaskQuery()
-                    .processInstanceId(instance.getId());
-            //获取对应的待处理用户记录代办数量+1
-            String assignee = query.singleResult().getAssignee();*/
-            List<Task> taskList = engine.getTaskService().createTaskQuery()
-                    .processInstanceId(instance.getId())
-                    .list();
-            // 遍历所有任务,获取每个处理人
-            for (Task task : taskList) {
-                String assignee = task.getAssignee();
-                // 处理每个处理人...
-                if(assignee!=null && !"".equals(assignee)){
-                    //根据用户id获取用户对象
-                    SysUser userInfo= sysUserService.selectUserById(Long.parseLong(assignee));
-                    if (map.containsKey(userInfo.getUserName())){
-                        map.put(userInfo.getUserName(),map.get(userInfo.getUserName())+1);
-                    }else {
-                        map.put(userInfo.getUserName(),1);
-                    }
-                }
-            }
-        }
-        //先清空redis中待办数量
-        redisCache.deleteObject("toDoNumber");
-        //将对应代办数量更新到redis当中
-        if(map.size()>0){
-            redisCache.setCacheObject("toDoNumber", map);
-        }
-    }
+//    @Scheduled(fixedDelay = 120000,initialDelay = 10000)
+//    public void updateToDoNumber(){
+//        logger.info("开始更新待办事项数量");
+//        //查询所有进行中的任务
+//        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
+//        RuntimeService runtimeService = engine.getRuntimeService();
+//        List<ProcessInstance> instances = runtimeService
+//                .createProcessInstanceQuery()
+//                .active()
+//                .list();
+//        //声明map记录用户和对应的代办数量
+//        Map<String,Integer> map = new HashMap<>();
+//        for (ProcessInstance instance : instances) {
+//           /* TaskQuery query = engine.getTaskService().createTaskQuery()
+//                    .processInstanceId(instance.getId());
+//            //获取对应的待处理用户记录代办数量+1
+//            String assignee = query.singleResult().getAssignee();*/
+//            List<Task> taskList = engine.getTaskService().createTaskQuery()
+//                    .processInstanceId(instance.getId())
+//                    .list();
+//            // 遍历所有任务,获取每个处理人
+//            for (Task task : taskList) {
+//                String assignee = task.getAssignee();
+//                // 处理每个处理人...
+//                if(assignee!=null && !"".equals(assignee)){
+//                    //根据用户id获取用户对象
+//                    SysUser userInfo= sysUserService.selectUserById(Long.parseLong(assignee));
+//                    if (map.containsKey(userInfo.getUserName())){
+//                        map.put(userInfo.getUserName(),map.get(userInfo.getUserName())+1);
+//                    }else {
+//                        map.put(userInfo.getUserName(),1);
+//                    }
+//                }
+//            }
+//        }
+//        //先清空redis中待办数量
+//        redisCache.deleteObject("toDoNumber");
+//        //将对应代办数量更新到redis当中
+//        if(map.size()>0){
+//            redisCache.setCacheObject("toDoNumber", map);
+//        }
+//    }
 }

+ 2 - 0
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/ISysFormService.java

@@ -57,4 +57,6 @@ public interface ISysFormService
      * @return 结果
      */
     public int deleteSysFormById(Long formId);
+
+    void updateToDoNumber();
 }

+ 5 - 3
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/ApprovalServiceImpl.java

@@ -12,9 +12,7 @@ import com.ruoyi.flowable.common.constant.ProcessConstants;
 import com.ruoyi.flowable.common.constant.UUIDGenerator;
 import com.ruoyi.flowable.common.enums.FlowStatusEnum;
 import com.ruoyi.flowable.factory.FlowServiceFactory;
-import com.ruoyi.flowable.service.IFlowInstanceService;
-import com.ruoyi.flowable.service.IFlowService;
-import com.ruoyi.flowable.service.IApprovalService;
+import com.ruoyi.flowable.service.*;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.vo.ProjectApprovalVo;
 import com.ruoyi.invest.mapper.ApprovalMapper;
@@ -79,6 +77,8 @@ public class ApprovalServiceImpl extends FlowServiceFactory implements IApproval
     private ITProjectScoringService tProjectScoringService;
     @Autowired
     private TProjectScoringMapper tProjectScoringMapper;
+    @Autowired
+    private ISysFormService sysFormService;
     @Override
     public List<ProjectApprovalVo> selectAllApprovalList(TProjectApproval tProjectApproval){
         return approvalMapper.selectAllApprovalList(tProjectApproval);
@@ -214,6 +214,8 @@ public class ApprovalServiceImpl extends FlowServiceFactory implements IApproval
                         //todo 短信
                         sendMessage(flowBaseInfo,"");
                     }
+                    //更新代办任务数量
+                    sysFormService.updateToDoNumber();
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();

+ 6 - 3
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/DecisionServiceImpl.java

@@ -12,9 +12,7 @@ import com.ruoyi.flowable.common.constant.ProcessConstants;
 import com.ruoyi.flowable.common.constant.UUIDGenerator;
 import com.ruoyi.flowable.common.enums.FlowStatusEnum;
 import com.ruoyi.flowable.factory.FlowServiceFactory;
-import com.ruoyi.flowable.service.IDecisionService;
-import com.ruoyi.flowable.service.IFlowInstanceService;
-import com.ruoyi.flowable.service.IFlowService;
+import com.ruoyi.flowable.service.*;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.vo.ProjectDecisionVo;
 import com.ruoyi.invest.mapper.DecisionMapper;
@@ -75,6 +73,9 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
     private ITProjectScoringService tProjectScoringService;
     @Autowired
     private TProjectScoringMapper tProjectScoringMapper;
+
+    @Autowired
+    private ISysFormService sysFormService;
     @Override
     public List<ProjectDecisionVo> selectAllDecisionList(TProjectDecision tProjectDecision){
         return decisionMapper.selectAllDecisionList(tProjectDecision);
@@ -211,6 +212,8 @@ public class DecisionServiceImpl extends FlowServiceFactory implements IDecision
                         // todo 短信
                         sendMessage(flowBaseInfo,"");
                     }
+                    //更新代办任务数量
+                    sysFormService.updateToDoNumber();
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();

+ 6 - 1
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/FlowServiceImpl.java

@@ -5,6 +5,8 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.flowable.factory.FlowServiceFactory;
 import com.ruoyi.flowable.service.IFlowService;
+import com.ruoyi.flowable.service.ISysFormService;
+import com.ruoyi.flowable.service.ISysTaskFormService;
 import org.flowable.engine.*;
 import org.flowable.engine.form.FormProperty;
 import org.flowable.engine.impl.form.StartFormDataImpl;
@@ -33,6 +35,8 @@ public class FlowServiceImpl extends FlowServiceFactory implements IFlowService
 	private IdentityService identityService;
     @Autowired
     private RepositoryService repositoryService;
+	@Autowired
+	private ISysFormService sysFormService;
 
     /**
      * 根据任务Id获取流程实例信息
@@ -252,7 +256,8 @@ public class FlowServiceImpl extends FlowServiceFactory implements IFlowService
 			// String msg = isOk ? "审核完成,同意成功!" : "审核完成,驳回成功!";
 			String msg = "审核完成!";
 			rs.put("msg", msg);
-
+			//更新代办任务数量
+			sysFormService.updateToDoNumber();
 		} catch (Exception e) {
 			e.printStackTrace();
 			rs.put("status", false);

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

@@ -12,9 +12,7 @@ import com.ruoyi.flowable.common.constant.ProcessConstants;
 import com.ruoyi.flowable.common.constant.UUIDGenerator;
 import com.ruoyi.flowable.common.enums.FlowStatusEnum;
 import com.ruoyi.flowable.factory.FlowServiceFactory;
-import com.ruoyi.flowable.service.IFlowInstanceService;
-import com.ruoyi.flowable.service.IFlowService;
-import com.ruoyi.flowable.service.IInvestigateService;
+import com.ruoyi.flowable.service.*;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.vo.ProjectInvestigateVo;
 import com.ruoyi.invest.mapper.InvestigateMapper;
@@ -72,6 +70,9 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
     private SysDeptMapper sysDeptMapper;
     @Autowired
     private IFlowService flowService;
+
+    @Autowired
+    private ISysFormService sysFormService;
     @Override
     public List<ProjectInvestigateVo> selectAllInvestigateList(TProjectInvestigate tProjectInvestigate){
         return investigateMapper.selectAllInvestigateList(tProjectInvestigate);
@@ -201,6 +202,8 @@ public class InvestigateServiceImpl extends FlowServiceFactory implements IInves
                         //todo 短信
                         sendMessage(flowBaseInfo,"");
                     }
+                    //更新代办任务数量
+                    sysFormService.updateToDoNumber();
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();

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

@@ -12,11 +12,9 @@ import com.ruoyi.flowable.common.constant.ProcessConstants;
 import com.ruoyi.flowable.common.constant.UUIDGenerator;
 import com.ruoyi.flowable.common.enums.FlowStatusEnum;
 import com.ruoyi.flowable.factory.FlowServiceFactory;
-import com.ruoyi.flowable.service.IFlowInstanceService;
-import com.ruoyi.flowable.service.IFlowService;
+import com.ruoyi.flowable.service.*;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.mapper.InvestmentOpportunityMapper;
-import com.ruoyi.flowable.service.IInvestmentOpportunityService;
 import com.ruoyi.invest.service.*;
 import com.ruoyi.invest.domain.vo.TProjectPoolVo;
 import com.ruoyi.system.mapper.SysDeptMapper;
@@ -75,6 +73,8 @@ public class InvestmentOpportunityServiceImpl extends FlowServiceFactory impleme
     private SysDeptMapper sysDeptMapper;
     @Autowired
     private ITProjectReviewService tProjectReviewService;
+    @Autowired
+    private ISysFormService sysFormService;
 
     @Autowired
     private IFlowService flowService;
@@ -229,6 +229,8 @@ public class InvestmentOpportunityServiceImpl extends FlowServiceFactory impleme
                         //todo 短信
                         sendMessage(flowBaseInfo,"");
                     }
+                    //更新代办任务数量
+                    sysFormService.updateToDoNumber();
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();

+ 59 - 0
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/SysFormServiceImpl.java

@@ -1,7 +1,18 @@
 package com.ruoyi.flowable.service.impl;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.system.service.ISysUserService;
+import org.flowable.engine.ProcessEngine;
+import org.flowable.engine.ProcessEngines;
+import org.flowable.engine.RuntimeService;
+import org.flowable.engine.runtime.ProcessInstance;
+import org.flowable.task.api.Task;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.system.mapper.SysFormMapper;
@@ -20,6 +31,12 @@ public class SysFormServiceImpl implements ISysFormService
     @Autowired
     private SysFormMapper sysFormMapper;
 
+    @Autowired
+    private ISysUserService sysUserService;
+
+    @Autowired
+    private RedisCache redisCache;
+
     /**
      * 查询流程表单
      * 
@@ -93,4 +110,46 @@ public class SysFormServiceImpl implements ISysFormService
     {
         return sysFormMapper.deleteSysFormById(formId);
     }
+
+    @Override
+    public void updateToDoNumber() {
+        //查询所有进行中的任务
+        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
+        RuntimeService runtimeService = engine.getRuntimeService();
+        List<ProcessInstance> instances = runtimeService
+                .createProcessInstanceQuery()
+                .active()
+                .list();
+        //声明map记录用户和对应的代办数量
+        Map<String,Integer> map = new HashMap<>();
+        for (ProcessInstance instance : instances) {
+           /* TaskQuery query = engine.getTaskService().createTaskQuery()
+                    .processInstanceId(instance.getId());
+            //获取对应的待处理用户记录代办数量+1
+            String assignee = query.singleResult().getAssignee();*/
+            List<Task> taskList = engine.getTaskService().createTaskQuery()
+                    .processInstanceId(instance.getId())
+                    .list();
+            // 遍历所有任务,获取每个处理人
+            for (Task task : taskList) {
+                String assignee = task.getAssignee();
+                // 处理每个处理人...
+                if(assignee!=null && !"".equals(assignee)){
+                    //根据用户id获取用户对象
+                    SysUser userInfo= sysUserService.selectUserById(Long.parseLong(assignee));
+                    if (map.containsKey(userInfo.getUserName())){
+                        map.put(userInfo.getUserName(),map.get(userInfo.getUserName())+1);
+                    }else {
+                        map.put(userInfo.getUserName(),1);
+                    }
+                }
+            }
+        }
+        //先清空redis中待办数量
+        redisCache.deleteObject("toDoNumber");
+        //将对应代办数量更新到redis当中
+        if(map.size()>0){
+            redisCache.setCacheObject("toDoNumber", map);
+        }
+    }
 }

+ 8 - 0
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/TProjectInvestigateServiceImpl.java

@@ -20,6 +20,8 @@ import com.ruoyi.flowable.common.enums.FlowStatusEnum;
 import com.ruoyi.flowable.factory.FlowServiceFactory;
 import com.ruoyi.flowable.service.IFlowInstanceService;
 import com.ruoyi.flowable.service.IFlowService;
+import com.ruoyi.flowable.service.ISysFormService;
+import com.ruoyi.flowable.service.ISysTaskFormService;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.service.IFlowBaseInfoService;
 import com.ruoyi.invest.service.ITProjectCirculationService;
@@ -77,6 +79,9 @@ public class TProjectInvestigateServiceImpl extends FlowServiceFactory implement
     @Autowired
     private IFlowService flowService;
 
+    @Autowired
+    private ISysFormService sysFormService;
+
     /**
      * 查询尽调关联
      * 
@@ -278,6 +283,9 @@ public class TProjectInvestigateServiceImpl extends FlowServiceFactory implement
                             }
                         });
                     }*/
+
+                    //更新代办任务数量
+                    sysFormService.updateToDoNumber();
                     return AjaxResult.success();
 
                 }

+ 5 - 3
ruoyi-flowable/src/main/java/com/ruoyi/flowable/service/impl/TerminationServiceImpl.java

@@ -11,9 +11,7 @@ import com.ruoyi.flowable.common.constant.ProcessConstants;
 import com.ruoyi.flowable.common.constant.UUIDGenerator;
 import com.ruoyi.flowable.common.enums.FlowStatusEnum;
 import com.ruoyi.flowable.factory.FlowServiceFactory;
-import com.ruoyi.flowable.service.ITerminationService;
-import com.ruoyi.flowable.service.IFlowInstanceService;
-import com.ruoyi.flowable.service.IFlowService;
+import com.ruoyi.flowable.service.*;
 import com.ruoyi.invest.domain.*;
 import com.ruoyi.invest.domain.vo.ProjectTerminationVo;
 import com.ruoyi.invest.mapper.TerminationMapper;
@@ -67,6 +65,8 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
     private ITProjectMeetingService tProjectMeetingService;
     @Autowired
     private TProjectScoringMapper tProjectScoringMapper;
+    @Autowired
+    private ISysFormService sysFormService;
     @Override
     public List<ProjectTerminationVo> selectAllTerminationList(TProjectTermination tProjectTermination){
         return terminationMapper.selectAllTerminationList(tProjectTermination);
@@ -193,6 +193,8 @@ public class TerminationServiceImpl extends FlowServiceFactory implements ITermi
                         // todo 短信
                         sendMessage(flowBaseInfo);
                     }
+                    //更新代办任务数量
+                    sysFormService.updateToDoNumber();
                     return AjaxResult.success();
                 }
                 return AjaxResult.error();