将influx查询的所需两个参数tableName、cldid对应的两个方法getTableNameByClassId、getClDidByLineId整合工具类(InfluxDbParamUtil)统一调用
This commit is contained in:
@@ -29,6 +29,7 @@ import com.njcn.csdevice.pojo.vo.DataGroupTemplateVO;
|
|||||||
import com.njcn.csdevice.pojo.vo.EnergyTemplateVO;
|
import com.njcn.csdevice.pojo.vo.EnergyTemplateVO;
|
||||||
import com.njcn.csdevice.service.ICsDataArrayService;
|
import com.njcn.csdevice.service.ICsDataArrayService;
|
||||||
import com.njcn.csdevice.service.ICsGroupService;
|
import com.njcn.csdevice.service.ICsGroupService;
|
||||||
|
import com.njcn.csdevice.util.InfluxDbParamUtil;
|
||||||
import com.njcn.csharmonic.param.CommonStatisticalQueryParam;
|
import com.njcn.csharmonic.param.CommonStatisticalQueryParam;
|
||||||
import com.njcn.csharmonic.pojo.vo.ThdDataTdVO;
|
import com.njcn.csharmonic.pojo.vo.ThdDataTdVO;
|
||||||
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
|
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
|
||||||
@@ -115,6 +116,8 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
|
|
||||||
private final LineFeignClient lineFeignClient;
|
private final LineFeignClient lineFeignClient;
|
||||||
|
|
||||||
|
private final InfluxDbParamUtil influxDbParamUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public List<CsGroupVO> getGroupData(String dataSet) {
|
public List<CsGroupVO> getGroupData(String dataSet) {
|
||||||
@@ -138,19 +141,6 @@ 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.GRID_SIDE.getCode())){
|
|
||||||
clDid = "1";
|
|
||||||
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
|
||||||
clDid = "2";
|
|
||||||
}
|
|
||||||
//获取当前组的所有指标项
|
//获取当前组的所有指标项
|
||||||
List<EnergyTemplateVO> list = csDataArrayMapper.getArrayByGroup(group);
|
List<EnergyTemplateVO> list = csDataArrayMapper.getArrayByGroup(group);
|
||||||
for (EnergyTemplateVO item : list) {
|
for (EnergyTemplateVO item : list) {
|
||||||
@@ -159,7 +149,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
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,getTableNameByClassId(eleEpdPqd.getClassId()),item.getName(),item.getPhase(),item.getStatMethod(),clDid);
|
StatisticalDataDTO statisticalDataDTO = commonService.getLineRtData(lineId,influxDbParamUtil.getTableNameByClassId(eleEpdPqd.getClassId()),item.getName(),item.getPhase(),item.getStatMethod(),influxDbParamUtil.getClDidByLineId(lineId));
|
||||||
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());
|
||||||
@@ -194,19 +184,6 @@ 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.GRID_SIDE.getCode())){
|
|
||||||
clDid = "1";
|
|
||||||
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
|
||||||
clDid = "2";
|
|
||||||
}
|
|
||||||
//获取当前组的所有指标项
|
//获取当前组的所有指标项
|
||||||
List<EnergyTemplateVO> list = csDataArrayMapper.getArrayByGroup(group);
|
List<EnergyTemplateVO> list = csDataArrayMapper.getArrayByGroup(group);
|
||||||
for (EnergyTemplateVO item : list) {
|
for (EnergyTemplateVO item : list) {
|
||||||
@@ -215,7 +192,7 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
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(),getTableNameByClassId(eleEpdPqd.getClassId()),item.getName(),energyBaseParam.getStartTime(),energyBaseParam.getEndTime(),clDid);
|
StatisticalDataDTO statisticalDataDTO = commonService.getLineHistoryData(energyBaseParam.getLineId(),influxDbParamUtil.getTableNameByClassId(eleEpdPqd.getClassId()),item.getName(),energyBaseParam.getStartTime(),energyBaseParam.getEndTime(),influxDbParamUtil.getClDidByLineId(energyBaseParam.getLineId()));
|
||||||
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());
|
||||||
@@ -267,14 +244,14 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
||||||
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
||||||
commonQueryParam.setLineId(temp.getLineId());
|
commonQueryParam.setLineId(temp.getLineId());
|
||||||
commonQueryParam.setTableName(getTableNameByClassId(epdPqd.getClassId()));
|
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(epdPqd.getClassId()));
|
||||||
commonQueryParam.setColumnName(epdPqd.getName()+ (param.getFrequency() == null ? "":"_"+param.getFrequency()));
|
commonQueryParam.setColumnName(epdPqd.getName()+ (param.getFrequency() == null ? "":"_"+param.getFrequency()));
|
||||||
commonQueryParam.setPhasic(epdPqd.getPhase());
|
commonQueryParam.setPhasic(epdPqd.getPhase());
|
||||||
//commonQueryParam.setStartTime(commonStatisticalQueryParam.getStartTime());
|
//commonQueryParam.setStartTime(commonStatisticalQueryParam.getStartTime());
|
||||||
//commonQueryParam.setEndTime(commonStatisticalQueryParam.getEndTime());
|
//commonQueryParam.setEndTime(commonStatisticalQueryParam.getEndTime());
|
||||||
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
|
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
|
||||||
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
||||||
commonQueryParam.setClDid(getClDidByLineId(temp.getLineId()));
|
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));
|
||||||
return commonQueryParam;
|
return commonQueryParam;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
//List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtDataByTime(commonQueryParams);
|
//List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtDataByTime(commonQueryParams);
|
||||||
@@ -319,12 +296,12 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
||||||
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
||||||
commonQueryParam.setLineId(temp.getLineId());
|
commonQueryParam.setLineId(temp.getLineId());
|
||||||
commonQueryParam.setTableName(getTableNameByClassId(epdPqd.getClassId()));
|
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(epdPqd.getClassId()));
|
||||||
commonQueryParam.setColumnName(epdPqd.getName()+ finalFrequency);
|
commonQueryParam.setColumnName(epdPqd.getName()+ finalFrequency);
|
||||||
commonQueryParam.setPhasic(epdPqd.getPhase());
|
commonQueryParam.setPhasic(epdPqd.getPhase());
|
||||||
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType() == null ? DataParam.portableDevStatisticalMethods:commonStatisticalQueryParam.getValueType());
|
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType() == null ? DataParam.portableDevStatisticalMethods:commonStatisticalQueryParam.getValueType());
|
||||||
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
||||||
commonQueryParam.setClDid(getClDidByLineId(temp.getLineId()));
|
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));
|
||||||
return commonQueryParam;
|
return commonQueryParam;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtData(commonQueryParams);
|
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtData(commonQueryParams);
|
||||||
@@ -444,12 +421,12 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
||||||
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
||||||
commonQueryParam.setLineId(temp.getLineId());
|
commonQueryParam.setLineId(temp.getLineId());
|
||||||
commonQueryParam.setTableName(getTableNameByClassId(epdPqd.getClassId()));
|
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(epdPqd.getClassId()));
|
||||||
commonQueryParam.setColumnName(epdPqd.getName()+"_"+index);
|
commonQueryParam.setColumnName(epdPqd.getName()+"_"+index);
|
||||||
commonQueryParam.setPhasic(epdPqd.getPhase());
|
commonQueryParam.setPhasic(epdPqd.getPhase());
|
||||||
commonQueryParam.setDataType(DataParam.portableDevStatisticalMethods);
|
commonQueryParam.setDataType(DataParam.portableDevStatisticalMethods);
|
||||||
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
||||||
commonQueryParam.setClDid(getClDidByLineId(temp.getLineId()));
|
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));
|
||||||
return commonQueryParam;
|
return commonQueryParam;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtData(commonQueryParams);
|
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtData(commonQueryParams);
|
||||||
@@ -544,12 +521,12 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
||||||
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
||||||
commonQueryParam.setLineId(temp.getLineId());
|
commonQueryParam.setLineId(temp.getLineId());
|
||||||
commonQueryParam.setTableName(getTableNameByClassId(epdPqd.getClassId()));
|
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(epdPqd.getClassId()));
|
||||||
commonQueryParam.setColumnName(epdPqd.getName()+"_"+index);
|
commonQueryParam.setColumnName(epdPqd.getName()+"_"+index);
|
||||||
commonQueryParam.setPhasic(epdPqd.getPhase());
|
commonQueryParam.setPhasic(epdPqd.getPhase());
|
||||||
commonQueryParam.setDataType(DataParam.portableDevStatisticalMethods);
|
commonQueryParam.setDataType(DataParam.portableDevStatisticalMethods);
|
||||||
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
||||||
commonQueryParam.setClDid(getClDidByLineId(temp.getLineId()));
|
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));
|
||||||
return commonQueryParam;
|
return commonQueryParam;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtData(commonQueryParams);
|
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtData(commonQueryParams);
|
||||||
@@ -613,31 +590,6 @@ public class CsGroupServiceImpl extends ServiceImpl<CsGroupMapper, CsGroup> impl
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*表名换成了id本方法做转换*/
|
|
||||||
private String getTableNameByClassId(String classId){
|
|
||||||
DictData data = dicDataFeignClient.getDicDataById(classId).getData();
|
|
||||||
if(Objects.isNull(data)){
|
|
||||||
throw new BusinessException("数据缺失");
|
|
||||||
}
|
|
||||||
return data.getCode();
|
|
||||||
}
|
|
||||||
private String getClDidByLineId(String lineId){
|
|
||||||
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.GRID_SIDE.getCode())){
|
|
||||||
clDid = "1";
|
|
||||||
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
|
||||||
clDid = "2";
|
|
||||||
}
|
|
||||||
return clDid;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteGroup(String groupId) {
|
public void deleteGroup(String groupId) {
|
||||||
LambdaQueryWrapper<CsGroArr> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<CsGroArr> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import com.njcn.csdevice.pojo.po.PortableOfflLog;
|
|||||||
import com.njcn.csdevice.service.IPortableOfflLogService;
|
import com.njcn.csdevice.service.IPortableOfflLogService;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.njcn.csdevice.param.UploadDataParam;
|
import com.njcn.csdevice.param.UploadDataParam;
|
||||||
|
import com.njcn.csdevice.util.InfluxDbParamUtil;
|
||||||
import com.njcn.csharmonic.api.EventFeignClient;
|
import com.njcn.csharmonic.api.EventFeignClient;
|
||||||
import com.njcn.csharmonic.api.OfflineDataUploadFeignClient;
|
import com.njcn.csharmonic.api.OfflineDataUploadFeignClient;
|
||||||
import com.njcn.csharmonic.offline.constant.OfflineConstant;
|
import com.njcn.csharmonic.offline.constant.OfflineConstant;
|
||||||
@@ -75,6 +76,8 @@ public class PortableOfflLogServiceImpl extends ServiceImpl<PortableOfflLogMappe
|
|||||||
|
|
||||||
private final CsLineFeignClient csLineFeignClient;
|
private final CsLineFeignClient csLineFeignClient;
|
||||||
|
|
||||||
|
private final InfluxDbParamUtil influxDbParamUtil;
|
||||||
|
|
||||||
private final PqdDataMapper pqdDataMapper;
|
private final PqdDataMapper pqdDataMapper;
|
||||||
|
|
||||||
private final EvtDataMapper evtDataMapper;
|
private final EvtDataMapper evtDataMapper;
|
||||||
@@ -250,7 +253,8 @@ public class PortableOfflLogServiceImpl extends ServiceImpl<PortableOfflLogMappe
|
|||||||
csEventPO.setWavePath(wavePath);
|
csEventPO.setWavePath(wavePath);
|
||||||
//默认暂态事件
|
//默认暂态事件
|
||||||
csEventPO.setType(0);
|
csEventPO.setType(0);
|
||||||
csEventPO.setClDid(getClDidByLineId(uploadDataParam.getLineId()));
|
String clDid = influxDbParamUtil.getClDidByLineId(uploadDataParam.getLineId());
|
||||||
|
csEventPO.setClDid(clDid == null ? null : Integer.parseInt(clDid));
|
||||||
//默认告警等级2
|
//默认告警等级2
|
||||||
csEventPO.setLevel(2);
|
csEventPO.setLevel(2);
|
||||||
//默认事件发生位置:电网侧
|
//默认事件发生位置:电网侧
|
||||||
@@ -302,23 +306,6 @@ public class PortableOfflLogServiceImpl extends ServiceImpl<PortableOfflLogMappe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private Integer getClDidByLineId(String lineId){
|
|
||||||
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.GRID_SIDE.getCode())){
|
|
||||||
clDid = "1";
|
|
||||||
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
|
||||||
clDid = "2";
|
|
||||||
}
|
|
||||||
return clDid == null ? null : Integer.parseInt(clDid);
|
|
||||||
}
|
|
||||||
|
|
||||||
//根据文件全路径(包含文件夹)解析文件的分类
|
//根据文件全路径(包含文件夹)解析文件的分类
|
||||||
private String checkPrevsFolder(String filePath,String type){
|
private String checkPrevsFolder(String filePath,String type){
|
||||||
List<String> paths = Arrays.asList(filePath.split("/"));
|
List<String> paths = Arrays.asList(filePath.split("/"));
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import com.njcn.common.pojo.exception.BusinessException;
|
|||||||
import com.njcn.csdevice.api.CsLineFeignClient;
|
import com.njcn.csdevice.api.CsLineFeignClient;
|
||||||
import com.njcn.csdevice.api.EquipmentFeignClient;
|
import com.njcn.csdevice.api.EquipmentFeignClient;
|
||||||
import com.njcn.csdevice.constant.DataParam;
|
import com.njcn.csdevice.constant.DataParam;
|
||||||
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
|
||||||
import com.njcn.csdevice.enums.LineBaseEnum;
|
import com.njcn.csdevice.enums.LineBaseEnum;
|
||||||
import com.njcn.csdevice.mapper.WlRecordMapper;
|
import com.njcn.csdevice.mapper.WlRecordMapper;
|
||||||
import com.njcn.csdevice.param.WlRecordPageParam;
|
import com.njcn.csdevice.param.WlRecordPageParam;
|
||||||
@@ -22,6 +21,7 @@ import com.njcn.csdevice.pojo.vo.RecordAllDevTreeVo;
|
|||||||
import com.njcn.csdevice.pojo.vo.RecordTreeVo;
|
import com.njcn.csdevice.pojo.vo.RecordTreeVo;
|
||||||
import com.njcn.csdevice.pojo.vo.RecordVo;
|
import com.njcn.csdevice.pojo.vo.RecordVo;
|
||||||
import com.njcn.csdevice.service.IWlRecordService;
|
import com.njcn.csdevice.service.IWlRecordService;
|
||||||
|
import com.njcn.csdevice.util.InfluxDbParamUtil;
|
||||||
import com.njcn.csharmonic.param.CommonStatisticalQueryParam;
|
import com.njcn.csharmonic.param.CommonStatisticalQueryParam;
|
||||||
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
|
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
|
||||||
import com.njcn.influx.pojo.bo.CommonQueryParam;
|
import com.njcn.influx.pojo.bo.CommonQueryParam;
|
||||||
@@ -29,8 +29,6 @@ import com.njcn.influx.pojo.dto.StatisticalDataDTO;
|
|||||||
import com.njcn.influx.service.CommonService;
|
import com.njcn.influx.service.CommonService;
|
||||||
import com.njcn.system.api.CsStatisticalSetFeignClient;
|
import com.njcn.system.api.CsStatisticalSetFeignClient;
|
||||||
import com.njcn.system.api.DicDataFeignClient;
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
import com.njcn.system.enums.DicDataEnum;
|
|
||||||
import com.njcn.system.pojo.po.DictData;
|
|
||||||
import com.njcn.system.pojo.po.EleEpdPqd;
|
import com.njcn.system.pojo.po.EleEpdPqd;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
@@ -61,12 +59,12 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
|
|||||||
|
|
||||||
private final CsStatisticalSetFeignClient csStatisticalSetFeignClient;
|
private final CsStatisticalSetFeignClient csStatisticalSetFeignClient;
|
||||||
|
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
|
||||||
|
|
||||||
private final CsLineFeignClient csLineFeignClient;
|
private final CsLineFeignClient csLineFeignClient;
|
||||||
|
|
||||||
private final CommonService commonService;
|
private final CommonService commonService;
|
||||||
|
|
||||||
|
private final InfluxDbParamUtil influxDbParamUtil;
|
||||||
|
|
||||||
private final DecimalFormat df = new DecimalFormat(DataParam.DecimalFormatStr);
|
private final DecimalFormat df = new DecimalFormat(DataParam.DecimalFormatStr);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -302,14 +300,14 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
|
|||||||
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
List<CommonQueryParam> commonQueryParams = finalCsLinePOList.stream().map(temp -> {
|
||||||
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
||||||
commonQueryParam.setLineId(temp.getLineId());
|
commonQueryParam.setLineId(temp.getLineId());
|
||||||
commonQueryParam.setTableName(getTableNameByClassId(epdPqd.getClassId()));
|
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(epdPqd.getClassId()));
|
||||||
commonQueryParam.setColumnName(epdPqd.getName()+ (param.getFrequency() == null ? "":"_"+param.getFrequency()));
|
commonQueryParam.setColumnName(epdPqd.getName()+ (param.getFrequency() == null ? "":"_"+param.getFrequency()));
|
||||||
commonQueryParam.setPhasic(epdPqd.getPhase());
|
commonQueryParam.setPhasic(epdPqd.getPhase());
|
||||||
commonQueryParam.setStartTime(LocalDateTimeUtil.format(wl.getStartTime(), DateTimeFormatter.ofPattern(DataParam.timeFormat)));
|
commonQueryParam.setStartTime(LocalDateTimeUtil.format(wl.getStartTime(), DateTimeFormatter.ofPattern(DataParam.timeFormat)));
|
||||||
commonQueryParam.setEndTime(LocalDateTimeUtil.format(wl.getEndTime(), DateTimeFormatter.ofPattern(DataParam.timeFormat)));
|
commonQueryParam.setEndTime(LocalDateTimeUtil.format(wl.getEndTime(), DateTimeFormatter.ofPattern(DataParam.timeFormat)));
|
||||||
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
|
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
|
||||||
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
||||||
commonQueryParam.setClDid(getClDidByLineId(temp.getLineId()));
|
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));
|
||||||
return commonQueryParam;
|
return commonQueryParam;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtDataByTime(commonQueryParams);
|
List<StatisticalDataDTO> deviceRtData = commonService.getDeviceRtDataByTime(commonQueryParams);
|
||||||
@@ -426,31 +424,6 @@ public class WlRecordServiceImpl extends ServiceImpl<WlRecordMapper, WlRecord> i
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*表名换成了id本方法做转换*/
|
|
||||||
private String getTableNameByClassId(String classId){
|
|
||||||
DictData data = dicDataFeignClient.getDicDataById(classId).getData();
|
|
||||||
if(Objects.isNull(data)){
|
|
||||||
throw new BusinessException(AlgorithmResponseEnum.DATA_MISSING.getMessage());
|
|
||||||
}
|
|
||||||
return data.getCode();
|
|
||||||
}
|
|
||||||
private String getClDidByLineId(String lineId){
|
|
||||||
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.GRID_SIDE.getCode())){
|
|
||||||
clDid = "1";
|
|
||||||
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
|
||||||
clDid = "2";
|
|
||||||
}
|
|
||||||
return clDid;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取测试项绑定的基础数据最早的设备开始时间
|
* 获取测试项绑定的基础数据最早的设备开始时间
|
||||||
* @param testRecordId
|
* @param testRecordId
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package com.njcn.csdevice.util;
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
|
import com.njcn.csdevice.api.CsLineFeignClient;
|
||||||
|
import com.njcn.csdevice.api.EquipmentFeignClient;
|
||||||
|
import com.njcn.csdevice.constant.DataParam;
|
||||||
|
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
||||||
|
import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO;
|
||||||
|
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class InfluxDbParamUtil {
|
||||||
|
|
||||||
|
private final CsLineFeignClient csLineFeignClient;
|
||||||
|
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
private final EquipmentFeignClient equipmentFeignClient;
|
||||||
|
|
||||||
|
/*表名换成了id本方法做转换*/
|
||||||
|
public String getTableNameByClassId(String classId){
|
||||||
|
DictData data = dicDataFeignClient.getDicDataById(classId).getData();
|
||||||
|
if(Objects.isNull(data)){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.DATA_MISSING.getMessage());
|
||||||
|
}
|
||||||
|
return data.getCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClDidByLineId(String lineId){
|
||||||
|
List<CsLinePO> finalCsLinePOList = csLineFeignClient.queryLineById(Arrays.asList(lineId)).getData();
|
||||||
|
if(finalCsLinePOList == null || finalCsLinePOList.isEmpty()){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.DATA_MISSING.getMessage());
|
||||||
|
}
|
||||||
|
List<CsEquipmentDeliveryDTO> csEquipmentDeliveryDTOList = equipmentFeignClient.queryDeviceById(Stream.of(finalCsLinePOList.get(0).getDeviceId()).collect(Collectors.toList())).getData();
|
||||||
|
if(csEquipmentDeliveryDTOList == null || csEquipmentDeliveryDTOList.isEmpty()){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.DATA_MISSING.getMessage());
|
||||||
|
}
|
||||||
|
//新增逻辑:如果是便携式设备的话 直接返回便携式测点的cldid
|
||||||
|
if(DataParam.portableDevType.equals(csEquipmentDeliveryDTOList.get(0).getDevType())){
|
||||||
|
return finalCsLinePOList.get(0).getClDid()+"";
|
||||||
|
}
|
||||||
|
//之后的逻辑还是按照原来的不变
|
||||||
|
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.GRID_SIDE.getCode())){
|
||||||
|
clDid = "1";
|
||||||
|
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
||||||
|
clDid = "2";
|
||||||
|
}
|
||||||
|
return clDid;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@ import com.njcn.csdevice.pojo.po.CsLedger;
|
|||||||
import com.njcn.csharmonic.param.DevicDataTrendQueryParam;
|
import com.njcn.csharmonic.param.DevicDataTrendQueryParam;
|
||||||
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
|
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
|
||||||
import com.njcn.csharmonic.service.DeviceDataTrendService;
|
import com.njcn.csharmonic.service.DeviceDataTrendService;
|
||||||
|
import com.njcn.csharmonic.util.InfluxDbParamUtil;
|
||||||
import com.njcn.influx.pojo.bo.CommonQueryParam;
|
import com.njcn.influx.pojo.bo.CommonQueryParam;
|
||||||
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;
|
||||||
@@ -47,6 +48,7 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService {
|
|||||||
private final CsLineFeignClient csLineFeignClient;
|
private final CsLineFeignClient csLineFeignClient;
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
private final EquipmentFeignClient equipmentFeignClient;
|
private final EquipmentFeignClient equipmentFeignClient;
|
||||||
|
private final InfluxDbParamUtil influxDbParamUtil;
|
||||||
@Override
|
@Override
|
||||||
public List<List<ThdDataVO>> queryDataTrend(DevicDataTrendQueryParam devicDataTrendQueryParam) {
|
public List<List<ThdDataVO>> queryDataTrend(DevicDataTrendQueryParam devicDataTrendQueryParam) {
|
||||||
List<List<ThdDataVO>> result = new ArrayList<>();
|
List<List<ThdDataVO>> result = new ArrayList<>();
|
||||||
@@ -61,14 +63,14 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService {
|
|||||||
devicDataTrendQueryParam.getStatisticalParams().forEach(temp->{
|
devicDataTrendQueryParam.getStatisticalParams().forEach(temp->{
|
||||||
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
||||||
commonQueryParam.setLineId(devicDataTrendQueryParam.getLineId());
|
commonQueryParam.setLineId(devicDataTrendQueryParam.getLineId());
|
||||||
commonQueryParam.setTableName(getTableNameByClassId(temp.getClassId()));
|
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(temp.getClassId()));
|
||||||
commonQueryParam.setColumnName(temp.getName());
|
commonQueryParam.setColumnName(temp.getName());
|
||||||
commonQueryParam.setPhasic(temp.getPhase());
|
commonQueryParam.setPhasic(temp.getPhase());
|
||||||
commonQueryParam.setStartTime( devicDataTrendQueryParam.getStartTime());
|
commonQueryParam.setStartTime( devicDataTrendQueryParam.getStartTime());
|
||||||
commonQueryParam.setEndTime(devicDataTrendQueryParam.getEndTime());
|
commonQueryParam.setEndTime(devicDataTrendQueryParam.getEndTime());
|
||||||
commonQueryParam.setDataType( temp.getStatMethod());
|
commonQueryParam.setDataType( temp.getStatMethod());
|
||||||
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
||||||
commonQueryParam.setClDid(getClDidByLineId(devicDataTrendQueryParam.getLineId()));
|
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(devicDataTrendQueryParam.getLineId()));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -94,30 +96,4 @@ public class DeviceDataTrendServiceImpl implements DeviceDataTrendService {
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*表名换成了id本方法做转换*/
|
|
||||||
private String getTableNameByClassId(String classId){
|
|
||||||
DictData data = dicDataFeignClient.getDicDataById(classId).getData();
|
|
||||||
if(Objects.isNull(data)){
|
|
||||||
throw new BusinessException("数据缺失");
|
|
||||||
}
|
|
||||||
return data.getCode();
|
|
||||||
}
|
|
||||||
private String getClDidByLineId(String lineId){
|
|
||||||
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.GRID_SIDE.getCode())){
|
|
||||||
clDid = "1";
|
|
||||||
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
|
||||||
clDid = "2";
|
|
||||||
}
|
|
||||||
return clDid;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import com.njcn.csharmonic.pojo.dto.ZuTaiDTO;
|
|||||||
import com.njcn.csharmonic.pojo.vo.CsRtDataVO;
|
import com.njcn.csharmonic.pojo.vo.CsRtDataVO;
|
||||||
import com.njcn.csharmonic.service.CsPagePOService;
|
import com.njcn.csharmonic.service.CsPagePOService;
|
||||||
import com.njcn.csharmonic.service.ILineTargetService;
|
import com.njcn.csharmonic.service.ILineTargetService;
|
||||||
|
import com.njcn.csharmonic.util.InfluxDbParamUtil;
|
||||||
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.oss.utils.FileStorageUtil;
|
import com.njcn.oss.utils.FileStorageUtil;
|
||||||
@@ -68,6 +69,8 @@ public class LineTargetServiceImpl implements ILineTargetService {
|
|||||||
|
|
||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
private final InfluxDbParamUtil influxDbParamUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<DataArrayTreeVO> getLineTarget(String lineId) {
|
public List<DataArrayTreeVO> getLineTarget(String lineId) {
|
||||||
List<String> setList = new ArrayList<>();
|
List<String> setList = new ArrayList<>();
|
||||||
@@ -118,7 +121,7 @@ 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();
|
||||||
String clDid = getClDid(item.getLineId().get(3));
|
String clDid = influxDbParamUtil.getClDidByLineId(item.getLineId().get(3));
|
||||||
result.add(getLineRtData(item.getId(),item.getLineId().get(3),classId,targetTag,phasic,dataType,targetName,clDid));
|
result.add(getLineRtData(item.getId(),item.getLineId().get(3),classId,targetTag,phasic,dataType,targetName,clDid));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -137,26 +140,6 @@ 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.GRID_SIDE.getCode())){
|
|
||||||
clDid = "1";
|
|
||||||
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
|
||||||
clDid = "2";
|
|
||||||
}
|
|
||||||
return clDid;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过orm框架获取数据
|
* 通过orm框架获取数据
|
||||||
* @param id 图元Id
|
* @param id 图元Id
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import com.njcn.csharmonic.param.FrequencyStatisticalQueryParam;
|
|||||||
import com.njcn.csharmonic.param.ThdDataQueryParm;
|
import com.njcn.csharmonic.param.ThdDataQueryParm;
|
||||||
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
|
import com.njcn.csharmonic.pojo.vo.ThdDataVO;
|
||||||
import com.njcn.csharmonic.service.StableDataService;
|
import com.njcn.csharmonic.service.StableDataService;
|
||||||
|
import com.njcn.csharmonic.util.InfluxDbParamUtil;
|
||||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||||
import com.njcn.influx.pojo.bo.CommonQueryParam;
|
import com.njcn.influx.pojo.bo.CommonQueryParam;
|
||||||
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
|
import com.njcn.influx.pojo.dto.StatisticalDataDTO;
|
||||||
@@ -66,7 +67,7 @@ public class StableDataServiceImpl implements StableDataService {
|
|||||||
private final DicDataFeignClient dicDataFeignClient;
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
private final InfluxDbUtils influxDbUtils;
|
private final InfluxDbUtils influxDbUtils;
|
||||||
private final CsStatisticalSetFeignClient csStatisticalSetFeignClient;
|
private final CsStatisticalSetFeignClient csStatisticalSetFeignClient;
|
||||||
|
private final InfluxDbParamUtil influxDbParamUtil;
|
||||||
private final EquipmentFeignClient equipmentFeignClient;
|
private final EquipmentFeignClient equipmentFeignClient;
|
||||||
|
|
||||||
|
|
||||||
@@ -208,14 +209,14 @@ public class StableDataServiceImpl implements StableDataService {
|
|||||||
List<CommonQueryParam> commonQueryParams = csLinePOList1.stream().map(temp -> {
|
List<CommonQueryParam> commonQueryParams = csLinePOList1.stream().map(temp -> {
|
||||||
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
||||||
commonQueryParam.setLineId(temp.getLineId());
|
commonQueryParam.setLineId(temp.getLineId());
|
||||||
commonQueryParam.setTableName(getTableNameByClassId(data.getClassId()));
|
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(data.getClassId()));
|
||||||
commonQueryParam.setColumnName(data.getName()+ finalFrequency1);
|
commonQueryParam.setColumnName(data.getName()+ finalFrequency1);
|
||||||
commonQueryParam.setPhasic(data.getPhase());
|
commonQueryParam.setPhasic(data.getPhase());
|
||||||
// commonQueryParam.setStartTime();
|
// commonQueryParam.setStartTime();
|
||||||
// commonQueryParam.setEndTime();
|
// commonQueryParam.setEndTime();
|
||||||
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
|
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
|
||||||
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
||||||
commonQueryParam.setClDid(getClDidByLineId(temp.getLineId()));
|
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));
|
||||||
|
|
||||||
return commonQueryParam;
|
return commonQueryParam;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
@@ -277,14 +278,14 @@ public class StableDataServiceImpl implements StableDataService {
|
|||||||
List<CommonQueryParam> commonQueryParams = csLinePOList1.stream().map(temp -> {
|
List<CommonQueryParam> commonQueryParams = csLinePOList1.stream().map(temp -> {
|
||||||
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
CommonQueryParam commonQueryParam = new CommonQueryParam();
|
||||||
commonQueryParam.setLineId(temp.getLineId());
|
commonQueryParam.setLineId(temp.getLineId());
|
||||||
commonQueryParam.setTableName(getTableNameByClassId(epdPqd.getClassId()));
|
commonQueryParam.setTableName(influxDbParamUtil.getTableNameByClassId(epdPqd.getClassId()));
|
||||||
commonQueryParam.setColumnName(epdPqd.getName()+ finalFrequency1);
|
commonQueryParam.setColumnName(epdPqd.getName()+ finalFrequency1);
|
||||||
commonQueryParam.setPhasic(epdPqd.getPhase());
|
commonQueryParam.setPhasic(epdPqd.getPhase());
|
||||||
commonQueryParam.setStartTime(commonStatisticalQueryParam.getStartTime());
|
commonQueryParam.setStartTime(commonStatisticalQueryParam.getStartTime());
|
||||||
commonQueryParam.setEndTime(commonStatisticalQueryParam.getEndTime());
|
commonQueryParam.setEndTime(commonStatisticalQueryParam.getEndTime());
|
||||||
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
|
commonQueryParam.setDataType(commonStatisticalQueryParam.getValueType());
|
||||||
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
commonQueryParam.setProcess(data1.get(0).getProcess()+"");
|
||||||
commonQueryParam.setClDid(getClDidByLineId(temp.getLineId()));
|
commonQueryParam.setClDid(influxDbParamUtil.getClDidByLineId(temp.getLineId()));
|
||||||
|
|
||||||
return commonQueryParam;
|
return commonQueryParam;
|
||||||
}).collect(Collectors.toList());
|
}).collect(Collectors.toList());
|
||||||
@@ -476,30 +477,4 @@ public class StableDataServiceImpl implements StableDataService {
|
|||||||
}
|
}
|
||||||
return thdDataVOList;
|
return thdDataVOList;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*表名换成了id本方法做转换*/
|
|
||||||
private String getTableNameByClassId(String classId){
|
|
||||||
DictData data = dicDataFeignClient.getDicDataById(classId).getData();
|
|
||||||
if(Objects.isNull(data)){
|
|
||||||
throw new BusinessException("数据缺失");
|
|
||||||
}
|
|
||||||
return data.getCode();
|
|
||||||
}
|
|
||||||
private String getClDidByLineId(String lineId){
|
|
||||||
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.GRID_SIDE.getCode())){
|
|
||||||
clDid = "1";
|
|
||||||
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
|
||||||
clDid = "2";
|
|
||||||
}
|
|
||||||
return clDid;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package com.njcn.csharmonic.util;
|
||||||
|
|
||||||
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
|
import com.njcn.csdevice.api.CsLineFeignClient;
|
||||||
|
import com.njcn.csdevice.api.EquipmentFeignClient;
|
||||||
|
import com.njcn.csdevice.constant.DataParam;
|
||||||
|
import com.njcn.csdevice.enums.AlgorithmResponseEnum;
|
||||||
|
import com.njcn.csdevice.pojo.dto.CsEquipmentDeliveryDTO;
|
||||||
|
import com.njcn.csdevice.pojo.po.CsLinePO;
|
||||||
|
import com.njcn.system.api.DicDataFeignClient;
|
||||||
|
import com.njcn.system.enums.DicDataEnum;
|
||||||
|
import com.njcn.system.pojo.po.DictData;
|
||||||
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
@RequiredArgsConstructor
|
||||||
|
public class InfluxDbParamUtil {
|
||||||
|
|
||||||
|
private final CsLineFeignClient csLineFeignClient;
|
||||||
|
|
||||||
|
private final DicDataFeignClient dicDataFeignClient;
|
||||||
|
|
||||||
|
private final EquipmentFeignClient equipmentFeignClient;
|
||||||
|
|
||||||
|
/*表名换成了id本方法做转换*/
|
||||||
|
public String getTableNameByClassId(String classId){
|
||||||
|
DictData data = dicDataFeignClient.getDicDataById(classId).getData();
|
||||||
|
if(Objects.isNull(data)){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.DATA_MISSING.getMessage());
|
||||||
|
}
|
||||||
|
return data.getCode();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getClDidByLineId(String lineId){
|
||||||
|
List<CsLinePO> finalCsLinePOList = csLineFeignClient.queryLineById(Arrays.asList(lineId)).getData();
|
||||||
|
if(finalCsLinePOList == null || finalCsLinePOList.isEmpty()){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.DATA_MISSING.getMessage());
|
||||||
|
}
|
||||||
|
List<CsEquipmentDeliveryDTO> csEquipmentDeliveryDTOList = equipmentFeignClient.queryDeviceById(Stream.of(finalCsLinePOList.get(0).getDeviceId()).collect(Collectors.toList())).getData();
|
||||||
|
if(csEquipmentDeliveryDTOList == null || csEquipmentDeliveryDTOList.isEmpty()){
|
||||||
|
throw new BusinessException(AlgorithmResponseEnum.DATA_MISSING.getMessage());
|
||||||
|
}
|
||||||
|
//新增逻辑:如果是便携式设备的话 直接返回便携式测点的cldid
|
||||||
|
if(DataParam.portableDevType.equals(csEquipmentDeliveryDTOList.get(0).getDevType())){
|
||||||
|
return finalCsLinePOList.get(0).getClDid()+"";
|
||||||
|
}
|
||||||
|
//之后的逻辑还是按照原来的不变
|
||||||
|
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.GRID_SIDE.getCode())){
|
||||||
|
clDid = "1";
|
||||||
|
} else if (Objects.equals(areaCode, DicDataEnum.LOAD_SIDE.getCode())){
|
||||||
|
clDid = "2";
|
||||||
|
}
|
||||||
|
return clDid;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user