perf: scc流程全部采用并行流处理数据

This commit is contained in:
2024-08-11 23:34:50 +08:00
parent ebe8f76374
commit 58f281826e
@@ -212,7 +212,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
updateWrapper.eq(ProcessStandardComplianceCheckDetail::getCheckId, checkId);
sccDetailService.remove(updateWrapper);
// 子表设置流程实例Id
detailInfoList.forEach(detail -> {
detailInfoList.parallelStream().forEach(detail -> {
detail.setCheckId(checkId);
detail.setProcessInstanceId(processInstanceId);
});
@@ -360,7 +360,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
.collect(Collectors.toList());
// 分发给多个人的需要复制数据并保存
List<ProcessStandardComplianceCheckDetail> needAddDetailInfoList = new ArrayList<>();
distributeDetailList.forEach(detail -> {
distributeDetailList.parallelStream().forEach(detail -> {
String[] engineers = detail.getDesignEngineer().split(",");
for (String engineer : engineers) {
ProcessStandardComplianceCheckDetail newDetail = BeanCopyUtils.
@@ -392,14 +392,14 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
userMap.put(SENIOR_MANAGER_LIST, standardInfo.getSeniorManager());
processNodeLinkService.saveNodeUserLink(processDefinitionId, processInstanceId, userMap);
// 保存数据
detailInfoList.forEach(detail -> {
detailInfoList.parallelStream().forEach(detail -> {
detail.setAssessor(curUserId);
detail.setAuthDept(curUserDepartIds);
});
// 先删后增
sccDetailService.removeByIds(detailInfoListIds);
detailInfoList.forEach(detail -> detail.setValuationTime(new Date()));
detailInfoList.forEach(detail -> detail.setId(null));
detailInfoList.parallelStream().forEach(detail -> detail.setValuationTime(new Date()));
detailInfoList.parallelStream().forEach(detail -> detail.setId(null));
sccDetailService.saveBatch(detailInfoList);
}
runtimeService.setVariable(processInstanceId, DISTRIBUTE, distributeFlag);
@@ -408,7 +408,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
break;
case DESIGNER_ENGINEER_EVALUATION:
// 保存数据
detailInfoList.forEach(detail -> {
detailInfoList.parallelStream().forEach(detail -> {
detail.setAssessor(curUserId);
detail.setAuthDept(curUserDepartIds);
detail.setValuationTime(new Date());
@@ -422,7 +422,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
case MAIN_CHECK_USER_COLLECT:
// 先删后增
sccDetailService.removeByIds(detailInfoListIds);
detailInfoList.forEach(detail -> detail.setId(null));
detailInfoList.parallelStream().forEach(detail -> detail.setId(null));
sccDetailService.saveBatch(detailInfoList);
// 不分发直接设置后续审批节点的人员变量
List<String> counterSignUserList = Arrays.asList(standardInfo.getCountersignUser().split(","));
@@ -507,7 +507,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
exportParams.setType(ExcelType.HSSF);
// 去除文本的<p>
String regex = "<[^>]*>";
detailInfoList.forEach(detail -> {
detailInfoList.parallelStream().forEach(detail -> {
if (StrUtil.isNotBlank(detail.getTermContent())) {
detail.setTermContent(detail.getTermContent().replaceAll(regex, ""));
}
@@ -562,7 +562,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
// 去除文本的<p>
String regex = "<[^>]*>";
detailInfoList.forEach(detail -> {
detailInfoList.parallelStream().forEach(detail -> {
if (StrUtil.isNotBlank(detail.getTermContent())) {
detail.setTermContent(detail.getTermContent().replaceAll(regex, ""));
}
@@ -575,7 +575,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
List<WithoutDistributeExcelTemplate> data = BeanCopyUtils
.copyBeanList(detailInfoList, WithoutDistributeExcelTemplate.class);
// 翻译评估结果和佐证材料字段
data.forEach(item -> {
data.parallelStream().forEach(item -> {
item.setResult(excelUtils.translateDict("evaluation_result", item.getResult(), listDict));
item.setMaterial(excelUtils.translateDictValue("id", "file_name", "oss_file", item.getMaterial(), listDict));
});
@@ -765,7 +765,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
}
private void transToDictValue(List<WithoutDistributeExcelTemplate> list, List<SysDictItemCore> listDict, Map<String, File> fileMap) {
list.forEach(item -> {
list.parallelStream().forEach(item -> {
item.setResult(excelUtils.translateDictValue("evaluation_result", item.getResult(), listDict));
item.setMaterial(excelUtils.uploadFile(item.getMaterial(), fileMap));
});
@@ -1091,7 +1091,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
throw new JeroBootException(ResultCommon.SPLIT_IMPORT_TEMPLATE_ERROR);
}
List<ProcessStandardComplianceCheckDetail> result = BeanCopyUtils.copyBeanList(splitExcelVOList, ProcessStandardComplianceCheckDetail.class);
result.forEach(detail -> detail.setCheckId(sccId));
result.parallelStream().forEach(detail -> detail.setCheckId(sccId));
return result;
}
@@ -1137,7 +1137,7 @@ public class ProcessStandardComplianceCheckServiceImpl extends ServiceImpl<Proce
}
private void transToDictValue(List<ModelExcelVO> list, List<SysDictItemCore> listDict) {
list.forEach(item -> item.setModelState(excelUtils.translateDictValue("model_status", item.getModelState(), listDict)));
list.parallelStream().forEach(item -> item.setModelState(excelUtils.translateDictValue("model_status", item.getModelState(), listDict)));
}
@Override