1.审计用户消息和邮件推送

2.国网上送母线,变电站,主配网监测点统计,典型源荷统计等算法调整
3.国网上送定时任务调整
This commit is contained in:
wr
2024-03-12 14:52:35 +08:00
parent 93f86feb33
commit df07c79ac8
38 changed files with 571 additions and 73 deletions

View File

@@ -675,6 +675,12 @@ public class OrgPointExecutor extends BaseExecutor{
//月表
pqTypicalSourceCreatePOService.handlerMonth(calculatedParam);
}
}else if (tag.equalsIgnoreCase("pq_typical_source_create_y")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//年表
pqTypicalSourceCreatePOService.handleYear(calculatedParam);
}
}
}
/**

View File

@@ -147,7 +147,7 @@ public class SubStationExecutor extends BaseExecutor{
} else if (tag.equalsIgnoreCase("r_upload_substation_statistical_data_m")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//月表
//年算法
rUploadSubstationStatisticalDataDService.insertSubStatisticalDataMonth(bindCmp.getRequestData());
}
}

View File

@@ -14,7 +14,11 @@ import org.apache.ibatis.annotations.Param;
*/
public interface PqTypicalSourceCreatePOMapper extends BaseMapper<PqTypicalSourceCreatePO> {
PqTypicalSourceCreatePO selectAvg(@Param("param") PqTypicalSourceCreatePO param,
PqTypicalSourceCreatePO selectAvgMonth(@Param("param") PqTypicalSourceCreatePO param,
@Param("startTime")String begin,
@Param("endTime")String end);
PqTypicalSourceCreatePO selectAvgYear(@Param("param") PqTypicalSourceCreatePO param,
@Param("startTime")String begin,
@Param("endTime")String end);
}

View File

@@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.prepare.harmonic.mapper.mysql.send.PqTypicalSourceCreatePOMapper">
<select id="selectAvg" resultType="com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO">
<select id="selectAvgMonth" resultType="com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO">
select
avg(interferenceSourceNum) as interferenceSourceNum,
avg(averageOvDays) as averageOvDays,
@@ -25,18 +25,17 @@
avg(vOvNum) as vOvNum,
avg(vOvRate) as vOvRate,
avg(unbanAvgOvRate) as unbanAvgOvRate,
avg(ovDayCount) as ovDayCount,
avg(is_upload_head) as is_upload_head,
avg(monthsCount) as monthsCount,
avg(flickerOvCount) as flickerOvCount,
avg(harmiOvCount) as harmiOvCount,
avg(inseqOvCount) as inseqOvCount,
avg(unbanOvCount) as unbanOvCount,
avg(harmvOvCount) as harmvOvCount,
avg(monitorCount) as monitorCount,
avg(voltageLevel) as voltageLevel,
avg(ovCount) as ovCount,
avg(interferenceSourceCount) as interferenceSourceCount
sum(ovDayCount) as ovDayCount,
sum(monthsCount) as monthsCount,
sum(flickerOvCount) as flickerOvCount,
sum(harmiOvCount) as harmiOvCount,
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
FROM
pq_typical_source_create
<where>
@@ -85,6 +84,90 @@
</if>
</where>
GROUP BY voltageLevel
</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,
avg(flickerOvRate) as flickerOvRate,
avg(iAvgOvRate) as iAvgOvRate,
avg(iOvNum) as iOvNum,
avg(iOvRate) as iOvRate,
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,
avg(unbanOvNum) as unbanOvNum,
avg(unbanOvRate) as unbanOvRate,
avg(vAvgOvRate) as vAvgOvRate,
avg(vOvNum) as vOvNum,
avg(vOvRate) as vOvRate,
avg(unbanAvgOvRate) as unbanAvgOvRate,
sum(ovDayCount) as ovDayCount,
sum(monthsCount) as monthsCount,
sum(flickerOvCount) as flickerOvCount,
sum(harmiOvCount) as harmiOvCount,
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
FROM
pq_typical_source_create
<where>
<if test="param.provinceId != null and param.provinceId != '' ">
AND provinceId = #{param.provinceId}
</if>
<if test="param.cityId != null and param.cityId != '' ">
AND cityId = #{param.cityId}
</if>
<if test="param.countyId != null and param.countyId != '' ">
AND countyId = #{param.countyId}
</if>
<if test="param.provinceId == null ">
AND provinceId IS NULL
</if>
<if test="param.cityId == null">
AND cityId IS NULL
</if>
<if test="param.countyId == null">
AND countyId IS NULL
</if>
<if test="param.statisticalType != null and param.statisticalType != '' ">
AND statisticalType = #{param.statisticalType}
</if>
<if test="param.statisticalLevel != null and param.statisticalLevel != '' ">
AND statisticalLevel = #{param.statisticalLevel}
</if>
<if test="param.indexType != null and param.indexType != '' ">
AND indexType = #{param.indexType}
</if>
<if test="param.industryType != null and param.industryType != '' ">
AND industryType = #{param.industryType}
</if>
<if test="startTime != null and startTime != ''">
AND DATE_FORMAT(CONCAT(statisticalDate, '-01'), '%Y-%m') &gt;= DATE_FORMAT(#{startTime}, '%Y-%m')
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT(CONCAT(statisticalDate, '-01'), '%Y-%m') &lt;= DATE_FORMAT(#{endTime}, '%Y-%m')
</if>
</where>
GROUP BY voltageLevel
</select>
</mapper>

View File

@@ -18,13 +18,13 @@
round(avg(coverage_rate),4) coverageRate,
case when avg(run_substation_num) = 0 then 0 else round(avg(monitor_substaion_num)/avg(run_substation_num)*100,4) end monitoringRate,
#{monthDate} statisticalDate,
#{monthDate} statisticalMonth,
'01' statisticalType,
0 uploadStatus
from
r_upload_substation_statistical_data_d
where
statistical_date between #{startTime} and #{endTime}
and statistical_type = "02"
group by province_id ,
province_name ,
city_id ,

View File

@@ -17,4 +17,6 @@ public interface PqTypicalSourceCreatePOService extends IService<PqTypicalSource
void handlerDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
void handlerMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
}

View File

@@ -222,6 +222,7 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
pqTypicalSourceCreatePO = initPqTypicalSourceCreatePO(pqTypicalSourceCreatePO,rMpPartHarmonicDetailDS,rMpSurplusHarmonicDetailDS,monitorIds.size());
pqTypicalSourceCreatePO.setIndexType(temp);
pqTypicalSourceCreatePO.setStatisticalDate(calculatedParam.getDataDate());
pqTypicalSourceCreatePO.setComputeDate(calculatedParam.getDataDate());
pqTypicalSourceCreatePO.setStatisticalType("03");
pqTypicalSourceCreatePO.setMonitorNum(monitorIds.size());
pqTypicalSourceCreatePO.setMonitorCount(monitorIds.size());
@@ -356,12 +357,12 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
}
pqTypicalSourceCreatePO.setIndexType(temp);
pqTypicalSourceCreatePO.setStatisticalType("03");
PqTypicalSourceCreatePO po= this.baseMapper.selectAvg(pqTypicalSourceCreatePO, begin, end);
PqTypicalSourceCreatePO po= this.baseMapper.selectAvgMonth(pqTypicalSourceCreatePO, begin, end);
if(ObjectUtil.isNotNull(po)){
po.setId(deptGetChildrenMoreDTO.getUnitId()+"-"+pqTypicalSourceCreatePO.getIndexType()+"-"+pqTypicalSourceCreatePO.getStatisticalType()+"-"+begin);
po.setStatisticalType("02");
po.setIndexType(temp);
po.setStatisticalDate(date);
po.setComputeDate(calculatedParam.getDataDate());
po.setProvinceName(pqTypicalSourceCreatePO.getProvinceName());
po.setProvinceId(pqTypicalSourceCreatePO.getProvinceId());
po.setCityName(pqTypicalSourceCreatePO.getCityName());
@@ -370,6 +371,110 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
po.setCountyId(pqTypicalSourceCreatePO.getCountyId());
po.setStatisticalLevel(pqTypicalSourceCreatePO.getStatisticalLevel());
po.setIndustryType(pqTypicalSourceCreatePO.getIndustryType());
po.setId(deptGetChildrenMoreDTO.getUnitId()+"-"+po.getIndexType()+"-"+po.getStatisticalType()+"-"+date);
pqTypicalSourceCreatePOList.add(po);
}
});
}
if(!CollectionUtils.isEmpty(pqTypicalSourceCreatePOList)){
this.saveOrUpdateBatch(pqTypicalSourceCreatePOList);
}
}
@Override
public void handleYear(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
List<PqTypicalSourceCreatePO> pqTypicalSourceCreatePOList = new ArrayList<>();
//查询时间范围
String begin = DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)).toString();
String end = DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)).toString();
String date = begin.substring(0, 4);
/*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<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()) {
collect.stream().forEach(temp->{
PqTypicalSourceCreatePO pqTypicalSourceCreatePO = new PqTypicalSourceCreatePO();
if (temp.equals(DicDataEnum.TRACTIONSTATION.getCode())){
pqTypicalSourceCreatePO.setIndustryType("99");
} else if (temp.equals(DicDataEnum.WINDFARM_USER.getCode())) {
pqTypicalSourceCreatePO.setIndustryType("99");
}else if(temp.equals(DicDataEnum.PHOTOVOLTAICSIT_EUSERS.getCode())) {
pqTypicalSourceCreatePO.setIndustryType("99");
}else if(temp.equals(DicDataEnum.OTHER_INTERFERENCESOURCE_USERS.getCode())) {
pqTypicalSourceCreatePO.setIndustryType("00");
}
if (mapCode.containsKey(deptGetChildrenMoreDTO.getUnitId())) {
PvTerminalTreeVO pvTerminalTreeVO = mapCode.get(deptGetChildrenMoreDTO.getUnitId());
String[] split = (pvTerminalTreeVO.getPids() + StrUtil.COMMA + pvTerminalTreeVO.getId())
.split(StrUtil.COMMA);
if (split.length <3) {
return;
}
for (int i = 2; i < split.length; i++) {
//省
if (i == 2) {
if (mapList.containsKey(split[i])) {
pvTerminalTreeVO = mapList.get(split[i]);
pqTypicalSourceCreatePO.setProvinceName(pvTerminalTreeVO.getName());
pqTypicalSourceCreatePO.setProvinceId(pvTerminalTreeVO.getCode());
pqTypicalSourceCreatePO.setStatisticalLevel("3");
}
}
//市
if (i == 3) {
if (mapList.containsKey(split[i])) {
pvTerminalTreeVO = mapList.get(split[i]);
pqTypicalSourceCreatePO.setCityName(pvTerminalTreeVO.getName());
pqTypicalSourceCreatePO.setCityId(pvTerminalTreeVO.getCode());
pqTypicalSourceCreatePO.setStatisticalLevel("4");
}
}
//县
if (i == 4) {
if (mapList.containsKey(split[i])) {
pvTerminalTreeVO = mapList.get(split[i]);
pqTypicalSourceCreatePO.setCountyName(pvTerminalTreeVO.getName());
pqTypicalSourceCreatePO.setCountyId(pvTerminalTreeVO.getCode());
pqTypicalSourceCreatePO.setStatisticalLevel("5");
}
}
}
}
pqTypicalSourceCreatePO.setIndexType(temp);
pqTypicalSourceCreatePO.setStatisticalType("02");
PqTypicalSourceCreatePO po= this.baseMapper.selectAvgYear(pqTypicalSourceCreatePO, begin, end);
if(ObjectUtil.isNotNull(po)){
po.setStatisticalType("01");
po.setIndexType(temp);
po.setStatisticalDate(date);
po.setComputeDate(calculatedParam.getDataDate());
po.setProvinceName(pqTypicalSourceCreatePO.getProvinceName());
po.setProvinceId(pqTypicalSourceCreatePO.getProvinceId());
po.setCityName(pqTypicalSourceCreatePO.getCityName());
po.setCityId(pqTypicalSourceCreatePO.getCityId());
po.setCountyName(pqTypicalSourceCreatePO.getCountyName());
po.setCountyId(pqTypicalSourceCreatePO.getCountyId());
po.setStatisticalLevel(pqTypicalSourceCreatePO.getStatisticalLevel());
po.setIndustryType(pqTypicalSourceCreatePO.getIndustryType());
po.setId(deptGetChildrenMoreDTO.getUnitId()+"-"+po.getIndexType()+"-"+po.getStatisticalType()+"-"+date);
pqTypicalSourceCreatePOList.add(po);
}
});

View File

@@ -101,6 +101,7 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
rUploadEvaluationDataD.setProvinceName(dept.getName());
rUploadEvaluationDataD.setDataSources(UploadEnum.DATA_SOURCES_01.getCode());
rUploadEvaluationDataD.setStatisticalDate(calculatedParam.getDataDate());
rUploadEvaluationDataD.setComputeDate(calculatedParam.getDataDate());
rUploadEvaluationDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_03.getCode());
rUploadEvaluationDataD.setUploadStatus(Integer.parseInt(UploadEnum.UPLOAD_STATUS_0.getCode()));
this.judgeLevel(item.getDeptLevel(),rUploadEvaluationDataD,item.getUnitId(),item.getUnitName(),deptList,deptMap);
@@ -186,6 +187,7 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
if (CollUtil.isNotEmpty(list)){
list.forEach(item->{
item.setId(IdUtil.simpleUUID());
item.setComputeDate(calculatedParam.getDataDate());
});
this.saveOrUpdateBatchByMultiId(list,1000);
}
@@ -208,6 +210,7 @@ public class RUploadEvaluationDataDServiceImpl extends MppServiceImpl<RUploadEva
if (CollUtil.isNotEmpty(list)){
list.forEach(item->{
item.setId(IdUtil.simpleUUID());
item.setComputeDate(calculatedParam.getDataDate());
});
this.saveOrUpdateBatchByMultiId(list,1000);
}

View File

@@ -159,6 +159,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
rUploadPointStatisticalDataD.setProvinceId(dept.getCode());
rUploadPointStatisticalDataD.setProvinceName(dept.getName());
rUploadPointStatisticalDataD.setStatisticalDate(calculatedParam.getDataDate());
rUploadPointStatisticalDataD.setComputeDate(calculatedParam.getDataDate());
rUploadPointStatisticalDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_03.getCode());
rUploadPointStatisticalDataD.setUploadStatus(Integer.parseInt(UploadEnum.UPLOAD_STATUS_0.getCode()));
//fixme 主配网标识文档中没有,先随便定义一个,后期调整
@@ -204,6 +205,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
rUploadPointStatisticalDataD.setProvinceId(dept.getCode());
rUploadPointStatisticalDataD.setProvinceName(dept.getName());
rUploadPointStatisticalDataD.setStatisticalDate(calculatedParam.getDataDate());
rUploadPointStatisticalDataD.setComputeDate(calculatedParam.getDataDate());
rUploadPointStatisticalDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_03.getCode());
rUploadPointStatisticalDataD.setUploadStatus(Integer.parseInt(UploadEnum.UPLOAD_STATUS_0.getCode()));
//fixme 主配网标识文档中没有,先随便定义一个,后期调整
@@ -275,6 +277,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
if (CollUtil.isNotEmpty(list)){
list.forEach(item->{
item.setId(IdUtil.simpleUUID());
item.setComputeDate(calculatedParam.getDataDate());
});
this.saveOrUpdateBatchByMultiId(list,1000);
}
@@ -293,6 +296,7 @@ public class RUploadPointStatisticalDataDServiceImpl extends MppServiceImpl<RUpl
if (CollUtil.isNotEmpty(list)){
list.forEach(item->{
item.setId(IdUtil.simpleUUID());
item.setComputeDate(calculatedParam.getDataDate());
});
this.saveOrUpdateBatchByMultiId(list,1000);
}

View File

@@ -79,6 +79,7 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl
RUploadSubstationStatisticalDataD rUploadSubstationStatisticalDataD = new RUploadSubstationStatisticalDataD();
rUploadSubstationStatisticalDataD.setId(IdUtil.simpleUUID());
rUploadSubstationStatisticalDataD.setStatisticalDate(DateUtil.format(DateUtil.parse(calculatedParam.getDataDate()),DatePattern.NORM_MONTH_PATTERN));
rUploadSubstationStatisticalDataD.setComputeDate(calculatedParam.getDataDate());
rUploadSubstationStatisticalDataD.setStatisticalType(UploadEnum.STATISTICAL_TYPE_02.getCode());
rUploadSubstationStatisticalDataD.setProvinceId(dept.getCode());
rUploadSubstationStatisticalDataD.setProvinceName(dept.getName());
@@ -114,19 +115,17 @@ public class RUploadSubstationStatisticalDataDServiceImpl extends MppServiceImpl
@Override
public void insertSubStatisticalDataMonth(CalculatedParam<String> calculatedParam) {
//开始月份
String beginMonth = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
String beginMonth = DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_YEAR_PATTERN);
//起始时间
String startTime = DateUtil.format(DateUtil.beginOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
//结束时间
String endTime = DateUtil.format(DateUtil.endOfYear(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)), DatePattern.NORM_DATE_PATTERN);
//数据集
List<RUploadSubstationStatisticalDataD> list = this.baseMapper.substationStatisticalMonthData(beginMonth,startTime,endTime);
if (CollUtil.isNotEmpty(list)){
list.forEach(item->{
item.setId(IdUtil.simpleUUID());
item.setComputeDate(calculatedParam.getDataDate());
});
this.saveOrUpdateBatchByMultiId(list,1000);
}