Commit f27ff80a55b138aa485fa87249710d28518341c5

Authored by shiyang
1 parent 0154620e06

update

Showing 3 changed files with 17 additions and 5 deletions

platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoCondition.java View file @ f27ff80
... ... @@ -208,6 +208,8 @@
208 208 }else {
209 209 criteria.nin(obj);
210 210 }
  211 + }else if(MongoOper.SIZE==oper){
  212 + criteria.size(Integer.parseInt(obj.toString()));
211 213 }
212 214 }
213 215  
platform-common/src/main/java/com/lyms/platform/common/dao/operator/MongoOper.java View file @ f27ff80
... ... @@ -24,6 +24,8 @@
24 24 //是否存在
25 25 EXISTS,
26 26 NIN,
27   - IN;
  27 + IN,
  28 + //判断集合是否为空
  29 + SIZE;
28 30 }
platform-dal/src/main/java/com/lyms/platform/query/BabyModelQuery.java View file @ f27ff80
... ... @@ -2019,6 +2019,7 @@
2019 2019  
2020 2020 //隆华、滦平定制
2021 2021 Criteria cor3=MongoCondition.newInstance().getCriteria();//这里不能给null return拼接不能为空
  2022 + Criteria cor4=MongoCondition.newInstance().getCriteria();//这里不能给null return拼接不能为空
2022 2023 if(CollectionUtils.isNotEmpty(hospitalIdList)){
2023 2024 if (hospitalIdList.contains("2100001605")||hospitalIdList.contains("2100001377")){
2024 2025 //是否结案0:未结案,1:已结案 条件查询
2025 2026  
... ... @@ -2035,9 +2036,16 @@
2035 2036 //隆华、滦平 是否结案 条件查询 健康0/高危1,有没有高危详情来判断
2036 2037 if(null!=healthHigh){
2037 2038 if(healthHigh==0){
2038   - condition=condition.and("highRiskInfo", false, MongoOper.EXISTS);
  2039 + MongoCondition con = MongoCondition.newInstance();
  2040 + MongoCondition con1 = MongoCondition.newInstance("highRiskInfo", false, MongoOper.EXISTS);
  2041 + MongoCondition con2 = MongoCondition.newInstance("highRiskInfo",0,MongoOper.SIZE);
  2042 + cor4=con.orCondition(new MongoCondition[]{con1, con2}).getCriteria();
  2043 +
  2044 +// Criteria cr = Criteria.where("highRiskInfo").orOperator(Criteria.where("highRiskInfo").size(0),Criteria.where("highRiskInfo").exists(false));
  2045 +// condition.andCondition(new MongoCondition(cr));
2039 2046 }else {
2040   - condition=condition.and("highRiskInfo", true, MongoOper.EXISTS);
  2047 + Criteria cr = Criteria.where("highRiskInfo").exists(true).gt("");
  2048 + condition.andCondition(new MongoCondition(cr));
2041 2049 }
2042 2050 }
2043 2051 }else {
2044 2052  
... ... @@ -2054,9 +2062,9 @@
2054 2062 * 多个orCondition 需要添加Criteria来控制json同级两个and或者or来解决mongodb执行查询问题
2055 2063 */
2056 2064 if(c!=null){
2057   - return new MongoCondition(c.andOperator(condition.getCriteria(),cor,cor2,cor3)).toMongoQuery();
  2065 + return new MongoCondition(c.andOperator(condition.getCriteria(),cor,cor2,cor3,cor4)).toMongoQuery();
2058 2066 }
2059   - return new MongoCondition(cor.andOperator(condition.getCriteria(),cor2,cor3)).toMongoQuery();
  2067 + return new MongoCondition(cor.andOperator(condition.getCriteria(),cor2,cor3,cor4)).toMongoQuery();
2060 2068 }
2061 2069  
2062 2070 public Boolean getFmDataStatu() {