Преглед на файлове

化验、管理评估推理

Zhaops преди 6 години
родител
ревизия
b7808255ed

+ 9 - 37
aipt-service/src/main/java/com/diagbot/facade/EvaluationFacade.java

@@ -1,64 +1,36 @@
 package com.diagbot.facade;
 
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
 import com.alibaba.fastjson.JSONObject;
 import com.diagbot.dto.EvaluationDTO;
 import com.diagbot.service.impl.EvaluationServiceImpl;
 import com.diagbot.vo.EvaluationdiseaseNameVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+import java.util.Map;
 
 @Component
 public class EvaluationFacade extends EvaluationServiceImpl {
-	
+
 	@Autowired
 	PushFacade pushFacade;
+
 	/**
 	 * 获取管理与评估模板接口
 	 *
-	 * @param evaluationDiseaseIdVO
+	 * @param evaluationdiseaseNameVO
 	 * @return
 	 */
 	public List<EvaluationDTO> getEvaluationModule(EvaluationdiseaseNameVO evaluationdiseaseNameVO) {
 
 		List<EvaluationDTO> evaluationList = getEvaluationModule(evaluationdiseaseNameVO);
-		
+
 		Map<String, JSONObject> jsonobject = pushFacade.getManagementEvaluationContent(evaluationdiseaseNameVO);
 		for (String key : jsonobject.keySet()) {
 			for (EvaluationDTO evaluadata : evaluationList) {
 				if (key.equals(evaluadata.getRegionName())) {
 					evaluadata.setData(jsonobject.get(key));
-
-				}
-			}
-
-		}
-		return evaluationList;
-	}
-/*
-	*//**
-	 * 获取管理与评估模板接口
-	 *
-	 * @param diseaseId
-	 * @param contentMap
-	 * @return
-	 */
-	public List<EvaluationDTO> getEvaluationModule(Long diseaseId, Map<String, JSONObject> contentMap) {
-		EvaluationdiseaseNameVO evaluationdiseaseNameVO =new EvaluationdiseaseNameVO();
-		evaluationdiseaseNameVO.setDiseaseName("糖尿病");
-		List<EvaluationDTO> evaluationList = getEvaluationModule(evaluationdiseaseNameVO);
-		//List<EvaluationDTO> datas= evaluationList.data;
-		// 过滤
-		//List<EvaluationDTO> data = BeanUtil.listCopyTo(datas, EvaluationDTO.class);
-		if (contentMap != null && contentMap.size() > 0) {
-			for (String key : contentMap.keySet()) {
-				for (EvaluationDTO evaluadata : evaluationList) {
-					if (key.equals(evaluadata.getRegionName())) {
-						evaluadata.setData(contentMap.get(key));
-					}
 				}
 			}
 		}

+ 10 - 0
icss-service/src/main/java/com/diagbot/client/AiptServiceClient.java

@@ -2,6 +2,7 @@ package com.diagbot.client;
 
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ConceptBaseVO;
+import com.diagbot.client.bean.ConceptExistVO;
 import com.diagbot.client.bean.DisTypeVO;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.ResponseData;
@@ -160,4 +161,13 @@ public interface AiptServiceClient {
      */
     @PostMapping("/disType/verifyDisType")
     RespDTO<Boolean> verifyDisType(@Valid @RequestBody DisTypeVO disTypeVO);
+
+    /**
+     * 根据名称和类型获取概念列表Map
+     *
+     * @param conceptExistVO
+     * @return
+     */
+    @PostMapping("/concept/getConceptMapByNameAndType")
+    RespDTO<Map<String, Long>> getConceptMapByNameAndType(@RequestBody ConceptExistVO conceptExistVO);
 }

+ 23 - 0
icss-service/src/main/java/com/diagbot/client/bean/ConceptExistVO.java

@@ -0,0 +1,23 @@
+package com.diagbot.client.bean;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2019/5/6 18:50
+ */
+@Getter
+@Setter
+public class ConceptExistVO {
+    @ApiModelProperty(value = "名称列表")
+    private List<String> nameList;
+    @ApiModelProperty(value = "类型")
+    private Integer type;
+    @ApiModelProperty(hidden = true)
+    private Integer libType;
+}

+ 13 - 0
icss-service/src/main/java/com/diagbot/client/hystrix/AiptServiceHystrix.java

@@ -3,6 +3,7 @@ package com.diagbot.client.hystrix;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.bean.CalculateData;
 import com.diagbot.client.bean.ConceptBaseVO;
+import com.diagbot.client.bean.ConceptExistVO;
 import com.diagbot.client.bean.DisTypeVO;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.ResponseData;
@@ -207,4 +208,16 @@ public class AiptServiceHystrix implements AiptServiceClient {
         log.error("【hystrix】调用{}异常", "verifyDisType");
         return null;
     }
+
+    /**
+     * 根据名称和类型获取概念列表Map
+     *
+     * @param conceptExistVO
+     * @return
+     */
+    @Override
+    public RespDTO<Map<String, Long>> getConceptMapByNameAndType(@RequestBody ConceptExistVO conceptExistVO) {
+        log.error("【hystrix】调用{}异常", "getConceptMapByNameAndType");
+        return null;
+    }
 }

+ 22 - 26
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.diagbot.client.AiptServiceClient;
 import com.diagbot.client.TranServiceClient;
 import com.diagbot.client.bean.ConceptBaseVO;
+import com.diagbot.client.bean.ConceptExistVO;
 import com.diagbot.client.bean.FeatureRate;
 import com.diagbot.client.bean.GdbResponse;
 import com.diagbot.client.bean.ResponseData;
@@ -63,8 +64,6 @@ public class PushFacade {
     @Autowired
     private QuestionFacade questionFacade;
     @Autowired
-    private DeptInfoFacade deptInfoFacade;
-    @Autowired
     private DeptVitalFacade deptVitalFacade;
     @Autowired
     private TreatmentFacade treatmentFacade;
@@ -73,10 +72,6 @@ public class PushFacade {
     @Autowired
     private DisTypeFacade disTypeFacade;
     @Autowired
-    private ScaleContentFacade scaleContentFacade;
-    @Autowired
-    private EvaluationModuleMappingFacade evaluationModuleMappingFacade;
-    @Autowired
     private TranServiceClient tranServiceClient;
     @Autowired
     private AiptServiceClient aiptServiceClient;
@@ -182,6 +177,8 @@ public class PushFacade {
                 //公表项转套餐项
                 Map<String, List<String>> lisMapping = lisMappingFacade.getLisMappingByUniqueName();
                 List<String> nameList = Lists.newLinkedList();
+                Map<String, Long> lisMap = new LinkedHashMap<>();
+                List<ConceptPushDTO> lisDTO = Lists.newLinkedList();
                 for (ConceptPushDTO lab : labs) {
                     if (ListUtil.isNotEmpty(lisMapping.get(lab.getName()))) {
                         //匹配出多个套餐项默认取第一个
@@ -192,7 +189,25 @@ public class PushFacade {
                         nameList.add(name);
                     }
                 }
-                List<ConceptPushDTO> lisDTO = Lists.newLinkedList();
+                if (ListUtil.isNotEmpty(nameList)) {
+                    ConceptExistVO conceptExistVO = new ConceptExistVO();
+                    conceptExistVO.setNameList(nameList);
+                    conceptExistVO.setType(ConceptTypeEnum.Lis.getKey());
+                    RespDTO<Map<String, Long>> respDTO = aiptServiceClient.getConceptMapByNameAndType(conceptExistVO);
+                    if (RespDTOUtil.respIsOK(respDTO)) {
+                        lisMap = respDTO.data;
+                    }
+                }
+                for (Map.Entry<String, Long> entry : lisMap.entrySet()) {
+                    ConceptPushDTO conceptPushDTO = new ConceptPushDTO();
+                    conceptPushDTO.setConceptId(entry.getValue());
+                    conceptPushDTO.setName(entry.getKey());
+                    conceptPushDTO.setLibType(ConceptTypeEnum.Lis.getKey());
+                    lisDTO.add(conceptPushDTO);
+                }
+                if (ListUtil.isNotEmpty(lisDTO)) {
+                    lisDTO = addQuestionId(lisDTO, ConceptTypeEnum.Lis.getKey());
+                }
                 pushDTO.setLab(lisDTO);
             }
         }
@@ -208,25 +223,6 @@ public class PushFacade {
         if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.MedicalIndication.getKey()))) {
             pushDTO.setMedicalIndications(data.getMedicalIndications());
         }
-        //量表内容 featuretype=21
-        /*if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.Scale.getKey()))) {
-            Map<String, Object> scale = scale(aiSearchData);
-            String scaleContent = "";
-            if (scale != null && scale.size() > 0) {
-                scaleContent = JSON.toJSONString(scale);
-            }
-            List<ScaleContent> scaleContentList = scaleContentFacade.getContent(pushVO.getScaleId(), scaleContent);
-            pushDTO.setScale(scaleContentList);
-        }*/
-
-        //管理评估 featuretype=11 && disType=1(慢病)
-        /*if (featureTypeSet.contains(String.valueOf(FeatureTypeEnum.ManagementEvaluation.getKey()))) {
-            Map<String, JSONObject> managementEvaluation = data.getManagementEvaluation();
-            if (pushVO.getDisType().equals(DisTypeEnum.CHRONIC.getKey())) {
-                List<EvaluationDTO> evaluationModule = evaluationModuleMappingFacade.getEvaluationModule(pushVO.getDiseaseId(), managementEvaluation);
-                pushDTO.setEvaluationModule(evaluationModule);
-            }
-        }*/
         return pushDTO;
     }
 

+ 0 - 1
icss-service/src/main/java/com/diagbot/vo/PushVO.java

@@ -18,7 +18,6 @@ public class PushVO  extends PushBaseVO {
     private String diseaseName;
     private Long patientId;   //病人id
     private String scaleName; //量表名称
-    //private Long scaleId;     //量表id
     private Integer disType;  //0-普通病(默认不填),1-慢病,2-急诊
     private List<AdverseReaction> adverseReactions; //不良反应
     private String indications;   //推理指标