wangfeng 4 年 前
コミット
f510d2fec1

+ 4 - 4
src/main/java/com/diagbot/facade/PlanDetailFacade.java

@@ -42,10 +42,10 @@ public class PlanDetailFacade extends PlanDetailServiceImpl {
 
     public List<PlanDetailDTO> getSysSetInfoData(HospitalSetVO hospitalSetVO) {
         QueryWrapper<PlanDetail> sysSetInfo = new QueryWrapper<>();
-        sysSetInfo.eq("is_deleted", IsDeleteEnum.N.getKey());
-        sysSetInfo.eq("hospital_id", hospitalSetVO.getHospitalId());
-        sysSetInfo.eq("plan_id", hospitalSetVO.getPlanId());
-        sysSetInfo.eq(StringUtil.isNotBlank(hospitalSetVO.getCode()), "code", hospitalSetVO.getCode());
+        sysSetInfo.eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("hospital_id", hospitalSetVO.getHospitalId())
+                .eq(StringUtil.isNotBlank(hospitalSetVO.getCode()), "code", hospitalSetVO.getCode())
+                .in("plan_id", hospitalSetVO.getPlanId());
         List<PlanDetail> sysSetData = list(sysSetInfo);
         List<PlanDetailDTO> data = BeanUtil.listCopyTo(sysSetData, PlanDetailDTO.class);
         return data;

+ 26 - 13
src/main/java/com/diagbot/facade/PlanFacade.java

@@ -33,6 +33,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @author wangfeng
@@ -45,38 +46,50 @@ public class PlanFacade extends PlanServiceImpl {
     @Autowired
     PlanDetailFacade sysSetFacade;
 
-    public SysPlanInfoDTO getSysPlanInfoData(HospitalPlanVO hospitalPlanVO) {
+    public List<SysPlanInfoDTO> getSysPlanInfoData(HospitalPlanVO hospitalPlanVO) {
         //查询该医院有没有相关方案配置, 要是没有取默认的
-        SysPlanInfoDTO sysPlanInfoDTO = new SysPlanInfoDTO();
+        List<SysPlanInfoDTO> sysPlanInfoDTO = new ArrayList<>();
         QueryWrapper<Plan> sysPlanInfo = new QueryWrapper<>();
         sysPlanInfo.eq("is_deleted", IsDeleteEnum.N.getKey());
         sysPlanInfo.eq("hospital_id", hospitalPlanVO.getHospitalId());
         sysPlanInfo.eq(StringUtil.isNotBlank(hospitalPlanVO.getPlanCode()), "plan_code", hospitalPlanVO.getPlanCode());
         sysPlanInfo.eq("plan_status", StatusEnum.Enable.getKey());
-        Plan sysPlanInfoData = getOne(sysPlanInfo, false);
-        Long planId = -1L;
+        List<Plan> sysPlanInfoData = list(sysPlanInfo);
+        List<Long> planId = new ArrayList<>();
         Long hospitalId = hospitalPlanVO.getHospitalId();
-        if (sysPlanInfoData != null) {
-            BeanUtil.copyProperties(sysPlanInfoData, sysPlanInfoDTO);
-            planId = sysPlanInfoDTO.getId();
+        if (ListUtil.isNotEmpty(sysPlanInfoData)) {
+            sysPlanInfoDTO = BeanUtil.listCopyTo(sysPlanInfoData, SysPlanInfoDTO.class);
+            for (SysPlanInfoDTO data : sysPlanInfoDTO) {
+                planId.add(data.getId());
+            }
         } else {
             QueryWrapper<Plan> sysPlandefault = new QueryWrapper<>();
             sysPlandefault.eq("is_deleted", IsDeleteEnum.N.getKey());
             sysPlandefault.eq("hospital_id", -1);
             sysPlandefault.eq(StringUtil.isNotBlank(hospitalPlanVO.getPlanCode()), "plan_code", hospitalPlanVO.getPlanCode());
             sysPlandefault.eq("plan_status", StatusEnum.Enable.getKey());
-            Plan sysPlandefaultData = getOne(sysPlandefault, false);
-            if (sysPlandefaultData != null) {
-                planId = sysPlandefaultData.getId();
-                hospitalId = sysPlandefaultData.getHospitalId();
-                BeanUtil.copyProperties(sysPlandefaultData, sysPlanInfoDTO);
+            List<Plan> sysPlandefaultData = list(sysPlandefault);
+            if (ListUtil.isNotEmpty(sysPlandefaultData)) {
+                sysPlanInfoDTO = BeanUtil.listCopyTo(sysPlandefaultData, SysPlanInfoDTO.class);
+                for (SysPlanInfoDTO data : sysPlanInfoDTO) {
+                    planId.add(data.getId());
+                }
             }
+            hospitalId = -1L;
         }
         HospitalSetVO hospitalSetVO = new HospitalSetVO();
         hospitalSetVO.setHospitalId(hospitalId);
         hospitalSetVO.setPlanId(planId);
         List<PlanDetailDTO> sysSetInfoData = sysSetFacade.getSysSetInfoData(hospitalSetVO);
-        sysPlanInfoDTO.setSysSetInfo(sysSetInfoData);
+        Map<Long, List<PlanDetailDTO>> dataMap = sysSetInfoData.stream().collect(Collectors.groupingBy(PlanDetailDTO::getPlanId));
+        for (Long key : dataMap.keySet()) {
+            for (SysPlanInfoDTO sysPlanInfos : sysPlanInfoDTO) {
+                if (sysPlanInfos.getId().equals(key)) {
+                    sysPlanInfos.setSysSetInfo(dataMap.get(key));
+                }
+            }
+        }
+
         return sysPlanInfoDTO;
     }
 

+ 3 - 1
src/main/java/com/diagbot/vo/HospitalSetVO.java

@@ -3,6 +3,8 @@ package com.diagbot.vo;
 import lombok.Getter;
 import lombok.Setter;
 
+import java.util.List;
+
 /**
  * @author wangfeng
  * @Description:
@@ -11,6 +13,6 @@ import lombok.Setter;
 @Setter
 @Getter
 public class HospitalSetVO extends HospitalBaseVO {
-    private Long planId;
+    private List<Long> planId;
     private String code;
 }

+ 3 - 2
src/main/java/com/diagbot/web/PlanController.java

@@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.validation.Valid;
+import java.util.List;
 
 /**
  * <p>
@@ -45,8 +46,8 @@ public class PlanController {
     @PostMapping("/getSysPlanInfoDatas")
     @SysLogger("getSysPlanInfoDatas")
     @TokenAuth
-    public RespDTO<SysPlanInfoDTO> getSysPlanInfoDatas(@Valid @RequestBody HospitalPlanVO hospitalPlanVO) {
-        SysPlanInfoDTO data = planFacade.getSysPlanInfoData(hospitalPlanVO);
+    public RespDTO<List<SysPlanInfoDTO>> getSysPlanInfoDatas(@Valid @RequestBody HospitalPlanVO hospitalPlanVO) {
+        List<SysPlanInfoDTO> data = planFacade.getSysPlanInfoData(hospitalPlanVO);
         return RespDTO.onSuc(data);
     }