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

View File

@@ -21,7 +21,7 @@ public interface IPqFreqConverterTestResService extends IService<PqFreqConverter
/**
* 保存结果记录
*
* @param suffix 表后缀
* @param suffix 表后缀
* @param testResList 结果数据
* @return 是否成功
*/
@@ -30,7 +30,7 @@ public interface IPqFreqConverterTestResService extends IService<PqFreqConverter
/**
* 新增结果记录
*
* @param suffix 表后缀
* @param suffix 表后缀
* @param testResList 结果数据
* @return 是否成功
*/
@@ -39,7 +39,7 @@ public interface IPqFreqConverterTestResService extends IService<PqFreqConverter
/**
* 更新结果记录
*
* @param suffix 表后缀
* @param suffix 表后缀
* @param testResList 结果数据
* @return 是否成功
*/
@@ -53,7 +53,7 @@ public interface IPqFreqConverterTestResService extends IService<PqFreqConverter
*/
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
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);
LambdaQueryWrapper<PqFreqConverterTestRes> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between(PqFreqConverterTestRes::getDurationMs, durationMs - freqConverterConfig.getAllowErrorDuration(), durationMs + freqConverterConfig.getAllowErrorDuration())
.ne(PqFreqConverterTestRes::getId, id)
.orderByAsc(PqFreqConverterTestRes::getResidualVoltage)
.last("limit 1");
PqFreqConverterTestRes result = this.getOne(queryWrapper);
@@ -70,10 +71,11 @@ public class PqFreqConverterTestResServiceImpl extends ServiceImpl<PqFreqConvert
}
@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);
LambdaQueryWrapper<PqFreqConverterTestRes> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.between(PqFreqConverterTestRes::getResidualVoltage, residualVoltage - freqConverterConfig.getAllowErrorResidualVoltage(), residualVoltage + freqConverterConfig.getAllowErrorDuration())
.ne(PqFreqConverterTestRes::getId, id)
.orderByDesc(PqFreqConverterTestRes::getDurationMs)
.last("limit 1");
PqFreqConverterTestRes result = this.getOne(queryWrapper);

View File

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