|
@@ -85,7 +85,7 @@ public class DeviceSyncServiceImpl implements DeviceSyncService, InitializingBea
|
|
|
if(!exists){
|
|
|
|
|
|
//每隔X分钟一次
|
|
|
- String cron = "0 */2 * * * ?";
|
|
|
+ String cron = "0 */5 * * * ?";
|
|
|
log.info("水表安装信息同步"+cron);
|
|
|
entity.setCronExpression(cron);
|
|
|
entity.setJobClassName(DeviceSyncJob.class.getName());
|
|
@@ -207,6 +207,7 @@ public class DeviceSyncServiceImpl implements DeviceSyncService, InitializingBea
|
|
|
leng = count - i*loadNumber;
|
|
|
|
|
|
if(leng >0){
|
|
|
+ Map<String,Device> deviceMapmp = new Hashtable<>();
|
|
|
List<Device> subDeviceList = new ArrayList<>();
|
|
|
subDeviceList.addAll(deviceList.subList(i*loadNumber ,i*loadNumber+leng));
|
|
|
SynDeviceStatus synDeviceStatus = new SynDeviceStatus();
|
|
@@ -214,6 +215,7 @@ public class DeviceSyncServiceImpl implements DeviceSyncService, InitializingBea
|
|
|
synDeviceStatus.setElectronicMeterNos(new ArrayList());
|
|
|
for (int k = 0;k < leng ;k++){
|
|
|
synDeviceStatus.getElectronicMeterNos().add(subDeviceList.get(k).getWaterMeterNo());
|
|
|
+ deviceMapmp.put(subDeviceList.get(k).getWaterMeterNo(),subDeviceList.get(k));
|
|
|
}
|
|
|
|
|
|
String json= JSON.toJSON(synDeviceStatus).toString();
|
|
@@ -225,12 +227,19 @@ public class DeviceSyncServiceImpl implements DeviceSyncService, InitializingBea
|
|
|
List<SynDeviceResult> syncValveResultList = datas.toJavaList(SynDeviceResult.class);
|
|
|
|
|
|
for (SynDeviceResult SynResutl:syncValveResultList){
|
|
|
+ Device device = deviceMapmp.get(SynResutl.getElectronicMeterNo());
|
|
|
+ if(device != null && device.getDeviceStatus() != null && SynResutl.getDeviceStatus() !=null){
|
|
|
+ if(device.getDeviceStatus().intValue() == SynResutl.getDeviceStatus())
|
|
|
+ continue; //设备状态未改变不更新数据库
|
|
|
+ }
|
|
|
+
|
|
|
MeterSyncDto meterSyncDto = new MeterSyncDto();
|
|
|
meterSyncDto.setWaterMeterNo(SynResutl.getElectronicMeterNo());
|
|
|
meterSyncDto.setDays(SynResutl.getDays());
|
|
|
meterSyncDto.setDeviceStatus(SynResutl.getDeviceStatus());
|
|
|
deviceMapper.updateSyncDeviceStatus(meterSyncDto);
|
|
|
}
|
|
|
+ deviceMapmp.clear();
|
|
|
|
|
|
}
|
|
|
}
|
|
@@ -238,7 +247,7 @@ public class DeviceSyncServiceImpl implements DeviceSyncService, InitializingBea
|
|
|
}
|
|
|
}
|
|
|
catch(Exception ex){
|
|
|
- ;
|
|
|
+ ex.printStackTrace();
|
|
|
}
|
|
|
}
|
|
|
|