|
@@ -390,10 +390,10 @@ public class PushProcess {
|
|
}
|
|
}
|
|
// 查询数据
|
|
// 查询数据
|
|
List<ReverseDTO> reverseDTOList = conceptInfoFacade.getReverseFac(reverseVO);
|
|
List<ReverseDTO> reverseDTOList = conceptInfoFacade.getReverseFac(reverseVO);
|
|
- // 界面过滤元素
|
|
|
|
- Map<String, List<String>> typeWords = filterWords(wordCrfDTO);
|
|
|
|
|
|
+ // 获取各个类型的界面过滤元素
|
|
|
|
+ Map<String, List<String>> filterMap = getFilterMap(wordCrfDTO);
|
|
// 设置推送信息(过滤已有)
|
|
// 设置推送信息(过滤已有)
|
|
- setPushItem(pushDTO, ruleTypeList, typeWords, reverseDTOList, pushVo.getLength());
|
|
|
|
|
|
+ setPushItem(pushDTO, ruleTypeList, filterMap, reverseDTOList, pushVo.getLength());
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -527,26 +527,42 @@ public class PushProcess {
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 生成各个类型的界面过滤元素
|
|
|
|
|
|
+ * 获取各个类型的界面过滤元素
|
|
*
|
|
*
|
|
* @param wordCrfDTO
|
|
* @param wordCrfDTO
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public Map<String, List<String>> filterWords(WordCrfDTO wordCrfDTO) {
|
|
|
|
- Map<String, List<String>> typeWordsMap = new HashMap<>();
|
|
|
|
|
|
+ public Map<String, List<String>> getFilterMap(WordCrfDTO wordCrfDTO) {
|
|
|
|
+ Map<String, List<String>> filterMap = new HashMap<>();
|
|
// TODO 界面过滤元素
|
|
// TODO 界面过滤元素
|
|
- typeWordsMap.put(StandConvertEnum.lis.getName(), CoreUtil.getByPropertyName(wordCrfDTO.getLis(), "name", "uniqueName"));
|
|
|
|
- // for (Map.Entry<String, Map<String, String>> s : standConvertMap.entrySet()) {
|
|
|
|
- // List<String> words = new ArrayList<>();
|
|
|
|
- // String type = s.getKey();
|
|
|
|
- // Map<String, String> value = s.getValue();
|
|
|
|
- // value.forEach((name, standName) -> {
|
|
|
|
- // words.add(name);
|
|
|
|
- // words.add(standName);
|
|
|
|
- // });
|
|
|
|
- // typeWordsMap.put(type, new ArrayList<>(new LinkedHashSet<>(words)));
|
|
|
|
- // }
|
|
|
|
- return typeWordsMap;
|
|
|
|
|
|
+ // 主诉症状
|
|
|
|
+ dealFilter(filterMap, StandConvertEnum.symptom.toString(),
|
|
|
|
+ CoreUtil.getByPropertyName(wordCrfDTO.getChiefLabel().getClinicals(), "name", "standName"));
|
|
|
|
+ // 现病史症状
|
|
|
|
+ dealFilter(filterMap, StandConvertEnum.symptom.toString(),
|
|
|
|
+ CoreUtil.getByPropertyName(wordCrfDTO.getPresentLabel().getClinicals(), "name", "standName"));
|
|
|
|
+ // 查体结果
|
|
|
|
+ dealFilter(filterMap, StandConvertEnum.vital.toString(),
|
|
|
|
+ CoreUtil.getByPropertyName(wordCrfDTO.getVitalLabel().getClinicals(), "name", "standName"));
|
|
|
|
+ return filterMap;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 根据类型生成过滤词
|
|
|
|
+ *
|
|
|
|
+ * @param map
|
|
|
|
+ * @param key
|
|
|
|
+ * @param filteString
|
|
|
|
+ */
|
|
|
|
+ public void dealFilter(Map<String, List<String>> map, String key, List<String> filteString) {
|
|
|
|
+ if (ListUtil.isEmpty(filteString)) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (ListUtil.isNotEmpty(map.get(key))) { // 有值就追加
|
|
|
|
+ map.get(key).addAll(filteString);
|
|
|
|
+ } else { // 无值就初始化
|
|
|
|
+ map.put(key, filteString);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -554,17 +570,17 @@ public class PushProcess {
|
|
*
|
|
*
|
|
* @param pushDTO
|
|
* @param pushDTO
|
|
* @param ruleTypeList
|
|
* @param ruleTypeList
|
|
- * @param typeWords
|
|
|
|
|
|
+ * @param filterMap
|
|
* @param reverseDTOList
|
|
* @param reverseDTOList
|
|
*/
|
|
*/
|
|
- public void setPushItem(PushDTO pushDTO, List<String> ruleTypeList, Map<String, List<String>> typeWords, List<ReverseDTO> reverseDTOList, int length) {
|
|
|
|
|
|
+ public void setPushItem(PushDTO pushDTO, List<String> ruleTypeList, Map<String, List<String>> filterMap, List<ReverseDTO> reverseDTOList, int length) {
|
|
Map<String, List<PushBaseDTO>> dis = pushDTO.getDis();
|
|
Map<String, List<PushBaseDTO>> dis = pushDTO.getDis();
|
|
Map<Integer, List<ReverseDTO>> map = EntityUtil.makeEntityListMap(reverseDTOList, "sonType");
|
|
Map<Integer, List<ReverseDTO>> map = EntityUtil.makeEntityListMap(reverseDTOList, "sonType");
|
|
// 症状
|
|
// 症状
|
|
if (ruleTypeList.contains("1")) {
|
|
if (ruleTypeList.contains("1")) {
|
|
if (map.get(LexiconEnum.Symptom.getKey()) != null) {
|
|
if (map.get(LexiconEnum.Symptom.getKey()) != null) {
|
|
List<String> list = map.get(LexiconEnum.Symptom.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
List<String> list = map.get(LexiconEnum.Symptom.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
- CoreUtil.removeRepeat(list, typeWords.get(StandConvertEnum.symptom.toString())); // 过滤界面已有
|
|
|
|
|
|
+ CoreUtil.removeRepeat(list, filterMap.get(StandConvertEnum.symptom.toString())); // 过滤界面已有
|
|
pushDTO.setSymptom(getPushBaseDTO(list, length)); // 放入对象返回
|
|
pushDTO.setSymptom(getPushBaseDTO(list, length)); // 放入对象返回
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -572,7 +588,7 @@ public class PushProcess {
|
|
if (ruleTypeList.contains("4")) {
|
|
if (ruleTypeList.contains("4")) {
|
|
if (map.get(LexiconEnum.VitalResult.getKey()) != null) {
|
|
if (map.get(LexiconEnum.VitalResult.getKey()) != null) {
|
|
List<String> list = map.get(LexiconEnum.VitalResult.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
List<String> list = map.get(LexiconEnum.VitalResult.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
- CoreUtil.removeRepeat(list, typeWords.get(StandConvertEnum.vital.toString())); // 过滤界面已有
|
|
|
|
|
|
+ CoreUtil.removeRepeat(list, filterMap.get(StandConvertEnum.vital.toString())); // 过滤界面已有
|
|
pushDTO.setVital(getPushBaseDTO(list, length)); // 放入对象返回
|
|
pushDTO.setVital(getPushBaseDTO(list, length)); // 放入对象返回
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -580,7 +596,7 @@ public class PushProcess {
|
|
if (ruleTypeList.contains("5")) {
|
|
if (ruleTypeList.contains("5")) {
|
|
if (map.get(LexiconEnum.LisName.getKey()) != null) {
|
|
if (map.get(LexiconEnum.LisName.getKey()) != null) {
|
|
List<String> list = map.get(LexiconEnum.LisName.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
List<String> list = map.get(LexiconEnum.LisName.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
- CoreUtil.removeRepeat(list, typeWords.get(StandConvertEnum.lis.toString())); // 过滤界面已有
|
|
|
|
|
|
+ CoreUtil.removeRepeat(list, filterMap.get(StandConvertEnum.lis.toString())); // 过滤界面已有
|
|
pushDTO.setLis(getPushBaseDTO(list, length)); // 放入对象返回
|
|
pushDTO.setLis(getPushBaseDTO(list, length)); // 放入对象返回
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -588,7 +604,7 @@ public class PushProcess {
|
|
if (ruleTypeList.contains("6")) {
|
|
if (ruleTypeList.contains("6")) {
|
|
if (map.get(LexiconEnum.PacsName.getKey()) != null) {
|
|
if (map.get(LexiconEnum.PacsName.getKey()) != null) {
|
|
List<String> list = map.get(LexiconEnum.PacsName.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
List<String> list = map.get(LexiconEnum.PacsName.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
- CoreUtil.removeRepeat(list, typeWords.get(StandConvertEnum.pacs.toString())); // 过滤界面已有
|
|
|
|
|
|
+ CoreUtil.removeRepeat(list, filterMap.get(StandConvertEnum.pacs.toString())); // 过滤界面已有
|
|
pushDTO.setPacs(getPushBaseDTO(list, length)); // 放入对象返回
|
|
pushDTO.setPacs(getPushBaseDTO(list, length)); // 放入对象返回
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -596,7 +612,7 @@ public class PushProcess {
|
|
if (ruleTypeList.contains("7")) {
|
|
if (ruleTypeList.contains("7")) {
|
|
if (map.get(LexiconEnum.Disease.getKey()) != null) {
|
|
if (map.get(LexiconEnum.Disease.getKey()) != null) {
|
|
List<String> list = map.get(LexiconEnum.Disease.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
List<String> list = map.get(LexiconEnum.Disease.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
- CoreUtil.removeRepeat(list, typeWords.get(StandConvertEnum.disease.toString())); // 过滤界面已有
|
|
|
|
|
|
+ CoreUtil.removeRepeat(list, filterMap.get(StandConvertEnum.disease.toString())); // 过滤界面已有
|
|
List<PushBaseDTO> pushBaseDTO = getPushBaseDTO(list, length);
|
|
List<PushBaseDTO> pushBaseDTO = getPushBaseDTO(list, length);
|
|
if (ListUtil.isNotEmpty(pushBaseDTO)) {
|
|
if (ListUtil.isNotEmpty(pushBaseDTO)) {
|
|
dis.put(DiseaseTypeEnum.identify.getName(), pushBaseDTO);
|
|
dis.put(DiseaseTypeEnum.identify.getName(), pushBaseDTO);
|
|
@@ -607,7 +623,7 @@ public class PushProcess {
|
|
if (ruleTypeList.contains("8")) {
|
|
if (ruleTypeList.contains("8")) {
|
|
if (map.get(LexiconEnum.Medicine.getKey()) != null) {
|
|
if (map.get(LexiconEnum.Medicine.getKey()) != null) {
|
|
List<String> list = map.get(LexiconEnum.Medicine.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
List<String> list = map.get(LexiconEnum.Medicine.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
- CoreUtil.removeRepeat(list, typeWords.get(StandConvertEnum.drug.toString())); // 过滤界面已有
|
|
|
|
|
|
+ CoreUtil.removeRepeat(list, filterMap.get(StandConvertEnum.drug.toString())); // 过滤界面已有
|
|
pushDTO.setMedicines(getPushBaseDTO(list, length)); // 放入对象返回
|
|
pushDTO.setMedicines(getPushBaseDTO(list, length)); // 放入对象返回
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -615,7 +631,7 @@ public class PushProcess {
|
|
if (ruleTypeList.contains("9")) {
|
|
if (ruleTypeList.contains("9")) {
|
|
if (map.get(LexiconEnum.Operation.getKey()) != null) {
|
|
if (map.get(LexiconEnum.Operation.getKey()) != null) {
|
|
List<String> list = map.get(LexiconEnum.Operation.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
List<String> list = map.get(LexiconEnum.Operation.getKey()).stream().map(r -> r.getSonName()).collect(Collectors.toList());
|
|
- CoreUtil.removeRepeat(list, typeWords.get(StandConvertEnum.operation.toString())); // 过滤界面已有
|
|
|
|
|
|
+ CoreUtil.removeRepeat(list, filterMap.get(StandConvertEnum.operation.toString())); // 过滤界面已有
|
|
pushDTO.setOperations(getPushBaseDTO(list, length)); // 放入对象返回
|
|
pushDTO.setOperations(getPushBaseDTO(list, length)); // 放入对象返回
|
|
}
|
|
}
|
|
}
|
|
}
|