fix: 根据type区分已办已发流程监控

This commit is contained in:
2024-07-23 09:57:07 +08:00
parent d092e8dfec
commit 4cfb9afcf2
2 changed files with 22 additions and 7 deletions
@@ -136,11 +136,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));
}
@@ -17,6 +17,7 @@ import com.jero.modules.activiti.process.common.entity.ProcessSnapshot;
import com.jero.modules.activiti.process.common.service.ProcessSnapshotService;
import com.jero.modules.activiti.process.esInitChange.entity.EsInitChangeConstant;
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;
@@ -35,6 +36,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;
@@ -57,7 +66,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(ALL_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(",")));
@@ -74,12 +85,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)){