diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java index 3c9a76d..1edcbde 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/PatientServiceFacade.java @@ -72,7 +72,7 @@ public class PatientServiceFacade { private static List tiRuoBasicConfigList; - private static List mainBasicConfigList2; + private static List childBasicConfigList; @Autowired private TServiceTimeRecordService serviceTimeRecordService; @@ -1454,17 +1454,76 @@ public class PatientServiceFacade { * @return */ public BaseResponse findNewerChildRisk() { - if (CollectionUtils.isEmpty(mainBasicConfigList2)) { + if (CollectionUtils.isEmpty(childBasicConfigList)) { + List basicConfigList1 = new ArrayList<>(); BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); basicConfigQuery.setEnable(1); + basicConfigQuery.setParentId("fb43fd5a-b153-4cb9-9180-c46f5612ba43"); + //五色数据 + List basicConfigList2 = basicConfigService.queryBasicConfig(basicConfigQuery); + basicConfigQuery.setParentId(null); basicConfigQuery.setTypeId("fb43fd6a-b152-4cb9-9181-c46f5612ba44"); //所有数据 List basicConfigList = basicConfigService.queryBasicConfig(basicConfigQuery); - mainBasicConfigList2 = basicConfigService.queryBasicConfig(basicConfigQuery); - BasicConfigFacade.dispNewHighRisk(basicConfigList, mainBasicConfigList2); + for (BasicConfig bs : basicConfigList2){ + basicConfigQuery.setParentId(bs.getId()); + basicConfigQuery.setExistPId(false); + //主节点数据 + List basicConfigLists = basicConfigService.queryBasicConfig(basicConfigQuery); + List basicConfigs = dispNewHighRisk(basicConfigList,basicConfigLists); + bs.setBasicConfigs(basicConfigs); + //添加到五色 + basicConfigList1.add(bs); + } + childBasicConfigList = basicConfigList1; } BaseResponse baseResponse = new BaseResponse(); - baseResponse.setObject(mainBasicConfigList2); + baseResponse.setObject(childBasicConfigList); return baseResponse; } + /** + * 高危儿管理,生成树结构 + * + * @param basicConfigList + */ + public synchronized static List dispNewHighRisk(List basicConfigList, List mainBasicConfigList) { + Map> slaveBasicConfigMap = new HashMap<>(); + List basicConfig = new ArrayList<>(); + for (BasicConfig bc : basicConfigList) { + bc.setColor(HosptialHighRiskFacade.colorMap.get(bc.getParentId())); + if (bc.getpId() != null) { + if (slaveBasicConfigMap.containsKey(bc.getpId())) { + slaveBasicConfigMap.get(bc.getpId()).add(bc); + } else { + List basicConfigs = new ArrayList<>(); + basicConfigs.add(bc); + slaveBasicConfigMap.put(bc.getpId(), basicConfigs); + } + } + } + for (BasicConfig bs : mainBasicConfigList) { + BasicConfigFacade.configData(bs, slaveBasicConfigMap); + BasicConfigFacade.sortBasicConfig(bs); + if(!"e637b361-99cf-41eb-84f2-f0dab596e928".equals(bs.getParentId())){ + bs.setType(0); + if("315107bd-91fe-42a1-9237-752f3c046a40".equals(bs.getParentId())){ + List basicConfigs = bs.getBasicConfigs(); + for (BasicConfig bs2 : basicConfigs){ + bs2.setType(0); + } + } + } + basicConfig.add(bs); + } + Collections.sort(basicConfig, new Comparator() { + @Override + public int compare(BasicConfig o1, BasicConfig o2) { + if (o1.getWeight() != null && o2.getWeight() != null) { + return -Integer.compare(o1.getWeight(), o2.getWeight()); + } + return 0; + } + }); + return basicConfig; + } }