Kaynağa Gözat

添加mongo查询抄表记录service

lin 4 yıl önce
ebeveyn
işleme
8a5a495a67

+ 6 - 0
smart-city-platform/src/main/java/com/bz/smart_city/service/MongoMeterReadRecordService.java

@@ -2,6 +2,7 @@ package com.bz.smart_city.service;
 
 import com.bz.smart_city.commom.model.CommonQueryCondition;
 import com.bz.smart_city.commom.model.Pagination;
+import com.bz.smart_city.dto.MeterReadDataDTO;
 import com.bz.smart_city.entity.MeterReadRecord;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.data.mongodb.core.query.Query;
@@ -23,4 +24,9 @@ public interface MongoMeterReadRecordService {
     MeterReadRecord findMeterLastReadRecord(Long deviceId);
 
     List<MeterReadRecord> findSyncMeterRecord( List<Long> deviceIds, String readTime);
+
+    List<MeterReadDataDTO> queryMeterReadData(String meterReadDate,
+                                              String deviceNo,
+                                              String electronicNo,
+                                              Integer custId);
 }

+ 19 - 7
smart-city-platform/src/main/java/com/bz/smart_city/service/impl/MongoMeterReadRecordServiceImpl.java

@@ -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.Pagination;
+import com.bz.smart_city.dto.MeterReadDataDTO;
 import com.bz.smart_city.entity.MeterReadRecord;
 import com.bz.smart_city.repository.MongoMeterReadRecord;
 import com.bz.smart_city.service.MongoMeterReadRecordService;
@@ -69,15 +70,14 @@ public class MongoMeterReadRecordServiceImpl implements MongoMeterReadRecordServ
 
     @Override
     public Pagination<MeterReadRecord> findMongoMeterReadRecordPage(CommonQueryCondition condition, int pageNum, int pageSize) {
-        //List<MongoMeterReadRecord> result = meterReadRecordMapper.queryMeterReadRecordWithCondtion(condition);
-
-
         Query query = buildMongodbQuery(condition);
 
         long count = mongoTemplate.count(query, MongoMeterReadRecord.class,"sc_meter_read_record");
 
         query.skip((pageNum - 1) * pageSize).limit(pageSize);
 
+        query.with(Sort.by(Sort.Order.desc("dateCreate")));
+
         List<MeterReadRecord> readRecordList = findMongoMeterReadRecordList(query);
 
         return new Pagination<MeterReadRecord>(readRecordList,count);
@@ -112,11 +112,18 @@ public class MongoMeterReadRecordServiceImpl implements MongoMeterReadRecordServ
     @Override
     public List<MeterReadRecord> findSyncMeterRecord(List<Long> deviceIds, String readTime) {
         Query query = new Query();
-        query.addCriteria(Criteria.where("readDate").is(readTime));
+        query.addCriteria(Criteria.where("readDate").is(Integer.parseInt(readTime)));
         query.addCriteria(Criteria.where("deviceId").in(deviceIds));
         return this.findMongoMeterReadRecordList(query);
     }
 
+    @Override
+    public List<MeterReadDataDTO> queryMeterReadData(String meterReadDate, String deviceNo, String electronicNo, Integer custId) {
+        Query query = new Query();
+        query.addCriteria(Criteria.where("readDate").is(Integer.parseInt(meterReadDate)));
+        return null;
+    }
+
     private MeterReadRecord convertMeterReadRecord(MongoMeterReadRecord mongoRecord){
         MeterReadRecord record = new MeterReadRecord();
         record.setId(mongoRecord.getId());
@@ -150,10 +157,15 @@ public class MongoMeterReadRecordServiceImpl implements MongoMeterReadRecordServ
         record.setStatus(mongoRecord.getStatus());
         record.setLastValid(mongoRecord.getLastValid());
         record.setLastCost(mongoRecord.getLastCost());
-
-        record.setEquipmentType(mongoRecord.getDeviceTypeName());
-        //record.setModel(mongoRecord.getde);
         record.setChannelNumberName(mongoRecord.getChannelName());
+        if (mongoRecord.getDeviceTypeName() != null) {
+            String[] DeviceTypeName = mongoRecord.getDeviceTypeName().split("/");
+            if(DeviceTypeName.length == 3){
+                record.setEquipmentType(DeviceTypeName[1]);
+                record.setModel(DeviceTypeName[2]);
+            }
+        }
+
         return record;
     }