Browse Source

剔除无读数数据

hym 4 years ago
parent
commit
c8c603593f

+ 20 - 6
meter-reading-sishui/read-sqlSever/src/main/java/com/zcxk/job/SyncMeterDataJob.java

@@ -70,13 +70,27 @@ public class SyncMeterDataJob implements Job {
             meterReadRecords.forEach(meterReadRecord -> {
                 MeterDataEntity meterDataEntity=new MeterDataEntity();
                 String relationId = meterReadRecordRelationId.get(meterReadRecord.getDeviceNo());
-                if(relationId!=null){
+                if(relationId!=null&&meterReadRecord.getReadData()!=null){
                     meterDataEntity.setReleationId(StringUtils.upperCase(relationId));
-                    if(meterReadRecord.getReadData()!=null){
-                        meterDataEntity.setCurrentReading(Float.parseFloat(meterReadRecord.getReadData()));
-                        meterDataEntity.setCurrentReadDate(simpleDateFormat.format(meterReadRecord.getReadTime()));
-                        datas.add(meterDataEntity);
-                    }
+                        float readData=0;
+                        if (meterReadRecord.getReadData()!=null){
+                            readData=Float.parseFloat(meterReadRecord.getReadData());
+                        }else if(meterReadRecord.getReadData()==null&&meterReadRecord.getLastValid()!=null){
+                            readData=Float.parseFloat(meterReadRecord.getLastValid());
+                        }
+                        if(readData!=0){
+                            meterDataEntity.setCurrentReading(readData);
+                            Date currentDate= meterReadRecord.getReadTime();
+                            if( currentDate==null){
+                                currentDate=uploadDate;
+                            }
+
+                            meterDataEntity.setCurrentReadDate(simpleDateFormat.format(currentDate));
+                            datas.add(meterDataEntity);
+                        }
+
+
+
 
                 }
 

+ 1 - 1
meter-reading-sishui/read-sqlSever/src/main/resources/mysql-mapper/SendDao.xml

@@ -147,7 +147,7 @@
         where sb.status = 1 and sb.id = #{buildingId}
     </select>
     <select id="selectDeviceMeterReader" resultType="com.zcxk.entity.MeterReadRecord">
-      select device_no, read_time ,read_data,customer_id
+      select device_no, read_time ,last_valid ,read_data,customer_id
       from sc_meter_read_record where customer_id=#{customerId}
       and read_date=#{readDate}
     </select>