Browse Source

智能分诊返回医院科室列表

zhaops 5 years ago
parent
commit
397fe743fc

+ 33 - 0
tran-service/src/main/java/com/diagbot/dto/HospitalDeptDTO.java

@@ -0,0 +1,33 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/8/19 16:45
+ */
+@Getter
+@Setter
+public class HospitalDeptDTO {
+    /**
+     * 医院科室编码(科室ID)
+     */
+    private String hospitalDeptCode;
+
+    /**
+     * 医院科室名称
+     */
+    private String hospitalDeptName;
+
+    /**
+     * 医院编码(医院ID)
+     */
+    private String hospitalCode;
+
+    /**
+     * 医院名称
+     */
+    private String hospitalName;
+}

+ 45 - 6
tran-service/src/main/java/com/diagbot/facade/HospitalDeptFacade.java

@@ -1,9 +1,16 @@
 package com.diagbot.facade;
 package com.diagbot.facade;
 
 
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
+import com.diagbot.dto.HospitalDeptDTO;
+import com.diagbot.enums.StatusEnum;
+import com.diagbot.util.EntityUtil;
+import com.diagbot.util.ListUtil;
+import com.diagbot.vo.HospitalDeptVO;
+import com.google.common.collect.Lists;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -32,21 +39,53 @@ public class HospitalDeptFacade extends HospitalDeptServiceImpl {
         HospitalDeptInfoDTO hospitalDeptInfoDTO = new HospitalDeptInfoDTO();
         HospitalDeptInfoDTO hospitalDeptInfoDTO = new HospitalDeptInfoDTO();
         QueryWrapper<HospitalDept> hospitalDeptQueryWrapper = new QueryWrapper<>();
         QueryWrapper<HospitalDept> hospitalDeptQueryWrapper = new QueryWrapper<>();
         hospitalDeptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
         hospitalDeptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("hospital_code",hospitalDeptInfoVO.getHospitalCode())
-                .eq("code",hospitalDeptInfoVO.getDeptCode());
+                .eq("hospital_code", hospitalDeptInfoVO.getHospitalCode())
+                .eq("code", hospitalDeptInfoVO.getDeptCode());
         HospitalDept hospitalDept = this.getOne(hospitalDeptQueryWrapper);
         HospitalDept hospitalDept = this.getOne(hospitalDeptQueryWrapper);
-        BeanUtil.copyProperties(hospitalDept,hospitalDeptInfoDTO);
+        BeanUtil.copyProperties(hospitalDept, hospitalDeptInfoDTO);
         return hospitalDeptInfoDTO;
         return hospitalDeptInfoDTO;
     }
     }
-    
+
     /**
     /**
      * 根据ids获取科室信息map
      * 根据ids获取科室信息map
+     *
      * @param ids 科室ids
      * @param ids 科室ids
      * @return 科室信息
      * @return 科室信息
      */
      */
     public Map<Long, HospitalDept> hospitalDeptInfoMapByIds(List<Long> ids) {
     public Map<Long, HospitalDept> hospitalDeptInfoMapByIds(List<Long> ids) {
-    	Map<Long, HospitalDept> hospitalDeptMap = this.listByIds(ids).stream().filter(i -> i.getIsDeleted().equals("N") && i.getStatus() == 1).collect(Collectors.toMap(HospitalDept::getId, i -> i));
+        Map<Long, HospitalDept> hospitalDeptMap = this.listByIds(ids).stream().filter(i -> i.getIsDeleted().equals("N") && i.getStatus() == 1).collect(Collectors.toMap(HospitalDept::getId, i -> i));
         return hospitalDeptMap;
         return hospitalDeptMap;
     }
     }
-    
+
+    /**
+     * 获取科室对接信息
+     *
+     * @param hospitalDeptVO
+     * @return
+     */
+    public Map<String, List<HospitalDeptDTO>> hospitalDeptByConceptNames(HospitalDeptVO hospitalDeptVO) {
+        Map<String, List<HospitalDeptDTO>> retMap = new LinkedHashMap<>();
+        QueryWrapper<HospitalDept> hospitalDeptQueryWrapper = new QueryWrapper<>();
+        hospitalDeptQueryWrapper.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_code", hospitalDeptVO.getHospitalCode())
+                .eq("status", StatusEnum.Enable.getKey())
+                .in("concept_dept_name", hospitalDeptVO.getConceptNames());
+        List<HospitalDept> hospitalDeptList = this.list(hospitalDeptQueryWrapper);
+        if (ListUtil.isNotEmpty(hospitalDeptList)) {
+            Map<String, List<HospitalDept>> hospitalDeptMap = EntityUtil.makeEntityListMap(hospitalDeptList, "conceptDeptName");
+            for (Map.Entry<String, List<HospitalDept>> entry : hospitalDeptMap.entrySet()) {
+                List<HospitalDeptDTO> hospitalDeptDTOList = Lists.newArrayList();
+                for (HospitalDept hospitalDept : entry.getValue()) {
+                    HospitalDeptDTO hospitalDeptDTO = new HospitalDeptDTO();
+                    hospitalDeptDTO.setHospitalCode(hospitalDept.getHospitalCode());
+                    hospitalDeptDTO.setHospitalName(hospitalDept.getHospitalName());
+                    hospitalDeptDTO.setHospitalDeptCode(hospitalDept.getCode());
+                    hospitalDeptDTO.setHospitalDeptName(hospitalDept.getName());
+                    hospitalDeptDTOList.add(hospitalDeptDTO);
+                }
+                retMap.put(entry.getKey(), hospitalDeptDTOList);
+            }
+        }
+        return retMap;
+    }
 }
 }

+ 21 - 0
tran-service/src/main/java/com/diagbot/vo/HospitalDeptVO.java

@@ -0,0 +1,21 @@
+package com.diagbot.vo;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @Description:
+ * @Author:zhaops
+ * @time: 2019/8/19 16:52
+ */
+@Getter
+@Setter
+public class HospitalDeptVO {
+    @NotNull(message = "请输入医院编码")
+    private String hospitalCode;
+    @NotNull(message = "请输入ICSS科室名称")
+    private List<String> conceptNames;
+}