diff --git a/platform-common/src/main/java/com/lyms/platform/common/enums/DiagnoseEnums.java b/platform-common/src/main/java/com/lyms/platform/common/enums/DiagnoseEnums.java index cd79920..b9c62aa 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/enums/DiagnoseEnums.java +++ b/platform-common/src/main/java/com/lyms/platform/common/enums/DiagnoseEnums.java @@ -322,6 +322,19 @@ public class DiagnoseEnums { return ""; } + + public static Integer getIdByName(String name) + { + for(DiagnoseDetailItemEnums s : DiagnoseDetailItemEnums.values()) { + if (s.getTitle().equals(name)) + { + return s.getId(); + } + + } + return null; + } + public int getId() { return id; } @@ -471,8 +484,9 @@ public class DiagnoseEnums { } - public static Integer getIdByParentId(Integer parentId,String name) + public static Integer getIdByParentName(String parentName,String name) { + Integer parentId = DiagnoseDetailItemEnums.getIdByName(parentName); for(JwsChildEnums s : JwsChildEnums.values()) { if (s.getParentId() == parentId && s.getTitle().equals(name)) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java index 881f45f..e74eecb 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/AntenatalExaminationFacade.java @@ -2812,25 +2812,29 @@ public class AntenatalExaminationFacade { List list = new ArrayList<>(); Patients patients = patientsService.findOnePatientById(antExAddRequest.getParentId()); - String hospitalId = autoMatchFacade.getHospitalId(userId); DiagnoseConfigQuery diagnoseConfigQuery = new DiagnoseConfigQuery(); - diagnoseConfigQuery.setHospitalId(hospitalId); + diagnoseConfigQuery.setHospitalId(patients.getHospitalId()); List configModels = diagnoseConfigService.queryDiagnoseConfigs(diagnoseConfigQuery); - if (CollectionUtils.isNotEmpty(configModels)) - { - - DiagnoseConfigModel configModel = configModels.get(0); - - DiagnoseItemsQuery diagnoseItemsQuery = new DiagnoseItemsQuery(); - diagnoseItemsQuery.setConfigId(configModel.getId()); - - List diagnoseItemModels = diagnoseConfigService.queryDiagnoseItems(diagnoseItemsQuery); - + Map> mapItems = getRiskConfig(configModels); + if (mapItems != null && mapItems.size() > 0) { + if (patients != null && patients.getBirth() != null) { + String age = String.valueOf(DateUtil.getAge(patients.getBirth(), new Date())); + //年龄高危匹配 + List items = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.age.getId()); + if (CollectionUtils.isNotEmpty(items)) { + for (DiagnoseItemModel item : items) { + if (compare(item, age) && CollectionUtils.isNotEmpty(item.getRiskIds())) { + list.addAll(item.getRiskIds()); + } + } + } + } } + List> riskList = diagnoseConfigFacde.getRiskName(list); - return new BaseObjectResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + return new BaseObjectResponse().setData(riskList).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } @@ -3511,7 +3515,6 @@ public class AntenatalExaminationFacade { } } - if (antExcAddRequest.getFksxHistory() != null && antExcAddRequest.getFksxHistory().size() > 0) { //妇科手术史(盆腔手术史) @@ -3520,7 +3523,7 @@ public class AntenatalExaminationFacade { { List items = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.pqsss.getId()); //异位妊娠手术 - if ("true".equals(map.get("ywrsss"))) + if (map.get("ywrsss") != null && "true".equals(String.valueOf(map.get("ywrsss")))) { if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { @@ -3533,7 +3536,7 @@ public class AntenatalExaminationFacade { } //子宫肌瘤剥除 - if ("true".equals(map.get("zgjlbc"))) + if (map.get("zgjlbc") != null && "true".equals(String.valueOf(map.get("zgjlbc")))) { if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { @@ -3546,7 +3549,7 @@ public class AntenatalExaminationFacade { } //剖宫产 - if ("true".equals(map.get("pgc"))) + if (map.get("pgc") != null && "true".equals(String.valueOf(map.get("pgc")))) { if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { @@ -3559,7 +3562,7 @@ public class AntenatalExaminationFacade { } //其他 - if ("true".equals(map.get("qt")) && map.get("qtText") != null) + if (map.get("qt") != null && "true".equals(String.valueOf(map.get("qt"))) && map.get("qtText") != null) { String qtText = String.valueOf(map.get("qtText")); if (StringUtils.isNotEmpty(qtText)) @@ -3587,7 +3590,7 @@ public class AntenatalExaminationFacade { List items = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.crbs.getId()); //乙肝 - if ("true".equals(map.get("yg"))) + if (map.get("yg") != null && "true".equals(String.valueOf(map.get("yg")))) { if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { @@ -3600,7 +3603,7 @@ public class AntenatalExaminationFacade { } //丙肝 - if ("true".equals(map.get("bg"))) + if (map.get("bg") != null && "true".equals(String.valueOf(map.get("bg")))) { if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { @@ -3613,7 +3616,7 @@ public class AntenatalExaminationFacade { } //艾滋 - if ("true".equals(map.get("azb"))) + if (map.get("azb") != null && "true".equals(String.valueOf(map.get("azb")))) { if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { @@ -3626,7 +3629,7 @@ public class AntenatalExaminationFacade { } //梅毒 - if ("true".equals(map.get("md"))) + if (map.get("md") != null && "true".equals(String.valueOf(map.get("md")))) { if (CollectionUtils.isNotEmpty(items)) { for (DiagnoseItemModel item : items) { @@ -3639,7 +3642,7 @@ public class AntenatalExaminationFacade { } //其他 - if ("true".equals(map.get("qt")) && map.get("qtText") != null) + if (map.get("qt") != null && "true".equals(String.valueOf(map.get("qt"))) && map.get("qtText") != null) { String qtText = String.valueOf(map.get("qtText")); if (StringUtils.isNotEmpty(qtText)) @@ -3779,23 +3782,40 @@ public class AntenatalExaminationFacade { if (map1 != null) { String checkBox = String.valueOf(map1.get("checkBox")); - List selecteds = (List)map1.get("selected"); - if (StringUtils.isNotEmpty(checkBox) && "true".equals(checkBox) && CollectionUtils.isNotEmpty(selecteds)) + //既往史 其他 + if ("57e4bedbf0f0baa1bee496cd".equals(bc.getId())) + { + String selecteds = (String)map1.get("selected"); + if (StringUtils.isNotEmpty(checkBox) && "true".equals(checkBox) && StringUtils.isNotEmpty(selecteds)) { + for (DiagnoseItemModel item : items) { + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.JWSQT.getId()).equals(item.getValueOne()) && + contain(item.getValueTwo(), selecteds) && + CollectionUtils.isNotEmpty(item.getRiskIds())) { + list.addAll(item.getRiskIds()); + } + } + } + } + else { - for (String key : selecteds) + List selecteds = (List)map1.get("selected"); + if (StringUtils.isNotEmpty(checkBox) && "true".equals(checkBox) && CollectionUtils.isNotEmpty(selecteds)) { - BasicConfig config = basicConfigService.getOneBasicConfigById(key); - if (config != null && StringUtils.isNotEmpty(config.getName())) + for (String key : selecteds) { - Integer cid = DiagnoseEnums.JwsChildEnums.getIdByParentId(DiagnoseEnums.DiagnoseDetailItemEnums.JWSXHXTL.getId(), config.getName()); - if (cid != null) + BasicConfig config = basicConfigService.getOneBasicConfigById(key); + if (config != null && StringUtils.isNotEmpty(config.getName())) { - for (DiagnoseItemModel item : items) + Integer cid = DiagnoseEnums.JwsChildEnums.getIdByParentName(DiagnoseEnums.DiagnoseDetailItemEnums.JWSXHXTL.getTitle(), config.getName()); + if (cid != null) { - if (String.valueOf(cid).equals(item.getValueTwo()) && - CollectionUtils.isNotEmpty(item.getRiskIds())) + for (DiagnoseItemModel item : items) { - list.addAll(item.getRiskIds()); + if (String.valueOf(cid).equals(item.getValueTwo()) && + CollectionUtils.isNotEmpty(item.getRiskIds())) + { + list.addAll(item.getRiskIds()); + } } } }