代码调整
This commit is contained in:
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -19,6 +19,7 @@ public interface RMpPartHarmonicDetailDService extends IService<RMpPartHarmonicD
|
||||
|
||||
/**
|
||||
* 稳态指标超标明细表-指标趋势图
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -21,6 +21,7 @@ public interface RMpPartHarmonicDetailMService extends IService<RMpPartHarmonicD
|
||||
|
||||
/**
|
||||
* 稳态指标超标明细表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
|
||||
@@ -11,7 +11,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -21,6 +21,7 @@ public interface RMpPassRateService extends IService<RMpPassRateQ> {
|
||||
|
||||
/**
|
||||
* 稳态指标合格率明细表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
|
||||
@@ -21,22 +21,37 @@ import java.util.List;
|
||||
public interface RStatHarmonicMService extends IService<RStatHarmonicM> {
|
||||
|
||||
/**
|
||||
* 查询查询监测点稳态指标 日/月点数
|
||||
* 主网查询查询监测点稳态指标 日/月点数
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RArrayVO> getRStatHarmonicMAll(StatisticsBizBaseParam param);
|
||||
|
||||
/**
|
||||
* 稳态电铁-频率偏差-电压统计图
|
||||
* 主网稳态电铁-频率偏差-电压统计图
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RIconVO> getRStatHarmonicIcon(RStatHarmonicMParam param);
|
||||
List<RIconVO> getRStatHarmonicIconVoltage(RStatHarmonicMParam param);
|
||||
|
||||
/**
|
||||
* 稳态电铁-频率偏差-越线日期统计图
|
||||
* 主网稳态电铁-频率偏差-越线日期统计图
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RHarmonicPolylineVO> getRStatHarmonicIcon2(RStatHarmonicMParam param);
|
||||
List<RHarmonicPolylineVO> getRStatHarmonicIconDate(RStatHarmonicMParam param);
|
||||
|
||||
/**
|
||||
* 配网查询监测点稳态指标(月)
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RArrayVO> getPwRStatHarmonicMAll(StatisticsBizBaseParam param);
|
||||
|
||||
/**
|
||||
* 配网监测点-频率偏差-越线日期统计图
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RHarmonicPolylineVO> getPwRStatHarmonicIconDate(RStatHarmonicMParam param);
|
||||
}
|
||||
|
||||
@@ -18,10 +18,16 @@ import java.util.List;
|
||||
public interface RStatHarmonicQService extends IService<RStatHarmonicQ> {
|
||||
|
||||
/**
|
||||
* 查询查询监测点稳态指标 日/月点数
|
||||
* 主网查询监测点稳态指标(季)
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RArrayVO> getRStatHarmonicQAll(StatisticsBizBaseParam param);
|
||||
|
||||
/**
|
||||
* 配网查询监测点稳态指标(季)
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RArrayVO> getPwRStatHarmonicQAll(StatisticsBizBaseParam param);
|
||||
}
|
||||
|
||||
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -18,9 +18,19 @@ import java.util.List;
|
||||
public interface RStatHarmonicYService extends IService<RStatHarmonicY> {
|
||||
|
||||
/**
|
||||
* 查询查询监测点稳态指标 日/月点数
|
||||
* 主网查询监测点稳态指标(年)
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RArrayVO> getRStatHarmonicYAll(StatisticsBizBaseParam param);
|
||||
|
||||
/**
|
||||
* 配网查询监测点稳态指标(年)
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RArrayVO> getPwRStatHarmonicYAll(StatisticsBizBaseParam param);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package com.njcn.harmonic.service;
|
||||
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageM;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO;
|
||||
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -19,8 +19,9 @@ public interface RStatOrgBusbarVoltageService extends IService<RStatOrgBusbarVol
|
||||
|
||||
/**
|
||||
* 区域电站母线电压类指标超标计
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatisticsBizBaseParam param);
|
||||
List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatSubstationBizBaseParam param);
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
|
||||
|
||||
/**
|
||||
* 查询区域超标统计-年数据
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@@ -27,6 +28,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
|
||||
|
||||
/**
|
||||
* 区域稳态指标超标分类统计表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@@ -34,6 +36,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
|
||||
|
||||
/**
|
||||
* 变电站(换流站)稳态指标超标分类统计表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@@ -41,6 +44,7 @@ public interface RStatOrgYService extends IService<RStatOrgY> {
|
||||
|
||||
/**
|
||||
* 区域稳态指标合格率统计表
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -20,6 +20,7 @@ public interface RStatSubstationMService extends IService<RStatSubstationM> {
|
||||
|
||||
/**
|
||||
* 变电站稳态指标超标分布(按超标天数)
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
@@ -27,6 +28,7 @@ public interface RStatSubstationMService extends IService<RStatSubstationM> {
|
||||
|
||||
/**
|
||||
* 变电站稳态指标平均超标天数
|
||||
*
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
|
||||
@@ -29,12 +29,12 @@ public interface THDistortionService {
|
||||
* @return
|
||||
*/
|
||||
THDistortionCensusVO getTHDistortionCensus(DeviceInfoParam.BusinessParam thDistortionCensusParam);
|
||||
/**
|
||||
* @Description: 谐波总畸变率前十列表
|
||||
* @Param: [statisticsBizBaseParam]
|
||||
* @return: java.util.List<com.njcn.harmonic.pojo.vo.RMpVThdVO>
|
||||
/**
|
||||
* @Description: 谐波总畸变率前topNum列表
|
||||
* @Param: [statisticsBizBaseParam]
|
||||
* @return: java.util.List<com.njcn.harmonic.pojo.vo.RMpVThdVO>
|
||||
* @Author: clam
|
||||
* @Date: 2022/10/10
|
||||
*/
|
||||
List<RMpVThdVO> getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam);
|
||||
* @Date: 2022/11/7
|
||||
*/
|
||||
List<RMpVThdVO> getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam,Integer topNum);
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ import org.springframework.web.multipart.commons.CommonsMultipartFile;
|
||||
import javax.annotation.Resource;
|
||||
import java.io.*;
|
||||
import java.net.URL;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -62,11 +63,10 @@ import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
* 自定义报表
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2022/8/16
|
||||
* @author qijian
|
||||
* @date 2022/10/15
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@@ -104,13 +104,14 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
|
||||
//检验模板json数据规范
|
||||
try {
|
||||
new JSONArray(reportTemplateParam.getContent());
|
||||
String content = MultipartFileToString(reportTemplateParam.getFileContent());
|
||||
new JSONArray(content);
|
||||
} catch (Exception e) {
|
||||
throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON);
|
||||
}
|
||||
|
||||
//文件上传到Minio服务器,存入文件名
|
||||
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getContent());
|
||||
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getFileContent());
|
||||
reportTemplateParam.setContent(minIoUploadResDTO.getMinFileName());
|
||||
|
||||
//新增模板表
|
||||
@@ -139,7 +140,8 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
|
||||
//检验模板json数据规范
|
||||
try {
|
||||
new JSONArray(reportTemplateParam.getContent());
|
||||
String content = MultipartFileToString(reportTemplateParam.getFileContent());
|
||||
new JSONArray(content);
|
||||
} catch (Exception e) {
|
||||
throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON);
|
||||
}
|
||||
@@ -149,7 +151,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
minIoUtils.removeObject(minIoProperties.getBucket(), excelRptTempOld.getContent());
|
||||
|
||||
//文件上传到Minio服务器,存入文件名
|
||||
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getContent());
|
||||
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getFileContent());
|
||||
reportTemplateParam.setContent(minIoUploadResDTO.getMinFileName());
|
||||
|
||||
//修改模板数据
|
||||
@@ -331,8 +333,10 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
|
||||
//文件上传到Minio服务器,存入文件名
|
||||
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(jsonArray.toString());
|
||||
String content = minIoUploadResDTO.getMinFileName();
|
||||
File newFile = stringToFile(jsonArray.toString());
|
||||
MultipartFile newMultipartFile = getMultipartFile(newFile);
|
||||
MinIoUploadResDTO minIoUploadResDTO = contentToMinio(newMultipartFile);
|
||||
String newContent = minIoUploadResDTO.getMinFileName();
|
||||
//根据模板激活状态,判断是否进库(未激活不进库,已激活进库)
|
||||
if (DataStateEnum.ENABLE.getCode().equals(reportSearchParam.getActivation())) {
|
||||
//存入报表库
|
||||
@@ -341,13 +345,13 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
excelRpt.setLineId(reportSearchParam.getLineId());
|
||||
excelRpt.setDataDate(DateUtil.parse(reportSearchParam.getStartTime()));
|
||||
excelRpt.setTempId(excelRptTemp.getId());
|
||||
excelRpt.setContent(content);
|
||||
excelRpt.setContent(newContent);
|
||||
excelRpt.setType(reportSearchParam.getType());
|
||||
excelRpt.setState(DataStateEnum.ENABLE.getCode());
|
||||
excelRptMapper.insert(excelRpt);
|
||||
}
|
||||
|
||||
return minIoUtils.getObjectUrl(minIoProperties.getBucket(), content, 7 * 24 * 60 * 60);
|
||||
return minIoUtils.getObjectUrl(minIoProperties.getBucket(), newContent, 7 * 24 * 60 * 60);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -496,7 +500,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
for (List<Object> columnValue : values) {
|
||||
for (int i = 0; i < columnValue.size(); i++) {
|
||||
if (columns.get(i).equals("value")) {
|
||||
data.setValue(columnValue.get(i).toString());
|
||||
data.setValue(String.format("%.3f", columnValue.get(i)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -509,17 +513,13 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
/**
|
||||
* 上传文件到Minio
|
||||
*
|
||||
* @param content 文件
|
||||
* @param file 文件
|
||||
* @return 成功标记
|
||||
*/
|
||||
private MinIoUploadResDTO contentToMinio(String content) {
|
||||
//上传到minio
|
||||
String businessTempPath = generalInfo.getBusinessTempPath();
|
||||
File file = stringToFile(content, businessTempPath + File.separator + "a.json");
|
||||
MultipartFile multiFile = getMultipartFile(file);
|
||||
private MinIoUploadResDTO contentToMinio(MultipartFile file) {
|
||||
try {
|
||||
//把名称存入数据
|
||||
MinIoUploadResDTO upload = minIoUtils.upload(multiFile, minIoProperties.getBucket(), "report/");
|
||||
MinIoUploadResDTO upload = minIoUtils.upload(file, minIoProperties.getBucket(), "report/");
|
||||
return upload;
|
||||
} catch (Exception e) {
|
||||
throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_FILE);
|
||||
@@ -527,24 +527,37 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 将字符串写入指定文件
|
||||
* 文件Url 转 String
|
||||
*
|
||||
* @param res 原字符串
|
||||
* @param filePath 文件路径
|
||||
* @param objectUrl 文件url
|
||||
* @return 成功标记
|
||||
*/
|
||||
public File stringToFile(String res, String filePath) {
|
||||
boolean flag = true;
|
||||
private String urlToString(String objectUrl) throws IOException {
|
||||
URL url = new URL(objectUrl);
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
String line = " ";
|
||||
while ((line = in.readLine()) != null){
|
||||
buffer.append(line);
|
||||
}
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* 字符串写入指定文件
|
||||
*
|
||||
* @param res 原字符串
|
||||
* @return 成功标记
|
||||
*/
|
||||
public File stringToFile(String res) {
|
||||
BufferedReader bufferedReader = null;
|
||||
BufferedWriter bufferedWriter = null;
|
||||
File distFile = new File(filePath);
|
||||
String businessTempPath = generalInfo.getBusinessTempPath();
|
||||
File distFile = new File(businessTempPath + File.separator + "temp.json");
|
||||
try {
|
||||
if (!distFile.getParentFile().exists()){
|
||||
distFile.getParentFile().mkdirs();
|
||||
}
|
||||
if (!distFile.getParentFile().exists()) distFile.getParentFile().mkdirs();
|
||||
bufferedReader = new BufferedReader(new StringReader(res));
|
||||
bufferedWriter = new BufferedWriter(new FileWriter(distFile));
|
||||
//先清空
|
||||
bufferedWriter.write("");
|
||||
char buf[] = new char[1024]; //字符缓冲区
|
||||
int len;
|
||||
@@ -569,12 +582,38 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 将文件转成Multipart
|
||||
* MultipartFile 转 String
|
||||
*
|
||||
* @param file 文件
|
||||
* @param multipartFile 原字符串
|
||||
* @return 成功标记
|
||||
*/
|
||||
private MultipartFile getMultipartFile(File file) {
|
||||
private String MultipartFileToString(MultipartFile multipartFile) {
|
||||
InputStreamReader isr;
|
||||
BufferedReader br;
|
||||
StringBuilder txtResult = new StringBuilder();
|
||||
try {
|
||||
isr = new InputStreamReader(multipartFile.getInputStream(), StandardCharsets.UTF_8);
|
||||
br = new BufferedReader(isr);
|
||||
String lineTxt;
|
||||
while ((lineTxt = br.readLine()) != null) {
|
||||
txtResult.append(lineTxt);
|
||||
}
|
||||
isr.close();
|
||||
br.close();
|
||||
return txtResult.toString();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* File 转 MultipartFile
|
||||
*
|
||||
* @param file 原字符串
|
||||
* @return 成功标记
|
||||
*/
|
||||
public static MultipartFile getMultipartFile(File file) {
|
||||
FileItem item = new DiskFileItemFactory().createItem("file"
|
||||
, MediaType.MULTIPART_FORM_DATA_VALUE
|
||||
, true
|
||||
@@ -590,21 +629,4 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
return new CommonsMultipartFile(item);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将文件Url转成String
|
||||
*
|
||||
* @param objectUrl 文件url
|
||||
* @return 成功标记
|
||||
*/
|
||||
private String urlToString(String objectUrl) throws IOException {
|
||||
URL url = new URL(objectUrl);
|
||||
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
|
||||
StringBuffer buffer = new StringBuffer();
|
||||
String line = " ";
|
||||
while ((line = in.readLine()) != null){
|
||||
buffer.append(line);
|
||||
}
|
||||
return buffer.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -146,7 +146,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
List<PollutionLineDTO> lineInfo = new ArrayList<>();
|
||||
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
||||
|
||||
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getCode ( );
|
||||
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId ();
|
||||
|
||||
String searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0,7);
|
||||
if (StringUtils.isBlank(RequestUtil.getDeptIndex())){
|
||||
@@ -212,7 +212,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
List<PollutionSubstationDTO> list = new ArrayList<>();
|
||||
List<GeneralDeviceDTO> sub = generalDeviceInfoClient.getPracticalRunDeviceInfoAsSubstation(deptParam).getData();
|
||||
|
||||
String pollutionType = deptParam.getStatisticalType ( ).getCode ( );
|
||||
String pollutionType = deptParam.getStatisticalType ( ).getId ();
|
||||
SimpleDateFormat s = new SimpleDateFormat();
|
||||
String searchBeginTime = deptParam.getSearchBeginTime ( ).substring (0,7);
|
||||
sub.forEach(item->{
|
||||
@@ -248,7 +248,8 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
List<String> line = new ArrayList<>();
|
||||
|
||||
|
||||
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getCode ( );
|
||||
String pollutionType = harmonicPublicParam.getStatisticalType ( ).getId ();
|
||||
String code = harmonicPublicParam.getStatisticalType ( ).getCode ();
|
||||
|
||||
String searchBeginTime = harmonicPublicParam.getSearchBeginTime ( ).substring (0,7);
|
||||
PollutionParamDTO paramDTO = new PollutionParamDTO();
|
||||
@@ -266,12 +267,10 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
if (!CollectionUtils.isEmpty(line)){
|
||||
paramDTO.setLineList(line);
|
||||
list = lineFeignClient.getLineInfo(paramDTO).getData();
|
||||
|
||||
List<RMpPollutionDPO> lineData = rMpPollutionDPOMapper.selectMaxList ( line,pollutionType,searchBeginTime);
|
||||
if (!CollectionUtils.isEmpty(lineData)){
|
||||
list.stream().map(list1->lineData.stream().filter(list2-> Objects.equals(list1.getId(),list2.getLineId ())).findAny().map(m->{
|
||||
/*todo 根据 pollutionType映射lineData取哪个字段目前先取一个值测试 */
|
||||
list1.setData(m.getVDev ());
|
||||
list1.setData (m.getValue ());
|
||||
return list1;
|
||||
})).collect(Collectors.toList());
|
||||
}
|
||||
@@ -280,4 +279,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
|
||||
}
|
||||
return list.stream().sorted(Comparator.comparing(PollutionLineDTO::getData).reversed().thenComparing(PollutionLineDTO::getName)).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
|
||||
@@ -32,7 +32,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -50,16 +50,16 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl<RMpPartHarmon
|
||||
@Override
|
||||
public List<RMpPartHarmonicDetailVO> getRMpPartHarmonicDetail(RStatOrgParam param) {
|
||||
//根据部门获取监测点信息(根据部门过滤基本信息)
|
||||
PmsDeviceInfoParam pms=new PmsDeviceInfoParam();
|
||||
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
|
||||
pms.setDeptIndex(param.getId());
|
||||
pms.setStatisticalType(new SimpleDTO());
|
||||
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData();
|
||||
List<String> addIds=new ArrayList<>();
|
||||
data.stream().forEach(e-> addIds.addAll(e.getMonitorIdList()));
|
||||
List<String> addIds = new ArrayList<>();
|
||||
data.stream().forEach(e -> addIds.addAll(e.getMonitorIdList()));
|
||||
|
||||
if(CollectionUtil.isNotEmpty(addIds)){
|
||||
if (CollectionUtil.isNotEmpty(addIds)) {
|
||||
//根据监测点ids获取监测点相关详细信息(变电站id,电压id,监测点名称)
|
||||
PmsMonitorParam dto=BeanUtil.copyProperties(param,PmsMonitorParam.class);
|
||||
PmsMonitorParam dto = BeanUtil.copyProperties(param, PmsMonitorParam.class);
|
||||
dto.setMonitorIds(addIds);
|
||||
dto.setMonitorName(param.getMonitorName());
|
||||
dto.setVoltageLevels(param.getVoltageLevels());
|
||||
@@ -71,26 +71,26 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl<RMpPartHarmon
|
||||
List<DictData> devVoltageData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||
Map<String, DictData> devVoltageMap = devVoltageData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
//获取最新过滤的监测点id
|
||||
List<String> ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getId).collect(Collectors.toList());
|
||||
//筛选出数据库对应监测点
|
||||
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
baseParam.setIds(ids);
|
||||
List<RMpPartHarmonicDetailVO> rMpPartHarmonicDetail = rMpSurplusHarmonicDetailMMapper.getRMpPartHarmonicDetail(baseParam);
|
||||
if(CollectionUtil.isNotEmpty(rMpPartHarmonicDetail)){
|
||||
if (CollectionUtil.isNotEmpty(rMpPartHarmonicDetail)) {
|
||||
//因为只有月表,数据进行查询可能出现重复数据。进行分组
|
||||
Map<String, List<RMpPartHarmonicDetailVO>> detailVOMap = rMpPartHarmonicDetail.stream()
|
||||
.collect(Collectors.groupingBy(RMpPartHarmonicDetailVO::getMeasurementPointId));
|
||||
detailVOMap.forEach((Key,value)->{
|
||||
if(pmsMonitorDTOMap.containsKey(Key)){
|
||||
detailVOMap.forEach((Key, value) -> {
|
||||
if (pmsMonitorDTOMap.containsKey(Key)) {
|
||||
PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key);
|
||||
for (RMpPartHarmonicDetailVO rmp : value) {
|
||||
rmp.setOrgName(dto1.getOrgName());
|
||||
rmp.setPowerrName(dto1.getPowerrName());
|
||||
rmp.setMeasurementPointName(dto1.getName());
|
||||
//获取字典电压等级名称
|
||||
if(devVoltageMap.containsKey(dto1.getVoltageLevel())){
|
||||
if (devVoltageMap.containsKey(dto1.getVoltageLevel())) {
|
||||
DictData data1 = devVoltageMap.get(dto1.getVoltageLevel());
|
||||
rmp.setMonitorVoltageName(data1.getName());
|
||||
}
|
||||
@@ -98,7 +98,7 @@ public class RMpPartHarmonicDetailMServiceImpl extends ServiceImpl<RMpPartHarmon
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
return rMpPartHarmonicDetail;
|
||||
}
|
||||
return null;
|
||||
|
||||
@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -54,18 +54,18 @@ public class RMpPassRateServiceImpl extends ServiceImpl<RMpPassRateQMapper, RMpP
|
||||
@Override
|
||||
public List<RStatOrgIndexVO> getRMpPassRateInfo(RStatOrgParam param) {
|
||||
//初始化对象
|
||||
List<RStatOrgIndexVO> temp=new ArrayList<>();
|
||||
List<RStatOrgIndexVO> temp = new ArrayList<>();
|
||||
//根据部门获取监测点信息
|
||||
PmsDeviceInfoParam pms=new PmsDeviceInfoParam();
|
||||
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
|
||||
pms.setDeptIndex(param.getId());
|
||||
pms.setStatisticalType(new SimpleDTO());
|
||||
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData();
|
||||
List<String> addIds=new ArrayList<>();
|
||||
data.stream().forEach(e-> addIds.addAll(e.getMonitorIdList()));
|
||||
List<String> addIds = new ArrayList<>();
|
||||
data.stream().forEach(e -> addIds.addAll(e.getMonitorIdList()));
|
||||
|
||||
if(CollectionUtil.isNotEmpty(addIds)){
|
||||
if (CollectionUtil.isNotEmpty(addIds)) {
|
||||
//根据监测点ids获取监测点相关详细信息(变电站id,电压id,监测点名称)
|
||||
PmsMonitorParam dto=BeanUtil.copyProperties(param,PmsMonitorParam.class);
|
||||
PmsMonitorParam dto = BeanUtil.copyProperties(param, PmsMonitorParam.class);
|
||||
dto.setMonitorIds(addIds);
|
||||
dto.setMonitorName(param.getMonitorName());
|
||||
dto.setVoltageLevels(param.getVoltageLevels());
|
||||
@@ -77,11 +77,11 @@ public class RMpPassRateServiceImpl extends ServiceImpl<RMpPassRateQMapper, RMpP
|
||||
List<DictData> devVoltageData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.DEV_VOLTAGE.getCode()).getData();
|
||||
Map<String, DictData> devVoltageMap = devVoltageData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//获取最新过滤的监测点id
|
||||
List<String> ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getId).collect(Collectors.toList());
|
||||
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
baseParam.setIds(ids);
|
||||
|
||||
if (CollectionUtil.isNotEmpty(addIds)) {
|
||||
@@ -104,11 +104,11 @@ public class RMpPassRateServiceImpl extends ServiceImpl<RMpPassRateQMapper, RMpP
|
||||
|
||||
}
|
||||
}
|
||||
if(CollectionUtil.isNotEmpty(temp)){
|
||||
if (CollectionUtil.isNotEmpty(temp)) {
|
||||
Map<String, RStatOrgIndexVO> collect = temp.stream()
|
||||
.collect(Collectors.toMap(RStatOrgIndexVO::getMeasurementPointId, Function.identity()));
|
||||
collect.forEach((Key,value)->{
|
||||
if(pmsMonitorDTOMap.containsKey(Key)){
|
||||
collect.forEach((Key, value) -> {
|
||||
if (pmsMonitorDTOMap.containsKey(Key)) {
|
||||
//根据监测点信息,进行属性赋值
|
||||
PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key);
|
||||
value.setOrgNo(dto1.getOrgId());
|
||||
@@ -116,7 +116,7 @@ public class RMpPassRateServiceImpl extends ServiceImpl<RMpPassRateQMapper, RMpP
|
||||
value.setMeasurementPointName(dto1.getName());
|
||||
value.setPowerrName(dto1.getPowerrName());
|
||||
//获取电压字典的名称
|
||||
if(devVoltageMap.containsKey(dto1.getVoltageLevel())){
|
||||
if (devVoltageMap.containsKey(dto1.getVoltageLevel())) {
|
||||
DictData data1 = devVoltageMap.get(dto1.getVoltageLevel());
|
||||
value.setMonitorVoltageName(data1.getName());
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import com.njcn.harmonic.pojo.param.RStatHarmonicMParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicD;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicM;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicVoltageM;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicY;
|
||||
import com.njcn.harmonic.pojo.vo.RArrayVO;
|
||||
import com.njcn.harmonic.pojo.vo.RHarmonicPolylineVO;
|
||||
import com.njcn.harmonic.pojo.vo.RIconVO;
|
||||
@@ -99,7 +100,7 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
|
||||
r.setColumns(rm);
|
||||
arrayVOList.add(r);
|
||||
}
|
||||
//根据检测点对象分组
|
||||
//根据稳态指标分组
|
||||
Map<String, List<RStatHarmonicM>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicM::getHarmonicType));
|
||||
//重新生成数据结构
|
||||
MeasurementTypeClassMap.forEach((key, value) -> {
|
||||
@@ -141,7 +142,7 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RIconVO> getRStatHarmonicIcon(RStatHarmonicMParam param) {
|
||||
public List<RIconVO> getRStatHarmonicIconVoltage(RStatHarmonicMParam param) {
|
||||
//干扰数据类型(监测对象)
|
||||
DictData measurementDate =null;
|
||||
//指标对象类型属性
|
||||
@@ -216,12 +217,12 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public List<RHarmonicPolylineVO> getRStatHarmonicIcon2(RStatHarmonicMParam param) {
|
||||
public List<RHarmonicPolylineVO> getRStatHarmonicIconDate(RStatHarmonicMParam param) {
|
||||
//初始化对象
|
||||
List<RHarmonicPolylineVO> iconList=new ArrayList<>();
|
||||
DictData measurementDate =null;
|
||||
DictData measurementDate;
|
||||
//指标对象类型属性
|
||||
DictData harmonicDate =null;
|
||||
DictData harmonicDate;
|
||||
//判断是是否传入检测点信息值(电压)
|
||||
if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){
|
||||
//干扰数据类型(监测对象)
|
||||
@@ -294,6 +295,177 @@ public class RStatHarmonicMServiceImpl extends ServiceImpl<RStatHarmonicMMapper,
|
||||
return iconList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RArrayVO> getPwRStatHarmonicMAll(StatisticsBizBaseParam param) {
|
||||
//对象主节点 获取所有的稳态类型
|
||||
List<DictData> eventData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
Map<String, DictData> eventMap = eventData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//子节点获取监测点类别
|
||||
List<DictData> lineData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||
Map<String, DictData> lineMap = lineData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//获取配网id信息
|
||||
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList=new ArrayList<>();
|
||||
//数据库查询
|
||||
List<RStatHarmonicM> list = rStatHarmonicMMapper.selectList(new LambdaQueryWrapper<RStatHarmonicM>()
|
||||
.eq(RStatHarmonicM::getDataType,distributionData.getId())
|
||||
.ge(param.getStartTime()!=null, RStatHarmonicM::getDataDate, param.getStartTime())
|
||||
.le(param.getEndTime() != null, RStatHarmonicM::getDataDate, param.getEndTime()));
|
||||
//根据稳态指标分组
|
||||
Map<String, List<RStatHarmonicM>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicM::getHarmonicType));
|
||||
//重新生成数据结构
|
||||
measurementMap.forEach((key, value) -> {
|
||||
List<RStatHarmonicMVO> eventVO=new ArrayList<>();
|
||||
if(eventMap.containsKey(key)){
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
DictData data = eventMap.get(key);
|
||||
arrayVO.setRowName(data.getName());
|
||||
arrayVO.setSort(data.getSort());
|
||||
for (RStatHarmonicM statHarmonic : value) {
|
||||
RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class);
|
||||
DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass());
|
||||
r.setHarmonicName(data1.getName());
|
||||
r.setSort(data1.getSort());
|
||||
DecimalFormat df = new DecimalFormat("###.00");
|
||||
Float averageOverDay = Float.parseFloat(
|
||||
df.format(r.getOverDay()/(r.getOverLimitMeasurementAccrued()*1.0)));
|
||||
r.setAverageOverDay(averageOverDay);
|
||||
eventVO.add(r);
|
||||
}
|
||||
//根据监测点类别获取差集
|
||||
Map<String, List<RStatHarmonicM>> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicM::getMeasurementTypeClass));
|
||||
List<DictData> differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
this.assignDict(differenceList, eventVO, arrayVO);
|
||||
arrayVO.setColumns(eventVO);
|
||||
eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
});
|
||||
//处理主节点不存在的集合
|
||||
List<DictData> notMeasurementList = eventData.stream().filter(r -> !measurementMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
for (DictData notData : notMeasurementList) {
|
||||
List<RStatHarmonicMVO> statharmonicVO=new ArrayList<>();
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
arrayVO.setRowName(notData.getName());
|
||||
arrayVO.setSort(notData.getSort());
|
||||
this.assignDict(lineData, statharmonicVO, arrayVO);
|
||||
statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
|
||||
return arrayVOList;
|
||||
}
|
||||
|
||||
@SneakyThrows
|
||||
@Override
|
||||
public List<RHarmonicPolylineVO> getPwRStatHarmonicIconDate(RStatHarmonicMParam param) {
|
||||
//初始化对象
|
||||
List<RHarmonicPolylineVO> iconList=new ArrayList<>();
|
||||
DictData measurementDate;
|
||||
//指标对象类型属性
|
||||
DictData harmonicDate;
|
||||
//判断是是否传入检测点信息值(电压)
|
||||
if(StrUtil.isBlank(param.getStasisID())&&StrUtil.isBlank(param.getMonitorID())){
|
||||
//干扰数据类型(监测对象)
|
||||
List<DictData> interferenceSourceTypeData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||
interferenceSourceTypeData.sort(Comparator.comparing(data -> data.getSort()));
|
||||
measurementDate =interferenceSourceTypeData.get(0);
|
||||
//指标对象类型
|
||||
List<DictData> indicatorTypeDate = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
indicatorTypeDate.sort(Comparator.comparing(data -> data.getSort()));
|
||||
harmonicDate =indicatorTypeDate.get(0);
|
||||
}else{
|
||||
//获取检测点对象(电压)
|
||||
measurementDate = dicDataFeignClient.getDicDataById(
|
||||
param.getMonitorID()).getData();
|
||||
//获取指标对象(频率偏差)
|
||||
harmonicDate= dicDataFeignClient.getDicDataById(
|
||||
param.getStasisID()).getData();
|
||||
}
|
||||
//反防止参数查询数据报错
|
||||
Assert.isTrue(
|
||||
ObjectUtil.isNotNull(measurementDate)||ObjectUtil.isNotNull(harmonicDate)
|
||||
, "监测点类别或者指标类型为空,请检查入参是否准确");
|
||||
//获取配网信息
|
||||
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
|
||||
List<RStatHarmonicD> rStatHarmonicVoltageMS = rStatHarmonicDMapper.selectList(new LambdaQueryWrapper<RStatHarmonicD>()
|
||||
.eq(RStatHarmonicD::getDataType,distributionData.getId())
|
||||
.eq(RStatHarmonicD::getMeasurementTypeClass, measurementDate.getId())
|
||||
.eq(RStatHarmonicD::getHarmonicType, harmonicDate.getId())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicD::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicD::getDataDate, param.getEndTime())
|
||||
);
|
||||
Map<LocalDate, List<RStatHarmonicD>> collect =
|
||||
rStatHarmonicVoltageMS.stream().collect(Collectors.groupingBy(RStatHarmonicD::getDataDate));
|
||||
|
||||
//获取月份
|
||||
List<String> intervalTime = this.getIntervalTime(param.getStartTime(), param.getEndTime());
|
||||
for (String interTime : intervalTime) {
|
||||
//生成初始时间
|
||||
String startTime = PublicDateUtil.getFisrtDayOfMonth(Integer.parseInt(interTime.substring(0, 4)), Integer.parseInt(interTime.substring(5)));
|
||||
String endTime = PublicDateUtil.getLastDayOfMonth(Integer.parseInt(interTime.substring(0, 4)), Integer.parseInt(interTime.substring(5)));
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Date dt = simpleDateFormat.parse(startTime);
|
||||
Date dtDate = simpleDateFormat.parse(endTime);
|
||||
Integer year = Integer.valueOf(String.format("%tY", dt));
|
||||
Integer mon = Integer.valueOf(String.format("%tm", dt));
|
||||
Integer day = Integer.valueOf(String.format("%td", dtDate));
|
||||
//生成月份数据
|
||||
List<String> dayTime = this.getIntervalDateTime(year, mon,day);
|
||||
for (String s : dayTime) {
|
||||
RHarmonicPolylineVO rPolylineVO=new RHarmonicPolylineVO();
|
||||
rPolylineVO.setDate(s);
|
||||
if(collect.containsKey(LocalDateTimeUtil.parseDate(s,"yyyy-MM-dd"))){
|
||||
List<RStatHarmonicD> rSd = collect.get(LocalDateTimeUtil.parseDate(s, "yyyy-MM-dd"));
|
||||
rPolylineVO.setNum(rSd.get(0).getOverLimitMeasurement());
|
||||
rPolylineVO.setOverLimitMeasurementRatioAverage(rSd.get(0).getOverLimitMeasurementRatio());
|
||||
rPolylineVO.setAverageOverDay(1);
|
||||
}else{
|
||||
rPolylineVO.setNum(0);
|
||||
rPolylineVO.setAverageOverDay(0);
|
||||
rPolylineVO.setOverLimitMeasurementRatioAverage(0.0f);
|
||||
}
|
||||
iconList.add(rPolylineVO);
|
||||
}
|
||||
|
||||
}
|
||||
return iconList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 便利赋值
|
||||
* @param DictDataList 稳态指标类型集合
|
||||
* @param statharmonicVO 暂态监测点
|
||||
* @param arrayVO 初始化对象
|
||||
*/
|
||||
private void assignDict(List<DictData> DictDataList, List<RStatHarmonicMVO> statharmonicVO, RArrayVO arrayVO) {
|
||||
for (DictData dictData : DictDataList) {
|
||||
RStatHarmonicMVO notStatHarmonicVO=new RStatHarmonicMVO();
|
||||
notStatHarmonicVO.setHarmonicName(dictData.getName());
|
||||
notStatHarmonicVO.setSort(dictData.getSort());
|
||||
notStatHarmonicVO.setOverLimitMeasurementAverage(0);
|
||||
notStatHarmonicVO.setOverLimitMeasurementAccrued(0);
|
||||
notStatHarmonicVO.setOverDay(0);
|
||||
notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
notStatHarmonicVO.setAverageOverDay(0.0F);
|
||||
statharmonicVO.add(notStatHarmonicVO);
|
||||
}
|
||||
arrayVO.setColumns(statharmonicVO);
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用户选择的时间区间返回月份日期
|
||||
*/
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.harmonic.mapper.RStatHarmonicQMapper;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicQ;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicY;
|
||||
import com.njcn.harmonic.pojo.vo.RArrayVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatHarmonicMVO;
|
||||
import com.njcn.harmonic.service.RStatHarmonicQService;
|
||||
@@ -80,7 +81,7 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl<RStatHarmonicQMapper,
|
||||
r.setColumns(rm);
|
||||
arrayVOList.add(r);
|
||||
}
|
||||
//根据检测点对象分组
|
||||
//根据稳态指标分组
|
||||
Map<String, List<RStatHarmonicQ>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getHarmonicType));
|
||||
//重新生成数据结构
|
||||
MeasurementTypeClassMap.forEach((key, value) -> {
|
||||
@@ -119,4 +120,92 @@ public class RStatHarmonicQServiceImpl extends ServiceImpl<RStatHarmonicQMapper,
|
||||
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
|
||||
return aa;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RArrayVO> getPwRStatHarmonicQAll(StatisticsBizBaseParam param) {
|
||||
//对象主节点 获取所有的稳态类型
|
||||
List<DictData> eventData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
Map<String, DictData> eventMap = eventData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//子节点获取监测点类别
|
||||
List<DictData> lineData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||
Map<String, DictData> lineMap = lineData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//获取配网id信息
|
||||
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList=new ArrayList<>();
|
||||
//数据库查询
|
||||
List<RStatHarmonicQ> list = rStatHarmonicQMapper.selectList(new LambdaQueryWrapper<RStatHarmonicQ>()
|
||||
.eq(RStatHarmonicQ::getDataType,distributionData.getId())
|
||||
.ge(param.getStartTime()!=null, RStatHarmonicQ::getDataDate, param.getStartTime())
|
||||
.le(param.getEndTime() != null, RStatHarmonicQ::getDataDate, param.getEndTime()));
|
||||
//根据稳态指标分组
|
||||
Map<String, List<RStatHarmonicQ>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getHarmonicType));
|
||||
//重新生成数据结构
|
||||
measurementMap.forEach((key, value) -> {
|
||||
List<RStatHarmonicMVO> eventVO=new ArrayList<>();
|
||||
if(eventMap.containsKey(key)){
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
DictData data = eventMap.get(key);
|
||||
arrayVO.setRowName(data.getName());
|
||||
arrayVO.setSort(data.getSort());
|
||||
for (RStatHarmonicQ statHarmonic : value) {
|
||||
RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class);
|
||||
DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass());
|
||||
r.setHarmonicName(data1.getName());
|
||||
r.setSort(data1.getSort());
|
||||
eventVO.add(r);
|
||||
}
|
||||
//根据监测点类别获取差集
|
||||
Map<String, List<RStatHarmonicQ>> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicQ::getMeasurementTypeClass));
|
||||
List<DictData> differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
this.assignDict(differenceList, eventVO, arrayVO);
|
||||
arrayVO.setColumns(eventVO);
|
||||
eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
});
|
||||
//处理主节点不存在的集合
|
||||
List<DictData> notMeasurementList = eventData.stream().filter(r -> !measurementMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
for (DictData notData : notMeasurementList) {
|
||||
List<RStatHarmonicMVO> statharmonicVO=new ArrayList<>();
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
arrayVO.setRowName(notData.getName());
|
||||
arrayVO.setSort(notData.getSort());
|
||||
this.assignDict(lineData, statharmonicVO, arrayVO);
|
||||
statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
|
||||
return arrayVOList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 便利赋值
|
||||
* @param DictDataList 稳态指标类型集合
|
||||
* @param statharmonicVO 暂态监测点
|
||||
* @param arrayVO 初始化对象
|
||||
*/
|
||||
private void assignDict(List<DictData> DictDataList, List<RStatHarmonicMVO> statharmonicVO, RArrayVO arrayVO) {
|
||||
for (DictData dictData : DictDataList) {
|
||||
RStatHarmonicMVO notStatHarmonicVO=new RStatHarmonicMVO();
|
||||
notStatHarmonicVO.setHarmonicName(dictData.getName());
|
||||
notStatHarmonicVO.setSort(dictData.getSort());
|
||||
notStatHarmonicVO.setOverLimitMeasurementAverage(0);
|
||||
notStatHarmonicVO.setOverLimitMeasurementAccrued(0);
|
||||
notStatHarmonicVO.setOverDay(0);
|
||||
notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
notStatHarmonicVO.setAverageOverDay(0.0F);
|
||||
statharmonicVO.add(notStatHarmonicVO);
|
||||
}
|
||||
arrayVO.setColumns(statharmonicVO);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -53,13 +53,15 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
|
||||
|
||||
//数据库查询
|
||||
List<RStatHarmonicY> list = rStatHarmonicYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicY>()
|
||||
.eq(RStatHarmonicY::getDataType,mainnetData.getId())
|
||||
.eq(RStatHarmonicY::getDataType, mainnetData.getId())
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatHarmonicY::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatHarmonicY::getDataDate, param.getEndTime()));
|
||||
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList=new ArrayList<>();
|
||||
List<RStatHarmonicMVO> rm=new ArrayList<>();
|
||||
List<RArrayVO> arrayVOList = new ArrayList<>();
|
||||
|
||||
|
||||
List<RStatHarmonicMVO> rm = new ArrayList<>();
|
||||
for (DictData lineTypeDatum : interferenceSourceTypeData) {
|
||||
RStatHarmonicMVO r = new RStatHarmonicMVO();
|
||||
r.setHarmonicName(lineTypeDatum.getName());
|
||||
@@ -79,16 +81,16 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
|
||||
r.setSort(lineTypeDatum.getSort());
|
||||
arrayVOList.add(r);
|
||||
}
|
||||
//根据检测点对象分组
|
||||
//根据稳态指标分组
|
||||
Map<String, List<RStatHarmonicY>> MeasurementTypeClassMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType));
|
||||
//重新生成数据结构
|
||||
MeasurementTypeClassMap.forEach((key, value) -> {
|
||||
if(lineTypeMap.containsKey(key)){
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
if (lineTypeMap.containsKey(key)) {
|
||||
RArrayVO arrayVO = new RArrayVO();
|
||||
DictData data = lineTypeMap.get(key);
|
||||
arrayVO.setRowName(data.getName());
|
||||
arrayVO.setSort(data.getSort());
|
||||
List<RStatHarmonicMVO> b=new ArrayList<>();
|
||||
List<RStatHarmonicMVO> b = new ArrayList<>();
|
||||
b.addAll(rm);
|
||||
for (RStatHarmonicY rStatHarmonicY : value) {
|
||||
RStatHarmonicMVO r = BeanUtil.copyProperties(rStatHarmonicY, RStatHarmonicMVO.class);
|
||||
@@ -98,23 +100,112 @@ public class RStatHarmonicYServiceImpl extends ServiceImpl<RStatHarmonicYMapper,
|
||||
r.setOverDay(0);
|
||||
b.add(r);
|
||||
}
|
||||
Map<String,RStatHarmonicMVO> linkedHashMap=new LinkedHashMap<>();
|
||||
Map<String, RStatHarmonicMVO> linkedHashMap = new LinkedHashMap<>();
|
||||
for (RStatHarmonicMVO harmonicMVO : b) {
|
||||
linkedHashMap.put(harmonicMVO.getHarmonicName(),harmonicMVO);
|
||||
linkedHashMap.put(harmonicMVO.getHarmonicName(), harmonicMVO);
|
||||
}
|
||||
List<RStatHarmonicMVO> aa=new ArrayList<>(linkedHashMap.values());
|
||||
List<RStatHarmonicMVO> aa = new ArrayList<>(linkedHashMap.values());
|
||||
aa.sort(Comparator.comparing(rStatHarmonicMVO -> rStatHarmonicMVO.getSort()));
|
||||
arrayVO.setColumns(aa);
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
|
||||
});
|
||||
Map<String,RArrayVO> linkedHashMap=new LinkedHashMap<>();
|
||||
Map<String, RArrayVO> linkedHashMap = new LinkedHashMap<>();
|
||||
for (RArrayVO rStatHarmonicMVO : arrayVOList) {
|
||||
linkedHashMap.put(rStatHarmonicMVO.getRowName(),rStatHarmonicMVO);
|
||||
linkedHashMap.put(rStatHarmonicMVO.getRowName(), rStatHarmonicMVO);
|
||||
}
|
||||
List<RArrayVO> aa=new ArrayList<>(linkedHashMap.values());
|
||||
List<RArrayVO> aa = new ArrayList<>(linkedHashMap.values());
|
||||
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
|
||||
return aa;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<RArrayVO> getPwRStatHarmonicYAll(StatisticsBizBaseParam param) {
|
||||
//对象主节点 获取所有的稳态类型
|
||||
List<DictData> eventData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.STEADY_STATIS.getCode()).getData();
|
||||
Map<String, DictData> eventMap = eventData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//子节点获取监测点类别
|
||||
List<DictData> lineData = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.LINE_SORT.getCode()).getData();
|
||||
Map<String, DictData> lineMap = lineData.stream()
|
||||
.collect(Collectors.toMap(DictData::getId, Function.identity()));
|
||||
|
||||
//获取配网id信息
|
||||
DictData distributionData = dicDataFeignClient.getDicDataByCode(DicDataEnum.DISTRIBUTION_POINT.getCode()).getData();
|
||||
//初始化指标类型(横向)
|
||||
List<RArrayVO> arrayVOList = new ArrayList<>();
|
||||
//数据库查询
|
||||
List<RStatHarmonicY> list = rStatHarmonicYMapper.selectList(new LambdaQueryWrapper<RStatHarmonicY>()
|
||||
.eq(RStatHarmonicY::getDataType, distributionData.getId())
|
||||
.ge(param.getStartTime() != null, RStatHarmonicY::getDataDate, param.getStartTime())
|
||||
.le(param.getEndTime() != null, RStatHarmonicY::getDataDate, param.getEndTime()));
|
||||
//根据稳态指标分组
|
||||
Map<String, List<RStatHarmonicY>> measurementMap = list.stream().collect(Collectors.groupingBy(RStatHarmonicY::getHarmonicType));
|
||||
//重新生成数据结构
|
||||
measurementMap.forEach((key, value) -> {
|
||||
List<RStatHarmonicMVO> eventVO = new ArrayList<>();
|
||||
if (eventMap.containsKey(key)) {
|
||||
RArrayVO arrayVO = new RArrayVO();
|
||||
DictData data = eventMap.get(key);
|
||||
arrayVO.setRowName(data.getName());
|
||||
arrayVO.setSort(data.getSort());
|
||||
for (RStatHarmonicY statHarmonic : value) {
|
||||
RStatHarmonicMVO r = BeanUtil.copyProperties(statHarmonic, RStatHarmonicMVO.class);
|
||||
DictData data1 = lineMap.get(statHarmonic.getMeasurementTypeClass());
|
||||
r.setHarmonicName(data1.getName());
|
||||
r.setSort(data1.getSort());
|
||||
eventVO.add(r);
|
||||
}
|
||||
//根据监测点类别获取差集
|
||||
Map<String, List<RStatHarmonicY>> listMap = value.stream().collect(Collectors.groupingBy(RStatHarmonicY::getMeasurementTypeClass));
|
||||
List<DictData> differenceList = lineData.stream().filter(r -> !listMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
this.assignDict(differenceList, eventVO, arrayVO);
|
||||
arrayVO.setColumns(eventVO);
|
||||
eventVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
});
|
||||
//处理主节点不存在的集合
|
||||
List<DictData> notMeasurementList = eventData.stream().filter(r -> !measurementMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
for (DictData notData : notMeasurementList) {
|
||||
List<RStatHarmonicMVO> statharmonicVO = new ArrayList<>();
|
||||
RArrayVO arrayVO = new RArrayVO();
|
||||
arrayVO.setRowName(notData.getName());
|
||||
arrayVO.setSort(notData.getSort());
|
||||
this.assignDict(lineData, statharmonicVO, arrayVO);
|
||||
statharmonicVO.sort(Comparator.comparing(statHarmonic -> statHarmonic.getSort()));
|
||||
arrayVOList.add(arrayVO);
|
||||
}
|
||||
arrayVOList.sort(Comparator.comparing(rArrayVO -> rArrayVO.getSort()));
|
||||
return arrayVOList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 便利赋值
|
||||
*
|
||||
* @param DictDataList 稳态指标类型集合
|
||||
* @param statharmonicVO 暂态监测点
|
||||
* @param arrayVO 初始化对象
|
||||
*/
|
||||
private void assignDict(List<DictData> DictDataList, List<RStatHarmonicMVO> statharmonicVO, RArrayVO arrayVO) {
|
||||
for (DictData dictData : DictDataList) {
|
||||
RStatHarmonicMVO notStatHarmonicVO = new RStatHarmonicMVO();
|
||||
notStatHarmonicVO.setHarmonicName(dictData.getName());
|
||||
notStatHarmonicVO.setSort(dictData.getSort());
|
||||
notStatHarmonicVO.setOverLimitMeasurementAverage(0);
|
||||
notStatHarmonicVO.setOverLimitMeasurementAccrued(0);
|
||||
notStatHarmonicVO.setOverDay(0);
|
||||
notStatHarmonicVO.setOverLimitMeasurementRatioAverage(0.0F);
|
||||
notStatHarmonicVO.setOverLimitMeasurementRatioAccrued(0.0F);
|
||||
notStatHarmonicVO.setAverageOverDay(0.0F);
|
||||
statharmonicVO.add(notStatHarmonicVO);
|
||||
}
|
||||
arrayVO.setColumns(statharmonicVO);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -52,13 +52,13 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
|
||||
//获取字典信息
|
||||
List<DictData> data1 = dicDataFeignClient.getDicDataByTypeCode(
|
||||
DicDataTypeEnum.MONITORING_LABELS.getCode()).getData();
|
||||
List<DictData> dictData = data1.stream().filter(dictdatas -> dictdatas.getLevel() == 1).collect(Collectors.toList());
|
||||
dictData.sort(Comparator.comparing(r ->r.getSort()));
|
||||
List<DictData> dictData = data1.stream().filter(dictdatas -> dictdatas.getLevel() == 1).collect(Collectors.toList());
|
||||
dictData.sort(Comparator.comparing(r -> r.getSort()));
|
||||
//初始化对象
|
||||
List<RArrayVO> info = new ArrayList<>();
|
||||
List<RStatLoadTypeVO> temp = new ArrayList<>();
|
||||
//根据部门进行筛选
|
||||
StatSubstationBizBaseParam baseParam=BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
baseParam.setIds(deptIds);
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
// 类型(1年 2季度 3月份
|
||||
@@ -91,12 +91,12 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
|
||||
Map<String, List<RStatLoadTypeVO>> map = temp
|
||||
.stream().collect(Collectors.groupingBy(RStatLoadTypeVO::getOrgNo));
|
||||
map.forEach((key, value) -> {
|
||||
RArrayVO arrayVO=new RArrayVO();
|
||||
RArrayVO arrayVO = new RArrayVO();
|
||||
arrayVO.setRowName(value.get(0).getOrgName());
|
||||
//属性赋值监测点名称
|
||||
for (DictData dictDatum : dictData) {
|
||||
for (RStatLoadTypeVO rStatLoadTypeVO : value) {
|
||||
if(dictDatum.getId().equals(rStatLoadTypeVO.getLoadType())){
|
||||
if (dictDatum.getId().equals(rStatLoadTypeVO.getLoadType())) {
|
||||
rStatLoadTypeVO.setLoadName(dictDatum.getName());
|
||||
rStatLoadTypeVO.setSort(dictDatum.getSort());
|
||||
|
||||
@@ -108,7 +108,7 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
|
||||
List<DictData> differenceList = dictData.stream().filter(r -> !listMap.containsKey(r.getId()))
|
||||
.collect(Collectors.toList());
|
||||
for (DictData data4 : differenceList) {
|
||||
RStatLoadTypeVO vo=new RStatLoadTypeVO();
|
||||
RStatLoadTypeVO vo = new RStatLoadTypeVO();
|
||||
vo.setSort(data4.getSort());
|
||||
vo.setOrgNo(key);
|
||||
vo.setOrgName(value.get(0).getOrgName());
|
||||
@@ -126,7 +126,7 @@ public class RStatLoadTypeServiceImpl extends ServiceImpl<RStatLoadTypeMMapper,
|
||||
vo.setFlickerAccrued(0.0f);
|
||||
value.add(vo);
|
||||
}
|
||||
value.sort(Comparator.comparing(r ->r.getSort()));
|
||||
value.sort(Comparator.comparing(r -> r.getSort()));
|
||||
arrayVO.setColumns(value);
|
||||
info.add(arrayVO);
|
||||
});
|
||||
|
||||
@@ -2,25 +2,18 @@ package com.njcn.harmonic.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.common.pojo.param.StatisticsBizBaseParam;
|
||||
import com.njcn.device.pms.api.PmsGeneratrixClient;
|
||||
import com.njcn.device.pms.pojo.dto.GeneratrixAndPowerStationDTO;
|
||||
import com.njcn.device.pms.pojo.param.PmsGeneratrixParam;
|
||||
import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageQMapper;
|
||||
import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageYMapper;
|
||||
import com.njcn.harmonic.pojo.param.StatSubstationBizBaseParam;
|
||||
import com.njcn.harmonic.pojo.po.RStatHarmonicOrgQ;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageM;
|
||||
import com.njcn.harmonic.mapper.RStatOrgBusbarVoltageMMapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageQ;
|
||||
import com.njcn.harmonic.pojo.po.RStatOrgBusbarVoltageY;
|
||||
import com.njcn.harmonic.pojo.vo.RStatOrgBusbarVoltageVO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatSubstationOrg2VO;
|
||||
import com.njcn.harmonic.pojo.vo.RStatSubstationOrgVO;
|
||||
import com.njcn.harmonic.service.RStatOrgBusbarVoltageService;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
import com.njcn.system.pojo.po.DictData;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.pojo.dto.DeptDTO;
|
||||
import com.njcn.web.utils.WebUtil;
|
||||
@@ -30,11 +23,12 @@ import org.springframework.stereotype.Service;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -48,53 +42,63 @@ public class RStatOrgBusbarVoltageServiceImpl extends ServiceImpl<RStatOrgBusbar
|
||||
private final RStatOrgBusbarVoltageYMapper rStatOrgBusbarVoltageYMapper;
|
||||
private final RStatOrgBusbarVoltageQMapper rStatOrgBusbarVoltageQMapper;
|
||||
private final RStatOrgBusbarVoltageMMapper rStatOrgBusbarVoltageMMapper;
|
||||
private final PmsGeneratrixClient pmsGeneratrixClient;
|
||||
|
||||
@Override
|
||||
public List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatisticsBizBaseParam param) {
|
||||
public List<RStatOrgBusbarVoltageVO> getRStatOrgBusbarVoltage(StatSubstationBizBaseParam param) {
|
||||
//获取部门信息
|
||||
List<DeptDTO> data = deptFeignClient.getDeptDescendantIndexes(param.getId(), WebUtil.filterDeptType()).getData();
|
||||
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
|
||||
Map<String, DeptDTO> deptMap = data.stream().collect(Collectors.toMap(DeptDTO::getId, Function.identity()));
|
||||
|
||||
//获取部门id集合
|
||||
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
|
||||
List<RStatOrgBusbarVoltageVO> info = new ArrayList<>();
|
||||
List<RStatOrgBusbarVoltageVO> temp = new ArrayList<>();
|
||||
if (CollectionUtil.isNotEmpty(data)) {
|
||||
// List<RStatOrgBusbarVoltageVO> temp = new ArrayList<>();
|
||||
// 类型(1年 2季度 3月份
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
baseParam.setIds(deptIds);
|
||||
// 类型(1年 2季度 3月份)
|
||||
switch (param.getType().toString()) {
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
// 获取年区域暂态指标分类统计表
|
||||
List<RStatOrgBusbarVoltageY> rStatOrgBusbarVoltageYS = rStatOrgBusbarVoltageYMapper.selectList(new LambdaQueryWrapper<RStatOrgBusbarVoltageY>()
|
||||
.in(RStatOrgBusbarVoltageY::getOrgNo, deptIds)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageY::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageY::getDataDate, param.getEndTime()));
|
||||
temp=BeanUtil.copyToList(rStatOrgBusbarVoltageYS, RStatOrgBusbarVoltageVO.class);
|
||||
// 获取年区域电站母线电压类指标超标计
|
||||
temp = rStatOrgBusbarVoltageYMapper.getYstatOrgBusbarVoltageVO(baseParam);
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
// 获取季区域暂态指标分类统计表
|
||||
List<RStatOrgBusbarVoltageQ> rStatOrgBusbarVoltageQS = rStatOrgBusbarVoltageQMapper.selectList(new LambdaQueryWrapper<RStatOrgBusbarVoltageQ>()
|
||||
.in(RStatOrgBusbarVoltageQ::getOrgNo, deptIds)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageQ::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageQ::getDataDate, param.getEndTime()));
|
||||
temp=BeanUtil.copyToList(rStatOrgBusbarVoltageQS, RStatOrgBusbarVoltageVO.class);
|
||||
// 获取季区域电站母线电压类指标超标计
|
||||
temp = rStatOrgBusbarVoltageQMapper.getQstatOrgBusbarVoltageVO(baseParam);
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
// 获取月区域暂态指标分类统计表
|
||||
List<RStatOrgBusbarVoltageM> rStatOrgBusbarVoltageMS = rStatOrgBusbarVoltageMMapper.selectList(new LambdaQueryWrapper<RStatOrgBusbarVoltageM>()
|
||||
.in(RStatOrgBusbarVoltageM::getOrgNo, deptIds)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgBusbarVoltageM::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgBusbarVoltageM::getDataDate, param.getEndTime()));
|
||||
temp=BeanUtil.copyToList(rStatOrgBusbarVoltageMS, RStatOrgBusbarVoltageVO.class);
|
||||
// 获取月区域电站母线电压类指标超标计
|
||||
temp = rStatOrgBusbarVoltageMMapper.getMstatOrgBusbarVoltageVO(baseParam);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
// Map<String, List<RStatSubstationOrgVO>> map = temp
|
||||
// .stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo));
|
||||
}
|
||||
return temp;
|
||||
if (CollectionUtil.isNotEmpty(temp)) {
|
||||
//获取母线集合
|
||||
List<String> busbarIds = temp.stream().map(RStatOrgBusbarVoltageVO::getBusbarId).collect(Collectors.toList());
|
||||
PmsGeneratrixParam generatrixParam=new PmsGeneratrixParam();
|
||||
generatrixParam.setGeneratrixIds(busbarIds);
|
||||
generatrixParam.setGeneratrixVoltageLevel(param.getIds());
|
||||
List<GeneratrixAndPowerStationDTO> generatrixDTO = pmsGeneratrixClient.getGeneratrixAndPowerStationInfo(generatrixParam).getData();
|
||||
Map<String, GeneratrixAndPowerStationDTO> generatrixMap = generatrixDTO.stream().collect(
|
||||
Collectors.toMap(GeneratrixAndPowerStationDTO::getGeneratrixId, Function.identity()));
|
||||
Map<String, RStatOrgBusbarVoltageVO> orgMap = temp.stream().collect(Collectors.toMap(RStatOrgBusbarVoltageVO::getOrgNo, Function.identity()));
|
||||
orgMap.forEach((key, value) -> {
|
||||
if (deptMap.containsKey(key)) {
|
||||
DeptDTO deptDTO = deptMap.get(key);
|
||||
value.setOrgName(deptDTO.getName());
|
||||
if(generatrixMap.containsKey(value.getBusbarId())){
|
||||
GeneratrixAndPowerStationDTO dto = generatrixMap.get(value.getBusbarId());
|
||||
value.setBusbarVoltageLevel(dto.getGeneratrixVoltageLevel());
|
||||
value.setPowerStationName(dto.getPowerName());
|
||||
info.add(value);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -51,32 +51,32 @@ public class RStatOrgMServiceImpl extends ServiceImpl<RStatOrgMMapper, RStatOrgM
|
||||
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
//数据库查询
|
||||
List<RStatOrgM> list = rStatOrgMMapper.selectList(new LambdaQueryWrapper<RStatOrgM>()
|
||||
.eq(RStatOrgM::getDataType,mainnetData.getId())
|
||||
.in(RStatOrgM::getOrgNo,deptIds)
|
||||
.eq(RStatOrgM::getDataType, mainnetData.getId())
|
||||
.in(RStatOrgM::getOrgNo, deptIds)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgM::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgM::getDataDate, param.getEndTime()));
|
||||
Map<String, List<RStatOrgM>> collect = list.stream().collect(Collectors.groupingBy(RStatOrgM::getOrgNo));
|
||||
|
||||
List<RStatOrgVO> newList=new ArrayList<>();
|
||||
List<RStatOrgVO> newList = new ArrayList<>();
|
||||
collect.forEach((key, value) -> {
|
||||
if(deptMap.containsKey(key)){
|
||||
if (deptMap.containsKey(key)) {
|
||||
for (RStatOrgM rStatOrgM : value) {
|
||||
DecimalFormat df = new DecimalFormat("###.00");
|
||||
DeptDTO deptDTO = deptMap.get(key);
|
||||
RStatOrgVO rStatOrgVO = new RStatOrgVO();
|
||||
rStatOrgVO.setOrgName(deptDTO.getName());
|
||||
Float averageOverDay = Float.parseFloat(
|
||||
df.format(rStatOrgM.getOverDayAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued()*1.0)));
|
||||
df.format(rStatOrgM.getOverDayAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued() * 1.0)));
|
||||
rStatOrgVO.setAverageOverDay(averageOverDay);
|
||||
rStatOrgVO.setEffectiveMeasurementAverage(rStatOrgM.getEffectiveMeasurementAverage());
|
||||
rStatOrgVO.setEffectiveMeasurementAccrued(rStatOrgM.getEffectiveMeasurementAccrued());
|
||||
rStatOrgVO.setOverLimitMeasurementAverage(rStatOrgM.getHarmonicMeasurementAverage());
|
||||
rStatOrgVO.setOverLimitMeasurementAccrued(rStatOrgM.getHarmonicMeasurementAccrued());
|
||||
Float harmonicMeasurementRatioAverage = Float.parseFloat(
|
||||
df.format(rStatOrgM.getHarmonicMeasurementAverage() / (rStatOrgM.getEffectiveMeasurementAverage()*1.0)));
|
||||
df.format(rStatOrgM.getHarmonicMeasurementAverage() / (rStatOrgM.getEffectiveMeasurementAverage() * 1.0)));
|
||||
rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage);
|
||||
Float harmonicMeasurementRatioAccrued = Float.parseFloat(
|
||||
df.format(rStatOrgM.getHarmonicMeasurementAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued()*1.0)));
|
||||
df.format(rStatOrgM.getHarmonicMeasurementAccrued() / (rStatOrgM.getEffectiveMeasurementAccrued() * 1.0)));
|
||||
rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued);
|
||||
newList.add(rStatOrgVO);
|
||||
}
|
||||
|
||||
@@ -52,15 +52,15 @@ public class RStatOrgQServiceImpl extends ServiceImpl<RStatOrgQMapper, RStatOrgQ
|
||||
|
||||
//数据库查询
|
||||
List<RStatOrgQ> list = rStatOrgQMapper.selectList(new LambdaQueryWrapper<RStatOrgQ>()
|
||||
.eq(RStatOrgQ::getDataType,mainnetData.getId())
|
||||
.in(RStatOrgQ::getOrgNo,deptIds)
|
||||
.eq(RStatOrgQ::getDataType, mainnetData.getId())
|
||||
.in(RStatOrgQ::getOrgNo, deptIds)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgQ::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgQ::getDataDate, param.getEndTime()));
|
||||
Map<String, List<RStatOrgQ>> collect = list.stream().collect(Collectors.groupingBy(RStatOrgQ::getOrgNo));
|
||||
|
||||
List<RStatOrgVO> newList=new ArrayList<>();
|
||||
List<RStatOrgVO> newList = new ArrayList<>();
|
||||
collect.forEach((key, value) -> {
|
||||
if(deptMap.containsKey(key)){
|
||||
if (deptMap.containsKey(key)) {
|
||||
for (RStatOrgQ rStatOrgQ : value) {
|
||||
DeptDTO deptDTO = deptMap.get(key);
|
||||
RStatOrgVO rStatOrgVO = new RStatOrgVO();
|
||||
@@ -72,10 +72,10 @@ public class RStatOrgQServiceImpl extends ServiceImpl<RStatOrgQMapper, RStatOrgQ
|
||||
rStatOrgVO.setOverLimitMeasurementAccrued(rStatOrgQ.getHarmonicMeasurementAccrued());
|
||||
DecimalFormat df = new DecimalFormat("###.00");
|
||||
Float harmonicMeasurementRatioAverage = Float.parseFloat(
|
||||
df.format(rStatOrgQ.getHarmonicMeasurementAverage() / (rStatOrgQ.getEffectiveMeasurementAverage()*1.0)));
|
||||
df.format(rStatOrgQ.getHarmonicMeasurementAverage() / (rStatOrgQ.getEffectiveMeasurementAverage() * 1.0)));
|
||||
rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage);
|
||||
Float harmonicMeasurementRatioAccrued = Float.parseFloat(
|
||||
df.format(rStatOrgQ.getHarmonicMeasurementAccrued() / (rStatOrgQ.getEffectiveMeasurementAccrued()*1.0)));
|
||||
df.format(rStatOrgQ.getHarmonicMeasurementAccrued() / (rStatOrgQ.getEffectiveMeasurementAccrued() * 1.0)));
|
||||
rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued);
|
||||
newList.add(rStatOrgVO);
|
||||
}
|
||||
|
||||
@@ -76,15 +76,15 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
|
||||
//数据库查询
|
||||
List<RStatOrgY> list = rStatOrgYMapper.selectList(new LambdaQueryWrapper<RStatOrgY>()
|
||||
.eq(RStatOrgY::getDataType,mainnetData.getId())
|
||||
.in(RStatOrgY::getOrgNo,deptIds)
|
||||
.eq(RStatOrgY::getDataType, mainnetData.getId())
|
||||
.in(RStatOrgY::getOrgNo, deptIds)
|
||||
.ge(StrUtil.isNotBlank(param.getStartTime()), RStatOrgY::getDataDate, param.getStartTime())
|
||||
.le(StrUtil.isNotBlank(param.getEndTime()), RStatOrgY::getDataDate, param.getEndTime()));
|
||||
Map<String, List<RStatOrgY>> collect = list.stream().collect(Collectors.groupingBy(RStatOrgY::getOrgNo));
|
||||
|
||||
List<RStatOrgVO> newList=new ArrayList<>();
|
||||
List<RStatOrgVO> newList = new ArrayList<>();
|
||||
collect.forEach((key, value) -> {
|
||||
if(deptMap.containsKey(key)){
|
||||
if (deptMap.containsKey(key)) {
|
||||
for (RStatOrgY rStatOrgY : value) {
|
||||
DeptDTO deptDTO = deptMap.get(key);
|
||||
RStatOrgVO rStatOrgVO = new RStatOrgVO();
|
||||
@@ -96,10 +96,10 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
rStatOrgVO.setOverLimitMeasurementAccrued(rStatOrgY.getOverLimitMeasurementAccrued());
|
||||
DecimalFormat df = new DecimalFormat("###.00");
|
||||
Float harmonicMeasurementRatioAverage = Float.parseFloat(
|
||||
df.format(rStatOrgY.getOverLimitMeasurementAverage() / (rStatOrgY.getEffectiveMeasurementAverage()*1.0)));
|
||||
df.format(rStatOrgY.getOverLimitMeasurementAverage() / (rStatOrgY.getEffectiveMeasurementAverage() * 1.0)));
|
||||
rStatOrgVO.setHarmonicMeasurementRatioAverage(harmonicMeasurementRatioAverage);
|
||||
Float harmonicMeasurementRatioAccrued = Float.parseFloat(
|
||||
df.format(rStatOrgY.getOverLimitMeasurementAccrued() / (rStatOrgY.getEffectiveMeasurementAccrued()*1.0)));
|
||||
df.format(rStatOrgY.getOverLimitMeasurementAccrued() / (rStatOrgY.getEffectiveMeasurementAccrued() * 1.0)));
|
||||
rStatOrgVO.setHarmonicMeasurementRatioAccrued(harmonicMeasurementRatioAccrued);
|
||||
newList.add(rStatOrgVO);
|
||||
}
|
||||
@@ -120,7 +120,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
List<RStatSubstationOrgVO> temp = new ArrayList<>();
|
||||
// 过滤出部门id
|
||||
List<String> deptIds = data.stream().map(DeptDTO::getId).collect(Collectors.toList());
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
baseParam.setIds(deptIds);
|
||||
//获取主网id信息
|
||||
DictData mainnetData = dicDataFeignClient.getDicDataByCode(DicDataEnum.MAINNET_POINT.getCode()).getData();
|
||||
@@ -129,15 +129,15 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
switch (param.getType().toString()) {
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
// 获取年区域暂态指标分类统计表
|
||||
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam,mainnetData.getId());
|
||||
temp = rStatOrgYMapper.getYearRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
// 获取季区域暂态指标分类统计表
|
||||
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam,mainnetData.getId());
|
||||
temp = rStatOrgQMapper.getQuarterRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
// 获取月区域暂态指标分类统计表
|
||||
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam,mainnetData.getId());
|
||||
temp = rStatOrgMMapper.getMonthRStatHarmonicOrgInfo(baseParam, mainnetData.getId());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
@@ -145,7 +145,7 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
Map<String, List<RStatSubstationOrgVO>> map = temp
|
||||
.stream().collect(Collectors.groupingBy(RStatSubstationOrgVO::getOrgNo));
|
||||
map.forEach((key, value) -> {
|
||||
RStatSubstationOrg2VO vo=new RStatSubstationOrg2VO();
|
||||
RStatSubstationOrg2VO vo = new RStatSubstationOrg2VO();
|
||||
vo.setOrgNo(value.get(0).getOrgNo());
|
||||
vo.setOrgName(value.get(0).getOrgName());
|
||||
vo.setDataDate(value.get(0).getDataDate());
|
||||
@@ -279,18 +279,18 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
|
||||
@Override
|
||||
public List<RSubstationIcon2VO.RSubstationInfoVO> getRStatSubstation(StatSubstationBizBaseParam param) {
|
||||
PmsDeviceInfoParam pms=new PmsDeviceInfoParam();
|
||||
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
|
||||
pms.setDeptIndex(param.getId());
|
||||
pms.setStatisticalType(new SimpleDTO());
|
||||
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData();
|
||||
//生成变电站id集合
|
||||
List<String> pAddIds=new ArrayList<>();
|
||||
data.stream().forEach(e-> pAddIds.addAll(e.getPowerrIdList()));
|
||||
List<String> pAddIds = new ArrayList<>();
|
||||
data.stream().forEach(e -> pAddIds.addAll(e.getPowerrIdList()));
|
||||
List<RSubstationIcon2VO> rSubstationIconVO = new ArrayList<>();
|
||||
//根据监测点id获取变电站信息
|
||||
PmsMonitorParam dto=new PmsMonitorParam();
|
||||
List<String> mAddIds=new ArrayList<>();
|
||||
data.stream().forEach(e-> mAddIds.addAll(e.getMonitorIdList()));
|
||||
PmsMonitorParam dto = new PmsMonitorParam();
|
||||
List<String> mAddIds = new ArrayList<>();
|
||||
data.stream().forEach(e -> mAddIds.addAll(e.getMonitorIdList()));
|
||||
dto.setMonitorIds(mAddIds);
|
||||
dto.setPowerrIds(param.getIds());
|
||||
//根据变电站分组
|
||||
@@ -298,17 +298,17 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
Map<String, PmsMonitorDTO> pmsMonitorDTOMap = pmsMonitorDTOS.stream()
|
||||
.collect(Collectors.toMap(PmsMonitorDTO::getPowerrId, Function.identity()));
|
||||
|
||||
if(CollUtil.isNotEmpty(pmsMonitorDTOS)){
|
||||
if (CollUtil.isNotEmpty(pmsMonitorDTOS)) {
|
||||
//获取最新过滤的变电站id
|
||||
List<String> ids = pmsMonitorDTOS.stream().map(PmsMonitorDTO::getPowerrId).collect(Collectors.toList());
|
||||
//根据id进行筛选
|
||||
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
baseParam.setIds(ids);
|
||||
String string = param.getType().toString();
|
||||
switch (string) {
|
||||
//查询变电站稳态指标平均超标天数-年数据
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
rSubstationIconVO =rStatSubstationYMapper.getStatSubstationIcon2Y(baseParam);
|
||||
rSubstationIconVO = rStatSubstationYMapper.getStatSubstationIcon2Y(baseParam);
|
||||
break;
|
||||
//查询变电站稳态指标平均超标天数-季数据
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
@@ -322,20 +322,18 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
break;
|
||||
}
|
||||
List<RSubstationIcon2VO.RSubstationInfoVO> rSubstationInfoVOS = BeanUtil.copyToList(rSubstationIconVO, RSubstationIcon2VO.RSubstationInfoVO.class);
|
||||
if(CollectionUtil.isNotEmpty(rSubstationInfoVOS)){
|
||||
if (CollectionUtil.isNotEmpty(rSubstationInfoVOS)) {
|
||||
Map<String, RSubstationIcon2VO.RSubstationInfoVO> detailVOMap = rSubstationInfoVOS.stream()
|
||||
.collect(Collectors.toMap(RSubstationIcon2VO.RSubstationInfoVO::getSubstationId,Function.identity()));
|
||||
detailVOMap.forEach((Key,value)->{
|
||||
if(pmsMonitorDTOMap.containsKey(Key)){
|
||||
.collect(Collectors.toMap(RSubstationIcon2VO.RSubstationInfoVO::getSubstationId, Function.identity()));
|
||||
detailVOMap.forEach((Key, value) -> {
|
||||
if (pmsMonitorDTOMap.containsKey(Key)) {
|
||||
PmsMonitorDTO dto1 = pmsMonitorDTOMap.get(Key);
|
||||
value.setCityName(dto1.getOrgName());
|
||||
value.setSubstationName(dto1.getPowerrName());
|
||||
//获取省级公司
|
||||
// value.setProvinceName(deptFeignClient.getAreaIdByDeptId());
|
||||
}
|
||||
});
|
||||
}
|
||||
return rSubstationInfoVOS;
|
||||
return rSubstationInfoVOS;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -357,15 +355,15 @@ public class RStatOrgYServiceImpl extends ServiceImpl<RStatOrgYMapper, RStatOrgY
|
||||
switch (param.getType().toString()) {
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
// 获取年区域稳态指标合格率统计表
|
||||
info = rStatOrgYMapper.getYearRStatOrgIndex(baseParam,mainnetData.getId());
|
||||
info = rStatOrgYMapper.getYearRStatOrgIndex(baseParam, mainnetData.getId());
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
// 获取季区域稳态指标合格率统计表
|
||||
info = rStatOrgQMapper.getQuarterRStatOrgIndex(baseParam,mainnetData.getId());
|
||||
info = rStatOrgQMapper.getQuarterRStatOrgIndex(baseParam, mainnetData.getId());
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
// 获取月区域稳态指标合格率统计表
|
||||
info = rStatOrgMMapper.getMonthRStatOrgIndex(baseParam,mainnetData.getId());
|
||||
info = rStatOrgMMapper.getMonthRStatOrgIndex(baseParam, mainnetData.getId());
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
@@ -30,7 +30,7 @@ import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author rui.wu
|
||||
@@ -49,7 +49,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
|
||||
@Override
|
||||
public RSubstationIconVO getStatSubstationIcon(StatisticsBizBaseParam param) {
|
||||
RSubstationIconVO rSubstationIconVO = new RSubstationIconVO();
|
||||
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
//根据部门获取变电站信息
|
||||
// baseParam.setIds(this.powerrIdList(param.getId()));
|
||||
String string = param.getType().toString();
|
||||
@@ -76,7 +76,7 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
|
||||
public List<RSubstationIcon2VO> getStatSubstationIcon2(StatisticsBizBaseParam param) {
|
||||
//生成变电站id集合
|
||||
List<RSubstationIcon2VO> rSubstationIconVO = new ArrayList<>();
|
||||
StatSubstationBizBaseParam baseParam= BeanUtil.copyProperties(param,StatSubstationBizBaseParam.class);
|
||||
StatSubstationBizBaseParam baseParam = BeanUtil.copyProperties(param, StatSubstationBizBaseParam.class);
|
||||
//根据id进行筛选
|
||||
// baseParam.setIds(this.powerrIdList(param.getId()));
|
||||
String string = param.getType().toString();
|
||||
@@ -98,13 +98,13 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
|
||||
}
|
||||
|
||||
//获取变电站名称属性替换
|
||||
if(CollUtil.isNotEmpty(rSubstationIconVO)){
|
||||
if (CollUtil.isNotEmpty(rSubstationIconVO)) {
|
||||
List<String> ids = rSubstationIconVO.stream().map(RSubstationIcon2VO::getSubstationId).collect(Collectors.toList());
|
||||
if(CollUtil.isNotEmpty(ids)){
|
||||
PmsStatationStatInfoParam pmsParam=new PmsStatationStatInfoParam();
|
||||
if (CollUtil.isNotEmpty(ids)) {
|
||||
PmsStatationStatInfoParam pmsParam = new PmsStatationStatInfoParam();
|
||||
pmsParam.setPowerIds(ids);
|
||||
List<PmsStatationStatInfoDTO> data1 = statationStatClient.getStatationStatInfo(pmsParam).getData();
|
||||
if (CollUtil.isNotEmpty(data1)){
|
||||
if (CollUtil.isNotEmpty(data1)) {
|
||||
for (PmsStatationStatInfoDTO dto : data1) {
|
||||
for (RSubstationIcon2VO vo : rSubstationIconVO) {
|
||||
if (dto.getPowerId().equals(vo.getSubstationId())) {
|
||||
@@ -118,14 +118,14 @@ public class RStatSubstationMServiceImpl extends ServiceImpl<RStatSubstationMMap
|
||||
return rSubstationIconVO;
|
||||
}
|
||||
|
||||
private List<String> powerrIdList(String id){
|
||||
private List<String> powerrIdList(String id) {
|
||||
//获取部门下面监测点信息
|
||||
PmsDeviceInfoParam pms=new PmsDeviceInfoParam();
|
||||
PmsDeviceInfoParam pms = new PmsDeviceInfoParam();
|
||||
pms.setDeptIndex(id);
|
||||
pms.setStatisticalType(new SimpleDTO());
|
||||
List<PmsGeneralDeviceDTO> data = pmsGeneralDeviceInfoClient.getPmsDeviceInfoWithInOrg(pms).getData();
|
||||
List<String> addids=new ArrayList<>();
|
||||
data.stream().forEach(e-> addids.addAll(e.getPowerrIdList()));
|
||||
List<String> addids = new ArrayList<>();
|
||||
data.stream().forEach(e -> addids.addAll(e.getPowerrIdList()));
|
||||
return addids;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ public class THDistortionServiceImpl implements THDistortionService {
|
||||
* @Date: 2022/10/10
|
||||
*/
|
||||
@Override
|
||||
public List<RMpVThdVO> getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam) {
|
||||
public List<RMpVThdVO> getTHDTopTenData(StatisticsBizBaseParam statisticsBizBaseParam,Integer topNum) {
|
||||
|
||||
List<RMpVThdVO> rMpVThdVOList = new ArrayList<> ();
|
||||
DeviceInfoParam deviceInfoParam = new DeviceInfoParam ();
|
||||
@@ -129,10 +129,9 @@ public class THDistortionServiceImpl implements THDistortionService {
|
||||
List<String> collect = deviceList.stream ( ).map (GeneralDeviceDTO::getLineIndexes).flatMap (Collection::stream).distinct ( ).collect (Collectors.toList ( ));
|
||||
QueryWrapper<RMpVThd> wrapper = new QueryWrapper<>();
|
||||
wrapper.in ("measurement_point_id",collect).
|
||||
eq ("data_type", statisticsBizBaseParam.getType ()).
|
||||
between ("data_date", statisticsBizBaseParam.getStartTime (), statisticsBizBaseParam.getEndTime ()).
|
||||
orderByDesc ("v_thd").
|
||||
last (" limit 10");
|
||||
last (" limit "+topNum);
|
||||
List<RMpVThd> rMpVThdList = rMpVThdMapper.selectList (wrapper);
|
||||
rMpVThdVOList = rMpVThdList.stream ( ).map (rMpVThd -> {
|
||||
RMpVThdVO rMpVThdVO = new RMpVThdVO ( );
|
||||
|
||||
Reference in New Issue
Block a user