Bladeren bron

Merge remote-tracking branch 'origin/dev/icss' into dev/icss

wangyu 6 jaren geleden
bovenliggende
commit
3333d26cf3

+ 1 - 2
icss-service/src/main/java/com/diagbot/dto/PushDTO.java

@@ -13,11 +13,10 @@ import java.util.Map;
 @Getter
 @Setter
 public class PushDTO {
-
     private Map<String, Object> symptomMap;
     private Map<String, Object> vitalMap;
-    private Map<String, Object> disMap;
     private Map<String, Object> labMap;
     private Map<String, Object> pacsMap;
+    private Map<String, Object> disMap;
 
 }

+ 43 - 4
icss-service/src/main/java/com/diagbot/facade/IntroduceInfoFacade.java

@@ -5,11 +5,14 @@ import com.diagbot.dto.IntroduceDTO;
 import com.diagbot.entity.IntroduceDetail;
 import com.diagbot.entity.IntroduceInfo;
 import com.diagbot.entity.IntroduceMap;
+import com.diagbot.entity.QuestionInfo;
 import com.diagbot.enums.IsDeleteEnum;
+import com.diagbot.enums.QuestionTypeEnum;
 import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.service.impl.IntroduceInfoServiceImpl;
 import com.diagbot.util.BeanUtil;
+import com.diagbot.util.StringUtil;
 import com.diagbot.vo.IntroduceByQuestionVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -27,15 +30,19 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
     IntroduceMapFacade introduceMapFacade;
     @Autowired
     IntroduceDetailFacade introduceDetailFacade;
+    @Autowired
+    QuestionFacade questionFacade;
 
     /**
-     * 根据标签获取提示信息
+     * 根据标签id获取提示信息
      *
      * @param introduceByQuestionVO
      * @return
      */
-    public IntroduceDTO getByQuestion(IntroduceByQuestionVO introduceByQuestionVO) {
-
+    public IntroduceDTO getByQuestionId(IntroduceByQuestionVO introduceByQuestionVO) {
+        if (introduceByQuestionVO.getQuestionId() == null) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入标签id");
+        }
         QueryWrapper<IntroduceMap> introduceMapQueryWrapper = new QueryWrapper<>();
         introduceMapQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
                 eq("question_id", introduceByQuestionVO.getQuestionId()).
@@ -49,6 +56,38 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
         return introduceDTO;
     }
 
+    /**
+     * 根据标签名称获取提示信息
+     *
+     * @param introduceByQuestionVO
+     * @return
+     */
+    public IntroduceDTO getByQuestionName(IntroduceByQuestionVO introduceByQuestionVO) {
+        if (StringUtil.isBlank(introduceByQuestionVO.getTagName())) {
+            throw new CommonException(CommonErrorCode.PARAM_IS_NULL, "请输入标签名称");
+        }
+        QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper<>();
+        questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("tag_name", introduceByQuestionVO.getTagName())
+                .eq("type", QuestionTypeEnum.Disease.getKey());
+        QuestionInfo questionInfo = questionFacade.getOne(questionInfoQueryWrapper);
+        if (questionInfo == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "标签不存在");
+        }
+
+        QueryWrapper<IntroduceMap> introduceMapQueryWrapper = new QueryWrapper<>();
+        introduceMapQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                eq("question_id", questionInfo.getId()).
+                eq("type", introduceByQuestionVO.getType());
+        IntroduceMap introduceMap = introduceMapFacade.getOne(introduceMapQueryWrapper);
+        if (introduceMap == null) {
+            throw new CommonException(CommonErrorCode.NOT_EXISTS, "提示信息未维护");
+        }
+
+        IntroduceDTO introduceDTO = this.getRecordById(introduceMap.getIntroduceId());
+        return introduceDTO;
+    }
+
     /**
      * 根据id获取提示信息
      *
@@ -72,4 +111,4 @@ public class IntroduceInfoFacade extends IntroduceInfoServiceImpl {
         introduceDTO.setIntroduceDetailList(introduceDetailList);
         return introduceDTO;
     }
-}
+}

+ 43 - 21
icss-service/src/main/java/com/diagbot/facade/PushFacade.java

@@ -7,6 +7,7 @@ import com.diagbot.client.bean.Response;
 import com.diagbot.client.bean.ResponseData;
 import com.diagbot.client.bean.SearchData;
 import com.diagbot.dto.PushDTO;
+import com.diagbot.dto.QuestionDTO;
 import com.diagbot.entity.DeptInfo;
 import com.diagbot.entity.DeptVital;
 import com.diagbot.entity.QuestionInfo;
@@ -16,6 +17,7 @@ import com.diagbot.exception.CommonErrorCode;
 import com.diagbot.exception.CommonException;
 import com.diagbot.util.EntityUtil;
 import com.diagbot.vo.PushVO;
+import com.diagbot.vo.QuestionVO;
 import com.diagbot.web.DeptInfoController;
 import com.google.common.collect.Lists;
 import com.sun.corba.se.impl.ior.OldJIDLObjectKeyTemplate;
@@ -82,7 +84,6 @@ public class PushFacade {
         String[] featureTypes = featureType.split(",|,");
         Set<String> featureTypeSet = new HashSet(Arrays.asList(featureTypes));
 
-
         searchData.setFeatureType(pushVO.getFeatureType());
         searchData.setSysCode("1");
         searchData.setLength(10);
@@ -99,51 +100,71 @@ public class PushFacade {
         Map<String, Object> labMap = list2Map(labs);
         Map<String, Object> pacsMap = list2Map(pacs);
 
-        //症状(主诉 type=1;现病史 type=2) 返回 tagName+id
-        if (featureTypeSet.contains("1") || featureTypeSet.contains("2")) {
+        if (featureTypeSet.contains("5")) {
+            pushDTO.setLabMap(labMap);
+        } else if (featureTypeSet.contains("6")) {
+            pushDTO.setPacsMap(pacsMap);
+        } else if (featureTypeSet.contains("7")) {
+            pushDTO.setDisMap(disMap);
+        }
+        //症状(主诉 type=1;现病史 type=2) 返回 tagName+填写单
+        else if (featureTypeSet.contains("1") || featureTypeSet.contains("2")) {
             QueryWrapper<QuestionInfo> questionInfoQueryWrapper = new QueryWrapper();
-            questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).in("tag_name", symptomMap.keySet()).eq("type", "2");
+            questionInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                    in("tag_name", symptomMap.keySet()).
+                    eq("type", "2");
             List<QuestionInfo> questionInfoList = questionFacade.list(questionInfoQueryWrapper);
             Map<String, QuestionInfo> questionInfoMap = EntityUtil.makeEntityMap(questionInfoList, "tagName");
             for (Map.Entry<String, Object> entry : symptomMap.entrySet()) {
-                entry.setValue(questionInfoMap.get(entry.getKey()).getId());
+                if (questionInfoMap.get(entry.getKey()) != null) {
+                    QuestionVO questionVO = new QuestionVO();
+                    questionVO.setAge(pushVO.getAge());
+                    questionVO.setSexType(pushVO.getSex());
+                    questionVO.setId(questionInfoMap.get(entry.getKey()).getId());
+                    entry.setValue(questionFacade.getById(questionVO));
+                }
             }
             pushDTO.setSymptomMap(symptomMap);
         }
-
-        pushDTO.setDisMap(disMap);
-        pushDTO.setPacsMap(pacsMap);
-        pushDTO.setLabMap(labMap);
-
         //查体 返回模板
-        if (featureTypeSet.contains("4") && dis != null && dis.size() > 0) {
+        else if (featureTypeSet.contains("4") && dis != null && dis.size() > 0) {
             String deptName = dis.get(0).getExtraProperty();
             QueryWrapper<DeptInfo> deptInfoQueryWrapper = new QueryWrapper<>();
-            deptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("name", deptName);
+            deptInfoQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                    eq("name", deptName);
             DeptInfo deptInfo = deptInfoFacade.getOne(deptInfoQueryWrapper);
             if (deptInfo == null) {
                 throw new CommonException(CommonErrorCode.NOT_EXISTS, "科室信息不存在");
             }
 
             QueryWrapper<DeptVital> deptVitalQueryWrapper = new QueryWrapper<>();
-            deptVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).eq("dept_id", deptInfo.getId());
+            deptVitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                    eq("dept_id", deptInfo.getId());
             List<DeptVital> deptVitalList = deptVitalFacade.list(deptVitalQueryWrapper);
             if (deptVitalList.size() > 0) {
                 Map<Long, DeptVital> deptVitalMap = EntityUtil.makeEntityMap(deptVitalList, "vitalId");
                 //排序
                 QueryWrapper<VitalOrder> vitalOrderQueryWrapper = new QueryWrapper<>();
-                vitalOrderQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).in("question_id", deptVitalMap.keySet()).orderByAsc("order_no");
+                vitalOrderQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                        in("question_id", deptVitalMap.keySet()).
+                        orderByAsc("order_no");
                 List<VitalOrder> vitalOrderList = vitalOrderFacade.list(vitalOrderQueryWrapper);
-                Map<Long, VitalOrder> vitalOrderMap = EntityUtil.makeEntityMap(vitalOrderList, "id");
+                Map<Long, VitalOrder> vitalOrderMap = EntityUtil.makeEntityMap(vitalOrderList, "question_id");
                 //标签列表
-                QueryWrapper<QuestionInfo> vitalQueryWrapper = new QueryWrapper<>();
-                vitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).in("id", deptVitalMap.keySet());
+                /*QueryWrapper<QuestionInfo> vitalQueryWrapper = new QueryWrapper<>();
+                vitalQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey()).
+                        in("id", deptVitalMap.keySet());
                 List<QuestionInfo> vitalList = questionFacade.list(vitalQueryWrapper);
-                Map<Long, QuestionInfo> vitalQuestionMap = EntityUtil.makeEntityMap(vitalList, "id");
+                Map<Long, QuestionInfo> vitalQuestionMap = EntityUtil.makeEntityMap(vitalList, "id");*/
                 for (Map.Entry<Long, VitalOrder> entry : vitalOrderMap.entrySet()) {
-                    QuestionInfo vitalQuestion = vitalQuestionMap.get(entry.getKey());
-                    if (vitalQuestion != null) {
-                        vitalMap.put(vitalQuestion.getTagName(), vitalQuestion);
+                    QuestionVO questionVO = new QuestionVO();
+                    questionVO.setAge(pushVO.getAge());
+                    questionVO.setSexType(pushVO.getSex());
+                    questionVO.setId(entry.getKey());
+                    QuestionDTO questionDTO = questionFacade.getById(questionVO);
+                    //QuestionInfo vitalQuestion = vitalQuestionMap.get(entry.getKey());
+                    if (questionDTO != null) {
+                        vitalMap.put(questionDTO.getTagName(), questionDTO);
                     }
                 }
                 pushDTO.setVitalMap(vitalMap);
@@ -154,6 +175,7 @@ public class PushFacade {
 
     /**
      * 将list 转换成 map
+     *
      * @param list
      * @return
      */

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

@@ -13,8 +13,9 @@ import javax.validation.constraints.NotNull;
 @Getter
 @Setter
 public class IntroduceByQuestionVO {
-    @NotNull(message = "请输入标签id")
     private Long questionId;
+    private String tagName;
     @NotNull(message = "请输入标签类型")
     private Integer type;
+
 }

+ 13 - 4
icss-service/src/main/java/com/diagbot/web/IntroduceInfoController.java

@@ -32,12 +32,21 @@ public class IntroduceInfoController {
     @Autowired
     IntroduceInfoFacade introduceInfoFacade;
 
-    @ApiOperation(value = "根据标签获取提示信息[by:zhaops]",
+    @ApiOperation(value = "根据标签id获取提示信息[by:zhaops]",
             notes = "questionId: 标签id,必填<br>" +
                     "type:标签类型,必填")
-    @PostMapping("/getByQuestion")
-    public RespDTO<IntroduceDTO> getByQuestion(@RequestBody @Valid IntroduceByQuestionVO introduceByQuestionVO) {
-        IntroduceDTO introduceDTO = introduceInfoFacade.getByQuestion(introduceByQuestionVO);
+    @PostMapping("/getByQuestionId")
+    public RespDTO<IntroduceDTO> getByQuestionId(@RequestBody @Valid IntroduceByQuestionVO introduceByQuestionVO) {
+        IntroduceDTO introduceDTO = introduceInfoFacade.getByQuestionId(introduceByQuestionVO);
+        return RespDTO.onSuc(introduceDTO);
+    }
+
+    @ApiOperation(value = "根据标签名称获取提示信息[by:zhaops]",
+            notes = "tagName: 标签名称,必填<br>" +
+                    "type:标签类型,必填")
+    @PostMapping("/getByQuestionName")
+    public RespDTO<IntroduceDTO> getByQuestionName(@RequestBody @Valid IntroduceByQuestionVO introduceByQuestionVO) {
+        IntroduceDTO introduceDTO = introduceInfoFacade.getByQuestionName(introduceByQuestionVO);
         return RespDTO.onSuc(introduceDTO);
     }