|
@@ -2,6 +2,7 @@ package com.bz.smart_city.service.impl;
|
|
|
|
|
|
import com.bz.smart_city.commom.model.CommonQueryCondition;
|
|
import com.bz.smart_city.commom.model.CommonQueryCondition;
|
|
import com.bz.smart_city.commom.model.Pagination;
|
|
import com.bz.smart_city.commom.model.Pagination;
|
|
|
|
+import com.bz.smart_city.commom.util.Jdk8DateUtils;
|
|
import com.bz.smart_city.dto.MeterReadDataDTO;
|
|
import com.bz.smart_city.dto.MeterReadDataDTO;
|
|
import com.bz.smart_city.entity.MeterReadRecord;
|
|
import com.bz.smart_city.entity.MeterReadRecord;
|
|
import com.bz.smart_city.repository.MongoMeterReadRecord;
|
|
import com.bz.smart_city.repository.MongoMeterReadRecord;
|
|
@@ -92,14 +93,14 @@ public class MongoMeterReadRecordServiceImpl implements MongoMeterReadRecordServ
|
|
@Override
|
|
@Override
|
|
public List<MeterReadRecord> findByIds(List<Long> deviceIds) {
|
|
public List<MeterReadRecord> findByIds(List<Long> deviceIds) {
|
|
Query query = new Query();
|
|
Query query = new Query();
|
|
- query.addCriteria(Criteria.where("_id").in(deviceIds));
|
|
|
|
|
|
+ query.addCriteria(Criteria.where("deviceId").in(deviceIds));
|
|
return this.findMongoMeterReadRecordList(query);
|
|
return this.findMongoMeterReadRecordList(query);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public MeterReadRecord findMeterLastReadRecord(Long deviceId) {
|
|
public MeterReadRecord findMeterLastReadRecord(Long deviceId) {
|
|
Query query = new Query();
|
|
Query query = new Query();
|
|
- query.addCriteria(Criteria.where("_id").is(deviceId));
|
|
|
|
|
|
+ query.addCriteria(Criteria.where("deviceId").is(deviceId));
|
|
query.with(Sort.by(Sort.Order.desc("dateCreate")));
|
|
query.with(Sort.by(Sort.Order.desc("dateCreate")));
|
|
|
|
|
|
MongoMeterReadRecord mongoRecord = mongoTemplate.findOne(query, MongoMeterReadRecord.class,"sc_meter_read_record");
|
|
MongoMeterReadRecord mongoRecord = mongoTemplate.findOne(query, MongoMeterReadRecord.class,"sc_meter_read_record");
|
|
@@ -121,7 +122,24 @@ public class MongoMeterReadRecordServiceImpl implements MongoMeterReadRecordServ
|
|
public List<MeterReadDataDTO> queryMeterReadData(String meterReadDate, String deviceNo, String electronicNo, Integer custId) {
|
|
public List<MeterReadDataDTO> queryMeterReadData(String meterReadDate, String deviceNo, String electronicNo, Integer custId) {
|
|
Query query = new Query();
|
|
Query query = new Query();
|
|
query.addCriteria(Criteria.where("readDate").is(Integer.parseInt(meterReadDate)));
|
|
query.addCriteria(Criteria.where("readDate").is(Integer.parseInt(meterReadDate)));
|
|
- return null;
|
|
|
|
|
|
+ if(deviceNo!=null) query.addCriteria(Criteria.where("deviceNo").is(deviceNo));
|
|
|
|
+ if(electronicNo!=null) query.addCriteria(Criteria.where("meterNo").is(electronicNo));
|
|
|
|
+ if(custId!=null) query.addCriteria(Criteria.where("customerId").is(custId));
|
|
|
|
+
|
|
|
|
+ List<MongoMeterReadRecord> list = mongoTemplate.find(query, MongoMeterReadRecord.class,"sc_meter_read_record");
|
|
|
|
+ List<MeterReadDataDTO> readRecordList = new ArrayList<>();
|
|
|
|
+ if (list != null && list.size() > 0) {
|
|
|
|
+ for (MongoMeterReadRecord mongoRecord : list) {
|
|
|
|
+ MeterReadDataDTO data = new MeterReadDataDTO();
|
|
|
|
+ data.setElectronicNo(mongoRecord.getMeterNo());
|
|
|
|
+ data.setDeviceNo(mongoRecord.getDeviceNo());
|
|
|
|
+ data.setMeterReadData(mongoRecord.getReadData());
|
|
|
|
+ data.setMeterReadDate(String.valueOf(mongoRecord.getReadDate()));
|
|
|
|
+ data.setMeterReadTime(Jdk8DateUtils.getDateToLocalDateTime(mongoRecord.getReadTime()));
|
|
|
|
+ readRecordList.add(data);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return readRecordList;
|
|
}
|
|
}
|
|
|
|
|
|
private MeterReadRecord convertMeterReadRecord(MongoMeterReadRecord mongoRecord){
|
|
private MeterReadRecord convertMeterReadRecord(MongoMeterReadRecord mongoRecord){
|