|
@@ -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;
|
|
|
}
|
|
|
|