|
@@ -51,6 +51,7 @@ import org.springframework.stereotype.Component;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Date;
|
|
|
+import java.util.HashSet;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.Set;
|
|
@@ -279,6 +280,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
public String verifyAllData() {
|
|
|
StringBuffer res = new StringBuffer();
|
|
|
Long time1 = System.currentTimeMillis();
|
|
|
+ Set<String> questionSet = new HashSet<>(); // 问题词去重变量
|
|
|
if (!verifyFlag) {
|
|
|
throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "其他人正在执行此操作,请稍后再试!");
|
|
|
}
|
|
@@ -351,7 +353,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
bean.setVerifyStandard(bean.getStandard());
|
|
|
DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
|
|
|
bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
|
|
|
- diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ if (addDiagnoseQuestion(set, diagnoseQuestion)) {
|
|
|
+ diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ }
|
|
|
} else {
|
|
|
bean.setVerifyStandard(""); // 将原值清空
|
|
|
}
|
|
@@ -373,7 +377,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
bean.setVerifyRelation(bean.getRelation());
|
|
|
DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
|
|
|
s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
|
|
|
- diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ if (addDiagnoseQuestion(set, diagnoseQuestion)) {
|
|
|
+ diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
String errWord = sb.toString();
|
|
@@ -396,7 +402,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
bean.setVerifyResult(bean.getResult());
|
|
|
DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
|
|
|
bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
|
|
|
- diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ if (addDiagnoseQuestion(set, diagnoseQuestion)) {
|
|
|
+ diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ }
|
|
|
} else {
|
|
|
bean.setVerifyResult(""); // 将原值清空
|
|
|
}
|
|
@@ -465,6 +473,23 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 校验是否已存在问题词数据
|
|
|
+ *
|
|
|
+ * @param set
|
|
|
+ * @param diagnoseQuestion
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Boolean addDiagnoseQuestion(Set<String> set, DiagnoseQuestion diagnoseQuestion) {
|
|
|
+ String key = diagnoseQuestion.getDiagnoseId() + "_" + diagnoseQuestion.getType() + "_" + diagnoseQuestion.getQuestionType() + "_" + diagnoseQuestion.getQuestionName();
|
|
|
+ if (!set.contains(key)) {
|
|
|
+ set.add(key);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 处理诊断特征业务(校验诊断名称|编码|标准词|关联词|结果)
|
|
|
*
|
|
@@ -475,6 +500,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
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<>(); // 问题词去重变量
|
|
|
|
|
|
// 判断诊断名称是否在词库中
|
|
|
boolean flag = true;
|
|
@@ -499,15 +525,17 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
List<Integer> typeList = new ArrayList<>();
|
|
|
|
|
|
// 校验编码
|
|
|
- if (StringUtil.isNotEmpty(bean.getCode())) {
|
|
|
- flag = VerifyUtil.verifyCode(String.valueOf(bean.getType()), bean.getCode());
|
|
|
- if (!flag) {
|
|
|
- diagnoseDetail.setVerifyCode(bean.getCode());
|
|
|
- DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
- bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
|
|
|
- diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
- }
|
|
|
- }
|
|
|
+// if (StringUtil.isNotEmpty(bean.getCode())) {
|
|
|
+// flag = VerifyUtil.verifyCode(String.valueOf(bean.getType()), bean.getCode());
|
|
|
+// if (!flag) {
|
|
|
+// diagnoseDetail.setVerifyCode(bean.getCode());
|
|
|
+// DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
+// bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
|
|
|
+// if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
|
|
|
+// diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
// 校验标准词
|
|
|
if (StringUtil.isNotEmpty(bean.getStandard())) {
|
|
@@ -517,7 +545,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
diagnoseDetail.setVerifyStandard(bean.getStandard());
|
|
|
DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
|
|
|
- diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
|
|
|
+ diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -532,7 +562,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
sb.append(s).append("、");
|
|
|
DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
|
|
|
- diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
|
|
|
+ diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
String errWord = sb.toString();
|
|
@@ -549,7 +581,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
|
|
|
diagnoseDetail.setVerifyResult(bean.getResult());
|
|
|
DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
|
|
|
bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
|
|
|
- diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
|
|
|
+ diagnoseQuestionList.add(diagnoseQuestion);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
diagnoseDetailList.add(diagnoseDetail);
|