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 1237156..de172a9 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 @@ -225,6 +225,11 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { private List noRlevel; /** + * 存在高危等级 + */ + private boolean existRiskLevel; + + /** * 高危评分 */ private Integer hScoreStart; @@ -698,6 +703,19 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { } } + if (existRiskLevel) + { + MongoCondition c = MongoCondition.newInstance(); + MongoCondition con1 = MongoCondition.newInstance("riskLevelId", "224b2329-cb82-4da3-a071-8527f8283aab", MongoOper.LIKE); // 紫色 + MongoCondition con2 = MongoCondition.newInstance("riskLevelId", "eb146c03-b19f-4e28-b85f-fda574b2283b", MongoOper.LIKE); // 红色 + MongoCondition con3 = MongoCondition.newInstance("riskLevelId", "49a36aea-c5b6-4162-87d2-9eb3c6ec00c2", MongoOper.LIKE); // 橙色 + MongoCondition con4 = MongoCondition.newInstance("riskLevelId", "315107bd-91fe-42a1-9237-752f3c046a40", MongoOper.LIKE); // 黄色 + if (c1 != null) { + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2,con3,con4}).getCriteria()); + } else { + c1 = c.orCondition(new MongoCondition[]{con1, con2,con3,con4}).getCriteria(); + } + } if (null != pvc) { MongoCondition c = MongoCondition.newInstance(); MongoCondition con1 = MongoCondition.newInstance("phone", pvc, MongoOper.IS); @@ -1142,6 +1160,13 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { return condition.toMongoQuery(); } + public boolean isExistRiskLevel() { + return existRiskLevel; + } + + public void setExistRiskLevel(boolean existRiskLevel) { + this.existRiskLevel = existRiskLevel; + } public String getLiveType() { return liveType; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java index 34e5186..f3e1c52 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/TrackDownFacade.java @@ -410,11 +410,31 @@ public class TrackDownFacade { isPatient = true; } } - if (downQueryRequest.getLevel() != null) {//高危等级 - patientsQuery.setrLevel(downQueryRequest.getLevel()); - //只查孕妇 - patientsQuery.setLastMensesStart(DateUtil.getMonth(-10));//只查询当前时间十个月前的数据 考虑性能问题 - isPatient = true; + + if (downQueryRequest.getIsRisk() != null) + { + if (downQueryRequest.getLevel() != null) {//高危等级 + patientsQuery.setrLevel(downQueryRequest.getLevel()); + //只查孕妇 + patientsQuery.setLastMensesStart(DateUtil.getMonth(-10));//只查询当前时间十个月前的数据 考虑性能问题 + isPatient = true; + } + else + { + patientsQuery.setExistRiskLevel(true); + //只查孕妇 + patientsQuery.setLastMensesStart(DateUtil.getMonth(-10));//只查询当前时间十个月前的数据 考虑性能问题 + isPatient = true; + } + } + else + { + if (downQueryRequest.getLevel() != null) {//高危等级 + patientsQuery.setrLevel(downQueryRequest.getLevel()); + //只查孕妇 + patientsQuery.setLastMensesStart(DateUtil.getMonth(-10));//只查询当前时间十个月前的数据 考虑性能问题 + isPatient = true; + } } if (downQueryRequest.getRiskFactorId() != null) {//高危因素 //高危统计中的自定义高危 diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java index 90bc2be..3ba9bae 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/request/TrackDownQueryRequest.java @@ -87,6 +87,17 @@ public class TrackDownQueryRequest extends BasePageQueryRequest { //结束孕周 private Integer endWeek; + // 不为空表示只查询高危 0 + private Integer isRisk; + + public Integer getIsRisk() { + return isRisk; + } + + public void setIsRisk(Integer isRisk) { + this.isRisk = isRisk; + } + public Integer getStartWeek() { return startWeek; }