From bb76415d0b7fe879e3393bb46fcd51a51b06c984 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Thu, 11 Jul 2024 10:55:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=A1=E6=89=B9=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0=E5=BF=AB=E7=85=A7Id?= =?UTF-8?q?=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activiti/entity/ProcessApprovalRecord.java | 7 +++++++ .../service/ProcessApprovalRecordService.java | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/entity/ProcessApprovalRecord.java b/laws-modules/src/main/java/com/jero/modules/activiti/entity/ProcessApprovalRecord.java index d94485d5..8dd6e3b4 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/entity/ProcessApprovalRecord.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/entity/ProcessApprovalRecord.java @@ -206,4 +206,11 @@ public class ProcessApprovalRecord { */ @ApiModelProperty(value = "超期标识(0:未超期 1:已超期)") private String overDue; + + /** + * 快照Id + */ + @TableField(exist = false) + @ApiModelProperty(value = "快照Id") + private String snapshotId; } \ No newline at end of file diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java index 711f48f9..6b9c7396 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/service/ProcessApprovalRecordService.java @@ -1,5 +1,6 @@ package com.jero.modules.activiti.service; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -9,6 +10,8 @@ import com.jero.common.system.api.ISysBaseAPI; import com.jero.modules.activiti.entity.ProcessApprovalRecord; import com.jero.modules.activiti.enums.FinishFlagEnum; import com.jero.modules.activiti.mapper.ProcessApprovalRecordMapper; +import com.jero.modules.activiti.process.common.entity.ProcessSnapshot; +import com.jero.modules.activiti.process.common.service.ProcessSnapshotService; import com.jero.modules.laws.common.util.CurrentUserUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -17,7 +20,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.stream.Collectors; /** * @@ -29,6 +34,9 @@ public class ProcessApprovalRecordService extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.eq(ProcessApprovalRecord::getTaskId,taskId); @@ -52,7 +60,17 @@ public class ProcessApprovalRecordService extends ServiceImpl pageList = this.page(page, wrapper); List records = pageList.getRecords(); + List taskIdList = records.stream().map(ProcessApprovalRecord::getTaskId).collect(Collectors.toList()); + LambdaQueryWrapper processSnapshotWrapper = new LambdaQueryWrapper<>(); + processSnapshotWrapper.in(ProcessSnapshot::getTaskId, taskIdList); + List snapshotList = processSnapshotService.list(processSnapshotWrapper); + Map> snapshotMap = snapshotList.stream().collect(Collectors.groupingBy(ProcessSnapshot::getTaskId)); for (ProcessApprovalRecord record : records) { + List processSnapshots = snapshotMap.get(record.getTaskId()); + if (CollUtil.isNotEmpty(processSnapshots)) { + ProcessSnapshot snapshot = processSnapshots.get(0); + record.setSnapshotId(snapshot.getId()); + } String userId = record.getUserId(); String taskAcceptor = sysBaseAPI.translateUserRealNameFromTable(userId); String delegateBy = record.getDelegateBy();