间谐波电压取基波有效值、角型接线时若不存在线电压指标则使用相电压指标、表结构调整以记录配对关系
This commit is contained in:
@@ -1,8 +1,11 @@
|
|||||||
package com.njcn.gather.detection.controller;
|
package com.njcn.gather.detection.controller;
|
||||||
|
|
||||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||||
|
import com.njcn.common.pojo.constant.OperateType;
|
||||||
|
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
|
import com.njcn.common.utils.LogUtil;
|
||||||
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.pojo.param.SimulateDetectionParam;
|
import com.njcn.gather.detection.pojo.param.SimulateDetectionParam;
|
||||||
@@ -17,8 +20,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author chendaofei
|
* @author chendaofei
|
||||||
@@ -145,19 +146,13 @@ public class PreDetectionController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取比对检测的监测次数信息
|
@OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.DOWNLOAD)
|
||||||
*
|
@PostMapping("/exportAlignData")
|
||||||
* @param planId
|
@ApiOperation("实时对齐数据导出为csv文件")
|
||||||
* @return
|
public void exportAlignData() {
|
||||||
*/
|
String methodDescribe = getMethodDescribe("exportAlignData");
|
||||||
@GetMapping("/getContrastTestNumInfo")
|
LogUtil.njcnDebug(log, "{}", methodDescribe);
|
||||||
@OperateInfo
|
preDetectionService.exportAlignData();
|
||||||
@ApiOperation("获取比对检测的检测次数信息")
|
|
||||||
@ApiImplicitParam(name = "planId", value = "计划ID", required = true)
|
|
||||||
public HttpResult<Map<Integer, Integer>> getContrastTestNumInfo(@RequestParam("planId") String planId) {
|
|
||||||
String methodDescribe = getMethodDescribe("getContrastTestNumInfo");
|
|
||||||
Map<Integer, Integer> result = preDetectionService.getContrastTestNumInfo(planId);
|
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.gather.detection.handler;
|
package com.njcn.gather.detection.handler;
|
||||||
|
|
||||||
|
import cn.afterturn.easypoi.excel.entity.ExportParams;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollUtil;
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
@@ -7,7 +8,9 @@ import cn.hutool.core.util.NumberUtil;
|
|||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.google.common.collect.HashBiMap;
|
import com.google.common.collect.HashBiMap;
|
||||||
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.gather.detection.pojo.enums.DetectionCodeEnum;
|
import com.njcn.gather.detection.pojo.enums.DetectionCodeEnum;
|
||||||
|
import com.njcn.gather.detection.pojo.enums.DetectionResponseEnum;
|
||||||
import com.njcn.gather.detection.pojo.enums.SourceOperateCodeEnum;
|
import com.njcn.gather.detection.pojo.enums.SourceOperateCodeEnum;
|
||||||
import com.njcn.gather.detection.pojo.enums.SourceResponseCodeEnum;
|
import com.njcn.gather.detection.pojo.enums.SourceResponseCodeEnum;
|
||||||
import com.njcn.gather.detection.pojo.param.ContrastDetectionParam;
|
import com.njcn.gather.detection.pojo.param.ContrastDetectionParam;
|
||||||
@@ -32,7 +35,11 @@ import com.njcn.gather.plan.pojo.enums.DataSourceEnum;
|
|||||||
import com.njcn.gather.plan.service.IAdPlanService;
|
import com.njcn.gather.plan.service.IAdPlanService;
|
||||||
import com.njcn.gather.storage.pojo.po.ContrastHarmonicResult;
|
import com.njcn.gather.storage.pojo.po.ContrastHarmonicResult;
|
||||||
import com.njcn.gather.storage.pojo.po.ContrastNonHarmonicResult;
|
import com.njcn.gather.storage.pojo.po.ContrastNonHarmonicResult;
|
||||||
|
import com.njcn.gather.storage.service.ContrastHarmonicService;
|
||||||
|
import com.njcn.gather.storage.service.ContrastNonHarmonicService;
|
||||||
import com.njcn.gather.storage.service.DetectionDataDealService;
|
import com.njcn.gather.storage.service.DetectionDataDealService;
|
||||||
|
import com.njcn.gather.system.cfg.pojo.po.SysTestConfig;
|
||||||
|
import com.njcn.gather.system.cfg.service.ISysTestConfigService;
|
||||||
import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum;
|
import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum;
|
||||||
import com.njcn.gather.system.dictionary.pojo.po.DictData;
|
import com.njcn.gather.system.dictionary.pojo.po.DictData;
|
||||||
import com.njcn.gather.system.dictionary.pojo.po.DictTree;
|
import com.njcn.gather.system.dictionary.pojo.po.DictTree;
|
||||||
@@ -40,7 +47,9 @@ import com.njcn.gather.system.dictionary.service.IDictDataService;
|
|||||||
import com.njcn.gather.system.dictionary.service.IDictTreeService;
|
import com.njcn.gather.system.dictionary.service.IDictTreeService;
|
||||||
import com.njcn.gather.system.reg.pojo.po.SysRegRes;
|
import com.njcn.gather.system.reg.pojo.po.SysRegRes;
|
||||||
import com.njcn.gather.system.reg.service.ISysRegResService;
|
import com.njcn.gather.system.reg.service.ISysRegResService;
|
||||||
|
import com.njcn.web.utils.ExcelUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
@@ -72,9 +81,11 @@ public class SocketContrastResponseService {
|
|||||||
private final DetectionDataDealService detectionDataDealService;
|
private final DetectionDataDealService detectionDataDealService;
|
||||||
private final ISysRegResService sysRegResService;
|
private final ISysRegResService sysRegResService;
|
||||||
private final DetectionServiceImpl detectionService;
|
private final DetectionServiceImpl detectionService;
|
||||||
|
private final ContrastNonHarmonicService contrastNonHarmonicService;
|
||||||
|
private final ContrastHarmonicService contrastHarmonicService;
|
||||||
|
private final ISysTestConfigService sysTestConfigService;
|
||||||
private final IAdPariService adPairService;
|
private final IAdPariService adPairService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 定时器
|
* 定时器
|
||||||
*/
|
*/
|
||||||
@@ -90,6 +101,11 @@ public class SocketContrastResponseService {
|
|||||||
*/
|
*/
|
||||||
private boolean checkResult = false;
|
private boolean checkResult = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否接收数据
|
||||||
|
*/
|
||||||
|
private boolean isReceiveData = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 成功的配对 key:被检设备ip_通道号,value:配对设备ip_通道号
|
* 成功的配对 key:被检设备ip_通道号,value:配对设备ip_通道号
|
||||||
*/
|
*/
|
||||||
@@ -111,22 +127,78 @@ public class SocketContrastResponseService {
|
|||||||
private SysRegRes contrastRegRes = null;
|
private SysRegRes contrastRegRes = null;
|
||||||
|
|
||||||
|
|
||||||
|
@Value("${log.homeDir}")
|
||||||
|
private String alignDataFilePath;
|
||||||
|
|
||||||
|
@Value("${phaseAngle.isEnable}")
|
||||||
|
private Boolean isPhaseAngle;
|
||||||
|
|
||||||
|
|
||||||
private static final Map<String, List<String>> testItemCodeMap = new HashMap() {{
|
private static final Map<String, List<String>> testItemCodeMap = new HashMap() {{
|
||||||
put("FREQ", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.FREQ.getCode()));
|
put("FREQ", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.FREQ.getCode()));
|
||||||
// put("V", Arrays.asList("real$VRMS", "real$VA", "real$DELTA_V"));
|
put("V", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VRMS.getCode(), DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PVRMS.getCode()));
|
||||||
put("V", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VRMS.getCode()));
|
put("HV", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V2_50.getCode(), DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PV2_50.getCode()));
|
||||||
put("HV", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V2_50.getCode(), DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.U1.getCode()));
|
put("HI", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I2_50.getCode()));
|
||||||
put("HI", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I2_50.getCode(), DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I1.getCode()));
|
|
||||||
put("HP", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.P2_50.getCode()));
|
put("HP", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.P2_50.getCode()));
|
||||||
put("HSV", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.SV_1_49.getCode()));
|
put("HSV", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.SV_1_49.getCode(), DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PSV_1_49.getCode()));
|
||||||
put("HSI", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.SI_1_49.getCode()));
|
put("HSI", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.SI_1_49.getCode()));
|
||||||
// put("I", Arrays.asList("real$IRMS", "real$IA"));
|
|
||||||
put("I", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.IRMS.getCode()));
|
put("I", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.IRMS.getCode()));
|
||||||
put("IMBV", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V_UNBAN.getCode()));
|
put("IMBV", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V_UNBAN.getCode()));
|
||||||
put("IMBA", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I_UNBAN.getCode()));
|
put("IMBA", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I_UNBAN.getCode()));
|
||||||
put("P", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.P_FUND.getCode()));
|
put("P", Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.P_FUND.getCode()));
|
||||||
}};
|
}};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取比对式检测次数
|
||||||
|
*
|
||||||
|
* @param devMonitorIds 被检设备监测点id列表
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
private Map<String, Integer> getContrastTestNum(List<String> devMonitorIds) {
|
||||||
|
Map<String, Integer> resultMap = new HashMap<>();
|
||||||
|
for (String devMonitorId : devMonitorIds) {
|
||||||
|
Integer maxNum = 1;
|
||||||
|
// DynamicTableNameHandler.setTableName("ad_non_harmonic_" + code);
|
||||||
|
// List<ContrastNonHarmonicResult> nonHarmonicResultList = contrastNonHarmonicService.lambdaQuery()
|
||||||
|
// .select(ContrastNonHarmonicResult::getNum)
|
||||||
|
// .eq(ContrastNonHarmonicResult::getMonitorId, devMonitorId)
|
||||||
|
// .orderByDesc(ContrastNonHarmonicResult::getNum)
|
||||||
|
// .last("LIMIT 1").list();
|
||||||
|
// if (CollUtil.isNotEmpty(nonHarmonicResultList)) {
|
||||||
|
// if (maxNum <= nonHarmonicResultList.get(0).getNum()) {
|
||||||
|
// maxNum = nonHarmonicResultList.get(0).getNum() + 1;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// DynamicTableNameHandler.remove();
|
||||||
|
//
|
||||||
|
// DynamicTableNameHandler.setTableName("ad_harmonic_" + code);
|
||||||
|
// List<ContrastHarmonicResult> harmonicResultList = contrastHarmonicService.lambdaQuery()
|
||||||
|
// .select(ContrastHarmonicResult::getNum)
|
||||||
|
// .eq(ContrastHarmonicResult::getMonitorId, devMonitorId)
|
||||||
|
// .orderByDesc(ContrastHarmonicResult::getNum)
|
||||||
|
// .last("LIMIT 1").list();
|
||||||
|
// if (CollUtil.isNotEmpty(harmonicResultList)) {
|
||||||
|
// if (maxNum <= harmonicResultList.get(0).getNum()) {
|
||||||
|
// maxNum = harmonicResultList.get(0).getNum() + 1;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// DynamicTableNameHandler.remove();
|
||||||
|
|
||||||
|
List<AdPair> adPairList = adPairService.lambdaQuery().select(AdPair::getNum)
|
||||||
|
.eq(AdPair::getDevMonitorId, devMonitorId)
|
||||||
|
.orderByDesc(AdPair::getNum)
|
||||||
|
.last("LIMIT 1").list();
|
||||||
|
if (CollUtil.isNotEmpty(adPairList)) {
|
||||||
|
if (maxNum <= adPairList.get(0).getNum()) {
|
||||||
|
maxNum = adPairList.get(0).getNum() + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
resultMap.put(devMonitorId, maxNum);
|
||||||
|
resultMap.put(FormalTestManager.pairsIdMap.get(devMonitorId), maxNum);
|
||||||
|
}
|
||||||
|
return resultMap;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化操作
|
* 初始化操作
|
||||||
@@ -134,6 +206,8 @@ public class SocketContrastResponseService {
|
|||||||
* @param param
|
* @param param
|
||||||
*/
|
*/
|
||||||
public void init(ContrastDetectionParam param) {
|
public void init(ContrastDetectionParam param) {
|
||||||
|
FormalTestManager.currentTestPlan = adPlanService.getById(param.getPlanId());
|
||||||
|
|
||||||
checkResult = false;
|
checkResult = false;
|
||||||
SocketManager.contrastClockMap.put(DataSourceEnum.REAL_DATA, 0L);
|
SocketManager.contrastClockMap.put(DataSourceEnum.REAL_DATA, 0L);
|
||||||
SocketManager.contrastClockMap.clear();
|
SocketManager.contrastClockMap.clear();
|
||||||
@@ -143,10 +217,8 @@ public class SocketContrastResponseService {
|
|||||||
FormalTestManager.isRemoveSocket = true;
|
FormalTestManager.isRemoveSocket = true;
|
||||||
|
|
||||||
HashBiMap<String, String> hashBiMap = HashBiMap.create(param.getPairs());
|
HashBiMap<String, String> hashBiMap = HashBiMap.create(param.getPairs());
|
||||||
|
FormalTestManager.pairsIdMap.clear();
|
||||||
FormalTestManager.currentTestPlan = adPlanService.getById(param.getPlanId());
|
FormalTestManager.pairsIdMap.putAll(hashBiMap);
|
||||||
DictData pattern = dictDataService.getById(FormalTestManager.currentTestPlan.getPattern());
|
|
||||||
FormalTestManager.patternEnum = PatternEnum.getEnum(pattern.getCode());
|
|
||||||
|
|
||||||
List<PreDetection> pqDevList = pqDevService.getDevInfo(param.getDevIds());
|
List<PreDetection> pqDevList = pqDevService.getDevInfo(param.getDevIds());
|
||||||
// key为被检设备id_通道号,value为监测点DTO
|
// key为被检设备id_通道号,value为监测点DTO
|
||||||
@@ -175,7 +247,7 @@ public class SocketContrastResponseService {
|
|||||||
List<String> standardDevIds = hashBiMap.values().stream().map(key -> key.split(CnSocketUtil.SPLIT_TAG)[0]).distinct().collect(Collectors.toList());
|
List<String> standardDevIds = hashBiMap.values().stream().map(key -> key.split(CnSocketUtil.SPLIT_TAG)[0]).distinct().collect(Collectors.toList());
|
||||||
FormalTestManager.standardDevList.addAll(pqStandardDevService.listStandardDevPreDetection(standardDevIds));
|
FormalTestManager.standardDevList.addAll(pqStandardDevService.listStandardDevPreDetection(standardDevIds));
|
||||||
|
|
||||||
FormalTestManager.pairsMap.clear();
|
FormalTestManager.pairsIpMap.clear();
|
||||||
// 标准设备根据配对关系设置监测点
|
// 标准设备根据配对关系设置监测点
|
||||||
FormalTestManager.standardDevList.stream().forEach(x -> {
|
FormalTestManager.standardDevList.stream().forEach(x -> {
|
||||||
List<PreDetection.MonitorListDTO> monitorList = new ArrayList<>();
|
List<PreDetection.MonitorListDTO> monitorList = new ArrayList<>();
|
||||||
@@ -192,12 +264,34 @@ public class SocketContrastResponseService {
|
|||||||
monitorListDTO.setPtStr(monitorListDTO1.getPtStr());
|
monitorListDTO.setPtStr(monitorListDTO1.getPtStr());
|
||||||
monitorListDTO.setCtStr(monitorListDTO1.getCtStr());
|
monitorListDTO.setCtStr(monitorListDTO1.getCtStr());
|
||||||
monitorListDTO.setStatInterval(monitorListDTO1.getStatInterval());
|
monitorListDTO.setStatInterval(monitorListDTO1.getStatInterval());
|
||||||
FormalTestManager.pairsMap.put(monitorListDTO1.getLineId(), monitorListDTO.getLineId());
|
FormalTestManager.pairsIpMap.put(monitorListDTO1.getLineId(), monitorListDTO.getLineId());
|
||||||
monitorList.add(monitorListDTO);
|
monitorList.add(monitorListDTO);
|
||||||
});
|
});
|
||||||
x.setMonitorList(monitorList);
|
x.setMonitorList(monitorList);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
FormalTestManager.devIdMapComm.clear();
|
||||||
|
FormalTestManager.devIdMapComm.putAll(FormalTestManager.devList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevId)));
|
||||||
|
FormalTestManager.devIdMapComm.putAll(FormalTestManager.standardDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevId)));
|
||||||
|
|
||||||
|
Map<String, Integer> numMap = getContrastTestNum(param.getPairs().keySet().stream().collect(Collectors.toList()));
|
||||||
|
param.setNumMap(numMap);
|
||||||
|
SysTestConfig oneConfig = sysTestConfigService.getOneConfig();
|
||||||
|
if (param.getTestItemList().get(2)) {
|
||||||
|
numMap.forEach((devMonitorId, num) -> {
|
||||||
|
if (oneConfig.getMaxTime() < num) {
|
||||||
|
throw new BusinessException(DetectionResponseEnum.EXCEED_MAX_TIME);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
DictData pattern = dictDataService.getById(FormalTestManager.currentTestPlan.getPattern());
|
||||||
|
FormalTestManager.patternEnum = PatternEnum.getEnum(pattern.getCode());
|
||||||
|
|
||||||
|
FormalTestManager.devNameMapComm.clear();
|
||||||
|
FormalTestManager.devNameMapComm.putAll(FormalTestManager.devList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName)));
|
||||||
|
FormalTestManager.devNameMapComm.putAll(FormalTestManager.standardDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName)));
|
||||||
|
|
||||||
FormalTestManager.devDataMap.clear();
|
FormalTestManager.devDataMap.clear();
|
||||||
FormalTestManager.devDataMap.putAll(FormalTestManager.devList.stream().flatMap(x -> x.getMonitorList().stream()).collect(Collectors.toMap(PreDetection.MonitorListDTO::getLineId, x -> new ArrayList<>())));
|
FormalTestManager.devDataMap.putAll(FormalTestManager.devList.stream().flatMap(x -> x.getMonitorList().stream()).collect(Collectors.toMap(PreDetection.MonitorListDTO::getLineId, x -> new ArrayList<>())));
|
||||||
FormalTestManager.standardDevDataMap.clear();
|
FormalTestManager.standardDevDataMap.clear();
|
||||||
@@ -229,13 +323,6 @@ public class SocketContrastResponseService {
|
|||||||
FormalTestManager.dataRule = DictDataEnum.SECTION_VALUE;
|
FormalTestManager.dataRule = DictDataEnum.SECTION_VALUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
FormalTestManager.devNameMapComm.clear();
|
|
||||||
FormalTestManager.devNameMapComm.putAll(FormalTestManager.devList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName)));
|
|
||||||
FormalTestManager.devNameMapComm.putAll(FormalTestManager.standardDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevName)));
|
|
||||||
|
|
||||||
FormalTestManager.devIdMapComm.clear();
|
|
||||||
FormalTestManager.devIdMapComm.putAll(FormalTestManager.devList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevId)));
|
|
||||||
FormalTestManager.devIdMapComm.putAll(FormalTestManager.standardDevList.stream().collect(Collectors.toMap(PreDetection::getDevIP, PreDetection::getDevId)));
|
|
||||||
|
|
||||||
FormalTestManager.currentStep = SourceOperateCodeEnum.YJC_SBTXJY;
|
FormalTestManager.currentStep = SourceOperateCodeEnum.YJC_SBTXJY;
|
||||||
}
|
}
|
||||||
@@ -404,7 +491,7 @@ public class SocketContrastResponseService {
|
|||||||
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||||
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
||||||
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
||||||
phaseSequenceParam.setDataType(Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VRMS.getCode()));
|
phaseSequenceParam.setDataType(Arrays.asList(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VRMS.getCode(), DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PVRMS.getCode()));
|
||||||
phaseSequenceParam.setReadCount(this.getMaxReadCount(5));
|
phaseSequenceParam.setReadCount(this.getMaxReadCount(5));
|
||||||
phaseSequenceParam.setIgnoreCount(0);
|
phaseSequenceParam.setIgnoreCount(0);
|
||||||
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
||||||
@@ -472,16 +559,14 @@ public class SocketContrastResponseService {
|
|||||||
|
|
||||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), false);
|
CnSocketUtil.contrastSendquit(param.getUserPageId(), false);
|
||||||
|
|
||||||
this.clearData();
|
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsIpMap.keySet(), successPair.keySet());
|
||||||
|
|
||||||
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsMap.keySet(), successPair.keySet());
|
|
||||||
// 向前端推送实时数据对齐失败的配对项
|
// 向前端推送实时数据对齐失败的配对项
|
||||||
for (String key : disjunction) {
|
for (String key : disjunction) {
|
||||||
SocketDataMsg webSend = new SocketDataMsg();
|
SocketDataMsg webSend = new SocketDataMsg();
|
||||||
webSend.setRequestId(SourceOperateCodeEnum.YJC_ALIGN.getValue());
|
webSend.setRequestId(SourceOperateCodeEnum.YJC_ALIGN.getValue());
|
||||||
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
webSend.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
||||||
webSend.setCode(SourceResponseCodeEnum.FAIL.getCode());
|
webSend.setCode(SourceResponseCodeEnum.FAIL.getCode());
|
||||||
webSend.setData(MsgUtil.getPairStr(key, FormalTestManager.pairsMap.inverse().get(key), FormalTestManager.devNameMapComm));
|
webSend.setData(MsgUtil.getPairStr(key, FormalTestManager.pairsIpMap.inverse().get(key), FormalTestManager.devNameMapComm));
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||||
}
|
}
|
||||||
// 推送最终失败结果
|
// 推送最终失败结果
|
||||||
@@ -493,6 +578,9 @@ public class SocketContrastResponseService {
|
|||||||
|
|
||||||
// 将数据推送给前端
|
// 将数据推送给前端
|
||||||
this.sendAlignDataToWeb(param.getUserPageId());
|
this.sendAlignDataToWeb(param.getUserPageId());
|
||||||
|
this.saveAlignData();
|
||||||
|
|
||||||
|
this.clearData();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -504,12 +592,12 @@ public class SocketContrastResponseService {
|
|||||||
String devMonitorId = monitorId1;
|
String devMonitorId = monitorId1;
|
||||||
String standardDevMonitorId = monitorId1;
|
String standardDevMonitorId = monitorId1;
|
||||||
if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
|
if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
|
||||||
standardDevMonitorId = FormalTestManager.pairsMap.get(monitorId1);
|
standardDevMonitorId = FormalTestManager.pairsIpMap.get(monitorId1);
|
||||||
FormalTestManager.devDataMap.get(monitorId1).add(devData);
|
FormalTestManager.devDataMap.get(monitorId1).add(devData);
|
||||||
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
}
|
}
|
||||||
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
|
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
|
||||||
devMonitorId = FormalTestManager.pairsMap.inverse().get(monitorId1);
|
devMonitorId = FormalTestManager.pairsIpMap.inverse().get(monitorId1);
|
||||||
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
|
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
|
||||||
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
}
|
}
|
||||||
@@ -528,13 +616,14 @@ public class SocketContrastResponseService {
|
|||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||||
|
|
||||||
// 若成功的配对项等于总的配对项,则判定为成功
|
// 若成功的配对项等于总的配对项,则判定为成功
|
||||||
if (successPair.keySet().containsAll(FormalTestManager.pairsMap.keySet())) {
|
if (successPair.keySet().containsAll(FormalTestManager.pairsIpMap.keySet())) {
|
||||||
checkResult = true;
|
checkResult = true;
|
||||||
scheduledFuture.cancel(true);
|
scheduledFuture.cancel(true);
|
||||||
scheduler.shutdown();
|
scheduler.shutdown();
|
||||||
|
|
||||||
// 将数据推送给前端
|
// 将数据推送给前端
|
||||||
this.sendAlignDataToWeb(param.getUserPageId());
|
this.sendAlignDataToWeb(param.getUserPageId());
|
||||||
|
this.saveAlignData();
|
||||||
|
|
||||||
this.clearData();
|
this.clearData();
|
||||||
|
|
||||||
@@ -552,9 +641,13 @@ public class SocketContrastResponseService {
|
|||||||
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
||||||
phaseSequenceParam.setDataType(Arrays.asList(
|
phaseSequenceParam.setDataType(Arrays.asList(
|
||||||
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VRMS.getCode(),
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VRMS.getCode(),
|
||||||
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PVRMS.getCode(),
|
||||||
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VA.getCode(),
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.VA.getCode(),
|
||||||
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.IRMS.getCode(),
|
|
||||||
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.IA.getCode(),
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.IA.getCode(),
|
||||||
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.U1A.getCode(),
|
||||||
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PU1A.getCode(),
|
||||||
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I1A.getCode(),
|
||||||
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.IRMS.getCode(),
|
||||||
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V_UNBAN.getCode(),
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V_UNBAN.getCode(),
|
||||||
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I_UNBAN.getCode()));
|
DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I_UNBAN.getCode()));
|
||||||
phaseSequenceParam.setReadCount(this.getMaxReadCount(1));
|
phaseSequenceParam.setReadCount(this.getMaxReadCount(1));
|
||||||
@@ -616,14 +709,14 @@ public class SocketContrastResponseService {
|
|||||||
String standardDevMonitorId = monitorId1;
|
String standardDevMonitorId = monitorId1;
|
||||||
|
|
||||||
if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
|
if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
|
||||||
standardDevMonitorId = FormalTestManager.pairsMap.get(monitorId1);
|
standardDevMonitorId = FormalTestManager.pairsIpMap.get(monitorId1);
|
||||||
if (!successPair.containsKey(devMonitorId)) {
|
if (!successPair.containsKey(devMonitorId)) {
|
||||||
FormalTestManager.devDataMap.get(monitorId1).add(devData);
|
FormalTestManager.devDataMap.get(monitorId1).add(devData);
|
||||||
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
|
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
|
||||||
devMonitorId = FormalTestManager.pairsMap.inverse().get(monitorId1);
|
devMonitorId = FormalTestManager.pairsIpMap.inverse().get(monitorId1);
|
||||||
if (!successPair.containsKey(devMonitorId)) {
|
if (!successPair.containsKey(devMonitorId)) {
|
||||||
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
|
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
|
||||||
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
@@ -635,12 +728,12 @@ public class SocketContrastResponseService {
|
|||||||
successComm.add(standardDevMonitorId);
|
successComm.add(standardDevMonitorId);
|
||||||
successComm.add(devMonitorId);
|
successComm.add(devMonitorId);
|
||||||
// successComm.add(monitorId1);
|
// successComm.add(monitorId1);
|
||||||
List<List<DevData>> singleMonitorAlignData = getSingleMonitorAlignData(FormalTestManager.devDataMap.get(devMonitorId), FormalTestManager.standardDevDataMap.get(standardDevMonitorId));
|
List<List<DevData>> singleMonitorAlignData = getSingleMonitorAlignData(FormalTestManager.devDataMap.get(devMonitorId), FormalTestManager.standardDevDataMap.get(standardDevMonitorId), 1);
|
||||||
PreDetection.MonitorListDTO monitorListDTO = FormalTestManager.monitorMap.get(devMonitorId);
|
PreDetection.MonitorListDTO monitorListDTO = FormalTestManager.monitorMap.get(devMonitorId);
|
||||||
if (this.singleMonitorXuCheck(devMonitorId, standardDevMonitorId, monitorListDTO, singleMonitorAlignData.get(0), singleMonitorAlignData.get(1), FormalTestManager.devNameMapComm, param.getUserPageId())) {
|
if (this.singleMonitorXuCheck(devMonitorId, standardDevMonitorId, monitorListDTO, singleMonitorAlignData.get(0), singleMonitorAlignData.get(1), FormalTestManager.devNameMapComm, param.getUserPageId())) {
|
||||||
successPair.put(devMonitorId, standardDevMonitorId);
|
successPair.put(devMonitorId, standardDevMonitorId);
|
||||||
// 若成功的配对项等于总的配对项,则判定为成功
|
// 若成功的配对项等于总的配对项,则判定为成功
|
||||||
if (successPair.keySet().containsAll(FormalTestManager.pairsMap.keySet())) {
|
if (successPair.keySet().containsAll(FormalTestManager.pairsIpMap.keySet())) {
|
||||||
|
|
||||||
this.clearData();
|
this.clearData();
|
||||||
|
|
||||||
@@ -743,11 +836,11 @@ public class SocketContrastResponseService {
|
|||||||
|
|
||||||
this.clearData();
|
this.clearData();
|
||||||
|
|
||||||
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsMap.keySet(), successPair.keySet());
|
Collection<String> disjunction = CollectionUtil.disjunction(FormalTestManager.pairsIpMap.keySet(), successPair.keySet());
|
||||||
// 向前端推送收集数据不完整的配对项
|
// 向前端推送收集数据不完整的配对项
|
||||||
for (String key : disjunction) {
|
for (String key : disjunction) {
|
||||||
webSend.setCode(SourceResponseCodeEnum.FAIL.getCode());
|
webSend.setCode(SourceResponseCodeEnum.FAIL.getCode());
|
||||||
webSend.setData(MsgUtil.getPairStr(key, FormalTestManager.pairsMap.inverse().get(key), FormalTestManager.devNameMapComm) + " 数据收集不完整!");
|
webSend.setData(MsgUtil.getPairStr(key, FormalTestManager.pairsIpMap.inverse().get(key), FormalTestManager.devNameMapComm) + " 数据收集不完整!");
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||||
}
|
}
|
||||||
// 推送最终失败结果
|
// 推送最终失败结果
|
||||||
@@ -765,14 +858,14 @@ public class SocketContrastResponseService {
|
|||||||
String standardDevMonitorId = monitorId1;
|
String standardDevMonitorId = monitorId1;
|
||||||
|
|
||||||
if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
|
if (FormalTestManager.devDataMap.containsKey(monitorId1)) {
|
||||||
standardDevMonitorId = FormalTestManager.pairsMap.get(monitorId1);
|
standardDevMonitorId = FormalTestManager.pairsIpMap.get(monitorId1);
|
||||||
if (!successPair.containsKey(devMonitorId)) {
|
if (!successPair.containsKey(devMonitorId)) {
|
||||||
FormalTestManager.devDataMap.get(monitorId1).add(devData);
|
FormalTestManager.devDataMap.get(monitorId1).add(devData);
|
||||||
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
Collections.sort(FormalTestManager.devDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
|
if (FormalTestManager.standardDevDataMap.containsKey(monitorId1)) {
|
||||||
devMonitorId = FormalTestManager.pairsMap.inverse().get(monitorId1);
|
devMonitorId = FormalTestManager.pairsIpMap.inverse().get(monitorId1);
|
||||||
if (!successPair.containsKey(devMonitorId)) {
|
if (!successPair.containsKey(devMonitorId)) {
|
||||||
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
|
FormalTestManager.standardDevDataMap.get(monitorId1).add(devData);
|
||||||
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
Collections.sort(FormalTestManager.standardDevDataMap.get(monitorId1), Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
@@ -781,7 +874,7 @@ public class SocketContrastResponseService {
|
|||||||
|
|
||||||
if (!successPair.containsKey(devMonitorId)) {
|
if (!successPair.containsKey(devMonitorId)) {
|
||||||
if (FormalTestManager.devDataMap.get(devMonitorId).size() >= realTime && FormalTestManager.standardDevDataMap.get(standardDevMonitorId).size() >= realTime) {
|
if (FormalTestManager.devDataMap.get(devMonitorId).size() >= realTime && FormalTestManager.standardDevDataMap.get(standardDevMonitorId).size() >= realTime) {
|
||||||
List<List<DevData>> singleMonitorAlignData = getSingleMonitorAlignData(FormalTestManager.devDataMap.get(devMonitorId), FormalTestManager.standardDevDataMap.get(standardDevMonitorId));
|
List<List<DevData>> singleMonitorAlignData = getSingleMonitorAlignData(FormalTestManager.devDataMap.get(devMonitorId), FormalTestManager.standardDevDataMap.get(standardDevMonitorId), realTime);
|
||||||
if (singleMonitorAlignData.get(0).size() >= realTime && singleMonitorAlignData.get(1).size() >= realTime) {
|
if (singleMonitorAlignData.get(0).size() >= realTime && singleMonitorAlignData.get(1).size() >= realTime) {
|
||||||
successPair.put(devMonitorId, standardDevMonitorId);
|
successPair.put(devMonitorId, standardDevMonitorId);
|
||||||
// 推送收集数据成功的配对项
|
// 推送收集数据成功的配对项
|
||||||
@@ -789,44 +882,41 @@ public class SocketContrastResponseService {
|
|||||||
webSend.setData(MsgUtil.getPairStr(devMonitorId, standardDevMonitorId, FormalTestManager.devNameMapComm) + " 数据收集成功!");
|
webSend.setData(MsgUtil.getPairStr(devMonitorId, standardDevMonitorId, FormalTestManager.devNameMapComm) + " 数据收集成功!");
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||||
|
|
||||||
if (successPair.keySet().containsAll(FormalTestManager.pairsMap.keySet())) {
|
if (successPair.keySet().containsAll(FormalTestManager.pairsIpMap.keySet())) {
|
||||||
|
isReceiveData = false;
|
||||||
|
// 断开与设备的连接,但是不要将Socket移除
|
||||||
|
CnSocketUtil.contrastSendquit(param.getUserPageId(), false);
|
||||||
checkResult = true;
|
checkResult = true;
|
||||||
scheduledFuture.cancel(true);
|
scheduledFuture.cancel(true);
|
||||||
scheduler.shutdown();
|
scheduler.shutdown();
|
||||||
|
|
||||||
// 断开与设备的连接,但是不要将Socket移除
|
|
||||||
CnSocketUtil.contrastSendquit(param.getUserPageId(), false);
|
|
||||||
|
|
||||||
String errorSysId = FormalTestManager.currentTestPlan.getErrorSysId();
|
String errorSysId = FormalTestManager.currentTestPlan.getErrorSysId();
|
||||||
String code = String.valueOf(FormalTestManager.currentTestPlan.getCode());
|
String code = String.valueOf(FormalTestManager.currentTestPlan.getCode());
|
||||||
// 原始数据入库
|
|
||||||
baseDataInsert(singleMonitorAlignData.get(0), param.getNum(), code, FormalTestManager.testItemMap);
|
|
||||||
baseDataInsert(singleMonitorAlignData.get(1), param.getNum(), code, FormalTestManager.testItemMap);
|
|
||||||
|
|
||||||
// 配对关系入库
|
// 配对关系入库
|
||||||
List<AdPair> adPairList = new ArrayList<>();
|
List<AdPair> adPairList = new ArrayList<>();
|
||||||
for (String key : FormalTestManager.pairsMap.keySet()) {
|
for (String key : FormalTestManager.pairsIdMap.keySet()) {
|
||||||
String standardDevId = FormalTestManager.pairsMap.get(key);
|
|
||||||
AdPair adPair = new AdPair();
|
AdPair adPair = new AdPair();
|
||||||
adPair.setPlanId(FormalTestManager.currentTestPlan.getId());
|
adPair.setPlanId(FormalTestManager.currentTestPlan.getId());
|
||||||
String[] split = key.split(CnSocketUtil.SPLIT_TAG);
|
adPair.setDevMonitorId(key);
|
||||||
adPair.setDevMonitorId(FormalTestManager.devIdMapComm.get(split[0]) + CnSocketUtil.SPLIT_TAG + split[1]);
|
adPair.setStdDevMonitorId(FormalTestManager.pairsIdMap.get(key));
|
||||||
split = standardDevId.split(CnSocketUtil.SPLIT_TAG);
|
adPair.setNum(param.getNumMap().get(key));
|
||||||
adPair.setStdDevMonitorId(FormalTestManager.devIdMapComm.get(split[0]) + CnSocketUtil.SPLIT_TAG + split[1]);
|
|
||||||
adPair.setNum(param.getNum());
|
|
||||||
adPairList.add(adPair);
|
adPairList.add(adPair);
|
||||||
}
|
}
|
||||||
adPairService.saveBatch(adPairList);
|
adPairService.saveBatch(adPairList);
|
||||||
|
|
||||||
|
// 原始数据入库
|
||||||
|
baseDataInsert(false, singleMonitorAlignData.get(0), param.getNumMap(), code);
|
||||||
|
baseDataInsert(true, singleMonitorAlignData.get(1), param.getNumMap(), code);
|
||||||
|
|
||||||
// 进行误差计算
|
// 进行误差计算
|
||||||
List<DevLineTestResult> allResultList = detectionService.processing(
|
List<DevLineTestResult> allResultList = detectionService.processing(
|
||||||
FormalTestManager.devDataMap.values().stream().flatMap(Collection::stream).collect(Collectors.toList()),
|
FormalTestManager.devDataMap.values().stream().flatMap(Collection::stream).collect(Collectors.toList()),
|
||||||
FormalTestManager.standardDevDataMap.values().stream().flatMap(Collection::stream).collect(Collectors.toList()),
|
FormalTestManager.standardDevDataMap.values().stream().flatMap(Collection::stream).collect(Collectors.toList()),
|
||||||
FormalTestManager.pairsMap,
|
FormalTestManager.pairsIpMap,
|
||||||
FormalTestManager.devIdMapComm,
|
FormalTestManager.devIdMapComm,
|
||||||
FormalTestManager.monitorMap,
|
|
||||||
FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList()),
|
FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList()),
|
||||||
errorSysId, FormalTestManager.dataRule, param.getNum(), code);
|
errorSysId, FormalTestManager.dataRule, param.getNumMap(), code);
|
||||||
|
|
||||||
this.clearData();
|
this.clearData();
|
||||||
|
|
||||||
@@ -834,6 +924,9 @@ public class SocketContrastResponseService {
|
|||||||
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送
|
webSend.setCode(SourceResponseCodeEnum.ALL_SUCCESS.getCode());//最终成功推送
|
||||||
webSend.setData(JSON.toJSONString(allResultList));
|
webSend.setData(JSON.toJSONString(allResultList));
|
||||||
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(param.getUserPageId(), JSON.toJSONString(webSend));
|
||||||
|
|
||||||
|
// 修改设备状态
|
||||||
|
pqDevService.updateResult(true, param.getDevIds(), FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList()), code, param.getUserId(), param.getTemperature(), param.getHumidity());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -932,14 +1025,18 @@ public class SocketContrastResponseService {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private List<String> getAllDataType() {
|
private List<String> getAllDataType() {
|
||||||
List<String> testCodes = FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toList());
|
Set<String> testCodes = FormalTestManager.testItemMap.keySet().stream().collect(Collectors.toSet());
|
||||||
if (testCodes.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V2_50.getCode())) {
|
if (testCodes.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V2_50.getCode())
|
||||||
|
|| testCodes.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PV2_50.getCode())
|
||||||
|
|| testCodes.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.SV_1_49.getCode())
|
||||||
|
|| testCodes.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PSV_1_49.getCode())) {
|
||||||
testCodes.add(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.U1.getCode());
|
testCodes.add(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.U1.getCode());
|
||||||
|
testCodes.add(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PU1.getCode());
|
||||||
}
|
}
|
||||||
if (testCodes.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I2_50.getCode())) {
|
if (testCodes.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I2_50.getCode())) {
|
||||||
testCodes.add(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I1.getCode());
|
testCodes.add(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.I1.getCode());
|
||||||
}
|
}
|
||||||
return testCodes;
|
return testCodes.stream().sorted().collect(Collectors.toList());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -952,21 +1049,6 @@ public class SocketContrastResponseService {
|
|||||||
return (int) (Math.ceil(targetCount / 5.0) * 20);
|
return (int) (Math.ceil(targetCount / 5.0) * 20);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 向通讯模块发送不再接收数据
|
|
||||||
*/
|
|
||||||
private void sendNotReceiveData(String s) {
|
|
||||||
SocketMsg<String> socketMsg = new SocketMsg<>();
|
|
||||||
socketMsg.setRequestId(SourceOperateCodeEnum.FORMAL_REAL.getValue());
|
|
||||||
socketMsg.setOperateCode(SourceOperateCodeEnum.DEV_DATA_REQUEST_02.getValue());
|
|
||||||
DevPhaseSequenceParam phaseSequenceParam = new DevPhaseSequenceParam();
|
|
||||||
phaseSequenceParam.setMoniterIdList(Arrays.asList(FormalTestManager.monitorMap.keySet().toArray(new String[FormalTestManager.monitorMap.size()])));
|
|
||||||
phaseSequenceParam.setReadCount(0);
|
|
||||||
phaseSequenceParam.setIgnoreCount(0);
|
|
||||||
socketMsg.setData(JSON.toJSONString(phaseSequenceParam));
|
|
||||||
|
|
||||||
SocketManager.sendMsg(s, JSON.toJSONString(socketMsg));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 实时数据对齐-将数据推送给前端
|
* 实时数据对齐-将数据推送给前端
|
||||||
@@ -991,7 +1073,8 @@ public class SocketContrastResponseService {
|
|||||||
List<AlignDataVO.ChannelData> channelDataList = new ArrayList<>();
|
List<AlignDataVO.ChannelData> channelDataList = new ArrayList<>();
|
||||||
channelDataMap.forEach((channel, channelDevDataList) -> {
|
channelDataMap.forEach((channel, channelDevDataList) -> {
|
||||||
String standardDevMonitorId = ip + CnSocketUtil.SPLIT_TAG + channel;
|
String standardDevMonitorId = ip + CnSocketUtil.SPLIT_TAG + channel;
|
||||||
String devMonitorId = FormalTestManager.pairsMap.inverse().get(standardDevMonitorId);
|
String devMonitorId = FormalTestManager.pairsIpMap.inverse().get(standardDevMonitorId);
|
||||||
|
PreDetection.MonitorListDTO monitorListDTO = FormalTestManager.monitorMap.get(devMonitorId);
|
||||||
List<DevData> devDataList = BeanUtil.copyToList(FormalTestManager.devDataMap.get(devMonitorId), DevData.class);
|
List<DevData> devDataList = BeanUtil.copyToList(FormalTestManager.devDataMap.get(devMonitorId), DevData.class);
|
||||||
channelDevDataList.sort(Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
channelDevDataList.sort(Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
|
|
||||||
@@ -1000,21 +1083,43 @@ public class SocketContrastResponseService {
|
|||||||
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
|
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
|
||||||
channelData.setDevInfo(FormalTestManager.devNameMapComm.get(split[0]) + "通道" + split[1]);
|
channelData.setDevInfo(FormalTestManager.devNameMapComm.get(split[0]) + "通道" + split[1]);
|
||||||
|
|
||||||
|
boolean isStar = DetectionCodeEnum.STAR.getCode().equals(monitorListDTO.getConnection());
|
||||||
|
boolean isDelta = DetectionCodeEnum.DELTA.getCode().equals(monitorListDTO.getConnection());
|
||||||
List<AlignDataVO.RawData> dataList = channelDevDataList.stream().map(obj -> {
|
List<AlignDataVO.RawData> dataList = channelDevDataList.stream().map(obj -> {
|
||||||
|
DevData.SqlDataDTO.ListDTO list1 = null;
|
||||||
|
DevData.SqlDataDTO sqlDataDTO1 = null;
|
||||||
|
if (isStar) {
|
||||||
|
sqlDataDTO1 = obj.getSqlData().stream().filter(x -> x.getDesc().equals(DetectionCodeEnum.VRMS.getCode())).findFirst().orElse(null);
|
||||||
|
}
|
||||||
|
if (isDelta) {
|
||||||
|
sqlDataDTO1 = obj.getSqlData().stream().filter(x -> x.getDesc().equals(DetectionCodeEnum.PVRMS.getCode())).findFirst().orElse(null);
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isNotNull(sqlDataDTO1)) {
|
||||||
|
list1 = sqlDataDTO1.getList();
|
||||||
|
}
|
||||||
AlignDataVO.RawData rawData = new AlignDataVO.RawData();
|
AlignDataVO.RawData rawData = new AlignDataVO.RawData();
|
||||||
DevData.SqlDataDTO.ListDTO list = obj.getSqlData().get(0).getList();
|
rawData.setUaStdDev(list1.getA());
|
||||||
rawData.setUaStdDev(list.getA());
|
rawData.setUbStdDev(list1.getB());
|
||||||
rawData.setUbStdDev(list.getB());
|
rawData.setUcStdDev(list1.getC());
|
||||||
rawData.setUcStdDev(list.getC());
|
rawData.setTimeStdDev(obj.getTime().replace("T", " "));
|
||||||
rawData.setTimeStdDev(obj.getTime());
|
|
||||||
|
|
||||||
DevData devData = devDataList.stream().filter(obj1 -> DetectionUtil.isAlignData(obj1, obj)).findFirst().orElse(null);
|
DevData devData = devDataList.stream().filter(obj1 -> DetectionUtil.isAlignData(obj1, obj)).findFirst().orElse(null);
|
||||||
if (ObjectUtil.isNotNull(devData)) {
|
if (ObjectUtil.isNotNull(devData)) {
|
||||||
DevData.SqlDataDTO.ListDTO list1 = devData.getSqlData().get(0).getList();
|
DevData.SqlDataDTO.ListDTO list2 = null;
|
||||||
rawData.setUaDev(list1.getA());
|
DevData.SqlDataDTO sqlDataDTO2 = null;
|
||||||
rawData.setUbDev(list1.getB());
|
if (isStar) {
|
||||||
rawData.setUcDev(list1.getC());
|
sqlDataDTO2 = devData.getSqlData().stream().filter(x -> x.getDesc().equals(DetectionCodeEnum.VRMS.getCode())).findFirst().orElse(null);
|
||||||
rawData.setTimeDev(devData.getTime());
|
}
|
||||||
|
if (isDelta) {
|
||||||
|
sqlDataDTO2 = devData.getSqlData().stream().filter(x -> x.getDesc().equals(DetectionCodeEnum.PVRMS.getCode())).findFirst().orElse(null);
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isNotNull(sqlDataDTO2)) {
|
||||||
|
list2 = sqlDataDTO2.getList();
|
||||||
|
}
|
||||||
|
rawData.setUaDev(list2.getA());
|
||||||
|
rawData.setUbDev(list2.getB());
|
||||||
|
rawData.setUcDev(list2.getC());
|
||||||
|
rawData.setTimeDev(devData.getTime().replace("T", " "));
|
||||||
devDataList.remove(devData);
|
devDataList.remove(devData);
|
||||||
}
|
}
|
||||||
return rawData;
|
return rawData;
|
||||||
@@ -1026,7 +1131,7 @@ public class SocketContrastResponseService {
|
|||||||
rawData.setUaDev(list.getA());
|
rawData.setUaDev(list.getA());
|
||||||
rawData.setUbDev(list.getB());
|
rawData.setUbDev(list.getB());
|
||||||
rawData.setUcDev(list.getC());
|
rawData.setUcDev(list.getC());
|
||||||
rawData.setTimeDev(obj.getTime());
|
rawData.setTimeDev(obj.getTime().replace("T", " "));
|
||||||
return rawData;
|
return rawData;
|
||||||
}).collect(Collectors.toList()));
|
}).collect(Collectors.toList()));
|
||||||
channelData.setDataList(dataList);
|
channelData.setDataList(dataList);
|
||||||
@@ -1040,6 +1145,94 @@ public class SocketContrastResponseService {
|
|||||||
WebServiceManager.sendMsg(userPageId, JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(userPageId, JSON.toJSONString(webSend));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 实时数据对齐-保存数据到excel文件
|
||||||
|
*/
|
||||||
|
private void saveAlignData() {
|
||||||
|
List<Map<String, Object>> sheetsList = new ArrayList<>();
|
||||||
|
|
||||||
|
// key为被检设备的ip, value为该ip下所有通道的设备数据
|
||||||
|
Map<String, List<DevData>> ipDevDataMap = FormalTestManager.standardDevDataMap.values().stream().flatMap(List::stream).collect(Collectors.groupingBy(obj -> obj.getId().split(CnSocketUtil.SPLIT_TAG)[0]));
|
||||||
|
|
||||||
|
ipDevDataMap.forEach((ip, stdDevDataList) -> {
|
||||||
|
// 按照通道号分组。key为通道号,value为该通道号下所有设备数据
|
||||||
|
Map<String, List<DevData>> channelDataMap = stdDevDataList.stream().collect(Collectors.groupingBy(obj -> obj.getId().split(CnSocketUtil.SPLIT_TAG)[1]));
|
||||||
|
|
||||||
|
channelDataMap.forEach((channel, channelDevDataList) -> {
|
||||||
|
String standardDevMonitorId = ip + CnSocketUtil.SPLIT_TAG + channel;
|
||||||
|
String devMonitorId = FormalTestManager.pairsIpMap.inverse().get(standardDevMonitorId);
|
||||||
|
PreDetection.MonitorListDTO monitorListDTO = FormalTestManager.monitorMap.get(devMonitorId);
|
||||||
|
List<DevData> devDataList = BeanUtil.copyToList(FormalTestManager.devDataMap.get(devMonitorId), DevData.class);
|
||||||
|
channelDevDataList.sort(Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
|
|
||||||
|
HashMap sheet = new HashMap<>();
|
||||||
|
ExportParams exportParams = new ExportParams();
|
||||||
|
String standardDevName = FormalTestManager.devNameMapComm.get(ip);
|
||||||
|
exportParams.setSheetName(standardDevName + "通道" + channel);
|
||||||
|
sheet.put("title", exportParams);
|
||||||
|
|
||||||
|
List<AlignDataExcel> dataList = new ArrayList<>();
|
||||||
|
boolean isStar = DetectionCodeEnum.STAR.getCode().equals(monitorListDTO.getConnection());
|
||||||
|
boolean isDelta = DetectionCodeEnum.DELTA.getCode().equals(monitorListDTO.getConnection());
|
||||||
|
channelDevDataList.stream().forEach(obj -> {
|
||||||
|
DevData.SqlDataDTO.ListDTO list1 = null;
|
||||||
|
DevData.SqlDataDTO sqlDataDTO1 = null;
|
||||||
|
if (isStar) {
|
||||||
|
sqlDataDTO1 = obj.getSqlData().stream().filter(x -> x.getDesc().equals(DetectionCodeEnum.VRMS.getCode())).findFirst().orElse(null);
|
||||||
|
}
|
||||||
|
if (isDelta) {
|
||||||
|
sqlDataDTO1 = obj.getSqlData().stream().filter(x -> x.getDesc().equals(DetectionCodeEnum.PVRMS.getCode())).findFirst().orElse(null);
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isNotNull(sqlDataDTO1)) {
|
||||||
|
list1 = sqlDataDTO1.getList();
|
||||||
|
}
|
||||||
|
AlignDataExcel alignDataExcel = new AlignDataExcel();
|
||||||
|
alignDataExcel.setTimeStdDev(obj.getTime().replace("T", " "));
|
||||||
|
alignDataExcel.setUaStdDev(list1.getA());
|
||||||
|
alignDataExcel.setUbStdDev(list1.getB());
|
||||||
|
alignDataExcel.setUcStdDev(list1.getC());
|
||||||
|
|
||||||
|
DevData devData = devDataList.stream().filter(obj1 -> DetectionUtil.isAlignData(obj1, obj)).findFirst().orElse(null);
|
||||||
|
if (ObjectUtil.isNotNull(devData)) {
|
||||||
|
DevData.SqlDataDTO.ListDTO list2 = null;
|
||||||
|
DevData.SqlDataDTO sqlDataDTO2 = null;
|
||||||
|
if (isStar) {
|
||||||
|
sqlDataDTO2 = obj.getSqlData().stream().filter(x -> x.getDesc().equals(DetectionCodeEnum.VRMS.getCode())).findFirst().orElse(null);
|
||||||
|
}
|
||||||
|
if (isDelta) {
|
||||||
|
sqlDataDTO2 = obj.getSqlData().stream().filter(x -> x.getDesc().equals(DetectionCodeEnum.PVRMS.getCode())).findFirst().orElse(null);
|
||||||
|
}
|
||||||
|
if (ObjectUtil.isNotNull(sqlDataDTO2)) {
|
||||||
|
list2 = sqlDataDTO2.getList();
|
||||||
|
}
|
||||||
|
alignDataExcel.setTimeDev(devData.getTime().replace("T", " "));
|
||||||
|
alignDataExcel.setUaDev(list2.getA());
|
||||||
|
alignDataExcel.setUbDev(list2.getB());
|
||||||
|
alignDataExcel.setUcDev(list2.getC());
|
||||||
|
devDataList.remove(devData);
|
||||||
|
}
|
||||||
|
dataList.add(alignDataExcel);
|
||||||
|
});
|
||||||
|
devDataList.sort(Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
||||||
|
devDataList.stream().forEach(obj -> {
|
||||||
|
AlignDataExcel alignDataExcel = new AlignDataExcel();
|
||||||
|
DevData.SqlDataDTO.ListDTO list2 = obj.getSqlData().get(0).getList();
|
||||||
|
alignDataExcel.setTimeDev(obj.getTime().replace("T", " "));
|
||||||
|
alignDataExcel.setUaDev(list2.getA());
|
||||||
|
alignDataExcel.setUbDev(list2.getB());
|
||||||
|
alignDataExcel.setUcDev(list2.getC());
|
||||||
|
dataList.add(alignDataExcel);
|
||||||
|
});
|
||||||
|
|
||||||
|
sheet.put("data", dataList);
|
||||||
|
sheet.put("entity", AlignDataExcel.class);
|
||||||
|
sheetsList.add(sheet);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
ExcelUtil.saveExcel(alignDataFilePath, "实时数据.xlsx", sheetsList);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 模型一致性校验
|
* 模型一致性校验
|
||||||
*
|
*
|
||||||
@@ -1059,7 +1252,10 @@ public class SocketContrastResponseService {
|
|||||||
List<String> allTestItem = this.getAllDataType();
|
List<String> allTestItem = this.getAllDataType();
|
||||||
if (DetectionCodeEnum.STAR.getCode().equals(monitorListDTO.getConnection())) {
|
if (DetectionCodeEnum.STAR.getCode().equals(monitorListDTO.getConnection())) {
|
||||||
// 移除相关线电压测试项
|
// 移除相关线电压测试项
|
||||||
// allTestItem.remove()
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PVRMS.getCode());
|
||||||
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PU1.getCode());
|
||||||
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PV2_50.getCode());
|
||||||
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PSV_1_49.getCode());
|
||||||
}
|
}
|
||||||
if (DetectionCodeEnum.DELTA.getCode().equals(monitorListDTO.getConnection())) {
|
if (DetectionCodeEnum.DELTA.getCode().equals(monitorListDTO.getConnection())) {
|
||||||
// 移除相关相电压测试项
|
// 移除相关相电压测试项
|
||||||
@@ -1067,6 +1263,16 @@ public class SocketContrastResponseService {
|
|||||||
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.U1.getCode());
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.U1.getCode());
|
||||||
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V2_50.getCode());
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.V2_50.getCode());
|
||||||
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.SV_1_49.getCode());
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.SV_1_49.getCode());
|
||||||
|
|
||||||
|
// 如果是在是没有线电压谐波含有率、线电压间谐波含有率,勉强使其通过
|
||||||
|
if (!descList.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PV2_50.getCode())) {
|
||||||
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PU1.getCode());
|
||||||
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PV2_50.getCode());
|
||||||
|
}
|
||||||
|
if (!descList.contains(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PSV_1_49.getCode())) {
|
||||||
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PU1.getCode());
|
||||||
|
allTestItem.remove(DetectionCodeEnum.REAL_PREFIX.getCode() + DetectionCodeEnum.PSV_1_49.getCode());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(descList) && descList.containsAll(allTestItem)) {
|
if (CollUtil.isNotEmpty(descList) && descList.containsAll(allTestItem)) {
|
||||||
@@ -1089,9 +1295,10 @@ public class SocketContrastResponseService {
|
|||||||
*
|
*
|
||||||
* @param devDataList 被检设备数据(已经按照时间戳从小到大排过序)
|
* @param devDataList 被检设备数据(已经按照时间戳从小到大排过序)
|
||||||
* @param standardDevDataList 标准设备数据(已经按照时间戳从小到大排过序)
|
* @param standardDevDataList 标准设备数据(已经按照时间戳从小到大排过序)
|
||||||
|
* @param num 对齐的组数
|
||||||
* @return 返回一个List集合,集合中仅有2个元素。下标为0的元素为被检设备数据,下标为1的元素为其一一对齐的标准设备数据
|
* @return 返回一个List集合,集合中仅有2个元素。下标为0的元素为被检设备数据,下标为1的元素为其一一对齐的标准设备数据
|
||||||
*/
|
*/
|
||||||
private List<List<DevData>> getSingleMonitorAlignData(List<DevData> devDataList, List<DevData> standardDevDataList) {
|
private List<List<DevData>> getSingleMonitorAlignData(List<DevData> devDataList, List<DevData> standardDevDataList, Integer num) {
|
||||||
List<List<DevData>> result = new ArrayList<>();
|
List<List<DevData>> result = new ArrayList<>();
|
||||||
|
|
||||||
List<DevData> alignDevData = new ArrayList<>();
|
List<DevData> alignDevData = new ArrayList<>();
|
||||||
@@ -1107,6 +1314,10 @@ public class SocketContrastResponseService {
|
|||||||
alignDevData.add(devDataList.get(j));
|
alignDevData.add(devDataList.get(j));
|
||||||
alignStdDevData.add(standardDevDataList.get(i));
|
alignStdDevData.add(standardDevDataList.get(i));
|
||||||
jStart = j + 1;
|
jStart = j + 1;
|
||||||
|
|
||||||
|
if (alignDevData.size() >= num && alignStdDevData.size() >= num) {
|
||||||
|
jStart = devDataList.size();
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1184,8 +1395,8 @@ public class SocketContrastResponseService {
|
|||||||
}
|
}
|
||||||
if (isDelta) {
|
if (isDelta) {
|
||||||
// 角型接线方式,则获取线电压
|
// 角型接线方式,则获取线电压
|
||||||
uDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.LINE_VRMS.getCode());
|
uDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.PVRMS.getCode());
|
||||||
uStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.LINE_VRMS.getCode());
|
uStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.PVRMS.getCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(uDev) && CollUtil.isNotEmpty(uStd)) {
|
if (CollUtil.isNotEmpty(uDev) && CollUtil.isNotEmpty(uStd)) {
|
||||||
@@ -1289,6 +1500,8 @@ public class SocketContrastResponseService {
|
|||||||
WebServiceManager.sendMsg(userId, JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(userId, JSON.toJSONString(webSend));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 动态调控是否支持相角差校验
|
||||||
|
if (isPhaseAngle) {
|
||||||
// 获取被检设备的额定电流
|
// 获取被检设备的额定电流
|
||||||
Double ratedCurrent = Double.valueOf(monitorListDTO.getCtStr().split("\\:")[1]);
|
Double ratedCurrent = Double.valueOf(monitorListDTO.getCtStr().split("\\:")[1]);
|
||||||
|
|
||||||
@@ -1300,10 +1513,29 @@ public class SocketContrastResponseService {
|
|||||||
if (!notHasCurrent) {
|
if (!notHasCurrent) {
|
||||||
detail = "数据为空!";
|
detail = "数据为空!";
|
||||||
// 相角差校验
|
// 相角差校验
|
||||||
List<DevData.SqlDataDTO> vaDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.VA.getCode());
|
List<DevData.SqlDataDTO> vaDev = null;
|
||||||
List<DevData.SqlDataDTO> vaStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.VA.getCode());
|
List<DevData.SqlDataDTO> vaStd = null;
|
||||||
List<DevData.SqlDataDTO> iaDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.IA.getCode());
|
List<DevData.SqlDataDTO> iaDev = null;
|
||||||
List<DevData.SqlDataDTO> iaStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.IA.getCode());
|
List<DevData.SqlDataDTO> iaStd = null;
|
||||||
|
if (isStar) {
|
||||||
|
vaDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.VA.getCode());
|
||||||
|
vaStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.VA.getCode());
|
||||||
|
iaDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.IA.getCode());
|
||||||
|
iaStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.IA.getCode());
|
||||||
|
if (CollUtil.isEmpty(vaDev) && CollUtil.isEmpty(vaStd) && CollUtil.isEmpty(iaDev) && CollUtil.isEmpty(iaStd)) {
|
||||||
|
vaDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.U1A.getCode());
|
||||||
|
vaStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.U1A.getCode());
|
||||||
|
iaDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.I1A.getCode());
|
||||||
|
iaStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.I1A.getCode());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (isDelta) {
|
||||||
|
vaDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.PU1A.getCode());
|
||||||
|
vaStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.PU1A.getCode());
|
||||||
|
iaDev = getSingleMonitorSqlData(devData, DetectionCodeEnum.I1A.getCode());
|
||||||
|
iaStd = getSingleMonitorSqlData(stdData, DetectionCodeEnum.I1A.getCode());
|
||||||
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(vaDev) && CollUtil.isNotEmpty(vaStd) && CollUtil.isNotEmpty(iaDev) && CollUtil.isNotEmpty(iaStd)) {
|
if (CollUtil.isNotEmpty(vaDev) && CollUtil.isNotEmpty(vaStd) && CollUtil.isNotEmpty(iaDev) && CollUtil.isNotEmpty(iaStd)) {
|
||||||
DevData.SqlDataDTO.ListDTO vaDevList = vaDev.get(0).getList();
|
DevData.SqlDataDTO.ListDTO vaDevList = vaDev.get(0).getList();
|
||||||
DevData.SqlDataDTO.ListDTO vaStdList = vaDev.get(0).getList();
|
DevData.SqlDataDTO.ListDTO vaStdList = vaDev.get(0).getList();
|
||||||
@@ -1328,6 +1560,7 @@ public class SocketContrastResponseService {
|
|||||||
}
|
}
|
||||||
WebServiceManager.sendMsg(userId, JSON.toJSONString(webSend));
|
WebServiceManager.sendMsg(userId, JSON.toJSONString(webSend));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1418,18 +1651,22 @@ public class SocketContrastResponseService {
|
|||||||
/**
|
/**
|
||||||
* 比对式原始数据入库
|
* 比对式原始数据入库
|
||||||
*
|
*
|
||||||
|
* @param isStdDev 是否为标准设备
|
||||||
* @param devDataList 原始数据
|
* @param devDataList 原始数据
|
||||||
* @param num 第几次检测
|
* @param numMap 第几次监测 key为被检设备监测点id,value为第几次监测
|
||||||
* @param code 表后缀code
|
* @param code 表后缀code
|
||||||
* @param checkItemMap 检测项Map key为检测项code,value为检测项的id
|
|
||||||
*/
|
*/
|
||||||
private void baseDataInsert(List<DevData> devDataList, Integer num, String code, Map<String, String> checkItemMap) {
|
private void baseDataInsert(boolean isStdDev, List<DevData> devDataList, Map<String, Integer> numMap, String code) {
|
||||||
System.out.println("原始数据插入数据库开始执行=========================================");
|
System.out.println("原始数据插入数据库开始执行=========================================");
|
||||||
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = new ArrayList<>();
|
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = new ArrayList<>();
|
||||||
List<ContrastHarmonicResult> contrastHarmonicResults = new ArrayList<>();
|
List<ContrastHarmonicResult> contrastHarmonicResults = new ArrayList<>();
|
||||||
Map<String, String> harmonicRelationMap = new HashMap<>();
|
Map<String, String> harmonicRelationMap = new HashMap<>();
|
||||||
harmonicRelationMap.put(DetectionCodeEnum.V2_50.getCode(), DetectionCodeEnum.U1.getCode());
|
harmonicRelationMap.put(DetectionCodeEnum.V2_50.getCode(), DetectionCodeEnum.U1.getCode());
|
||||||
|
harmonicRelationMap.put(DetectionCodeEnum.PV2_50.getCode(), DetectionCodeEnum.PU1.getCode());
|
||||||
|
harmonicRelationMap.put(DetectionCodeEnum.SV_1_49.getCode(), DetectionCodeEnum.U1.getCode());
|
||||||
|
harmonicRelationMap.put(DetectionCodeEnum.PSV_1_49.getCode(), DetectionCodeEnum.PU1.getCode());
|
||||||
harmonicRelationMap.put(DetectionCodeEnum.I2_50.getCode(), DetectionCodeEnum.I1.getCode());
|
harmonicRelationMap.put(DetectionCodeEnum.I2_50.getCode(), DetectionCodeEnum.I1.getCode());
|
||||||
|
harmonicRelationMap.put(DetectionCodeEnum.SI_1_49.getCode(), DetectionCodeEnum.I1.getCode());
|
||||||
for (DevData data : devDataList) {
|
for (DevData data : devDataList) {
|
||||||
LocalDateTime localDateTime = DetectionUtil.timeFormat(data.getTime(), DetectionUtil.FORMATTER);
|
LocalDateTime localDateTime = DetectionUtil.timeFormat(data.getTime(), DetectionUtil.FORMATTER);
|
||||||
if (Objects.nonNull(localDateTime)) {
|
if (Objects.nonNull(localDateTime)) {
|
||||||
@@ -1438,15 +1675,20 @@ public class SocketContrastResponseService {
|
|||||||
String temId = FormalTestManager.devIdMapComm.get(splitArr[0]) + CnSocketUtil.SPLIT_TAG + splitArr[1];
|
String temId = FormalTestManager.devIdMapComm.get(splitArr[0]) + CnSocketUtil.SPLIT_TAG + splitArr[1];
|
||||||
|
|
||||||
for (DevData.SqlDataDTO sqlDataDTO : data.getSqlData()) {
|
for (DevData.SqlDataDTO sqlDataDTO : data.getSqlData()) {
|
||||||
if (!DetectionCodeEnum.U1.getCode().equals(sqlDataDTO.getDesc()) && !DetectionCodeEnum.I1.getCode().equals(sqlDataDTO.getDesc())) {
|
if (!DetectionCodeEnum.U1.getCode().equals(sqlDataDTO.getDesc()) && !DetectionCodeEnum.PU1.getCode().equals(sqlDataDTO.getDesc()) && !DetectionCodeEnum.I1.getCode().equals(sqlDataDTO.getDesc())) {
|
||||||
DevData.SqlDataDTO.ListDTO listDTO = sqlDataDTO.getList();
|
DevData.SqlDataDTO.ListDTO listDTO = sqlDataDTO.getList();
|
||||||
ContrastNonHarmonicResult adNonHarmonicResult = new ContrastNonHarmonicResult();
|
ContrastNonHarmonicResult adNonHarmonicResult = new ContrastNonHarmonicResult();
|
||||||
adNonHarmonicResult.setTimeId(localDateTime);
|
adNonHarmonicResult.setTimeId(localDateTime);
|
||||||
adNonHarmonicResult.setMonitorId(temId);
|
adNonHarmonicResult.setNum(numMap.get(temId));
|
||||||
adNonHarmonicResult.setNum(num);
|
adNonHarmonicResult.setAdType(FormalTestManager.testItemMap.get(DetectionCodeEnum.REAL_PREFIX.getCode() + sqlDataDTO.getDesc()));
|
||||||
|
|
||||||
adNonHarmonicResult.setAdType(checkItemMap.get(DetectionCodeEnum.REAL_PREFIX.getCode() + sqlDataDTO.getDesc()));
|
|
||||||
adNonHarmonicResult.setDataType(DataSourceEnum.REAL_DATA.getValue());
|
adNonHarmonicResult.setDataType(DataSourceEnum.REAL_DATA.getValue());
|
||||||
|
if (isStdDev) {
|
||||||
|
adNonHarmonicResult.setDevMonitorId(FormalTestManager.pairsIdMap.inverse().get(temId));
|
||||||
|
adNonHarmonicResult.setStdDevMonitorId(temId);
|
||||||
|
} else {
|
||||||
|
adNonHarmonicResult.setDevMonitorId(temId);
|
||||||
|
adNonHarmonicResult.setStdDevMonitorId(FormalTestManager.pairsIdMap.get(temId));
|
||||||
|
}
|
||||||
|
|
||||||
Double a = listDTO.getA();
|
Double a = listDTO.getA();
|
||||||
Double b = listDTO.getB();
|
Double b = listDTO.getB();
|
||||||
@@ -1472,11 +1714,16 @@ public class SocketContrastResponseService {
|
|||||||
String dui = harmonicRelationMap.get(sqlDataDTO.getDesc());
|
String dui = harmonicRelationMap.get(sqlDataDTO.getDesc());
|
||||||
ContrastHarmonicResult adHarmonicResult = new ContrastHarmonicResult();
|
ContrastHarmonicResult adHarmonicResult = new ContrastHarmonicResult();
|
||||||
adHarmonicResult.setTimeId(localDateTime);
|
adHarmonicResult.setTimeId(localDateTime);
|
||||||
|
adHarmonicResult.setNum(numMap.get(temId));
|
||||||
adHarmonicResult.setMonitorId(temId);
|
adHarmonicResult.setAdType(FormalTestManager.testItemMap.get(DetectionCodeEnum.REAL_PREFIX.getCode() + sqlDataDTO.getDesc()));
|
||||||
adHarmonicResult.setNum(num);
|
|
||||||
adHarmonicResult.setAdType(checkItemMap.get(DetectionCodeEnum.REAL_PREFIX.getCode() + sqlDataDTO.getDesc()));
|
|
||||||
adHarmonicResult.setDataType(DataSourceEnum.REAL_DATA.getValue());
|
adHarmonicResult.setDataType(DataSourceEnum.REAL_DATA.getValue());
|
||||||
|
if (isStdDev) {
|
||||||
|
adHarmonicResult.setDevMonitorId(FormalTestManager.pairsIdMap.inverse().get(temId));
|
||||||
|
adHarmonicResult.setStdDevMonitorId(temId);
|
||||||
|
} else {
|
||||||
|
adHarmonicResult.setDevMonitorId(temId);
|
||||||
|
adHarmonicResult.setStdDevMonitorId(FormalTestManager.pairsIdMap.get(temId));
|
||||||
|
}
|
||||||
|
|
||||||
if (ObjectUtil.isNotNull(dui)) {
|
if (ObjectUtil.isNotNull(dui)) {
|
||||||
DevData.SqlDataDTO.ListDTO vvv = data.getSqlData().stream().filter(it -> it.getDesc().equals(dui)).collect(Collectors.toList()).get(0).getList();
|
DevData.SqlDataDTO.ListDTO vvv = data.getSqlData().stream().filter(it -> it.getDesc().equals(dui)).collect(Collectors.toList()).get(0).getList();
|
||||||
@@ -1485,13 +1732,16 @@ public class SocketContrastResponseService {
|
|||||||
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(String.format("%.7f", aV));
|
// adHarmonicResult.setAValue1(String.format("%.7f", aV));
|
||||||
|
adHarmonicResult.setAValue0(String.format("%.7f", aV));
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(bV)) {
|
if (Objects.nonNull(bV)) {
|
||||||
adHarmonicResult.setBValue1(String.format("%.7f", bV));
|
// adHarmonicResult.setBValue1(String.format("%.7f", bV));
|
||||||
|
adHarmonicResult.setBValue0(String.format("%.7f", bV));
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(cV)) {
|
if (Objects.nonNull(cV)) {
|
||||||
adHarmonicResult.setCValue1(String.format("%.7f", cV));
|
// adHarmonicResult.setCValue1(String.format("%.7f", cV));
|
||||||
|
adHarmonicResult.setCValue0(String.format("%.7f", bV));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1503,7 +1753,7 @@ public class SocketContrastResponseService {
|
|||||||
|
|
||||||
Class<ContrastHarmonicResult> example = (Class<ContrastHarmonicResult>) adHarmonicResult.getClass();
|
Class<ContrastHarmonicResult> example = (Class<ContrastHarmonicResult>) adHarmonicResult.getClass();
|
||||||
|
|
||||||
if (DetectionCodeEnum.SV_1_49.getCode().equals(sqlDataDTO.getDesc()) || DetectionCodeEnum.SI_1_49.getCode().equals(sqlDataDTO.getDesc())) {
|
if (DetectionCodeEnum.SV_1_49.getCode().equals(sqlDataDTO.getDesc()) || DetectionCodeEnum.PSV_1_49.getCode().equals(sqlDataDTO.getDesc()) || DetectionCodeEnum.SI_1_49.getCode().equals(sqlDataDTO.getDesc())) {
|
||||||
for (int i = 1; i < a.size() + 1; i++) {
|
for (int i = 1; i < a.size() + 1; i++) {
|
||||||
try {
|
try {
|
||||||
Field aField = example.getDeclaredField("aValue" + i);
|
Field aField = example.getDeclaredField("aValue" + i);
|
||||||
@@ -1543,31 +1793,33 @@ public class SocketContrastResponseService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(contrastNonHarmonicResults)) {
|
// if (CollUtil.isNotEmpty(contrastNonHarmonicResults)) {
|
||||||
Map<String, List<ContrastNonHarmonicResult>> map = contrastNonHarmonicResults.stream().collect(Collectors.groupingBy(x -> x.getMonitorId() + x.getTimeId() + x.getNum() + x.getAdType()));
|
// Map<String, List<ContrastNonHarmonicResult>> map = contrastNonHarmonicResults.stream().collect(Collectors.groupingBy(x -> x.getDevMonitorId() + x.getTimeId() + x.getNum() + x.getAdType()));
|
||||||
List<ContrastNonHarmonicResult> info = new ArrayList<>();
|
// List<ContrastNonHarmonicResult> info = new ArrayList<>();
|
||||||
map.forEach((key, value) -> {
|
// map.forEach((key, value) -> {
|
||||||
if (value.size() > 1) {
|
// if (value.size() > 1) {
|
||||||
System.err.println("重复时间戳->" + key + value);
|
// System.err.println("重复时间戳->" + key + value);
|
||||||
} else {
|
// } else {
|
||||||
info.addAll(value);
|
// info.addAll(value);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
|
//
|
||||||
detectionDataDealService.acceptAdNon(info, code);
|
// detectionDataDealService.acceptNonHarmonic(info, code);
|
||||||
}
|
// }
|
||||||
if (CollUtil.isNotEmpty(contrastHarmonicResults)) {
|
// if (CollUtil.isNotEmpty(contrastHarmonicResults)) {
|
||||||
Map<String, List<ContrastHarmonicResult>> map = contrastHarmonicResults.stream().collect(Collectors.groupingBy(x -> x.getMonitorId() + x.getTimeId() + x.getNum() + x.getAdType()));
|
// Map<String, List<ContrastHarmonicResult>> map = contrastHarmonicResults.stream().collect(Collectors.groupingBy(x -> x.getDevMonitorId() + x.getTimeId() + x.getNum() + x.getAdType()));
|
||||||
List<ContrastHarmonicResult> info = new ArrayList<>();
|
// List<ContrastHarmonicResult> info = new ArrayList<>();
|
||||||
map.forEach((key, value) -> {
|
// map.forEach((key, value) -> {
|
||||||
if (value.size() > 1) {
|
// if (value.size() > 1) {
|
||||||
System.err.println("重复时间戳->" + key + value);
|
// System.err.println("重复时间戳->" + key + value);
|
||||||
} else {
|
// } else {
|
||||||
info.addAll(value);
|
// info.addAll(value);
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
detectionDataDealService.acceptAd(info, code);
|
// detectionDataDealService.acceptHarmonic(info, code);
|
||||||
}
|
// }
|
||||||
|
detectionDataDealService.acceptNonHarmonic(contrastNonHarmonicResults, code);
|
||||||
|
detectionDataDealService.acceptHarmonic(contrastHarmonicResults, code);
|
||||||
System.out.println("原始数据插入数据库执行成功=========================================");
|
System.out.println("原始数据插入数据库执行成功=========================================");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1299,7 +1299,7 @@ public class SocketDevResponseService {
|
|||||||
checkDataParam.setIsValueTypeName(false);
|
checkDataParam.setIsValueTypeName(false);
|
||||||
List<String> valueType = iPqScriptCheckDataService.getValueType(checkDataParam);
|
List<String> valueType = iPqScriptCheckDataService.getValueType(checkDataParam);
|
||||||
|
|
||||||
iPqDevService.updateResult(param.getDevIds(), valueType, param.getCode(), param.getUserId(), param.getTemperature(), param.getHumidity());
|
iPqDevService.updateResult(false,param.getDevIds(), valueType, param.getCode(), param.getUserId(), param.getTemperature(), param.getHumidity());
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
}
|
}
|
||||||
successComm.clear();
|
successComm.clear();
|
||||||
@@ -1792,7 +1792,7 @@ public class SocketDevResponseService {
|
|||||||
DevData.SqlDataDTO.ListDTO listDTO = sqlDataDTO.getList();
|
DevData.SqlDataDTO.ListDTO listDTO = sqlDataDTO.getList();
|
||||||
SimAndDigNonHarmonicResult adNonHarmonicResult = new SimAndDigNonHarmonicResult();
|
SimAndDigNonHarmonicResult adNonHarmonicResult = new SimAndDigNonHarmonicResult();
|
||||||
adNonHarmonicResult.setTimeId(localDateTime);
|
adNonHarmonicResult.setTimeId(localDateTime);
|
||||||
adNonHarmonicResult.setMonitorId(temId);
|
adNonHarmonicResult.setDevMonitorId(temId);
|
||||||
adNonHarmonicResult.setScriptId(param.getScriptId());
|
adNonHarmonicResult.setScriptId(param.getScriptId());
|
||||||
adNonHarmonicResult.setSort(sourceIssue.getIndex());
|
adNonHarmonicResult.setSort(sourceIssue.getIndex());
|
||||||
|
|
||||||
@@ -1825,7 +1825,7 @@ public class SocketDevResponseService {
|
|||||||
SimAndDigHarmonicResult adHarmonicResult = new SimAndDigHarmonicResult();
|
SimAndDigHarmonicResult adHarmonicResult = new SimAndDigHarmonicResult();
|
||||||
adHarmonicResult.setTimeId(localDateTime);
|
adHarmonicResult.setTimeId(localDateTime);
|
||||||
|
|
||||||
adHarmonicResult.setMonitorId(temId);
|
adHarmonicResult.setDevMonitorId(temId);
|
||||||
adHarmonicResult.setScriptId(param.getScriptId());
|
adHarmonicResult.setScriptId(param.getScriptId());
|
||||||
adHarmonicResult.setSort(sourceIssue.getIndex());
|
adHarmonicResult.setSort(sourceIssue.getIndex());
|
||||||
adHarmonicResult.setAdType(checkDataMap.get(sqlDataDTO.getDesc()));
|
adHarmonicResult.setAdType(checkDataMap.get(sqlDataDTO.getDesc()));
|
||||||
@@ -1898,7 +1898,7 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(simAndDigNonHarmonicResultList)) {
|
if (CollUtil.isNotEmpty(simAndDigNonHarmonicResultList)) {
|
||||||
Map<String, List<SimAndDigNonHarmonicResult>> map = simAndDigNonHarmonicResultList.stream().collect(Collectors.groupingBy(x -> x.getMonitorId() + x.getTimeId() + x.getScriptId() + x.getSort() + x.getAdType() + x.getDataType()));
|
Map<String, List<SimAndDigNonHarmonicResult>> map = simAndDigNonHarmonicResultList.stream().collect(Collectors.groupingBy(x -> x.getDevMonitorId() + x.getTimeId() + x.getScriptId() + x.getSort() + x.getAdType() + x.getDataType()));
|
||||||
List<SimAndDigNonHarmonicResult> info = new ArrayList<>();
|
List<SimAndDigNonHarmonicResult> info = new ArrayList<>();
|
||||||
map.forEach((key, value) -> {
|
map.forEach((key, value) -> {
|
||||||
if (value.size() > 1) {
|
if (value.size() > 1) {
|
||||||
@@ -1908,10 +1908,10 @@ public class SocketDevResponseService {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
detectionDataDealService.acceptAdNon(info, param.getCode());
|
detectionDataDealService.acceptNonHarmonic(info, param.getCode());
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(adHarmonicResultList)) {
|
if (CollUtil.isNotEmpty(adHarmonicResultList)) {
|
||||||
Map<String, List<SimAndDigHarmonicResult>> map = adHarmonicResultList.stream().collect(Collectors.groupingBy(x -> x.getMonitorId() + x.getTimeId() + x.getScriptId() + x.getSort() + x.getAdType() + x.getDataType()));
|
Map<String, List<SimAndDigHarmonicResult>> map = adHarmonicResultList.stream().collect(Collectors.groupingBy(x -> x.getDevMonitorId() + x.getTimeId() + x.getScriptId() + x.getSort() + x.getAdType() + x.getDataType()));
|
||||||
List<SimAndDigHarmonicResult> info = new ArrayList<>();
|
List<SimAndDigHarmonicResult> info = new ArrayList<>();
|
||||||
map.forEach((key, value) -> {
|
map.forEach((key, value) -> {
|
||||||
if (value.size() > 1) {
|
if (value.size() > 1) {
|
||||||
@@ -1920,7 +1920,7 @@ public class SocketDevResponseService {
|
|||||||
info.addAll(value);
|
info.addAll(value);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
detectionDataDealService.acceptAd(info, param.getCode());
|
detectionDataDealService.acceptHarmonic(info, param.getCode());
|
||||||
}
|
}
|
||||||
System.out.println("原始数据插入数据库执行成功=========================================");
|
System.out.println("原始数据插入数据库执行成功=========================================");
|
||||||
// };
|
// };
|
||||||
|
|||||||
@@ -13,19 +13,25 @@ public enum DetectionCodeEnum {
|
|||||||
|
|
||||||
FREQ("FREQ", "频率"),
|
FREQ("FREQ", "频率"),
|
||||||
VRMS("VRMS", "相电压有效值"),
|
VRMS("VRMS", "相电压有效值"),
|
||||||
LINE_VRMS("LINE_VRMS", "线电压有效值"),
|
PVRMS("PVRMS", "线电压有效值"),
|
||||||
DELTA_V("DELTA_V", "电压偏差"),
|
DELTA_V("DELTA_V", "电压偏差"),
|
||||||
VA("VA", "电压相角"),
|
VA("VA", "电压相角"),
|
||||||
|
U1A("U1A", "相电压基波有效值角度值"),
|
||||||
|
PU1A("PU1A", "线电压基波有效值角度值"),
|
||||||
U1("U1", "基波电压"),
|
U1("U1", "基波电压"),
|
||||||
|
PU1("PU1", "线电压基波电压"),
|
||||||
V2_50("V2-50", "谐波电压"),
|
V2_50("V2-50", "谐波电压"),
|
||||||
|
PV2_50("PV2-50", "线电压谐波电压"),
|
||||||
I2_50("I2-50", "谐波电流"),
|
I2_50("I2-50", "谐波电流"),
|
||||||
P2_50("P2-50", "谐波有功功率"),
|
P2_50("P2-50", "谐波有功功率"),
|
||||||
SV_1_49("SV_1-49", "间谐波电压"),
|
SV_1_49("SV_1-49", "间谐波电压"),
|
||||||
|
PSV_1_49("PSV_1-49", "线电压间谐波电压"),
|
||||||
SI_1_49("SI_1-49", "间谐波电流"),
|
SI_1_49("SI_1-49", "间谐波电流"),
|
||||||
MAG("MAG", "电压幅值"),
|
MAG("MAG", "电压幅值"),
|
||||||
DUR("DUR", "持续时间"),
|
DUR("DUR", "持续时间"),
|
||||||
IRMS("IRMS", "电流有效值"),
|
IRMS("IRMS", "电流有效值"),
|
||||||
IA("IA", "电流相角"),
|
IA("IA", "电流相角"),
|
||||||
|
I1A("I1A", "电流基波角度值"),
|
||||||
V_UNBAN("V_UNBAN", "三相电压负序不平衡度"),
|
V_UNBAN("V_UNBAN", "三相电压负序不平衡度"),
|
||||||
I_UNBAN("I_UNBAN", "三相电流负序不平衡度"),
|
I_UNBAN("I_UNBAN", "三相电流负序不平衡度"),
|
||||||
PST("PST", "短时间闪变"),
|
PST("PST", "短时间闪变"),
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ public enum DetectionResponseEnum {
|
|||||||
SOURCE_NOT_CONNECT("A020006", "源未连接"),
|
SOURCE_NOT_CONNECT("A020006", "源未连接"),
|
||||||
|
|
||||||
|
|
||||||
SCRIPT_CHECK_DATA_NOT_EXIST("A020040","测试脚本项暂无配置" );
|
SCRIPT_CHECK_DATA_NOT_EXIST("A020040","测试脚本项暂无配置" ),
|
||||||
|
EXCEED_MAX_TIME("A020041","检测次数超出最大限制!" );
|
||||||
|
|
||||||
private final String code;
|
private final String code;
|
||||||
private final String message;
|
private final String message;
|
||||||
|
|||||||
@@ -43,7 +43,9 @@ public class ContrastDetectionParam {
|
|||||||
private List<Boolean> testItemList;
|
private List<Boolean> testItemList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 当前检测次数
|
* 第几次监测 key为设备监测点id,value为第几次监测
|
||||||
*/
|
*/
|
||||||
private Integer num;
|
private Map<String,Integer> numMap;
|
||||||
|
|
||||||
|
private String userId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import lombok.Data;
|
|||||||
import javax.validation.constraints.NotBlank;
|
import javax.validation.constraints.NotBlank;
|
||||||
import javax.validation.constraints.NotEmpty;
|
import javax.validation.constraints.NotEmpty;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author wr
|
* @author wr
|
||||||
@@ -75,7 +76,7 @@ public class PreDetectionParam {
|
|||||||
private List<Boolean> testItemList;
|
private List<Boolean> testItemList;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 第几次监测
|
* 第几次监测 key为设备监测点id,value为第几次监测
|
||||||
*/
|
*/
|
||||||
private Integer num;
|
private Map<String, Integer> numMap;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,41 +10,29 @@ import lombok.Data;
|
|||||||
@Data
|
@Data
|
||||||
public class AlignDataExcel {
|
public class AlignDataExcel {
|
||||||
|
|
||||||
private ExcelConfig devDataConfig = new ExcelConfig("");
|
@Excel(name = "时间", orderNum = "1", width = 40, groupName = "被检设备")
|
||||||
private ExcelConfig standardDevDataConfig = new ExcelConfig("");
|
|
||||||
|
|
||||||
@Excel(name = "时间", width = 20, groupName = "被检设备")
|
|
||||||
private String timeDev;
|
private String timeDev;
|
||||||
|
|
||||||
@Excel(name = "Ua", groupName = "被检设备")
|
@Excel(name = "Ua", orderNum = "2", groupName = "被检设备")
|
||||||
private Double uaDev;
|
private Double uaDev;
|
||||||
|
|
||||||
@Excel(name = "Ub", groupName = "被检设备")
|
@Excel(name = "Ub", orderNum = "3", groupName = "被检设备")
|
||||||
private Double ubDev;
|
private Double ubDev;
|
||||||
|
|
||||||
@Excel(name = "Uc", groupName = "被检设备")
|
@Excel(name = "Uc", orderNum = "4", groupName = "被检设备")
|
||||||
private Double ucDev;
|
private Double ucDev;
|
||||||
|
|
||||||
|
|
||||||
@Excel(name = "时间", width = 20, groupName = "标准设备")
|
@Excel(name = "时间", orderNum = "5", width = 40, groupName = "标准设备")
|
||||||
private String timeStdDev;
|
private String timeStdDev;
|
||||||
|
|
||||||
@Excel(name = "Ua", groupName = "标准设备")
|
@Excel(name = "Ua", orderNum = "6", groupName = "标准设备")
|
||||||
private Double uaStdDev;
|
private Double uaStdDev;
|
||||||
|
|
||||||
@Excel(name = "Ub", groupName = "标准设备")
|
@Excel(name = "Ub", orderNum = "7", groupName = "标准设备")
|
||||||
private Double ubStdDev;
|
private Double ubStdDev;
|
||||||
|
|
||||||
@Excel(name = "Uc", groupName = "标准设备")
|
@Excel(name = "Uc", orderNum = "8", groupName = "标准设备")
|
||||||
private Double ucStdDev;
|
private Double ucStdDev;
|
||||||
|
|
||||||
|
|
||||||
@Data
|
|
||||||
public static class ExcelConfig {
|
|
||||||
private String name;
|
|
||||||
|
|
||||||
public ExcelConfig(String name) {
|
|
||||||
this.name = name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,10 +60,7 @@ public interface PreDetectionService {
|
|||||||
void startContrastTest(ContrastDetectionParam param);
|
void startContrastTest(ContrastDetectionParam param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取比对式检测次数信息
|
* 导出实时数据对齐过程中的数据
|
||||||
*
|
|
||||||
* @param planId
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
Map<Integer, Integer> getContrastTestNumInfo(String planId);
|
void exportAlignData();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import com.njcn.gather.detection.pojo.po.DevData;
|
|||||||
import com.njcn.gather.detection.pojo.vo.DetectionData;
|
import com.njcn.gather.detection.pojo.vo.DetectionData;
|
||||||
import com.njcn.gather.detection.pojo.vo.DevLineTestResult;
|
import com.njcn.gather.detection.pojo.vo.DevLineTestResult;
|
||||||
import com.njcn.gather.detection.util.DetectionUtil;
|
import com.njcn.gather.detection.util.DetectionUtil;
|
||||||
import com.njcn.gather.device.pojo.vo.PreDetection;
|
import com.njcn.gather.detection.util.socket.CnSocketUtil;
|
||||||
import com.njcn.gather.err.pojo.param.PqErrSysParam;
|
import com.njcn.gather.err.pojo.param.PqErrSysParam;
|
||||||
import com.njcn.gather.err.pojo.po.PqErrSysDtls;
|
import com.njcn.gather.err.pojo.po.PqErrSysDtls;
|
||||||
import com.njcn.gather.err.pojo.vo.ErrDtlsCheckDataVO;
|
import com.njcn.gather.err.pojo.vo.ErrDtlsCheckDataVO;
|
||||||
@@ -236,7 +236,7 @@ public class DetectionServiceImpl {
|
|||||||
SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult();
|
SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult();
|
||||||
String[] split = dev.get(0).getId().split("_");
|
String[] split = dev.get(0).getId().split("_");
|
||||||
String devID = devIdMapComm.get(split[0]);
|
String devID = devIdMapComm.get(split[0]);
|
||||||
result.setMonitorId(devID + "_" + split[1]);
|
result.setDevMonitorId(devID + "_" + split[1]);
|
||||||
result.setScriptId(sourceIssue.getScriptId());
|
result.setScriptId(sourceIssue.getScriptId());
|
||||||
result.setSort(sourceIssue.getIndex());
|
result.setSort(sourceIssue.getIndex());
|
||||||
result.setDataType(sourceIssue.getDataType());
|
result.setDataType(sourceIssue.getDataType());
|
||||||
@@ -316,7 +316,7 @@ public class DetectionServiceImpl {
|
|||||||
SimAndDigHarmonicResult harmonicResult = new SimAndDigHarmonicResult();
|
SimAndDigHarmonicResult harmonicResult = new SimAndDigHarmonicResult();
|
||||||
String[] split = dev.get(0).getId().split("_");
|
String[] split = dev.get(0).getId().split("_");
|
||||||
String devID = devIdMapComm.get(split[0]);
|
String devID = devIdMapComm.get(split[0]);
|
||||||
harmonicResult.setMonitorId(devID + "_" + split[1]);
|
harmonicResult.setDevMonitorId(devID + "_" + split[1]);
|
||||||
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
||||||
harmonicResult.setSort(sourceIssue.getIndex());
|
harmonicResult.setSort(sourceIssue.getIndex());
|
||||||
Integer isQualified;
|
Integer isQualified;
|
||||||
@@ -396,7 +396,7 @@ public class DetectionServiceImpl {
|
|||||||
SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult();
|
SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult();
|
||||||
String[] split = dev.get(0).getId().split("_");
|
String[] split = dev.get(0).getId().split("_");
|
||||||
String devID = devIdMapComm.get(split[0]);
|
String devID = devIdMapComm.get(split[0]);
|
||||||
result.setMonitorId(devID + "_" + split[1]);
|
result.setDevMonitorId(devID + "_" + split[1]);
|
||||||
result.setScriptId(sourceIssue.getScriptId());
|
result.setScriptId(sourceIssue.getScriptId());
|
||||||
result.setSort(sourceIssue.getIndex());
|
result.setSort(sourceIssue.getIndex());
|
||||||
result.setDataType(sourceIssue.getDataType());
|
result.setDataType(sourceIssue.getDataType());
|
||||||
@@ -509,7 +509,7 @@ public class DetectionServiceImpl {
|
|||||||
SimAndDigHarmonicResult harmonicResult = new SimAndDigHarmonicResult();
|
SimAndDigHarmonicResult harmonicResult = new SimAndDigHarmonicResult();
|
||||||
String[] split = dev.get(0).getId().split("_");
|
String[] split = dev.get(0).getId().split("_");
|
||||||
String devID = devIdMapComm.get(split[0]);
|
String devID = devIdMapComm.get(split[0]);
|
||||||
harmonicResult.setMonitorId(devID + "_" + split[1]);
|
harmonicResult.setDevMonitorId(devID + "_" + split[1]);
|
||||||
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
harmonicResult.setScriptId(sourceIssue.getScriptId());
|
||||||
harmonicResult.setSort(sourceIssue.getIndex());
|
harmonicResult.setSort(sourceIssue.getIndex());
|
||||||
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
||||||
@@ -573,7 +573,7 @@ public class DetectionServiceImpl {
|
|||||||
SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult();
|
SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult();
|
||||||
String[] split = dev.get(0).getId().split("_");
|
String[] split = dev.get(0).getId().split("_");
|
||||||
String devID = devIdMapComm.get(split[0]);
|
String devID = devIdMapComm.get(split[0]);
|
||||||
result.setMonitorId(devID + "_" + split[1]);
|
result.setDevMonitorId(devID + "_" + split[1]);
|
||||||
result.setScriptId(sourceIssue.getScriptId());
|
result.setScriptId(sourceIssue.getScriptId());
|
||||||
result.setSort(sourceIssue.getIndex());
|
result.setSort(sourceIssue.getIndex());
|
||||||
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
List<PqErrSysDtls> pqErrSysDtls = new ArrayList<>();
|
||||||
@@ -755,7 +755,7 @@ public class DetectionServiceImpl {
|
|||||||
SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult();
|
SimAndDigNonHarmonicResult result = new SimAndDigNonHarmonicResult();
|
||||||
String[] split = devId.split("_");
|
String[] split = devId.split("_");
|
||||||
String devID = devIdMapComm.get(split[0]);
|
String devID = devIdMapComm.get(split[0]);
|
||||||
result.setMonitorId(devID + "_" + split[1]);
|
result.setDevMonitorId(devID + "_" + split[1]);
|
||||||
result.setScriptId(sourceIssue.getScriptId());
|
result.setScriptId(sourceIssue.getScriptId());
|
||||||
result.setSort(sourceIssue.getIndex());
|
result.setSort(sourceIssue.getIndex());
|
||||||
result.setDataType(sourceIssue.getDataType());
|
result.setDataType(sourceIssue.getDataType());
|
||||||
@@ -1384,6 +1384,7 @@ public class DetectionServiceImpl {
|
|||||||
public void harmPut(String type, Map<String, Map<Double, List<Double>>> map, List<Double> harmNum, DevData.SqlDataHarmDTO harm, String fund, Integer num) {
|
public void harmPut(String type, Map<String, Map<Double, List<Double>>> map, List<Double> harmNum, DevData.SqlDataHarmDTO harm, String fund, Integer num) {
|
||||||
if (map.containsKey(type)) {
|
if (map.containsKey(type)) {
|
||||||
Map<Double, List<Double>> integerListMap = map.get(type);
|
Map<Double, List<Double>> integerListMap = map.get(type);
|
||||||
|
integerListMap.get(0.0).add(multiply(fund, fund));
|
||||||
for (Double i : harmNum) {
|
for (Double i : harmNum) {
|
||||||
if (integerListMap.containsKey(i)) {
|
if (integerListMap.containsKey(i)) {
|
||||||
if (i.equals(1.0) && num != 1) {
|
if (i.equals(1.0) && num != 1) {
|
||||||
@@ -1411,8 +1412,11 @@ public class DetectionServiceImpl {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Map<Double, List<Double>> integerListMap = new LinkedHashMap<>(50);
|
Map<Double, List<Double>> integerListMap = new LinkedHashMap<>(50);
|
||||||
for (Double i : harmNum) {
|
|
||||||
List<Double> integerList = new ArrayList<>();
|
List<Double> integerList = new ArrayList<>();
|
||||||
|
integerList.add(multiply(fund, fund));
|
||||||
|
integerListMap.put(0.0, integerList);
|
||||||
|
for (Double i : harmNum) {
|
||||||
|
integerList = new ArrayList<>();
|
||||||
if (i.equals(1.0) && num != 1) {
|
if (i.equals(1.0) && num != 1) {
|
||||||
integerList.add(multiply(fund, fund));
|
integerList.add(multiply(fund, fund));
|
||||||
integerListMap.put(1.0, integerList);
|
integerListMap.put(1.0, integerList);
|
||||||
@@ -1435,7 +1439,6 @@ public class DetectionServiceImpl {
|
|||||||
}
|
}
|
||||||
integerListMap.put(i, integerList);
|
integerListMap.put(i, integerList);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
map.put(type, integerListMap);
|
map.put(type, integerListMap);
|
||||||
}
|
}
|
||||||
@@ -1495,17 +1498,16 @@ public class DetectionServiceImpl {
|
|||||||
*
|
*
|
||||||
* @param devDataList 被检设备数据
|
* @param devDataList 被检设备数据
|
||||||
* @param standardDevDataList 与之对齐的标准设备数据
|
* @param standardDevDataList 与之对齐的标准设备数据
|
||||||
* @param pars 配对关系 key为被检设备ip_通道号,value为标准设备ip_通道号
|
* @param parsIp 配对关系 key为被检设备ip_通道号,value为标准设备ip_通道号
|
||||||
* @param devIdMapComm 设备id映射关系 key为被检设备ip,value为被检设备id
|
* @param devIdMapComm 设备id映射关系 key为被检设备ip,value为被检设备id
|
||||||
* @param monitorMap 监测器映射关系 key为被检设备ip_通道号,value为监测器信息
|
|
||||||
* @param testItemCodeList 检测项code列表
|
* @param testItemCodeList 检测项code列表
|
||||||
* @param errorSysId 误差体系id
|
* @param errorSysId 误差体系id
|
||||||
* @param dataRule 数据处理原则
|
* @param dataRule 数据处理原则
|
||||||
* @param num 第几次检测
|
* @param numMap 第几次检测 key为设备id_通道号,value为第几次检测
|
||||||
* @param code 结果表code
|
* @param code 结果表code
|
||||||
* @return key为被检设备ip_通道号、value为是否合格(1合格 2不合格 4无法处理)
|
* @return key为被检设备ip_通道号、value为是否合格(1合格 2不合格 4无法处理)
|
||||||
*/
|
*/
|
||||||
public List<DevLineTestResult> processing(List<DevData> devDataList, List<DevData> standardDevDataList, Map<String, String> pars, Map<String, String> devIdMapComm, Map<String, PreDetection.MonitorListDTO> monitorMap, List<String> testItemCodeList, String errorSysId, DictDataEnum dataRule, Integer num, String code) {
|
public List<DevLineTestResult> processing(List<DevData> devDataList, List<DevData> standardDevDataList, Map<String, String> parsIp, Map<String, String> devIdMapComm, List<String> testItemCodeList, String errorSysId, DictDataEnum dataRule, Map<String, Integer> numMap, String code) {
|
||||||
Map<String, List<DevData>> devDataMap = devDataList.stream().collect(Collectors.groupingBy(obj -> obj.getId().split("_")[0]));
|
Map<String, List<DevData>> devDataMap = devDataList.stream().collect(Collectors.groupingBy(obj -> obj.getId().split("_")[0]));
|
||||||
Map<String, List<DevData>> standardDevDataMap = standardDevDataList.stream().collect(Collectors.groupingBy(DevData::getId));
|
Map<String, List<DevData>> standardDevDataMap = standardDevDataList.stream().collect(Collectors.groupingBy(DevData::getId));
|
||||||
|
|
||||||
@@ -1516,12 +1518,14 @@ public class DetectionServiceImpl {
|
|||||||
List<DevLineTestResult> resultList = new ArrayList<>();
|
List<DevLineTestResult> resultList = new ArrayList<>();
|
||||||
Map<String, List<DevData>> devMonitorMap = devValueList.stream().collect(Collectors.groupingBy(DevData::getId, TreeMap::new, Collectors.toList()));
|
Map<String, List<DevData>> devMonitorMap = devValueList.stream().collect(Collectors.groupingBy(DevData::getId, TreeMap::new, Collectors.toList()));
|
||||||
|
|
||||||
|
String devId = devIdMapComm.get(devIp);
|
||||||
Map<String, List<Integer>> chnResultMap = new HashMap<>();
|
Map<String, List<Integer>> chnResultMap = new HashMap<>();
|
||||||
devMonitorMap.forEach((devMoniterId, devData) -> {
|
devMonitorMap.forEach((devMoniterId, devData) -> {
|
||||||
Map<String, Integer> map = singleMonitorProcessing(devData, standardDevDataMap.get(pars.get(devMoniterId)), devIdMapComm, testItemCodeList, errorSysId, dataRule, num, code);
|
String[] split = devMoniterId.split(CnSocketUtil.SPLIT_TAG);
|
||||||
|
Map<String, Integer> map = singleMonitorProcessing(devData, standardDevDataMap.get(parsIp.get(devMoniterId)), devIdMapComm, testItemCodeList, errorSysId, dataRule, numMap.get(devId + CnSocketUtil.SPLIT_TAG + split[1]), code);
|
||||||
map.forEach((key, value) -> {
|
map.forEach((key, value) -> {
|
||||||
DevLineTestResult devLineTestResult = new DevLineTestResult();
|
DevLineTestResult devLineTestResult = new DevLineTestResult();
|
||||||
devLineTestResult.setDeviceId(devIdMapComm.get(devIp));
|
devLineTestResult.setDeviceId(devId);
|
||||||
devLineTestResult.setScriptName(key);
|
devLineTestResult.setScriptName(key);
|
||||||
List<Integer> chnResult = chnResultMap.getOrDefault(key, new ArrayList<>());
|
List<Integer> chnResult = chnResultMap.getOrDefault(key, new ArrayList<>());
|
||||||
chnResult.add(value);
|
chnResult.add(value);
|
||||||
@@ -1557,18 +1561,9 @@ public class DetectionServiceImpl {
|
|||||||
private Map<String, Integer> singleMonitorProcessing(List<DevData> devDataList, List<DevData> standardDevDataList, Map<String, String> devIdMapComm, List<String> testItemCodeList, String errorSysId, DictDataEnum dataRule, Integer num, String code) {
|
private Map<String, Integer> singleMonitorProcessing(List<DevData> devDataList, List<DevData> standardDevDataList, Map<String, String> devIdMapComm, List<String> testItemCodeList, String errorSysId, DictDataEnum dataRule, Integer num, String code) {
|
||||||
Map<String, Integer> resultMap = new HashMap<>();
|
Map<String, Integer> resultMap = new HashMap<>();
|
||||||
if (CollUtil.isNotEmpty(devDataList) && CollUtil.isNotEmpty(standardDevDataList) && CollUtil.isNotEmpty(testItemCodeList)) {
|
if (CollUtil.isNotEmpty(devDataList) && CollUtil.isNotEmpty(standardDevDataList) && CollUtil.isNotEmpty(testItemCodeList)) {
|
||||||
|
SysTestConfig oneConfig = sysTestConfigService.getOneConfig();
|
||||||
String[] split1 = devDataList.get(0).getId().split("_");
|
String[] split1 = devDataList.get(0).getId().split("_");
|
||||||
String devMonitorId = devIdMapComm.get(split1[0]) + "_" + split1[1];
|
String devMonitorId = devIdMapComm.get(split1[0]) + "_" + split1[1];
|
||||||
for (String testItemCode : testItemCodeList) {
|
|
||||||
// if ("real$U1".equals(testItemCode) || "real$I1".equals(testItemCode)) {
|
|
||||||
// continue;
|
|
||||||
// }
|
|
||||||
|
|
||||||
String[] split = testItemCode.split("\\$");
|
|
||||||
|
|
||||||
SysTestConfig oneConfig = sysTestConfigService.getOneConfig();
|
|
||||||
List<PqErrSysDtls> pqErrSysDtls = pqErrSysDtlsService.listPqErrSysDtlsByPqErrSysIdAndScriptType(errorSysId, split[1]);
|
|
||||||
DetectionCodeEnum anEnum = DetectionCodeEnum.getDetectionCodeByCode(split[1]);
|
|
||||||
PqMonitor pqMonitor = pqMonitorService.getByDevMonitorId(devMonitorId);
|
PqMonitor pqMonitor = pqMonitorService.getByDevMonitorId(devMonitorId);
|
||||||
boolean isStar = DetectionCodeEnum.STAR.getCode().equals(pqMonitor.getConnection());
|
boolean isStar = DetectionCodeEnum.STAR.getCode().equals(pqMonitor.getConnection());
|
||||||
boolean isDelta = DetectionCodeEnum.DELTA.getCode().equals(pqMonitor.getConnection());
|
boolean isDelta = DetectionCodeEnum.DELTA.getCode().equals(pqMonitor.getConnection());
|
||||||
@@ -1578,13 +1573,30 @@ public class DetectionServiceImpl {
|
|||||||
}
|
}
|
||||||
Double fIn = pqMonitorService.getRatedCurrent(devMonitorId);
|
Double fIn = pqMonitorService.getRatedCurrent(devMonitorId);
|
||||||
Double fHz = 50.0;
|
Double fHz = 50.0;
|
||||||
|
for (String testItemCode : testItemCodeList) {
|
||||||
|
String[] split = testItemCode.split("\\$");
|
||||||
|
DetectionCodeEnum anEnum = DetectionCodeEnum.getDetectionCodeByCode(split[1]);
|
||||||
|
if (isStar && (anEnum == DetectionCodeEnum.PVRMS || anEnum == DetectionCodeEnum.PV2_50 || anEnum == DetectionCodeEnum.PSV_1_49) || isDelta && (anEnum == DetectionCodeEnum.VRMS || anEnum == DetectionCodeEnum.V2_50 || anEnum == DetectionCodeEnum.SV_1_49)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
String scriptType = split[1];
|
||||||
|
if (isDelta) {
|
||||||
|
if (DetectionCodeEnum.PV2_50.getCode().equals(scriptType)) {
|
||||||
|
scriptType = DetectionCodeEnum.V2_50.getCode();
|
||||||
|
}
|
||||||
|
if (DetectionCodeEnum.PSV_1_49.getCode().equals(scriptType)) {
|
||||||
|
scriptType = DetectionCodeEnum.SV_1_49.getCode();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<PqErrSysDtls> pqErrSysDtls = pqErrSysDtlsService.listPqErrSysDtlsByPqErrSysIdAndScriptType(errorSysId, scriptType);
|
||||||
|
|
||||||
switch (anEnum) {
|
switch (anEnum) {
|
||||||
case FREQ:
|
case FREQ:
|
||||||
resultMap.put(PowerIndexEnum.FREQ.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fHz, DetectionCodeEnum.FREQ.getCode(), dataRule, num, code, oneConfig.getScale()));
|
resultMap.put(PowerIndexEnum.FREQ.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fHz, DetectionCodeEnum.FREQ.getCode(), dataRule, num, code, oneConfig.getScale()));
|
||||||
break;
|
break;
|
||||||
case VRMS:
|
case VRMS:
|
||||||
case LINE_VRMS:
|
case PVRMS:
|
||||||
resultMap.put(PowerIndexEnum.V.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fUn, (isStar ? DetectionCodeEnum.VRMS.getCode() : DetectionCodeEnum.LINE_VRMS.getCode()), dataRule, num, code, oneConfig.getScale()));
|
resultMap.put(PowerIndexEnum.V.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fUn, (isStar ? DetectionCodeEnum.VRMS.getCode() : DetectionCodeEnum.PVRMS.getCode()), dataRule, num, code, oneConfig.getScale()));
|
||||||
break;
|
break;
|
||||||
case IRMS:
|
case IRMS:
|
||||||
resultMap.put(PowerIndexEnum.I.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fIn, DetectionCodeEnum.IRMS.getCode(), dataRule, num, code, oneConfig.getScale()));
|
resultMap.put(PowerIndexEnum.I.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fIn, DetectionCodeEnum.IRMS.getCode(), dataRule, num, code, oneConfig.getScale()));
|
||||||
@@ -1599,19 +1611,21 @@ public class DetectionServiceImpl {
|
|||||||
resultMap.put(PowerIndexEnum.IMBA.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fIn, DetectionCodeEnum.I_UNBAN.getCode(), dataRule, num, code, oneConfig.getScale()));
|
resultMap.put(PowerIndexEnum.IMBA.getKey(), isQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, true, fIn, DetectionCodeEnum.I_UNBAN.getCode(), dataRule, num, code, oneConfig.getScale()));
|
||||||
break;
|
break;
|
||||||
case V2_50:
|
case V2_50:
|
||||||
resultMap.put(PowerIndexEnum.HV.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, U, fUn, HARMONIC_FLAG, dataRule, num, code, oneConfig.getScale()));
|
case PV2_50:
|
||||||
|
resultMap.put(PowerIndexEnum.HV.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, U, fUn, HARMONIC_FLAG, isDelta, dataRule, num, code, oneConfig.getScale()));
|
||||||
break;
|
break;
|
||||||
case I2_50:
|
case I2_50:
|
||||||
resultMap.put(PowerIndexEnum.HI.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, I, fIn, HARMONIC_FLAG, dataRule, num, code, oneConfig.getScale()));
|
resultMap.put(PowerIndexEnum.HI.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, I, fIn, HARMONIC_FLAG, isDelta, dataRule, num, code, oneConfig.getScale()));
|
||||||
break;
|
break;
|
||||||
case P2_50:
|
case P2_50:
|
||||||
resultMap.put(PowerIndexEnum.HP.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, U, fUn * fIn, HARMONIC_FLAG, dataRule, num, code, oneConfig.getScale()));
|
resultMap.put(PowerIndexEnum.HP.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, U, fUn * fIn, HARMONIC_FLAG, isDelta, dataRule, num, code, oneConfig.getScale()));
|
||||||
break;
|
break;
|
||||||
case SV_1_49:
|
case SV_1_49:
|
||||||
resultMap.put(PowerIndexEnum.HSV.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, U, fUn, INHARMONIC_FLAG, dataRule, num, code, oneConfig.getScale()));
|
case PSV_1_49:
|
||||||
|
resultMap.put(PowerIndexEnum.HSV.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, U, fUn, INHARMONIC_FLAG, isDelta, dataRule, num, code, oneConfig.getScale()));
|
||||||
break;
|
break;
|
||||||
case SI_1_49:
|
case SI_1_49:
|
||||||
resultMap.put(PowerIndexEnum.HSI.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, I, fIn, INHARMONIC_FLAG, dataRule, num, code, oneConfig.getScale()));
|
resultMap.put(PowerIndexEnum.HSI.getKey(), isHarmQualified(devDataList, standardDevDataList, devIdMapComm, pqErrSysDtls, I, fIn, INHARMONIC_FLAG, isDelta, dataRule, num, code, oneConfig.getScale()));
|
||||||
break;
|
break;
|
||||||
case UNKNOWN_ERROR:
|
case UNKNOWN_ERROR:
|
||||||
break;
|
break;
|
||||||
@@ -1621,6 +1635,7 @@ public class DetectionServiceImpl {
|
|||||||
return resultMap;
|
return resultMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 处理非谐波数据
|
* 处理非谐波数据
|
||||||
*
|
*
|
||||||
@@ -1654,9 +1669,11 @@ public class DetectionServiceImpl {
|
|||||||
Map<String, List<List<Double>>> map = devListMap(devDataList, standardDevDataList, desc, dataRule);
|
Map<String, List<List<Double>>> map = devListMap(devDataList, standardDevDataList, desc, dataRule);
|
||||||
ContrastNonHarmonicResult result = new ContrastNonHarmonicResult();
|
ContrastNonHarmonicResult result = new ContrastNonHarmonicResult();
|
||||||
|
|
||||||
String[] split1 = devDataList.get(0).getId().split("_");
|
String[] split1 = devDataList.get(0).getId().split(CnSocketUtil.SPLIT_TAG);
|
||||||
|
String[] split2 = standardDevDataList.get(0).getId().split(CnSocketUtil.SPLIT_TAG);
|
||||||
result.setNum(num);
|
result.setNum(num);
|
||||||
result.setMonitorId(devIdMapComm.get(split1[0]) + "_" + split1[1]);
|
result.setDevMonitorId(devIdMapComm.get(split1[0]) + "_" + split1[1]);
|
||||||
|
result.setStdDevMonitorId(devIdMapComm.get(split2[0]) + "_" + split2[1]);
|
||||||
result.setAdType(errSysDtls.get(0).getScriptType());
|
result.setAdType(errSysDtls.get(0).getScriptType());
|
||||||
result.setDataType(DataSourceEnum.REAL_DATA.getValue());
|
result.setDataType(DataSourceEnum.REAL_DATA.getValue());
|
||||||
|
|
||||||
@@ -1704,6 +1721,7 @@ public class DetectionServiceImpl {
|
|||||||
* @param fData 额定值
|
* @param fData 额定值
|
||||||
* @param type U或I、用来区分电压或电流
|
* @param type U或I、用来区分电压或电流
|
||||||
* @param harmonicFlag 1:间谐波,2:谐波
|
* @param harmonicFlag 1:间谐波,2:谐波
|
||||||
|
* @param isDelta 是否角型接法
|
||||||
* @param dataRule 数据处理原则
|
* @param dataRule 数据处理原则
|
||||||
* @param num 第几次检测
|
* @param num 第几次检测
|
||||||
* @param code 结果表code
|
* @param code 结果表code
|
||||||
@@ -1717,21 +1735,30 @@ public class DetectionServiceImpl {
|
|||||||
String type,
|
String type,
|
||||||
Double fData,
|
Double fData,
|
||||||
Integer harmonicFlag,
|
Integer harmonicFlag,
|
||||||
|
boolean isDelta,
|
||||||
DictDataEnum dataRule,
|
DictDataEnum dataRule,
|
||||||
Integer num,
|
Integer num,
|
||||||
String code,
|
String code,
|
||||||
Integer scale) {
|
Integer scale) {
|
||||||
|
|
||||||
List<ContrastHarmonicResult> info = new ArrayList<>();
|
List<ContrastHarmonicResult> info = new ArrayList<>();
|
||||||
if (CollUtil.isNotEmpty(devDataList) && CollUtil.isNotEmpty(standardDevDataList) && CollUtil.isNotEmpty(errSysDtls)) {
|
if (CollUtil.isNotEmpty(devDataList) && CollUtil.isNotEmpty(standardDevDataList) && CollUtil.isNotEmpty(errSysDtls)) {
|
||||||
String fundCode = "";
|
String fundCode = "";
|
||||||
String harmCode = "";
|
String harmCode = "";
|
||||||
if (U.equals(type)) {
|
if (U.equals(type)) {
|
||||||
fundCode = DetectionCodeEnum.U1.getCode();
|
fundCode = DetectionCodeEnum.U1.getCode();
|
||||||
|
if (isDelta) {
|
||||||
|
fundCode = DetectionCodeEnum.PU1.getCode();
|
||||||
|
}
|
||||||
if (harmonicFlag == 1) {
|
if (harmonicFlag == 1) {
|
||||||
harmCode = DetectionCodeEnum.SV_1_49.getCode();
|
harmCode = DetectionCodeEnum.SV_1_49.getCode();
|
||||||
|
if (isDelta) {
|
||||||
|
harmCode = DetectionCodeEnum.PSV_1_49.getCode();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
harmCode = DetectionCodeEnum.V2_50.getCode();
|
harmCode = DetectionCodeEnum.V2_50.getCode();
|
||||||
|
if (isDelta) {
|
||||||
|
harmCode = DetectionCodeEnum.PV2_50.getCode();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (I.equals(type)) {
|
if (I.equals(type)) {
|
||||||
@@ -1750,9 +1777,11 @@ public class DetectionServiceImpl {
|
|||||||
Map<String, List<Map<Double, List<Double>>>> devMap = devHarmListMap(devDataList, standardDevDataList, fundCode, harmCode, harmonicFlag, dataRule);
|
Map<String, List<Map<Double, List<Double>>>> devMap = devHarmListMap(devDataList, standardDevDataList, fundCode, harmCode, harmonicFlag, dataRule);
|
||||||
ContrastHarmonicResult result = new ContrastHarmonicResult();
|
ContrastHarmonicResult result = new ContrastHarmonicResult();
|
||||||
|
|
||||||
String[] split = devDataList.get(0).getId().split("_");
|
String[] split1 = devDataList.get(0).getId().split("_");
|
||||||
|
String[] split2 = standardDevDataList.get(0).getId().split("_");
|
||||||
result.setNum(num);
|
result.setNum(num);
|
||||||
result.setMonitorId(devIdMapComm.get(split[0]) + "_" + split[1]);
|
result.setDevMonitorId(devIdMapComm.get(split1[0]) + "_" + split1[1]);
|
||||||
|
result.setStdDevMonitorId(devIdMapComm.get(split2[0]) + "_" + split2[1]);
|
||||||
result.setAdType(errSysDtls.get(0).getScriptType());
|
result.setAdType(errSysDtls.get(0).getScriptType());
|
||||||
result.setDataType(DataSourceEnum.REAL_DATA.getValue());
|
result.setDataType(DataSourceEnum.REAL_DATA.getValue());
|
||||||
|
|
||||||
@@ -1804,6 +1833,20 @@ public class DetectionServiceImpl {
|
|||||||
List<DevData.SqlDataDTO.ListDTO> standardDevList = standardDevSqlData.stream().filter(j -> desc.equals(j.getDesc()))
|
List<DevData.SqlDataDTO.ListDTO> standardDevList = standardDevSqlData.stream().filter(j -> desc.equals(j.getDesc()))
|
||||||
.map(DevData.SqlDataDTO::getList).collect(Collectors.toList());
|
.map(DevData.SqlDataDTO::getList).collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 如果角型接法中,不存在线电压有效值,则取相电压有效值进行计算
|
||||||
|
if (CollUtil.isEmpty(devList)) {
|
||||||
|
if (desc.equals(DetectionCodeEnum.PVRMS.getCode())) {
|
||||||
|
devList = devSqlData.stream().filter(j -> DetectionCodeEnum.VRMS.getCode().equals(j.getDesc()))
|
||||||
|
.map(DevData.SqlDataDTO::getList).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollUtil.isEmpty(standardDevList)) {
|
||||||
|
if (desc.equals(DetectionCodeEnum.PVRMS.getCode())) {
|
||||||
|
standardDevList = standardDevSqlData.stream().filter(j -> DetectionCodeEnum.VRMS.getCode().equals(j.getDesc()))
|
||||||
|
.map(DevData.SqlDataDTO::getList).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
aDev.addAll(devList.stream().filter(x -> ObjectUtil.isNotNull(x.getA()))
|
aDev.addAll(devList.stream().filter(x -> ObjectUtil.isNotNull(x.getA()))
|
||||||
.map(x -> x.getA().doubleValue())
|
.map(x -> x.getA().doubleValue())
|
||||||
.collect(Collectors.toList()));
|
.collect(Collectors.toList()));
|
||||||
@@ -1927,6 +1970,7 @@ public class DetectionServiceImpl {
|
|||||||
String harmCode,
|
String harmCode,
|
||||||
Integer harmonicFlag,
|
Integer harmonicFlag,
|
||||||
DictDataEnum dataRule) {
|
DictDataEnum dataRule) {
|
||||||
|
System.out.println("aaa" + dev.size() + " " + standardDev.size());
|
||||||
Map<String, List<Map<Double, List<Double>>>> resultMap = new HashMap<>(3);
|
Map<String, List<Map<Double, List<Double>>>> resultMap = new HashMap<>(3);
|
||||||
|
|
||||||
// key为相别、value{key为谐波次数,value为按数据处理原则处理后的数据}
|
// key为相别、value{key为谐波次数,value为按数据处理原则处理后的数据}
|
||||||
@@ -1947,9 +1991,21 @@ public class DetectionServiceImpl {
|
|||||||
Optional<DevData.SqlDataDTO> first1 = Optional.empty();
|
Optional<DevData.SqlDataDTO> first1 = Optional.empty();
|
||||||
Optional<DevData.SqlDataDTO> first2 = Optional.empty();
|
Optional<DevData.SqlDataDTO> first2 = Optional.empty();
|
||||||
if (CollUtil.isNotEmpty(devSqlData) && CollUtil.isNotEmpty(standardDevSqlData)) {
|
if (CollUtil.isNotEmpty(devSqlData) && CollUtil.isNotEmpty(standardDevSqlData)) {
|
||||||
first1 = devSqlData.stream().filter(j -> j.getDesc().equals(fundCode)).collect(Collectors.toList()).stream().findFirst();
|
first1 = devSqlData.stream().filter(j -> fundCode.equals(j.getDesc())).collect(Collectors.toList()).stream().findFirst();
|
||||||
first2 = standardDevSqlData.stream().filter(j -> j.getDesc().equals(fundCode)).collect(Collectors.toList()).stream().findFirst();
|
first2 = standardDevSqlData.stream().filter(j -> fundCode.equals(j.getDesc())).collect(Collectors.toList()).stream().findFirst();
|
||||||
}
|
}
|
||||||
|
// 如果角型接法中,不存在线电压谐波电压基波有效值,则取相电压谐波电压基波有效值进行计算
|
||||||
|
if (!first1.isPresent()) {
|
||||||
|
if (DetectionCodeEnum.PU1.getCode().equals(fundCode)) {
|
||||||
|
first1 = devSqlData.stream().filter(j -> DetectionCodeEnum.U1.getCode().equals(j.getDesc())).collect(Collectors.toList()).stream().findFirst();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!first2.isPresent()) {
|
||||||
|
if (DetectionCodeEnum.PU1.getCode().equals(fundCode)) {
|
||||||
|
first2 = devSqlData.stream().filter(j -> DetectionCodeEnum.U1.getCode().equals(j.getDesc())).collect(Collectors.toList()).stream().findFirst();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
DevData.SqlDataDTO fund1 = null;
|
DevData.SqlDataDTO fund1 = null;
|
||||||
DevData.SqlDataDTO fund2 = null;
|
DevData.SqlDataDTO fund2 = null;
|
||||||
if (first1.isPresent()) {
|
if (first1.isPresent()) {
|
||||||
@@ -1958,8 +2014,28 @@ public class DetectionServiceImpl {
|
|||||||
if (first2.isPresent()) {
|
if (first2.isPresent()) {
|
||||||
fund2 = first2.get();
|
fund2 = first2.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
List<DevData.SqlDataHarmDTO> devHarmList = dev.get(i).getSqlDataHarm().stream().filter(x -> x.getDesc().equals(harmCode)).collect(Collectors.toList());
|
List<DevData.SqlDataHarmDTO> devHarmList = dev.get(i).getSqlDataHarm().stream().filter(x -> x.getDesc().equals(harmCode)).collect(Collectors.toList());
|
||||||
List<DevData.SqlDataHarmDTO> stdDevHarmList = dev.get(i).getSqlDataHarm().stream().filter(x -> x.getDesc().equals(harmCode)).collect(Collectors.toList());
|
List<DevData.SqlDataHarmDTO> stdDevHarmList = standardDev.get(i).getSqlDataHarm().stream().filter(x -> x.getDesc().equals(harmCode)).collect(Collectors.toList());
|
||||||
|
|
||||||
|
// 如果角型接法中,不存在线电压谐波电压含有率,则取相电压谐波电压含有率进行计算
|
||||||
|
if (CollUtil.isEmpty(devHarmList)) {
|
||||||
|
if (DetectionCodeEnum.PV2_50.getCode().equals(harmCode)) {
|
||||||
|
devHarmList = dev.get(i).getSqlDataHarm().stream().filter(x -> DetectionCodeEnum.V2_50.getCode().equals(x.getDesc())).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
if (DetectionCodeEnum.PSV_1_49.getCode().equals(harmCode)) {
|
||||||
|
devHarmList = dev.get(i).getSqlDataHarm().stream().filter(x -> DetectionCodeEnum.SV_1_49.getCode().equals(x.getDesc())).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (CollUtil.isEmpty(stdDevHarmList)) {
|
||||||
|
if (DetectionCodeEnum.PV2_50.getCode().equals(harmCode)) {
|
||||||
|
stdDevHarmList = standardDev.get(i).getSqlDataHarm().stream().filter(x -> DetectionCodeEnum.V2_50.getCode().equals(x.getDesc())).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
if (DetectionCodeEnum.PSV_1_49.getCode().equals(harmCode)) {
|
||||||
|
stdDevHarmList = standardDev.get(i).getSqlDataHarm().stream().filter(x -> DetectionCodeEnum.SV_1_49.getCode().equals(x.getDesc())).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (CollUtil.isNotEmpty(devHarmList) && CollUtil.isNotEmpty(stdDevHarmList)) {
|
if (CollUtil.isNotEmpty(devHarmList) && CollUtil.isNotEmpty(stdDevHarmList)) {
|
||||||
DevData.SqlDataHarmDTO devHarm = devHarmList.get(0);
|
DevData.SqlDataHarmDTO devHarm = devHarmList.get(0);
|
||||||
DevData.SqlDataHarmDTO stdDevHarm = stdDevHarmList.get(0);
|
DevData.SqlDataHarmDTO stdDevHarm = stdDevHarmList.get(0);
|
||||||
@@ -2058,12 +2134,13 @@ public class DetectionServiceImpl {
|
|||||||
Integer scale) {
|
Integer scale) {
|
||||||
List<DetectionData> detectionDataList = new ArrayList<>();
|
List<DetectionData> detectionDataList = new ArrayList<>();
|
||||||
List<Double> U1List = new ArrayList<>();
|
List<Double> U1List = new ArrayList<>();
|
||||||
standardDevMap.forEach((harmonicNum, stdDataList) -> {
|
|
||||||
if (U.equals(type)) {
|
if (U.equals(type)) {
|
||||||
// todo 间谐波电压使用U1???
|
U1List.addAll(standardDevMap.get(0.0));
|
||||||
U1List.addAll(standardDevMap.get(1.0));
|
|
||||||
}
|
}
|
||||||
|
standardDevMap.forEach((harmonicNum, stdDataList) -> {
|
||||||
|
if (harmonicNum != 0.0) {
|
||||||
detectionDataList.addAll(this.getDetectionDataList(devMap.get(harmonicNum), stdDataList, U1List, pqErrSysDtls, fData, harmonicNum, scale));
|
detectionDataList.addAll(this.getDetectionDataList(devMap.get(harmonicNum), stdDataList, U1List, pqErrSysDtls, fData, harmonicNum, scale));
|
||||||
|
}
|
||||||
});
|
});
|
||||||
return detectionDataList;
|
return detectionDataList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.db.mybatisplus.handler.DynamicTableNameHandler;
|
|
||||||
import com.njcn.gather.detection.handler.SocketContrastResponseService;
|
import com.njcn.gather.detection.handler.SocketContrastResponseService;
|
||||||
import com.njcn.gather.detection.handler.SocketDevResponseService;
|
import com.njcn.gather.detection.handler.SocketDevResponseService;
|
||||||
import com.njcn.gather.detection.handler.SocketSourceResponseService;
|
import com.njcn.gather.detection.handler.SocketSourceResponseService;
|
||||||
@@ -37,20 +36,21 @@ import com.njcn.gather.script.service.IPqScriptCheckDataService;
|
|||||||
import com.njcn.gather.script.service.IPqScriptDtlsService;
|
import com.njcn.gather.script.service.IPqScriptDtlsService;
|
||||||
import com.njcn.gather.source.pojo.po.SourceInitialize;
|
import com.njcn.gather.source.pojo.po.SourceInitialize;
|
||||||
import com.njcn.gather.source.service.IPqSourceService;
|
import com.njcn.gather.source.service.IPqSourceService;
|
||||||
import com.njcn.gather.storage.pojo.po.ContrastHarmonicResult;
|
|
||||||
import com.njcn.gather.storage.pojo.po.ContrastNonHarmonicResult;
|
|
||||||
import com.njcn.gather.storage.service.ContrastHarmonicService;
|
|
||||||
import com.njcn.gather.storage.service.ContrastNonHarmonicService;
|
|
||||||
import com.njcn.gather.system.cfg.pojo.po.SysTestConfig;
|
|
||||||
import com.njcn.gather.system.cfg.service.ISysTestConfigService;
|
|
||||||
import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum;
|
import com.njcn.gather.system.dictionary.pojo.enums.DictDataEnum;
|
||||||
import com.njcn.gather.system.dictionary.service.IDictDataService;
|
import com.njcn.gather.system.dictionary.service.IDictDataService;
|
||||||
|
import com.njcn.web.utils.HttpServletUtil;
|
||||||
import com.njcn.web.utils.RequestUtil;
|
import com.njcn.web.utils.RequestUtil;
|
||||||
import io.netty.channel.Channel;
|
import io.netty.channel.Channel;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.servlet.ServletOutputStream;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -69,16 +69,16 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
private final IAdPlanSourceService adPlanSourceService;
|
private final IAdPlanSourceService adPlanSourceService;
|
||||||
private final IPqSourceService pqSourceService;
|
private final IPqSourceService pqSourceService;
|
||||||
private final IPqScriptDtlsService pqScriptDtlsService;
|
private final IPqScriptDtlsService pqScriptDtlsService;
|
||||||
private final ISysTestConfigService testConfigService;
|
|
||||||
|
|
||||||
private final SocketDevResponseService socketDevResponseService;
|
private final SocketDevResponseService socketDevResponseService;
|
||||||
private final SocketSourceResponseService socketSourceResponseService;
|
private final SocketSourceResponseService socketSourceResponseService;
|
||||||
private final SocketContrastResponseService socketContrastResponseService;
|
private final SocketContrastResponseService socketContrastResponseService;
|
||||||
private final IPqScriptCheckDataService iPqScriptCheckDataService;
|
private final IPqScriptCheckDataService iPqScriptCheckDataService;
|
||||||
private final ContrastNonHarmonicService contrastNonHarmonicService;
|
|
||||||
private final ContrastHarmonicService contrastHarmonicService;
|
|
||||||
private final SocketManager socketManager;
|
private final SocketManager socketManager;
|
||||||
|
|
||||||
|
@Value("${log.homeDir}")
|
||||||
|
private String alignDataFilePath;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sourceCommunicationCheck(PreDetectionParam param) {
|
public void sourceCommunicationCheck(PreDetectionParam param) {
|
||||||
@@ -251,9 +251,9 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
PqScriptCheckDataParam checkDataParam = new PqScriptCheckDataParam();
|
PqScriptCheckDataParam checkDataParam = new PqScriptCheckDataParam();
|
||||||
checkDataParam.setScriptId(param.getScriptId());
|
checkDataParam.setScriptId(param.getScriptId());
|
||||||
checkDataParam.setIsValueTypeName(false);
|
checkDataParam.setIsValueTypeName(false);
|
||||||
List<String> valueType = iPqScriptCheckDataService.getValueType(checkDataParam);
|
List<String> adType = iPqScriptCheckDataService.getValueType(checkDataParam);
|
||||||
|
|
||||||
iPqDevService.updateResult(param.getDevIds(), valueType, param.getCode(), param.getUserId(), param.getTemperature(), param.getHumidity());
|
iPqDevService.updateResult(false, param.getDevIds(), adType, param.getCode(), param.getUserId(), param.getTemperature(), param.getHumidity());
|
||||||
CnSocketUtil.quitSend(param);
|
CnSocketUtil.quitSend(param);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -330,36 +330,26 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<Integer, Integer> getContrastTestNumInfo(String planId) {
|
public void exportAlignData() {
|
||||||
AdPlan plan = iAdPlanService.getById(planId);
|
String fileName = "实时数据.xlsx";
|
||||||
SysTestConfig oneConfig = testConfigService.getOneConfig();
|
HttpServletResponse response = HttpServletUtil.getResponse();
|
||||||
|
response.reset();
|
||||||
Integer maxNum = 1;
|
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
|
||||||
String code = String.valueOf(plan.getCode());
|
response.setContentType("application/octet-stream;charset=UTF-8");
|
||||||
String adNonTable = "ad_non_harmonic_";
|
try {
|
||||||
String adTable = "ad_harmonic_";
|
InputStream inputStream = new FileInputStream(alignDataFilePath + "\\" + fileName);
|
||||||
|
byte[] buffer = new byte[1024];
|
||||||
DynamicTableNameHandler.setTableName(adNonTable + code);
|
int len = 0;
|
||||||
ContrastNonHarmonicResult result1 = contrastNonHarmonicService.lambdaQuery().select(ContrastNonHarmonicResult::getNum).orderByDesc().last("LIMIT 1").one();
|
ServletOutputStream outputStream = response.getOutputStream();
|
||||||
if (ObjectUtil.isNotNull(result1)) {
|
while ((len = inputStream.read(buffer)) != -1) {
|
||||||
if (result1.getNum().compareTo(maxNum) > 0) {
|
outputStream.write(buffer, 0, len);
|
||||||
maxNum = result1.getNum() + 1;
|
|
||||||
}
|
}
|
||||||
|
outputStream.flush();
|
||||||
|
outputStream.close();
|
||||||
|
inputStream.close();
|
||||||
|
} catch (IOException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
DynamicTableNameHandler.remove();
|
|
||||||
|
|
||||||
DynamicTableNameHandler.setTableName(adTable + code);
|
|
||||||
ContrastHarmonicResult result2 = contrastHarmonicService.lambdaQuery().select(ContrastHarmonicResult::getNum).orderByDesc().last("LIMIT 1").one();
|
|
||||||
if (ObjectUtil.isNotNull(result2)) {
|
|
||||||
if (result2.getNum().compareTo(maxNum) > 0) {
|
|
||||||
maxNum = result2.getNum() + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
DynamicTableNameHandler.remove();
|
|
||||||
|
|
||||||
Map<Integer, Integer> map = new HashMap<>();
|
|
||||||
map.put(oneConfig.getMaxTime(), maxNum);
|
|
||||||
return map;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -394,6 +384,10 @@ public class PreDetectionServiceImpl implements PreDetectionService {
|
|||||||
socketMsg.setData(jsonString);
|
socketMsg.setData(jsonString);
|
||||||
PreDetectionParam preDetectionParam = new PreDetectionParam();
|
PreDetectionParam preDetectionParam = new PreDetectionParam();
|
||||||
preDetectionParam.setUserPageId(param.getLoginName());
|
preDetectionParam.setUserPageId(param.getLoginName());
|
||||||
|
preDetectionParam.setTestItemList(param.getTestItemList());
|
||||||
|
preDetectionParam.setNumMap(param.getNumMap());
|
||||||
|
preDetectionParam.setDevIds(param.getDevIds());
|
||||||
|
preDetectionParam.setUserId(param.getUserId());
|
||||||
WebServiceManager.addPreDetectionParam(param.getLoginName(), preDetectionParam);
|
WebServiceManager.addPreDetectionParam(param.getLoginName(), preDetectionParam);
|
||||||
socketManager.smartSendToContrast(param, JSON.toJSONString(socketMsg));
|
socketManager.smartSendToContrast(param, JSON.toJSONString(socketMsg));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -102,7 +102,12 @@ public class FormalTestManager {
|
|||||||
/**
|
/**
|
||||||
* 所有参与比对式检测的被检设备、标准设备配对关系。key:被检设备ip_通道号,value:标准设备ip_通道号
|
* 所有参与比对式检测的被检设备、标准设备配对关系。key:被检设备ip_通道号,value:标准设备ip_通道号
|
||||||
*/
|
*/
|
||||||
public static HashBiMap<String, String> pairsMap = HashBiMap.create();
|
public static HashBiMap<String, String> pairsIpMap = HashBiMap.create();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 所有参与比对式检测的被检设备、标准设备配对关系。key:被检设备id_通道号,value:标准设备id_通道号
|
||||||
|
*/
|
||||||
|
public static HashBiMap<String, String> pairsIdMap = HashBiMap.create();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 被检设备的数据。key:设备ip_通道号,value:DevData数据集合
|
* 被检设备的数据。key:设备ip_通道号,value:DevData数据集合
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import io.netty.handler.codec.string.StringEncoder;
|
|||||||
import io.netty.handler.timeout.IdleStateHandler;
|
import io.netty.handler.timeout.IdleStateHandler;
|
||||||
import io.netty.util.CharsetUtil;
|
import io.netty.util.CharsetUtil;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
@@ -127,7 +126,9 @@ public class NettyClient {
|
|||||||
PreDetectionParam preDetectionParam = new PreDetectionParam();
|
PreDetectionParam preDetectionParam = new PreDetectionParam();
|
||||||
preDetectionParam.setUserPageId(param.getLoginName());
|
preDetectionParam.setUserPageId(param.getLoginName());
|
||||||
preDetectionParam.setTestItemList(param.getTestItemList());
|
preDetectionParam.setTestItemList(param.getTestItemList());
|
||||||
preDetectionParam.setNum(param.getNum());
|
preDetectionParam.setNumMap(param.getNumMap());
|
||||||
|
preDetectionParam.setDevIds(param.getDevIds());
|
||||||
|
preDetectionParam.setUserId(param.getUserId());
|
||||||
NettyContrastClientHandler handler = new NettyContrastClientHandler(preDetectionParam, socketContrastResponseService);
|
NettyContrastClientHandler handler = new NettyContrastClientHandler(preDetectionParam, socketContrastResponseService);
|
||||||
executeSocketConnection(ip, port, preDetectionParam, msg, handler);
|
executeSocketConnection(ip, port, preDetectionParam, msg, handler);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,15 +109,16 @@ public interface IPqDevService extends IService<PqDev> {
|
|||||||
/**
|
/**
|
||||||
* 正式监测完成,修改中断状态
|
* 正式监测完成,修改中断状态
|
||||||
*
|
*
|
||||||
|
* @param isContrast
|
||||||
* @param ids
|
* @param ids
|
||||||
* @param valueType
|
* @param adType
|
||||||
* @param code
|
* @param code
|
||||||
* @param userId
|
* @param userId
|
||||||
* @param temperature
|
* @param temperature
|
||||||
* @param humidity
|
* @param humidity
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
boolean updateResult(List<String> ids, List<String> valueType, String code, String userId, Float temperature, Float humidity);
|
boolean updateResult(boolean isContrast,List<String> ids, List<String> adType, String code,String userId, Float temperature, Float humidity);
|
||||||
|
|
||||||
void updatePqDevReportState(String devId, int i);
|
void updatePqDevReportState(String devId, int i);
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import com.njcn.common.pojo.enums.common.DataStateEnum;
|
|||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.common.pojo.poi.PullDown;
|
import com.njcn.common.pojo.poi.PullDown;
|
||||||
import com.njcn.common.utils.EncryptionUtil;
|
import com.njcn.common.utils.EncryptionUtil;
|
||||||
|
import com.njcn.common.utils.JwtUtil;
|
||||||
import com.njcn.db.mybatisplus.constant.DbConstant;
|
import com.njcn.db.mybatisplus.constant.DbConstant;
|
||||||
import com.njcn.gather.device.mapper.PqDevMapper;
|
import com.njcn.gather.device.mapper.PqDevMapper;
|
||||||
import com.njcn.gather.device.pojo.enums.*;
|
import com.njcn.gather.device.pojo.enums.*;
|
||||||
@@ -48,6 +49,7 @@ import com.njcn.gather.user.user.service.ISysUserService;
|
|||||||
import com.njcn.web.factory.PageFactory;
|
import com.njcn.web.factory.PageFactory;
|
||||||
import com.njcn.web.utils.ExcelUtil;
|
import com.njcn.web.utils.ExcelUtil;
|
||||||
import com.njcn.web.utils.PoiUtil;
|
import com.njcn.web.utils.PoiUtil;
|
||||||
|
import com.njcn.web.utils.RequestUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
@@ -434,10 +436,11 @@ public class PqDevServiceImpl extends ServiceImpl<PqDevMapper, PqDev> implements
|
|||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean updateResult(List<String> ids, List<String> valueType, String code, String userId, Float temperature, Float humidity) {
|
public boolean updateResult(boolean isContrast, List<String> ids, List<String> adType, String code,String userId, Float temperature, Float humidity) {
|
||||||
if (CollUtil.isNotEmpty(ids)) {
|
if (CollUtil.isNotEmpty(ids)) {
|
||||||
|
|
||||||
SysTestConfig config = sysTestConfigService.getOneConfig();
|
SysTestConfig config = sysTestConfigService.getOneConfig();
|
||||||
Map<String, Integer> result = detectionDataDealService.devResult(ids, valueType, code);
|
Map<String, Integer> result = detectionDataDealService.devResult(isContrast, ids, adType, code);
|
||||||
List<PqDevVO> list = new ArrayList<>();
|
List<PqDevVO> list = new ArrayList<>();
|
||||||
if (CollUtil.isNotEmpty(ids)) {
|
if (CollUtil.isNotEmpty(ids)) {
|
||||||
list.addAll(this.baseMapper.listByDevIds(ids));
|
list.addAll(this.baseMapper.listByDevIds(ids));
|
||||||
|
|||||||
@@ -33,18 +33,8 @@
|
|||||||
and Num = #{num}
|
and Num = #{num}
|
||||||
</select>
|
</select>
|
||||||
<select id="listByDevIds" resultType="com.njcn.gather.monitor.pojo.po.PqMonitor">
|
<select id="listByDevIds" resultType="com.njcn.gather.monitor.pojo.po.PqMonitor">
|
||||||
select pq_monitor.Id,
|
select *
|
||||||
pq_monitor.Dev_Id,
|
|
||||||
pq_monitor.Name,
|
|
||||||
pq_monitor.Busbar,
|
|
||||||
pq_monitor.Num,
|
|
||||||
pq_monitor.Pt,
|
|
||||||
pq_monitor.Ct,
|
|
||||||
pq_monitor.Stat_Interval,
|
|
||||||
pq_monitor.Harm_Sys_Id,
|
|
||||||
sys_dict_data.Code as `Connection`
|
|
||||||
from pq_monitor
|
from pq_monitor
|
||||||
inner join sys_dict_data on pq_monitor.Connection = sys_dict_data.id
|
|
||||||
where Dev_Id in
|
where Dev_Id in
|
||||||
<foreach collection="devIds" item="devId" open="(" separator="," close=")">
|
<foreach collection="devIds" item="devId" open="(" separator="," close=")">
|
||||||
#{devId}
|
#{devId}
|
||||||
|
|||||||
@@ -120,13 +120,4 @@ public class ResultController extends BaseController {
|
|||||||
resultService.deleteTempTable(code);
|
resultService.deleteTempTable(code);
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.DOWNLOAD)
|
|
||||||
@PostMapping("/exportAlignData")
|
|
||||||
@ApiOperation("实时对齐数据导出为csv文件")
|
|
||||||
public void exportAlignData() {
|
|
||||||
String methodDescribe = getMethodDescribe("exportAlignData");
|
|
||||||
LogUtil.njcnDebug(log, "{}", methodDescribe);
|
|
||||||
resultService.exportAlignData();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,9 +97,4 @@ public interface IResultService {
|
|||||||
* @param pKeys 待填充的值
|
* @param pKeys 待填充的值
|
||||||
*/
|
*/
|
||||||
Map<String, String> getParagraphKeysValue(String itemCode, List<String> pKeys);
|
Map<String, String> getParagraphKeysValue(String itemCode, List<String> pKeys);
|
||||||
|
|
||||||
/**
|
|
||||||
* 导出实时数据对齐过程中的数据
|
|
||||||
*/
|
|
||||||
void exportAlignData();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,8 @@ import com.njcn.common.utils.PubUtils;
|
|||||||
import com.njcn.gather.detection.pojo.enums.DetectionCodeEnum;
|
import com.njcn.gather.detection.pojo.enums.DetectionCodeEnum;
|
||||||
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
|
import com.njcn.gather.detection.pojo.param.PreDetectionParam;
|
||||||
import com.njcn.gather.detection.pojo.po.DevData;
|
import com.njcn.gather.detection.pojo.po.DevData;
|
||||||
import com.njcn.gather.detection.pojo.vo.AlignDataExcel;
|
|
||||||
import com.njcn.gather.detection.pojo.vo.DetectionData;
|
import com.njcn.gather.detection.pojo.vo.DetectionData;
|
||||||
import com.njcn.gather.detection.service.impl.DetectionServiceImpl;
|
import com.njcn.gather.detection.service.impl.DetectionServiceImpl;
|
||||||
import com.njcn.gather.detection.util.DetectionUtil;
|
|
||||||
import com.njcn.gather.detection.util.socket.CnSocketUtil;
|
|
||||||
import com.njcn.gather.detection.util.socket.FormalTestManager;
|
|
||||||
import com.njcn.gather.device.pojo.enums.CommonEnum;
|
import com.njcn.gather.device.pojo.enums.CommonEnum;
|
||||||
import com.njcn.gather.device.service.IPqDevService;
|
import com.njcn.gather.device.service.IPqDevService;
|
||||||
import com.njcn.gather.plan.pojo.po.AdPlan;
|
import com.njcn.gather.plan.pojo.po.AdPlan;
|
||||||
@@ -139,7 +135,7 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(allResultList)) {
|
if (ObjectUtil.isNotEmpty(allResultList)) {
|
||||||
Map<String, List<SimAndDigBaseResult>> chnMap = allResultList.stream().collect(
|
Map<String, List<SimAndDigBaseResult>> chnMap = allResultList.stream().collect(
|
||||||
Collectors.groupingBy(obj -> obj.getMonitorId().substring(obj.getMonitorId().lastIndexOf("_") + 1))
|
Collectors.groupingBy(obj -> obj.getDevMonitorId().substring(obj.getDevMonitorId().lastIndexOf("_") + 1))
|
||||||
);
|
);
|
||||||
chnMap.forEach((chn, list) -> {
|
chnMap.forEach((chn, list) -> {
|
||||||
Map<String, String> map = new HashMap<>();
|
Map<String, String> map = new HashMap<>();
|
||||||
@@ -1495,73 +1491,6 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void exportAlignData() {
|
|
||||||
List<Map<String, Object>> sheetsList = new ArrayList<>();
|
|
||||||
|
|
||||||
// key为被检设备的ip, value为该ip下所有通道的设备数据
|
|
||||||
Map<String, List<DevData>> ipDevDataMap = FormalTestManager.standardDevDataMap.values().stream().flatMap(List::stream).collect(Collectors.groupingBy(obj -> obj.getId().split(CnSocketUtil.SPLIT_TAG)[0]));
|
|
||||||
|
|
||||||
ipDevDataMap.forEach((ip, stdDevDataList) -> {
|
|
||||||
// 按照通道号分组。key为通道号,value为该通道号下所有设备数据
|
|
||||||
Map<String, List<DevData>> channelDataMap = stdDevDataList.stream().collect(Collectors.groupingBy(obj -> obj.getId().split(CnSocketUtil.SPLIT_TAG)[1]));
|
|
||||||
|
|
||||||
channelDataMap.forEach((channel, channelDevDataList) -> {
|
|
||||||
String standardDevMonitorId = ip + CnSocketUtil.SPLIT_TAG + channel;
|
|
||||||
String devMonitorId = FormalTestManager.pairsMap.inverse().get(standardDevMonitorId);
|
|
||||||
List<DevData> devDataList = BeanUtil.copyToList(FormalTestManager.devDataMap.get(standardDevMonitorId), DevData.class);
|
|
||||||
channelDevDataList.sort(Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
|
||||||
|
|
||||||
HashMap sheet = new HashMap<>();
|
|
||||||
ExportParams exportParams = new ExportParams();
|
|
||||||
String standardDevName = FormalTestManager.devNameMapComm.get(ip);
|
|
||||||
String[] split = devMonitorId.split(CnSocketUtil.SPLIT_TAG);
|
|
||||||
String devName = FormalTestManager.devNameMapComm.get(split[0]);
|
|
||||||
exportParams.setSheetName(devName + "通道" + channel);
|
|
||||||
sheet.put("title", exportParams);
|
|
||||||
|
|
||||||
List<AlignDataExcel> dataList = new ArrayList<>();
|
|
||||||
channelDevDataList.stream().forEach(obj -> {
|
|
||||||
AlignDataExcel alignDataExcel = new AlignDataExcel();
|
|
||||||
alignDataExcel.getDevDataConfig().setName(devName + "通道" + split[1]);
|
|
||||||
alignDataExcel.getStandardDevDataConfig().setName(standardDevName + "通道" + channel);
|
|
||||||
DevData.SqlDataDTO.ListDTO list1 = obj.getSqlData().get(0).getList();
|
|
||||||
alignDataExcel.setTimeStdDev(obj.getTime());
|
|
||||||
alignDataExcel.setUaStdDev(list1.getA());
|
|
||||||
alignDataExcel.setUbStdDev(list1.getB());
|
|
||||||
alignDataExcel.setUcStdDev(list1.getC());
|
|
||||||
|
|
||||||
DevData devData = devDataList.stream().filter(obj1 -> DetectionUtil.isAlignData(obj1, obj)).findFirst().get();
|
|
||||||
if (ObjectUtil.isNotNull(devData)) {
|
|
||||||
DevData.SqlDataDTO.ListDTO list2 = devData.getSqlData().get(0).getList();
|
|
||||||
alignDataExcel.setTimeDev(devData.getTime());
|
|
||||||
alignDataExcel.setUaDev(list2.getA());
|
|
||||||
alignDataExcel.setUbDev(list2.getB());
|
|
||||||
alignDataExcel.setUcDev(list2.getC());
|
|
||||||
devDataList.remove(devData);
|
|
||||||
}
|
|
||||||
dataList.add(alignDataExcel);
|
|
||||||
});
|
|
||||||
devDataList.sort(Comparator.comparing(obj -> DetectionUtil.getMillis(obj.getTime())));
|
|
||||||
devDataList.stream().forEach(obj -> {
|
|
||||||
AlignDataExcel alignDataExcel = new AlignDataExcel();
|
|
||||||
alignDataExcel.getDevDataConfig().setName(devName + "通道" + split[1]);
|
|
||||||
alignDataExcel.getStandardDevDataConfig().setName(standardDevName + "通道" + channel);
|
|
||||||
DevData.SqlDataDTO.ListDTO list2 = obj.getSqlData().get(0).getList();
|
|
||||||
alignDataExcel.setTimeDev(obj.getTime());
|
|
||||||
alignDataExcel.setUaDev(list2.getA());
|
|
||||||
alignDataExcel.setUbDev(list2.getB());
|
|
||||||
alignDataExcel.setUcDev(list2.getC());
|
|
||||||
dataList.add(alignDataExcel);
|
|
||||||
});
|
|
||||||
|
|
||||||
sheet.put("data", dataList);
|
|
||||||
sheet.put("entity", AlignDataExcel.class);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
ExcelUtil.exportExcel("实时数据.xlsx", sheetsList);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Integer conform(Set<Integer> numbers) {
|
private Integer conform(Set<Integer> numbers) {
|
||||||
if (CollUtil.isNotEmpty(numbers)) {
|
if (CollUtil.isNotEmpty(numbers)) {
|
||||||
@@ -1709,7 +1638,7 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
checkDataParam.setIsValueTypeName(false);
|
checkDataParam.setIsValueTypeName(false);
|
||||||
List<String> valueType = iPqScriptCheckDataService.getValueType(checkDataParam);
|
List<String> valueType = iPqScriptCheckDataService.getValueType(checkDataParam);
|
||||||
|
|
||||||
iPqDevService.updateResult(param.getDevIds(), valueType, param.getCode(), null, param.getTemperature(), param.getHumidity());
|
iPqDevService.updateResult(false, param.getDevIds(), valueType, param.getCode(), param.getUserId(), param.getTemperature(), param.getHumidity());
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<DevData> toList(List<SimAndDigNonHarmonicResult> nonHarm, List<SimAndDigHarmonicResult> harm, boolean containBaseHarm) {
|
private List<DevData> toList(List<SimAndDigNonHarmonicResult> nonHarm, List<SimAndDigHarmonicResult> harm, boolean containBaseHarm) {
|
||||||
@@ -1717,7 +1646,7 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
// if (CollUtil.isNotEmpty(nonHarm)) {
|
// if (CollUtil.isNotEmpty(nonHarm)) {
|
||||||
if (CollUtil.isNotEmpty(nonHarm)) {
|
if (CollUtil.isNotEmpty(nonHarm)) {
|
||||||
Map<String, List<SimAndDigNonHarmonicResult>> noHarmMap = nonHarm.stream()
|
Map<String, List<SimAndDigNonHarmonicResult>> noHarmMap = nonHarm.stream()
|
||||||
.collect(Collectors.groupingBy(x -> x.getMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN)) + "_" + x.getSort()));
|
.collect(Collectors.groupingBy(x -> x.getDevMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN)) + "_" + x.getSort()));
|
||||||
noHarmMap.forEach((key, value) -> {
|
noHarmMap.forEach((key, value) -> {
|
||||||
String[] split = key.split("_");
|
String[] split = key.split("_");
|
||||||
DevData data = new DevData();
|
DevData data = new DevData();
|
||||||
@@ -1743,7 +1672,7 @@ public class ResultServiceImpl implements IResultService {
|
|||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(harm)) {
|
if (CollUtil.isNotEmpty(harm)) {
|
||||||
Map<String, List<SimAndDigHarmonicResult>> harmMap = harm.stream()
|
Map<String, List<SimAndDigHarmonicResult>> harmMap = harm.stream()
|
||||||
.collect(Collectors.groupingBy(x -> x.getMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN))));
|
.collect(Collectors.groupingBy(x -> x.getDevMonitorId() + "_" + x.getTimeId().format(DateTimeFormatter.ofPattern(DatePattern.UTC_SIMPLE_MS_PATTERN))));
|
||||||
harmMap.forEach((key, value) -> {
|
harmMap.forEach((key, value) -> {
|
||||||
List<DevData> collect = info.stream().filter(x -> key.equals(x.getId() + "_" + x.getTime())).collect(Collectors.toList());
|
List<DevData> collect = info.stream().filter(x -> key.equals(x.getId() + "_" + x.getTime())).collect(Collectors.toList());
|
||||||
List<DevData.SqlDataDTO> sqlDataDTOS = new ArrayList<>();
|
List<DevData.SqlDataDTO> sqlDataDTOS = new ArrayList<>();
|
||||||
|
|||||||
@@ -103,8 +103,3 @@ qr:
|
|||||||
|
|
||||||
db:
|
db:
|
||||||
type: mysql
|
type: mysql
|
||||||
|
|
||||||
detection:
|
|
||||||
xujy:
|
|
||||||
volOrCur: 6
|
|
||||||
phase: 3
|
|
||||||
@@ -38,7 +38,7 @@ public class DataDealController extends BaseController {
|
|||||||
SimAndDigHarmonicResult.setDataType("aa");
|
SimAndDigHarmonicResult.setDataType("aa");
|
||||||
SimAndDigHarmonicResult.setAdType("aaaa");
|
SimAndDigHarmonicResult.setAdType("aaaa");
|
||||||
|
|
||||||
SimAndDigHarmonicResult.setMonitorId("ss");
|
SimAndDigHarmonicResult.setDevMonitorId("ss");
|
||||||
SimAndDigHarmonicResult.setScriptId("ddd");
|
SimAndDigHarmonicResult.setScriptId("ddd");
|
||||||
SimAndDigHarmonicResult.setTimeId(LocalDateTime.now());
|
SimAndDigHarmonicResult.setTimeId(LocalDateTime.now());
|
||||||
|
|
||||||
@@ -47,12 +47,12 @@ public class DataDealController extends BaseController {
|
|||||||
SimAndDigHarmonicResult2.setDataType("aabb");
|
SimAndDigHarmonicResult2.setDataType("aabb");
|
||||||
SimAndDigHarmonicResult2.setAdType("aaaabb");
|
SimAndDigHarmonicResult2.setAdType("aaaabb");
|
||||||
|
|
||||||
SimAndDigHarmonicResult2.setMonitorId("ssbb");
|
SimAndDigHarmonicResult2.setDevMonitorId("ssbb");
|
||||||
SimAndDigHarmonicResult2.setScriptId("dddbb");
|
SimAndDigHarmonicResult2.setScriptId("dddbb");
|
||||||
SimAndDigHarmonicResult2.setTimeId(LocalDateTime.now());
|
SimAndDigHarmonicResult2.setTimeId(LocalDateTime.now());
|
||||||
list2.add(SimAndDigHarmonicResult2);
|
list2.add(SimAndDigHarmonicResult2);
|
||||||
|
|
||||||
detectionDataDealService.acceptAd(list2,"1");
|
detectionDataDealService.acceptHarmonic(list2,"1");
|
||||||
|
|
||||||
|
|
||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
<update id="genNonHarmonicTable">
|
<update id="genNonHarmonicTable">
|
||||||
CREATE TABLE ad_non_harmonic_${code}
|
CREATE TABLE ad_non_harmonic_${code}
|
||||||
(
|
(
|
||||||
Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',
|
Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',
|
||||||
Time_Id DATETIME(3) NOT NULL COMMENT '时间',
|
Time_Id DATETIME(3) NOT NULL COMMENT '时间',
|
||||||
AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',
|
AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',
|
||||||
Data_Type CHAR(32) NOT NULL COMMENT '数据指标,只有数据源为分钟统计时候才会使用(最大、最小、平均、CP95,默认平均值),字典表',
|
Data_Type CHAR(32) NOT NULL COMMENT '数据指标,只有数据源为分钟统计时候才会使用(最大、最小、平均、CP95,默认平均值),字典表',
|
||||||
@@ -15,8 +15,13 @@
|
|||||||
Result_Flag int(1) NULL COMMENT '1合格 2不合格 4无法处理',
|
Result_Flag int(1) NULL COMMENT '1合格 2不合格 4无法处理',
|
||||||
<choose>
|
<choose>
|
||||||
<when test="isContrast">
|
<when test="isContrast">
|
||||||
|
Id char(32) COLLATE utf8mb4_bin NOT NULL COMMENT '主键Id',
|
||||||
|
Std_Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '标准设备监测点Id',
|
||||||
Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',
|
Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',
|
||||||
PRIMARY KEY (Monitor_Id, Time_Id, AD_Type, Num)
|
A_Value_0 float NULL COMMENT 'A相基波有效值',
|
||||||
|
B_Value_0 float NULL COMMENT 'B相基波有效值',
|
||||||
|
C_Value_0 float NULL COMMENT 'B相基波有效值',
|
||||||
|
PRIMARY KEY (Id)
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',
|
Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',
|
||||||
@@ -35,7 +40,7 @@
|
|||||||
|
|
||||||
<update id="genNonHarmonicResultTable">
|
<update id="genNonHarmonicResultTable">
|
||||||
CREATE TABLE if not exists ad_non_harmonic_result_${code} (
|
CREATE TABLE if not exists ad_non_harmonic_result_${code} (
|
||||||
Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',
|
Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',
|
||||||
Time_Id DATETIME NULL COMMENT '时间',
|
Time_Id DATETIME NULL COMMENT '时间',
|
||||||
AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',
|
AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',
|
||||||
Data_Type CHAR(32) NOT NULL COMMENT '数据指标,只有数据源为分钟统计时候才会使用(最大、最小、平均、CP95,默认平均值),字典表',
|
Data_Type CHAR(32) NOT NULL COMMENT '数据指标,只有数据源为分钟统计时候才会使用(最大、最小、平均、CP95,默认平均值),字典表',
|
||||||
@@ -46,8 +51,13 @@
|
|||||||
Result_Flag int(1) NOT NULL COMMENT '1合格 2不合格 4无法处理',
|
Result_Flag int(1) NOT NULL COMMENT '1合格 2不合格 4无法处理',
|
||||||
<choose>
|
<choose>
|
||||||
<when test="isContrast">
|
<when test="isContrast">
|
||||||
|
Id char(32) COLLATE utf8mb4_bin NOT NULL COMMENT '主键Id',
|
||||||
|
Std_Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '标准设备监测点Id',
|
||||||
Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',
|
Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',
|
||||||
PRIMARY KEY (Monitor_Id, AD_Type, Num)
|
A_Value_0 json NULL COMMENT 'A相基波有效值',
|
||||||
|
B_Value_0 json NULL COMMENT 'B相基波有效值',
|
||||||
|
C_Value_0 json NULL COMMENT 'B相基波有效值',
|
||||||
|
PRIMARY KEY (Id)
|
||||||
</when>
|
</when>
|
||||||
<otherwise>
|
<otherwise>
|
||||||
Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',
|
Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ public class BaseResult {
|
|||||||
/**
|
/**
|
||||||
* 监测点Id
|
* 监测点Id
|
||||||
*/
|
*/
|
||||||
private String monitorId;
|
private String devMonitorId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 时间
|
* 时间
|
||||||
|
|||||||
@@ -10,8 +10,15 @@ import lombok.EqualsAndHashCode;
|
|||||||
@Data
|
@Data
|
||||||
@EqualsAndHashCode(callSuper = true)
|
@EqualsAndHashCode(callSuper = true)
|
||||||
public class ContrastBaseResult extends BaseResult {
|
public class ContrastBaseResult extends BaseResult {
|
||||||
|
|
||||||
|
private String id;
|
||||||
/**
|
/**
|
||||||
* 第几次检测
|
* 第几次检测
|
||||||
*/
|
*/
|
||||||
private Integer num;
|
private Integer num;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 标准设备监测点id
|
||||||
|
*/
|
||||||
|
private String stdDevMonitorId;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,6 +15,15 @@ import lombok.EqualsAndHashCode;
|
|||||||
public class ContrastHarmonicResult extends ContrastBaseResult {
|
public class ContrastHarmonicResult extends ContrastBaseResult {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@TableField(value = "A_Value_0")
|
||||||
|
private String aValue0;
|
||||||
|
|
||||||
|
@TableField(value = "B_Value_0")
|
||||||
|
private String bValue0;
|
||||||
|
|
||||||
|
@TableField(value = "C_Value_0")
|
||||||
|
private String cValue0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A相基波
|
* A相基波
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -13,9 +13,9 @@ public interface DetectionDataDealService extends IReplenishMybatisService<SimAn
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Boolean acceptAdNon(List<? extends BaseResult> nonHarmonicResultList,String code);
|
Boolean acceptNonHarmonic(List<? extends BaseResult> nonHarmonicResultList,String code);
|
||||||
|
|
||||||
Boolean acceptAd(List<? extends BaseResult> harmonicResultList,String code);
|
Boolean acceptHarmonic(List<? extends BaseResult> harmonicResultList,String code);
|
||||||
|
|
||||||
Boolean acceptNonHarmonicResult(List<? extends BaseResult> nonHarmonicResultList, String code);
|
Boolean acceptNonHarmonicResult(List<? extends BaseResult> nonHarmonicResultList, String code);
|
||||||
|
|
||||||
@@ -23,10 +23,12 @@ public interface DetectionDataDealService extends IReplenishMybatisService<SimAn
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据终端id查询终端所有监测项目是否合格
|
* 根据终端id查询终端所有监测项目是否合格
|
||||||
|
*
|
||||||
|
* @param isContrast
|
||||||
* @param ids
|
* @param ids
|
||||||
* @param valueType
|
* @param adType
|
||||||
* @param code
|
* @param code
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
Map<String,Integer> devResult(List<String> ids,List<String> valueType,String code);
|
Map<String,Integer> devResult(boolean isContrast,List<String> ids,List<String> adType,String code);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,16 +36,16 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public Boolean acceptAdNon(List<? extends BaseResult> nonHarmonicResultList, String code) {
|
public Boolean acceptNonHarmonic(List<? extends BaseResult> nonHarmonicResultList, String code) {
|
||||||
if (CollUtil.isNotEmpty(nonHarmonicResultList)) {
|
if (CollUtil.isNotEmpty(nonHarmonicResultList)) {
|
||||||
String adNonTable = "ad_non_harmonic_";
|
String adNonTable = "ad_non_harmonic_";
|
||||||
DynamicTableNameHandler.setTableName(adNonTable + code);
|
DynamicTableNameHandler.setTableName(adNonTable + code);
|
||||||
|
|
||||||
if (nonHarmonicResultList.get(0) instanceof SimAndDigNonHarmonicResult) {
|
if (nonHarmonicResultList.get(0) instanceof SimAndDigNonHarmonicResult) {
|
||||||
List<SimAndDigNonHarmonicResult> simAndDigNonHarmonicResults = BeanUtil.copyToList(nonHarmonicResultList, SimAndDigNonHarmonicResult.class);
|
List<SimAndDigNonHarmonicResult> simAndDigNonHarmonicResults = BeanUtil.copyToList(nonHarmonicResultList, SimAndDigNonHarmonicResult.class);
|
||||||
List<String> monitorIds = simAndDigNonHarmonicResults.stream().map(SimAndDigNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
|
List<String> monitorIds = simAndDigNonHarmonicResults.stream().map(SimAndDigNonHarmonicResult::getDevMonitorId).distinct().collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(monitorIds)) {
|
if (CollUtil.isNotEmpty(monitorIds)) {
|
||||||
simAndDigNonHarmonicService.remove(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>().in(SimAndDigNonHarmonicResult::getMonitorId, monitorIds)
|
simAndDigNonHarmonicService.remove(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>().in(SimAndDigNonHarmonicResult::getDevMonitorId, monitorIds)
|
||||||
.eq(SimAndDigNonHarmonicResult::getScriptId, simAndDigNonHarmonicResults.get(0).getScriptId())
|
.eq(SimAndDigNonHarmonicResult::getScriptId, simAndDigNonHarmonicResults.get(0).getScriptId())
|
||||||
.eq(SimAndDigNonHarmonicResult::getSort, simAndDigNonHarmonicResults.get(0).getSort()));
|
.eq(SimAndDigNonHarmonicResult::getSort, simAndDigNonHarmonicResults.get(0).getSort()));
|
||||||
simAndDigNonHarmonicService.saveBatch(simAndDigNonHarmonicResults, 100);
|
simAndDigNonHarmonicService.saveBatch(simAndDigNonHarmonicResults, 100);
|
||||||
@@ -54,12 +54,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
|||||||
|
|
||||||
if (nonHarmonicResultList.get(0) instanceof ContrastNonHarmonicResult) {
|
if (nonHarmonicResultList.get(0) instanceof ContrastNonHarmonicResult) {
|
||||||
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = BeanUtil.copyToList(nonHarmonicResultList, ContrastNonHarmonicResult.class);
|
List<ContrastNonHarmonicResult> contrastNonHarmonicResults = BeanUtil.copyToList(nonHarmonicResultList, ContrastNonHarmonicResult.class);
|
||||||
List<String> monitorIds = contrastNonHarmonicResults.stream().map(ContrastNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
|
contrastNonHarmonicService.saveBatch(contrastNonHarmonicResults);
|
||||||
if (CollUtil.isNotEmpty(monitorIds)) {
|
|
||||||
contrastNonHarmonicService.remove(new LambdaQueryWrapper<ContrastNonHarmonicResult>().in(ContrastNonHarmonicResult::getMonitorId, monitorIds)
|
|
||||||
.eq(ContrastNonHarmonicResult::getNum, contrastNonHarmonicResults.get(0).getNum()));
|
|
||||||
contrastNonHarmonicService.saveBatch(contrastNonHarmonicResults, 100);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
@@ -70,30 +65,25 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public Boolean acceptAd(List<? extends BaseResult> harmonicResultList, String code) {
|
public Boolean acceptHarmonic(List<? extends BaseResult> harmonicResultList, String code) {
|
||||||
if (CollUtil.isNotEmpty(harmonicResultList)) {
|
if (CollUtil.isNotEmpty(harmonicResultList)) {
|
||||||
String adTable = "ad_harmonic_";
|
String adTable = "ad_harmonic_";
|
||||||
DynamicTableNameHandler.setTableName(adTable + code);
|
DynamicTableNameHandler.setTableName(adTable + code);
|
||||||
|
|
||||||
if (harmonicResultList.get(0) instanceof SimAndDigHarmonicResult) {
|
if (harmonicResultList.get(0) instanceof SimAndDigHarmonicResult) {
|
||||||
List<SimAndDigHarmonicResult> simAndDigHarmonicResultList = BeanUtil.copyToList(harmonicResultList, SimAndDigHarmonicResult.class);
|
List<SimAndDigHarmonicResult> simAndDigHarmonicResultList = BeanUtil.copyToList(harmonicResultList, SimAndDigHarmonicResult.class);
|
||||||
List<String> monitorIds = simAndDigHarmonicResultList.stream().map(SimAndDigHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
|
List<String> monitorIds = simAndDigHarmonicResultList.stream().map(SimAndDigHarmonicResult::getDevMonitorId).distinct().collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(monitorIds)) {
|
if (CollUtil.isNotEmpty(monitorIds)) {
|
||||||
simAndDigHarmonicService.remove(new LambdaQueryWrapper<SimAndDigHarmonicResult>().in(SimAndDigHarmonicResult::getMonitorId, monitorIds)
|
simAndDigHarmonicService.remove(new LambdaQueryWrapper<SimAndDigHarmonicResult>().in(SimAndDigHarmonicResult::getDevMonitorId, monitorIds)
|
||||||
.eq(SimAndDigHarmonicResult::getScriptId, simAndDigHarmonicResultList.get(0).getScriptId())
|
.eq(SimAndDigHarmonicResult::getScriptId, simAndDigHarmonicResultList.get(0).getScriptId())
|
||||||
.eq(SimAndDigHarmonicResult::getSort, simAndDigHarmonicResultList.get(0).getSort()));
|
.eq(SimAndDigHarmonicResult::getSort, simAndDigHarmonicResultList.get(0).getSort()));
|
||||||
simAndDigHarmonicService.saveBatch(simAndDigHarmonicResultList, 100);
|
simAndDigHarmonicService.saveBatch(simAndDigHarmonicResultList);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (harmonicResultList.get(0) instanceof ContrastHarmonicResult) {
|
if (harmonicResultList.get(0) instanceof ContrastHarmonicResult) {
|
||||||
List<ContrastHarmonicResult> contrastHarmonicResultList = BeanUtil.copyToList(harmonicResultList, ContrastHarmonicResult.class);
|
List<ContrastHarmonicResult> contrastHarmonicResultList = BeanUtil.copyToList(harmonicResultList, ContrastHarmonicResult.class);
|
||||||
List<String> monitorIds = contrastHarmonicResultList.stream().map(ContrastHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
|
contrastHarmonicService.saveBatch(contrastHarmonicResultList);
|
||||||
if (CollUtil.isNotEmpty(monitorIds)) {
|
|
||||||
contrastHarmonicService.remove(new LambdaQueryWrapper<ContrastHarmonicResult>().in(ContrastHarmonicResult::getMonitorId, monitorIds)
|
|
||||||
.eq(ContrastHarmonicResult::getNum, contrastHarmonicResultList.get(0).getNum()));
|
|
||||||
contrastHarmonicService.saveBatch(contrastHarmonicResultList, 100);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
@@ -110,9 +100,9 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
|||||||
DynamicTableNameHandler.setTableName(adNonTableResult + code);
|
DynamicTableNameHandler.setTableName(adNonTableResult + code);
|
||||||
if (nonHarmonicResultList.get(0) instanceof SimAndDigNonHarmonicResult) {
|
if (nonHarmonicResultList.get(0) instanceof SimAndDigNonHarmonicResult) {
|
||||||
List<SimAndDigNonHarmonicResult> simAndDigNonHarmonicResultList = BeanUtil.copyToList(nonHarmonicResultList, SimAndDigNonHarmonicResult.class);
|
List<SimAndDigNonHarmonicResult> simAndDigNonHarmonicResultList = BeanUtil.copyToList(nonHarmonicResultList, SimAndDigNonHarmonicResult.class);
|
||||||
List<String> monitorIds = simAndDigNonHarmonicResultList.stream().map(SimAndDigNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
|
List<String> monitorIds = simAndDigNonHarmonicResultList.stream().map(SimAndDigNonHarmonicResult::getDevMonitorId).distinct().collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(monitorIds)) {
|
if (CollUtil.isNotEmpty(monitorIds)) {
|
||||||
simAndDigNonHarmonicService.remove(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>().in(SimAndDigNonHarmonicResult::getMonitorId, monitorIds)
|
simAndDigNonHarmonicService.remove(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>().in(SimAndDigNonHarmonicResult::getDevMonitorId, monitorIds)
|
||||||
.eq(SimAndDigNonHarmonicResult::getScriptId, simAndDigNonHarmonicResultList.get(0).getScriptId())
|
.eq(SimAndDigNonHarmonicResult::getScriptId, simAndDigNonHarmonicResultList.get(0).getScriptId())
|
||||||
.eq(SimAndDigNonHarmonicResult::getSort, simAndDigNonHarmonicResultList.get(0).getSort()));
|
.eq(SimAndDigNonHarmonicResult::getSort, simAndDigNonHarmonicResultList.get(0).getSort()));
|
||||||
simAndDigNonHarmonicService.saveBatch(simAndDigNonHarmonicResultList, 100);
|
simAndDigNonHarmonicService.saveBatch(simAndDigNonHarmonicResultList, 100);
|
||||||
@@ -120,13 +110,8 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
|||||||
}
|
}
|
||||||
if (nonHarmonicResultList.get(0) instanceof ContrastNonHarmonicResult) {
|
if (nonHarmonicResultList.get(0) instanceof ContrastNonHarmonicResult) {
|
||||||
List<ContrastNonHarmonicResult> contrastNonHarmonicResultList = BeanUtil.copyToList(nonHarmonicResultList, ContrastNonHarmonicResult.class);
|
List<ContrastNonHarmonicResult> contrastNonHarmonicResultList = BeanUtil.copyToList(nonHarmonicResultList, ContrastNonHarmonicResult.class);
|
||||||
List<String> monitorIds = contrastNonHarmonicResultList.stream().map(ContrastNonHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
|
contrastNonHarmonicService.saveBatch(contrastNonHarmonicResultList);
|
||||||
if (CollUtil.isNotEmpty(monitorIds)) {
|
|
||||||
contrastNonHarmonicService.remove(new LambdaQueryWrapper<ContrastNonHarmonicResult>().in(ContrastNonHarmonicResult::getMonitorId, monitorIds)
|
|
||||||
.eq(ContrastNonHarmonicResult::getAdType, contrastNonHarmonicResultList.get(0).getAdType())
|
|
||||||
.eq(ContrastNonHarmonicResult::getNum, contrastNonHarmonicResultList.get(0).getNum()));
|
|
||||||
contrastNonHarmonicService.saveBatch(contrastNonHarmonicResultList, 100);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
}
|
}
|
||||||
@@ -141,9 +126,9 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
|||||||
DynamicTableNameHandler.setTableName(adTableResult + code);
|
DynamicTableNameHandler.setTableName(adTableResult + code);
|
||||||
if (harmonicResultList.get(0) instanceof SimAndDigHarmonicResult) {
|
if (harmonicResultList.get(0) instanceof SimAndDigHarmonicResult) {
|
||||||
List<SimAndDigHarmonicResult> simAndDigHarmonicResultList = BeanUtil.copyToList(harmonicResultList, SimAndDigHarmonicResult.class);
|
List<SimAndDigHarmonicResult> simAndDigHarmonicResultList = BeanUtil.copyToList(harmonicResultList, SimAndDigHarmonicResult.class);
|
||||||
List<String> monitorIds = simAndDigHarmonicResultList.stream().map(SimAndDigHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
|
List<String> monitorIds = simAndDigHarmonicResultList.stream().map(SimAndDigHarmonicResult::getDevMonitorId).distinct().collect(Collectors.toList());
|
||||||
if (CollUtil.isNotEmpty(monitorIds)) {
|
if (CollUtil.isNotEmpty(monitorIds)) {
|
||||||
simAndDigHarmonicService.remove(new LambdaQueryWrapper<SimAndDigHarmonicResult>().in(SimAndDigHarmonicResult::getMonitorId, monitorIds)
|
simAndDigHarmonicService.remove(new LambdaQueryWrapper<SimAndDigHarmonicResult>().in(SimAndDigHarmonicResult::getDevMonitorId, monitorIds)
|
||||||
.eq(SimAndDigHarmonicResult::getScriptId, simAndDigHarmonicResultList.get(0).getScriptId())
|
.eq(SimAndDigHarmonicResult::getScriptId, simAndDigHarmonicResultList.get(0).getScriptId())
|
||||||
.eq(SimAndDigHarmonicResult::getSort, simAndDigHarmonicResultList.get(0).getSort()));
|
.eq(SimAndDigHarmonicResult::getSort, simAndDigHarmonicResultList.get(0).getSort()));
|
||||||
simAndDigHarmonicService.saveBatch(simAndDigHarmonicResultList, 100);
|
simAndDigHarmonicService.saveBatch(simAndDigHarmonicResultList, 100);
|
||||||
@@ -152,13 +137,7 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
|||||||
|
|
||||||
if (harmonicResultList.get(0) instanceof ContrastHarmonicResult) {
|
if (harmonicResultList.get(0) instanceof ContrastHarmonicResult) {
|
||||||
List<ContrastHarmonicResult> contrastHarmonicResultList = BeanUtil.copyToList(harmonicResultList, ContrastHarmonicResult.class);
|
List<ContrastHarmonicResult> contrastHarmonicResultList = BeanUtil.copyToList(harmonicResultList, ContrastHarmonicResult.class);
|
||||||
List<String> monitorIds = contrastHarmonicResultList.stream().map(ContrastHarmonicResult::getMonitorId).distinct().collect(Collectors.toList());
|
contrastHarmonicService.saveBatch(contrastHarmonicResultList);
|
||||||
if (CollUtil.isNotEmpty(monitorIds)) {
|
|
||||||
contrastHarmonicService.remove(new LambdaQueryWrapper<ContrastHarmonicResult>().in(ContrastHarmonicResult::getMonitorId, monitorIds)
|
|
||||||
.eq(ContrastHarmonicResult::getAdType, contrastHarmonicResultList.get(0).getAdType())
|
|
||||||
.eq(ContrastHarmonicResult::getNum, contrastHarmonicResultList.get(0).getNum()));
|
|
||||||
contrastHarmonicService.saveBatch(contrastHarmonicResultList, 100);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return true;
|
return true;
|
||||||
@@ -167,33 +146,56 @@ public class DetectionDataServiceImpl extends ReplenishMybatisServiceImpl<Detect
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Map<String, Integer> devResult(List<String> ids, List<String> valueType, String code) {
|
public Map<String, Integer> devResult(boolean isContrast, List<String> ids, List<String> adType, String code) {
|
||||||
List<Integer> disabledScriptDtlIndexs = detectionDataDealMapper.listDisabledScriptDtlIndexs(ids.get(0));
|
|
||||||
List<SimAndDigNonHarmonicResult> noHarm = new ArrayList<>();
|
|
||||||
for (String id : ids) {
|
|
||||||
DynamicTableNameHandler.setTableName("ad_non_harmonic_result_" + code);
|
|
||||||
noHarm.addAll(simAndDigNonHarmonicService.list(new LambdaQueryWrapper<SimAndDigNonHarmonicResult>()
|
|
||||||
.like(SimAndDigNonHarmonicResult::getMonitorId, id)
|
|
||||||
.notIn(CollUtil.isNotEmpty(disabledScriptDtlIndexs), SimAndDigNonHarmonicResult::getSort, disabledScriptDtlIndexs)
|
|
||||||
.in(CollUtil.isNotEmpty(valueType), SimAndDigNonHarmonicResult::getAdType, valueType)
|
|
||||||
));
|
|
||||||
}
|
|
||||||
DynamicTableNameHandler.remove();
|
|
||||||
List<SimAndDigHarmonicResult> harm = new ArrayList<>();
|
|
||||||
for (String id : ids) {
|
|
||||||
DynamicTableNameHandler.setTableName("ad_harmonic_result_" + code);
|
|
||||||
harm.addAll(this.list(new LambdaQueryWrapper<SimAndDigHarmonicResult>()
|
|
||||||
.like(SimAndDigHarmonicResult::getMonitorId, id)
|
|
||||||
.notIn(CollUtil.isNotEmpty(disabledScriptDtlIndexs), SimAndDigHarmonicResult::getSort, disabledScriptDtlIndexs)
|
|
||||||
.in(CollUtil.isNotEmpty(valueType), SimAndDigHarmonicResult::getAdType, valueType)
|
|
||||||
));
|
|
||||||
}
|
|
||||||
DynamicTableNameHandler.remove();
|
|
||||||
Map<String, List<Integer>> noHarmMap = noHarm.stream().collect(Collectors.groupingBy(x -> x.getMonitorId().split("_")[0],
|
|
||||||
Collectors.mapping(SimAndDigNonHarmonicResult::getResultFlag, Collectors.toList())));
|
|
||||||
Map<String, List<Integer>> harmMap = harm.stream().collect(Collectors.groupingBy(x -> x.getMonitorId().split("_")[0],
|
|
||||||
Collectors.mapping(SimAndDigHarmonicResult::getResultFlag, Collectors.toList())));
|
|
||||||
Map<String, Integer> map = new HashMap<>(2);
|
Map<String, Integer> map = new HashMap<>(2);
|
||||||
|
List<BaseResult> noHarm = new ArrayList<>();
|
||||||
|
List<BaseResult> harm = new ArrayList<>();
|
||||||
|
if (isContrast) {
|
||||||
|
DynamicTableNameHandler.setTableName("ad_non_harmonic_result_" + code);
|
||||||
|
LambdaQueryWrapper<ContrastNonHarmonicResult> wrapper1 = new LambdaQueryWrapper<ContrastNonHarmonicResult>()
|
||||||
|
.in(CollUtil.isNotEmpty(adType), ContrastNonHarmonicResult::getAdType, adType);
|
||||||
|
for (String id : ids) {
|
||||||
|
wrapper1.like(ContrastNonHarmonicResult::getDevMonitorId, id);
|
||||||
|
}
|
||||||
|
noHarm.addAll(contrastNonHarmonicService.list(wrapper1));
|
||||||
|
DynamicTableNameHandler.remove();
|
||||||
|
|
||||||
|
DynamicTableNameHandler.setTableName("ad_harmonic_result_" + code);
|
||||||
|
LambdaQueryWrapper<ContrastHarmonicResult> wrapper2 = new LambdaQueryWrapper<ContrastHarmonicResult>()
|
||||||
|
.in(CollUtil.isNotEmpty(adType), ContrastHarmonicResult::getAdType, adType);
|
||||||
|
for (String id : ids) {
|
||||||
|
wrapper2.like(ContrastHarmonicResult::getDevMonitorId, id);
|
||||||
|
}
|
||||||
|
harm.addAll(contrastHarmonicService.list(wrapper2));
|
||||||
|
DynamicTableNameHandler.remove();
|
||||||
|
} else {
|
||||||
|
List<Integer> disabledScriptDtlIndexs = detectionDataDealMapper.listDisabledScriptDtlIndexs(ids.get(0));
|
||||||
|
|
||||||
|
DynamicTableNameHandler.setTableName("ad_non_harmonic_result_" + code);
|
||||||
|
LambdaQueryWrapper<SimAndDigNonHarmonicResult> wrapper1 = new LambdaQueryWrapper<SimAndDigNonHarmonicResult>()
|
||||||
|
.notIn(CollUtil.isNotEmpty(disabledScriptDtlIndexs), SimAndDigNonHarmonicResult::getSort, disabledScriptDtlIndexs)
|
||||||
|
.in(CollUtil.isNotEmpty(adType), SimAndDigNonHarmonicResult::getAdType, adType);
|
||||||
|
for (String id : ids) {
|
||||||
|
wrapper1.like(SimAndDigNonHarmonicResult::getDevMonitorId, id);
|
||||||
|
}
|
||||||
|
noHarm.addAll(simAndDigNonHarmonicService.list(wrapper1));
|
||||||
|
DynamicTableNameHandler.remove();
|
||||||
|
|
||||||
|
DynamicTableNameHandler.setTableName("ad_harmonic_result_" + code);
|
||||||
|
LambdaQueryWrapper<SimAndDigHarmonicResult> wrapper2 = new LambdaQueryWrapper<SimAndDigHarmonicResult>()
|
||||||
|
.notIn(CollUtil.isNotEmpty(disabledScriptDtlIndexs), SimAndDigHarmonicResult::getSort, disabledScriptDtlIndexs)
|
||||||
|
.in(CollUtil.isNotEmpty(adType), SimAndDigHarmonicResult::getAdType, adType);
|
||||||
|
for (String id : ids) {
|
||||||
|
wrapper2.like(SimAndDigHarmonicResult::getDevMonitorId, id);
|
||||||
|
}
|
||||||
|
harm.addAll(this.list(wrapper2));
|
||||||
|
DynamicTableNameHandler.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
Map<String, List<Integer>> noHarmMap = noHarm.stream().collect(Collectors.groupingBy(x -> x.getDevMonitorId().split("_")[0],
|
||||||
|
Collectors.mapping(BaseResult::getResultFlag, Collectors.toList())));
|
||||||
|
Map<String, List<Integer>> harmMap = harm.stream().collect(Collectors.groupingBy(x -> x.getDevMonitorId().split("_")[0],
|
||||||
|
Collectors.mapping(BaseResult::getResultFlag, Collectors.toList())));
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
List<Integer> resultFlags = new ArrayList<>();
|
List<Integer> resultFlags = new ArrayList<>();
|
||||||
if (noHarmMap.containsKey(id)) {
|
if (noHarmMap.containsKey(id)) {
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
|
|||||||
if ("-1".equals(chnNum)) {
|
if ("-1".equals(chnNum)) {
|
||||||
monitorId = deviceId;
|
monitorId = deviceId;
|
||||||
}
|
}
|
||||||
wrapper.like(SimAndDigHarmonicResult::getMonitorId, monitorId)
|
wrapper.like(SimAndDigHarmonicResult::getDevMonitorId, monitorId)
|
||||||
.eq(ObjectUtil.isNotNull(scriptId), SimAndDigHarmonicResult::getScriptId, scriptId)
|
.eq(ObjectUtil.isNotNull(scriptId), SimAndDigHarmonicResult::getScriptId, scriptId)
|
||||||
.in(CollUtil.isNotEmpty(sort), SimAndDigHarmonicResult::getSort, sort);
|
.in(CollUtil.isNotEmpty(sort), SimAndDigHarmonicResult::getSort, sort);
|
||||||
List<SimAndDigHarmonicResult> list = this.getBaseMapper().selectJoinList(SimAndDigHarmonicResult.class, wrapper);
|
List<SimAndDigHarmonicResult> list = this.getBaseMapper().selectJoinList(SimAndDigHarmonicResult.class, wrapper);
|
||||||
@@ -70,7 +70,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
|
|||||||
String prefix = "ad_harmonic_";
|
String prefix = "ad_harmonic_";
|
||||||
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
||||||
MPJLambdaWrapper<SimAndDigHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<SimAndDigHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
||||||
wrapper.like(SimAndDigHarmonicResult::getMonitorId, param.getDevId() + "_" + param.getDevNum())
|
wrapper.like(SimAndDigHarmonicResult::getDevMonitorId, param.getDevId() + "_" + param.getDevNum())
|
||||||
.eq(ObjectUtil.isNotNull(param.getScriptId()), SimAndDigHarmonicResult::getScriptId, param.getScriptId())
|
.eq(ObjectUtil.isNotNull(param.getScriptId()), SimAndDigHarmonicResult::getScriptId, param.getScriptId())
|
||||||
.in(ObjectUtil.isNotEmpty(param.getIndex()), SimAndDigHarmonicResult::getSort, param.getIndex())
|
.in(ObjectUtil.isNotEmpty(param.getIndex()), SimAndDigHarmonicResult::getSort, param.getIndex())
|
||||||
.orderByAsc(SimAndDigHarmonicResult::getTimeId)
|
.orderByAsc(SimAndDigHarmonicResult::getTimeId)
|
||||||
@@ -137,7 +137,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
|
|||||||
String prefix = "ad_harmonic_result_";
|
String prefix = "ad_harmonic_result_";
|
||||||
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
||||||
MPJLambdaWrapper<SimAndDigHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<SimAndDigHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
||||||
wrapper.like(SimAndDigHarmonicResult::getMonitorId, param.getDevId() + "_" + param.getDevNum())
|
wrapper.like(SimAndDigHarmonicResult::getDevMonitorId, param.getDevId() + "_" + param.getDevNum())
|
||||||
.eq(ObjectUtil.isNotNull(param.getScriptId()), SimAndDigHarmonicResult::getScriptId, param.getScriptId())
|
.eq(ObjectUtil.isNotNull(param.getScriptId()), SimAndDigHarmonicResult::getScriptId, param.getScriptId())
|
||||||
.in(ObjectUtil.isNotEmpty(param.getIndex()), SimAndDigHarmonicResult::getSort, param.getIndex())
|
.in(ObjectUtil.isNotEmpty(param.getIndex()), SimAndDigHarmonicResult::getSort, param.getIndex())
|
||||||
.orderByAsc(SimAndDigHarmonicResult::getTimeId);
|
.orderByAsc(SimAndDigHarmonicResult::getTimeId);
|
||||||
@@ -207,7 +207,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
|
|||||||
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
||||||
LambdaQueryWrapper<SimAndDigHarmonicResult> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SimAndDigHarmonicResult> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.select(SimAndDigHarmonicResult::getSort)
|
lambdaQueryWrapper.select(SimAndDigHarmonicResult::getSort)
|
||||||
.likeRight(StrUtil.isNotBlank(param.getDevId()), SimAndDigHarmonicResult::getMonitorId, param.getDevId())
|
.likeRight(StrUtil.isNotBlank(param.getDevId()), SimAndDigHarmonicResult::getDevMonitorId, param.getDevId())
|
||||||
.ne(SimAndDigHarmonicResult::getResultFlag, 1)
|
.ne(SimAndDigHarmonicResult::getResultFlag, 1)
|
||||||
.ne(SimAndDigHarmonicResult::getResultFlag, 4)
|
.ne(SimAndDigHarmonicResult::getResultFlag, 4)
|
||||||
.ne(SimAndDigHarmonicResult::getResultFlag, 5)
|
.ne(SimAndDigHarmonicResult::getResultFlag, 5)
|
||||||
@@ -218,7 +218,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
|
|||||||
DynamicTableNameHandler.setTableName(prefixNon + param.getCode());
|
DynamicTableNameHandler.setTableName(prefixNon + param.getCode());
|
||||||
LambdaQueryWrapper<SimAndDigNonHarmonicResult> resultLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<SimAndDigNonHarmonicResult> resultLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
resultLambdaQueryWrapper.select(SimAndDigNonHarmonicResult::getSort)
|
resultLambdaQueryWrapper.select(SimAndDigNonHarmonicResult::getSort)
|
||||||
.likeRight(StrUtil.isNotBlank(param.getDevId()), SimAndDigNonHarmonicResult::getMonitorId, param.getDevId())
|
.likeRight(StrUtil.isNotBlank(param.getDevId()), SimAndDigNonHarmonicResult::getDevMonitorId, param.getDevId())
|
||||||
.ne(SimAndDigNonHarmonicResult::getResultFlag, 1)
|
.ne(SimAndDigNonHarmonicResult::getResultFlag, 1)
|
||||||
.ne(SimAndDigNonHarmonicResult::getResultFlag, 4)
|
.ne(SimAndDigNonHarmonicResult::getResultFlag, 4)
|
||||||
.ne(SimAndDigNonHarmonicResult::getResultFlag, 5)
|
.ne(SimAndDigNonHarmonicResult::getResultFlag, 5)
|
||||||
@@ -235,7 +235,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
|
|||||||
String prefix = "ad_harmonic_result_";
|
String prefix = "ad_harmonic_result_";
|
||||||
DynamicTableNameHandler.setTableName(prefix + singleNonHarmParam.getPlanCode());
|
DynamicTableNameHandler.setTableName(prefix + singleNonHarmParam.getPlanCode());
|
||||||
MPJLambdaWrapper<SimAndDigHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<SimAndDigHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
||||||
wrapper.like(SimAndDigHarmonicResult::getMonitorId, singleNonHarmParam.getDevId() + "_" + singleNonHarmParam.getChannelNo())
|
wrapper.like(SimAndDigHarmonicResult::getDevMonitorId, singleNonHarmParam.getDevId() + "_" + singleNonHarmParam.getChannelNo())
|
||||||
.eq(SimAndDigHarmonicResult::getSort, singleNonHarmParam.getSort())
|
.eq(SimAndDigHarmonicResult::getSort, singleNonHarmParam.getSort())
|
||||||
.eq(SimAndDigHarmonicResult::getAdType, singleNonHarmParam.getAdType());
|
.eq(SimAndDigHarmonicResult::getAdType, singleNonHarmParam.getAdType());
|
||||||
List<SimAndDigHarmonicResult> adHarmonicResults = this.getBaseMapper().selectJoinList(SimAndDigHarmonicResult.class, wrapper);
|
List<SimAndDigHarmonicResult> adHarmonicResults = this.getBaseMapper().selectJoinList(SimAndDigHarmonicResult.class, wrapper);
|
||||||
@@ -255,7 +255,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
|
|||||||
wrapper.selectAll(SimAndDigHarmonicResult.class)
|
wrapper.selectAll(SimAndDigHarmonicResult.class)
|
||||||
.selectAs(DictTree::getCode, SimAndDigHarmonicResult::getAdType)
|
.selectAs(DictTree::getCode, SimAndDigHarmonicResult::getAdType)
|
||||||
.leftJoin(DictTree.class, DictTree::getId, SimAndDigHarmonicResult::getAdType).eq(SimAndDigHarmonicResult::getScriptId, scriptId)
|
.leftJoin(DictTree.class, DictTree::getId, SimAndDigHarmonicResult::getAdType).eq(SimAndDigHarmonicResult::getScriptId, scriptId)
|
||||||
.likeRight(SimAndDigHarmonicResult::getMonitorId, devId);
|
.likeRight(SimAndDigHarmonicResult::getDevMonitorId, devId);
|
||||||
List<SimAndDigHarmonicResult> results = this.getBaseMapper().selectJoinList(SimAndDigHarmonicResult.class, wrapper);
|
List<SimAndDigHarmonicResult> results = this.getBaseMapper().selectJoinList(SimAndDigHarmonicResult.class, wrapper);
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return results;
|
return results;
|
||||||
@@ -269,7 +269,7 @@ public class SimAndDigHarmonicServiceImpl extends ServiceImpl<SimAndDigHarmonicM
|
|||||||
wrapper.selectAll(SimAndDigHarmonicResult.class)
|
wrapper.selectAll(SimAndDigHarmonicResult.class)
|
||||||
.selectAs(DictTree::getCode, SimAndDigHarmonicResult::getAdType)
|
.selectAs(DictTree::getCode, SimAndDigHarmonicResult::getAdType)
|
||||||
.leftJoin(DictTree.class, DictTree::getId, SimAndDigHarmonicResult::getAdType).eq(SimAndDigHarmonicResult::getScriptId, scriptId)
|
.leftJoin(DictTree.class, DictTree::getId, SimAndDigHarmonicResult::getAdType).eq(SimAndDigHarmonicResult::getScriptId, scriptId)
|
||||||
.likeRight(SimAndDigHarmonicResult::getMonitorId, devId);
|
.likeRight(SimAndDigHarmonicResult::getDevMonitorId, devId);
|
||||||
List<SimAndDigHarmonicResult> results = this.getBaseMapper().selectJoinList(SimAndDigHarmonicResult.class, wrapper);
|
List<SimAndDigHarmonicResult> results = this.getBaseMapper().selectJoinList(SimAndDigHarmonicResult.class, wrapper);
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return results;
|
return results;
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class SimAndDigNonHarmonicServiceImpl extends ServiceImpl<SimAndDigNonHar
|
|||||||
if ("-1".equals(chnNum)) {
|
if ("-1".equals(chnNum)) {
|
||||||
monitorId = deviceId;
|
monitorId = deviceId;
|
||||||
}
|
}
|
||||||
wrapper.like(SimAndDigNonHarmonicResult::getMonitorId, monitorId)
|
wrapper.like(SimAndDigNonHarmonicResult::getDevMonitorId, monitorId)
|
||||||
.eq(ObjectUtil.isNotNull(scriptId), SimAndDigNonHarmonicResult::getScriptId, scriptId)
|
.eq(ObjectUtil.isNotNull(scriptId), SimAndDigNonHarmonicResult::getScriptId, scriptId)
|
||||||
.in(CollUtil.isNotEmpty(sort), SimAndDigNonHarmonicResult::getSort, sort);
|
.in(CollUtil.isNotEmpty(sort), SimAndDigNonHarmonicResult::getSort, sort);
|
||||||
List<SimAndDigNonHarmonicResult> list = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
List<SimAndDigNonHarmonicResult> list = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
||||||
@@ -61,7 +61,7 @@ public class SimAndDigNonHarmonicServiceImpl extends ServiceImpl<SimAndDigNonHar
|
|||||||
String prefix = "ad_non_harmonic_";
|
String prefix = "ad_non_harmonic_";
|
||||||
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
||||||
MPJLambdaWrapper<SimAndDigNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<SimAndDigNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
||||||
wrapper.like(SimAndDigNonHarmonicResult::getMonitorId, param.getDevId() + "_" + param.getDevNum())
|
wrapper.like(SimAndDigNonHarmonicResult::getDevMonitorId, param.getDevId() + "_" + param.getDevNum())
|
||||||
.eq(ObjectUtil.isNotNull(param.getScriptId()), SimAndDigNonHarmonicResult::getScriptId, param.getScriptId())
|
.eq(ObjectUtil.isNotNull(param.getScriptId()), SimAndDigNonHarmonicResult::getScriptId, param.getScriptId())
|
||||||
.in(ObjectUtil.isNotEmpty(param.getIndex()), SimAndDigNonHarmonicResult::getSort, param.getIndex());
|
.in(ObjectUtil.isNotEmpty(param.getIndex()), SimAndDigNonHarmonicResult::getSort, param.getIndex());
|
||||||
List<SimAndDigNonHarmonicResult> SimAndDigHarmonicResults = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
List<SimAndDigNonHarmonicResult> SimAndDigHarmonicResults = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
||||||
@@ -95,7 +95,7 @@ public class SimAndDigNonHarmonicServiceImpl extends ServiceImpl<SimAndDigNonHar
|
|||||||
String prefix = "ad_non_harmonic_result_";
|
String prefix = "ad_non_harmonic_result_";
|
||||||
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
DynamicTableNameHandler.setTableName(prefix + param.getCode());
|
||||||
MPJLambdaWrapper<SimAndDigNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<SimAndDigNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
||||||
wrapper.like(SimAndDigNonHarmonicResult::getMonitorId, param.getDevId() + "_" + param.getDevNum())
|
wrapper.like(SimAndDigNonHarmonicResult::getDevMonitorId, param.getDevId() + "_" + param.getDevNum())
|
||||||
.eq(ObjectUtil.isNotNull(param.getScriptId()), SimAndDigNonHarmonicResult::getScriptId, param.getScriptId())
|
.eq(ObjectUtil.isNotNull(param.getScriptId()), SimAndDigNonHarmonicResult::getScriptId, param.getScriptId())
|
||||||
.in(ObjectUtil.isNotEmpty(param.getIndex()), SimAndDigNonHarmonicResult::getSort, param.getIndex());
|
.in(ObjectUtil.isNotEmpty(param.getIndex()), SimAndDigNonHarmonicResult::getSort, param.getIndex());
|
||||||
|
|
||||||
@@ -141,7 +141,7 @@ public class SimAndDigNonHarmonicServiceImpl extends ServiceImpl<SimAndDigNonHar
|
|||||||
String prefix = "ad_non_harmonic_result_";
|
String prefix = "ad_non_harmonic_result_";
|
||||||
DynamicTableNameHandler.setTableName(prefix + singleNonHarmParam.getPlanCode());
|
DynamicTableNameHandler.setTableName(prefix + singleNonHarmParam.getPlanCode());
|
||||||
MPJLambdaWrapper<SimAndDigNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<SimAndDigNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
||||||
wrapper.like(SimAndDigNonHarmonicResult::getMonitorId, singleNonHarmParam.getDevId() + "_" + singleNonHarmParam.getChannelNo())
|
wrapper.like(SimAndDigNonHarmonicResult::getDevMonitorId, singleNonHarmParam.getDevId() + "_" + singleNonHarmParam.getChannelNo())
|
||||||
.eq(SimAndDigNonHarmonicResult::getSort, singleNonHarmParam.getSort())
|
.eq(SimAndDigNonHarmonicResult::getSort, singleNonHarmParam.getSort())
|
||||||
.eq(SimAndDigNonHarmonicResult::getAdType, singleNonHarmParam.getAdType());
|
.eq(SimAndDigNonHarmonicResult::getAdType, singleNonHarmParam.getAdType());
|
||||||
List<SimAndDigNonHarmonicResult> SimAndDigHarmonicResults = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
List<SimAndDigNonHarmonicResult> SimAndDigHarmonicResults = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
||||||
@@ -161,7 +161,7 @@ public class SimAndDigNonHarmonicServiceImpl extends ServiceImpl<SimAndDigNonHar
|
|||||||
.selectAs(DictTree::getCode, SimAndDigNonHarmonicResult::getAdType)
|
.selectAs(DictTree::getCode, SimAndDigNonHarmonicResult::getAdType)
|
||||||
.leftJoin(DictTree.class, DictTree::getId, SimAndDigNonHarmonicResult::getAdType)
|
.leftJoin(DictTree.class, DictTree::getId, SimAndDigNonHarmonicResult::getAdType)
|
||||||
.eq(SimAndDigNonHarmonicResult::getScriptId, scriptId)
|
.eq(SimAndDigNonHarmonicResult::getScriptId, scriptId)
|
||||||
.likeRight(SimAndDigNonHarmonicResult::getMonitorId, devId);
|
.likeRight(SimAndDigNonHarmonicResult::getDevMonitorId, devId);
|
||||||
List<SimAndDigNonHarmonicResult> results = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
List<SimAndDigNonHarmonicResult> results = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return results;
|
return results;
|
||||||
@@ -172,7 +172,7 @@ public class SimAndDigNonHarmonicServiceImpl extends ServiceImpl<SimAndDigNonHar
|
|||||||
String prefix = "ad_non_harmonic_result_";
|
String prefix = "ad_non_harmonic_result_";
|
||||||
DynamicTableNameHandler.setTableName(prefix + param.getPlanCode());
|
DynamicTableNameHandler.setTableName(prefix + param.getPlanCode());
|
||||||
MPJLambdaWrapper<SimAndDigNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
MPJLambdaWrapper<SimAndDigNonHarmonicResult> wrapper = new MPJLambdaWrapper<>();
|
||||||
wrapper.like(SimAndDigNonHarmonicResult::getMonitorId, param.getDevId() + "_" + param.getChannelNo())
|
wrapper.like(SimAndDigNonHarmonicResult::getDevMonitorId, param.getDevId() + "_" + param.getChannelNo())
|
||||||
.in(SimAndDigNonHarmonicResult::getSort, param.getSortList())
|
.in(SimAndDigNonHarmonicResult::getSort, param.getSortList())
|
||||||
.in(SimAndDigNonHarmonicResult::getAdType, param.getValueTypeList());
|
.in(SimAndDigNonHarmonicResult::getAdType, param.getValueTypeList());
|
||||||
List<SimAndDigNonHarmonicResult> adNonHarmonicResults = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
List<SimAndDigNonHarmonicResult> adNonHarmonicResults = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
||||||
@@ -190,7 +190,7 @@ public class SimAndDigNonHarmonicServiceImpl extends ServiceImpl<SimAndDigNonHar
|
|||||||
.selectAs(DictTree::getCode, SimAndDigNonHarmonicResult::getAdType)
|
.selectAs(DictTree::getCode, SimAndDigNonHarmonicResult::getAdType)
|
||||||
.leftJoin(DictTree.class, DictTree::getId, SimAndDigNonHarmonicResult::getAdType)
|
.leftJoin(DictTree.class, DictTree::getId, SimAndDigNonHarmonicResult::getAdType)
|
||||||
.eq(SimAndDigNonHarmonicResult::getScriptId, scriptId)
|
.eq(SimAndDigNonHarmonicResult::getScriptId, scriptId)
|
||||||
.likeRight(SimAndDigNonHarmonicResult::getMonitorId, devId);
|
.likeRight(SimAndDigNonHarmonicResult::getDevMonitorId, devId);
|
||||||
List<SimAndDigNonHarmonicResult> results = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
List<SimAndDigNonHarmonicResult> results = this.getBaseMapper().selectJoinList(SimAndDigNonHarmonicResult.class, wrapper);
|
||||||
DynamicTableNameHandler.remove();
|
DynamicTableNameHandler.remove();
|
||||||
return results;
|
return results;
|
||||||
|
|||||||
@@ -35,15 +35,20 @@ public class TableGenServiceImpl implements TableGenService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String sql = "CREATE TABLE AD_Harmonic_" + code + " (\n" +
|
String sql = "CREATE TABLE AD_Harmonic_" + code + " (\n" +
|
||||||
" Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',\n" +
|
" Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',\n" +
|
||||||
" Time_Id DATETIME(3) NOT NULL COMMENT '时间',\n" +
|
" Time_Id DATETIME(3) NOT NULL COMMENT '时间',\n" +
|
||||||
" AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',\n" +
|
" AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',\n" +
|
||||||
" Data_Type CHAR(32) NOT NULL COMMENT '数据指标,只有数据源为分钟统计时候才会使用(最大、最小、平均、CP95,默认平均值),字典表',\n" +
|
" Data_Type CHAR(32) NOT NULL COMMENT '数据指标,只有数据源为分钟统计时候才会使用(最大、最小、平均、CP95,默认平均值),字典表',\n" +
|
||||||
" Result_Flag int(1) NULL COMMENT '0不合格 1合格 4无法处理',\n" +
|
" Result_Flag int(1) NULL COMMENT '0不合格 1合格 4无法处理',\n" +
|
||||||
A + B + C +
|
A + B + C +
|
||||||
(isContrast ?
|
(isContrast ?
|
||||||
|
"Id char(32) COLLATE utf8mb4_bin NOT NULL COMMENT '主键Id',\n" +
|
||||||
|
"Std_Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '标准设备监测点Id',\n" +
|
||||||
"Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',\n" +
|
"Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',\n" +
|
||||||
" PRIMARY KEY (Monitor_Id,Time_Id, AD_Type, Num)\n"
|
"A_Value_0 float NULL COMMENT 'A相基波有效值',\n" +
|
||||||
|
"C_Value_0 float NULL COMMENT 'B相基波有效值',\n" +
|
||||||
|
"B_Value_0 float NULL COMMENT 'B相基波有效值',\n" +
|
||||||
|
"PRIMARY KEY (Id)\n"
|
||||||
:
|
:
|
||||||
" Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',\n" +
|
" Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',\n" +
|
||||||
" Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号',\n" +
|
" Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号',\n" +
|
||||||
@@ -55,15 +60,20 @@ public class TableGenServiceImpl implements TableGenService {
|
|||||||
String b = B.toString().replaceAll("float", "json");
|
String b = B.toString().replaceAll("float", "json");
|
||||||
String c = C.toString().replaceAll("float", "json");
|
String c = C.toString().replaceAll("float", "json");
|
||||||
String sql2 = "CREATE TABLE AD_Harmonic_Result_" + code + " (\n" +
|
String sql2 = "CREATE TABLE AD_Harmonic_Result_" + code + " (\n" +
|
||||||
" Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',\n" +
|
" Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '监测点Id',\n" +
|
||||||
" Time_Id DATETIME(3) NULL COMMENT '时间',\n" +
|
" Time_Id DATETIME(3) NULL COMMENT '时间',\n" +
|
||||||
" AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',\n" +
|
" AD_Type CHAR(32) NOT NULL COMMENT '检测指标,字典表',\n" +
|
||||||
" Data_Type CHAR(32) NOT NULL COMMENT '数据指标,只有数据源为分钟统计时候才会使用(最大、最小、平均、CP95,默认平均值),字典表',\n" +
|
" Data_Type CHAR(32) NOT NULL COMMENT '数据指标,只有数据源为分钟统计时候才会使用(最大、最小、平均、CP95,默认平均值),字典表',\n" +
|
||||||
" Result_Flag int(1) NOT NULL COMMENT '1合格 2不合格 4无法处理',\n" +
|
" Result_Flag int(1) NOT NULL COMMENT '1合格 2不合格 4无法处理',\n" +
|
||||||
a + b + c +
|
a + b + c +
|
||||||
(isContrast ?
|
(isContrast ?
|
||||||
|
"Id char(32) COLLATE utf8mb4_bin NOT NULL COMMENT '主键Id',\n" +
|
||||||
|
"Std_Dev_Monitor_Id CHAR(34) NOT NULL COMMENT '标准设备监测点Id',\n" +
|
||||||
"Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',\n" +
|
"Num tinyint(1) unsigned DEFAULT 0 COMMENT '第几次检测',\n" +
|
||||||
" PRIMARY KEY (Monitor_Id, AD_Type, Num)\n"
|
"A_Value_0 json NULL COMMENT 'A相基波有效值',\n" +
|
||||||
|
"B_Value_0 json NULL COMMENT 'B相基波有效值',\n" +
|
||||||
|
"C_Value_0 json NULL COMMENT 'B相基波有效值',\n" +
|
||||||
|
"PRIMARY KEY (Id)\n"
|
||||||
:
|
:
|
||||||
" Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',\n" +
|
" Script_Id CHAR(32) NOT NULL COMMENT '检测脚本表Id',\n" +
|
||||||
" Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号',\n" +
|
" Sort int(4) NOT NULL COMMENT '总检测脚本中的测试项序号',\n" +
|
||||||
|
|||||||
Reference in New Issue
Block a user