diff --git a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java index 33b6c1b..0a35d41 100644 --- a/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java +++ b/platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java @@ -51,7 +51,7 @@ public class PatientsService { public List queryPatient(PatientsQuery patientsQuery) { MongoQuery query = patientsQuery.convertToQuery(); if (StringUtils.isNotEmpty(patientsQuery.getNeed())) { - patientsQuery.mysqlBuild(iPatientDao.queryPatientCount(patientsQuery.convertToQuery())); + patientsQuery.mysqlBuild(iPatientDao.queryPatientCount(query)); query.start(patientsQuery.getOffset()).end(patientsQuery.getLimit()); } @@ -65,7 +65,7 @@ public class PatientsService { public List queryPatient1(PatientsQuery patientsQuery,String field) { MongoQuery query = patientsQuery.convertToQuery(); if (StringUtils.isNotEmpty(patientsQuery.getNeed())) { - patientsQuery.mysqlBuild(iPatientDao.queryPatientCount(patientsQuery.convertToQuery())); + patientsQuery.mysqlBuild(iPatientDao.queryPatientCount(query)); query.start(patientsQuery.getOffset()).end(patientsQuery.getLimit()); } 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 b975953..e5c661f 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 @@ -575,10 +575,9 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { if (null != pid) { condition = condition.and("pid", pid, MongoOper.IS); } - + Criteria c1 = null; if (fmDateStart != null && fmDateEnd != null) { - Criteria cr = Criteria.where("fmDate").gte(fmDateStart).lte(fmDateEnd); - condition.andCondition(new MongoCondition(cr)); + c1 = Criteria.where("fmDate").gte(fmDateStart).lte(fmDateEnd); } if (null != serviceType) { @@ -615,108 +614,108 @@ public class PatientsQuery extends BaseQuery implements IConvertToNativeQuery { if (-1 != type) { condition = condition.and("type", type, MongoOper.IS); } - boolean isAddStart = Boolean.FALSE; - Criteria c = null; - if (null != lastMensesStart) { - c = Criteria.where("lastMenses").gte(lastMensesStart); - isAddStart = Boolean.TRUE; - } - if (null != lastMensesEnd) { - if (isAddStart) { - c = c.lte(lastMensesEnd); - } else { - c = Criteria.where("lastMenses").lte(lastMensesEnd); - } - } - if (null != c) { - condition = condition.andCondition(new MongoCondition(c)); - } - isAddStart = Boolean.FALSE; - Criteria c1 = null; if (null != lastRhTimeStart) { - c1 = Criteria.where("lastRhTime").gte(lastRhTimeStart); - isAddStart = Boolean.TRUE; + if(null!=c1){ + c1 = c1.where("lastRhTime").gte(lastRhTimeStart); + }else { + c1 = Criteria.where("lastRhTime").gte(lastRhTimeStart); + } } if (null != lastRhTimeEnd) { - if (isAddStart) { + if (null!=c1) { c1 = c1.lte(lastRhTimeEnd); } else { c1 = Criteria.where("lastRhTime").lte(lastRhTimeEnd); } } - if (null != c1) { - condition = condition.andCondition(new MongoCondition(c1)); - } - isAddStart = Boolean.FALSE; if (null != hScoreStart) { - Criteria c2 = null; if (null != hScoreStart) { - c2 = Criteria.where("riskScore").gte(hScoreStart); - isAddStart = Boolean.TRUE; + if(null!=c1){ + c1 = c1.where("riskScore").gte(hScoreStart); + }else{ + c1 = Criteria.where("riskScore").gte(hScoreStart); + } } if (null != hScoreEnd) { - if (isAddStart) { - c2 = c2.lte(hScoreEnd); + if (null!=c1) { + c1 = c1.lte(hScoreEnd); } else { - c2 = Criteria.where("riskScore").lte(hScoreEnd); + c1 = Criteria.where("riskScore").lte(hScoreEnd); } } - if (null != c2) { - condition = condition.andCondition(new MongoCondition(c2)); - } } else if (null != isHighRisk) { condition = condition.and("riskScore", 0, MongoOper.GT); } - isAddStart = Boolean.FALSE; - Criteria c3 = null; + if (null != bookbuildingDateStart) { - c3 = Criteria.where("bookbuildingDate").gte(bookbuildingDateStart); - isAddStart = Boolean.TRUE; + if(c1!=null){ + c1 = c1.where("bookbuildingDate").gte(bookbuildingDateStart); + }else{ + c1 = Criteria.where("bookbuildingDate").gte(bookbuildingDateStart); + } } if (null != bookbuildingDateEnd) { - if (isAddStart) { - c3 = c3.lte(bookbuildingDateEnd); + if (null!=c1) { + c1 = c1.lte(bookbuildingDateEnd); } else { - c3 = Criteria.where("bookbuildingDate").lte(bookbuildingDateEnd); + c1 = Criteria.where("bookbuildingDate").lte(bookbuildingDateEnd); } } - if (null != c3) { - condition = condition.andCondition(new MongoCondition(c3)); - } - Criteria c4 = null; - isAddStart = Boolean.FALSE; - if (null != dueDateStart) { - c4 = Criteria.where("dueDate").gte(dueDateStart); +// Criteria cr1 = Criteria.where("bookbuildingDate").gte(bookbuildingDateStart).lte(bookbuildingDateEnd); +// Criteria cr = cr1.where("lastMenses").gte(lastMensesStart).lte(lastMensesEnd); + + /*if(null!=c1){ + return new MongoCondition(condition.getCriteria().andOperator(new Criteria[]{c1})).toMongoQuery(); + }*/ + /*Criteria c = null; + if (null != lastMensesStart) { + c = Criteria.where("lastMenses").gte(lastMensesStart); isAddStart = Boolean.TRUE; } - if (null != dueDateEnd) { + if (null != lastMensesEnd) { if (isAddStart) { - c4 = c4.lte(dueDateEnd); + c = c.lte(lastMensesEnd); } else { - c4 = Criteria.where("dueDate").lte(dueDateEnd); + c = Criteria.where("lastMenses").lte(lastMensesEnd); + } + } + if (null != c) { + condition.andCondition(new MongoCondition(c)); + }*/ + + if (null != dueDateStart) { + if(null!=c1){ + c1 = c1.where("dueDate").gte(dueDateStart); + }else{ + c1 = Criteria.where("dueDate").gte(dueDateStart); } } - if (null != c4) { - condition = condition.andCondition(new MongoCondition(c4)); + if (null != dueDateEnd) { + if (null!=c1) { + c1 = c1.lte(dueDateEnd); + } else { + c1 = Criteria.where("dueDate").lte(dueDateEnd); + } } - boolean isAddStart1 = Boolean.FALSE; - Criteria c5 = null; if (null != birthStart) { - c5 = Criteria.where("birth").gte(birthStart); - isAddStart1 = Boolean.TRUE; + if (null!=c1) { + c1 = c1.where("birth").gte(birthStart); + }else { + c1 = Criteria.where("birth").gte(birthStart); + } } if (null != birthEnd) { - if (isAddStart1) { - c5 = c5.lte(birthEnd); + if (null!=c1) { + c1 = c1.lte(birthEnd); } else { - c5 = Criteria.where("birth").lte(birthEnd); + c1 = Criteria.where("birth").lte(birthEnd); } } - if (null != c5) { - condition = condition.andCondition(new MongoCondition(c5)); + if (null != c1) { + condition = condition.andCondition(new MongoCondition(c1)); } return condition.toMongoQuery(); }