| 
					
				 | 
			
			
				@@ -3,6 +3,7 @@ package com.zcxk.rmcp.core.dao.mongo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.core.common.pojo.PageResult; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.core.common.pojo.UserCondition; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.core.mongo.base.BaseDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.zcxk.core.mongo.utils.StringUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.core.oauth2.util.UserUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.core.utils.BigDecimalUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.core.utils.DateUtil; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -15,6 +16,7 @@ import com.zcxk.rmcp.api.vo.MeterReadRecordAggregationVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.rmcp.api.vo.MeterReadRecordVo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.rmcp.core.entity.Device; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.zcxk.rmcp.core.mongo.MeterReadRecord; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import io.swagger.models.auth.In; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.data.domain.Pageable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.data.domain.Sort; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.springframework.data.mongodb.core.aggregation.*; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,7 +55,7 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Aggregation agg = Aggregation.newAggregation( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Aggregation.match(Criteria.where("id").is(id)), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Aggregation.unwind("data"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Aggregation.match(Criteria.where("data.readDate").is(readDate)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Aggregation.match(Criteria.where("data.readDate").is(Integer.parseInt(readDate.replaceAll("-","")))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ).withOptions(aggregationOptions); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AggregationResults<MeterReadRecordVo> durationData = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 mongoTemplate.aggregate(agg, MeterReadRecord.class, MeterReadRecordVo.class); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -90,7 +92,7 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Query query = new Query(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         query.addCriteria(Criteria.where("id").is(dto.getId())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        query.addCriteria(Criteria.where("data.readDate").is(dto.getReadDate())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        query.addCriteria(Criteria.where("data.readDate").is(Integer.parseInt(dto.getReadDate().replaceAll("-","")))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Update update = new Update(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         update.set("data.$.readData",dto.getReadData()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         update.set("data.$.readStatus", ReadStatusEnum.READ.getCode()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -262,7 +264,9 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         criteria.and("year").is(localDate.getYear()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         criteria.and("categoryId").is(dto.getCategoryId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        criteria.and("tenantId").is(userCondition.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (StringUtil.isNotEmpty(userCondition.getTenantId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            criteria.and("tenantId").is(userCondition.getTenantId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (ZoniotStringUtils.isNotEmpty(dto.getConcentratorId())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             criteria.and("concentratorId").is(dto.getConcentratorId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -293,7 +297,7 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         commonOperations.add(unwind); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 3.子文档查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         MatchOperation match2 = Aggregation.match( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Criteria.where("data.readDate").is(localDate.toString())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                Criteria.where("data.readDate").is(Integer.parseInt(localDate.toString().replaceAll("-","")))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         commonOperations.add(match2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return commonOperations; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -307,9 +311,9 @@ public class MeterReadRecordDao extends BaseDao<MeterReadRecord, String> impleme 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @return java.util.List<org.springframework.data.mongodb.core.aggregation.AggregationOperation> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      **/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private List<AggregationOperation> groupCondition(int year, int readDateBeginDate, int readDateEndDate, GroupOperation groupOperation){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Criteria unwindCriteria; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Criteria criteria = new Criteria(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         criteria.and("year").is(year); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Criteria unwindCriteria = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (readDateBeginDate == readDateEndDate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             unwindCriteria = Criteria.where("data.readDate").is(readDateBeginDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 |