|
|
|
@ -18,6 +18,7 @@ import lombok.extern.slf4j.Slf4j; |
|
|
|
import org.springframework.scheduling.annotation.Scheduled; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
import javax.annotation.PostConstruct; |
|
|
|
import java.awt.*; |
|
|
|
import java.awt.image.BufferedImage; |
|
|
|
import java.io.IOException; |
|
|
|
@ -44,8 +45,18 @@ public class GetMeterSchedule { |
|
|
|
|
|
|
|
private final MeterTypeService meterTypeService; |
|
|
|
|
|
|
|
@PostConstruct |
|
|
|
public void init() { |
|
|
|
// 程序启动时执行一次
|
|
|
|
getterMeters(); |
|
|
|
} |
|
|
|
|
|
|
|
@Scheduled(cron = "0 0 9,15 * * ?")//每天9点和下午三点执行
|
|
|
|
public void getMeterSchedule(){ |
|
|
|
getterMeters(); |
|
|
|
} |
|
|
|
|
|
|
|
public void getterMeters(){ |
|
|
|
List<MeterConfig> configs = meterConfigService.getMeterList(); |
|
|
|
int pageSize = 10; // 每页的设备数量
|
|
|
|
int totalDevices = configs.size(); // 总设备数量
|
|
|
|
@ -110,17 +121,15 @@ public class GetMeterSchedule { |
|
|
|
MeterReadingRecord meterReadingRecord=new MeterReadingRecord(); |
|
|
|
meterReadingRecord.setMeterId(config.getId()); |
|
|
|
meterReadingRecord.setReadingType(2); |
|
|
|
if(config.getTypeId() == 5 || config.getTypeId() == 7 || config.getTypeId() == 3 || config.getTypeId() == 8 || config.getTypeId() == 10){ |
|
|
|
Number number = ModbusUtils.readHoldingRegister(master,1,0, DataType.FOUR_BYTE_INT_SIGNED); |
|
|
|
f = number.floatValue()*0.0001f; |
|
|
|
} |
|
|
|
if(config.getTypeId() == 4 ){//开关计数器
|
|
|
|
Number number = ModbusUtils.readHoldingRegister(master,1,0, DataType.TWO_BYTE_INT_SIGNED); |
|
|
|
f = number.floatValue(); |
|
|
|
} |
|
|
|
if(config.getTypeId() == 11){//泄漏电流表数字
|
|
|
|
}else if(config.getTypeId() == 11){//泄漏电流表数字
|
|
|
|
Number number = ModbusUtils.readHoldingRegister(master,1,10, DataType.TWO_BYTE_INT_SIGNED); |
|
|
|
f = number.floatValue(); |
|
|
|
}else { |
|
|
|
Number number = ModbusUtils.readHoldingRegister(master,1,0, DataType.FOUR_BYTE_INT_SIGNED); |
|
|
|
f = number.floatValue()*0.0001f; |
|
|
|
} |
|
|
|
master.destroy(); |
|
|
|
} |
|
|
|
@ -137,7 +146,7 @@ public class GetMeterSchedule { |
|
|
|
meterReadingRecord.setMeterId(config.getId()); |
|
|
|
meterReadingRecord.setReadingType(2); |
|
|
|
String value = ""; |
|
|
|
if(config.getTypeId() == 5 || config.getTypeId() == 7){ |
|
|
|
if(config.getTypeId() == 5 || config.getTypeId() == 7 || config.getTypeId() == 6){ |
|
|
|
value = ValueFormatUtil.getZZl(f,config); |
|
|
|
} |
|
|
|
if(config.getTypeId() == 3 ){ |
|
|
|
@ -148,7 +157,7 @@ public class GetMeterSchedule { |
|
|
|
} |
|
|
|
if(config.getTypeId() == 8){//档位数据处理
|
|
|
|
//处理为整数
|
|
|
|
value = ValueFormatUtil.getDw(f); |
|
|
|
value = ValueFormatUtil.getDw(f,config); |
|
|
|
} |
|
|
|
if(config.getTypeId() == 10){//放电计数器
|
|
|
|
value=ValueFormatUtil.getfdjsq(f); |
|
|
|
|