1.单位标数据质量算法兼容修改
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
package com.njcn.executor.handler;
|
||||
|
||||
import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.executor.utils.CommonExecutorUtils;
|
||||
import com.njcn.prepare.harmonic.api.newalgorithm.ROperatingIndexFeignClient;
|
||||
import com.njcn.prepare.harmonic.pojo.param.PrimaryGridParam;
|
||||
import com.xxl.job.core.handler.annotation.XxlJob;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @Description: 单位监测指标数据质量
|
||||
* @return: null
|
||||
* @Author: wr
|
||||
* @Date: 2023/9/26 13:41
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class ROperatingIndexJob {
|
||||
|
||||
private final ROperatingIndexFeignClient rOperatingIndexFeignClient;
|
||||
|
||||
@XxlJob("rOperatingIndexDay")
|
||||
public void rOperatingMonitorDay(){
|
||||
log.info(LocalDateTime.now()+"单位监测指标数据质量_日表(主网,数据中心)------------------------");
|
||||
PrimaryGridParam primaryGridParam=new PrimaryGridParam();
|
||||
primaryGridParam.setDataSource(1);
|
||||
primaryGridParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_DAY));
|
||||
CommonExecutorUtils.commDefineDateObj(BizParamConstant.STAT_BIZ_DAY,primaryGridParam);
|
||||
rOperatingIndexFeignClient.primaryGridDataHanlder(primaryGridParam);
|
||||
}
|
||||
|
||||
@XxlJob("rOperatingIndexMonth")
|
||||
public void rOperatingIndexMonth(){
|
||||
log.info(LocalDateTime.now()+"单位监测指标数据质量_月表(主网,数据中心)------------------------");
|
||||
PrimaryGridParam primaryGridParam=new PrimaryGridParam();
|
||||
primaryGridParam.setDataSource(1);
|
||||
primaryGridParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_MONTH));
|
||||
CommonExecutorUtils.commDefineDateObj(BizParamConstant.STAT_BIZ_MONTH,primaryGridParam);
|
||||
rOperatingIndexFeignClient.primaryGridDataHanlder(primaryGridParam);
|
||||
}
|
||||
|
||||
@XxlJob("rOperatingIndexQuarter")
|
||||
public void rOperatingIndexQuarter(){
|
||||
log.info(LocalDateTime.now()+"单位监测指标数据质量_季表(主网,数据中心)------------------------");
|
||||
PrimaryGridParam primaryGridParam=new PrimaryGridParam();
|
||||
primaryGridParam.setDataSource(1);
|
||||
primaryGridParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_QUARTER));
|
||||
CommonExecutorUtils.commDefineDateObj(BizParamConstant.STAT_BIZ_QUARTER,primaryGridParam);
|
||||
rOperatingIndexFeignClient.primaryGridDataHanlder(primaryGridParam);
|
||||
}
|
||||
|
||||
@XxlJob("rOperatingIndexYear")
|
||||
public void rOperatingIndexYear(){
|
||||
log.info(LocalDateTime.now()+"单位监测指标数据质量_月表(主网,数据中心)------------------------");
|
||||
PrimaryGridParam primaryGridParam=new PrimaryGridParam();
|
||||
primaryGridParam.setDataSource(1);
|
||||
primaryGridParam.setDataDate(CommonExecutorUtils.prepareTimeDeal(BizParamConstant.STAT_BIZ_YEAR));
|
||||
CommonExecutorUtils.commDefineDateObj(BizParamConstant.STAT_BIZ_YEAR,primaryGridParam);
|
||||
rOperatingIndexFeignClient.primaryGridDataHanlder(primaryGridParam);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import com.njcn.common.pojo.constant.BizParamConstant;
|
||||
import com.njcn.prepare.harmonic.pojo.param.LineParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Calendar;
|
||||
@@ -21,37 +22,47 @@ import java.util.Objects;
|
||||
@Slf4j
|
||||
public class CommonExecutorUtils {
|
||||
|
||||
public static String prepareTimeDeal(String command){
|
||||
if(StrUtil.isBlank(command)){
|
||||
log.error(LocalDateTime.now()+"xxl调度任务参数未设置");
|
||||
public static String prepareTimeDeal(String command) {
|
||||
if (StrUtil.isBlank(command)) {
|
||||
log.error(LocalDateTime.now() + "xxl调度任务参数未设置");
|
||||
return null;
|
||||
}
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1);
|
||||
if (Objects.equals(BizParamConstant.STAT_BIZ_DAY,command)){
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1);
|
||||
} else if (Objects.equals(BizParamConstant.STAT_BIZ_MONTH,command)){
|
||||
if (Objects.equals(BizParamConstant.STAT_BIZ_DAY, command)) {
|
||||
calendar.add(Calendar.DAY_OF_MONTH, -1);
|
||||
} else if (Objects.equals(BizParamConstant.STAT_BIZ_MONTH, command)) {
|
||||
calendar.set(Calendar.DAY_OF_MONTH, 1);
|
||||
} else if (Objects.equals(BizParamConstant.STAT_BIZ_QUARTER, command)) {
|
||||
int nowMonth = calendar.get(Calendar.MONTH);
|
||||
calendar.set(Calendar.MONTH, nowMonth - (nowMonth % 3));
|
||||
calendar.set(Calendar.DAY_OF_MONTH, 1);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
||||
calendar.set(Calendar.MINUTE, 0);
|
||||
calendar.set(Calendar.SECOND, 0);
|
||||
calendar.set(Calendar.MILLISECOND, 0);
|
||||
} else if (Objects.equals(BizParamConstant.STAT_BIZ_YEAR, command)) {
|
||||
calendar.set(Calendar.DAY_OF_YEAR, 1);
|
||||
}
|
||||
log.info("job调度时间:"+sdf.format(calendar.getTime()));
|
||||
log.info("job调度时间:" + sdf.format(calendar.getTime()));
|
||||
return sdf.format(calendar.getTime());
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据xxl-job的参数,生成一个任务的起始时间和结束时间
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2023/9/20
|
||||
*/
|
||||
public static void commDefineDate(String command,LineParam lineParam){
|
||||
public static void commDefineDate(String command, LineParam lineParam) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String begin;
|
||||
String end;
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.DAY_OF_MONTH,-1);
|
||||
calendar.add(Calendar.DAY_OF_MONTH, -1);
|
||||
Date temDate = calendar.getTime();
|
||||
switch (command){
|
||||
switch (command) {
|
||||
case BizParamConstant.STAT_BIZ_DAY:
|
||||
begin = sdf.format(DateUtil.beginOfDay(temDate));
|
||||
end = sdf.format(DateUtil.endOfDay(temDate));
|
||||
@@ -79,9 +90,55 @@ public class CommonExecutorUtils {
|
||||
}
|
||||
lineParam.setBeginTime(begin);
|
||||
lineParam.setEndTime(end);
|
||||
lineParam.setDataDate(begin.substring(0,10));
|
||||
lineParam.setDataDate(begin.substring(0, 10));
|
||||
}
|
||||
|
||||
|
||||
public static void commDefineDateObj(String command, Object param) {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String begin;
|
||||
String end;
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.add(Calendar.DAY_OF_MONTH, -1);
|
||||
Date temDate = calendar.getTime();
|
||||
switch (command) {
|
||||
case BizParamConstant.STAT_BIZ_DAY:
|
||||
begin = sdf.format(DateUtil.beginOfDay(temDate));
|
||||
end = sdf.format(DateUtil.endOfDay(temDate));
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_WEEK:
|
||||
begin = sdf.format(DateUtil.beginOfWeek(temDate));
|
||||
end = sdf.format(DateUtil.endOfWeek(temDate));
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_MONTH:
|
||||
begin = sdf.format(DateUtil.beginOfMonth(temDate));
|
||||
end = sdf.format(DateUtil.endOfMonth(temDate));
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_QUARTER:
|
||||
begin = sdf.format(DateUtil.beginOfQuarter(temDate));
|
||||
end = sdf.format(DateUtil.endOfQuarter(temDate));
|
||||
break;
|
||||
case BizParamConstant.STAT_BIZ_YEAR:
|
||||
begin = sdf.format(DateUtil.beginOfYear(temDate));
|
||||
end = sdf.format(DateUtil.endOfYear(temDate));
|
||||
break;
|
||||
default:
|
||||
begin = sdf.format(DateUtil.beginOfDay(temDate));
|
||||
end = sdf.format(DateUtil.endOfDay(temDate));
|
||||
break;
|
||||
}
|
||||
try {
|
||||
Field beginTime = param.getClass().getDeclaredField("beginTime");
|
||||
beginTime.setAccessible(true);
|
||||
beginTime.set(param, begin);
|
||||
|
||||
Field endTime = param.getClass().getDeclaredField("endTime");
|
||||
endTime.setAccessible(true);
|
||||
endTime.set(param, end);
|
||||
} catch (Exception e) {
|
||||
log.error(LocalDateTime.now() + "时间属性反射异常: " + e);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user