From 5c2d156310aecc1df3a92d290bcf1f356275c90d Mon Sep 17 00:00:00 2001 From: yangfei Date: Mon, 12 Feb 2018 10:54:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=AB=98=E5=8D=B1=E5=9B=A0=E6=95=B0=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E8=87=AA=E5=AE=9A=E4=B9=89=E9=AB=98=E5=8D=B1=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/lyms/platform/query/PatientsQuery.java | 16 ++++++++++++++++ .../platform/operate/web/facade/RiskReportFacade.java | 10 +++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java index 081d1f9..e7dc3c1 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java @@ -461,6 +461,9 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private boolean norFactor; + //国家高危因数为空集合 + private boolean isNullrFactor; + /** * 是否有效 @@ -532,6 +535,14 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { //孕妇证件类型 private String pcerteTypeId; + public boolean isNullrFactor() { + return isNullrFactor; + } + + public void setNullrFactor(boolean nullrFactor) { + isNullrFactor = nullrFactor; + } + public String getPcerteTypeId() { return pcerteTypeId; } @@ -1344,6 +1355,11 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { } else if (null != rFactorList && !rFactorList.isEmpty()) { condition = condition.and("riskFactorId", rFactorList, MongoOper.IN); } + + if(isNullrFactor){ + condition = condition.and("riskFactorId", new ArrayList(), MongoOper.IS); + } + if (-1 != yn) { condition = condition.and("yn", yn, MongoOper.IS); } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java index 3dfdfbd..97e8553 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/RiskReportFacade.java @@ -154,10 +154,14 @@ public class RiskReportFacade { query.setBookbuildingDateEnd(patientsQuery.getBookbuildingDateEnd()); query.setNotoRiskFactor(""); query.setoRiskFactor("true"); + query.setNullrFactor(true); query.setType(patientsQuery.getType()); - //单个高危因素孕产妇条数(自定义高危) + //不包含国家高危的自定义高危人数 int riskPatientCount = patientsService.queryPatientCount(query); + query.setNullrFactor(false); + //包含国家高危的自定义高危人数 + int otherPatientCount = patientsService.queryPatientCount(query); //总的孕妇条数(国家标准高危) int allPatientCount = patientsService.queryPatientCount(patientsQuery); @@ -216,7 +220,7 @@ public class RiskReportFacade { } } - results.addAll(getOtherRiskCount(riskPatientCount, allPatientCount)); + results.addAll(getOtherRiskCount(otherPatientCount, allPatientCount+riskPatientCount)); // Collections.sort(results, new RiskReportResult()); Map> slaveBasicConfigMap = new HashMap<>(); for (RiskReportResult bc : results) { @@ -278,7 +282,7 @@ public class RiskReportFacade { DecimalFormat df = new DecimalFormat("0.00"); //肖进:其他高危发病率=其他高危+国家高危人数/其他高危人数 - String percent =riskPatientCount>0? df.format((double) riskPatientCount / (allPatientCount+riskPatientCount) * 100) + "%":"0%"; + String percent =riskPatientCount>0? df.format((double) riskPatientCount / (allPatientCount) * 100) + "%":"0%"; risk.setPercent(percent); List level = new ArrayList(); -- 1.8.3.1