Commit 8bc671cd5eb1103ef286737cd55738185e9c4de8
1 parent
c30b271af1
Exists in
dev
#fix:优化高危孕妇查询
Showing 2 changed files with 45 additions and 41 deletions
platform-biz-patient-service/src/main/java/com/lyms/platform/biz/service/PatientsService.java
View file @
8bc671c
| ... | ... | @@ -132,7 +132,6 @@ |
| 132 | 132 | patientsQuery.mysqlBuild(iPatientDao.queryPatientCount(query)); |
| 133 | 133 | query.start(patientsQuery.getOffset()).end(patientsQuery.getLimit()); |
| 134 | 134 | } |
| 135 | - // System.out.println(query.convertToMongoQuery().toString()); | |
| 136 | 135 | return iPatientDao.queryPatient(query.addOrder(Sort.Direction.fromString(sort), field)); |
| 137 | 136 | } |
| 138 | 137 |
platform-dal/src/main/java/com/lyms/platform/query/PatientsQuery.java
View file @
8bc671c
| ... | ... | @@ -869,6 +869,7 @@ |
| 869 | 869 | if (null != sendCareMan) { |
| 870 | 870 | condition = condition.and("sendCareMan", sendCareMan, MongoOper.IS); |
| 871 | 871 | } |
| 872 | + | |
| 872 | 873 | if (buildType != -1) { |
| 873 | 874 | MongoCondition mongoCondition = MongoCondition.newInstance("buildType", 3, MongoOper.IS); |
| 874 | 875 | |
| 875 | 876 | |
| 876 | 877 | |
| ... | ... | @@ -1124,10 +1125,35 @@ |
| 1124 | 1125 | } |
| 1125 | 1126 | } |
| 1126 | 1127 | |
| 1127 | - Criteria c1 = null; | |
| 1128 | 1128 | |
| 1129 | + | |
| 1129 | 1130 | Criteria c5 = MongoCondition.newInstance().getCriteria(); |
| 1130 | 1131 | |
| 1132 | + Criteria c1 = null; | |
| 1133 | + | |
| 1134 | + if (StringUtils.isNotEmpty(queryNo)) { | |
| 1135 | + MongoCondition c = MongoCondition.newInstance(); | |
| 1136 | + MongoCondition con1 = MongoCondition.newInstance("phone", queryNo, MongoOper.IS); | |
| 1137 | + MongoCondition con2 = MongoCondition.newInstance("username", "^" + queryNo, MongoOper.LIKE); | |
| 1138 | + MongoCondition con3 = MongoCondition.newInstance("cardNo", queryNo, MongoOper.IS); | |
| 1139 | + //MongoCondition con4 = MongoCondition.newInstance("fileCode", queryNo, MongoOper.IS); | |
| 1140 | + MongoCondition con5 = MongoCondition.newInstance("vcCardNo", queryNo, MongoOper.IS); | |
| 1141 | + if (c1 != null) { | |
| 1142 | + c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2, con3, con5}).getCriteria()); | |
| 1143 | + } else { | |
| 1144 | + c1 = c.orCondition(new MongoCondition[]{con1, con2, con3, con5}).getCriteria(); | |
| 1145 | + } | |
| 1146 | + } | |
| 1147 | + Criteria c6 = MongoCondition.newInstance().getCriteria(); | |
| 1148 | + //高危颜色等级无标记查询 | |
| 1149 | + if (CollectionUtils.isNotEmpty(noRlevel)) { | |
| 1150 | + MongoCondition c = MongoCondition.newInstance(); | |
| 1151 | + MongoCondition con1 = MongoCondition.newInstance("riskLevelId", "[]", MongoOper.IS); | |
| 1152 | + MongoCondition con2 = MongoCondition.newInstance("riskLevelId", false, MongoOper.EXISTS); | |
| 1153 | + c6 = c6.andOperator(c.orCondition(new MongoCondition[]{con1, con2}).getCriteria()); | |
| 1154 | + | |
| 1155 | + } | |
| 1156 | + | |
| 1131 | 1157 | if (StringUtils.isNotEmpty(rLevel)) { |
| 1132 | 1158 | //大同特殊处理 按颜色等于查询 |
| 1133 | 1159 | if("2100002419".equals(hospitalId)&&StringUtils.isEmpty(allPats)){ |
| 1134 | 1160 | |
| ... | ... | @@ -1141,11 +1167,12 @@ |
| 1141 | 1167 | riskLevelIds.add(levelList.get(1)); |
| 1142 | 1168 | riskLevelIds.add(levelList.get(0)); |
| 1143 | 1169 | MongoCondition condition2 = MongoCondition.newInstance("riskLevelId",JsonUtil.array2JsonString(riskLevelIds), MongoOper.IS); |
| 1144 | - if (c1 != null) { | |
| 1170 | + /* if (c1 != null) { | |
| 1145 | 1171 | c1 = c1.andOperator(c.orCondition(new MongoCondition[]{condition1, condition2}).getCriteria()); |
| 1146 | 1172 | } else { |
| 1147 | 1173 | c1 = c.orCondition(new MongoCondition[]{condition1, condition2}).getCriteria(); |
| 1148 | - } | |
| 1174 | + }*/ | |
| 1175 | + c6=c6.andOperator(c.orCondition(new MongoCondition[]{condition1, condition2}).getCriteria()); | |
| 1149 | 1176 | }else if (levelList.size()==3){ |
| 1150 | 1177 | riskLevelIds.add(levelList.get(0)); |
| 1151 | 1178 | riskLevelIds.add(levelList.get(2)); |
| 1152 | 1179 | |
| ... | ... | @@ -1178,11 +1205,12 @@ |
| 1178 | 1205 | |
| 1179 | 1206 | riskLevelIds.clear(); |
| 1180 | 1207 | //condition=condition.orCondition(new MongoCondition[]{condition1, condition2,condition3,condition4,condition5,condition6}); |
| 1181 | - if (c1 != null) { | |
| 1208 | + /* if (c1 != null) { | |
| 1182 | 1209 | c1 = c1.andOperator(c.orCondition(new MongoCondition[]{condition1, condition2,condition3,condition4,condition5,condition6}).getCriteria()); |
| 1183 | 1210 | } else { |
| 1184 | 1211 | c1 = c.orCondition(new MongoCondition[]{condition1, condition2,condition3,condition4,condition5,condition6}).getCriteria(); |
| 1185 | - } | |
| 1212 | + }*/ | |
| 1213 | + c6=c6.andOperator(c.orCondition(new MongoCondition[]{condition1, condition2,condition3,condition4,condition5,condition6}).getCriteria()); | |
| 1186 | 1214 | }else if (levelList.size()==4){ |
| 1187 | 1215 | riskLevelIds.add(levelList.get(0)); |
| 1188 | 1216 | riskLevelIds.add(levelList.get(1)); |
| 1189 | 1217 | |
| ... | ... | @@ -1307,11 +1335,13 @@ |
| 1307 | 1335 | riskLevelIds.clear(); |
| 1308 | 1336 | |
| 1309 | 1337 | //condition=condition.orCondition(new MongoCondition[]{condition1, condition2,condition3,condition4,condition5,condition6,condition7,condition8,condition9,condition10,condition11}); |
| 1310 | - if (c1 != null) { | |
| 1338 | + /* if (c1 != null) { | |
| 1311 | 1339 | c1 = c1.andOperator(c.orCondition(new MongoCondition[]{condition1, condition2,condition3,condition4,condition5,condition6,condition7,condition8,condition9,condition10,condition11,condition12,condition13,condition14,condition15,condition16,condition17,condition18}).getCriteria()); |
| 1312 | 1340 | } else { |
| 1313 | 1341 | c1 = c.orCondition(new MongoCondition[]{condition1, condition2,condition3,condition4,condition5,condition6,condition7,condition8,condition9,condition10,condition11,condition12,condition13,condition14,condition15,condition16,condition17,condition18}).getCriteria(); |
| 1314 | - } | |
| 1342 | + }*/ | |
| 1343 | + c6=c6.andOperator(c.orCondition(new MongoCondition[]{condition1, condition2,condition3,condition4,condition5,condition6,condition7,condition8,condition9,condition10,condition11,condition12,condition13,condition14,condition15,condition16,condition17,condition18}).getCriteria()); | |
| 1344 | + | |
| 1315 | 1345 | } |
| 1316 | 1346 | |
| 1317 | 1347 | }else { |
| 1318 | 1348 | |
| 1319 | 1349 | |
| ... | ... | @@ -1332,17 +1362,19 @@ |
| 1332 | 1362 | riskLevelIds.add("224b2329-cb82-4da3-a071-8527f8283aab"); |
| 1333 | 1363 | riskLevelIds.add(rLevel); |
| 1334 | 1364 | MongoCondition condition3 = MongoCondition.newInstance("riskLevelId",JsonUtil.array2JsonString(riskLevelIds), MongoOper.IS); |
| 1335 | - if (c1 != null) { | |
| 1336 | - c1 = c1.andOperator(c.orCondition(new MongoCondition[]{condition1, condition2,condition3}).getCriteria()); | |
| 1365 | + /* if (c1 != null) { | |
| 1366 | + c1 = c1.orOperator(c.orCondition(new MongoCondition[]{condition1, condition2,condition3}).getCriteria()); | |
| 1337 | 1367 | } else { |
| 1338 | 1368 | c1 = c.orCondition(new MongoCondition[]{condition1, condition2,condition3}).getCriteria(); |
| 1339 | - } | |
| 1369 | + }*/ | |
| 1370 | + c6=c6.andOperator(c.orCondition(new MongoCondition[]{condition1, condition2,condition3}).getCriteria()); | |
| 1371 | + | |
| 1340 | 1372 | //橙色 查询除了红色以外的 |
| 1341 | 1373 | }else if ("49a36aea-c5b6-4162-87d2-9eb3c6ec00c2".equals(rLevel)){ |
| 1342 | 1374 | //查询不包含红色 eb146c03-b19f-4e28-b85f-fda574b2283b |
| 1343 | 1375 | Pattern compile = Pattern.compile("^((?!" + "eb146c03-b19f-4e28-b85f-fda574b2283b"+ ").)*$", Pattern.CASE_INSENSITIVE); |
| 1344 | 1376 | c5 =Criteria.where("riskLevelId").is(compile).regex(rLevel); |
| 1345 | - //红色查询所有包含红色的 | |
| 1377 | + //红色查询所有包含红色的 | |
| 1346 | 1378 | }else if ("eb146c03-b19f-4e28-b85f-fda574b2283b".equals(rLevel)){ |
| 1347 | 1379 | condition = condition.and("riskLevelId", rLevel,MongoOper.LIKE); |
| 1348 | 1380 | }else { |
| ... | ... | @@ -1358,33 +1390,6 @@ |
| 1358 | 1390 | |
| 1359 | 1391 | } |
| 1360 | 1392 | |
| 1361 | - | |
| 1362 | - if (StringUtils.isNotEmpty(queryNo)) { | |
| 1363 | - MongoCondition c = MongoCondition.newInstance(); | |
| 1364 | - MongoCondition con1 = MongoCondition.newInstance("phone", queryNo, MongoOper.IS); | |
| 1365 | - MongoCondition con2 = MongoCondition.newInstance("username", "^" + queryNo, MongoOper.LIKE); | |
| 1366 | - MongoCondition con3 = MongoCondition.newInstance("cardNo", queryNo, MongoOper.IS); | |
| 1367 | - //MongoCondition con4 = MongoCondition.newInstance("fileCode", queryNo, MongoOper.IS); | |
| 1368 | - MongoCondition con5 = MongoCondition.newInstance("vcCardNo", queryNo, MongoOper.IS); | |
| 1369 | - if (c1 != null) { | |
| 1370 | - c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2, con3, con5}).getCriteria()); | |
| 1371 | - } else { | |
| 1372 | - c1 = c.orCondition(new MongoCondition[]{con1, con2, con3, con5}).getCriteria(); | |
| 1373 | - } | |
| 1374 | - } | |
| 1375 | - //高危颜色等级无标记查询 | |
| 1376 | - if (CollectionUtils.isNotEmpty(noRlevel)) { | |
| 1377 | - MongoCondition c = MongoCondition.newInstance(); | |
| 1378 | - MongoCondition con1 = MongoCondition.newInstance("riskLevelId", "[]", MongoOper.IS); | |
| 1379 | - MongoCondition con2 = MongoCondition.newInstance("riskLevelId", false, MongoOper.EXISTS); | |
| 1380 | - if (c1 != null) { | |
| 1381 | - c1 = c1.andOperator(c.orCondition(new MongoCondition[]{con1, con2}).getCriteria()); | |
| 1382 | - } else { | |
| 1383 | - c1 = c.orCondition(new MongoCondition[]{con1, con2}).getCriteria(); | |
| 1384 | - } | |
| 1385 | - } | |
| 1386 | - | |
| 1387 | - | |
| 1388 | 1393 | if (org.apache.commons.lang.StringUtils.isNotBlank(trackHospitalId)) { |
| 1389 | 1394 | MongoCondition c = MongoCondition.newInstance(); |
| 1390 | 1395 | MongoCondition con1 = MongoCondition.newInstance("trackHospitalId", trackHospitalId, MongoOper.IS); |
| 1391 | 1396 | |
| ... | ... | @@ -1929,10 +1934,10 @@ |
| 1929 | 1934 | c4.and("firstCheckId").exists(firstCheckId2); |
| 1930 | 1935 | } |
| 1931 | 1936 | if (null != c1) { |
| 1932 | - return new MongoCondition(c1.andOperator(condition.getCriteria(), c2, c3, c4,c5)).toMongoQuery(); | |
| 1937 | + return new MongoCondition(c1.andOperator(condition.getCriteria(), c2, c3, c4,c5,c6)).toMongoQuery(); | |
| 1933 | 1938 | // return new MongoCondition(c1.andOperator(condition.getCriteria())).toMongoQuery(); |
| 1934 | 1939 | } |
| 1935 | - return new MongoCondition(c2.andOperator(condition.getCriteria(), c3, c4,c5)).toMongoQuery(); | |
| 1940 | + return new MongoCondition(c2.andOperator(condition.getCriteria(), c3, c4,c5,c6)).toMongoQuery(); | |
| 1936 | 1941 | // return condition.toMongoQuery(); |
| 1937 | 1942 | } |
| 1938 | 1943 |