|
@@ -284,25 +284,35 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme
|
|
|
if (ZoniotStringUtils.isNotEmpty(dto.getConcentratorId())) {
|
|
|
criteria.and("concentratorId").is(dto.getConcentratorId());
|
|
|
}
|
|
|
- if (ZoniotStringUtils.isNotEmpty(dto.getReadStatus())) {
|
|
|
- criteria.and("readStatus").is(dto.getReadStatus());
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+ // 设置用户权限过滤
|
|
|
+ Criteria criteriaUser = criteriaUserCondition(userCondition);
|
|
|
+ System.out.println(criteriaUser.toString());
|
|
|
+
|
|
|
if (ZoniotStringUtils.isNotEmpty(dto.getDeviceMeterNo())) {
|
|
|
+ Criteria orCriteria = new Criteria();
|
|
|
Criteria criteria1 = Criteria.where("meterNo").is(dto.getDeviceMeterNo());
|
|
|
Criteria criteria2 = Criteria.where("deviceNo").is(dto.getDeviceMeterNo());
|
|
|
- criteria.orOperator(criteria1,criteria2);
|
|
|
+ orCriteria.orOperator(criteria1,criteria2);
|
|
|
+ criteria.andOperator(orCriteria, criteriaUser);
|
|
|
+ } else{
|
|
|
+ criteria.andOperator(criteriaUser);
|
|
|
}
|
|
|
- // 设置用户权限过滤
|
|
|
- criteriaUserCondition(userCondition, criteria);
|
|
|
+
|
|
|
// 1. 指定查询主文档
|
|
|
MatchOperation match = Aggregation.match(criteria);
|
|
|
commonOperations.add(match);
|
|
|
// 2.拆开
|
|
|
UnwindOperation unwind = Aggregation.unwind("data");
|
|
|
commonOperations.add(unwind);
|
|
|
+
|
|
|
+ Criteria childCriteria = Criteria.where("data.readDate").is(Integer.parseInt(localDate.toString().replaceAll("-","")));
|
|
|
+ if (ZoniotStringUtils.isNotEmpty(dto.getReadStatus())) {
|
|
|
+ childCriteria.and("data.readStatus").is(dto.getReadStatus());
|
|
|
+ }
|
|
|
// 3.子文档查询
|
|
|
- MatchOperation match2 = Aggregation.match(
|
|
|
- Criteria.where("data.readDate").is(Integer.parseInt(localDate.toString().replaceAll("-",""))));
|
|
|
+ MatchOperation match2 = Aggregation.match(childCriteria);
|
|
|
commonOperations.add(match2);
|
|
|
return commonOperations;
|
|
|
}
|