From 1b68091f0d4ffb2e40c5cd234d9a6d7adb662a12 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Sun, 8 Apr 2018 15:07:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E5=8D=B1=E8=AF=8A=E6=96=AD=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lyms/platform/common/enums/DiagnoseEnums.java | 2 +- .../web/facade/AntenatalExaminationFacade.java | 151 +++++++++++++++++++-- .../operate/web/facade/DiagnoseConfigFacde.java | 70 ++++++---- 3 files changed, 184 insertions(+), 39 deletions(-) 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 c4171e2..f958755 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 @@ -23,7 +23,7 @@ public class DiagnoseEnums { md(10, "辅助检查——梅毒血清实验"), pqsss(11, "妇科手术史(盆腔手术史)"), ycs(12, "孕产史"), - yfjc(13, "妇科检查"), + fkjc(13, "妇科检查"), jws(14, "既往史"), crbs(15, "传染病史"), ckjc(16, "产科检查"), 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 4cb038c..7bc9a95 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 @@ -124,7 +124,7 @@ public class AntenatalExaminationFacade { private DiagnoseConfigService diagnoseConfigService; @Autowired - private PersonService personService; + private DiagnoseConfigFacde diagnoseConfigFacde; /** * 处理区域隐藏建档 @@ -2716,7 +2716,6 @@ public class AntenatalExaminationFacade { Map> mapItems = getRiskConfig(configModels); if (mapItems != null && mapItems.size() > 0) { - if (patients != null && patients.getBirth() != null) { Double age = (double)DateUtil.getAge(patients.getBirth(), new Date()); @@ -2782,7 +2781,8 @@ public class AntenatalExaminationFacade { //流产次 for (DiagnoseItemModel item : detailItemsAge) { - if ("28".equals(item.getValueOne()) && compare(item,abortion) && CollectionUtils.isNotEmpty(item.getRiskIds())) + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.LCC.getId()).equals(item.getValueOne()) && + compare(item.getValueTwo(),item.getValueThree(),abortion) && CollectionUtils.isNotEmpty(item.getRiskIds())) { list.addAll(item.getRiskIds()); } @@ -2801,7 +2801,8 @@ public class AntenatalExaminationFacade { //产次 for (DiagnoseItemModel item : detailItemsAge) { - if ("29".equals(item.getValueOne()) && compare(item,prodTime) && CollectionUtils.isNotEmpty(item.getRiskIds())) + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.CC.getId()).equals(item.getValueOne()) && + compare(item.getValueTwo(),item.getValueThree(),prodTime) && CollectionUtils.isNotEmpty(item.getRiskIds())) { list.addAll(item.getRiskIds()); } @@ -2820,7 +2821,8 @@ public class AntenatalExaminationFacade { //引产次 for (DiagnoseItemModel item : detailItemsAge) { - if ("30".equals(item.getValueOne()) && compare(item,yinchan) && CollectionUtils.isNotEmpty(item.getRiskIds())) + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.YCC.getId()).equals(item.getValueOne()) && + compare(item.getValueTwo(),item.getValueThree(),yinchan) && CollectionUtils.isNotEmpty(item.getRiskIds())) { list.addAll(item.getRiskIds()); } @@ -2829,7 +2831,7 @@ public class AntenatalExaminationFacade { } - if (antExcAddRequest.getYinchan() != null) + if (antExcAddRequest.getPlanedProd() != null) { Double planedProd = (double)antExcAddRequest.getPlanedProd(); //孕产史高危匹配 @@ -2839,18 +2841,151 @@ public class AntenatalExaminationFacade { //剖宫产次 for (DiagnoseItemModel item : detailItemsAge) { - if ("31".equals(item.getValueOne()) && compare(item,planedProd) && CollectionUtils.isNotEmpty(item.getRiskIds())) + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.PGCC.getId()).equals(item.getValueOne()) && + compare(item.getValueTwo(),item.getValueThree(),planedProd) && CollectionUtils.isNotEmpty(item.getRiskIds())) + { + list.addAll(item.getRiskIds()); + } + } + } + } + + + if (StringUtils.isNotEmpty(antExcAddRequest.getHeart())) + { + String heart = antExcAddRequest.getHeart(); + //一般检查 + List ybjcItems = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.ybjc.getId()); + if (CollectionUtils.isNotEmpty(ybjcItems)) + { + //心脏 + for (DiagnoseItemModel item : ybjcItems) + { + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.XZ.getId()).equals(item.getValueOne()) && + contain(item.getValueTwo(), heart) && CollectionUtils.isNotEmpty(item.getRiskIds())) + { + list.addAll(item.getRiskIds()); + } + } + } + } + + + if (StringUtils.isNotEmpty(antExcAddRequest.getLungs())) + { + String lungs = antExcAddRequest.getLungs(); + //一般检查 + List ybjcItems = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.ybjc.getId()); + if (CollectionUtils.isNotEmpty(ybjcItems)) + { + //肺部 + for (DiagnoseItemModel item : ybjcItems) + { + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.FB.getId()).equals(item.getValueOne()) && + contain(item.getValueTwo(), lungs) && CollectionUtils.isNotEmpty(item.getRiskIds())) + { + list.addAll(item.getRiskIds()); + } + } + } + } + + + if (StringUtils.isNotEmpty(antExcAddRequest.getbChao())) + { + String bChao = antExcAddRequest.getbChao(); + //B超 + List bcItems = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.bc.getId()); + if (CollectionUtils.isNotEmpty(bcItems)) + { + //B超 + for (DiagnoseItemModel item : bcItems) + { + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.BC.getId()).equals(item.getValueOne()) && + contain(item.getValueTwo(), bChao) && CollectionUtils.isNotEmpty(item.getRiskIds())) + { + list.addAll(item.getRiskIds()); + } + } + } + } + + + if (StringUtils.isNotEmpty(antExcAddRequest.getCervical())) + { + String cervical = antExcAddRequest.getCervical(); + //妇科检查 + List items = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.fkjc.getId()); + if (CollectionUtils.isNotEmpty(items)) + { + //宫颈 + for (DiagnoseItemModel item : items) + { + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.GJ.getId()).equals(item.getValueOne()) && + contain(item.getValueTwo(), cervical) && CollectionUtils.isNotEmpty(item.getRiskIds())) + { + list.addAll(item.getRiskIds()); + } + } + } + } + + + if (StringUtils.isNotEmpty(antExcAddRequest.getUterus())) + { + String uterus = antExcAddRequest.getUterus(); + //妇科检查 + List items = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.fkjc.getId()); + if (CollectionUtils.isNotEmpty(items)) + { + //子宫 + for (DiagnoseItemModel item : items) + { + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.ZG.getId()).equals(item.getValueOne()) && + contain(item.getValueTwo(), uterus) && CollectionUtils.isNotEmpty(item.getRiskIds())) { list.addAll(item.getRiskIds()); } } } } + + if (StringUtils.isNotEmpty(antExcAddRequest.getFujian())) + { + String fujian = antExcAddRequest.getFujian(); + //妇科检查 + List items = mapItems.get(DiagnoseEnums.DiagnoseItemEnums.fkjc.getId()); + if (CollectionUtils.isNotEmpty(items)) + { + //附件 + for (DiagnoseItemModel item : items) + { + if (String.valueOf(DiagnoseEnums.DiagnoseDetailItemEnums.FJ.getId()).equals(item.getValueOne()) && + contain(item.getValueTwo(), fujian) && CollectionUtils.isNotEmpty(item.getRiskIds())) + { + list.addAll(item.getRiskIds()); + } + } + } + } + + + + } - return new BaseObjectResponse().setData(list).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); + List> riskList = diagnoseConfigFacde.getRiskName(list); + + return new BaseObjectResponse().setData(riskList).setErrorcode(ErrorCodeConstants.SUCCESS).setErrormsg("成功"); } + + private boolean contain(String value,String content) + { + return content.contains(value); + } + + /** * * @param expId 表达式id diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnoseConfigFacde.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnoseConfigFacde.java index 2f71dae..717136d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnoseConfigFacde.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/DiagnoseConfigFacde.java @@ -204,7 +204,7 @@ public class DiagnoseConfigFacde { DiagnoseItemsQuery diagnoseItemsQuery = new DiagnoseItemsQuery(); diagnoseItemsQuery.setConfigId(configModel.getId()); - BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + List diagnoseItemModels = diagnoseConfigService.queryDiagnoseItems(diagnoseItemsQuery); if (CollectionUtils.isNotEmpty(diagnoseItemModels) && CollectionUtils.isNotEmpty(configModel.getConfigs())) @@ -221,35 +221,7 @@ public class DiagnoseConfigFacde { if (CollectionUtils.isNotEmpty(diagnose.getRiskIds())) { - List> list = new ArrayList<>(); - - for (String rid : diagnose.getRiskIds()) - { - basicConfigQuery.setId(rid); - List basicConfigs = basicConfigService.queryBasicConfig(basicConfigQuery); - Map map = new HashMap<>(); - map.put("id", basicConfigs.get(0).getId()); - map.put("name", basicConfigs.get(0).getName()); - map.put("code", basicConfigs.get(0).getCode()); - - basicConfigQuery.setId(basicConfigs.get(0).getParentId()); - List basicConfigs2 = basicConfigService.queryBasicConfig(basicConfigQuery); - if (CollectionUtils.isNotEmpty(basicConfigs2)) { - String name = basicConfigs2.get(0).getName(); - if (name.indexOf("黄色") > -1) { - name = "黄色"; - } else if (name.indexOf("橙色") > -1) { - name = "橙色"; - } else if (name.indexOf("红色") > -1) { - name = "红色"; - } else if (name.indexOf("紫色") > -1) { - name = "紫色"; - } - map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); - } - - list.add(map); - } + List> list = getRiskName(diagnose.getRiskIds()); dr.setRiskIds(list); } @@ -264,4 +236,42 @@ public class DiagnoseConfigFacde { } return new BaseResponse().setErrorcode(ErrorCodeConstants.NO_DATA).setErrormsg("没有数据"); } + + public List> getRiskName(List ids) + { + List> list = new ArrayList<>(); + BasicConfigQuery basicConfigQuery = new BasicConfigQuery(); + if (CollectionUtils.isNotEmpty(ids)) + { + for (String rid : ids) { + basicConfigQuery.setId(rid); + List basicConfigs = basicConfigService.queryBasicConfig(basicConfigQuery); + Map map = new HashMap<>(); + map.put("id", basicConfigs.get(0).getId()); + map.put("name", basicConfigs.get(0).getName()); + map.put("code", basicConfigs.get(0).getCode()); + + basicConfigQuery.setId(basicConfigs.get(0).getParentId()); + List basicConfigs2 = basicConfigService.queryBasicConfig(basicConfigQuery); + if (CollectionUtils.isNotEmpty(basicConfigs2)) { + String name = basicConfigs2.get(0).getName(); + if (name.indexOf("黄色") > -1) { + name = "黄色"; + } else if (name.indexOf("橙色") > -1) { + name = "橙色"; + } else if (name.indexOf("红色") > -1) { + name = "红色"; + } else if (name.indexOf("紫色") > -1) { + name = "紫色"; + } + map.put("color", "risk_" + RiskDefaultTypeEnum.getColor(name)); + } + + list.add(map); + } + } + return list; + } + + } -- 1.8.3.1