feat: 审批详情列表增加快照Id字段

This commit is contained in:
2024-07-11 10:55:15 +08:00
parent b95b4ce3cd
commit bb76415d0b
2 changed files with 25 additions and 0 deletions
@@ -206,4 +206,11 @@ public class ProcessApprovalRecord {
*/
@ApiModelProperty(value = "超期标识(0:未超期 1:已超期)")
private String overDue;
/**
* 快照Id
*/
@TableField(exist = false)
@ApiModelProperty(value = "快照Id")
private String snapshotId;
}
@@ -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<ProcessApprovalRec
@Resource
private ISysBaseAPI sysBaseAPI;
@Resource
private ProcessSnapshotService processSnapshotService;
public ProcessApprovalRecord getToDoByTaskId(String taskId){
LambdaQueryWrapper<ProcessApprovalRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProcessApprovalRecord::getTaskId,taskId);
@@ -52,7 +60,17 @@ public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRec
wrapper.last("ORDER BY IF(ISNULL(create_time), 1, 0) DESC ,create_time DESC, end_time DESC");
Page<ProcessApprovalRecord> pageList = this.page(page, wrapper);
List<ProcessApprovalRecord> records = pageList.getRecords();
List<String> taskIdList = records.stream().map(ProcessApprovalRecord::getTaskId).collect(Collectors.toList());
LambdaQueryWrapper<ProcessSnapshot> processSnapshotWrapper = new LambdaQueryWrapper<>();
processSnapshotWrapper.in(ProcessSnapshot::getTaskId, taskIdList);
List<ProcessSnapshot> snapshotList = processSnapshotService.list(processSnapshotWrapper);
Map<String, List<ProcessSnapshot>> snapshotMap = snapshotList.stream().collect(Collectors.groupingBy(ProcessSnapshot::getTaskId));
for (ProcessApprovalRecord record : records) {
List<ProcessSnapshot> 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();