influxdb数据查询调整
This commit is contained in:
@@ -29,4 +29,7 @@ public interface CsLineFeignClient {
|
|||||||
|
|
||||||
@PostMapping("/findByNdid")
|
@PostMapping("/findByNdid")
|
||||||
HttpResult<List<CsLinePO>> findByNdid(@RequestParam("id") String id);
|
HttpResult<List<CsLinePO>> findByNdid(@RequestParam("id") String id);
|
||||||
|
|
||||||
|
@PostMapping("/getPositionById")
|
||||||
|
HttpResult<String> getPositionById(@RequestParam("id") String id);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ public class CsLineClientFallbackFactory implements FallbackFactory<CsLineFeignC
|
|||||||
log.error("{}异常,降级处理,异常为:{}","根据ndid查询监测点",cause.toString());
|
log.error("{}异常,降级处理,异常为:{}","根据ndid查询监测点",cause.toString());
|
||||||
throw new BusinessException(finalExceptionEnum);
|
throw new BusinessException(finalExceptionEnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HttpResult<String> getPositionById(String id) {
|
||||||
|
log.error("{}异常,降级处理,异常为:{}","通过id查询监测点位置",cause.toString());
|
||||||
|
throw new BusinessException(finalExceptionEnum);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ public enum AlgorithmResponseEnum {
|
|||||||
NDID_ERROR("A00502","存在相同的ndid"),
|
NDID_ERROR("A00502","存在相同的ndid"),
|
||||||
DATA_ERROR("A00503","存在相同的数据"),
|
DATA_ERROR("A00503","存在相同的数据"),
|
||||||
LINE_DATA_ERROR ("A00504","设备下监测点数据缺失"),
|
LINE_DATA_ERROR ("A00504","设备下监测点数据缺失"),
|
||||||
|
POSITION_ERROR ("A00504","监测点位置数据缺失"),
|
||||||
ENGINEERING_DATA_ERROR ("A00505","工程数据数据缺失"),
|
ENGINEERING_DATA_ERROR ("A00505","工程数据数据缺失"),
|
||||||
ELEEPDPQD_DATA_ERROR ("A00506","统计指标据数据缺失"),
|
ELEEPDPQD_DATA_ERROR ("A00506","统计指标据数据缺失"),
|
||||||
FILE_SIZE_ERROR ("A00507","文件不能超过10M"),
|
FILE_SIZE_ERROR ("A00507","文件不能超过10M"),
|
||||||
|
|||||||
@@ -44,6 +44,16 @@ public class CslineController extends BaseController {
|
|||||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csLinePOS, methodDescribe);
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, csLinePOS, methodDescribe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
|
@PostMapping("/getPositionById")
|
||||||
|
@ApiOperation("通过id查询监测点位置")
|
||||||
|
@ApiImplicitParam(name = "id", value = "设备id", required = true)
|
||||||
|
public HttpResult<String> getPositionById(@RequestParam String id){
|
||||||
|
String methodDescribe = getMethodDescribe("getPositionById");
|
||||||
|
String position = csLinePOService.lambdaQuery().eq(CsLinePO::getLineId,id).one().getPosition();
|
||||||
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, position, methodDescribe);
|
||||||
|
}
|
||||||
|
|
||||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||||
@PostMapping("/queryLineByDevId")
|
@PostMapping("/queryLineByDevId")
|
||||||
@ApiOperation("监测点查询通过设备id获取")
|
@ApiOperation("监测点查询通过设备id获取")
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
|
import com.njcn.csdevice.api.CsLineFeignClient;
|
||||||
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
||||||
import com.njcn.csdevice.mapper.CsDataArrayMapper;
|
import com.njcn.csdevice.mapper.CsDataArrayMapper;
|
||||||
import com.njcn.csdevice.mapper.CsGroArrMapper;
|
import com.njcn.csdevice.mapper.CsGroArrMapper;
|
||||||
@@ -22,7 +23,9 @@ import com.njcn.csdevice.service.ICsDataArrayService;
|
|||||||
import com.njcn.csdevice.service.ICsGroupService;
|
import com.njcn.csdevice.service.ICsGroupService;
|
||||||
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
|
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
|
||||||
import com.njcn.influx.service.CommonService;
|
import com.njcn.influx.service.CommonService;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
import com.njcn.system.api.EpdFeignClient;
|
import com.njcn.system.api.EpdFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
import com.njcn.system.pojo.po.EleEpdPqd;
|
import com.njcn.system.pojo.po.EleEpdPqd;
|
||||||
import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
@@ -59,6 +62,10 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
|
|
||||||
private final EpdFeignClient epdFeignClient;
|
private final EpdFeignClient epdFeignClient;
|
||||||
|
|
||||||
|
private final CsLineFeignClient csLineFeignClient;
|
||||||
|
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public List<CsGroupVO> getGroupData(String dataSet) {
|
public List<CsGroupVO> getGroupData(String dataSet) {
|
||||||
@@ -82,15 +89,28 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
if (pageRes.getTotal() != 0) {
|
if (pageRes.getTotal() != 0) {
|
||||||
List<DataGroupTemplateVO> groupList = pageRes.getRecords();
|
List<DataGroupTemplateVO> groupList = pageRes.getRecords();
|
||||||
List<String> group = groupList.stream().map(DataGroupTemplateVO::getId).collect(Collectors.toList());
|
List<String> group = groupList.stream().map(DataGroupTemplateVO::getId).collect(Collectors.toList());
|
||||||
|
String position = csLineFeignClient.getPositionById(lineId).getData();
|
||||||
|
if (Objects.isNull(position)){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.POSITION_ERROR);
|
||||||
|
}
|
||||||
|
String clDid = null;
|
||||||
|
String areaCode = dicDataFeignClient.getDicDataById(position).getData().getCode();
|
||||||
|
if (Objects.equals(areaCode, DicDataEnum.OUTPUT_SIDE.getCode())){
|
||||||
|
clDid = "0";
|
||||||
|
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
||||||
|
clDid = "1";
|
||||||
|
} else if (Objects.equals(areaCode, DicDataEnum.GRID_SIDE.getCode())){
|
||||||
|
clDid = "2";
|
||||||
|
}
|
||||||
//获取当前组的所有指标项
|
//获取当前组的所有指标项
|
||||||
List<EnergyTemplateVO> list = csDataArrayMapper.getArrayByGroup(group);
|
List<EnergyTemplateVO> list = csDataArrayMapper.getArrayByGroup(group);
|
||||||
list.forEach(item->{
|
for (EnergyTemplateVO item : list) {
|
||||||
EnergyTemplateVO vo = new EnergyTemplateVO();
|
EnergyTemplateVO vo = new EnergyTemplateVO();
|
||||||
BeanUtils.copyProperties(item,vo);
|
BeanUtils.copyProperties(item,vo);
|
||||||
EleEpdPqd eleEpdPqd = epdFeignClient.selectById(item.getDataId()).getData();
|
EleEpdPqd eleEpdPqd = epdFeignClient.selectById(item.getDataId()).getData();
|
||||||
vo.setClassId(eleEpdPqd.getClassId());
|
vo.setClassId(eleEpdPqd.getClassId());
|
||||||
vo.setUnit(eleEpdPqd.getUnit());
|
vo.setUnit(eleEpdPqd.getUnit());
|
||||||
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,eleEpdPqd.getClassId(),item.getName(),item.getPhase(),item.getStatMethod());
|
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,eleEpdPqd.getClassId(),item.getName(),item.getPhase(),item.getStatMethod(),clDid);
|
||||||
if (!Objects.isNull(statisticalDataDTO)){
|
if (!Objects.isNull(statisticalDataDTO)){
|
||||||
vo.setTime(statisticalDataDTO.getTime());
|
vo.setTime(statisticalDataDTO.getTime());
|
||||||
vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue());
|
vo.setDataValue(BigDecimal.valueOf(statisticalDataDTO.getValue()).setScale(4, RoundingMode.UP).doubleValue());
|
||||||
@@ -98,7 +118,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
vo.setDataValue(3.1415926);
|
vo.setDataValue(3.1415926);
|
||||||
}
|
}
|
||||||
arrayList.add(vo);
|
arrayList.add(vo);
|
||||||
});
|
}
|
||||||
if (CollectionUtil.isNotEmpty(arrayList)){
|
if (CollectionUtil.isNotEmpty(arrayList)){
|
||||||
List<DataGroupTemplateVO> grList = groupList.stream().peek((item) -> {item.setChildren(getChildren(item.getId(), arrayList));}).collect(Collectors.toList());
|
List<DataGroupTemplateVO> grList = groupList.stream().peek((item) -> {item.setChildren(getChildren(item.getId(), arrayList));}).collect(Collectors.toList());
|
||||||
pageTurn.setRecords(grList);
|
pageTurn.setRecords(grList);
|
||||||
@@ -125,15 +145,29 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
if (pageRes.getTotal() != 0) {
|
if (pageRes.getTotal() != 0) {
|
||||||
List<DataGroupTemplateVO> groupList = pageRes.getRecords();
|
List<DataGroupTemplateVO> groupList = pageRes.getRecords();
|
||||||
List<String> group = groupList.stream().map(DataGroupTemplateVO::getId).collect(Collectors.toList());
|
List<String> group = groupList.stream().map(DataGroupTemplateVO::getId).collect(Collectors.toList());
|
||||||
|
String position = csLineFeignClient.getPositionById(energyBaseParam.getLineId()).getData();
|
||||||
|
if (Objects.isNull(position)){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.POSITION_ERROR);
|
||||||
|
}
|
||||||
|
String clDid = null;
|
||||||
|
String areaCode = dicDataFeignClient.getDicDataById(position).getData().getCode();
|
||||||
|
if (Objects.equals(areaCode, DicDataEnum.OUTPUT_SIDE.getCode())){
|
||||||
|
clDid = "0";
|
||||||
|
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
||||||
|
clDid = "1";
|
||||||
|
} else if (Objects.equals(areaCode, DicDataEnum.GRID_SIDE.getCode())){
|
||||||
|
clDid = "2";
|
||||||
|
}
|
||||||
//获取当前组的所有指标项
|
//获取当前组的所有指标项
|
||||||
List<EnergyTemplateVO> list = csDataArrayMapper.getArrayByGroup(group);
|
List<EnergyTemplateVO> list = csDataArrayMapper.getArrayByGroup(group);
|
||||||
list.forEach(item->{
|
|
||||||
|
for (EnergyTemplateVO item : list) {
|
||||||
EnergyTemplateVO vo = new EnergyTemplateVO();
|
EnergyTemplateVO vo = new EnergyTemplateVO();
|
||||||
BeanUtils.copyProperties(item,vo);
|
BeanUtils.copyProperties(item,vo);
|
||||||
EleEpdPqd eleEpdPqd = epdFeignClient.selectById(item.getDataId()).getData();
|
EleEpdPqd eleEpdPqd = epdFeignClient.selectById(item.getDataId()).getData();
|
||||||
vo.setClassId(eleEpdPqd.getClassId());
|
vo.setClassId(eleEpdPqd.getClassId());
|
||||||
vo.setUnit(eleEpdPqd.getUnit());
|
vo.setUnit(eleEpdPqd.getUnit());
|
||||||
StatisticalDataDTO statisticalDataDTO = commonService.getLineHistoryData(energyBaseParam.getLineId(),eleEpdPqd.getClassId(),item.getName(),energyBaseParam.getStartTime(),energyBaseParam.getEndTime());
|
StatisticalDataDTO statisticalDataDTO = commonService.getLineHistoryData(energyBaseParam.getLineId(),eleEpdPqd.getClassId(),item.getName(),energyBaseParam.getStartTime(),energyBaseParam.getEndTime(),clDid);
|
||||||
if (!Objects.isNull(statisticalDataDTO)){
|
if (!Objects.isNull(statisticalDataDTO)){
|
||||||
vo.setMaxValue(BigDecimal.valueOf(statisticalDataDTO.getMaxValue()).setScale(4, RoundingMode.UP).doubleValue());
|
vo.setMaxValue(BigDecimal.valueOf(statisticalDataDTO.getMaxValue()).setScale(4, RoundingMode.UP).doubleValue());
|
||||||
vo.setMinValue(BigDecimal.valueOf(statisticalDataDTO.getMinValue()).setScale(4, RoundingMode.UP).doubleValue());
|
vo.setMinValue(BigDecimal.valueOf(statisticalDataDTO.getMinValue()).setScale(4, RoundingMode.UP).doubleValue());
|
||||||
@@ -142,7 +176,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
vo.setMinValue(3.1415956);
|
vo.setMinValue(3.1415956);
|
||||||
}
|
}
|
||||||
arrayList.add(vo);
|
arrayList.add(vo);
|
||||||
});
|
}
|
||||||
if (CollectionUtil.isNotEmpty(arrayList)){
|
if (CollectionUtil.isNotEmpty(arrayList)){
|
||||||
List<DataGroupTemplateVO> grList = groupList.stream().peek((item) -> {item.setChildren(getChildren(item.getId(), arrayList));}).collect(Collectors.toList());
|
List<DataGroupTemplateVO> grList = groupList.stream().peek((item) -> {item.setChildren(getChildren(item.getId(), arrayList));}).collect(Collectors.toList());
|
||||||
pageTurn.setRecords(grList);
|
pageTurn.setRecords(grList);
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.alibaba.nacos.shaded.com.google.gson.Gson;
|
|||||||
import com.google.common.reflect.TypeToken;
|
import com.google.common.reflect.TypeToken;
|
||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.csdevice.api.*;
|
import com.njcn.csdevice.api.*;
|
||||||
|
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
||||||
import com.njcn.csdevice.pojo.po.CsDataArray;
|
import com.njcn.csdevice.pojo.po.CsDataArray;
|
||||||
import com.njcn.csdevice.pojo.po.CsLinePO;
|
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||||
import com.njcn.csdevice.pojo.vo.DataArrayTreeVO;
|
import com.njcn.csdevice.pojo.vo.DataArrayTreeVO;
|
||||||
@@ -117,7 +118,9 @@ public class LineTargetServiceImpl implements ILineTargetService {
|
|||||||
String targetName = dataArray.getAnotherName();
|
String targetName = dataArray.getAnotherName();
|
||||||
String dataId = dataArray.getDataId();
|
String dataId = dataArray.getDataId();
|
||||||
String classId = epdFeignClient.selectById(dataId).getData().getClassId();
|
String classId = epdFeignClient.selectById(dataId).getData().getClassId();
|
||||||
result.add(getLineRtData(item.getId(),item.getLineId().get(3),classId,targetTag,phasic,dataType,targetName));
|
String tableName = dicDataFeignClient.getDicDataById(classId).getData().getCode();
|
||||||
|
String clDid = getClDid(item.getLineId().get(3));
|
||||||
|
result.add(getLineRtData(item.getId(),item.getLineId().get(3),tableName,targetTag,phasic,dataType,targetName,clDid));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return result;
|
return result;
|
||||||
@@ -135,6 +138,26 @@ public class LineTargetServiceImpl implements ILineTargetService {
|
|||||||
return gson.fromJson(text, new TypeToken<ZuTaiDTO>(){}.getType());
|
return gson.fromJson(text, new TypeToken<ZuTaiDTO>(){}.getType());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取cldid
|
||||||
|
*/
|
||||||
|
public String getClDid(String line) {
|
||||||
|
String position = csLineFeignClient.getPositionById(line).getData();
|
||||||
|
if (Objects.isNull(position)){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.POSITION_ERROR);
|
||||||
|
}
|
||||||
|
String clDid = null;
|
||||||
|
String areaCode = dicDataFeignClient.getDicDataById(position).getData().getCode();
|
||||||
|
if (Objects.equals(areaCode, DicDataEnum.OUTPUT_SIDE.getCode())){
|
||||||
|
clDid = "0";
|
||||||
|
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
||||||
|
clDid = "1";
|
||||||
|
} else if (Objects.equals(areaCode, DicDataEnum.GRID_SIDE.getCode())){
|
||||||
|
clDid = "2";
|
||||||
|
}
|
||||||
|
return clDid;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过orm框架获取数据
|
* 通过orm框架获取数据
|
||||||
* @param id 图元Id
|
* @param id 图元Id
|
||||||
@@ -144,11 +167,12 @@ public class LineTargetServiceImpl implements ILineTargetService {
|
|||||||
* @param phasic 相别
|
* @param phasic 相别
|
||||||
* @param dataType 数据类型
|
* @param dataType 数据类型
|
||||||
* @param target 数据名称
|
* @param target 数据名称
|
||||||
|
* @param cldId 逻辑子设备标识
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public CsRtDataVO getLineRtData(String id,String lineId, String tableName, String columnName, String phasic, String dataType, String target) {
|
public CsRtDataVO getLineRtData(String id,String lineId, String tableName, String columnName, String phasic, String dataType, String target, String cldId) {
|
||||||
CsRtDataVO csRtDataVO = new CsRtDataVO();
|
CsRtDataVO csRtDataVO = new CsRtDataVO();
|
||||||
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,tableName,columnName,phasic,dataType);
|
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,tableName,columnName,phasic,dataType,cldId);
|
||||||
if(Objects.isNull(statisticalDataDTO)){
|
if(Objects.isNull(statisticalDataDTO)){
|
||||||
statisticalDataDTO = new StatisticalDataDTO();
|
statisticalDataDTO = new StatisticalDataDTO();
|
||||||
statisticalDataDTO.setLineId(lineId);
|
statisticalDataDTO.setLineId(lineId);
|
||||||
|
|||||||
Reference in New Issue
Block a user