perf: scc流程全部采用并行流处理数据
This commit is contained in:
+13
-13
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user