fix: 主排查人分批下发不返回数据
This commit is contained in:
+4
-24
@@ -54,7 +54,6 @@ import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static com.jero.modules.activiti.common.ActivitiCommon.DISTRIBUTE;
|
||||
@@ -226,6 +225,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
|
||||
|
||||
}
|
||||
// 保存快照
|
||||
processHandleService.saveToSnapshot(processInfoVO, userId);
|
||||
// 审批节点
|
||||
actFlowCommonService.completeTask(taskId, curUserId);
|
||||
}
|
||||
@@ -358,29 +359,8 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
|
||||
case MAIN_CHECK_USER_DISTRIBUTE:
|
||||
processSccVO.setStandardInfo(scc);
|
||||
// 过滤出未分发的数据
|
||||
detailList = detailList.stream().filter(detail -> StrUtil.isBlank(detail.getProcessInstanceId())).collect(Collectors.toList());
|
||||
// TODO 根据条款号/条款标题/条款内容/车型去重并删除重复的数据
|
||||
// 定义一个比较器,用于根据指定的属性判断两个对象是否相等(即认为它们是重复的)
|
||||
Comparator<ProcessStandardComplianceCheckDetail> comparator = Comparator.comparing(ProcessStandardComplianceCheckDetail::getTermNumber)
|
||||
.thenComparing(ProcessStandardComplianceCheckDetail::getTermTitle)
|
||||
.thenComparing(ProcessStandardComplianceCheckDetail::getTermContent)
|
||||
.thenComparing(ProcessStandardComplianceCheckDetail::getModel);
|
||||
|
||||
Map<ProcessStandardComplianceCheckDetail, Long> counts = detailList.stream()
|
||||
.filter(Objects::nonNull) // 确保非空处理
|
||||
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
|
||||
// 筛选出出现超过一次(即重复的)的条目
|
||||
List<ProcessStandardComplianceCheckDetail> duplicates = counts.entrySet().stream()
|
||||
.filter(entry -> entry.getValue() > 1)
|
||||
.map(Map.Entry::getKey)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 从重复的条目中提取ID
|
||||
List<String> duplicateIds = duplicates.stream()
|
||||
.map(ProcessStandardComplianceCheckDetail::getId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
detailList = detailList.stream().filter(detail ->
|
||||
StrUtil.isBlank(detail.getDesignEngineer())).collect(Collectors.toList());
|
||||
processSccVO.setDetailInfoList(detailList);
|
||||
break;
|
||||
case MAIN_CHECK_USER_COLLECT:
|
||||
|
||||
Reference in New Issue
Block a user