间谐波电压取基波有效值、角型接线时若不存在线电压指标则使用相电压指标、表结构调整以记录配对关系
This commit is contained in:
@@ -120,13 +120,4 @@ public class ResultController extends BaseController {
|
||||
resultService.deleteTempTable(code);
|
||||
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 待填充的值
|
||||
*/
|
||||
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.param.PreDetectionParam;
|
||||
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.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.service.IPqDevService;
|
||||
import com.njcn.gather.plan.pojo.po.AdPlan;
|
||||
@@ -139,7 +135,7 @@ public class ResultServiceImpl implements IResultService {
|
||||
|
||||
if (ObjectUtil.isNotEmpty(allResultList)) {
|
||||
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) -> {
|
||||
Map<String, String> map = new HashMap<>();
|
||||
@@ -1495,73 +1491,6 @@ public class ResultServiceImpl implements IResultService {
|
||||
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) {
|
||||
if (CollUtil.isNotEmpty(numbers)) {
|
||||
@@ -1709,7 +1638,7 @@ public class ResultServiceImpl implements IResultService {
|
||||
checkDataParam.setIsValueTypeName(false);
|
||||
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) {
|
||||
@@ -1717,7 +1646,7 @@ public class ResultServiceImpl implements IResultService {
|
||||
// if (CollUtil.isNotEmpty(nonHarm)) {
|
||||
if (CollUtil.isNotEmpty(nonHarm)) {
|
||||
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) -> {
|
||||
String[] split = key.split("_");
|
||||
DevData data = new DevData();
|
||||
@@ -1743,7 +1672,7 @@ public class ResultServiceImpl implements IResultService {
|
||||
}
|
||||
if (CollUtil.isNotEmpty(harm)) {
|
||||
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) -> {
|
||||
List<DevData> collect = info.stream().filter(x -> key.equals(x.getId() + "_" + x.getTime())).collect(Collectors.toList());
|
||||
List<DevData.SqlDataDTO> sqlDataDTOS = new ArrayList<>();
|
||||
|
||||
Reference in New Issue
Block a user