|
@@ -9,14 +9,8 @@ import com.diagbot.enums.StandConvertEnum;
|
|
|
import com.diagbot.model.ai.AIAnalyze;
|
|
|
import com.diagbot.model.entity.BodyPart;
|
|
|
import com.diagbot.model.entity.Modification;
|
|
|
-import com.diagbot.model.entity.Operation;
|
|
|
import com.diagbot.model.entity.Pacs;
|
|
|
-import com.diagbot.model.label.ChiefLabel;
|
|
|
-import com.diagbot.model.label.DiagLabel;
|
|
|
-import com.diagbot.model.label.PacsLabel;
|
|
|
-import com.diagbot.model.label.PastLabel;
|
|
|
-import com.diagbot.model.label.PresentLabel;
|
|
|
-import com.diagbot.model.label.VitalLabel;
|
|
|
+import com.diagbot.model.label.*;
|
|
|
import com.diagbot.rule.CommonRule;
|
|
|
import com.diagbot.util.BeanUtil;
|
|
|
import com.diagbot.util.CoreUtil;
|
|
@@ -25,25 +19,14 @@ import com.diagbot.util.StringUtil;
|
|
|
import com.diagbot.vo.NeoPushVO;
|
|
|
import com.diagbot.vo.SearchData;
|
|
|
import com.diagbot.vo.StandConvert;
|
|
|
-import com.diagbot.vo.neoPushEntity.ChiefPushVo;
|
|
|
-import com.diagbot.vo.neoPushEntity.Diag;
|
|
|
-import com.diagbot.vo.neoPushEntity.DiagVo;
|
|
|
-import com.diagbot.vo.neoPushEntity.Drug;
|
|
|
-import com.diagbot.vo.neoPushEntity.LisPushVo;
|
|
|
-import com.diagbot.vo.neoPushEntity.PacsPushVo;
|
|
|
-import com.diagbot.vo.neoPushEntity.PresentPushVo;
|
|
|
-import com.diagbot.vo.neoPushEntity.Symptom;
|
|
|
+import com.diagbot.vo.neoPushEntity.*;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import org.apache.commons.beanutils.BeanUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.Iterator;
|
|
|
-import java.util.LinkedHashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -287,19 +270,24 @@ public class CommonFacade {
|
|
|
// 6、结构化药品
|
|
|
CoreUtil.setPropertyList(wordCrfDTO.getDrug(), "name", "uniqueName", map.get(StandConvertEnum.drug.toString()));
|
|
|
|
|
|
- // 【化验回填】
|
|
|
- // 1、普通化验
|
|
|
- CoreUtil.setPropertyList(lis, "detailName", "uniqueName", map.get(StandConvertEnum.lis.toString()));
|
|
|
- // 2、开单化验——取套餐
|
|
|
- CoreUtil.setPropertyList(wordCrfDTO.getLisOrder(), "name", "uniqueName", map.get(StandConvertEnum.lis.toString()));
|
|
|
-
|
|
|
- // 【辅助项目回填】
|
|
|
- // 1、模型解析辅检项目
|
|
|
- CoreUtil.setPropertyList(pacsList, "name", "uniqueName", map.get(StandConvertEnum.pacs.toString()));
|
|
|
- // 2、结构化辅检项目
|
|
|
- CoreUtil.setPropertyList(wordCrfDTO.getPacs(), "name", "uniqueName", map.get(StandConvertEnum.pacs.toString()));
|
|
|
- // 3、开单辅检项目
|
|
|
- CoreUtil.setPropertyList(wordCrfDTO.getPacsOrder(), "name", "uniqueName", map.get(StandConvertEnum.pacs.toString()));
|
|
|
+// // 【化验回填】
|
|
|
+// // 1、普通化验
|
|
|
+// CoreUtil.setPropertyList(lis, "detailName", "uniqueName", map.get(StandConvertEnum.lis.toString()));
|
|
|
+// // 2、开单化验——取套餐
|
|
|
+// CoreUtil.setPropertyList(wordCrfDTO.getLisOrder(), "name", "uniqueName", map.get(StandConvertEnum.lis.toString()));
|
|
|
+//
|
|
|
+// // 【辅助项目回填】
|
|
|
+// // 1、模型解析辅检项目
|
|
|
+// CoreUtil.setPropertyList(pacsList, "name", "uniqueName", map.get(StandConvertEnum.pacs.toString()));
|
|
|
+// // 2、结构化辅检项目
|
|
|
+// CoreUtil.setPropertyList(wordCrfDTO.getPacs(), "name", "uniqueName", map.get(StandConvertEnum.pacs.toString()));
|
|
|
+// // 3、开单辅检项目
|
|
|
+// CoreUtil.setPropertyList(wordCrfDTO.getPacsOrder(), "name", "uniqueName", map.get(StandConvertEnum.pacs.toString()));
|
|
|
+
|
|
|
+ CoreUtil.setUninameFromDetail(wordCrfDTO.getLis(),"detailName");
|
|
|
+ CoreUtil.setUninameFromDetail(wordCrfDTO.getLisOrder(),"name");
|
|
|
+
|
|
|
+ pacsGetAndSet(wordCrfDTO);
|
|
|
|
|
|
// 【体征回填】
|
|
|
CoreUtil.setPropertyList(vitalLabel.getVitals(), map.get(StandConvertEnum.vital.toString()));
|
|
@@ -373,6 +361,35 @@ public class CommonFacade {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 辅检映射(关闭同义词转换)
|
|
|
+ *
|
|
|
+ * @param wordCrfDTO
|
|
|
+ */
|
|
|
+ public void pacsGetAndSet(WordCrfDTO wordCrfDTO) {
|
|
|
+ // 【所有辅检】
|
|
|
+ List<String> pacsList = new ArrayList<>();
|
|
|
+ // 1、结构化
|
|
|
+ CoreUtil.addList(pacsList, CoreUtil.getPropertyList(wordCrfDTO.getPacs()));
|
|
|
+ // 2、开单
|
|
|
+ CoreUtil.addList(pacsList, CoreUtil.getPropertyList(wordCrfDTO.getPacsOrder()));
|
|
|
+
|
|
|
+ pacsList = pacsList
|
|
|
+ .stream()
|
|
|
+ .distinct()
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
+ Map<String, Map<String, Long>> configMap = new LinkedHashMap<>();
|
|
|
+ if (ListUtil.isNotEmpty(pacsList)) {
|
|
|
+ configMap = pacsConfigFacade.getConfigMap(wordCrfDTO.getHospitalId(), pacsList, null);
|
|
|
+
|
|
|
+ // 4、结构化
|
|
|
+ setListProperty(wordCrfDTO, "pacs", "uniqueName", configMap);
|
|
|
+ // 5、开单
|
|
|
+ setListProperty(wordCrfDTO, "pacsOrder", "uniqueName", configMap);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 替换映射内容
|
|
|
*
|
|
@@ -381,10 +398,10 @@ public class CommonFacade {
|
|
|
* @param objProperty 对象属性名
|
|
|
* @param configMap 映射Map
|
|
|
*/
|
|
|
- public void setListProperty(Object obj, String listProperty, String objProperty, Map<String, Map<String, Long>> configMap) {
|
|
|
+ public <T> void setListProperty(Object obj, String listProperty, String objProperty, Map<String, Map<String, Long>> configMap) {
|
|
|
Object tList = CoreUtil.getFieldValue(obj, listProperty);
|
|
|
- List<Operation> operationNewList = convertStandName((List)tList, configMap, objProperty);
|
|
|
- CoreUtil.setFieldValue(obj, listProperty, operationNewList);
|
|
|
+ List<T> newList = convertStandName((List)tList, configMap, objProperty);
|
|
|
+ CoreUtil.setFieldValue(obj, listProperty, newList);
|
|
|
}
|
|
|
|
|
|
/**
|