增加部分教学模式,微调部分代码,增加原始数据转换工具类
This commit is contained in:
@@ -34,7 +34,6 @@ import org.springframework.web.bind.annotation.*;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -71,6 +70,32 @@ public class PreDetectionController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 关闭检测
|
||||||
|
*/
|
||||||
|
@PostMapping("/closeCheck")
|
||||||
|
@OperateInfo
|
||||||
|
@ApiOperation("关闭检测")
|
||||||
|
@ApiImplicitParam(name = "param", value = "查询参数", required = true)
|
||||||
|
public HttpResult<String> closeCheck(@RequestBody @Validated PreDetectionParam param){
|
||||||
|
String methodDescribe = getMethodDescribe("closeCheck");
|
||||||
|
preDetectionService.closeCheck(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 下一步检测
|
||||||
|
*/
|
||||||
|
@PostMapping("/nextScript")
|
||||||
|
@OperateInfo
|
||||||
|
@ApiOperation("下一步检测")
|
||||||
|
@ApiImplicitParam(name = "param", value = "查询参数", required = true)
|
||||||
|
public HttpResult<String> nextScript(@RequestBody @Validated PreDetectionParam param){
|
||||||
|
String methodDescribe = getMethodDescribe("nextScript");
|
||||||
|
preDetectionService.nextScript(param);
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系数校验
|
* 系数校验
|
||||||
|
|||||||
@@ -149,8 +149,6 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系数校验
|
* 系数校验
|
||||||
*/
|
*/
|
||||||
@@ -270,7 +268,7 @@ public class SocketDevResponseService {
|
|||||||
successComm.add(devData.getId());
|
successComm.add(devData.getId());
|
||||||
System.out.println(successComm.size() + " ==" + FormalTestManager.monitorIdListComm.size() + "FormalTestManager.realDataXiList:" + FormalTestManager.realDataXiList.size() + "当前步骤" + XiNumberManager.stepNumber);
|
System.out.println(successComm.size() + " ==" + FormalTestManager.monitorIdListComm.size() + "FormalTestManager.realDataXiList:" + FormalTestManager.realDataXiList.size() + "当前步骤" + XiNumberManager.stepNumber);
|
||||||
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
if (successComm.size() == FormalTestManager.monitorIdListComm.size()) {
|
||||||
processData(param,xiSocket);
|
processData(param, xiSocket);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -298,26 +296,25 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void processData(PreDetectionParam param, SocketMsg<String> xiSocket) {
|
||||||
private void processData(PreDetectionParam param,SocketMsg<String> xiSocket) {
|
System.out.println(XiNumberManager.stepNumber + "从装置中已经完成获取测试数据,准备开始计算----------------------");
|
||||||
System.out.println(XiNumberManager.stepNumber+"从装置中已经完成获取测试数据,准备开始计算----------------------");
|
|
||||||
Map<String, List<DevData>> realDataXiMap = FormalTestManager.realDataXiList.stream().collect(Collectors.groupingBy(it -> it.getId().split(splitTag)[0]));
|
Map<String, List<DevData>> realDataXiMap = FormalTestManager.realDataXiList.stream().collect(Collectors.groupingBy(it -> it.getId().split(splitTag)[0]));
|
||||||
realDataXiMap.forEach((devIp, dataList) -> processDeviceData(devIp, dataList,param));
|
realDataXiMap.forEach((devIp, dataList) -> processDeviceData(devIp, dataList, param));
|
||||||
|
|
||||||
handleStep(XiNumberManager.stepNumber,param,xiSocket);
|
handleStep(XiNumberManager.stepNumber, param, xiSocket);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void handleStep(int stepNumber, PreDetectionParam param,SocketMsg<String> xiSocket) {
|
private void handleStep(int stepNumber, PreDetectionParam param, SocketMsg<String> xiSocket) {
|
||||||
switch (stepNumber) {
|
switch (stepNumber) {
|
||||||
case 0:
|
case 0:
|
||||||
sendModifyCoefficientCommand(param, xiSocket);
|
sendModifyCoefficientCommand(param, xiSocket);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
handleSmallVoltageStep(param,xiSocket);
|
handleSmallVoltageStep(param, xiSocket);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
handleBigVoltageStep(param,xiSocket);
|
handleBigVoltageStep(param, xiSocket);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
handleFinalStep(param);
|
handleFinalStep(param);
|
||||||
@@ -328,14 +325,14 @@ public class SocketDevResponseService {
|
|||||||
/**
|
/**
|
||||||
* 修改系数命令下发
|
* 修改系数命令下发
|
||||||
*/
|
*/
|
||||||
private void sendModifyCoefficientCommand(PreDetectionParam param,SocketMsg<String> xiSocket) {
|
private void sendModifyCoefficientCommand(PreDetectionParam param, SocketMsg<String> xiSocket) {
|
||||||
xiSocket.setRequestId(SourceOperateCodeEnum.Coefficient_Check.getValue());
|
xiSocket.setRequestId(SourceOperateCodeEnum.Coefficient_Check.getValue());
|
||||||
xiSocket.setOperateCode(SourceOperateCodeEnum.DATA_CHNFACTOR$02.getValue());
|
xiSocket.setOperateCode(SourceOperateCodeEnum.DATA_CHNFACTOR$02.getValue());
|
||||||
xiSocket.setData(JSON.toJSONString(XiNumberManager.devXiNumDataMap.get(XiNumberManager.devXiList.get(0))));
|
xiSocket.setData(JSON.toJSONString(XiNumberManager.devXiNumDataMap.get(XiNumberManager.devXiList.get(0))));
|
||||||
SocketManager.sendMsg(param.getUserPageId() + handlerStr, JSON.toJSONString(xiSocket));
|
SocketManager.sendMsg(param.getUserPageId() + handlerStr, JSON.toJSONString(xiSocket));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleSmallVoltageStep(PreDetectionParam param,SocketMsg<String> xiSocket) {
|
private void handleSmallVoltageStep(PreDetectionParam param, SocketMsg<String> xiSocket) {
|
||||||
System.out.println("进入小电压步骤》》》》》》》》》》》》》》》》》》》》》》》》");
|
System.out.println("进入小电压步骤》》》》》》》》》》》》》》》》》》》》》》》》");
|
||||||
double limit = 0.1;
|
double limit = 0.1;
|
||||||
XiNumberManager.smallDevXiNumDataMap.forEach((devIp, devXiNumDataSmall) -> {
|
XiNumberManager.smallDevXiNumDataMap.forEach((devIp, devXiNumDataSmall) -> {
|
||||||
@@ -365,7 +362,7 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void handleBigVoltageStep(PreDetectionParam param,SocketMsg<String> xiSocket){
|
private void handleBigVoltageStep(PreDetectionParam param, SocketMsg<String> xiSocket) {
|
||||||
//大电压处理
|
//大电压处理
|
||||||
sendWebSocket(param.getUserPageId(), SourceOperateCodeEnum.Coefficient_Check.getValue(), SourceOperateCodeEnum.big_comp_end.getValue(), XiNumberManager.devParameterList.get(0));
|
sendWebSocket(param.getUserPageId(), SourceOperateCodeEnum.Coefficient_Check.getValue(), SourceOperateCodeEnum.big_comp_end.getValue(), XiNumberManager.devParameterList.get(0));
|
||||||
sendWebSocket(param.getUserPageId(), SourceOperateCodeEnum.Coefficient_Check.getValue(), SourceOperateCodeEnum.small_comp_start.getValue(), XiNumberManager.devParameterList.get(1));
|
sendWebSocket(param.getUserPageId(), SourceOperateCodeEnum.Coefficient_Check.getValue(), SourceOperateCodeEnum.small_comp_start.getValue(), XiNumberManager.devParameterList.get(1));
|
||||||
@@ -378,7 +375,7 @@ public class SocketDevResponseService {
|
|||||||
successComm.clear();
|
successComm.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleFinalStep(PreDetectionParam param){
|
private void handleFinalStep(PreDetectionParam param) {
|
||||||
sendWebSocket(param.getUserPageId(), SourceOperateCodeEnum.Coefficient_Check.getValue(), SourceOperateCodeEnum.small_comp_end.getValue(), XiNumberManager.devParameterList.get(1));
|
sendWebSocket(param.getUserPageId(), SourceOperateCodeEnum.Coefficient_Check.getValue(), SourceOperateCodeEnum.small_comp_end.getValue(), XiNumberManager.devParameterList.get(1));
|
||||||
System.out.println("-------------------------已经全部结束----------------------");
|
System.out.println("-------------------------已经全部结束----------------------");
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
@@ -446,7 +443,7 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void processDeviceData(String devIp, List<DevData> dataList,PreDetectionParam param) {
|
private void processDeviceData(String devIp, List<DevData> dataList, PreDetectionParam param) {
|
||||||
AtomicBoolean xiFlag = new AtomicBoolean(true);
|
AtomicBoolean xiFlag = new AtomicBoolean(true);
|
||||||
XiNumberManager.devXiList.add(devIp);
|
XiNumberManager.devXiList.add(devIp);
|
||||||
|
|
||||||
@@ -468,7 +465,7 @@ public class SocketDevResponseService {
|
|||||||
DevXiNumData.GF gfItem = createGFItem(monitorId, F);
|
DevXiNumData.GF gfItem = createGFItem(monitorId, F);
|
||||||
gf.add(gfItem);
|
gf.add(gfItem);
|
||||||
//表格数据
|
//表格数据
|
||||||
CnSocketUtil.sendToWebSocket(param.getUserPageId(),SourceOperateCodeEnum.Coefficient_Check.getValue(),SourceOperateCodeEnum.DATA_CHNFACTOR$02.getValue(),coefficientVO,null);
|
CnSocketUtil.sendToWebSocket(param.getUserPageId(), SourceOperateCodeEnum.Coefficient_Check.getValue(), SourceOperateCodeEnum.DATA_CHNFACTOR$02.getValue(), coefficientVO, null);
|
||||||
});
|
});
|
||||||
|
|
||||||
DevXiNumData devXiNumData = createDevXiNumData(devIp, gf, xiFlag.get());
|
DevXiNumData devXiNumData = createDevXiNumData(devIp, gf, xiFlag.get());
|
||||||
@@ -785,7 +782,7 @@ public class SocketDevResponseService {
|
|||||||
StorageParam storageParam = new StorageParam();
|
StorageParam storageParam = new StorageParam();
|
||||||
storageParam.setCode(Integer.valueOf(param.getCode()));
|
storageParam.setCode(Integer.valueOf(param.getCode()));
|
||||||
storageParam.setScriptId(param.getScriptId());
|
storageParam.setScriptId(param.getScriptId());
|
||||||
List<Integer> indexes = adHarmonicService.getIndex(storageParam,true);
|
List<Integer> indexes = adHarmonicService.getIndex(storageParam, true);
|
||||||
issueParam.setIndexList(indexes);
|
issueParam.setIndexList(indexes);
|
||||||
issueParam.setIsPhaseSequence(SourceOperateCodeEnum.COEFFICIENT_TEST.getValue());
|
issueParam.setIsPhaseSequence(SourceOperateCodeEnum.COEFFICIENT_TEST.getValue());
|
||||||
} else {
|
} else {
|
||||||
@@ -948,7 +945,6 @@ public class SocketDevResponseService {
|
|||||||
SocketManager.sendMsg(param.getUserPageId() + handlerStr, JSON.toJSONString(socketMsg));
|
SocketManager.sendMsg(param.getUserPageId() + handlerStr, JSON.toJSONString(socketMsg));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
XiNumberManager.stepNumber = 0;
|
XiNumberManager.stepNumber = 0;
|
||||||
XiNumberManager.devXiList.clear();
|
XiNumberManager.devXiList.clear();
|
||||||
XiNumberManager.devXiNumDataMap.clear();
|
XiNumberManager.devXiNumDataMap.clear();
|
||||||
@@ -1047,7 +1043,7 @@ public class SocketDevResponseService {
|
|||||||
allDevTestList.clear();
|
allDevTestList.clear();
|
||||||
CnSocketUtil.sendToWebSocket(param.getUserPageId(), socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd, null, resultList, null);
|
CnSocketUtil.sendToWebSocket(param.getUserPageId(), socketDataMsg.getRequestId().split(stepTag)[1] + stepEnd, null, resultList, null);
|
||||||
}
|
}
|
||||||
|
if (!param.getIsTeachingMode()) {
|
||||||
//在这一步判断是否已经触发暂停按钮
|
//在这一步判断是否已经触发暂停按钮
|
||||||
if (FormalTestManager.stopFlag && CollUtil.isNotEmpty(SocketManager.getSourceList())) {
|
if (FormalTestManager.stopFlag && CollUtil.isNotEmpty(SocketManager.getSourceList())) {
|
||||||
FormalTestManager.stopTime = 0;
|
FormalTestManager.stopTime = 0;
|
||||||
@@ -1081,6 +1077,7 @@ public class SocketDevResponseService {
|
|||||||
iPqDevService.updateResult(param.getDevIds(), valueType, param.getCode());
|
iPqDevService.updateResult(param.getDevIds(), valueType, param.getCode());
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
successComm.clear();
|
successComm.clear();
|
||||||
FormalTestManager.realDataXiList.clear();
|
FormalTestManager.realDataXiList.clear();
|
||||||
|
|
||||||
@@ -1111,6 +1108,8 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
private void processData(List<DevData> FormalTestManager.realDataXiList, List<String> successComm, SourceIssue sourceIssue, PreDetectionParam param, SocketDataMsg socketDataMsg, Object dataRule, String handlerSourceStr) {
|
private void processData(List<DevData> FormalTestManager.realDataXiList, List<String> successComm, SourceIssue sourceIssue, PreDetectionParam param, SocketDataMsg socketDataMsg, Object dataRule, String handlerSourceStr) {
|
||||||
if (SocketManager.clockMap.containsKey(sourceIssue.getIndex())) {
|
if (SocketManager.clockMap.containsKey(sourceIssue.getIndex())) {
|
||||||
|
|||||||
@@ -61,4 +61,9 @@ public class PreDetectionParam {
|
|||||||
* 自动生成,用于生成数据表后缀
|
* 自动生成,用于生成数据表后缀
|
||||||
*/
|
*/
|
||||||
private String code;
|
private String code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否是教学模式
|
||||||
|
*/
|
||||||
|
private Boolean isTeachingMode=false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ public interface PreDetectionService {
|
|||||||
|
|
||||||
boolean restartTemTest(PreDetectionParam param);
|
boolean restartTemTest(PreDetectionParam param);
|
||||||
|
|
||||||
|
void closeCheck(PreDetectionParam param);
|
||||||
|
|
||||||
|
void nextScript(PreDetectionParam param);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,10 +42,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.*;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
@@ -198,6 +195,39 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void closeCheck(PreDetectionParam param) {
|
||||||
|
commCheck(param);
|
||||||
|
specialDeal(param);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void nextScript(PreDetectionParam param) {
|
||||||
|
//开始进行下一项检测
|
||||||
|
SourceIssue sourceIssue = SocketManager.getSourceList().get(0);
|
||||||
|
long residueCount = SocketManager.getSourceTarget(sourceIssue.getType()) - 1;
|
||||||
|
List<SourceIssue> sourceIssueList = SocketManager.getSourceList();
|
||||||
|
if (CollUtil.isNotEmpty(sourceIssueList)) {
|
||||||
|
SourceIssue sourceIssues = SocketManager.getSourceList().get(0);
|
||||||
|
if (residueCount == 0) {
|
||||||
|
CnSocketUtil.sendToWebSocket(param.getUserPageId(), sourceIssues.getType() + "_Start", null, new ArrayList<>(), null);
|
||||||
|
}
|
||||||
|
SocketMsg<String> xuMsg = new SocketMsg<>();
|
||||||
|
xuMsg.setOperateCode(SourceOperateCodeEnum.OPER_GATHER.getValue());
|
||||||
|
xuMsg.setData(JSON.toJSONString(sourceIssues));
|
||||||
|
xuMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue() + "&&" + sourceIssues.getType());
|
||||||
|
SocketManager.sendMsg(param.getUserPageId() + "_Source", JSON.toJSONString(xuMsg));
|
||||||
|
} else {
|
||||||
|
//TODO 是否最终检测完成需要推送给用户
|
||||||
|
PqScriptCheckDataParam checkDataParam = new PqScriptCheckDataParam();
|
||||||
|
checkDataParam.setScriptId(param.getScriptId());
|
||||||
|
checkDataParam.setIsValueTypeName(false);
|
||||||
|
List<String> valueType = iPqScriptCheckDataService.getValueType(checkDataParam);
|
||||||
|
iPqDevService.updateResult(param.getDevIds(), valueType, param.getCode());
|
||||||
|
CnSocketUtil.quitSend(param);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 对重复发起或者异常发起的检测进行关闭源操作
|
* 对重复发起或者异常发起的检测进行关闭源操作
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public class FormalTestManager {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
//用于存储所有测点的试试数据
|
//用于存储所有测点的实时数据
|
||||||
public static List<DevData> realDataXiList = new ArrayList<>();
|
public static List<DevData> realDataXiList = new ArrayList<>();
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,14 +1,21 @@
|
|||||||
package com.njcn.gather.detection.util.socket;
|
package com.njcn.gather.detection.util.socket;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||||
import com.njcn.gather.detection.pojo.enums.SourceOperateCodeEnum;
|
import com.njcn.gather.detection.pojo.po.DevData;
|
||||||
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
|
|
||||||
import com.njcn.gather.detection.pojo.vo.SocketDataMsg;
|
import com.njcn.gather.detection.pojo.vo.SocketDataMsg;
|
||||||
import com.njcn.gather.detection.pojo.vo.SocketMsg;
|
import com.njcn.gather.storage.pojo.po.AdHarmonicResult;
|
||||||
|
import com.njcn.gather.storage.pojo.po.AdNonHarmonicResult;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wr
|
* @author wr
|
||||||
@@ -19,9 +26,8 @@ import java.util.Map;
|
|||||||
public class MsgUtil {
|
public class MsgUtil {
|
||||||
|
|
||||||
|
|
||||||
|
public static SocketDataMsg socketDataMsg(String textMsg) {
|
||||||
public static SocketDataMsg socketDataMsg(String textMsg){
|
return JSON.parseObject(textMsg, SocketDataMsg.class);
|
||||||
return JSON.parseObject(textMsg,SocketDataMsg.class);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -46,13 +52,12 @@ public class MsgUtil {
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* @param socketDataMsg
|
* @param socketDataMsg
|
||||||
* @param devMap
|
* @param devMap
|
||||||
* @param type 0.装置 1.监测点
|
* @param type 0.装置 1.监测点
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static String msgToWebData(SocketDataMsg socketDataMsg, Map<String,String> devMap,Integer type){
|
public static String msgToWebData(SocketDataMsg socketDataMsg, Map<String, String> devMap, Integer type) {
|
||||||
String data = socketDataMsg.getData();
|
String data = socketDataMsg.getData();
|
||||||
if (StrUtil.isNotBlank(data)) {
|
if (StrUtil.isNotBlank(data)) {
|
||||||
String[] parts = data.split("_");
|
String[] parts = data.split("_");
|
||||||
@@ -60,10 +65,10 @@ public class MsgUtil {
|
|||||||
String key = parts[0];
|
String key = parts[0];
|
||||||
String newValue = devMap.get(key);
|
String newValue = devMap.get(key);
|
||||||
if (newValue != null) {
|
if (newValue != null) {
|
||||||
if(type == 0) {
|
if (type == 0) {
|
||||||
socketDataMsg.setData(newValue);
|
socketDataMsg.setData(newValue);
|
||||||
}else {
|
} else {
|
||||||
socketDataMsg.setData(newValue+"_"+parts[1]+"路");
|
socketDataMsg.setData(newValue + "_" + parts[1] + "路");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -71,6 +76,86 @@ public class MsgUtil {
|
|||||||
return JSON.toJSONString(socketDataMsg);
|
return JSON.toJSONString(socketDataMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<DevData> toList(List<AdNonHarmonicResult> nonHarm, List<AdHarmonicResult> harm) {
|
||||||
|
List<DevData> info = new ArrayList<>();
|
||||||
|
if (CollUtil.isNotEmpty(nonHarm)) {
|
||||||
|
if (CollUtil.isNotEmpty(nonHarm)) {
|
||||||
|
Map<String, List<AdNonHarmonicResult>> noHarmMap = nonHarm.stream()
|
||||||
|
.collect(Collectors.groupingBy(x -> x.getMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN)) + "_" + x.getSort()));
|
||||||
|
noHarmMap.forEach((key, value) -> {
|
||||||
|
String[] split = key.split("_");
|
||||||
|
DevData data = new DevData();
|
||||||
|
data.setTime(split[1]);
|
||||||
|
data.setId(split[0]);
|
||||||
|
List<DevData.SqlDataDTO> sqlDataDTOS = new ArrayList<>();
|
||||||
|
DevData.SqlDataDTO sqlDataDTO;
|
||||||
|
for (AdNonHarmonicResult result : value) {
|
||||||
|
sqlDataDTO = new DevData.SqlDataDTO();
|
||||||
|
sqlDataDTO.setType(result.getDataType());
|
||||||
|
sqlDataDTO.setDesc(result.getAdType());
|
||||||
|
DevData.SqlDataDTO.ListDTO listDTO = new DevData.SqlDataDTO.ListDTO();
|
||||||
|
listDTO.setA(StrUtil.isNotBlank(result.getAValue()) ? Double.valueOf(result.getAValue()) : null);
|
||||||
|
listDTO.setB(StrUtil.isNotBlank(result.getBValue()) ? Double.valueOf(result.getBValue()) : null);
|
||||||
|
listDTO.setC(StrUtil.isNotBlank(result.getCValue()) ? Double.valueOf(result.getCValue()) : null);
|
||||||
|
listDTO.setT(StrUtil.isNotBlank(result.getTValue()) ? Double.valueOf(result.getTValue()) : null);
|
||||||
|
sqlDataDTO.setList(listDTO);
|
||||||
|
sqlDataDTOS.add(sqlDataDTO);
|
||||||
|
}
|
||||||
|
data.setSqlData(sqlDataDTOS);
|
||||||
|
info.add(data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(harm)) {
|
||||||
|
Map<String, List<AdHarmonicResult>> harmMap = harm.stream()
|
||||||
|
.collect(Collectors.groupingBy(x -> x.getMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN))));
|
||||||
|
harmMap.forEach((key, value) -> {
|
||||||
|
List<DevData> collect = info.stream().filter(x -> key.equals(x.getId() + "_" + x.getTime())).collect(Collectors.toList());
|
||||||
|
List<DevData.SqlDataHarmDTO> sqlDataDTOS = new ArrayList<>();
|
||||||
|
DevData.SqlDataHarmDTO dataDTO;
|
||||||
|
for (AdHarmonicResult harmonicResult : value) {
|
||||||
|
dataDTO = new DevData.SqlDataHarmDTO();
|
||||||
|
dataDTO.setType(harmonicResult.getDataType());
|
||||||
|
dataDTO.setDesc(harmonicResult.getAdType());
|
||||||
|
dataDTO.setNum(49);
|
||||||
|
DevData.SqlDataHarmDTO.ListDTO listDTO = new DevData.SqlDataHarmDTO.ListDTO();
|
||||||
|
listDTO.setA(reflectHarmonicValue("a", harmonicResult));
|
||||||
|
listDTO.setB(reflectHarmonicValue("b", harmonicResult));
|
||||||
|
listDTO.setC(reflectHarmonicValue("c", harmonicResult));
|
||||||
|
dataDTO.setList(listDTO);
|
||||||
|
sqlDataDTOS.add(dataDTO);
|
||||||
|
}
|
||||||
|
if (CollUtil.isNotEmpty(collect)) {
|
||||||
|
collect.get(0).setSqlDataHarm(sqlDataDTOS);
|
||||||
|
} else {
|
||||||
|
String[] split = key.split("_");
|
||||||
|
DevData data = new DevData();
|
||||||
|
data.setTime(split[1]);
|
||||||
|
data.setId(split[0]);
|
||||||
|
data.setSqlDataHarm(sqlDataDTOS);
|
||||||
|
info.add(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return info;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<String> reflectHarmonicValue(String phase, AdHarmonicResult adHarmonicResult) {
|
||||||
|
List<String> info = new ArrayList<>();
|
||||||
|
for (int i = 2; i < 50; i++) {
|
||||||
|
String fieldName = phase + "Value" + i;
|
||||||
|
try {
|
||||||
|
Field idField = AdHarmonicResult.class.getDeclaredField(fieldName);
|
||||||
|
idField.setAccessible(true);
|
||||||
|
String value = idField.get(adHarmonicResult) + "";
|
||||||
|
info.add(value);
|
||||||
|
} catch (NoSuchFieldException | IllegalAccessException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return info;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user