|
@@ -160,7 +160,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
this.update(new Diagnose(), new UpdateWrapper<Diagnose>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
.eq("has_question", HasQuestionEnum.NO_QUESTION.getKey())
|
|
|
- .set("neo_update", DateUtil.getDateFromTime(1970, 1, 1, 12, 0, 0))
|
|
|
+ .set("neo_update",
|
|
|
+ DateUtil.getDateFromTime(1970, 1, 1, 12, 0, 0))
|
|
|
);
|
|
|
List<Diagnose> diagnoseList = this.list(new QueryWrapper<Diagnose>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
@@ -175,15 +176,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
public String addTest() {
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
List<Diagnose> diagnoseList = this.list(new QueryWrapper<Diagnose>()
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
);
|
|
|
List<String> disName = diagnoseList.stream().map(row -> row.getDisName()).collect(Collectors.toList());
|
|
|
List<LibraryInfo> diagnoses = libraryInfoFacade.page(
|
|
|
new Page().setSize(100L), new QueryWrapper<LibraryInfo>()
|
|
|
- .eq("type_id", 18)
|
|
|
- .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
- .eq("is_concept", 1)
|
|
|
- .notIn("name", disName)
|
|
|
+ .eq("type_id", 18)
|
|
|
+ .eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
+ .eq("is_concept", 1)
|
|
|
+ .notIn("name", disName)
|
|
|
).getRecords();
|
|
|
List<Diagnose> diagnoseData = new ArrayList<>();
|
|
|
for (LibraryInfo diagnose : diagnoses) {
|
|
@@ -196,10 +197,11 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
Long time1 = System.currentTimeMillis();
|
|
|
diagnoseService.saveBatch(diagnoseData);
|
|
|
Long time2 = System.currentTimeMillis();
|
|
|
- sb.append("添加主表测试数据:" + (time2-time1)/1000.00 + "秒");
|
|
|
+ sb.append("添加主表测试数据:" + (time2 - time1) / 1000.00 + "秒");
|
|
|
|
|
|
List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
|
|
|
- List<DiagnoseDetail> diagnoseDetailData = diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>().eq("diagnose_id", 7L));
|
|
|
+ List<DiagnoseDetail> diagnoseDetailData =
|
|
|
+ diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>().eq("diagnose_id", 7L));
|
|
|
for (Diagnose diagnose : diagnoseData) {
|
|
|
for (DiagnoseDetail detail : diagnoseDetailData) {
|
|
|
DiagnoseDetail newDiagDetail = new DiagnoseDetail();
|
|
@@ -270,7 +272,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
verifyDataDTO.setId(id); //设置主键返回
|
|
|
// 加载词库数据
|
|
|
// List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
|
|
|
-// Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId()).collect(Collectors.toSet());
|
|
|
+// Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId())
|
|
|
+// .collect(Collectors.toSet());
|
|
|
Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2(); // 加载词库数据
|
|
|
// 明细数据
|
|
|
List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
|
|
@@ -310,7 +313,6 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
|
|
|
/**
|
|
|
* 诊断依据校验全部数据(不用修改操作人和时间)
|
|
|
- *
|
|
|
*/
|
|
|
public String verifyAllData() {
|
|
|
StringBuffer res = new StringBuffer();
|
|
@@ -333,21 +335,23 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
List<DiagnoseDetail> diagnoseDetailWithDB = diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>()
|
|
|
.eq("is_deleted", IsDeleteEnum.N.getKey())
|
|
|
);
|
|
|
- Map<String, List<DiagnoseDetail>> map = EntityUtil.makeEntityListMap(diagnoseDetailWithDB, "disName");
|
|
|
+ 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<>();
|
|
|
// 问题词数据
|
|
|
List<DiagnoseQuestion> diagnoseQuestionList = new ArrayList<>();
|
|
|
// 加载词库数据
|
|
|
// List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
|
|
|
-// Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId()).collect(Collectors.toSet());
|
|
|
+// Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId())
|
|
|
+// .collect(Collectors.toSet());
|
|
|
Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2(); // 加载词库
|
|
|
Set<String> lisMappingSet = lisMappingFacade.loadLisMappingFac(); // 加载公表项
|
|
|
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<>();
|
|
|
// 校验明细数据
|
|
@@ -360,15 +364,22 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
// 判断诊断名称是否在词库中
|
|
|
flag = verifyExist(libSet, detail.get(0).getDisName(), Arrays.asList(LexiconTypeEnum.DIAGNOSIS.getKey()));
|
|
|
if (!flag) {
|
|
|
- DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(detail.get(0).getDiagnoseId(), detail.get(0).getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
|
|
|
+ DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(detail.get(0).getDiagnoseId(),
|
|
|
+ detail.get(0).getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
|
|
|
detail.get(0).getDisName(), DiagnoseFieldEnum.disName.getKey(), initCommonParam(), ++j);
|
|
|
diagnoseQuestionList.add(diagnoseQuestion1);
|
|
|
diagnoseName.add(diagnoseQuestion1.getDisName());
|
|
|
}
|
|
|
+ List<DiagnoseDetail> lis = new ArrayList<>();
|
|
|
+ List<DiagnoseDetail> pacs = new ArrayList<>();
|
|
|
+ List<DiagnoseDetail> formula = new ArrayList<>();
|
|
|
|
|
|
for (DiagnoseDetail bean : detail) {
|
|
|
boolean updateFlag = false;
|
|
|
- if (DiagnoseTypeEnum.Confirmed.getKey() == bean.getType() || (DiagnoseTypeEnum.Examination.getKey() == bean.getType() || (DiagnoseTypeEnum.Vigilant.getKey() == bean.getType()))) {
|
|
|
+ if (DiagnoseTypeEnum.Confirmed.getKey() == bean.getType()
|
|
|
+ || (DiagnoseTypeEnum.Examination.getKey() == bean.getType()
|
|
|
+ || (DiagnoseTypeEnum.Vigilant.getKey() == bean.getType()))) {
|
|
|
+ formula.add(bean); // 添加到公式列表
|
|
|
// 校验公式
|
|
|
String oldVerifyFormula = bean.getVerifyFormula();
|
|
|
String errMsg = VerifyUtil.verifyFormula(codeList, bean.getFormula());
|
|
@@ -383,6 +394,14 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
updateFlag = true;
|
|
|
}
|
|
|
} else {
|
|
|
+ // 添加到化验列表
|
|
|
+ if (DiagnoseFeatureTypeEnum.Lis.getKey() == bean.getType()) {
|
|
|
+ lis.add(bean);
|
|
|
+ }
|
|
|
+ // 添加到辅检列表
|
|
|
+ if (DiagnoseFeatureTypeEnum.Pacs.getKey() == bean.getType()) {
|
|
|
+ pacs.add(bean);
|
|
|
+ }
|
|
|
// 校验编码
|
|
|
String oldVerifyCode = bean.getVerifyCode();
|
|
|
if (StringUtil.isNotEmpty(bean.getCode())) {
|
|
@@ -391,8 +410,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
bean.setVerifyCode(bean.getCode());
|
|
|
diagnoseName.add(bean.getDisName());
|
|
|
// 不需要添加问题词
|
|
|
-// DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
|
|
|
-// bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
|
|
|
+// DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
|
|
|
+// bean.getDisName(), bean.getType(),
|
|
|
+// bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
|
|
|
// diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
} else {
|
|
|
bean.setVerifyCode(""); // 将原值清空
|
|
@@ -405,12 +425,14 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
// 校验标准词
|
|
|
if (StringUtil.isNotEmpty(bean.getStandard())) {
|
|
|
String oldVerifyStandard = bean.getVerifyStandard();
|
|
|
- typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.standard.getKey());
|
|
|
+ typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
|
|
|
+ DiagnoseFieldEnum.standard.getKey());
|
|
|
flag = verifyExist(libSet, bean.getStandard(), typeList);
|
|
|
if (!flag) {
|
|
|
bean.setVerifyStandard(bean.getStandard());
|
|
|
- DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
|
|
|
- bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
|
|
|
+ DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
|
|
|
+ bean.getDisName(), bean.getType(), bean.getStandard(),
|
|
|
+ DiagnoseFieldEnum.standard.getKey(), param, ++j);
|
|
|
if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
|
|
|
diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
}
|
|
@@ -428,13 +450,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
String oldVerifyRelation = bean.getVerifyRelation();
|
|
|
String[] arr = bean.getRelation().split("、");
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
- typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.relation.getKey());
|
|
|
+ typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
|
|
|
+ DiagnoseFieldEnum.relation.getKey());
|
|
|
for (String s : arr) {
|
|
|
flag = verifyExist(libSet, s.trim(), typeList);
|
|
|
if (!flag) {
|
|
|
sb.append(s).append("、");
|
|
|
- DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
|
|
|
- s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
|
|
|
+ DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
|
|
|
+ bean.getDisName(), bean.getType(), s.trim(),
|
|
|
+ DiagnoseFieldEnum.relation.getKey(), param, ++j);
|
|
|
if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
|
|
|
diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
}
|
|
@@ -456,7 +480,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
if (DiagnoseFeatureTypeEnum.Lis.getKey() == bean.getType()) {
|
|
|
String oldVerifyUnique = bean.getVerifyUnique();
|
|
|
if (StringUtil.isNotEmpty(bean.getUniqueName())) { // 公表项数据不为空
|
|
|
- if (!lisMappingSet.contains(bean.getStandard() + "__" + bean.getRelation() + "__" + bean.getUniqueName())) {
|
|
|
+ if (!lisMappingSet.contains(bean.getStandard() + "__" + bean.getRelation()
|
|
|
+ + "__" + bean.getUniqueName())) {
|
|
|
bean.setVerifyUnique("无公表项");
|
|
|
diagnoseName.add(bean.getDisName());
|
|
|
} else {
|
|
@@ -476,13 +501,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
String oldVerifyResult = bean.getVerifyResult();
|
|
|
String[] arr = bean.getResult().split("、");
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
- typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.result.getKey());
|
|
|
+ typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
|
|
|
+ DiagnoseFieldEnum.result.getKey());
|
|
|
for (String s : arr) {
|
|
|
flag = verifyExist(libSet, s.trim(), typeList);
|
|
|
if (!flag) {
|
|
|
sb.append(s).append("、");
|
|
|
- DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
|
|
|
- s.trim(), DiagnoseFieldEnum.result.getKey(), param, ++j);
|
|
|
+ DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
|
|
|
+ bean.getDisName(), bean.getType(), s.trim(),
|
|
|
+ DiagnoseFieldEnum.result.getKey(), param, ++j);
|
|
|
if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
|
|
|
diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
}
|
|
@@ -505,10 +532,16 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
diagnoseDetailList.add(bean);
|
|
|
}
|
|
|
}
|
|
|
+ // 以上校验全部通过之后再校验业务异常,例如:诊断公式里有化验和辅检编码,则化验和辅检数据必须完整
|
|
|
+ if (!diagnoseName.contains(key)) {
|
|
|
+ for (DiagnoseDetail det : lis) {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
Long time4 = System.currentTimeMillis();
|
|
|
- res.append("校验问题词:" + (time4-time3)/1000.0).append("秒,");
|
|
|
+ res.append("校验问题词:" + (time4 - time3) / 1000.0).append("秒,");
|
|
|
|
|
|
// 更新明细
|
|
|
if (ListUtil.isNotEmpty(diagnoseDetailList)) {
|
|
@@ -516,7 +549,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
}
|
|
|
|
|
|
Long time5 = System.currentTimeMillis();
|
|
|
- res.append("更新明细"+diagnoseDetailList.size()+"条:" + (time5-time4)/1000.0).append("秒,");
|
|
|
+ res.append("更新明细" + diagnoseDetailList.size() + "条:" + (time5 - time4) / 1000.0).append("秒,");
|
|
|
|
|
|
// 删除全部的问题词数据
|
|
|
diagnoseQuestionService.remove(new QueryWrapper<DiagnoseQuestion>());
|
|
@@ -526,7 +559,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
diagnoseQuestionService.insertBatch(diagnoseQuestionList); // 效率比框架的saveBatch高很多
|
|
|
}
|
|
|
Long time6 = System.currentTimeMillis();
|
|
|
- res.append("新增问题词" + diagnoseQuestionList.size() + "条:" + (time6-time5)/1000.0).append("秒,");
|
|
|
+ res.append("新增问题词" + diagnoseQuestionList.size() + "条:" + (time6 - time5) / 1000.0).append("秒,");
|
|
|
|
|
|
// 修改问题词表的状态
|
|
|
List<Diagnose> updateDiagnose = new ArrayList<>();
|
|
@@ -547,8 +580,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
diagnoseService.updateBatch(updateDiagnose);
|
|
|
}
|
|
|
Long time7 = System.currentTimeMillis();
|
|
|
- res.append("更新主表" +updateDiagnose.size()+ "条:" + (time7-time6)/1000.0).append("秒,");
|
|
|
- res.append("总计花费时间:" + (time7-time1)/1000.0).append("秒。");
|
|
|
+ res.append("更新主表" + updateDiagnose.size() + "条:" + (time7 - time6) / 1000.0).append("秒,");
|
|
|
+ res.append("总计花费时间:" + (time7 - time1) / 1000.0).append("秒。");
|
|
|
} catch (Exception e) {
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, e.getMessage());
|
|
|
} finally {
|
|
@@ -567,7 +600,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
* @return
|
|
|
*/
|
|
|
public Boolean addDiagnoseQuestion(Set<String> set, DiagnoseQuestion diagnoseQuestion) {
|
|
|
- String key = diagnoseQuestion.getDiagnoseId() + "_" + diagnoseQuestion.getType() + "_" + diagnoseQuestion.getQuestionType() + "_" + diagnoseQuestion.getQuestionName();
|
|
|
+ String key = diagnoseQuestion.getDiagnoseId() + "_" + diagnoseQuestion.getType() + "_"
|
|
|
+ + diagnoseQuestion.getQuestionType() + "_" + diagnoseQuestion.getQuestionName();
|
|
|
if (!set.contains(key)) {
|
|
|
set.add(key);
|
|
|
return true;
|
|
@@ -577,13 +611,14 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 处理诊断特征业务(校验诊断名称|编码|标准词|关联词|结果)
|
|
|
+ * 处理诊断特征业务(校验诊断名称|编码|标准词|关联词|结果)
|
|
|
*
|
|
|
* @param diagnoseWrapper
|
|
|
* @param param
|
|
|
* @return
|
|
|
*/
|
|
|
- public void doDisFuture(DiagnoseWrapper diagnoseWrapper, CommonParam param, Set<String> set, List<DiagnoseDetail> diagnoseDetailList, List<DiagnoseQuestion> diagnoseQuestionList) {
|
|
|
+ public void doDisFuture(DiagnoseWrapper diagnoseWrapper, CommonParam param, Set<String> set,
|
|
|
+ List<DiagnoseDetail> diagnoseDetailList, List<DiagnoseQuestion> diagnoseQuestionList) {
|
|
|
int i = param.getI();
|
|
|
int j = param.getJ();
|
|
|
Set<String> questionSet = new HashSet<>(); // 问题词去重变量
|
|
@@ -592,7 +627,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
boolean flag = true;
|
|
|
flag = verifyExist(set, diagnoseWrapper.getDisName(), Arrays.asList(LexiconTypeEnum.DIAGNOSIS.getKey()));
|
|
|
if (!flag) {
|
|
|
- DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
|
|
|
+ DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(diagnoseWrapper.getId(),
|
|
|
+ diagnoseWrapper.getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
|
|
|
diagnoseWrapper.getDisName(), DiagnoseFieldEnum.disName.getKey(), param, ++j);
|
|
|
diagnoseQuestionList.add(diagnoseQuestion1);
|
|
|
param.setDisNameExist(false); // 标识
|
|
@@ -618,8 +654,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
diagnoseDetail.setVerifyCode(bean.getCode());
|
|
|
param.setFlag(HasQuestionEnum.HAS_QUESTION.getKey());
|
|
|
// 不需要添加问题词
|
|
|
-// DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
-// bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
|
|
|
+// DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
|
|
|
+// diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
+// bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
|
|
|
// if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
|
|
|
// diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
// }
|
|
@@ -632,7 +669,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
flag = verifyExist(set, bean.getStandard(), typeList);
|
|
|
if (!flag) {
|
|
|
diagnoseDetail.setVerifyStandard(bean.getStandard());
|
|
|
- DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
+ DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
|
|
|
+ diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
|
|
|
if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
|
|
|
diagnoseQuestionList.add(diagnoseQuestion);
|
|
@@ -644,13 +682,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
if (StringUtil.isNotEmpty(bean.getRelation())) {
|
|
|
String[] arr = bean.getRelation().split("、");
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
- typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.relation.getKey());
|
|
|
+ typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
|
|
|
+ DiagnoseFieldEnum.relation.getKey());
|
|
|
for (String s : arr) {
|
|
|
flag = verifyExist(set, s.trim(), typeList);
|
|
|
if (!flag) {
|
|
|
sb.append(s).append("、");
|
|
|
- DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
- s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
|
|
|
+ DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
|
|
|
+ diagnoseWrapper.getDisName(), bean.getType(), s.trim(),
|
|
|
+ DiagnoseFieldEnum.relation.getKey(), param, ++j);
|
|
|
if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
|
|
|
diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
}
|
|
@@ -658,7 +698,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
}
|
|
|
String errWord = sb.toString();
|
|
|
if (StringUtil.isNotEmpty(errWord)) {
|
|
|
- diagnoseDetail.setVerifyRelation(errWord.substring(0, errWord.length()-1));
|
|
|
+ diagnoseDetail.setVerifyRelation(errWord.substring(0, errWord.length() - 1));
|
|
|
} else {
|
|
|
diagnoseDetail.setVerifyRelation(""); // 将原值清空
|
|
|
}
|
|
@@ -668,13 +708,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
if (StringUtil.isNotEmpty(bean.getResult())) {
|
|
|
String[] arr = bean.getResult().split("、");
|
|
|
StringBuffer sb = new StringBuffer();
|
|
|
- typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.result.getKey());
|
|
|
+ typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
|
|
|
+ DiagnoseFieldEnum.result.getKey());
|
|
|
for (String s : arr) {
|
|
|
flag = verifyExist(set, s.trim(), typeList);
|
|
|
if (!flag) {
|
|
|
sb.append(s).append("、");
|
|
|
- DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
- s.trim(), DiagnoseFieldEnum.result.getKey(), param, ++j);
|
|
|
+ DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
|
|
|
+ diagnoseWrapper.getDisName(), bean.getType(), s.trim(),
|
|
|
+ DiagnoseFieldEnum.result.getKey(), param, ++j);
|
|
|
if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
|
|
|
diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
}
|
|
@@ -682,7 +724,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
}
|
|
|
String errWord = sb.toString();
|
|
|
if (StringUtil.isNotEmpty(errWord)) {
|
|
|
- diagnoseDetail.setVerifyResult(errWord.substring(0, errWord.length()-1));
|
|
|
+ diagnoseDetail.setVerifyResult(errWord.substring(0, errWord.length() - 1));
|
|
|
} else {
|
|
|
diagnoseDetail.setVerifyResult(""); // 将原值清空
|
|
|
}
|
|
@@ -698,14 +740,16 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 处理诊断公式业务(校验公式)
|
|
|
+ * 处理诊断公式业务(校验公式)
|
|
|
*
|
|
|
* @param diagnoseWrapper
|
|
|
* @param param
|
|
|
* @return
|
|
|
*/
|
|
|
- public void doDisFormula(DiagnoseWrapper diagnoseWrapper, CommonParam param, List<DiagnoseDetail> diagnoseDetailList, List<DiagnoseQuestion> diagnoseQuestionList) {
|
|
|
- List<String> codeList = diagnoseWrapper.getDisFeature().stream().map(row -> row.getCode()).distinct().collect(Collectors.toList());
|
|
|
+ public void doDisFormula(DiagnoseWrapper diagnoseWrapper, CommonParam param,
|
|
|
+ List<DiagnoseDetail> diagnoseDetailList, List<DiagnoseQuestion> diagnoseQuestionList) {
|
|
|
+ List<String> codeList = diagnoseWrapper.getDisFeature().stream().map(row -> row.getCode()).distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
codeList.add("拟诊"); // 添加拟诊的编码
|
|
|
int i = param.getI();
|
|
|
int j = param.getJ();
|
|
@@ -736,7 +780,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * 更新主表业务(同时删除明细表和问题词表)
|
|
|
+ * 更新主表业务(同时删除明细表和问题词表)
|
|
|
*
|
|
|
* @param diagnoseWrapper
|
|
|
* @param param
|
|
@@ -752,7 +796,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
}
|
|
|
// Diagnose bean = this.getOne(queryWrapper, false);
|
|
|
if (this.count(queryWrapper) > 0) {
|
|
|
- throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,"当前疾病的诊断依据已存在!");
|
|
|
+ throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前疾病的诊断依据已存在!");
|
|
|
}
|
|
|
|
|
|
Diagnose diagnose = new Diagnose();
|
|
@@ -783,7 +827,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
* @param updateDiagnoseVO
|
|
|
* @return
|
|
|
*/
|
|
|
- public void updateNeo(UpdateDiagnoseVO updateDiagnoseVO) {
|
|
|
+ public void updateNeo(UpdateDiagnoseVO updateDiagnoseVO) {
|
|
|
// 更新时间
|
|
|
this.update(new UpdateWrapper<Diagnose>()
|
|
|
.eq("id", updateDiagnoseVO.getId())
|
|
@@ -815,13 +859,13 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
/**
|
|
|
* 校验词库中是否存在
|
|
|
*
|
|
|
- * @param set 词库数据
|
|
|
+ * @param set 词库数据
|
|
|
* @param name 界面输入
|
|
|
* @param type 转换类型
|
|
|
* @return 校验结果
|
|
|
*/
|
|
|
public boolean verifyExist(Set<String> set, String name, List<Integer> type) {
|
|
|
- for(Integer integer : type) {
|
|
|
+ for (Integer integer : type) {
|
|
|
if (set.contains(name + "_" + integer)) {
|
|
|
return true;
|
|
|
}
|
|
@@ -839,7 +883,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
* @param commonParam
|
|
|
* @return
|
|
|
*/
|
|
|
- public DiagnoseQuestion createDiagnoseQuestion(Long diagnoseId, String disName, Integer type, String questionName, Integer questionType, CommonParam commonParam, Integer orderNo) {
|
|
|
+ public DiagnoseQuestion createDiagnoseQuestion(Long diagnoseId, String disName, Integer type, String questionName,
|
|
|
+ Integer questionType, CommonParam commonParam, Integer orderNo) {
|
|
|
DiagnoseQuestion dq = new DiagnoseQuestion();
|
|
|
dq.setCreator(commonParam.getPerson());
|
|
|
dq.setGmtCreate(commonParam.getNow());
|
|
@@ -854,4 +899,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
return dq;
|
|
|
}
|
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
+ String str = "1.3/1.4";
|
|
|
+ String regex = "(.*3\\.1)|(.*3\\.1\\D.*)";
|
|
|
+ System.out.println(str.matches(regex));
|
|
|
+ }
|
|
|
}
|