代码调整

This commit is contained in:
2025-01-09 16:00:31 +08:00
parent 0b35ce08b0
commit 55e7f1ce69
6 changed files with 48 additions and 8 deletions

View File

@@ -63,7 +63,7 @@ public class SocketDevResponseService {
private final DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME; private final DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
private final List<String> nonHarmonicList = Stream.of(DicDataEnum.FREQ.getCode(), DicDataEnum.V.getCode(), DicDataEnum.I.getCode(), DicDataEnum.IMBV.getCode(), DicDataEnum.IMBA.getCode(), DicDataEnum.VOLTAGE.getCode()).collect(Collectors.toList()); private final List<String> nonHarmonicList = Stream.of(DicDataEnum.FREQ.getCode(), DicDataEnum.V.getCode(), DicDataEnum.I.getCode(), DicDataEnum.IMBV.getCode(), DicDataEnum.IMBA.getCode(), DicDataEnum.VOLTAGE.getCode(), DicDataEnum.F.getCode()).collect(Collectors.toList());
private final List<String> harmonicList = Stream.of(DicDataEnum.HV.getCode(), DicDataEnum.HI.getCode(), DicDataEnum.HP.getCode(), DicDataEnum.HSV.getCode(), DicDataEnum.HSI.getCode()).collect(Collectors.toList()); private final List<String> harmonicList = Stream.of(DicDataEnum.HV.getCode(), DicDataEnum.HI.getCode(), DicDataEnum.HP.getCode(), DicDataEnum.HSV.getCode(), DicDataEnum.HSI.getCode()).collect(Collectors.toList());
private final WebSocketHandler webSocketHandler; private final WebSocketHandler webSocketHandler;
@@ -959,6 +959,7 @@ public class SocketDevResponseService {
} }
/** /**
* 退出检测返回 * 退出检测返回
*/ */
@@ -1155,10 +1156,13 @@ public class SocketDevResponseService {
} }
//字典树 //字典树
SocketManager.valueTypeMap = iPqScriptCheckDataService.getValueTypeMap(param.getScriptId()); SocketManager.valueTypeMap = iPqScriptCheckDataService.getValueTypeMap(param.getScriptId());
initXiManager(param);
if(param.getOperateType().equals(SourceOperateCodeEnum.COEFFICIENT_TEST.getValue())){
initXiManager(param);
}
} }
//初始化 //初始化系数校验参数
private void initXiManager(PreDetectionParam param) { private void initXiManager(PreDetectionParam param) {
XiNumberManager.devParameterList.clear(); XiNumberManager.devParameterList.clear();

View File

@@ -119,14 +119,14 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
System.out.println("超时函数进入-----》" + sourceIssue.getType() + "----:" + SocketManager.clockMap.get(sourceIssue.getIndex()) + "S"); System.out.println("超时函数进入-----》" + sourceIssue.getType() + "----:" + SocketManager.clockMap.get(sourceIssue.getIndex()) + "S");
if (sourceIssue.getType().equals(DicDataEnum.F.getCode())) { if (sourceIssue.getType().equals(DicDataEnum.F.getCode())) {
//闪变 //闪变,正常抛一轮最大等待20分钟超时
if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 1800) { if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 1300) {
System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭"); System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭");
CnSocketUtil.quitSend(param); CnSocketUtil.quitSend(param);
timeoutSend(sourceIssue); timeoutSend(sourceIssue);
} }
} else if (sourceIssue.getType().equals(DicDataEnum.VOLTAGE.getCode()) || sourceIssue.getType().equals(DicDataEnum.HP.getCode())) { } else if (sourceIssue.getType().equals(DicDataEnum.VOLTAGE.getCode()) || sourceIssue.getType().equals(DicDataEnum.HP.getCode())) {
//统计数据项 //统计数据项,正常抛一轮数据,超时
if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 180) { if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 180) {
CnSocketUtil.quitSend(param); CnSocketUtil.quitSend(param);
System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭"); System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭");
@@ -191,6 +191,9 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
} }
/**
*
*/
private void timeoutSend(SourceIssue sourceIssue){ private void timeoutSend(SourceIssue sourceIssue){
List<DevLineTestResult> devListRes = new ArrayList<>(); List<DevLineTestResult> devListRes = new ArrayList<>();
FormalTestManager.devList.forEach(dev -> { FormalTestManager.devList.forEach(dev -> {

View File

@@ -32,7 +32,7 @@
Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号', Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号',
AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表', AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',
Data_Type CHAR(32) NOT NULL COMMENT '数据指标只有数据源为分钟统计时候才会使用最大、最小、平均、CP95默认平均值字典表', Data_Type CHAR(32) NOT NULL COMMENT '数据指标只有数据源为分钟统计时候才会使用最大、最小、平均、CP95默认平均值字典表',
Result_Flag int(1) NOT NULL COMMENT '0.不合格 1.合格', Result_Flag int(1) NOT NULL COMMENT '1不合格 2合格 4无法处理',
A_Value json NULL COMMENT 'A相值', A_Value json NULL COMMENT 'A相值',
B_Value json NULL COMMENT 'B相值', B_Value json NULL COMMENT 'B相值',
C_Value json NULL COMMENT 'C相值', C_Value json NULL COMMENT 'C相值',

View File

@@ -42,4 +42,7 @@ public interface AdHarmonicService extends IService<AdHarmonicResult> {
* @return * @return
*/ */
Map<String, RawResultDataVO> listHarmResultData(StorageParam param) ; Map<String, RawResultDataVO> listHarmResultData(StorageParam param) ;
List<Integer> getIndex(StorageParam param);
} }

View File

@@ -5,16 +5,21 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler; import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
import com.njcn.gather.storage.mapper.AdHarmonicMappper; import com.njcn.gather.storage.mapper.AdHarmonicMappper;
import com.njcn.gather.storage.mapper.AdNonHarmonicMapper;
import com.njcn.gather.storage.pojo.param.StorageParam; import com.njcn.gather.storage.pojo.param.StorageParam;
import com.njcn.gather.storage.pojo.po.AdBaseResult; import com.njcn.gather.storage.pojo.po.AdBaseResult;
import com.njcn.gather.storage.pojo.po.AdHarmonicResult; import com.njcn.gather.storage.pojo.po.AdHarmonicResult;
import com.njcn.gather.storage.pojo.po.AdNonHarmonicResult;
import com.njcn.gather.storage.pojo.vo.RawDataVO; import com.njcn.gather.storage.pojo.vo.RawDataVO;
import com.njcn.gather.storage.pojo.vo.RawResultDataVO; import com.njcn.gather.storage.pojo.vo.RawResultDataVO;
import com.njcn.gather.storage.service.AdHarmonicService; import com.njcn.gather.storage.service.AdHarmonicService;
import io.swagger.models.auth.In;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.lang.reflect.Field; import java.lang.reflect.Field;
@@ -22,13 +27,18 @@ import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author caozehui * @author caozehui
* @data 2024-12-30 * @data 2024-12-30
*/ */
@Service @Service
@RequiredArgsConstructor
public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarmonicResult> implements AdHarmonicService { public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarmonicResult> implements AdHarmonicService {
private final AdNonHarmonicMapper adNonHarmonicMapper;
@Override @Override
public List<AdBaseResult> get(String scriptId, List<Integer> sort, String deviceId, String chnNum, Integer code) { public List<AdBaseResult> get(String scriptId, List<Integer> sort, String deviceId, String chnNum, Integer code) {
String prefix = "ad_harmonic_result_"; String prefix = "ad_harmonic_result_";
@@ -157,6 +167,26 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
return info; return info;
} }
@Override
public List<Integer> getIndex(StorageParam param) {
String prefix = "ad_harmonic_result_";
String prefixNon = "ad_non_harmonic_result_";
DynamicTableNameHandler.setTableName(prefix + param.getCode());
LambdaQueryWrapper<AdHarmonicResult> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.select(AdHarmonicResult::getSort).eq(AdHarmonicResult::getResultFlag, 2);
List<AdHarmonicResult> adHarmonicResultList = this.list(lambdaQueryWrapper);
List<Integer> indexes = new ArrayList<>(adHarmonicResultList.stream().map(AdHarmonicResult::getSort).collect(Collectors.toList()));
DynamicTableNameHandler.setTableName(prefixNon + param.getCode());
LambdaQueryWrapper<AdNonHarmonicResult> resultLambdaQueryWrapper = new LambdaQueryWrapper<>();
resultLambdaQueryWrapper.select(AdNonHarmonicResult::getSort).eq(AdNonHarmonicResult::getResultFlag,2);
List<AdNonHarmonicResult> nonHarmonicResults = adNonHarmonicMapper.selectList(resultLambdaQueryWrapper);
indexes.addAll(nonHarmonicResults.stream().map(AdNonHarmonicResult::getSort).collect(Collectors.toList()));
DynamicTableNameHandler.remove();
return indexes;
}
public Double isHarmOrInHarm(Double value) { public Double isHarmOrInHarm(Double value) {
if (value == value.longValue()) { if (value == value.longValue()) {
return value; return value;

View File

@@ -55,7 +55,7 @@ public class TableGenServiceImpl implements TableGenService {
" Sort int(5) NOT NULL COMMENT '总检测脚本中的测试项序号',\n" + " Sort int(5) NOT NULL COMMENT '总检测脚本中的测试项序号',\n" +
" AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',\n" + " AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',\n" +
" Data_Type CHAR(32) NOT NULL COMMENT '数据指标只有数据源为分钟统计时候才会使用最大、最小、平均、CP95默认平均值字典表',\n" + " Data_Type CHAR(32) NOT NULL COMMENT '数据指标只有数据源为分钟统计时候才会使用最大、最小、平均、CP95默认平均值字典表',\n" +
" Result_Flag int(1) NOT NULL COMMENT '0.不合格 1.合格',\n" + " Result_Flag int(1) NOT NULL COMMENT '1不合格 2合格 4无法处理',\n" +
A+B+C+ A+B+C+
" PRIMARY KEY (Monitor_Id, Script_Id, Sort, AD_Type)\n" + " PRIMARY KEY (Monitor_Id, Script_Id, Sort, AD_Type)\n" +
") COMMENT='监测数据表';"; ") COMMENT='监测数据表';";