feat: 已发已办查看只能查看自己的节点 流程监控可以查看所有的节点

This commit is contained in:
2024-07-18 09:42:06 +08:00
parent fc17ce088b
commit 108a6b9783
2 changed files with 23 additions and 7 deletions
@@ -134,11 +134,12 @@ public class WorkCenterController {
public Result<?> getApprovalRecordList(ProcessApprovalRecord processApprovalRecord,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
@RequestParam(name = "type") String type,
HttpServletRequest req) {
Page<ProcessApprovalRecord> page = new Page<>(pageNo, pageSize);
Page<ProcessApprovalRecord> pageList;
try {
pageList = processApprovalRecordService.pageList(page, processApprovalRecord, req);
pageList = processApprovalRecordService.pageList(page, processApprovalRecord, type, req);
}catch (Exception e){
return Result.error(MessageUtils.getMessage(ResultCommon.ERROR));
}
@@ -1,6 +1,7 @@
package com.jero.modules.activiti.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -13,6 +14,7 @@ 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 com.jero.modules.sys.utils.UserUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
@@ -31,6 +33,14 @@ import java.util.stream.Collectors;
*/
@Service
public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRecordMapper, ProcessApprovalRecord> {
// 已办
public static final String COMPLETED_RECORD_LIST = "1";
// 已发
public static final String SENT_RECORD_LIST = "2";
// 流程监控
public static final String ALL_RECORD_LIST = "3";
@Resource
private ISysBaseAPI sysBaseAPI;
@@ -50,7 +60,9 @@ public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRec
return this.getOne(wrapper);
}
public Page<ProcessApprovalRecord> pageList(Page<ProcessApprovalRecord> page, ProcessApprovalRecord processApprovalRecord, HttpServletRequest req) {
public Page<ProcessApprovalRecord> pageList(Page<ProcessApprovalRecord> page, ProcessApprovalRecord processApprovalRecord, String type, HttpServletRequest req) {
boolean allSnapshotFlag = !type.equals(COMPLETED_RECORD_LIST);
String curUserId = UserUtils.getUserId();
QueryWrapper<ProcessApprovalRecord> wrapper = new QueryWrapper<>();
if (StringUtils.isNotBlank(processApprovalRecord.getFinishFlagSearch())){
wrapper.in("finish_flag", Arrays.asList(processApprovalRecord.getFinishFlagSearch().split(",")));
@@ -66,12 +78,15 @@ public class ProcessApprovalRecordService extends ServiceImpl<ProcessApprovalRec
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();
if (StrUtil.isNotBlank(userId) && (allSnapshotFlag || curUserId.equals(userId))) {
List<ProcessSnapshot> processSnapshots = snapshotMap.get(record.getTaskId());
if (CollUtil.isNotEmpty(processSnapshots)) {
ProcessSnapshot snapshot = processSnapshots.get(0);
record.setSnapshotId(snapshot.getId());
}
}
String taskAcceptor = sysBaseAPI.translateUserRealNameFromTable(userId);
String delegateBy = record.getDelegateBy();
if (StringUtils.isNotBlank(delegateBy)){