代码调整

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 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 WebSocketHandler webSocketHandler;
@@ -959,6 +959,7 @@ public class SocketDevResponseService {
}
/**
* 退出检测返回
*/
@@ -1155,10 +1156,13 @@ public class SocketDevResponseService {
}
//字典树
SocketManager.valueTypeMap = iPqScriptCheckDataService.getValueTypeMap(param.getScriptId());
initXiManager(param);
if(param.getOperateType().equals(SourceOperateCodeEnum.COEFFICIENT_TEST.getValue())){
initXiManager(param);
}
}
//初始化
//初始化系数校验参数
private void initXiManager(PreDetectionParam param) {
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");
if (sourceIssue.getType().equals(DicDataEnum.F.getCode())) {
//闪变
if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 1800) {
//闪变,正常抛一轮最大等待20分钟超时
if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 1300) {
System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭");
CnSocketUtil.quitSend(param);
timeoutSend(sourceIssue);
}
} else if (sourceIssue.getType().equals(DicDataEnum.VOLTAGE.getCode()) || sourceIssue.getType().equals(DicDataEnum.HP.getCode())) {
//统计数据项
//统计数据项,正常抛一轮数据,超时
if (SocketManager.clockMap.get(sourceIssue.getIndex()) > 180) {
CnSocketUtil.quitSend(param);
System.out.println("超时处理-----》" + sourceIssue.getType() + "已超时----------------关闭");
@@ -191,6 +191,9 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler<String> {
}
/**
*
*/
private void timeoutSend(SourceIssue sourceIssue){
List<DevLineTestResult> devListRes = new ArrayList<>();
FormalTestManager.devList.forEach(dev -> {

View File

@@ -32,7 +32,7 @@
Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号',
AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',
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相值',
B_Value json NULL COMMENT 'B相值',
C_Value json NULL COMMENT 'C相值',

View File

@@ -42,4 +42,7 @@ public interface AdHarmonicService extends IService<AdHarmonicResult> {
* @return
*/
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.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
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.po.AdBaseResult;
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.RawResultDataVO;
import com.njcn.gather.storage.service.AdHarmonicService;
import io.swagger.models.auth.In;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
@@ -22,13 +27,18 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author caozehui
* @data 2024-12-30
*/
@Service
@RequiredArgsConstructor
public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarmonicResult> implements AdHarmonicService {
private final AdNonHarmonicMapper adNonHarmonicMapper;
@Override
public List<AdBaseResult> get(String scriptId, List<Integer> sort, String deviceId, String chnNum, Integer code) {
String prefix = "ad_harmonic_result_";
@@ -157,6 +167,26 @@ public class AdHarmonicServiceImpl extends ServiceImpl<AdHarmonicMappper, AdHarm
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) {
if (value == value.longValue()) {
return value;

View File

@@ -55,7 +55,7 @@ public class TableGenServiceImpl implements TableGenService {
" Sort int(5) NOT NULL COMMENT '总检测脚本中的测试项序号',\n" +
" AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',\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+
" PRIMARY KEY (Monitor_Id, Script_Id, Sort, AD_Type)\n" +
") COMMENT='监测数据表';";