diff --git a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java index bd4f4cb0..594a7a8d 100644 --- a/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java +++ b/detection/src/main/java/com/njcn/gather/detection/handler/SocketDevResponseService.java @@ -63,7 +63,7 @@ public class SocketDevResponseService { private final DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME; - private final List 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 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 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(); diff --git a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java index bada753b..390c7375 100644 --- a/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java +++ b/detection/src/main/java/com/njcn/gather/detection/util/socket/cilent/NettyDevClientHandler.java @@ -119,14 +119,14 @@ public class NettyDevClientHandler extends SimpleChannelInboundHandler { 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 { } + /** + * + */ private void timeoutSend(SourceIssue sourceIssue){ List devListRes = new ArrayList<>(); FormalTestManager.devList.forEach(dev -> { diff --git a/storage/src/main/java/com/njcn/gather/storage/mapper/mapping/TableGenMapper.xml b/storage/src/main/java/com/njcn/gather/storage/mapper/mapping/TableGenMapper.xml index 9d712650..66e890b3 100644 --- a/storage/src/main/java/com/njcn/gather/storage/mapper/mapping/TableGenMapper.xml +++ b/storage/src/main/java/com/njcn/gather/storage/mapper/mapping/TableGenMapper.xml @@ -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相值', diff --git a/storage/src/main/java/com/njcn/gather/storage/service/AdHarmonicService.java b/storage/src/main/java/com/njcn/gather/storage/service/AdHarmonicService.java index 9e34d81a..01009422 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/AdHarmonicService.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/AdHarmonicService.java @@ -42,4 +42,7 @@ public interface AdHarmonicService extends IService { * @return */ Map listHarmResultData(StorageParam param) ; + + + List getIndex(StorageParam param); } diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/AdHarmonicServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/AdHarmonicServiceImpl.java index c5a30719..c7b728b0 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/AdHarmonicServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/AdHarmonicServiceImpl.java @@ -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 implements AdHarmonicService { + + private final AdNonHarmonicMapper adNonHarmonicMapper; + @Override public List get(String scriptId, List sort, String deviceId, String chnNum, Integer code) { String prefix = "ad_harmonic_result_"; @@ -157,6 +167,26 @@ public class AdHarmonicServiceImpl extends ServiceImpl getIndex(StorageParam param) { + String prefix = "ad_harmonic_result_"; + String prefixNon = "ad_non_harmonic_result_"; + DynamicTableNameHandler.setTableName(prefix + param.getCode()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.select(AdHarmonicResult::getSort).eq(AdHarmonicResult::getResultFlag, 2); + List adHarmonicResultList = this.list(lambdaQueryWrapper); + List indexes = new ArrayList<>(adHarmonicResultList.stream().map(AdHarmonicResult::getSort).collect(Collectors.toList())); + + DynamicTableNameHandler.setTableName(prefixNon + param.getCode()); + LambdaQueryWrapper resultLambdaQueryWrapper = new LambdaQueryWrapper<>(); + resultLambdaQueryWrapper.select(AdNonHarmonicResult::getSort).eq(AdNonHarmonicResult::getResultFlag,2); + List 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; diff --git a/storage/src/main/java/com/njcn/gather/storage/service/impl/TableGenServiceImpl.java b/storage/src/main/java/com/njcn/gather/storage/service/impl/TableGenServiceImpl.java index 144e589c..239802f5 100644 --- a/storage/src/main/java/com/njcn/gather/storage/service/impl/TableGenServiceImpl.java +++ b/storage/src/main/java/com/njcn/gather/storage/service/impl/TableGenServiceImpl.java @@ -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='监测数据表';";