1.新增典型源荷指标月统计算法

2.增加国网上送月统计定时任务
This commit is contained in:
wr
2024-03-04 18:20:26 +08:00
parent 745d7e2829
commit 3d622f6da8
14 changed files with 407 additions and 22 deletions

View File

@@ -485,6 +485,7 @@ public class MonitorSendServiceImpl implements MonitorSendService {
sendVO.setTractionName(traction.getName());
sendVO.setRailwayName(traction.getRailwayLineName());
sendVO.setRailwayType(traction.getRailwayType());
sendVO.setRailwayNumber(traction.getRailwayLineId());
sendVO.setTractionCode(traction.getId());
sendVO.setTractionSubstationCapacity(traction.getRatedCapacity());
sendVO.setTractionSubstationId(monitor.getPowerrId());

View File

@@ -2025,6 +2025,7 @@ public class ReportServiceImpl implements ReportService {
.eq(StrUtil.isNotBlank(deviceInfoParam.getWaveType()), RmpEventDetailPO::getEventType, deviceInfoParam.getWaveType())
.ge(StringUtils.isNotBlank(deviceInfoParam.getSearchBeginTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(deviceInfoParam.getSearchBeginTime())))
.le(StringUtils.isNotBlank(deviceInfoParam.getSearchEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(deviceInfoParam.getSearchEndTime())))
.orderByDesc(RmpEventDetailPO::getStartTime)
);
//集合拷贝
List<WaveTypeVO> eventDetailList = BeanUtil.copyToList(pageInfo.getRecords(), WaveTypeVO.class);

View File

@@ -40,5 +40,9 @@ public class SendQueryParam extends BaseParam {
@NotNull(message="显示条数不能为空!")
@ApiModelProperty(value = "显示条数",name = "pageSize",dataType ="Integer",required = true)
private Integer pageSize;
@ApiModelProperty("时间维度")
@NotBlank(message = "时间维度不可为空")
private String dataType;
}
}

View File

@@ -19,18 +19,24 @@ import java.math.BigDecimal;
@Data
@TableName(value = "pq_typical_source_create")
public class PqTypicalSourceCreatePO {
private static final long serialVersionUID = 1L;
@TableId(value = "id", type = IdType.INPUT)
private String id;
//统计日期
@TableField(value = "statisticalDate")
private String statisticalDate;
//统计层级
@TableField(value = "statisticalLevel")
private String statisticalLevel;
//统计类型 01年 02月 03日
@TableField(value = "statisticalType")
private String statisticalType;
//典型源荷用户
@TableField(value = "indexType")
private String indexType;

View File

@@ -2,17 +2,22 @@ package com.njcn.harmonic.service.send.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.mapper.send.PqTypicalSourceCreatePOMapper;
import com.njcn.harmonic.pojo.dto.PqTypicalSourceCreateDTO;
import com.njcn.harmonic.pojo.param.SendQueryParam;
import com.njcn.harmonic.pojo.param.UploadDataParam;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO;
import com.njcn.harmonic.pojo.po.upload.RUploadEvaluationDataD;
import com.njcn.harmonic.service.send.PqTypicalSourceCreatePOService;
import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.po.Dept;
@@ -65,32 +70,24 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
Dept dept = deptFeignClient.getDeptByCode(param.getDeptIndex()).getData();
List<String> list = Arrays.stream(dept.getPids().split(",")).map(String::trim).collect(Collectors.toList());
LambdaQueryWrapper<PqTypicalSourceCreatePO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
String beginMonth = formatBeginMonth(param.getSearchBeginTime(), param.getDataType());
switch (list.size()) {
//国、省
//国
case 1:
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
String orgId = l1.stream().filter(o->!Objects.equals(o.getId(),dept.getId())).findFirst().orElse(null).getCode();
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getProvinceId,orgId)
.between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
.eq(!Objects.isNull(param.getSearchState()),PqTypicalSourceCreatePO::getIsUploadHead,param.getSearchState());
String orgId = getOrgIdForProvince(dept);
addFiltersForProvince(lambdaQueryWrapper, orgId, beginMonth, param.getSearchState());
break;
//省
case 2:
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getProvinceId,param.getDeptIndex())
.between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
.eq(!Objects.isNull(param.getSearchState()),PqTypicalSourceCreatePO::getIsUploadHead,param.getSearchState());
addFilters(lambdaQueryWrapper, PqTypicalSourceCreatePO::getProvinceId, param.getDeptIndex(), beginMonth, param.getSearchState());
break;
//市
case 3:
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getCityId, param.getDeptIndex())
.between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
.eq(!Objects.isNull(param.getSearchState()),PqTypicalSourceCreatePO::getIsUploadHead,param.getSearchState());
addFilters(lambdaQueryWrapper, PqTypicalSourceCreatePO::getCityId, param.getDeptIndex(), beginMonth, param.getSearchState());
break;
//县
case 4:
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getCountyId, param.getDeptIndex())
.between(PqTypicalSourceCreatePO::getStatisticalDate,param.getSearchBeginTime(),param.getSearchEndTime())
.eq(!Objects.isNull(param.getSearchState()),PqTypicalSourceCreatePO::getIsUploadHead,param.getSearchState());
addFilters(lambdaQueryWrapper, PqTypicalSourceCreatePO::getCountyId, param.getDeptIndex(), beginMonth, param.getSearchState());
break;
default:
break;
@@ -98,6 +95,34 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
return lambdaQueryWrapper;
}
private String formatBeginMonth(String searchBeginTime, String dataType) {
if (Objects.equals(dataType, "02")) {
return DateUtil.format(DateUtil.beginOfMonth(DateUtil.parse(searchBeginTime, DatePattern.NORM_MONTH_PATTERN)), DatePattern.NORM_MONTH_PATTERN);
}
return searchBeginTime;
}
private void addFiltersForProvince(LambdaQueryWrapper<PqTypicalSourceCreatePO> lambdaQueryWrapper, String orgId, String beginMonth, Integer searchState) {
lambdaQueryWrapper.eq(PqTypicalSourceCreatePO::getProvinceId, orgId)
.eq(PqTypicalSourceCreatePO::getStatisticalDate, beginMonth)
.eq(!Objects.isNull(searchState), PqTypicalSourceCreatePO::getIsUploadHead, searchState);
}
private void addFilters(LambdaQueryWrapper<PqTypicalSourceCreatePO> lambdaQueryWrapper, SFunction<PqTypicalSourceCreatePO, Object> idFunction, String orgId, String beginMonth, Integer searchState) {
lambdaQueryWrapper.eq(idFunction, orgId)
.eq(PqTypicalSourceCreatePO::getStatisticalDate, beginMonth)
.eq(!Objects.isNull(searchState), PqTypicalSourceCreatePO::getIsUploadHead, searchState);
}
private String getOrgIdForProvince(Dept dept) {
List<Dept> l1 = deptFeignClient.getDirectSonSelf(dept.getId()).getData();
return l1.stream()
.filter(o -> !Objects.equals(o.getId(), dept.getId()))
.findFirst()
.map(Dept::getCode)
.orElse(null);
}
@Override
public String send(UploadParam uploadParam) {

View File

@@ -658,8 +658,18 @@ public class OrgPointExecutor extends BaseExecutor{
}
@LiteflowMethod(value = LiteFlowMethodEnum.PROCESS, nodeId = "pqTypicalSourceCreatePOService", nodeType = NodeTypeEnum.COMMON)
public void pqTypicalSourceCreatePOServiceProcess(NodeComponent bindCmp) {
String tag = bindCmp.getTag();
CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam = bindCmp.getRequestData();
pqTypicalSourceCreatePOService.handlerDay(calculatedParam);
if (tag.equalsIgnoreCase("pq_typical_source_create_d")) {
//日表
pqTypicalSourceCreatePOService.handlerDay(calculatedParam);
} else if (tag.equalsIgnoreCase("pq_typical_source_create_m")) {
//数据补招不执行非日表算法
if (!calculatedParam.isRepair()) {
//月表
pqTypicalSourceCreatePOService.handlerMonth(calculatedParam);
}
}
}
/**
* 河北国网上送接口

View File

@@ -2,6 +2,7 @@ package com.njcn.prepare.harmonic.mapper.mysql.send;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO;
import org.apache.ibatis.annotations.Param;
/**
*
@@ -12,4 +13,8 @@ import com.njcn.harmonic.pojo.po.send.PqTypicalSourceCreatePO;
* @version V1.0.0
*/
public interface PqTypicalSourceCreatePOMapper extends BaseMapper<PqTypicalSourceCreatePO> {
PqTypicalSourceCreatePO selectAvg(@Param("param") PqTypicalSourceCreatePO param,
@Param("startTime")String begin,
@Param("endTime")String end);
}

View File

@@ -0,0 +1,90 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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
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,
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
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(statisticalDate, '%Y-%m-%d') &gt;= DATE_FORMAT(#{startTime}, '%Y-%m-%d')
</if>
<if test="endTime != null and endTime != ''">
AND DATE_FORMAT(statisticalDate, '%Y-%m-%d') &lt;= DATE_FORMAT(#{endTime}, '%Y-%m-%d')
</if>
</where>
</select>
</mapper>

View File

@@ -6,15 +6,15 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.prepare.harmonic.pojo.bo.CalculatedParam;
/**
*
* Description:
* Date: 2023/12/12 15:16【需求编号】
*
* @author clam
* @version V1.0.0
*/
public interface PqTypicalSourceCreatePOService extends IService<PqTypicalSourceCreatePO>{
public interface PqTypicalSourceCreatePOService extends IService<PqTypicalSourceCreatePO> {
void handlerDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
void handlerDay(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
}
void handlerMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam);
}

View File

@@ -1,7 +1,11 @@
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.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -31,6 +35,7 @@ import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.pojo.vo.PvTerminalTreeVO;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
@@ -273,6 +278,110 @@ public class PqTypicalSourceCreatePOServiceImpl extends ServiceImpl<PqTypicalSou
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void handlerMonth(CalculatedParam<DeptGetChildrenMoreDTO> calculatedParam) {
List<PqTypicalSourceCreatePO> pqTypicalSourceCreatePOList = new ArrayList<>();
//查询时间范围
String begin = DateUtil.beginOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)).toString();
String end = DateUtil.endOfMonth(DateUtil.parse(calculatedParam.getDataDate(), DatePattern.NORM_DATE_PATTERN)).toString();
String date = begin.substring(0, 7);
/*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.setStatisticalDate(date);
pqTypicalSourceCreatePO.setStatisticalType("03");
PqTypicalSourceCreatePO po= this.baseMapper.selectAvg(pqTypicalSourceCreatePO, begin, end);
if(ObjectUtil.isNotNull(po)){
po.setId(deptGetChildrenMoreDTO.getUnitId()+"-"+pqTypicalSourceCreatePO.getIndexType()+"-"+pqTypicalSourceCreatePO.getStatisticalType()+"-"+calculatedParam.getDataDate());
po.setStatisticalType("02");
po.setIndexType(temp);
po.setStatisticalDate(date);
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());
pqTypicalSourceCreatePOList.add(po);
}
});
}
if(!CollectionUtils.isEmpty(pqTypicalSourceCreatePOList)){
this.saveOrUpdateBatch(pqTypicalSourceCreatePOList);
}
}
private PqTypicalSourceCreatePO initPqTypicalSourceCreatePO(PqTypicalSourceCreatePO pqTypicalSourceCreatePO,
// String code,

View File

@@ -0,0 +1,32 @@
package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.api.PqTypicalSourceFeignClient;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* 典型源荷指标统计数据
*/
@Component
@RequiredArgsConstructor
public class PqTypicalSourceTaskMRunner implements TimerTaskRunner {
private final PqTypicalSourceFeignClient pqTypicalSourceFeignClient;
@Override
public void action(String date) {
UploadParam param=new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_MONTH_PATTERN));
String code = pqTypicalSourceFeignClient.send(param).getCode();
if(code.equals("A0002")){
throw new BusinessException("失败");
}
}
}

View File

@@ -0,0 +1,34 @@
package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.api.UploadGwDataFeignClient;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* 类的介绍:国网数据每日上送定时任务
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/12/15 13:45
*/
@Component
@RequiredArgsConstructor
public class UploadGwTaskEvaluationMRunner implements TimerTaskRunner {
private final UploadGwDataFeignClient uploadGwDataFeignClient;
@Override
public void action(String date) {
UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_MONTH_PATTERN));
String code = uploadGwDataFeignClient.uploadEvaluationData(param).getCode();
if(code.equals("A0002")){
throw new BusinessException("失败");
}
}
}

View File

@@ -0,0 +1,34 @@
package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.api.UploadGwDataFeignClient;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* 类的介绍:国网数据每日上送定时任务
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/12/15 13:45
*/
@Component
@RequiredArgsConstructor
public class UploadGwTaskMRunner implements TimerTaskRunner {
private final UploadGwDataFeignClient uploadGwDataFeignClient;
@Override
public void action(String date) {
UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_MONTH_PATTERN));
String code = uploadGwDataFeignClient.uploadPointStatisticalData(param).getCode();
if(code.equals("A0002")){
throw new BusinessException("失败");
}
}
}

View File

@@ -0,0 +1,34 @@
package com.njcn.system.timer.tasks;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.harmonic.api.UploadGwDataFeignClient;
import com.njcn.harmonic.pojo.param.UploadParam;
import com.njcn.system.timer.TimerTaskRunner;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
/**
* 类的介绍:国网数据每日上送定时任务
*
* @author xuyang
* @version 1.0.0
* @createTime 2023/12/15 13:45
*/
@Component
@RequiredArgsConstructor
public class UploadGwTaskSubstationMRunner implements TimerTaskRunner {
private final UploadGwDataFeignClient uploadGwDataFeignClient;
@Override
public void action(String date) {
UploadParam param = new UploadParam();
param.setTime(DateUtil.yesterday().toString(DatePattern.NORM_MONTH_PATTERN));
String code = uploadGwDataFeignClient.uploadSubstationStatisticalData(param).getCode();
if(code.equals("A0002")){
throw new BusinessException("失败");
}
}
}