Forráskód Böngészése

优化添加医院名字

wangfeng 4 éve
szülő
commit
0a345492ce

+ 12 - 0
cdssman-service/src/main/java/com/diagbot/facade/HospitalInfoFacade.java

@@ -25,6 +25,8 @@ import org.springframework.stereotype.Component;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author wangfeng
@@ -152,4 +154,14 @@ public class HospitalInfoFacade extends HospitalInfoServiceImpl {
     public IPage<DiseaseConfig> getPage(HospitalInfoPageVO hospitalInfoPageVO) {
         return hospitalInfoService.getPage(hospitalInfoPageVO);
     }
+
+    public Map<Long, String> getHospitalInfoData(List<Long> hospitalId) {
+        QueryWrapper<HospitalInfo> hospitalInfo = new QueryWrapper<>();
+        hospitalInfo.eq("is_deleted", IsDeleteEnum.N.getKey()).in("id",hospitalId);
+        List<HospitalInfo> list = list(hospitalInfo);
+        List<HospitalInfoDTO> data = new ArrayList<>();
+        data = BeanUtil.listCopyTo(list, HospitalInfoDTO.class);
+        Map<Long, String> hospitalInfoData = data.stream().collect(Collectors.toMap(k -> k.getId(), v -> v.getName()));
+        return hospitalInfoData;
+    }
 }

+ 10 - 4
cdssman-service/src/main/java/com/diagbot/facade/PlanFacade.java

@@ -133,8 +133,11 @@ public class PlanFacade extends PlanServiceImpl {
     public IPage<PlanInfoPagesDTO> getPlanInfoPage(HospitalPlanPageVO hospitalPlanPageVO) {
         IPage<PlanInfoPagesDTO> data = getPlanInfoPageAll(hospitalPlanPageVO);
         List<PlanInfoPagesDTO> planInfos = data.getRecords();
-        List<HospitalInfoDTO> hospitalInfoData = hospitalInfoFacade.getHospitalInfo();
-        Map<Long, String> hospitalInfo = hospitalInfoData.stream().collect(Collectors.toMap(k -> k.getId(), v -> v.getName()));
+        List<Long> hospitaIds = new ArrayList<>();
+        for(PlanInfoPagesDTO h:planInfos){
+            hospitaIds.add(h.getHospitalId());
+        }
+        Map<Long, String> hospitalInfo = hospitalInfoFacade.getHospitalInfoData(hospitaIds);
         for(PlanInfoPagesDTO planInfodata:planInfos){
             planInfodata.setHospitalName(hospitalInfo.get(planInfodata.getHospitalId()));
         }
@@ -293,8 +296,7 @@ public class PlanFacade extends PlanServiceImpl {
     }
 
     public List<PlanInfoPagesDTO> getPlanInfoIds(HospitalPlanIdVO hospitalPlanIdVO) {
-        List<HospitalInfoDTO> hospitalInfoData = hospitalInfoFacade.getHospitalInfo();
-        Map<Long, String> hospitalInfo = hospitalInfoData.stream().collect(Collectors.toMap(k -> k.getId(), v -> v.getName()));
+
         //查询该医院有没有相关方案配置
         List<PlanInfoPagesDTO> sysPlanInfoDTO = new ArrayList<>();
         QueryWrapper<Plan> sysPlanInfo = new QueryWrapper<>();
@@ -304,12 +306,16 @@ public class PlanFacade extends PlanServiceImpl {
         List<Plan> sysPlanInfoData = list(sysPlanInfo);
         List<Long> planId = new ArrayList<>();
         Long hospitalId = hospitalPlanIdVO.getHospitalId();
+        List<Long> hospitaIds = new ArrayList<>();
         if (ListUtil.isNotEmpty(sysPlanInfoData)) {
             sysPlanInfoDTO = BeanUtil.listCopyTo(sysPlanInfoData, PlanInfoPagesDTO.class);
             for (PlanInfoPagesDTO data : sysPlanInfoDTO) {
                 planId.add(data.getId());
+                hospitaIds.add(data.getHospitalId());
             }
+
         }
+        Map<Long, String> hospitalInfo = hospitalInfoFacade.getHospitalInfoData(hospitaIds);
         if(ListUtil.isEmpty(planId)){
             throw new CommonException(CommonErrorCode.NOT_EXISTS, "该数据不存在!");
         }