This commit is contained in:
caozehui
2026-05-07 16:27:49 +08:00
parent 7ab5b9a501
commit ec9a0ca236
4 changed files with 13 additions and 11 deletions

View File

@@ -362,7 +362,7 @@ public class SocketFreqConverterService {
// 从数据库按照列查询距离该暂降点最近的一个暂降点 // 从数据库按照列查询距离该暂降点最近的一个暂降点
if (freqConverterConfig.getDirection() == 0) { if (freqConverterConfig.getDirection() == 0) {
PqFreqConverterTestRes lastByDuration = pqFreqConverterTestResService.getLastByDuration(suffix, task.getPqDipData().getDurationMs()); PqFreqConverterTestRes lastByDuration = pqFreqConverterTestResService.getLastByDuration(suffix, key, task.getPqDipData().getDurationMs());
if (ObjectUtil.isNotNull(lastByDuration) && lastByDuration.getTolerant() == 1) { if (ObjectUtil.isNotNull(lastByDuration) && lastByDuration.getTolerant() == 1) {
TolerantPointVO featurePointVO = new TolerantPointVO(); TolerantPointVO featurePointVO = new TolerantPointVO();
@@ -381,8 +381,8 @@ public class SocketFreqConverterService {
} }
} }
// 从数据库按照行查询距离该暂降点最近的一个暂降点 // 从数据库按照行查询距离该暂降点最近的一个暂降点
if (freqConverterConfig.getDirection() == 0) { if (freqConverterConfig.getDirection() == 1) {
PqFreqConverterTestRes lastByResidualVoltage = pqFreqConverterTestResService.getLastByResidualVoltage(suffix, task.getPqDipData().getResidualVoltage()); PqFreqConverterTestRes lastByResidualVoltage = pqFreqConverterTestResService.getLastByResidualVoltage(suffix, key, task.getPqDipData().getResidualVoltage());
if (ObjectUtil.isNotNull(lastByResidualVoltage) && lastByResidualVoltage.getTolerant() == 1) { if (ObjectUtil.isNotNull(lastByResidualVoltage) && lastByResidualVoltage.getTolerant() == 1) {
TolerantPointVO featurePointVO = new TolerantPointVO(); TolerantPointVO featurePointVO = new TolerantPointVO();

View File

@@ -21,7 +21,7 @@ public interface IPqFreqConverterTestResService extends IService<PqFreqConverter
/** /**
* 保存结果记录 * 保存结果记录
* *
* @param suffix 表后缀 * @param suffix 表后缀
* @param testResList 结果数据 * @param testResList 结果数据
* @return 是否成功 * @return 是否成功
*/ */
@@ -30,7 +30,7 @@ public interface IPqFreqConverterTestResService extends IService<PqFreqConverter
/** /**
* 新增结果记录 * 新增结果记录
* *
* @param suffix 表后缀 * @param suffix 表后缀
* @param testResList 结果数据 * @param testResList 结果数据
* @return 是否成功 * @return 是否成功
*/ */
@@ -39,7 +39,7 @@ public interface IPqFreqConverterTestResService extends IService<PqFreqConverter
/** /**
* 更新结果记录 * 更新结果记录
* *
* @param suffix 表后缀 * @param suffix 表后缀
* @param testResList 结果数据 * @param testResList 结果数据
* @return 是否成功 * @return 是否成功
*/ */
@@ -53,7 +53,7 @@ public interface IPqFreqConverterTestResService extends IService<PqFreqConverter
*/ */
List<PqFreqConverterTestRes> listTestRes(Integer suffix); List<PqFreqConverterTestRes> listTestRes(Integer suffix);
PqFreqConverterTestRes getLastByDuration(Integer suffix, Integer durationMs); PqFreqConverterTestRes getLastByDuration(Integer suffix, String id, Integer durationMs);
PqFreqConverterTestRes getLastByResidualVoltage(Integer suffix, Double residualVoltage); PqFreqConverterTestRes getLastByResidualVoltage(Integer suffix, String id, Double residualVoltage);
} }

View File

@@ -58,10 +58,11 @@ public class PqFreqConverterTestResServiceImpl extends ServiceImpl<PqFreqConvert
} }
@Override @Override
public PqFreqConverterTestRes getLastByDuration(Integer suffix, Integer durationMs) { public PqFreqConverterTestRes getLastByDuration(Integer suffix, String id, Integer durationMs) {
DynamicTableNameHandler.setTableName(PqFreqConverterConfigServiceImpl.PQ_FREQ_CONVERTER_TEST_RES_TB_PREFIX + suffix); DynamicTableNameHandler.setTableName(PqFreqConverterConfigServiceImpl.PQ_FREQ_CONVERTER_TEST_RES_TB_PREFIX + suffix);
LambdaQueryWrapper<PqFreqConverterTestRes> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PqFreqConverterTestRes> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between(PqFreqConverterTestRes::getDurationMs, durationMs - freqConverterConfig.getAllowErrorDuration(), durationMs + freqConverterConfig.getAllowErrorDuration()) queryWrapper.between(PqFreqConverterTestRes::getDurationMs, durationMs - freqConverterConfig.getAllowErrorDuration(), durationMs + freqConverterConfig.getAllowErrorDuration())
.ne(PqFreqConverterTestRes::getId, id)
.orderByAsc(PqFreqConverterTestRes::getResidualVoltage) .orderByAsc(PqFreqConverterTestRes::getResidualVoltage)
.last("limit 1"); .last("limit 1");
PqFreqConverterTestRes result = this.getOne(queryWrapper); PqFreqConverterTestRes result = this.getOne(queryWrapper);
@@ -70,10 +71,11 @@ public class PqFreqConverterTestResServiceImpl extends ServiceImpl<PqFreqConvert
} }
@Override @Override
public PqFreqConverterTestRes getLastByResidualVoltage(Integer suffix, Double residualVoltage) { public PqFreqConverterTestRes getLastByResidualVoltage(Integer suffix, String id, Double residualVoltage) {
DynamicTableNameHandler.setTableName(PqFreqConverterConfigServiceImpl.PQ_FREQ_CONVERTER_TEST_RES_TB_PREFIX + suffix); DynamicTableNameHandler.setTableName(PqFreqConverterConfigServiceImpl.PQ_FREQ_CONVERTER_TEST_RES_TB_PREFIX + suffix);
LambdaQueryWrapper<PqFreqConverterTestRes> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<PqFreqConverterTestRes> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between(PqFreqConverterTestRes::getResidualVoltage, residualVoltage - freqConverterConfig.getAllowErrorResidualVoltage(), residualVoltage + freqConverterConfig.getAllowErrorDuration()) queryWrapper.between(PqFreqConverterTestRes::getResidualVoltage, residualVoltage - freqConverterConfig.getAllowErrorResidualVoltage(), residualVoltage + freqConverterConfig.getAllowErrorDuration())
.ne(PqFreqConverterTestRes::getId, id)
.orderByDesc(PqFreqConverterTestRes::getDurationMs) .orderByDesc(PqFreqConverterTestRes::getDurationMs)
.last("limit 1"); .last("limit 1");
PqFreqConverterTestRes result = this.getOne(queryWrapper); PqFreqConverterTestRes result = this.getOne(queryWrapper);

View File

@@ -131,6 +131,6 @@ freq-converter:
schedule-period: 200 #定时器运行间隔 schedule-period: 200 #定时器运行间隔
tolerant: 1 #耐受状态 tolerant: 1 #耐受状态
dt: 200 #延迟时间ms dt: 200 #延迟时间ms
direction: 1 #0为横向1为纵向 direction: 0 #0为横向1为纵向
allow-error-duration: 6 #暂态持续时间允许最大误差ms allow-error-duration: 6 #暂态持续时间允许最大误差ms
allow-error-vesidual-voltage: 2.0 #暂态幅值允许最多误差% allow-error-vesidual-voltage: 2.0 #暂态幅值允许最多误差%