diff --git a/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java b/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java index cd54ea8..6d52897 100644 --- a/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java +++ b/platform-dal/src/main/java/com/lyms/platform/query/BabyCheckModelQuery.java @@ -271,18 +271,26 @@ public class BabyCheckModelQuery extends BaseQuery implements IConvertToNativeQu } if(StringUtils.isNotEmpty(hemoglobinStart) && StringUtils.isNotEmpty(hemoglobinEnd)){ + //字符串判断大小 + String formatXhdb = String.format("function() {\n" + + " return this.hemoglobin >= %s &&this.hemoglobin <= %s \n" + + " }",hemoglobinStart,hemoglobinEnd); if(null != c){ - c = c.and("hemoglobin").gte(hemoglobinStart).lte(hemoglobinEnd); + c = c.and("$where").is(formatXhdb).ne("");//加ne:该字段在mongo中是”“ ,如果表达式有>=0也可查出。可以避免空数据 }else{ - c = Criteria.where("hemoglobin").gte(createdTimeStart).lte(createdTimeEnd); + c = Criteria.where("$where").is(formatXhdb).ne(""); } } if(StringUtils.isNotEmpty(hemoglobinLt)){ + String formatXhdb = String.format("function() {\n" + + " return this.hemoglobin < %s \n" + + " }",hemoglobinLt); if(null != c){ - c = c.and("hemoglobin").gte("0").lt(hemoglobinLt); + + c = c.and("$where").is(formatXhdb).ne("");//加ne:该字段在mongo中是”“ ,如果表达式有>=0也可查出。可以避免空数据 }else{ - c = Criteria.where("hemoglobin").gte("0").lt(hemoglobinLt); + c = Criteria.where("$where").is(formatXhdb).ne(""); } } diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java index 74a10e2..a9d6109 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/BabyCheckFacade.java @@ -4743,6 +4743,7 @@ public class BabyCheckFacade extends BaseServiceImpl { query.setHemoglobinStart(null); query.setHemoglobinEnd(null); query.setHemoglobinLt(severityHll); + System.out.println(query.convertToQuery().convertToMongoQuery().toString()); int severity =babyCheckService.queryBabyCheckCount(query); map.put("severity"+i,severity); //月龄区间总数