1.典型负荷统计算法数据调整
This commit is contained in:
@@ -4,7 +4,6 @@
|
||||
|
||||
<select id="selectAvgMonth" resultType="com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO">
|
||||
select
|
||||
avg(interferenceSourceNum) as interferenceSourceNum,
|
||||
avg(averageOvDays) as averageOvDays,
|
||||
avg(flickerAvgOvRate) as flickerAvgOvRate,
|
||||
avg(flickerOvNum) as flickerOvNum,
|
||||
@@ -15,7 +14,6 @@
|
||||
avg(inseqAvgOvRate) as inseqAvgOvRate,
|
||||
avg(inseqOvNum) as inseqOvNum,
|
||||
avg(inseqOvRate) as inseqOvRate,
|
||||
avg(monitorNum) as monitorNum,
|
||||
avg(monitoringRate) as monitoringRate,
|
||||
avg(ovNum) as ovNum,
|
||||
avg(ovRate) as ovRate,
|
||||
@@ -32,10 +30,8 @@
|
||||
sum(inseqOvCount) as inseqOvCount,
|
||||
sum(unbanOvCount) as unbanOvCount,
|
||||
sum(harmvOvCount) as harmvOvCount,
|
||||
sum(monitorCount) as monitorCount,
|
||||
voltageLevel,
|
||||
sum(ovCount) as ovCount,
|
||||
sum(interferenceSourceCount) as interferenceSourceCount
|
||||
sum(ovCount) as ovCount
|
||||
FROM
|
||||
pq_typical_source_create
|
||||
<where>
|
||||
@@ -88,7 +84,6 @@
|
||||
</select>
|
||||
<select id="selectAvgYear" resultType="com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO">
|
||||
select
|
||||
avg(interferenceSourceNum) as interferenceSourceNum,
|
||||
avg(averageOvDays) as averageOvDays,
|
||||
avg(flickerAvgOvRate) as flickerAvgOvRate,
|
||||
avg(flickerOvNum) as flickerOvNum,
|
||||
@@ -99,7 +94,6 @@
|
||||
avg(inseqAvgOvRate) as inseqAvgOvRate,
|
||||
avg(inseqOvNum) as inseqOvNum,
|
||||
avg(inseqOvRate) as inseqOvRate,
|
||||
avg(monitorNum) as monitorNum,
|
||||
avg(monitoringRate) as monitoringRate,
|
||||
avg(ovNum) as ovNum,
|
||||
avg(ovRate) as ovRate,
|
||||
@@ -116,10 +110,8 @@
|
||||
sum(inseqOvCount) as inseqOvCount,
|
||||
sum(unbanOvCount) as unbanOvCount,
|
||||
sum(harmvOvCount) as harmvOvCount,
|
||||
sum(monitorCount) as monitorCount,
|
||||
voltageLevel,
|
||||
sum(ovCount) as ovCount,
|
||||
sum(interferenceSourceCount) as interferenceSourceCount
|
||||
sum(ovCount) as ovCount
|
||||
FROM
|
||||
pq_typical_source_create
|
||||
<where>
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package com.njcn.prepare.harmonic.service.mysql.send.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -39,7 +38,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -288,33 +286,81 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
||||
String end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)).toString();
|
||||
String date = begin.substring(0, 7);
|
||||
|
||||
List<SysDicTreePO> sysdictreepo = dictTreeFeignClient.queryAll().getData();
|
||||
|
||||
List<String> windfarm_user = Stream.of(
|
||||
DicDataEnum.WINDPOWER_STATION.getCode()).collect(Collectors.toList());
|
||||
List<String> photovoltaicsit_eusers = Stream.of(
|
||||
DicDataEnum.PHOTOVOLTAIC_POWER_STATION.getCode()).collect(Collectors.toList());
|
||||
List<String> tractionstation = Stream.of(
|
||||
DicDataEnum.ELECTRIFIED_RAILWAY.getCode()).collect(Collectors.toList());
|
||||
|
||||
DictTreeVO dictTreeVO = dictTreeFeignClient.queryByCode(DicTreeEnum.Imp_Users.getCode()).getData();
|
||||
List<DictTreeVO> dictTreeVOList = dictTreeFeignClient.query(dictTreeVO.getId()).getData();
|
||||
List<String> importUser = dictTreeVOList.stream().map(DictTreeVO::getCode).distinct().collect(Collectors.toList());
|
||||
importUser.add(dictTreeVO.getCode());
|
||||
|
||||
|
||||
/*3.45 典型源荷用户类型*/
|
||||
List<String> collect = Stream.of(DicDataEnum.TRACTIONSTATION.getCode(),
|
||||
DicDataEnum.WINDFARM_USER.getCode(),
|
||||
DicDataEnum.PHOTOVOLTAICSIT_EUSERS.getCode(),
|
||||
DicDataEnum.OTHER_INTERFERENCESOURCE_USERS.getCode()).collect(Collectors.toList());
|
||||
|
||||
List<SysDicTreePO> windfarm_user_dict = sysdictreepo.stream().filter(temp -> windfarm_user.contains(temp.getCode())).collect(Collectors.toList());
|
||||
List<SysDicTreePO> photovoltaicsit_eusers_dict = sysdictreepo.stream().filter(temp -> photovoltaicsit_eusers.contains(temp.getCode())).collect(Collectors.toList());
|
||||
List<SysDicTreePO> tractionstation_dict = sysdictreepo.stream().filter(temp -> tractionstation.contains(temp.getCode())).collect(Collectors.toList());
|
||||
List<SysDicTreePO> import_dict = sysdictreepo.stream().filter(temp -> importUser.contains(temp.getCode())).collect(Collectors.toList());
|
||||
|
||||
List<SysDicTreePO> un_other_interferencesource_users_dict = new ArrayList<>();
|
||||
un_other_interferencesource_users_dict.addAll(photovoltaicsit_eusers_dict);
|
||||
un_other_interferencesource_users_dict.addAll(tractionstation_dict);
|
||||
un_other_interferencesource_users_dict.addAll(windfarm_user_dict);
|
||||
un_other_interferencesource_users_dict.addAll(import_dict);
|
||||
|
||||
|
||||
List<PvTerminalTreeVO> deptList = deptFeignClient.allDeptList().getData();
|
||||
Map<String, PvTerminalTreeVO> mapCode = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode, Function.identity()));
|
||||
Map<String, PvTerminalTreeVO> mapList = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, Function.identity()));
|
||||
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||
List<String> collect1 = deptGetChildrenMoreDTO.getLineBaseList().stream().filter(temp->Objects.equals(temp.getIsUpToGrid(),1)).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
List<Monitor> monitorList;
|
||||
if (!CollectionUtils.isEmpty(collect1)) {
|
||||
monitorList = monitorClient.getMonitorList(collect1).getData();
|
||||
} else {
|
||||
monitorList = new ArrayList<>();
|
||||
}
|
||||
|
||||
collect.stream().forEach(temp->{
|
||||
PqTypicalSourceCreatePO pqTypicalSourceCreatePO = new PqTypicalSourceCreatePO();
|
||||
|
||||
List<Monitor> tempList = new ArrayList<>();
|
||||
if (temp.equals(DicDataEnum.TRACTIONSTATION.getCode())){
|
||||
List<String> idList = tractionstation_dict.stream().map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||
tempList = monitorList.stream().filter(tempmonitor -> idList.contains(tempmonitor.getObjType())).collect(Collectors.toList());
|
||||
pqTypicalSourceCreatePO.setIndustryType("99");
|
||||
|
||||
} else if (temp.equals(DicDataEnum.WINDFARM_USER.getCode())) {
|
||||
List<String> idList = windfarm_user_dict.stream().map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||
tempList = monitorList.stream().filter(tempmonitor -> idList.contains(tempmonitor.getObjType())).collect(Collectors.toList());
|
||||
pqTypicalSourceCreatePO.setIndustryType("99");
|
||||
|
||||
}else if(temp.equals(DicDataEnum.PHOTOVOLTAICSIT_EUSERS.getCode())) {
|
||||
List<String> idList = photovoltaicsit_eusers_dict.stream().map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||
tempList = monitorList.stream().filter(tempmonitor -> idList.contains(tempmonitor.getObjType())).collect(Collectors.toList());
|
||||
pqTypicalSourceCreatePO.setIndustryType("99");
|
||||
}else if(temp.equals(DicDataEnum.OTHER_INTERFERENCESOURCE_USERS.getCode())) {
|
||||
List<String> idList = un_other_interferencesource_users_dict.stream().map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||
tempList = monitorList.stream().filter(tempmonitor -> !idList.contains(tempmonitor.getObjType())).collect(Collectors.toList());
|
||||
pqTypicalSourceCreatePO.setIndustryType("00");
|
||||
|
||||
}
|
||||
|
||||
if(CollectionUtils.isEmpty(tempList)){
|
||||
return;
|
||||
}
|
||||
List<String> monitorIds = tempList.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||
if (mapCode.containsKey(deptGetChildrenMoreDTO.getUnitId())) {
|
||||
PvTerminalTreeVO pvTerminalTreeVO = mapCode.get(deptGetChildrenMoreDTO.getUnitId());
|
||||
String[] split = (pvTerminalTreeVO.getPids() + StrUtil.COMMA + pvTerminalTreeVO.getId())
|
||||
@@ -363,6 +409,10 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
||||
po.setIndexType(temp);
|
||||
po.setStatisticalDate(date);
|
||||
po.setComputeDate(calculatedParam.getDataDate());
|
||||
po.setInterferenceSourceNum(monitorIds.size());
|
||||
po.setInterferenceSourceCount(monitorIds.size());
|
||||
po.setMonitorNum(monitorIds.size());
|
||||
po.setMonitorCount(monitorIds.size());
|
||||
po.setProvinceName(pqTypicalSourceCreatePO.getProvinceName());
|
||||
po.setProvinceId(pqTypicalSourceCreatePO.getProvinceId());
|
||||
po.setCityName(pqTypicalSourceCreatePO.getCityName());
|
||||
@@ -374,6 +424,7 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
||||
po.setId(deptGetChildrenMoreDTO.getUnitId()+"-"+po.getIndexType()+"-"+po.getStatisticalType()+"-"+date);
|
||||
pqTypicalSourceCreatePOList.add(po);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
@@ -391,33 +442,81 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
||||
String end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)).toString();
|
||||
String date = begin.substring(0, 4);
|
||||
|
||||
List<SysDicTreePO> sysdictreepo = dictTreeFeignClient.queryAll().getData();
|
||||
|
||||
List<String> windfarm_user = Stream.of(
|
||||
DicDataEnum.WINDPOWER_STATION.getCode()).collect(Collectors.toList());
|
||||
List<String> photovoltaicsit_eusers = Stream.of(
|
||||
DicDataEnum.PHOTOVOLTAIC_POWER_STATION.getCode()).collect(Collectors.toList());
|
||||
List<String> tractionstation = Stream.of(
|
||||
DicDataEnum.ELECTRIFIED_RAILWAY.getCode()).collect(Collectors.toList());
|
||||
|
||||
DictTreeVO dictTreeVO = dictTreeFeignClient.queryByCode(DicTreeEnum.Imp_Users.getCode()).getData();
|
||||
List<DictTreeVO> dictTreeVOList = dictTreeFeignClient.query(dictTreeVO.getId()).getData();
|
||||
List<String> importUser = dictTreeVOList.stream().map(DictTreeVO::getCode).distinct().collect(Collectors.toList());
|
||||
importUser.add(dictTreeVO.getCode());
|
||||
|
||||
|
||||
/*3.45 典型源荷用户类型*/
|
||||
List<String> collect = Stream.of(DicDataEnum.TRACTIONSTATION.getCode(),
|
||||
DicDataEnum.WINDFARM_USER.getCode(),
|
||||
DicDataEnum.PHOTOVOLTAICSIT_EUSERS.getCode(),
|
||||
DicDataEnum.OTHER_INTERFERENCESOURCE_USERS.getCode()).collect(Collectors.toList());
|
||||
|
||||
List<SysDicTreePO> windfarm_user_dict = sysdictreepo.stream().filter(temp -> windfarm_user.contains(temp.getCode())).collect(Collectors.toList());
|
||||
List<SysDicTreePO> photovoltaicsit_eusers_dict = sysdictreepo.stream().filter(temp -> photovoltaicsit_eusers.contains(temp.getCode())).collect(Collectors.toList());
|
||||
List<SysDicTreePO> tractionstation_dict = sysdictreepo.stream().filter(temp -> tractionstation.contains(temp.getCode())).collect(Collectors.toList());
|
||||
List<SysDicTreePO> import_dict = sysdictreepo.stream().filter(temp -> importUser.contains(temp.getCode())).collect(Collectors.toList());
|
||||
|
||||
List<SysDicTreePO> un_other_interferencesource_users_dict = new ArrayList<>();
|
||||
un_other_interferencesource_users_dict.addAll(photovoltaicsit_eusers_dict);
|
||||
un_other_interferencesource_users_dict.addAll(tractionstation_dict);
|
||||
un_other_interferencesource_users_dict.addAll(windfarm_user_dict);
|
||||
un_other_interferencesource_users_dict.addAll(import_dict);
|
||||
|
||||
|
||||
List<PvTerminalTreeVO> deptList = deptFeignClient.allDeptList().getData();
|
||||
Map<String, PvTerminalTreeVO> mapCode = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getCode, Function.identity()));
|
||||
Map<String, PvTerminalTreeVO> mapList = deptList.stream().collect(Collectors.toMap(PvTerminalTreeVO::getId, Function.identity()));
|
||||
|
||||
for (DeptGetChildrenMoreDTO deptGetChildrenMoreDTO : calculatedParam.getIdList()) {
|
||||
List<String> collect1 = deptGetChildrenMoreDTO.getLineBaseList().stream().filter(temp->Objects.equals(temp.getIsUpToGrid(),1)).map(LineDevGetDTO::getPointId).collect(Collectors.toList());
|
||||
List<Monitor> monitorList;
|
||||
if (!CollectionUtils.isEmpty(collect1)) {
|
||||
monitorList = monitorClient.getMonitorList(collect1).getData();
|
||||
} else {
|
||||
monitorList = new ArrayList<>();
|
||||
}
|
||||
|
||||
collect.stream().forEach(temp->{
|
||||
PqTypicalSourceCreatePO pqTypicalSourceCreatePO = new PqTypicalSourceCreatePO();
|
||||
|
||||
List<Monitor> tempList = new ArrayList<>();
|
||||
if (temp.equals(DicDataEnum.TRACTIONSTATION.getCode())){
|
||||
List<String> idList = tractionstation_dict.stream().map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||
tempList = monitorList.stream().filter(tempmonitor -> idList.contains(tempmonitor.getObjType())).collect(Collectors.toList());
|
||||
pqTypicalSourceCreatePO.setIndustryType("99");
|
||||
|
||||
} else if (temp.equals(DicDataEnum.WINDFARM_USER.getCode())) {
|
||||
List<String> idList = windfarm_user_dict.stream().map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||
tempList = monitorList.stream().filter(tempmonitor -> idList.contains(tempmonitor.getObjType())).collect(Collectors.toList());
|
||||
pqTypicalSourceCreatePO.setIndustryType("99");
|
||||
|
||||
}else if(temp.equals(DicDataEnum.PHOTOVOLTAICSIT_EUSERS.getCode())) {
|
||||
List<String> idList = photovoltaicsit_eusers_dict.stream().map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||
tempList = monitorList.stream().filter(tempmonitor -> idList.contains(tempmonitor.getObjType())).collect(Collectors.toList());
|
||||
pqTypicalSourceCreatePO.setIndustryType("99");
|
||||
}else if(temp.equals(DicDataEnum.OTHER_INTERFERENCESOURCE_USERS.getCode())) {
|
||||
List<String> idList = un_other_interferencesource_users_dict.stream().map(SysDicTreePO::getId).collect(Collectors.toList());
|
||||
tempList = monitorList.stream().filter(tempmonitor -> !idList.contains(tempmonitor.getObjType())).collect(Collectors.toList());
|
||||
pqTypicalSourceCreatePO.setIndustryType("00");
|
||||
|
||||
}
|
||||
|
||||
if(CollectionUtils.isEmpty(tempList)){
|
||||
return;
|
||||
}
|
||||
List<String> monitorIds = tempList.stream().map(Monitor::getId).collect(Collectors.toList());
|
||||
if (mapCode.containsKey(deptGetChildrenMoreDTO.getUnitId())) {
|
||||
PvTerminalTreeVO pvTerminalTreeVO = mapCode.get(deptGetChildrenMoreDTO.getUnitId());
|
||||
String[] split = (pvTerminalTreeVO.getPids() + StrUtil.COMMA + pvTerminalTreeVO.getId())
|
||||
@@ -466,6 +565,10 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
||||
po.setIndexType(temp);
|
||||
po.setStatisticalDate(date);
|
||||
po.setComputeDate(calculatedParam.getDataDate());
|
||||
po.setInterferenceSourceNum(monitorIds.size());
|
||||
po.setInterferenceSourceCount(monitorIds.size());
|
||||
po.setMonitorNum(monitorIds.size());
|
||||
po.setMonitorCount(monitorIds.size());
|
||||
po.setProvinceName(pqTypicalSourceCreatePO.getProvinceName());
|
||||
po.setProvinceId(pqTypicalSourceCreatePO.getProvinceId());
|
||||
po.setCityName(pqTypicalSourceCreatePO.getCityName());
|
||||
@@ -582,10 +685,7 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
|
||||
if (b == 0) {
|
||||
return BigDecimal.valueOf(0.00);
|
||||
}
|
||||
BigDecimal num1 = new BigDecimal(a);
|
||||
BigDecimal num2 = new BigDecimal(b);
|
||||
BigDecimal result = num1.divide(num2, 2, RoundingMode.HALF_UP).multiply(BigDecimal.valueOf(100));
|
||||
return result;
|
||||
return NumberUtil.round(a*100.0/b,2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user