录波功能完善
This commit is contained in:
@@ -1013,6 +1013,7 @@ public class SocketContrastResponseService {
|
|||||||
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送
|
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||||
// 修改设备状态
|
// 修改设备状态
|
||||||
|
|
||||||
pqDevService.updateResult(true, param.getDevIds(), adTypes, code, param.getUserId(), param.getTemperature(), param.getHumidity());
|
pqDevService.updateResult(true, param.getDevIds(), adTypes, code, param.getUserId(), param.getTemperature(), param.getHumidity());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1121,7 +1122,7 @@ public class SocketContrastResponseService {
|
|||||||
FormalTestManager.pairsIpMap,
|
FormalTestManager.pairsIpMap,
|
||||||
FormalTestManager.devIdMapComm,
|
FormalTestManager.devIdMapComm,
|
||||||
FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList()),
|
FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList()),
|
||||||
errorSysId, DictDataEnum.Own_value, FormalTestManager.numMap, code, FormalTestManager.waveNum);
|
errorSysId, FormalTestManager.dataRule, FormalTestManager.numMap, code, FormalTestManager.waveNum);
|
||||||
|
|
||||||
Map<String, List<DevLineTestResult>> deviceIdMap = allResultList.stream().collect(Collectors.groupingBy(DevLineTestResult::getDeviceId, Collectors.toList()));
|
Map<String, List<DevLineTestResult>> deviceIdMap = allResultList.stream().collect(Collectors.groupingBy(DevLineTestResult::getDeviceId, Collectors.toList()));
|
||||||
deviceIdMap.forEach((deviceId, devLineTestResultList) -> {
|
deviceIdMap.forEach((deviceId, devLineTestResultList) -> {
|
||||||
@@ -1190,7 +1191,7 @@ public class SocketContrastResponseService {
|
|||||||
|
|
||||||
List<String> adTypes = FormalTestManager.testItemMap.values().stream().collect(Collectors.toList());
|
List<String> adTypes = FormalTestManager.testItemMap.values().stream().collect(Collectors.toList());
|
||||||
// 修改设备状态
|
// 修改设备状态
|
||||||
pqDevService.updateResult(true, param.getDevIds(), adTypes, code, param.getUserId(), param.getTemperature(), param.getHumidity());
|
//pqDevService.updateResult(true, param.getDevIds(), adTypes, code, param.getUserId(), param.getTemperature(), param.getHumidity());
|
||||||
|
|
||||||
// 最终将检测结果推送到前端
|
// 最终将检测结果推送到前端
|
||||||
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());
|
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());
|
||||||
@@ -2177,7 +2178,8 @@ public class SocketContrastResponseService {
|
|||||||
WaveCommandDTO waveCommandDTO = new WaveCommandDTO();
|
WaveCommandDTO waveCommandDTO = new WaveCommandDTO();
|
||||||
waveCommandDTO.setIp(preDetection.getDevIP());
|
waveCommandDTO.setIp(preDetection.getDevIP());
|
||||||
waveCommandDTO.setPort(preDetection.getPort());
|
waveCommandDTO.setPort(preDetection.getPort());
|
||||||
waveCommandDTO.setOper("RDRE1$CO$RcdTrg$Oper");
|
waveCommandDTO.setOper(preDetection.getWaveCmd());
|
||||||
|
// waveCommandDTO.setOper("RDRE1$CO$RcdTrg$Oper");
|
||||||
waveCommandDTO.setLine(monitorListDTO.getLine());
|
waveCommandDTO.setLine(monitorListDTO.getLine());
|
||||||
waveCommandDTOList.add(waveCommandDTO);
|
waveCommandDTOList.add(waveCommandDTO);
|
||||||
});
|
});
|
||||||
@@ -2187,7 +2189,8 @@ public class SocketContrastResponseService {
|
|||||||
WaveCommandDTO waveCommandDTO = new WaveCommandDTO();
|
WaveCommandDTO waveCommandDTO = new WaveCommandDTO();
|
||||||
waveCommandDTO.setIp(preDetection.getDevIP());
|
waveCommandDTO.setIp(preDetection.getDevIP());
|
||||||
waveCommandDTO.setPort(preDetection.getPort());
|
waveCommandDTO.setPort(preDetection.getPort());
|
||||||
waveCommandDTO.setOper("RDRE1$CO$RcdTrg$Oper");
|
waveCommandDTO.setOper(preDetection.getWaveCmd());
|
||||||
|
// waveCommandDTO.setOper("RDRE1$CO$RcdTrg$Oper");
|
||||||
waveCommandDTO.setLine(monitorListDTO.getLine());
|
waveCommandDTO.setLine(monitorListDTO.getLine());
|
||||||
waveCommandDTOList.add(waveCommandDTO);
|
waveCommandDTOList.add(waveCommandDTO);
|
||||||
});
|
});
|
||||||
@@ -2199,12 +2202,12 @@ public class SocketContrastResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private List<List<DevData>> analyzeWaveFile(WaveResultDTO devWaveResultDTO, WaveResultDTO stdDevWaveResultDTO, PreDetection.MonitorListDTO monitorListDTO, String devMonitorId, String stdDevMonitorId, List<String> adTypeCodeList) {
|
private List<List<DevData>> analyzeWaveFile(WaveResultDTO devWaveResultDTO, WaveResultDTO stdDevWaveResultDTO, PreDetection.MonitorListDTO monitorListDTO, String devMonitorId, String stdDevMonitorId, List<String> adTypeCodeList) {
|
||||||
// String stdDevCfgPath = stdDevWaveResultDTO.getPath().replaceAll("\\\\", "/").replace(".CFG",".cfg");
|
String stdDevCfgPath = stdDevWaveResultDTO.getPath().replaceAll("\\\\", "/").replace(".CFG", ".cfg");
|
||||||
// String devCfgPath = devWaveResultDTO.getPath().replaceAll("\\\\", "/").replace(".CFG",".cfg");
|
String devCfgPath = devWaveResultDTO.getPath().replaceAll("\\\\", "/").replace(".CFG", ".cfg");
|
||||||
|
|
||||||
String stdDevCfgPath = "D:\\数据比对\\统计数据1\\B码\\216\\PQMonitor_PQM1_000001_20200430_113404_845.cfg";
|
// String stdDevCfgPath = "D:\\数据比对\\统计数据1\\B码\\216\\PQMonitor_PQM1_000001_20200430_113404_845.cfg";
|
||||||
String stdDevDatPath = stdDevCfgPath.replaceAll(".cfg", ".dat");
|
String stdDevDatPath = stdDevCfgPath.replaceAll(".cfg", ".dat");
|
||||||
String devCfgPath = "D:\\数据比对\\统计数据1\\B码\\217\\PQMonitor_PQM1_000001_20200430_113407_075.cfg";
|
// String devCfgPath = "D:\\数据比对\\统计数据1\\B码\\217\\PQMonitor_PQM1_000001_20200430_113407_075.cfg";
|
||||||
String devDatPath = devCfgPath.replaceAll(".cfg", ".dat");
|
String devDatPath = devCfgPath.replaceAll(".cfg", ".dat");
|
||||||
|
|
||||||
// 验证文件是否存在
|
// 验证文件是否存在
|
||||||
@@ -2297,16 +2300,16 @@ public class SocketContrastResponseService {
|
|||||||
String code = adTypeCode.replace(DetectionCodeEnum.REAL_PREFIX.getCode(), "");
|
String code = adTypeCode.replace(DetectionCodeEnum.REAL_PREFIX.getCode(), "");
|
||||||
DetectionCodeEnum detectionCodeEnum = DetectionCodeEnum.getDetectionCodeByCode(code);
|
DetectionCodeEnum detectionCodeEnum = DetectionCodeEnum.getDetectionCodeByCode(code);
|
||||||
switch (detectionCodeEnum) {
|
switch (detectionCodeEnum) {
|
||||||
case FREQ:
|
// case FREQ:
|
||||||
// 频率
|
// // 频率
|
||||||
sqlDataDTO = new DevData.SqlDataDTO();
|
// sqlDataDTO = new DevData.SqlDataDTO();
|
||||||
sqlDataDTO.setDesc(DetectionCodeEnum.FREQ.getCode());
|
// sqlDataDTO.setDesc(DetectionCodeEnum.FREQ.getCode());
|
||||||
sqlDataDTO.setType("real");
|
// sqlDataDTO.setType("real");
|
||||||
listDTO = new DevData.SqlDataDTO.ListDTO();
|
// listDTO = new DevData.SqlDataDTO.ListDTO();
|
||||||
listDTO.setT((double) pointDevData.getFreq()[0]);
|
// listDTO.setT((double) pointDevData.getFreq()[0]);
|
||||||
sqlDataDTO.setList(listDTO);
|
// sqlDataDTO.setList(listDTO);
|
||||||
sqlDataDTOS.add(sqlDataDTO);
|
// sqlDataDTOS.add(sqlDataDTO);
|
||||||
break;
|
// break;
|
||||||
case VRMS:
|
case VRMS:
|
||||||
// 相电压有效值
|
// 相电压有效值
|
||||||
sqlDataDTO = new DevData.SqlDataDTO();
|
sqlDataDTO = new DevData.SqlDataDTO();
|
||||||
@@ -2407,9 +2410,9 @@ public class SocketContrastResponseService {
|
|||||||
sqlDataDTO.setDesc(DetectionCodeEnum.I1.getCode());
|
sqlDataDTO.setDesc(DetectionCodeEnum.I1.getCode());
|
||||||
sqlDataDTO.setType("real");
|
sqlDataDTO.setType("real");
|
||||||
listDTO = new DevData.SqlDataDTO.ListDTO();
|
listDTO = new DevData.SqlDataDTO.ListDTO();
|
||||||
listDTO.setA((double) pointDevData.getFuHarm()[3][0]);
|
listDTO.setA((double) pointDevData.getInHarm()[3][0]);
|
||||||
listDTO.setB((double) pointDevData.getFuHarm()[4][0]);
|
listDTO.setB((double) pointDevData.getInHarm()[4][0]);
|
||||||
listDTO.setC((double) pointDevData.getFuHarm()[5][0]);
|
listDTO.setC((double) pointDevData.getInHarm()[5][0]);
|
||||||
sqlDataDTO.setList(listDTO);
|
sqlDataDTO.setList(listDTO);
|
||||||
sqlDataDTOS.add(sqlDataDTO);
|
sqlDataDTOS.add(sqlDataDTO);
|
||||||
|
|
||||||
@@ -2496,6 +2499,16 @@ public class SocketContrastResponseService {
|
|||||||
case PSV_1_49:
|
case PSV_1_49:
|
||||||
break;
|
break;
|
||||||
case SI_1_49:
|
case SI_1_49:
|
||||||
|
sqlDataDTO = new DevData.SqlDataDTO();
|
||||||
|
sqlDataDTO.setDesc(DetectionCodeEnum.I1.getCode());
|
||||||
|
sqlDataDTO.setType("real");
|
||||||
|
listDTO = new DevData.SqlDataDTO.ListDTO();
|
||||||
|
listDTO.setA((double) pointDevData.getInHarm()[3][0]);
|
||||||
|
listDTO.setB((double) pointDevData.getInHarm()[4][0]);
|
||||||
|
listDTO.setC((double) pointDevData.getInHarm()[5][0]);
|
||||||
|
sqlDataDTO.setList(listDTO);
|
||||||
|
sqlDataDTOS.add(sqlDataDTO);
|
||||||
|
|
||||||
// 间谐波电流幅值
|
// 间谐波电流幅值
|
||||||
sqlDataHarmDTOI = new DevData.SqlDataHarmDTO();
|
sqlDataHarmDTOI = new DevData.SqlDataHarmDTO();
|
||||||
sqlDataHarmDTOI.setDesc(DetectionCodeEnum.SI_1_49.getCode());
|
sqlDataHarmDTOI.setDesc(DetectionCodeEnum.SI_1_49.getCode());
|
||||||
@@ -2507,7 +2520,7 @@ public class SocketContrastResponseService {
|
|||||||
cListI = new ArrayList<>();
|
cListI = new ArrayList<>();
|
||||||
|
|
||||||
// 前50次间谐波
|
// 前50次间谐波
|
||||||
for (int harm = 0; harm < 50; harm++) {
|
for (int harm = 1; harm < 51; harm++) {
|
||||||
// 间谐波电流
|
// 间谐波电流
|
||||||
aListI.add(String.format("%.7f", pointDevData.getInHarm()[3][harm]));
|
aListI.add(String.format("%.7f", pointDevData.getInHarm()[3][harm]));
|
||||||
bListI.add(String.format("%.7f", pointDevData.getInHarm()[4][harm]));
|
bListI.add(String.format("%.7f", pointDevData.getInHarm()[4][harm]));
|
||||||
|
|||||||
@@ -1150,6 +1150,9 @@ public class DetectionServiceImpl {
|
|||||||
break;
|
break;
|
||||||
case AVG_VALUE:
|
case AVG_VALUE:
|
||||||
newValue.addAll(DetectionUtil.getAvgDoubles(value));
|
newValue.addAll(DetectionUtil.getAvgDoubles(value));
|
||||||
|
case Own_value:
|
||||||
|
case AT_WILL_VALUE:
|
||||||
|
newValue.addAll(value);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
value.clear();
|
value.clear();
|
||||||
|
|||||||
@@ -7,15 +7,14 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.njcn.gather.detection.pojo.param.ContrastDetectionParam;
|
import com.njcn.gather.detection.pojo.param.ContrastDetectionParam;
|
||||||
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
|
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
|
||||||
import com.njcn.gather.detection.util.socket.cilent.NettyClient;
|
import com.njcn.gather.detection.util.socket.cilent.NettyClient;
|
||||||
|
import com.njcn.gather.detection.util.socket.cilent.NettyContrastClientHandler;
|
||||||
import com.njcn.gather.detection.util.socket.config.SocketConnectionConfig;
|
import com.njcn.gather.detection.util.socket.config.SocketConnectionConfig;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import com.njcn.gather.plan.pojo.enums.DataSourceEnum;
|
import com.njcn.gather.plan.pojo.enums.DataSourceEnum;
|
||||||
import com.njcn.gather.script.pojo.po.SourceIssue;
|
import com.njcn.gather.script.pojo.po.SourceIssue;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import io.netty.channel.nio.NioEventLoopGroup;
|
import io.netty.channel.nio.NioEventLoopGroup;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -28,7 +27,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
|
|||||||
/**
|
/**
|
||||||
* Socket连接管理器
|
* Socket连接管理器
|
||||||
* 提供Socket连接的生命周期管理、消息发送、检测任务管理等功能
|
* 提供Socket连接的生命周期管理、消息发送、检测任务管理等功能
|
||||||
*
|
* <p>
|
||||||
* 包含以下主要功能:
|
* 包含以下主要功能:
|
||||||
* 1. 基础连接管理:addUser, removeUser, sendMsg等
|
* 1. 基础连接管理:addUser, removeUser, sendMsg等
|
||||||
* 2. 智能消息发送:smartSendToSource, smartSendToDevice等(新增)
|
* 2. 智能消息发送:smartSendToSource, smartSendToDevice等(新增)
|
||||||
@@ -66,16 +65,16 @@ public class SocketManager {
|
|||||||
|
|
||||||
public static void removeUser(String userId) {
|
public static void removeUser(String userId) {
|
||||||
Channel channel = socketSessions.get(userId);
|
Channel channel = socketSessions.get(userId);
|
||||||
if(ObjectUtil.isNotNull(channel)){
|
if (ObjectUtil.isNotNull(channel)) {
|
||||||
try {
|
try {
|
||||||
channel.close().sync();
|
channel.close().sync();
|
||||||
} catch (InterruptedException e) {
|
} catch (InterruptedException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
NioEventLoopGroup eventExecutors = socketGroup.get(userId);
|
NioEventLoopGroup eventExecutors = socketGroup.get(userId);
|
||||||
if(ObjectUtil.isNotNull(eventExecutors)){
|
if (ObjectUtil.isNotNull(eventExecutors)) {
|
||||||
eventExecutors.shutdownGracefully();
|
eventExecutors.shutdownGracefully();
|
||||||
System.out.println(userId+"__"+channel.id()+"关闭了客户端");
|
System.out.println(userId + "__" + channel.id() + "关闭了客户端");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
socketSessions.remove(userId);
|
socketSessions.remove(userId);
|
||||||
@@ -90,12 +89,12 @@ public class SocketManager {
|
|||||||
return socketGroup.get(userId);
|
return socketGroup.get(userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void sendMsg(String userId,String msg) {
|
public static void sendMsg(String userId, String msg) {
|
||||||
Channel channel = socketSessions.get(userId);
|
Channel channel = socketSessions.get(userId);
|
||||||
if(ObjectUtil.isNotNull(channel)){
|
if (ObjectUtil.isNotNull(channel)) {
|
||||||
channel.writeAndFlush(msg+'\n');
|
channel.writeAndFlush(msg + '\n');
|
||||||
log.info("{}__{}往{}发送数据:{}", userId, channel.id(), channel.remoteAddress(), msg);
|
log.info("{}__{}往{}发送数据:{}", userId, channel.id(), channel.remoteAddress(), msg);
|
||||||
}else{
|
} else {
|
||||||
log.warn("{}__发送数据:失败通道不存在{}", userId, msg);
|
log.warn("{}__发送数据:失败通道不存在{}", userId, msg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -188,6 +187,13 @@ public class SocketManager {
|
|||||||
NettyClient.connectToContrastDeviceStatic(ip, port, param, msg);
|
NettyClient.connectToContrastDeviceStatic(ip, port, param, msg);
|
||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
|
} else {
|
||||||
|
PreDetectionParam preDetectionParam = new PreDetectionParam();
|
||||||
|
preDetectionParam.setUserPageId(param.getLoginName());
|
||||||
|
preDetectionParam.setTestItemList(param.getTestItemList());
|
||||||
|
preDetectionParam.setDevIds(param.getDevIds());
|
||||||
|
preDetectionParam.setUserId(param.getUserId());
|
||||||
|
NettyContrastClientHandler.param = preDetectionParam;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -197,8 +203,6 @@ public class SocketManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// =================== 私有工具方法 ===================
|
// =================== 私有工具方法 ===================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -271,7 +275,7 @@ public class SocketManager {
|
|||||||
/**
|
/**
|
||||||
* 用于存储每个测试小项超时时长key key:检测项 value:时间秒
|
* 用于存储每个测试小项超时时长key key:检测项 value:时间秒
|
||||||
*/
|
*/
|
||||||
public static volatile Map<Integer,Long> clockMap = new ConcurrentHashMap<>();
|
public static volatile Map<Integer, Long> clockMap = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用于存储比对式测试时间。
|
* 用于存储比对式测试时间。
|
||||||
@@ -279,7 +283,6 @@ public class SocketManager {
|
|||||||
public static volatile Map<DataSourceEnum, Long> contrastClockMap = new ConcurrentHashMap<>();
|
public static volatile Map<DataSourceEnum, Long> contrastClockMap = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public static void addSourceList(List<SourceIssue> sList) {
|
public static void addSourceList(List<SourceIssue> sList) {
|
||||||
sourceIssueList = sList;
|
sourceIssueList = sList;
|
||||||
}
|
}
|
||||||
@@ -302,8 +305,8 @@ public class SocketManager {
|
|||||||
targetMap = map;
|
targetMap = map;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void addTargetMap(String scriptType,Long count) {
|
public static void addTargetMap(String scriptType, Long count) {
|
||||||
targetMap.put(scriptType,count);
|
targetMap.put(scriptType, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Long getSourceTarget(String scriptType) {
|
public static Long getSourceTarget(String scriptType) {
|
||||||
@@ -311,6 +314,5 @@ public class SocketManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -128,7 +128,9 @@ public class NettyClient {
|
|||||||
preDetectionParam.setTestItemList(param.getTestItemList());
|
preDetectionParam.setTestItemList(param.getTestItemList());
|
||||||
preDetectionParam.setDevIds(param.getDevIds());
|
preDetectionParam.setDevIds(param.getDevIds());
|
||||||
preDetectionParam.setUserId(param.getUserId());
|
preDetectionParam.setUserId(param.getUserId());
|
||||||
NettyContrastClientHandler handler = new NettyContrastClientHandler(preDetectionParam, socketContrastResponseService);
|
NettyContrastClientHandler handler = new NettyContrastClientHandler();
|
||||||
|
handler.param = preDetectionParam;
|
||||||
|
handler.socketContrastResponseService = socketContrastResponseService;
|
||||||
executeSocketConnection(ip, port, preDetectionParam, msg, handler);
|
executeSocketConnection(ip, port, preDetectionParam, msg, handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -265,7 +267,7 @@ public class NettyClient {
|
|||||||
PreDetectionParam param, SimpleChannelInboundHandler<String> handler) {
|
PreDetectionParam param, SimpleChannelInboundHandler<String> handler) {
|
||||||
// 基础编解码器:处理数据格式转换和粘包拆包
|
// 基础编解码器:处理数据格式转换和粘包拆包
|
||||||
// 按行分割,最大20KB
|
// 按行分割,最大20KB
|
||||||
pipeline.addLast(new LineBasedFrameDecoder(10240*2))
|
pipeline.addLast(new LineBasedFrameDecoder(10240 * 2))
|
||||||
// 字节转字符串
|
// 字节转字符串
|
||||||
.addLast(new StringDecoder(CharsetUtil.UTF_8))
|
.addLast(new StringDecoder(CharsetUtil.UTF_8))
|
||||||
// 字符串转字节
|
// 字符串转字节
|
||||||
|
|||||||
@@ -36,8 +36,8 @@ import java.util.Objects;
|
|||||||
public class NettyContrastClientHandler extends SimpleChannelInboundHandler<String> {
|
public class NettyContrastClientHandler extends SimpleChannelInboundHandler<String> {
|
||||||
|
|
||||||
|
|
||||||
private final PreDetectionParam param;
|
public static PreDetectionParam param;
|
||||||
private final SocketContrastResponseService socketContrastResponseService;
|
public static SocketContrastResponseService socketContrastResponseService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
public void channelActive(ChannelHandlerContext ctx) throws Exception {
|
||||||
|
|||||||
@@ -374,9 +374,11 @@ public class WebSocketHandler extends SimpleChannelInboundHandler<TextWebSocketF
|
|||||||
if (FormalTestManager.patternEnum.equals(PatternEnum.CONTRAST)) {
|
if (FormalTestManager.patternEnum.equals(PatternEnum.CONTRAST)) {
|
||||||
if (!FormalTestManager.isRemoveSocket) {
|
if (!FormalTestManager.isRemoveSocket) {
|
||||||
if (FormalTestManager.currentStep == SourceOperateCodeEnum.RECORD_WAVE_STEP1 || FormalTestManager.currentStep == SourceOperateCodeEnum.RECORD_WAVE_STEP2) {
|
if (FormalTestManager.currentStep == SourceOperateCodeEnum.RECORD_WAVE_STEP1 || FormalTestManager.currentStep == SourceOperateCodeEnum.RECORD_WAVE_STEP2) {
|
||||||
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.DEV_INIT_GATHER_03, true);
|
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_03, true);
|
||||||
} else if (FormalTestManager.currentStep != SourceOperateCodeEnum.QUITE) {
|
} else if (FormalTestManager.currentStep != SourceOperateCodeEnum.QUITE) {
|
||||||
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.DEV_INIT_GATHER_02, true);
|
CnSocketUtil.contrastSendquit(preDetectionParam.getUserPageId(), SourceOperateCodeEnum.QUIT_INIT_02, true);
|
||||||
|
} else {
|
||||||
|
SocketManager.removeUser(preDetectionParam.getUserPageId());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
boolean channelActive = SocketManager.isChannelActive(preDetectionParam.getUserPageId() + CnSocketUtil.CONTRAST_DEV_TAG);
|
boolean channelActive = SocketManager.isChannelActive(preDetectionParam.getUserPageId() + CnSocketUtil.CONTRAST_DEV_TAG);
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
<result column="Dev_Curr" property="devCurr"/>
|
<result column="Dev_Curr" property="devCurr"/>
|
||||||
<result column="Angle" property="angle"/>
|
<result column="Angle" property="angle"/>
|
||||||
<result column="Use_Phase_Index" property="usePhaseIndex"/>
|
<result column="Use_Phase_Index" property="usePhaseIndex"/>
|
||||||
|
<result column="Wave_Cmd" property="waveCmd"/>
|
||||||
|
|
||||||
<collection
|
<collection
|
||||||
property="monitorList"
|
property="monitorList"
|
||||||
@@ -39,7 +40,8 @@
|
|||||||
t.Dev_Volt,
|
t.Dev_Volt,
|
||||||
t.Dev_Curr,
|
t.Dev_Curr,
|
||||||
p.Angle,
|
p.Angle,
|
||||||
p.Use_Phase_Index
|
p.Use_Phase_Index,
|
||||||
|
t.Wave_Cmd
|
||||||
FROM
|
FROM
|
||||||
pq_dev d
|
pq_dev d
|
||||||
inner join pq_dev_type t on d.Dev_Type = t.id
|
inner join pq_dev_type t on d.Dev_Type = t.id
|
||||||
|
|||||||
@@ -17,6 +17,7 @@
|
|||||||
<result column="Dev_Curr" property="devCurr"/>
|
<result column="Dev_Curr" property="devCurr"/>
|
||||||
<result column="Angle" property="angle"/>
|
<result column="Angle" property="angle"/>
|
||||||
<result column="Use_Phase_Index" property="usePhaseIndex"/>
|
<result column="Use_Phase_Index" property="usePhaseIndex"/>
|
||||||
|
<result column="Wave_Cmd" property="waveCmd"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="listStandardDevPreDetection" resultMap="standardDevResultMap">
|
<select id="listStandardDevPreDetection" resultMap="standardDevResultMap">
|
||||||
@@ -33,7 +34,8 @@
|
|||||||
dev_type.Dev_Volt,
|
dev_type.Dev_Volt,
|
||||||
dev_type.Dev_Curr,
|
dev_type.Dev_Curr,
|
||||||
icd_path.Angle,
|
icd_path.Angle,
|
||||||
icd_path.Use_Phase_Index
|
icd_path.Use_Phase_Index,
|
||||||
|
dev_type.Wave_Cmd
|
||||||
from pq_standard_dev standard_dev
|
from pq_standard_dev standard_dev
|
||||||
inner join pq_dev_type dev_type on standard_dev.Dev_Type = dev_type.id
|
inner join pq_dev_type dev_type on standard_dev.Dev_Type = dev_type.id
|
||||||
inner join pq_icd_path icd_path on dev_type.icd = icd_path.id
|
inner join pq_icd_path icd_path on dev_type.icd = icd_path.id
|
||||||
|
|||||||
@@ -50,21 +50,6 @@ public class PqDevSub {
|
|||||||
*/
|
*/
|
||||||
private Integer factorCheckResult;
|
private Integer factorCheckResult;
|
||||||
|
|
||||||
/**
|
|
||||||
* 实时数据结果 0:不合格,1:合格,2:未检
|
|
||||||
*/
|
|
||||||
private Integer realtimeResult;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计数据结果 0:不合格,1:合格,2:未检
|
|
||||||
*/
|
|
||||||
private Integer statisticsResult;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 录波数据结果 0:不合格,1:合格,2:未检
|
|
||||||
*/
|
|
||||||
private Integer recordedResult;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检测人
|
* 检测人
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -84,6 +84,9 @@ public class PreDetection {
|
|||||||
private Double devVolt;
|
private Double devVolt;
|
||||||
|
|
||||||
private Double devCurr;
|
private Double devCurr;
|
||||||
|
|
||||||
|
@JSONField(serialize = false)
|
||||||
|
private String waveCmd;
|
||||||
/**
|
/**
|
||||||
* 监测点信息
|
* 监测点信息
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -62,5 +62,20 @@ public class PqMonitor implements Serializable {
|
|||||||
* 谐波系统监测点id
|
* 谐波系统监测点id
|
||||||
*/
|
*/
|
||||||
private String harmSysId;
|
private String harmSysId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实时数据结果 0:不合格,1:合格,2:未检
|
||||||
|
*/
|
||||||
|
private Integer realtimeResult;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计数据结果 0:不合格,1:合格,2:未检
|
||||||
|
*/
|
||||||
|
private Integer statisticsResult;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 录波数据结果 0:不合格,1:合格,2:未检
|
||||||
|
*/
|
||||||
|
private Integer recordedResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -175,7 +175,7 @@ public class AdPlanController extends BaseController {
|
|||||||
public HttpResult<List<Map<String, String>>> getBigTestItem(@RequestBody AdPlanParam.CheckParam checkParam) {
|
public HttpResult<List<Map<String, String>>> getBigTestItem(@RequestBody AdPlanParam.CheckParam checkParam) {
|
||||||
String methodDescribe = getMethodDescribe("getBigTestItem");
|
String methodDescribe = getMethodDescribe("getBigTestItem");
|
||||||
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, checkParam);
|
LogUtil.njcnDebug(log, "{},查询数据为:{}", methodDescribe, checkParam);
|
||||||
List<Map<String, String>> result = adPlanService.getBigTestItem(checkParam.getReCheckType(), checkParam.getPlanId(), checkParam.getDevIds(), checkParam.getPatternId());
|
List<Map<String, String>> result = adPlanService.getBigTestItem(checkParam.getReCheckType(), checkParam.getPlanId(), checkParam.getDevIds(), checkParam.getPatternId(),checkParam.getScriptType());
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -128,5 +128,6 @@ public class AdPlanParam {
|
|||||||
private String planId;
|
private String planId;
|
||||||
private List<String> devIds;
|
private List<String> devIds;
|
||||||
private String patternId;
|
private String patternId;
|
||||||
|
private String scriptType;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,9 +73,10 @@ public interface IAdPlanService extends IService<AdPlan> {
|
|||||||
* @param planId 检测计划Id
|
* @param planId 检测计划Id
|
||||||
* @param devIds 设备Id列表
|
* @param devIds 设备Id列表
|
||||||
* @param patternId 模式Id
|
* @param patternId 模式Id
|
||||||
|
* @param scriptType 脚本类型
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<Map<String, String>> getBigTestItem(Integer reCheckType, String planId, List<String> devIds, String patternId);
|
List<Map<String, String>> getBigTestItem(Integer reCheckType, String planId, List<String> devIds, String patternId, String scriptType);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改计划状态
|
* 修改计划状态
|
||||||
@@ -214,5 +215,4 @@ public interface IAdPlanService extends IService<AdPlan> {
|
|||||||
*/
|
*/
|
||||||
boolean mergePlanCheckData(String planId);
|
boolean mergePlanCheckData(String planId);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -591,7 +591,7 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Map<String, String>> getBigTestItem(Integer reCheckType, String planId, List<String> devIds, String patternId) {
|
public List<Map<String, String>> getBigTestItem(Integer reCheckType, String planId, List<String> devIds, String patternId, String scriptType) {
|
||||||
List<Map<String, String>> result = new ArrayList<>();
|
List<Map<String, String>> result = new ArrayList<>();
|
||||||
AdPlan adPlan = this.getById(planId);
|
AdPlan adPlan = this.getById(planId);
|
||||||
if (ObjectUtil.isNull(adPlan)) {
|
if (ObjectUtil.isNull(adPlan)) {
|
||||||
@@ -609,14 +609,15 @@ public class AdPlanServiceImpl extends ServiceImpl<AdPlanMapper, AdPlan> impleme
|
|||||||
map.put("scriptName", dictTree.getName());
|
map.put("scriptName", dictTree.getName());
|
||||||
result.add(map);
|
result.add(map);
|
||||||
}
|
}
|
||||||
|
if (StrUtil.isBlank(scriptType)) {
|
||||||
if (adPlan.getDatasourceId().contains(DataSourceEnum.WAVE_DATA.getValue())) {
|
if (adPlan.getDatasourceId().contains(DataSourceEnum.WAVE_DATA.getValue())) {
|
||||||
Map<String, String> map = new HashMap<>();
|
Map<String, String> map = new HashMap<>();
|
||||||
map.put("id", "wave_data");
|
map.put("id", DataSourceEnum.WAVE_DATA.getValue());
|
||||||
map.put("code", DataSourceEnum.WAVE_DATA.getValue());
|
map.put("code", DataSourceEnum.WAVE_DATA.getValue());
|
||||||
map.put("scriptName", DataSourceEnum.WAVE_DATA.getMsg());
|
map.put("scriptName", DataSourceEnum.WAVE_DATA.getMsg());
|
||||||
result.add(map);
|
result.add(map);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
String scriptId = adPlan.getScriptId();
|
String scriptId = adPlan.getScriptId();
|
||||||
List<PqScriptDtls> scriptDtlsList = pqScriptDtlsService.listPqScriptDtlByScriptId(scriptId);
|
List<PqScriptDtls> scriptDtlsList = pqScriptDtlsService.listPqScriptDtlByScriptId(scriptId);
|
||||||
|
|||||||
@@ -66,6 +66,14 @@ public class ResultParam {
|
|||||||
|
|
||||||
// 第几次检测
|
// 第几次检测
|
||||||
private Integer num;
|
private Integer num;
|
||||||
|
|
||||||
|
// 第几次波形
|
||||||
|
private Integer waveNum;
|
||||||
|
|
||||||
|
private Boolean isWave;
|
||||||
|
|
||||||
|
// 模式id
|
||||||
|
private String patternId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
|
|||||||
@@ -31,4 +31,9 @@ public class FormContentVO {
|
|||||||
* 选中的第几次
|
* 选中的第几次
|
||||||
*/
|
*/
|
||||||
private Integer checkNum;
|
private Integer checkNum;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 有多少次波形录制
|
||||||
|
*/
|
||||||
|
private Integer waveNumTotal;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,8 +30,11 @@ import com.njcn.gather.device.pojo.enums.CommonEnum;
|
|||||||
import com.njcn.gather.device.pojo.enums.PatternEnum;
|
import com.njcn.gather.device.pojo.enums.PatternEnum;
|
||||||
import com.njcn.gather.device.pojo.po.PqDev;
|
import com.njcn.gather.device.pojo.po.PqDev;
|
||||||
import com.njcn.gather.device.service.IPqDevService;
|
import com.njcn.gather.device.service.IPqDevService;
|
||||||
|
import com.njcn.gather.plan.pojo.enums.DataSourceEnum;
|
||||||
import com.njcn.gather.plan.pojo.po.AdPlan;
|
import com.njcn.gather.plan.pojo.po.AdPlan;
|
||||||
|
import com.njcn.gather.plan.pojo.po.AdPlanTestConfig;
|
||||||
import com.njcn.gather.plan.service.IAdPlanService;
|
import com.njcn.gather.plan.service.IAdPlanService;
|
||||||
|
import com.njcn.gather.plan.service.IAdPlanTestConfigService;
|
||||||
import com.njcn.gather.pojo.enums.DetectionResponseEnum;
|
import com.njcn.gather.pojo.enums.DetectionResponseEnum;
|
||||||
import com.njcn.gather.report.pojo.constant.PowerConstant;
|
import com.njcn.gather.report.pojo.constant.PowerConstant;
|
||||||
import com.njcn.gather.report.pojo.enums.AffectEnum;
|
import com.njcn.gather.report.pojo.enums.AffectEnum;
|
||||||
@@ -95,6 +98,7 @@ import java.util.stream.Stream;
|
|||||||
public class ResultServiceImpl implements IResultService {
|
public class ResultServiceImpl implements IResultService {
|
||||||
|
|
||||||
private final IAdPlanService adPlanService;
|
private final IAdPlanService adPlanService;
|
||||||
|
private final IAdPlanTestConfigService adPlanTestConfigService;
|
||||||
private final IPqDevService pqDevService;
|
private final IPqDevService pqDevService;
|
||||||
private final SimAndDigNonHarmonicService simAndDigNonHarmonicService;
|
private final SimAndDigNonHarmonicService simAndDigNonHarmonicService;
|
||||||
private final SimAndDigHarmonicService simAndDigHarmonicService;
|
private final SimAndDigHarmonicService simAndDigHarmonicService;
|
||||||
@@ -1553,14 +1557,21 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
formContentVO.setDeviceName(dev.getName());
|
formContentVO.setDeviceName(dev.getName());
|
||||||
formContentVO.setErrorSysId(plan.getErrorSysId());
|
formContentVO.setErrorSysId(plan.getErrorSysId());
|
||||||
|
|
||||||
List<DictTree> dictTreeList = dictTreeService.getDictTreeById(Collections.singletonList(queryParam.getScriptType()));
|
List<DictTree> dictTreeList = null;
|
||||||
|
if (DataSourceEnum.WAVE_DATA.getValue().equals(queryParam.getScriptType())) {
|
||||||
|
List<Map<String, String>> bigTestItem = adPlanService.getBigTestItem(1, queryParam.getPlanId(), Collections.singletonList(queryParam.getDeviceId()), queryParam.getPatternId(), DataSourceEnum.WAVE_DATA.getValue());
|
||||||
|
List<String> ids = bigTestItem.stream().filter(x -> !DetectionCodeEnum.FREQ.getCode().equals(x.get("code"))).map(x -> x.get("id")).collect(Collectors.toList());
|
||||||
|
dictTreeList = dictTreeService.getDictTreeById(ids);
|
||||||
|
} else {
|
||||||
|
dictTreeList = dictTreeService.getDictTreeById(Collections.singletonList(queryParam.getScriptType()));
|
||||||
|
}
|
||||||
List<String> fatherIdList = dictTreeList.stream().map(DictTree::getId).collect(Collectors.toList());
|
List<String> fatherIdList = dictTreeList.stream().map(DictTree::getId).collect(Collectors.toList());
|
||||||
List<DictTree> childDictTreeList = dictTreeService.listByFatherIds(fatherIdList);
|
List<DictTree> childDictTreeList = dictTreeService.listByFatherIds(fatherIdList);
|
||||||
List<String> adTypeList = childDictTreeList.stream().map(DictTree::getId).collect(Collectors.toList());
|
List<String> adTypeList = childDictTreeList.stream().map(DictTree::getId).collect(Collectors.toList());
|
||||||
List<ContrastBaseResult> allResultList = new ArrayList<>();
|
List<ContrastBaseResult> allResultList = new ArrayList<>();
|
||||||
|
|
||||||
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(plan.getCode()), null, queryParam.getDeviceId(), adTypeList);
|
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = contrastNonHarmonicService.listAllResultData(String.valueOf(plan.getCode()), null, null, true, queryParam.getDeviceId(), adTypeList);
|
||||||
List<ContrastHarmonicResult> contrastHarmonicResults = contrastHarmonicService.listAllResultData(String.valueOf(plan.getCode()), null, queryParam.getDeviceId(), adTypeList);
|
List<ContrastHarmonicResult> contrastHarmonicResults = contrastHarmonicService.listAllResultData(String.valueOf(plan.getCode()), null, null, true, queryParam.getDeviceId(), adTypeList);
|
||||||
allResultList.addAll(contrastHarmonicResults);
|
allResultList.addAll(contrastHarmonicResults);
|
||||||
allResultList.addAll(contrastNonHarmonicResults);
|
allResultList.addAll(contrastNonHarmonicResults);
|
||||||
|
|
||||||
@@ -1586,6 +1597,9 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
formContentVO.setCheckNum(queryParam.getNum());
|
formContentVO.setCheckNum(queryParam.getNum());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AdPlanTestConfig adPlanTestConfig = adPlanTestConfigService.getByPlanId(queryParam.getPlanId());
|
||||||
|
formContentVO.setWaveNumTotal(adPlanTestConfig.getWaveRecord());
|
||||||
|
|
||||||
formContentVO.setChnMap(chnMap);
|
formContentVO.setChnMap(chnMap);
|
||||||
return formContentVO;
|
return formContentVO;
|
||||||
}
|
}
|
||||||
@@ -1595,7 +1609,9 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
ContrastResultVO contrastResultVO = new ContrastResultVO();
|
ContrastResultVO contrastResultVO = new ContrastResultVO();
|
||||||
|
|
||||||
AdPlan plan = adPlanService.getById(queryParam.getPlanId());
|
AdPlan plan = adPlanService.getById(queryParam.getPlanId());
|
||||||
|
|
||||||
List<DictTree> dictTreeList = dictTreeService.getDictTreeById(Collections.singletonList(queryParam.getScriptType()));
|
List<DictTree> dictTreeList = dictTreeService.getDictTreeById(Collections.singletonList(queryParam.getScriptType()));
|
||||||
|
|
||||||
List<String> fatherIdList = dictTreeList.stream().map(DictTree::getId).collect(Collectors.toList());
|
List<String> fatherIdList = dictTreeList.stream().map(DictTree::getId).collect(Collectors.toList());
|
||||||
List<DictTree> childDictTreeList = dictTreeService.listByFatherIds(fatherIdList);
|
List<DictTree> childDictTreeList = dictTreeService.listByFatherIds(fatherIdList);
|
||||||
List<String> adTypeList = childDictTreeList.stream().map(DictTree::getId).collect(Collectors.toList());
|
List<String> adTypeList = childDictTreeList.stream().map(DictTree::getId).collect(Collectors.toList());
|
||||||
@@ -1615,16 +1631,16 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
contrastResultVO.setResultMap(this.getResultMap(dictTree, adTypeList, queryParam.getDeviceId() + CnSocketUtil.SPLIT_TAG + queryParam.getChnNum(), unit, queryParam.getNum(), String.valueOf(plan.getCode())));
|
contrastResultVO.setResultMap(this.getResultMap(dictTree, adTypeList, queryParam.getDeviceId() + CnSocketUtil.SPLIT_TAG + queryParam.getChnNum(), unit, queryParam.getNum(), queryParam.getWaveNum(), queryParam.getIsWave(), String.valueOf(plan.getCode())));
|
||||||
contrastResultVO.setRawDataMap(this.getRawDataMap(dictTree, adTypeList, queryParam.getDeviceId() + CnSocketUtil.SPLIT_TAG + queryParam.getChnNum(), unit, queryParam.getNum(), String.valueOf(plan.getCode())));
|
contrastResultVO.setRawDataMap(this.getRawDataMap(dictTree, adTypeList, queryParam.getDeviceId() + CnSocketUtil.SPLIT_TAG + queryParam.getChnNum(), unit, queryParam.getNum(), queryParam.getWaveNum(), queryParam.getIsWave(), String.valueOf(plan.getCode())));
|
||||||
return contrastResultVO;
|
return contrastResultVO;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, List<RawResultDataVO>> getResultMap(DictTree dictTree, List<String> adTypeList, String monitorId, String unit, Integer num, String code) {
|
private Map<String, List<RawResultDataVO>> getResultMap(DictTree dictTree, List<String> adTypeList, String monitorId, String unit, Integer num, Integer waveNum, Boolean isWave, String code) {
|
||||||
Map<String, List<RawResultDataVO>> resultMap = new LinkedHashMap<>();
|
Map<String, List<RawResultDataVO>> resultMap = new LinkedHashMap<>();
|
||||||
|
|
||||||
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = contrastNonHarmonicService.listAllResultData(code, num, monitorId, adTypeList);
|
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = contrastNonHarmonicService.listAllResultData(code, num, waveNum, isWave, monitorId, adTypeList);
|
||||||
List<ContrastHarmonicResult> contrastHarmonicResults = contrastHarmonicService.listAllResultData(code, num, monitorId, adTypeList);
|
List<ContrastHarmonicResult> contrastHarmonicResults = contrastHarmonicService.listAllResultData(code, num, waveNum, isWave, monitorId, adTypeList);
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(contrastNonHarmonicResults)) {
|
if (CollUtil.isNotEmpty(contrastNonHarmonicResults)) {
|
||||||
ContrastNonHarmonicResult contrastNonHarmonicResult = contrastNonHarmonicResults.get(0);
|
ContrastNonHarmonicResult contrastNonHarmonicResult = contrastNonHarmonicResults.get(0);
|
||||||
@@ -1715,13 +1731,13 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map<String, List<AlignDataVO.RawData>> getRawDataMap(DictTree dictTree, List<String> adTypeList, String monitorId, String unit, Integer num, String code) {
|
private Map<String, List<AlignDataVO.RawData>> getRawDataMap(DictTree dictTree, List<String> adTypeList, String monitorId, String unit, Integer num, Integer waveNum, Boolean isWave, String code) {
|
||||||
Map<String, List<AlignDataVO.RawData>> rawMap = new LinkedHashMap<>();
|
Map<String, List<AlignDataVO.RawData>> rawMap = new LinkedHashMap<>();
|
||||||
|
|
||||||
List<ContrastNonHarmonicResult> devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(code, num, 0, monitorId, adTypeList);
|
List<ContrastNonHarmonicResult> devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(code, num, waveNum, isWave, 0, monitorId, adTypeList);
|
||||||
List<ContrastNonHarmonicResult> stdDevNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(code, num, 1, monitorId, adTypeList);
|
List<ContrastNonHarmonicResult> stdDevNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(code, num, waveNum, isWave, 1, monitorId, adTypeList);
|
||||||
List<ContrastHarmonicResult> devHarmonicRawDataList = contrastHarmonicService.listAllRawData(code, num, 0, monitorId, adTypeList);
|
List<ContrastHarmonicResult> devHarmonicRawDataList = contrastHarmonicService.listAllRawData(code, num, waveNum, isWave, 0, monitorId, adTypeList);
|
||||||
List<ContrastHarmonicResult> stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(code, num, 1, monitorId, adTypeList);
|
List<ContrastHarmonicResult> stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(code, num, waveNum, isWave, 1, monitorId, adTypeList);
|
||||||
|
|
||||||
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
|
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
|
||||||
List<AlignDataVO.RawData> rawDataVOList = new ArrayList<>();
|
List<AlignDataVO.RawData> rawDataVOList = new ArrayList<>();
|
||||||
@@ -2038,17 +2054,29 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
numMap.put(adPair.getStdDevMonitorId(), num);
|
numMap.put(adPair.getStdDevMonitorId(), num);
|
||||||
});
|
});
|
||||||
|
|
||||||
List<ContrastNonHarmonicResult> devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, 0, deviceId, null);
|
List<ContrastNonHarmonicResult> devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, null, false, 0, deviceId, null);
|
||||||
List<ContrastNonHarmonicResult> stdDevNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, 1, deviceId, null);
|
List<ContrastNonHarmonicResult> stdDevNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, null, false, 1, deviceId, null);
|
||||||
List<ContrastHarmonicResult> devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, 0, deviceId, null);
|
List<ContrastHarmonicResult> devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, null, false, 0, deviceId, null);
|
||||||
List<ContrastHarmonicResult> stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, 1, deviceId, null);
|
List<ContrastHarmonicResult> stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, null, false, 1, deviceId, null);
|
||||||
|
|
||||||
List<DevData> devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap);
|
List<DevData> devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap);
|
||||||
List<DevData> standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap);
|
List<DevData> standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap);
|
||||||
|
|
||||||
detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, code, null);
|
detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, code, null);
|
||||||
});
|
|
||||||
|
|
||||||
|
AdPlanTestConfig adPlanTestConfig = adPlanTestConfigService.getByPlanId(planId);
|
||||||
|
for (int i = 1; i <= adPlanTestConfig.getWaveRecord(); i++) {
|
||||||
|
devNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, i, true, 0, deviceId, null);
|
||||||
|
stdDevNonHarmonicRawDataList = contrastNonHarmonicService.listAllRawData(oldCode, num, i, true, 1, deviceId, null);
|
||||||
|
devHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 0, deviceId, null);
|
||||||
|
stdDevHarmonicRawDataList = contrastHarmonicService.listAllRawData(oldCode, num, i, true, 1, deviceId, null);
|
||||||
|
|
||||||
|
devData = contrastToList(devNonHarmonicRawDataList, devHarmonicRawDataList, testItemMap);
|
||||||
|
standardDevData = contrastToList(stdDevNonHarmonicRawDataList, stdDevHarmonicRawDataList, testItemMap);
|
||||||
|
|
||||||
|
detectionServiceImpl.processing(devData, standardDevData, parsIp, devIdMapComm, testItemMap.keySet().stream().collect(Collectors.toList()), errorSysId, dataRule, numMap, code, i);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<DevData> simAndDigToList(List<SimAndDigNonHarmonicResult> nonHarm, List<SimAndDigHarmonicResult> harm, boolean containBaseHarm) {
|
private List<DevData> simAndDigToList(List<SimAndDigNonHarmonicResult> nonHarm, List<SimAndDigHarmonicResult> harm, boolean containBaseHarm) {
|
||||||
|
|||||||
@@ -47,6 +47,9 @@ public class DevTypeParam {
|
|||||||
@ApiModelProperty(value = "报告模板")
|
@ApiModelProperty(value = "报告模板")
|
||||||
private String reportName;
|
private String reportName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "录波指令")
|
||||||
|
private String waveCmd;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 分页查询实体
|
* 分页查询实体
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -60,6 +60,11 @@ public class DevType extends BaseEntity {
|
|||||||
@TableField("report_name")
|
@TableField("report_name")
|
||||||
private String reportName;
|
private String reportName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 录波指令
|
||||||
|
*/
|
||||||
|
private String waveCmd;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态:0-删除 1-正常
|
* 状态:0-删除 1-正常
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -21,15 +21,16 @@ public interface ContrastHarmonicService extends IService<ContrastHarmonicResult
|
|||||||
* @param adTypeList
|
* @param adTypeList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ContrastHarmonicResult> listAllRawData(String code, Integer num, Integer flag, String devId, List<String> adTypeList);
|
List<ContrastHarmonicResult> listAllRawData(String code, Integer num, Integer waveNum, Boolean isWave, Integer flag, String devId, List<String> adTypeList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所有谐波结果数据
|
* 获取所有谐波结果数据
|
||||||
*
|
*
|
||||||
* @param code
|
* @param code
|
||||||
* @param num 第几次检测
|
* @param num 第几次检测
|
||||||
|
* @param waveNum 第几次录波
|
||||||
* @param devId 设备ID
|
* @param devId 设备ID
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ContrastHarmonicResult> listAllResultData(String code, Integer num, String devId, List<String> adTypeList);
|
List<ContrastHarmonicResult> listAllResultData(String code, Integer num, Integer waveNum, Boolean isWave, String devId, List<String> adTypeList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,22 +15,28 @@ public interface ContrastNonHarmonicService extends IService<ContrastNonHarmonic
|
|||||||
* 获取所有原始数据
|
* 获取所有原始数据
|
||||||
*
|
*
|
||||||
* @param code
|
* @param code
|
||||||
* @param num 第几次检测
|
* @param num
|
||||||
* @param flag 0:被检设备,1:标准设备
|
* @param waveNum
|
||||||
* @param devId 设备ID
|
* @param isWave
|
||||||
|
* @param flag
|
||||||
|
* @param devId
|
||||||
* @param adTypeList
|
* @param adTypeList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ContrastNonHarmonicResult> listAllRawData(String code, Integer num, Integer flag, String devId, List<String> adTypeList);
|
List<ContrastNonHarmonicResult> listAllRawData(String code, Integer num, Integer waveNum, Boolean isWave, Integer flag, String devId, List<String> adTypeList);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所有非谐波结果数据
|
* 获取所有非谐波结果数据
|
||||||
*
|
*
|
||||||
* @param code
|
* @param code
|
||||||
* @param num 第几次检测
|
* @param num
|
||||||
* @param devId 设备ID
|
* @param waveNum
|
||||||
|
* @param isWave
|
||||||
|
* @param devId
|
||||||
* @param adTypeList
|
* @param adTypeList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ContrastNonHarmonicResult> listAllResultData(String code, Integer num, String devId, List<String> adTypeList);
|
|
||||||
|
List<ContrastNonHarmonicResult> listAllResultData(String code, Integer num, Integer waveNum, Boolean isWave, String devId, List<String> adTypeList);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.gather.storage.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
|
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
|
||||||
import com.njcn.gather.storage.mapper.ContrastHarmonicMappper;
|
import com.njcn.gather.storage.mapper.ContrastHarmonicMappper;
|
||||||
@@ -22,25 +23,38 @@ public class ContrastHarmonicServiceImpl extends ServiceImpl<ContrastHarmonicMap
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ContrastHarmonicResult> listAllRawData(String code, Integer num, Integer flag, String devId, List<String> adTypeList) {
|
public List<ContrastHarmonicResult> listAllRawData(String code, Integer num, Integer waveNum, Boolean isWave, Integer flag, String devId, List<String> adTypeList) {
|
||||||
String prefix = "ad_harmonic_" + code;
|
String prefix = "ad_harmonic_" + code;
|
||||||
DynamicTableNameHandler.setTableName(prefix);
|
DynamicTableNameHandler.setTableName(prefix);
|
||||||
List<ContrastHarmonicResult> result = this.lambdaQuery().likeRight(ContrastHarmonicResult::getDevMonitorId, devId)
|
LambdaQueryChainWrapper<ContrastHarmonicResult> wrapper = this.lambdaQuery().likeRight(ContrastHarmonicResult::getDevMonitorId, devId)
|
||||||
.eq(ObjectUtil.isNotNull(num), ContrastHarmonicResult::getNum, num)
|
.eq(ObjectUtil.isNotNull(num), ContrastHarmonicResult::getNum, num)
|
||||||
.eq(ContrastHarmonicResult::getFlag, flag)
|
.eq(ContrastHarmonicResult::getFlag, flag)
|
||||||
.in(CollUtil.isNotEmpty(adTypeList), ContrastHarmonicResult::getAdType, adTypeList)
|
.in(CollUtil.isNotEmpty(adTypeList), ContrastHarmonicResult::getAdType, adTypeList)
|
||||||
.orderByAsc(ContrastHarmonicResult::getTimeId).list();
|
.orderByAsc(ContrastHarmonicResult::getTimeId);
|
||||||
|
if (isWave) {
|
||||||
|
wrapper.eq(ObjectUtil.isNotNull(waveNum), ContrastHarmonicResult::getWaveNum, waveNum);
|
||||||
|
} else {
|
||||||
|
wrapper.isNull(ContrastHarmonicResult::getWaveNum);
|
||||||
|
}
|
||||||
|
List<ContrastHarmonicResult> result = wrapper.list();
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ContrastHarmonicResult> listAllResultData(String code, Integer num, String devId, List<String> adTypeList) {
|
public List<ContrastHarmonicResult> listAllResultData(String code, Integer num, Integer waveNum, Boolean isWave, String devId, List<String> adTypeList) {
|
||||||
String prefix = "ad_harmonic_result_" + code;
|
String prefix = "ad_harmonic_result_" + code;
|
||||||
DynamicTableNameHandler.setTableName(prefix);
|
DynamicTableNameHandler.setTableName(prefix);
|
||||||
List<ContrastHarmonicResult> result = this.lambdaQuery().likeRight(ContrastHarmonicResult::getDevMonitorId, devId)
|
LambdaQueryChainWrapper<ContrastHarmonicResult> wrapper = this.lambdaQuery().likeRight(ContrastHarmonicResult::getDevMonitorId, devId)
|
||||||
.eq(ObjectUtil.isNotNull(num), ContrastHarmonicResult::getNum, num)
|
.eq(ObjectUtil.isNotNull(num), ContrastHarmonicResult::getNum, num)
|
||||||
.in(CollUtil.isNotEmpty(adTypeList), ContrastHarmonicResult::getAdType, adTypeList).list();
|
.eq(ObjectUtil.isNotNull(waveNum), ContrastHarmonicResult::getWaveNum, waveNum)
|
||||||
|
.in(CollUtil.isNotEmpty(adTypeList), ContrastHarmonicResult::getAdType, adTypeList);
|
||||||
|
if (isWave) {
|
||||||
|
wrapper.eq(ObjectUtil.isNotNull(waveNum), ContrastHarmonicResult::getWaveNum, waveNum);
|
||||||
|
} else {
|
||||||
|
wrapper.isNull(ContrastHarmonicResult::getWaveNum);
|
||||||
|
}
|
||||||
|
List<ContrastHarmonicResult> result = wrapper.list();
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.njcn.gather.storage.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
|
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
|
||||||
import com.njcn.gather.storage.mapper.ContrastNonHarmonicMappper;
|
import com.njcn.gather.storage.mapper.ContrastNonHarmonicMappper;
|
||||||
@@ -22,25 +23,38 @@ public class ContrastNonHarmonicServiceImpl extends ServiceImpl<ContrastNonHarmo
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ContrastNonHarmonicResult> listAllRawData(String code, Integer num, Integer flag, String devId, List<String> adTypeList) {
|
public List<ContrastNonHarmonicResult> listAllRawData(String code, Integer num, Integer waveNum, Boolean isWave, Integer flag, String devId, List<String> adTypeList) {
|
||||||
String prefix = "ad_non_harmonic_" + code;
|
String prefix = "ad_non_harmonic_" + code;
|
||||||
DynamicTableNameHandler.setTableName(prefix);
|
DynamicTableNameHandler.setTableName(prefix);
|
||||||
List<ContrastNonHarmonicResult> result = this.lambdaQuery().likeRight(ContrastNonHarmonicResult::getDevMonitorId, devId)
|
LambdaQueryChainWrapper<ContrastNonHarmonicResult> wrapper = this.lambdaQuery().likeRight(ContrastNonHarmonicResult::getDevMonitorId, devId)
|
||||||
.eq(ObjectUtil.isNotNull(num), ContrastNonHarmonicResult::getNum, num)
|
.eq(ObjectUtil.isNotNull(num), ContrastNonHarmonicResult::getNum, num)
|
||||||
.eq(ContrastNonHarmonicResult::getFlag, flag)
|
.eq(ContrastNonHarmonicResult::getFlag, flag)
|
||||||
.in(CollUtil.isNotEmpty(adTypeList), ContrastNonHarmonicResult::getAdType, adTypeList)
|
.in(CollUtil.isNotEmpty(adTypeList), ContrastNonHarmonicResult::getAdType, adTypeList)
|
||||||
.orderByAsc(ContrastNonHarmonicResult::getTimeId).list();
|
.orderByAsc(ContrastNonHarmonicResult::getTimeId);
|
||||||
|
if (isWave) {
|
||||||
|
wrapper.eq(ObjectUtil.isNotNull(waveNum), ContrastNonHarmonicResult::getWaveNum, waveNum);
|
||||||
|
} else {
|
||||||
|
wrapper.isNull(ContrastNonHarmonicResult::getWaveNum);
|
||||||
|
}
|
||||||
|
List<ContrastNonHarmonicResult> result = wrapper.list();
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ContrastNonHarmonicResult> listAllResultData(String code, Integer num, String devId, List<String> adTypeList) {
|
public List<ContrastNonHarmonicResult> listAllResultData(String code, Integer num, Integer waveNum, Boolean isWave, String devId, List<String> adTypeList) {
|
||||||
String prefix = "ad_non_harmonic_result_" + code;
|
String prefix = "ad_non_harmonic_result_" + code;
|
||||||
DynamicTableNameHandler.setTableName(prefix);
|
DynamicTableNameHandler.setTableName(prefix);
|
||||||
List<ContrastNonHarmonicResult> result = this.lambdaQuery().likeRight(ContrastNonHarmonicResult::getDevMonitorId, devId)
|
LambdaQueryChainWrapper<ContrastNonHarmonicResult> wrapper = this.lambdaQuery().likeRight(ContrastNonHarmonicResult::getDevMonitorId, devId)
|
||||||
.eq(ObjectUtil.isNotNull(num), ContrastNonHarmonicResult::getNum, num)
|
.eq(ObjectUtil.isNotNull(num), ContrastNonHarmonicResult::getNum, num)
|
||||||
.in(CollUtil.isNotEmpty(adTypeList), ContrastNonHarmonicResult::getAdType, adTypeList).list();
|
.isNull(ObjectUtil.isNull(waveNum), ContrastNonHarmonicResult::getWaveNum)
|
||||||
|
.in(CollUtil.isNotEmpty(adTypeList), ContrastNonHarmonicResult::getAdType, adTypeList);
|
||||||
|
if (isWave) {
|
||||||
|
wrapper.eq(ObjectUtil.isNotNull(waveNum), ContrastNonHarmonicResult::getWaveNum, waveNum);
|
||||||
|
} else {
|
||||||
|
wrapper.isNull(ContrastNonHarmonicResult::getWaveNum);
|
||||||
|
}
|
||||||
|
List<ContrastNonHarmonicResult> result = wrapper.list();
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user