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 f228b86..8b83654 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 @@ -57,6 +57,8 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { */ private Integer age; + private String oRiskFactor; + public Integer getDueStatus() { return dueStatus; } @@ -131,6 +133,14 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private String[] pc; private String[] pv; + public String getoRiskFactor() { + return oRiskFactor; + } + + public void setoRiskFactor(String oRiskFactor) { + this.oRiskFactor = oRiskFactor; + } + public List getIds() { return ids; } @@ -1437,6 +1447,15 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { condition = condition.and("fmType", fmType, MongoOper.LIKE); } + if (StringUtils.isNotEmpty(oRiskFactor)) { + if (null != c1) { + c1 = c1.and("oRiskFactor").exists(false); + } else { + c1 = Criteria.where("oRiskFactor").exists(false); + } + } + + if (null != c1) { condition = condition.andCondition(new MongoCondition(c1)); 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 df198c5..f2c8a51 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 @@ -159,11 +159,66 @@ public class RiskReportFacade { } } + results.addAll(getOtherRiskCount(allPatientCount,patientsQuery)); + Collections.sort(results,new RiskReportResult()); return new BaseListResponse() .setErrormsg("成功").setErrorcode(ErrorCodeConstants.SUCCESS).setData(results); } + + + /** + * 自定义高危因素统计 + * @return + */ + private List getOtherRiskCount( int allPatientCount,PatientsQuery patientsQuery) + { + List results = new ArrayList<>(); + + PatientsQuery query = new PatientsQuery(); + query.setYn(YnEnums.YES.getId()); + query.setBuildTypeList(patientsQuery.getBuildTypeList()); + query.setHospitalId(patientsQuery.getHospitalId()); + query.setDueStatus(patientsQuery.getDueStatus()); + //高危等级 + query.setrLevel(patientsQuery.getrLevel()); + //产检医生 + query.setLastCheckEmployeeId(patientsQuery.getLastCheckEmployeeId()); + query.setDueDateStart(patientsQuery.getDueDateStart()); + query.setDueDateEnd(patientsQuery.getDueDateEnd()); + + query.setBookbuildingDateStart(patientsQuery.getBookbuildingDateStart()); + query.setBookbuildingDateEnd(patientsQuery.getBookbuildingDateEnd()); + query.setoRiskFactor("true"); + + query.setType(patientsQuery.getType()); + + //单个高危因素孕产妇条数 + int riskPatientCount = patientsService.queryPatientCount(query); + if (riskPatientCount > 0) + { + RiskReportResult risk = new RiskReportResult(); + risk.setHighRiskId("otherRiskId"); + risk.setHighRisk("自定义高危"); + risk.setRiskCount(String.valueOf(riskPatientCount)); + + DecimalFormat df = new DecimalFormat("0.00"); + String percent = df.format((double)riskPatientCount/allPatientCount*100)+"%"; + risk.setPercent(percent); + + List level = new ArrayList(); + Map map = new HashMap(); + + map.put("name", "自定义高危"); + map.put("color", "risk_white"); + + risk.setHighLevel(level); + results.add(risk); + } + return results; + } + // // public BaseResponse queryRiskPatientReport(Integer userId,) { // LoginContext loginState = (LoginContext) request.getAttribute("loginContext"); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java index 449dca9..d5351b3 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ViewFacade.java @@ -3135,7 +3135,7 @@ public class ViewFacade { String qtText = map.get("qtText") == null ? "" : map.get("qtText").toString(); drugGllergic += " " + qtText; } - FunvCommonUtil.spitd(drugGllergic); + drugGllergic = FunvCommonUtil.spitd(drugGllergic); } }