fanxp 6 kuukautta sitten
vanhempi
commit
697c686609

+ 12 - 7
src/main/java/com/xjrsoft/module/workflow/service/impl/WorkflowExecuteServiceImpl.java

@@ -1628,9 +1628,13 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
         //获取到所有taskid  去extra表一次性查出数据
         List<String> taskIds = tasks.stream().map(Task::getId).collect(Collectors.toList());
 
-        if (taskIds.size() > 0) {
+        Set<String> processInstanceIds = tasks.stream().map(Task::getProcessInstanceId).collect(Collectors.toSet());
+
 
+        if (taskIds.size() > 0) {
             List<WorkflowExtra> workflowExtras = workflowExtraMapper.selectList(Wrappers.lambdaQuery(WorkflowExtra.class).in(WorkflowExtra::getTaskId, taskIds));
+            List<WorkflowRecord> workflowRecords = workflowRecordMapper.selectList(Wrappers.lambdaQuery(WorkflowRecord.class).in(WorkflowRecord::getProcessId, processInstanceIds));
+            Map<String, List<WorkflowRecord>> mapRecords = workflowRecords.stream().collect(Collectors.groupingBy(WorkflowRecord::getProcessId));
             for (Task task : tasks) {
                 PendingTaskVo vo = new PendingTaskVo();
                 Optional<WorkflowExtra> extra = workflowExtras.stream().filter(x -> x.getTaskId().equals(task.getId())).findFirst();
@@ -1645,10 +1649,11 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
                     vo.setProcessName(x.getProcessName());
                 });
                 //查询审批记录中的驳回记录是否有驳回(最后一条)或者自动驳回(倒数第二条)
-                List<WorkflowRecord> recordList = workflowRecordMapper.selectList(
-                        new QueryWrapper<WorkflowRecord>().lambda()
-                                .eq(WorkflowRecord::getProcessId, task.getProcessInstanceId())
-                );
+//                List<WorkflowRecord> recordList = workflowRecordMapper.selectList(
+//                        new QueryWrapper<WorkflowRecord>().lambda()
+//                                .eq(WorkflowRecord::getProcessId, task.getProcessInstanceId())
+//                );
+                List<WorkflowRecord> recordList = mapRecords.get(task.getProcessInstanceId());
                 if (!recordList.isEmpty() && recordList.size() > 1) {
                     String comment = recordList.get(recordList.size() - 1).getMessage();
                     if (comment.contains("【驳回】")) {
@@ -5515,12 +5520,12 @@ public class WorkflowExecuteServiceImpl implements IWorkflowExecuteService {
                 circulateMessage = "【" + user.getName() + "】添加了传阅人【" + circulatedName + "】,当前传阅人【" + addCirculatedName + "】";
             }
         }
-        if(!appendUserTaskCirculated.isEmpty()){
+        if (!appendUserTaskCirculated.isEmpty()) {
             WeChatUtil weChatUtil = SpringUtil.getBean(WeChatUtil.class);
             CommonPropertiesConfig cpConfig = SpringUtil.getBean(CommonPropertiesConfig.class);
             Map<Long, User> userMap = userService.listByIds(appendUserTaskCirculated).stream().filter(x -> StrUtil.isNotEmpty(x.getOpenId())).collect(Collectors.toMap(User::getId, x -> x));
             for (Long userId : appendUserTaskCirculated) {
-                if(!userMap.containsKey(userId)){
+                if (!userMap.containsKey(userId)) {
                     continue;
                 }
 

+ 1 - 1
src/main/resources/application.yml

@@ -5,7 +5,7 @@ server:
 spring:
   # 环 io境 dev|pre|prod
   profiles:
-    active: dev
+    active: pre
   # jackson时间格式化
   jackson:
     time-zone: GMT+8