|
@@ -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 {
|