Kaynağa Gözat

提示信息

Zhaops 6 yıl önce
ebeveyn
işleme
c2b44f01ed

+ 49 - 0
aipt-service/src/main/java/com/diagbot/enums/LisSourceEnum.java

@@ -0,0 +1,49 @@
+package com.diagbot.enums;
+
+import com.diagbot.core.KeyedNamed;
+import lombok.Setter;
+
+/**
+ * @Description:化验数据来源
+ * @Author:zhaops
+ * @time: 2018/12/26 16:37
+ */
+public enum LisSourceEnum implements KeyedNamed {
+    Inner(0, "ICSS-内部"),
+    Outer(1, "外部");
+
+    @Setter
+    private Integer key;
+
+    @Setter
+    private String name;
+
+    LisSourceEnum(Integer key, String name) {
+        this.key = key;
+        this.name = name;
+    }
+
+    public static LisSourceEnum getEnum(Integer key) {
+        for (LisSourceEnum item : LisSourceEnum.values()) {
+            if (item.key == key) {
+                return item;
+            }
+        }
+        return null;
+    }
+
+    public static String getName(Integer key) {
+        LisSourceEnum item = getEnum(key);
+        return item != null ? item.name : null;
+    }
+
+    @Override
+    public int getKey() {
+        return key;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+}

+ 23 - 0
aipt-service/src/main/java/com/diagbot/facade/ConceptDetailFacade.java

@@ -19,9 +19,13 @@ import com.diagbot.vo.ConceptIntroduceVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.TreeSet;
 import java.util.stream.Collectors;
 
 /**
@@ -147,4 +151,23 @@ public class ConceptDetailFacade extends ConceptDetailServiceImpl {
         }
         return retMap;
     }
+
+    /**
+     * 根据概念id验证提示信息是否存在
+     *
+     * @param conceptIds
+     * @return
+     */
+    public List<Long> existListByConceptIds(List<Long> conceptIds) {
+        QueryWrapper<ConceptDetail> conceptDetailQueryWrapper = new QueryWrapper<>();
+        conceptDetailQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .in("concept_id", conceptIds);
+        List<ConceptDetail> conceptDetailList = this.list(conceptDetailQueryWrapper);
+        if (ListUtil.isNotEmpty(conceptDetailList)) {
+            List<Long> retConceptIds = conceptDetailList.stream().map(conceptDetail -> conceptDetail.getConceptId()).distinct().collect(Collectors.toList());
+            return retConceptIds;
+        } else {
+            return null;
+        }
+    }
 }

+ 4 - 1
aipt-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -16,6 +16,7 @@ import com.diagbot.entity.Concept;
 import com.diagbot.enums.ConceptTypeEnum;
 import com.diagbot.enums.FeatureTypeEnum;
 import com.diagbot.enums.LexiconTypeEnum;
+import com.diagbot.enums.LisSourceEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.util.EntityUtil;
@@ -370,8 +371,10 @@ public class PushFacade {
             if (RespDTOUtil.respIsOK(lisConfigWithEmptyItemNameRes)) {
                 lisConfigMap_emptyItemName = lisConfigWithEmptyItemNameRes.data;
             }
-
             for (LisResult lisResult : lisResults) {
+                if (!lisResult.getSource().equals(LisSourceEnum.Outer.getKey())) {
+                    continue;
+                }
                 if (StringUtil.isNotBlank(lisResult.getName())) {
                     if (StringUtil.isNotBlank(lisResult.getDetailName())) {
                         if (lisConfigMap.get(lisResult.getName()) != null) {

+ 1 - 1
aipt-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -40,7 +40,7 @@ public class ConceptDetailController {
             notes = "name: 标签名称,必填<br>" +
                     "titles: 标题,数组选填<br>" +
                     "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
-                    "position:展示位置(1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书,6-不良反应,7-描述信息(智能分诊症状提示信息)),单选选填")
+                    "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")
     public RespDTO<ConceptIntroduceDTO> getConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {

+ 1 - 1
data-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -32,7 +32,7 @@ public class ConceptDetailController {
             notes = "name: 标签名称,必填<br>" +
                     "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
                     "titles:提示信息标题列表,数组选填<br>" +
-                    "position:展示位置(1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书,6-不良反应,7-描述信息(智能分诊症状提示信息)),单选选填")
+                    "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选选填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")
     public RespDTO<ConceptIntroduceDTO> getConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {

+ 1 - 0
icss-service/src/main/java/com/diagbot/client/bean/SearchData.java

@@ -33,4 +33,5 @@ public class SearchData {
     private String adverseReactions; //不良反应
     private Integer disType;    //诊断类型
     private String adverseEvent;
+    private String hosCode;    //医院编码
 }

+ 1 - 0
icss-service/src/main/java/com/diagbot/facade/AssembleFacade.java

@@ -44,6 +44,7 @@ public class AssembleFacade {
         searchData.setDiseaseName(pushVO.getDiseaseName());
         searchData.setIndications(pushVO.getIndications());
         searchData.setFeatureType(pushVO.getFeatureType());
+        searchData.setHosCode(pushVO.getHosCode());
         searchData.setSysCode("1");
         searchData.setLength(10);
 

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

@@ -22,5 +22,5 @@ public class LisResult {
     private String units;//单位
     private String otherValue;//其他结果,包括阴性阳性,文字描述等
     @NotNull(message = "请输入数据来源")
-    private Integer source;
+    private Integer source; //0-内部来源,1-外部来源
 }

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

@@ -17,4 +17,5 @@ public class PushVO  extends PushBaseVO {
     private Integer disType;  //0-普通病(默认不填),1-慢病,2-急诊
     private String adverseReactions; //不良反应
     private String indications;   //推理指标
+    private String hosCode; //医院编码
 }

+ 1 - 1
icss-service/src/main/java/com/diagbot/web/ConceptDetailController.java

@@ -35,7 +35,7 @@ public class ConceptDetailController {
     @ApiOperation(value = "知识库标准化-获取提示信息[by:zhaops]",
             notes = "name: 标签名称,必填<br>" +
                     "type:标签类型(1-症状,5-化验,6-辅检,7-诊断,8-药品,9-药品大类,10-不良反应,11-药品小类,12-化验公表项,22-指标),单选必填<br>" +
-                    "position:展示位置(1-推送展示,2-更多展示,3-一般治疗展示,4-手术治疗展示,5-药品说明书,6-不良反应,7-描述信息(智能分诊症状提示信息)),单选必填")
+                    "position:1-摘要,2-全文,5-药品说明书,6-不良反应,单选必填")
     @PostMapping("/getConceptDetail")
     @SysLogger("getConceptDetail")
     public RespDTO<ConceptIntroduceDTO> getConceptDetail(@Valid @RequestBody ConceptIntroduceVO conceptIntroduceVO) {

+ 6 - 3
icss-service/src/main/java/com/diagbot/web/PushController.java

@@ -63,7 +63,8 @@ public class PushController {
                     "patientId:病人id,Long<br>" +
                     "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
                     "indications:指标结果,String<br>" +
-                    "adverseReactions:不良反应,String<br>")
+                    "adverseReactions:不良反应,String<br>" +
+                    "hosCode:医院编码,String<br>")
     @PostMapping("/pushInner")
     @SysLogger("pushInner")
     public RespDTO<PushDTO> pushInner(@RequestBody @Valid PushVO pushVO) {
@@ -93,7 +94,8 @@ public class PushController {
                     "patientId:病人id,Long<br>" +
                     "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
                     "indications:指标结果,String<br>" +
-                    "adverseReactions:不良反应,String<br>")
+                    "adverseReactions:不良反应,String<br>" +
+                    "hosCode:医院编码,String<br>")
     @PostMapping("/pushTreatment")
     @SysLogger("pushTreatment")
     public RespDTO<Map<String, Object>> pushTreatment(@RequestBody @Valid PushVO pushVO) {
@@ -126,7 +128,8 @@ public class PushController {
                     "scaleId:量表id,Long<br>" +
                     "patientId:病人id(治疗方案),Long<br>" +
                     "disType:诊断类型,1-慢病,2-急诊,普通病不填,Integer<br>" +
-                    "adverseReactions:不良反应(治疗方案),String<br>")
+                    "adverseReactions:不良反应(治疗方案),String<br>" +
+                    "hosCode:医院编码,String<br>")
     @PostMapping("/pushText")
     @SysLogger("pushText")
     public RespDTO<PushDTO> pushText(@RequestBody @Valid PushVO pushVO) {