diff --git a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java index 8900ba49..ef90294a 100644 --- a/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java +++ b/laws-modules/src/main/java/com/jero/modules/activiti/controller/WorkCenterController.java @@ -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 page = new Page<>(pageNo, pageSize); Page 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)); } 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 6b9c7396..09bd763b 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,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 { + + // 已办 + 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 pageList(Page page, ProcessApprovalRecord processApprovalRecord, HttpServletRequest req) { + public Page pageList(Page page, ProcessApprovalRecord processApprovalRecord, String type, HttpServletRequest req) { + boolean allSnapshotFlag = !type.equals(COMPLETED_RECORD_LIST); + String curUserId = UserUtils.getUserId(); QueryWrapper 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 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(); + if (StrUtil.isNotBlank(userId) && (allSnapshotFlag || curUserId.equals(userId))) { + List 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)){