|
@@ -292,7 +292,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
Map<String, List<DiagnoseDetail>> map = EntityUtil.makeEntityListMap(diagnoseDetailWithDB, "disName");
|
|
|
|
|
|
Long time2 = System.currentTimeMillis();
|
|
|
- res.append("加载全部主表和明细表花费时间:" + (time2-time1)/1000.0).append("秒,");
|
|
|
+ res.append("加载全部主表和明细表:" + (time2-time1)/1000.0).append("秒,");
|
|
|
// 明细数据
|
|
|
List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
|
|
|
// 问题词数据
|
|
@@ -301,7 +301,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
|
|
|
Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId()).collect(Collectors.toSet());
|
|
|
Long time3 = System.currentTimeMillis();
|
|
|
- res.append("加载词库花费时间:" + (time3-time2)/1000.0).append("秒,");
|
|
|
+ res.append("加载词库:" + (time3-time2)/1000.0).append("秒,");
|
|
|
Boolean flag = true;
|
|
|
List<Integer> typeList = new ArrayList<>();
|
|
|
// 校验明细数据
|
|
@@ -318,6 +318,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
}
|
|
|
|
|
|
for (DiagnoseDetail bean : detail) {
|
|
|
+ boolean updateFlag = false;
|
|
|
if (DiagnoseTypeEnum.Confirmed.getKey() == bean.getType() || (DiagnoseTypeEnum.Examination.getKey() == bean.getType() || (DiagnoseTypeEnum.Vigilant.getKey() == bean.getType()))) {
|
|
|
// 不需要校验公式
|
|
|
} else {
|
|
@@ -336,20 +337,25 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
|
|
|
// 校验标准词
|
|
|
if (StringUtil.isNotEmpty(bean.getStandard())) {
|
|
|
+ String oldVerifyStandard = bean.getVerifyStandard();
|
|
|
typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.standard.getKey());
|
|
|
flag = verifyExist(set, bean.getStandard(), typeList);
|
|
|
if (!flag) {
|
|
|
- bean.setVerifyStandard(String.valueOf(bean.getStandard()));
|
|
|
+ bean.setVerifyStandard(bean.getStandard());
|
|
|
DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
|
|
|
bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
|
|
|
diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
} else {
|
|
|
bean.setVerifyStandard(""); // 将原值清空
|
|
|
}
|
|
|
+ if (!oldVerifyStandard.equals(bean.getVerifyStandard())) {
|
|
|
+ updateFlag = true;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 校验关联词
|
|
|
if (StringUtil.isNotEmpty(bean.getRelation())) {
|
|
|
+ String oldVerifyRelation = bean.getVerifyRelation();
|
|
|
String[] arr = bean.getRelation().split("、");
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
for (String s : arr) {
|
|
@@ -369,10 +375,14 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
} else {
|
|
|
bean.setVerifyRelation(""); // 将原值清空
|
|
|
}
|
|
|
+ if (!oldVerifyRelation.equals(bean.getVerifyRelation())) {
|
|
|
+ updateFlag = true;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// 校验结果
|
|
|
if (StringUtil.isNotEmpty(bean.getResult())) {
|
|
|
+ String oldVerifyResult = bean.getVerifyResult();
|
|
|
typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.result.getKey());
|
|
|
flag = verifyExist(set, bean.getResult(), typeList);
|
|
|
if (!flag) {
|
|
@@ -383,20 +393,27 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
} else {
|
|
|
bean.setVerifyResult(""); // 将原值清空
|
|
|
}
|
|
|
+ if (!oldVerifyResult.equals(bean.getVerifyResult())) {
|
|
|
+ updateFlag = true;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- diagnoseDetailList.add(bean);
|
|
|
+ if (updateFlag) {
|
|
|
+ diagnoseDetailList.add(bean);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
Long time4 = System.currentTimeMillis();
|
|
|
- res.append("校验问题词花费时间:" + (time4-time3)/1000.0).append("秒,");
|
|
|
+ res.append("校验问题词:" + (time4-time3)/1000.0).append("秒,");
|
|
|
|
|
|
// 更新明细
|
|
|
- diagnoseDetailService.updateBatchById(diagnoseDetailList);
|
|
|
+ if (ListUtil.isNotEmpty(diagnoseDetailList)) {
|
|
|
+ diagnoseDetailService.updateBatchById(diagnoseDetailList);
|
|
|
+ }
|
|
|
|
|
|
Long time5 = System.currentTimeMillis();
|
|
|
- res.append("更新明细花费时间:" + (time5-time4)/1000.0).append("秒,");
|
|
|
+ res.append("更新明细"+diagnoseDetailList.size()+"条:" + (time5-time4)/1000.0).append("秒,");
|
|
|
|
|
|
// 删除全部的问题词数据
|
|
|
diagnoseQuestionService.remove(new QueryWrapper<DiagnoseQuestion>());
|
|
@@ -407,7 +424,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
|
|
|
}
|
|
|
Long time6 = System.currentTimeMillis();
|
|
|
- res.append("新增问题词花费时间:" + (time6-time5)/1000.0).append("秒,");
|
|
|
+ res.append("新增问题词:" + (time6-time5)/1000.0).append("秒,");
|
|
|
|
|
|
List<String> disNameList = diagnoseQuestionList.stream().map(row -> row.getDisName()).distinct().collect(Collectors.toList());
|
|
|
|
|
@@ -422,7 +439,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
// 更新主表信息
|
|
|
diagnoseService.updateBatchById(diagnoseListWithDB);
|
|
|
Long time7 = System.currentTimeMillis();
|
|
|
- res.append("更新主表状态花费时间:" + (time7-time6)/1000.0).append("秒,");
|
|
|
+ res.append("更新主表状态:" + (time7-time6)/1000.0).append("秒,");
|
|
|
res.append("总计花费时间:" + (time7-time1)/1000.0).append("秒。");
|
|
|
} catch (Exception e) {
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, e.getMessage());
|