This commit is contained in:
huangzj
2023-09-20 15:33:40 +08:00
parent becaa461ea
commit e9795c5acd
30 changed files with 485 additions and 234 deletions

View File

@@ -7,9 +7,7 @@ import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.csharmonic.param.CsEventUserQueryParam;
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
import com.njcn.csharmonic.service.EventService;
import com.njcn.influx.pojo.dto.EventQueryDTO;
import com.njcn.influx.pojo.po.cs.EntData;
import com.njcn.csharmonic.service.CsEventPOService;
import com.njcn.web.controller.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@@ -33,17 +31,8 @@ import java.util.List;
@Api(tags = "暂降事件")
@AllArgsConstructor
public class EventController extends BaseController {
private final EventService eventService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryEvent")
@ApiOperation("暂降事件查询")
@ApiImplicitParam(name = "eventQueryDTO", value = "暂降事件查询参数", required = true)
@Deprecated
public HttpResult<List<EntData>> queryEvent(@RequestBody EventQueryDTO eventQueryDTO) {
String methodDescribe = getMethodDescribe("queryEvent");
List<EntData> list = eventService.queryEvent(eventQueryDTO);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, list, methodDescribe);
}
private final CsEventPOService eventService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryEventList")

View File

@@ -47,7 +47,7 @@ public class EventUserController extends BaseController {
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/queryEventList")
@ApiOperation("当天暂降事件未读消息")
@ApiOperation("当天事件未读消息")
@ApiImplicitParam(name = "csEventUserQueryParam", value = "暂降事件查询参数", required = true)
public HttpResult<List<EventDetailVO>> queryEventList(@RequestBody CsEventUserQueryParam csEventUserQueryParam) {
String methodDescribe = getMethodDescribe("queryEventList");

View File

@@ -97,7 +97,7 @@ public class MqttMessageHandler {
// List<Future<List<ThdDataVO>>> resultList = new ArrayList< Future<List<ThdDataVO>>>();
//1.查询拓扑图配置的指标:拓扑图扑图配置7677f94c749dedaff30f911949cbd724
List<EleEpdPqd> data = csStatisticalSetFeignClient.queryStatisticalSelect("7677f94c749dedaff30f911949cbd724").getData();
List<EleEpdPqd> data = csStatisticalSetFeignClient.queryStatisticalSelect("b934664f9592d1c5e92caa90695b7103").getData();
data.forEach(temp->{
if(Objects.nonNull(temp.getHarmStart())&&Objects.nonNull(temp.getHarmEnd())){

View File

@@ -1,8 +1,13 @@
package com.njcn.csharmonic.service;
import com.njcn.csharmonic.param.CsEventUserQueryParam;
import com.njcn.csharmonic.pojo.po.CsEventPO;
import com.baomidou.mybatisplus.extension.service.IService;
/**
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
import java.util.List;
/**
*
* Description:
* Date: 2023/9/4 15:15【需求编号】
@@ -12,5 +17,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface CsEventPOService extends IService<CsEventPO>{
List<EventDetailVO> queryEventList(CsEventUserQueryParam csEventUserQueryParam);
}

View File

@@ -1,24 +0,0 @@
package com.njcn.csharmonic.service;
import com.njcn.csharmonic.param.CsEventUserQueryParam;
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
import com.njcn.influx.pojo.dto.EventQueryDTO;
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
import com.njcn.influx.pojo.po.cs.EntData;
import java.util.List;
/**
* Description:
* Date: 2023/8/30 8:46【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface EventService {
List<EntData> queryEvent(EventQueryDTO eventQueryDTO);
List<EventDetailVO> queryEventList(CsEventUserQueryParam csEventUserQueryParam);
}

View File

@@ -1,10 +1,29 @@
package com.njcn.csharmonic.service.impl;
import com.njcn.csdevice.api.CsLedgerFeignClient;
import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.pojo.dto.DevDetailDTO;
import com.njcn.csharmonic.param.CsEventUserQueryParam;
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
import com.njcn.csharmonic.service.CsEventUserPOService;
import com.njcn.influx.pojo.dto.EventDataSetDTO;
import com.njcn.influx.service.EvtDataService;
import com.njcn.system.api.EleEvtFeignClient;
import com.njcn.system.api.EpdFeignClient;
import com.njcn.system.pojo.po.EleEpdPqd;
import com.njcn.system.pojo.po.EleEvtParm;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.csharmonic.mapper.CsEventPOMapper;
import com.njcn.csharmonic.pojo.po.CsEventPO;
import com.njcn.csharmonic.service.CsEventPOService;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
/**
*
* Description:
@@ -14,6 +33,47 @@ import com.njcn.csharmonic.service.CsEventPOService;
* @version V1.0.0
*/
@Service
@RequiredArgsConstructor
public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO> implements CsEventPOService{
private final EvtDataService evtDataService;
private final CsLedgerFeignClient csLedgerFeignClient;
private final EpdFeignClient epdFeignClient;
private final CsEventUserPOService csEventUserPOService;
private final EleEvtFeignClient eleEvtFeignClient;
@Override
public List<EventDetailVO> queryEventList(CsEventUserQueryParam csEventUserQueryParam) {
List<EventDetailVO> list = csEventUserPOService.queryUserEventList(csEventUserQueryParam);
list.forEach(temp->{
DevDetailDTO devDetail = csLedgerFeignClient.queryDevDetail(temp.getDeviceId()).getData();
temp.setEquipmentName(devDetail.getEquipmentName());
temp.setProjectId(devDetail.getProjectId());
temp.setProjectName(devDetail.getProjectName());
temp.setEngineeringid(devDetail.getEngineeringid());
temp.setEngineeringName(devDetail.getEngineeringName());
EleEpdPqd data = epdFeignClient.findByName(temp.getTag()).getData();
List<EleEvtParm> data1 = eleEvtFeignClient.queryByPid(data.getId()).getData();
List<EventDataSetDTO> eventDataSetDTOS = new ArrayList<>();
for (EleEvtParm eleEvtParm : data1) {
EventDataSetDTO eventDataSetDTO = new EventDataSetDTO();
BeanUtils.copyProperties(eleEvtParm,eventDataSetDTO);
EventDataSetDTO evtData = evtDataService.getEventDataSet("evt_data", temp.getId(), eleEvtParm.getName());
if (evtData == null) {
eventDataSetDTO.setValue("3.1415926");
}else {
eventDataSetDTO.setValue(Optional.ofNullable(evtData.getValue()).orElse("3.1415926"));
}
eventDataSetDTOS.add(eventDataSetDTO);
}
temp.setDataSet(eventDataSetDTOS);
});
return list;
}
}

View File

@@ -2,19 +2,26 @@ package com.njcn.csharmonic.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray;
import com.njcn.csdevice.api.CsLedgerFeignClient;
import com.njcn.csdevice.pojo.dto.DevDetailDTO;
import com.njcn.csharmonic.param.CsEventUserQueryParam;
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
import com.njcn.influx.pojo.dto.EventDataSetDTO;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.enums.DicDataTypeEnum;
import com.njcn.system.pojo.po.DictData;
import com.njcn.system.pojo.po.EleEpdPqd;
import com.njcn.system.pojo.po.EleEvtParm;
import com.njcn.user.enums.AppRoleEnum;
import com.njcn.web.utils.RequestUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -36,6 +43,8 @@ import org.springframework.util.CollectionUtils;
public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, CsEventUserPO> implements CsEventUserPOService{
private final DicDataFeignClient dicDataFeignClient;
private final CsLedgerFeignClient csLedgerFeignClient;
@Override
public Integer queryEventCount(CsEventUserQueryParam csEventUserQueryParam) {
csEventUserQueryParam.setUserId(RequestUtil.getUserIndex());
@@ -62,6 +71,17 @@ public class CsEventUserPOServiceImpl extends ServiceImpl<CsEventUserPOMapper, C
csEventUserQueryParam.setTarget(collect);
}
List<EventDetailVO> list = this.getBaseMapper().queryUserEventList(csEventUserQueryParam);
list.forEach(temp->{
DevDetailDTO devDetail = csLedgerFeignClient.queryDevDetail(temp.getDeviceId()).getData();
temp.setEquipmentName(devDetail.getEquipmentName());
temp.setProjectId(devDetail.getProjectId());
temp.setProjectName(devDetail.getProjectName());
temp.setEngineeringid(devDetail.getEngineeringid());
temp.setEngineeringName(devDetail.getEngineeringName());
});
return list;
}

View File

@@ -1,96 +0,0 @@
package com.njcn.csharmonic.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.common.utils.NjcnBeanUtil;
import com.njcn.csdevice.api.CsLedgerFeignClient;
import com.njcn.csdevice.api.CsLineFeignClient;
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
import com.njcn.csdevice.pojo.dto.DevDetailDTO;
import com.njcn.csdevice.pojo.po.CsLedger;
import com.njcn.csdevice.pojo.po.CsLinePO;
import com.njcn.csharmonic.param.CsEventUserQueryParam;
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
import com.njcn.csharmonic.service.CsEventUserPOService;
import com.njcn.csharmonic.service.EventService;
import com.njcn.influx.pojo.dto.EventDataSetDTO;
import com.njcn.influx.pojo.dto.EventQueryDTO;
import com.njcn.influx.pojo.po.cs.EntData;
import com.njcn.influx.service.EvtDataService;
import com.njcn.system.api.EleEvtFeignClient;
import com.njcn.system.api.EpdFeignClient;
import com.njcn.system.pojo.po.EleEpdPqd;
import com.njcn.system.pojo.po.EleEvtParm;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* Description:
* Date: 2023/8/30 19:41【需求编号】
*
* @author clam
* @version V1.0.0
*/
@Service
@RequiredArgsConstructor
public class EventServiceImpl implements EventService {
private final EvtDataService evtDataService;
private final CsLineFeignClient csLineFeignClient;
private final CsLedgerFeignClient csLedgerFeignClient;
private final EpdFeignClient epdFeignClient;
private final CsEventUserPOService csEventUserPOService;
private final EleEvtFeignClient eleEvtFeignClient;
@Override
public List<EntData> queryEvent(EventQueryDTO eventQueryDTO) {
List<CsLinePO> csLinePOList = csLineFeignClient.queryLineByDevId(eventQueryDTO.getDevId()).getData();
if(CollectionUtil.isEmpty(csLinePOList)){
throw new BusinessException(AlgorithmResponseEnum.LINE_DATA_ERROR);
}
List<String> collect = csLinePOList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
eventQueryDTO.setLineIds(collect);
List<EleEpdPqd> data = epdFeignClient.selectByIds(eventQueryDTO.getTarget()).getData();
if(CollectionUtil.isEmpty(data)){
new BusinessException(AlgorithmResponseEnum.ELEEPDPQD_DATA_ERROR);
}
List<String> collect1 = data.stream().map(EleEpdPqd::getName).collect(Collectors.toList());
eventQueryDTO.setTarget(collect1);
List<EntData> eventData = evtDataService.getEventData(eventQueryDTO);
return eventData;
}
@Override
public List<EventDetailVO> queryEventList(CsEventUserQueryParam csEventUserQueryParam) {
List<EventDetailVO> list = csEventUserPOService.queryUserEventList(csEventUserQueryParam);
list.forEach(temp->{
DevDetailDTO devDetail = csLedgerFeignClient.queryDevDetail(temp.getDeviceId()).getData();
temp.setEquipmentName(devDetail.getEquipmentName());
temp.setProjectId(devDetail.getProjectId());
temp.setProjectName(devDetail.getProjectName());
temp.setEngineeringid(devDetail.getEngineeringid());
temp.setEngineeringName(devDetail.getEngineeringName());
EleEpdPqd data = epdFeignClient.findByName(temp.getTag()).getData();
List<EleEvtParm> data1 = eleEvtFeignClient.queryByPid(data.getId()).getData();
List<EventDataSetDTO> eventDataSetDTOS = new ArrayList<>();
for (EleEvtParm eleEvtParm : data1) {
EventDataSetDTO eventDataSetDTO = new EventDataSetDTO();
BeanUtils.copyProperties(eleEvtParm,eventDataSetDTO);
EventDataSetDTO evtData = evtDataService.getEventDataSet("evt_data", temp.getId(), eleEvtParm.getName());
eventDataSetDTO.setValue(evtData.getValue());
eventDataSetDTOS.add(eventDataSetDTO);
}
temp.setDataSet(eventDataSetDTOS);
});
return list;
}
}

View File

@@ -20,6 +20,7 @@ import com.njcn.influx.service.HaronicRatioService;
import com.njcn.influx.service.PowerQualityService;
import com.njcn.influxdb.param.InfluxDBPublicParam;
import com.njcn.influxdb.utils.InfluxDbUtils;
import com.njcn.system.api.CsStatisticalSetFeignClient;
import com.njcn.system.api.DicDataFeignClient;
import com.njcn.system.api.EpdFeignClient;
import com.njcn.system.enums.DicDataEnum;
@@ -60,6 +61,7 @@ public class StableDataServiceImpl implements StableDataService {
private final DecimalFormat df = new DecimalFormat("#0.0000");
private final DicDataFeignClient dicDataFeignClient;
private final InfluxDbUtils influxDbUtils;
private final CsStatisticalSetFeignClient csStatisticalSetFeignClient;
@Override
@@ -224,6 +226,9 @@ public class StableDataServiceImpl implements StableDataService {
@Override
public List<ThdDataVO> queryCommonStatisticalByTime(CommonStatisticalQueryParam commonStatisticalQueryParam) {
List<ThdDataVO> result = new ArrayList();
Optional.ofNullable(commonStatisticalQueryParam.getDevId()).orElseThrow(()-> new BusinessException(AlgorithmResponseEnum.DEVICE_LOSE));
List<CsLinePO> csLinePOList = csLineFeignClient.queryLineByDevId(commonStatisticalQueryParam.getDevId()).getData();
@@ -232,40 +237,42 @@ public class StableDataServiceImpl implements StableDataService {
}
List<String> collect = csLinePOList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
List<EleEpdPqd> data = csStatisticalSetFeignClient.queryStatisticalSelect(commonStatisticalQueryParam.getStatisticalId()).getData();
EleEpdPqd data = epdFeignClient.selectById(commonStatisticalQueryParam.getStatisticalId()).getData();
Optional.ofNullable(data).orElseThrow(()-> new BusinessException(AlgorithmResponseEnum.ELEEPDPQD_DATA_ERROR));
// EleEpdPqd data = epdFeignClient.selectById(commonStatisticalQueryParam.getStatisticalId()).getData();
// Optional.ofNullable(data).orElseThrow(()-> new BusinessException(AlgorithmResponseEnum.ELEEPDPQD_DATA_ERROR));
if(CollectionUtil.isNotEmpty(data)){
data.forEach(epdPqd->{
String frequency = Optional.ofNullable(commonStatisticalQueryParam.getFrequency()).orElse("");
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtDataByTime(collect, epdPqd.getClassId(), epdPqd.getName()+frequency, epdPqd.getPhase(), commonStatisticalQueryParam.getValueType(),commonStatisticalQueryParam.getStartTime(),commonStatisticalQueryParam.getEndTime());
String frequency = Optional.ofNullable(commonStatisticalQueryParam.getFrequency()).orElse("");
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtDataByTime(collect, data.getClassId(), data.getName()+frequency, data.getPhase(), commonStatisticalQueryParam.getValueType(),commonStatisticalQueryParam.getStartTime(),commonStatisticalQueryParam.getEndTime());
//获取对应的治理后的指标
if(data.getName().equals("Pq_ThdI")){
EleEpdPqd data1 = epdFeignClient.selectById("1a4c5741bd57bd815b361c53d627a891").getData();
List<StatisticalDataDTO> deviceRtData2 = commonService.getDeviceRtDataByTime(collect, data1.getClassId(), data1.getName()+frequency, data.getPhase(), commonStatisticalQueryParam.getValueType(),commonStatisticalQueryParam.getStartTime(),commonStatisticalQueryParam.getEndTime());
deviceRtData.addAll(deviceRtData2);
List<ThdDataVO> collect1 = deviceRtData.stream().map(temp -> {
ThdDataVO vo = new ThdDataVO();
vo.setLineId(temp.getLineId());
vo.setPhase(temp.getPhaseType());
String position = csLinePOList.stream().filter(csLinePO -> Objects.equals(csLinePO.getLineId(), vo.getLineId())).collect(Collectors.toList()).get(0).getPosition();
vo.setPosition(position);
vo.setTime(temp.getTime().atZone(ZoneId.systemDefault()).toLocalDateTime());
vo.setStatMethod(temp.getValueType());
vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
vo.setStatisticalIndex(epdPqd.getId());
vo.setUnit(epdPqd.getUnit());
vo.setStatisticalName(epdPqd.getName());
vo.setAnotherName(epdPqd.getShowName());
return vo;
}).collect(Collectors.toList());
result.addAll(collect1);
});
}
List<ThdDataVO> collect1 = deviceRtData.stream().map(temp -> {
ThdDataVO vo = new ThdDataVO();
vo.setLineId(temp.getLineId());
vo.setPhase(temp.getPhaseType());
String position = csLinePOList.stream().filter(csLinePO -> Objects.equals(csLinePO.getLineId(), vo.getLineId())).collect(Collectors.toList()).get(0).getPosition();
vo.setPosition(position);
vo.setTime(temp.getTime().atZone(ZoneId.systemDefault()).toLocalDateTime());
vo.setStatMethod(temp.getValueType());
vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
vo.setStatisticalIndex(data.getId());
vo.setUnit(data.getUnit());
return vo;
}).collect(Collectors.toList());
return collect1;
return result;
}
@Override
public List<ThdDataVO> queryLineCommonStatistical(CommonStatisticalQueryParam commonStatisticalQueryParam) {
List<ThdDataVO> result = new ArrayList();
if(CollectionUtil.isEmpty(commonStatisticalQueryParam.getLineList())){
throw new BusinessException(AlgorithmResponseEnum.LINE_DATA_ERROR);
}
@@ -275,37 +282,41 @@ public class StableDataServiceImpl implements StableDataService {
}
List<String> collect = csLinePOList.stream().map(CsLinePO::getLineId).collect(Collectors.toList());
List<EleEpdPqd> data = csStatisticalSetFeignClient.queryStatisticalSelect(commonStatisticalQueryParam.getStatisticalId()).getData();
EleEpdPqd data = epdFeignClient.selectById(commonStatisticalQueryParam.getStatisticalId()).getData();
// EleEpdPqd data = epdFeignClient.selectById(commonStatisticalQueryParam.getStatisticalId()).getData();
Optional.ofNullable(data).orElseThrow(()-> new BusinessException(AlgorithmResponseEnum.ELEEPDPQD_DATA_ERROR));
String frequency = Optional.ofNullable(commonStatisticalQueryParam.getFrequency()).orElse("");
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtDataByTime(collect, data.getClassId(), data.getName()+frequency, data.getPhase(), commonStatisticalQueryParam.getValueType(),commonStatisticalQueryParam.getStartTime(),commonStatisticalQueryParam.getEndTime());
//获取对应的治理后的指标
if(data.getName().equals("Pq_ThdI")){
EleEpdPqd data1 = epdFeignClient.selectById("1a4c5741bd57bd815b361c53d627a891").getData();
List<StatisticalDataDTO> deviceRtData2 = commonService.getDeviceRtDataByTime(collect, data1.getClassId(), data1.getName()+frequency, data.getPhase(), commonStatisticalQueryParam.getValueType(),commonStatisticalQueryParam.getStartTime(),commonStatisticalQueryParam.getEndTime());
deviceRtData.addAll(deviceRtData2);
if(CollectionUtil.isNotEmpty(data)){
data.forEach(epdPqd->{
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtDataByTime(collect, epdPqd.getClassId(), epdPqd.getName()+frequency, epdPqd.getPhase(), commonStatisticalQueryParam.getValueType(),commonStatisticalQueryParam.getStartTime(),commonStatisticalQueryParam.getEndTime());
List<ThdDataVO> collect1 = deviceRtData.stream().map(temp -> {
ThdDataVO vo = new ThdDataVO();
vo.setLineId(temp.getLineId());
vo.setPhase(temp.getPhaseType());
String position = csLinePOList.stream().filter(csLinePO -> Objects.equals(csLinePO.getLineId(), vo.getLineId())).collect(Collectors.toList()).get(0).getPosition();
String lineName = csLinePOList.stream().filter(csLinePO -> Objects.equals(csLinePO.getLineId(), vo.getLineId())).collect(Collectors.toList()).get(0).getName();
vo.setLineName(lineName);
vo.setPosition(position);
vo.setTime(temp.getTime().atZone(ZoneId.systemDefault()).toLocalDateTime());
vo.setStatMethod(temp.getValueType());
vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
vo.setStatisticalIndex(epdPqd.getId());
vo.setUnit(epdPqd.getUnit());
vo.setStatisticalName(epdPqd.getName());
vo.setAnotherName(epdPqd.getShowName());
return vo;
}).collect(Collectors.toList());
collect1 = collect1.stream().distinct().collect(Collectors.toList());
result.addAll(collect1);
});
}
List<ThdDataVO> collect1 = deviceRtData.stream().map(temp -> {
ThdDataVO vo = new ThdDataVO();
vo.setLineId(temp.getLineId());
vo.setPhase(temp.getPhaseType());
String position = csLinePOList.stream().filter(csLinePO -> Objects.equals(csLinePO.getLineId(), vo.getLineId())).collect(Collectors.toList()).get(0).getPosition();
String lineName = csLinePOList.stream().filter(csLinePO -> Objects.equals(csLinePO.getLineId(), vo.getLineId())).collect(Collectors.toList()).get(0).getName();
vo.setLineName(lineName);
vo.setPosition(position);
vo.setTime(temp.getTime().atZone(ZoneId.systemDefault()).toLocalDateTime());
vo.setStatMethod(temp.getValueType());
vo.setStatisticalData(Double.valueOf(df.format(temp.getValue())));
vo.setStatisticalIndex(data.getId());
vo.setUnit(data.getUnit());
return vo;
}).collect(Collectors.toList());
collect1 = collect1.stream().distinct().collect(Collectors.toList());
return collect1;
return result;
}
private String phaseReflection(String phase){