代码调整

This commit is contained in:
2025-01-03 16:31:53 +08:00
parent 97c6e7a1e1
commit 38ffc6926d
7 changed files with 78 additions and 50 deletions

View File

@@ -28,6 +28,9 @@ import com.njcn.gather.storage.pojo.po.AdNonHarmonicResult;
import com.njcn.gather.storage.service.DetectionDataDealService; import com.njcn.gather.storage.service.DetectionDataDealService;
import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum; import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum;
import com.njcn.gather.system.pojo.enums.DicDataEnum; import com.njcn.gather.system.pojo.enums.DicDataEnum;
import com.njcn.gather.system.reg.pojo.po.SysRegRes;
import com.njcn.gather.system.reg.pojo.vo.SysRegResVO;
import com.njcn.gather.system.reg.service.ISysRegResService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -53,24 +56,24 @@ public class SocketDevResponseService {
private final String handlerStr = "_Dev"; private final String handlerStr = "_Dev";
private final String handlerSourceStr = "_Source"; private final String handlerSourceStr = "_Source";
// ISO 8601格式
private final DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;
private final Integer[] resCount = {0,20,5,1};
//private final List<String> dicDataList = Stream.of(DicDataEnum.FREQ.getCode(),DicDataEnum.V.getCode())
private final List<String> nonHarmonicList = Stream.of(DicDataEnum.FREQ.getCode(),DicDataEnum.V.getCode(),DicDataEnum.I.getCode(),DicDataEnum.IMBV.getCode(),DicDataEnum.IMBA.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;
private final IPqDevService iPqDevService; private final IPqDevService iPqDevService;
private final IPqScriptDtlsService scriptDtlsService; private final IPqScriptDtlsService scriptDtlsService;
private final IPqScriptDtlsService pqScriptDtlsService; private final IPqScriptDtlsService pqScriptDtlsService;
private final DetectionServiceImpl detectionServiceImpl; private final DetectionServiceImpl detectionServiceImpl;
private final DetectionDataDealService detectionDataDealService; private final DetectionDataDealService detectionDataDealService;
private final ISysRegResService iSysRegResService;
private final ExecutorService executorPool = Executors.newFixedThreadPool(5); private final ExecutorService executorPool = Executors.newFixedThreadPool(5);
/** /**
* 存储的装置相序数据 * 存储的装置相序数据
*/ */
@@ -87,7 +90,6 @@ public class SocketDevResponseService {
*/ */
List<String> monitorIdListComm = new ArrayList<>(); List<String> monitorIdListComm = new ArrayList<>();
private List<PreDetection> devList = new ArrayList<>(); private List<PreDetection> devList = new ArrayList<>();
/** /**
* 装置名称 * 装置名称
@@ -102,15 +104,13 @@ public class SocketDevResponseService {
*/ */
List<String> successComm = new ArrayList<>(); List<String> successComm = new ArrayList<>();
/** /**
* 保存成功的协议 * 保存成功的协议
*/ */
List<String> successXieyi = new ArrayList<>(); List<String> successXieyi = new ArrayList<>();
List<String> successXieyi3 = new ArrayList<>(); List<String> successXieyi3 = new ArrayList<>();
// List<AdNonHarmonicResult> adNonHarmonicResultList = new ArrayList<>();
List<AdNonHarmonicResult> adNonHarmonicResultList = new ArrayList<>();
public void deal(PreDetectionParam param, String msg) throws Exception{ public void deal(PreDetectionParam param, String msg) throws Exception{
@@ -341,7 +341,7 @@ public class SocketDevResponseService {
DevData devData = JSON.parseObject(data, DevData.class); DevData devData = JSON.parseObject(data, DevData.class);
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode()); SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
if (ObjectUtil.isNotNull(dictDataEnumByCode)) { if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
SocketMsg socketMsg = new SocketMsg(); SocketMsg<String> socketMsg = new SocketMsg<>();
switch (dictDataEnumByCode) { switch (dictDataEnumByCode) {
case SUCCESS: case SUCCESS:
//webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(MsgUtil.msgToWebData(socketDataMsg,devNameMapComm,1))); //webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(MsgUtil.msgToWebData(socketDataMsg,devNameMapComm,1)));
@@ -442,15 +442,15 @@ public class SocketDevResponseService {
String data = socketDataMsg.getData(); String data = socketDataMsg.getData();
DevData devData = JSON.parseObject(data, DevData.class); DevData devData = JSON.parseObject(data, DevData.class);
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode()); SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
SourceIssue sourceIssue = SocketManager.getSourceList().get(0); SourceIssue sourceIssue = SocketManager.getSourceList().get(0);
test(devData, dictDataEnumByCode, sourceIssue, socketDataMsg, param);
realDonging(devData, dictDataEnumByCode, sourceIssue, socketDataMsg, param);
} }
public void test(DevData devData, SourceResponseCodeEnum dictDataEnumByCode, SourceIssue sourceIssue, SocketDataMsg socketDataMsg, PreDetectionParam param) { public void realDonging(DevData devData, SourceResponseCodeEnum dictDataEnumByCode, SourceIssue sourceIssue, SocketDataMsg socketDataMsg, PreDetectionParam param) {
if (ObjectUtil.isNotNull(dictDataEnumByCode)) { if (ObjectUtil.isNotNull(dictDataEnumByCode)) {
SocketMsg<String> socketMsg = new SocketMsg<>(); SocketMsg<String> socketMsg = new SocketMsg<>();
switch (dictDataEnumByCode) { switch (dictDataEnumByCode) {
@@ -461,6 +461,9 @@ public class SocketDevResponseService {
System.out.println("获取devData数量............." + devDataList.size()); System.out.println("获取devData数量............." + devDataList.size());
if (successComm.size() == monitorIdListComm.size()) { if (successComm.size() == monitorIdListComm.size()) {
//TODO 理论上遇到返回code10200的数量与监测点数量一致则认为数据返回结束但是会存在缺失数据情况,例如有部分装置是没有暂降功能的
System.out.println(sourceIssue.getType() +"_"+ sourceIssue.getIndex() + "当前测试小项读取数据已经全部结束。。。。。。。。。"); System.out.println(sourceIssue.getType() +"_"+ sourceIssue.getIndex() + "当前测试小项读取数据已经全部结束。。。。。。。。。");
//原始数据入库 //原始数据入库
@@ -501,6 +504,7 @@ public class SocketDevResponseService {
webSocketVO.setData(devListRes); webSocketVO.setData(devListRes);
webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO)); webSocketHandler.sendMsgToUser(param.getUserPageId(), JSON.toJSONString(webSocketVO));
} }
System.out.println("当前小项结束进行删除============"+sourceIssue.getType()+"_"+sourceIssue.getIndex()); System.out.println("当前小项结束进行删除============"+sourceIssue.getType()+"_"+sourceIssue.getIndex());
@@ -517,6 +521,9 @@ public class SocketDevResponseService {
xuMsg.setData(JSON.toJSONString(sourceIssues)); xuMsg.setData(JSON.toJSONString(sourceIssues));
xuMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + "&&" + sourceIssues.getType()); xuMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + "&&" + sourceIssues.getType());
SocketManager.sendMsg(param.getUserPageId() + handlerSourceStr, MsgUtil.toJsonWithNewLinePlain(xuMsg)); SocketManager.sendMsg(param.getUserPageId() + handlerSourceStr, MsgUtil.toJsonWithNewLinePlain(xuMsg));
}else {
//TODO 是否最终检测完成需要推送给用户
quitSend(param);
} }
successComm.clear(); successComm.clear();
@@ -557,13 +564,13 @@ public class SocketDevResponseService {
private void quitDeal(SocketDataMsg socketDataMsg, PreDetectionParam param, String msg) { private void quitDeal(SocketDataMsg socketDataMsg, PreDetectionParam param, String msg) {
SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode()); SourceResponseCodeEnum dictDataEnumByCode = SourceResponseCodeEnum.getDictDataEnumByCode(socketDataMsg.getCode());
SourceOperateCodeEnum operateCodeEnum = SourceOperateCodeEnum.getDictDataEnumByCode(socketDataMsg.getOperateCode()); SourceOperateCodeEnum operateCodeEnum = SourceOperateCodeEnum.getDictDataEnumByCode(socketDataMsg.getOperateCode());
SocketMsg socketMsg = new SocketMsg(); SocketMsg<String> socketMsg = new SocketMsg<>();
String s = param.getUserPageId() + handlerStr; String s = param.getUserPageId() + handlerStr;
switch (dictDataEnumByCode) { switch (Objects.requireNonNull(dictDataEnumByCode)) {
case SUCCESS: case SUCCESS:
//通讯校验成功 //通讯校验成功
switch (operateCodeEnum) { switch (Objects.requireNonNull(operateCodeEnum)) {
case QUIT_INIT_01: case QUIT_INIT_01:
//关闭所有 //关闭所有
SocketManager.removeUser(s); SocketManager.removeUser(s);
@@ -579,6 +586,8 @@ public class SocketDevResponseService {
socketMsg.setOperateCode("QUIT_FUNEND$02"); socketMsg.setOperateCode("QUIT_FUNEND$02");
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg)); SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
break; break;
default:
} }
break; break;
case UNPROCESSED_BUSINESS: case UNPROCESSED_BUSINESS:
@@ -733,7 +742,6 @@ public class SocketDevResponseService {
this.success = new ArrayList<>(); this.success = new ArrayList<>();
this.devDataMap = new HashMap<>(); this.devDataMap = new HashMap<>();
this.adNonHarmonicResultList.clear();
this.devDataList.clear(); this.devDataList.clear();
this.devList.clear(); this.devList.clear();
@@ -745,6 +753,10 @@ public class SocketDevResponseService {
this.devNameMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName)); this.devNameMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName));
this.devIdMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevId)); this.devIdMapComm = pqDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevId));
//初始化有效数据数
Map<String, SysRegResVO> sysRegResMap = iSysRegResService.listRegRes();
} }
@@ -756,7 +768,6 @@ public class SocketDevResponseService {
*/ */
private void baseDataInsert(List<DevData> devDataList,SourceIssue sourceIssue,PreDetectionParam param){ private void baseDataInsert(List<DevData> devDataList,SourceIssue sourceIssue,PreDetectionParam param){
Runnable runnable = () -> { Runnable runnable = () -> {
DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME; // ISO 8601格式
List<AdNonHarmonicResult> adNonHarmonicResultList = new ArrayList<>(); List<AdNonHarmonicResult> adNonHarmonicResultList = new ArrayList<>();
List<AdHarmonicResult> adHarmonicResultList = new ArrayList<>(); List<AdHarmonicResult> adHarmonicResultList = new ArrayList<>();
@@ -764,17 +775,18 @@ public class SocketDevResponseService {
LocalDateTime localDateTime = timeFormat(data.getTime(),formatter); LocalDateTime localDateTime = timeFormat(data.getTime(),formatter);
if(Objects.nonNull(localDateTime)){ if(Objects.nonNull(localDateTime)){
if(Stream.of("FREQ","V","IMBA","P","I","IMBV").collect(Collectors.toList()).contains(sourceIssue.getType())){ String[] splitArr = data.getId().split("_");
String temId = devDataMap.get(splitArr[0]).getId()+"_"+splitArr[1];
if(nonHarmonicList.contains(sourceIssue.getType())){
AdNonHarmonicResult adNonHarmonicResult = new AdNonHarmonicResult(); AdNonHarmonicResult adNonHarmonicResult = new AdNonHarmonicResult();
adNonHarmonicResult.setTimeId(localDateTime); adNonHarmonicResult.setTimeId(localDateTime);
adNonHarmonicResult.setMonitorId(data.getId()); adNonHarmonicResult.setMonitorId(temId);
adNonHarmonicResult.setScriptId(param.getScriptId()); adNonHarmonicResult.setScriptId(param.getScriptId());
adNonHarmonicResult.setSort(sourceIssue.getIndex()); adNonHarmonicResult.setSort(sourceIssue.getIndex());
adNonHarmonicResult.setAdType(sourceIssue.getId()); adNonHarmonicResult.setAdType(sourceIssue.getId());
adNonHarmonicResult.setDataType("avg"); adNonHarmonicResult.setDataType("avg");
DevData.SqlDataDTO.ListDTO tem = data.getSqlData().get(0).getList(); DevData.SqlDataDTO.ListDTO tem = data.getSqlData().get(0).getList();
Double a = tem.getA(); Double a = tem.getA();
Double b = tem.getB(); Double b = tem.getB();
Double c = tem.getC(); Double c = tem.getC();
@@ -793,27 +805,31 @@ public class SocketDevResponseService {
} }
adNonHarmonicResultList.add(adNonHarmonicResult); adNonHarmonicResultList.add(adNonHarmonicResult);
}else { }else {
//DevData.SqlDataDTO.ListDTO vvv = data.getSqlData().get(0).getList();
AdHarmonicResult adHarmonicResult = new AdHarmonicResult(); AdHarmonicResult adHarmonicResult = new AdHarmonicResult();
adHarmonicResult.setTimeId(localDateTime); adHarmonicResult.setTimeId(localDateTime);
adHarmonicResult.setMonitorId(data.getId());
adHarmonicResult.setMonitorId(temId);
adHarmonicResult.setScriptId(param.getScriptId()); adHarmonicResult.setScriptId(param.getScriptId());
adHarmonicResult.setSort(sourceIssue.getIndex()); adHarmonicResult.setSort(sourceIssue.getIndex());
adHarmonicResult.setAdType(sourceIssue.getId()); adHarmonicResult.setAdType(sourceIssue.getId());
adHarmonicResult.setDataType("avg"); adHarmonicResult.setDataType("avg");
/* Double aV = vvv.getA(); if(DicDataEnum.HI.getCode().equals(sourceIssue.getType())||DicDataEnum.HSI.getCode().equals(sourceIssue.getType())){
DevData.SqlDataDTO.ListDTO vvv = data.getSqlData().get(0).getList();
Double aV = vvv.getA();
Double bV = vvv.getB(); Double bV = vvv.getB();
Double cV = vvv.getC(); Double cV = vvv.getC();
if (Objects.nonNull(aV)) { if (Objects.nonNull(aV)) {
adHarmonicResult.setAValue1(aV.toString()); adHarmonicResult.setAValue1(String.format("%.7f", aV));
} }
if (Objects.nonNull(bV)) { if (Objects.nonNull(bV)) {
adHarmonicResult.setBValue1(bV.toString()); adHarmonicResult.setBValue1(String.format("%.7f", bV));
} }
if (Objects.nonNull(cV)) { if (Objects.nonNull(cV)) {
adHarmonicResult.setCValue1(cV.toString()); adHarmonicResult.setCValue1(String.format("%.7f", cV));
}*/ }
}
DevData.SqlDataHarmDTO.ListDTO tem = data.getSqlDataHarm().get(0).getList(); DevData.SqlDataHarmDTO.ListDTO tem = data.getSqlDataHarm().get(0).getList();
List<String> a = tem.getA(); List<String> a = tem.getA();
List<String> b = tem.getB(); List<String> b = tem.getB();
@@ -841,7 +857,6 @@ public class SocketDevResponseService {
} }
adHarmonicResultList.add(adHarmonicResult); adHarmonicResultList.add(adHarmonicResult);
} }
} }
} }

View File

@@ -205,8 +205,8 @@ public class SocketSourceResponseService {
System.out.println("向装置下发的参数"+comm); System.out.println("向装置下发的参数"+comm);
phaseSequenceParam.setMoniterIdList(moniterIdList); phaseSequenceParam.setMoniterIdList(moniterIdList);
phaseSequenceParam.setDataType(comm); phaseSequenceParam.setDataType(comm);
phaseSequenceParam.setReadCount(2); phaseSequenceParam.setReadCount(1);
phaseSequenceParam.setIgnoreCount(10); phaseSequenceParam.setIgnoreCount(1);
socketMsg.setData(JSON.toJSONString(phaseSequenceParam)); socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg)); SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));

View File

@@ -22,6 +22,16 @@ public class PreDetectionParam {
*/ */
private String planId; private String planId;
/**
* 检测计划code
*/
private String planCode;
/**
* 数字、模拟、比对
*/
private String pattern;
/** /**
* 用户功能组成唯一标识 zhangsan_test * 用户功能组成唯一标识 zhangsan_test
*/ */

View File

@@ -236,7 +236,7 @@ public class DetectionServiceImpl {
DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, channelTypeCList.get(0).getFAmp(), dataRule); DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, channelTypeCList.get(0).getFAmp(), dataRule);
result.setCValue(c.getData() + "_" + c.getIsData()+"_"+c.getResultData()); result.setCValue(c.getData() + "_" + c.getIsData()+"_"+c.getResultData());
List<Integer> numbers = Arrays.asList(a.getIsData(), b.getIsData(), a.getIsData()).stream().distinct().collect(Collectors.toList()); List<Integer> numbers = Arrays.asList(a.getIsData(), b.getIsData(), c.getIsData()).stream().distinct().collect(Collectors.toList());
return getAdNonHarmonicResult(result, numbers); return getAdNonHarmonicResult(result, numbers);
} }
return result; return result;
@@ -280,8 +280,8 @@ public class DetectionServiceImpl {
harmonicResult.setAdType(pqErrSysDtls.get(0).getScriptType()); harmonicResult.setAdType(pqErrSysDtls.get(0).getScriptType());
harmonicResult.setDataType("avg"); harmonicResult.setDataType("avg");
reflectHarmonic("a", integerBooleanA, harmonicResult); reflectHarmonic("a", integerBooleanA, harmonicResult);
reflectHarmonic("b", integerBooleanA, harmonicResult); reflectHarmonic("b", integerBooleanB, harmonicResult);
reflectHarmonic("c", integerBooleanA, harmonicResult); reflectHarmonic("c", integerBooleanC, harmonicResult);
List<Integer> list = new ArrayList<>(); List<Integer> list = new ArrayList<>();
list.addAll(integerBooleanA.stream().map(DetectionData::getIsData).distinct().collect(Collectors.toList())); list.addAll(integerBooleanA.stream().map(DetectionData::getIsData).distinct().collect(Collectors.toList()));
list.addAll(integerBooleanB.stream().map(DetectionData::getIsData).distinct().collect(Collectors.toList())); list.addAll(integerBooleanB.stream().map(DetectionData::getIsData).distinct().collect(Collectors.toList()));
@@ -346,9 +346,9 @@ public class DetectionServiceImpl {
.filter(x -> TYPE_C.equals(x.getPhase())) .filter(x -> TYPE_C.equals(x.getPhase()))
.collect(Collectors.toList()); .collect(Collectors.toList());
DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, channelTypeCList.get(0).getValue(), dataRule); DetectionData c = rangeComparisonList(map.get(TYPE_C), pqErrSysDtls, fData, channelTypeCList.get(0).getValue(), dataRule);
result.setCValue(c.getData() + "_" + c.getIsData()+"_"+b.getResultData()); result.setCValue(c.getData() + "_" + c.getIsData()+"_"+c.getResultData());
List<Integer> numbers = Arrays.asList(a.getIsData(), b.getIsData(), a.getIsData()); List<Integer> numbers = Arrays.asList(a.getIsData(), b.getIsData(), c.getIsData());
return getAdNonHarmonicResult(result, numbers); return getAdNonHarmonicResult(result, numbers);
}else{ }else{
List<PqScriptCheckData> channelTypeBList = checkData.stream() List<PqScriptCheckData> channelTypeBList = checkData.stream()
@@ -467,7 +467,7 @@ public class DetectionServiceImpl {
DetectionData c = rangeComparisonList(mag.get(TYPE_C), magErrList, fData, retainCTime, dataRule); DetectionData c = rangeComparisonList(mag.get(TYPE_C), magErrList, fData, retainCTime, dataRule);
result.setCValue(c.getData() + "_" + c.getIsData()+"_"+c.getResultData()); result.setCValue(c.getData() + "_" + c.getIsData()+"_"+c.getResultData());
List<Integer> numbers = Arrays.asList(a.getIsData(), b.getIsData(), a.getIsData()).stream().distinct().collect(Collectors.toList()); List<Integer> numbers = Arrays.asList(a.getIsData(), b.getIsData(), c.getIsData()).stream().distinct().collect(Collectors.toList());
return getAdNonHarmonicResult(result, numbers); return getAdNonHarmonicResult(result, numbers);
} }
@@ -525,7 +525,7 @@ public class DetectionServiceImpl {
.sorted(Comparator.comparing(Double::doubleValue).reversed()) .sorted(Comparator.comparing(Double::doubleValue).reversed())
.collect(Collectors.toList()); .collect(Collectors.toList());
b = list.stream() b = list.stream()
.filter(x -> ObjectUtil.isNotNull(x.getA())) .filter(x -> ObjectUtil.isNotNull(x.getB()))
.map(DevData.SqlDataDTO.ListDTO::getB) .map(DevData.SqlDataDTO.ListDTO::getB)
.sorted(Comparator.comparing(Double::doubleValue).reversed()) .sorted(Comparator.comparing(Double::doubleValue).reversed())
.collect(Collectors.toList()); .collect(Collectors.toList());

View File

@@ -75,6 +75,8 @@ public class SocketManager {
*/ */
private static List<SourceIssue> sourceIssueList = new CopyOnWriteArrayList<>(); private static List<SourceIssue> sourceIssueList = new CopyOnWriteArrayList<>();
private static volatile Boolean paused = false;
public static void addSourceList(List<SourceIssue> sList) { public static void addSourceList(List<SourceIssue> sList) {

View File

@@ -44,7 +44,7 @@ public class NettyClient {
ch.pipeline() ch.pipeline()
//空闲状态的handler //空闲状态的handler
// 添加LineBasedFrameDecoder来按行分割数据 // 添加LineBasedFrameDecoder来按行分割数据
// .addLast(new LineBasedFrameDecoder(10240)) .addLast(new LineBasedFrameDecoder(10240))
.addLast(new IdleStateHandler(20, 0, 0, TimeUnit.SECONDS)) .addLast(new IdleStateHandler(20, 0, 0, TimeUnit.SECONDS))
.addLast(new StringDecoder(CharsetUtil.UTF_8)) .addLast(new StringDecoder(CharsetUtil.UTF_8))
.addLast(new StringEncoder(CharsetUtil.UTF_8)) .addLast(new StringEncoder(CharsetUtil.UTF_8))

View File

@@ -12,15 +12,16 @@ public enum DicDataEnum {
FREQ("FREQ","频率"), FREQ("FREQ","频率"),
V("V","电压"), V("V","电压"),
I("I","电流"),
IMBV("IMBV","三相电压不平衡度"),
IMBA("IMBA","三相电流不平衡度"),
HV("HV","谐波电压"), HV("HV","谐波电压"),
HI("HI","谐波电流"), HI("HI","谐波电流"),
HP("HP","谐波有功功率"), HP("HP","谐波有功功率"),
HSV("HSV","间谐波电压"), HSV("HSV","间谐波电压"),
HSI("V","间谐波电流"), HSI("V","间谐波电流"),
VOLTAGE("VOLTAGE","暂态"), VOLTAGE("VOLTAGE","暂态"),
I("I","电流"),
IMBV("IMBV","三相电压不平衡度"),
IMBA("IMBA","三相电流不平衡度"),
F("F","闪变"), F("F","闪变"),