接口调整

This commit is contained in:
2023-09-19 11:29:47 +08:00
parent 7da60259b6
commit 0843e11dc5
6 changed files with 60 additions and 30 deletions

View File

@@ -27,7 +27,7 @@ public class PollutionVO {
private String name; private String name;
@ApiModelProperty("污染指标") @ApiModelProperty("污染指标")
private Double data = -1.0; private Double data = 3.14159;
@ApiModelProperty("子级") @ApiModelProperty("子级")
private List<PollutionVO> children; private List<PollutionVO> children;

View File

@@ -239,7 +239,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
pollutionVO.setId(detpid); pollutionVO.setId(detpid);
pollutionVO.setName(name+"\n("+temp.getLineIndexes().size()+")"); pollutionVO.setName(name+"\n("+temp.getLineIndexes().size()+")");
pollutionVO.setData(-1.0); pollutionVO.setData(3.14159);
setData(harmonicPublicParam, pollutionType, searchBeginTime,harmonicPublicParam.getSearchEndTime(), pollutionVO, detpid); setData(harmonicPublicParam, pollutionType, searchBeginTime,harmonicPublicParam.getSearchEndTime(), pollutionVO, detpid);
List<PollutionVO> subPollutionVO = new ArrayList<>(); List<PollutionVO> subPollutionVO = new ArrayList<>();
subIndexes.forEach(subIndex -> { subIndexes.forEach(subIndex -> {
@@ -249,7 +249,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
pollutionsubVO.setId(id); pollutionsubVO.setId(id);
pollutionsubVO.setName(pollutionSubstationDTO.getName()); pollutionsubVO.setName(pollutionSubstationDTO.getName());
pollutionsubVO.setPid(temp.getIndex()); pollutionsubVO.setPid(temp.getIndex());
pollutionsubVO.setData(-1.0); pollutionsubVO.setData(3.14159);
setSubData(harmonicPublicParam, pollutionType, searchBeginTime,harmonicPublicParam.getSearchEndTime(), pollutionsubVO, id); setSubData(harmonicPublicParam, pollutionType, searchBeginTime,harmonicPublicParam.getSearchEndTime(), pollutionsubVO, id);
subPollutionVO.add(pollutionsubVO); subPollutionVO.add(pollutionsubVO);
}); });
@@ -299,7 +299,6 @@ public class PollutionSubstationServiceImpl extends ServiceImpl<RStatPollutionSu
} }
private void setSubData(HarmonicPublicParam harmonicPublicParam, String pollutionType, String searchBeginTime,String searchEndTime, PollutionVO pollutionsubVO, String id) { private void setSubData(HarmonicPublicParam harmonicPublicParam, String pollutionType, String searchBeginTime,String searchEndTime, PollutionVO pollutionsubVO, String id) {
//harmonicPublicParam.setReportFlag("5");
if(Objects.equals (harmonicPublicParam.getReportFlag (), BizParamConstant.STAT_BIZ_YEAR) ){ if(Objects.equals (harmonicPublicParam.getReportFlag (), BizParamConstant.STAT_BIZ_YEAR) ){
QueryWrapper<RStatPollutionSubstationYPO> wrapper = new QueryWrapper<> (); QueryWrapper<RStatPollutionSubstationYPO> wrapper = new QueryWrapper<> ();
wrapper.eq ("substation_id",id). wrapper.eq ("substation_id",id).

View File

@@ -15,6 +15,7 @@ import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date;
/** /**
* 污区数据 * 污区数据
@@ -35,6 +36,40 @@ public class HarmPollutionJob {
String date = CommonExecutorUtils.prepareTimeDeal(command); String date = CommonExecutorUtils.prepareTimeDeal(command);
log.info("执行日期harmPollutionJob。。。。。。。。。。"+date); log.info("执行日期harmPollutionJob。。。。。。。。。。"+date);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH,-1);
Date temDate = calendar.getTime();
String begin = null;
String end = null;
switch (command){
case BizParamConstant.STAT_BIZ_DAY:
begin = sdf.format(DateUtil.beginOfDay(temDate));
end = sdf.format(DateUtil.endOfDay(temDate));
case BizParamConstant.STAT_BIZ_WEEK:
begin = sdf.format(DateUtil.beginOfWeek(temDate));
end = sdf.format(DateUtil.endOfWeek(temDate));
case BizParamConstant.STAT_BIZ_MONTH:
begin = sdf.format(DateUtil.beginOfMonth(temDate));
end = sdf.format(DateUtil.endOfMonth(temDate));
case BizParamConstant.STAT_BIZ_QUARTER:
begin = sdf.format(DateUtil.beginOfQuarter(temDate));
end = sdf.format(DateUtil.endOfQuarter(temDate));
case BizParamConstant.STAT_BIZ_YEAR:
begin = sdf.format(DateUtil.beginOfYear(temDate));
end = sdf.format(DateUtil.endOfYear(temDate));
default:
begin = sdf.format(DateUtil.beginOfDay(temDate));
end = sdf.format(DateUtil.endOfDay(temDate));
}
lineParam.setBeginTime(begin);
lineParam.setEndTime(end);
//测试数据部署时注释 //测试数据部署时注释
//date = "2022-10-21"; //date = "2022-10-21";
lineParam.setDataDate(date); lineParam.setDataDate(date);

View File

@@ -26,6 +26,7 @@ public class CommonExecutorUtils {
} }
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar calendar = Calendar.getInstance(); Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_MONTH,-1);
if (Objects.equals(BizParamConstant.STAT_BIZ_DAY,command)){ if (Objects.equals(BizParamConstant.STAT_BIZ_DAY,command)){
calendar.add(Calendar.DAY_OF_MONTH,-1); calendar.add(Calendar.DAY_OF_MONTH,-1);
} else if (Objects.equals(BizParamConstant.STAT_BIZ_MONTH,command)){ } else if (Objects.equals(BizParamConstant.STAT_BIZ_MONTH,command)){

View File

@@ -42,4 +42,14 @@ public class LineParam {
@ApiModelProperty(name = "dataSource",value = "数据源0:oracle1:influxdb 2:mysql") @ApiModelProperty(name = "dataSource",value = "数据源0:oracle1:influxdb 2:mysql")
private Integer dataSource; private Integer dataSource;
/**
* 调度任务开始时间
*/
private String beginTime;
/**
* 调度任务结束时间
*/
private String endTime;
} }

View File

@@ -38,6 +38,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.function.BinaryOperator; import java.util.function.BinaryOperator;
@@ -96,12 +97,18 @@ public class PollutionServiceImpl implements PollutionService {
@Async("asyncExecutor") @Async("asyncExecutor")
public void processPollutionData(LineParam lineParam) { public void processPollutionData(LineParam lineParam) {
log.info("参数起始时间:"+lineParam.getBeginTime());
log.info("参数结束时间:"+lineParam.getEndTime());
TimeInterval timer = new TimeInterval(); TimeInterval timer = new TimeInterval();
List<PollutionDTO> pollutionList; List<PollutionDTO> pollutionList;
LocalDateTime local = LocalDateTimeUtil.now(); LocalDateTime local = LocalDateTimeUtil.now();
if (StrUtil.isNotBlank(lineParam.getDataDate())){ if (StrUtil.isNotBlank(lineParam.getDataDate())){
local = LocalDateTimeUtil.parse(lineParam.getDataDate() + "T00:00:00"); local = LocalDateTimeUtil.parse(lineParam.getBeginTime());
} }
List<DictData> dictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData(); List<DictData> dictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData();
//时间类型为日的情况下执行influxdb计算 //时间类型为日的情况下执行influxdb计算
if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){ if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){
@@ -139,27 +146,10 @@ public class PollutionServiceImpl implements PollutionService {
LogUtil.njcnDebug(log, "监测点污染指标数据MySql插入耗时{}", timer.intervalRestart()); LogUtil.njcnDebug(log, "监测点污染指标数据MySql插入耗时{}", timer.intervalRestart());
} }
Date dateOut = DateUtil.parse(lineParam.getDataDate());
LocalDateTime localEnd = LocalDateTimeUtil.now(); LocalDateTime localEnd = LocalDateTimeUtil.parse(lineParam.getEndTime());
LambdaQueryWrapper<RMpPollutionDPO> lambdaQuery = new LambdaQueryWrapper<>(); LambdaQueryWrapper<RMpPollutionDPO> lambdaQuery = new LambdaQueryWrapper<>();
if (Integer.valueOf(BizParamConstant.STAT_BIZ_DAY).equals(lineParam.getType())){
localEnd = LocalDateTimeUtil.parse(lineParam.getDataDate() + "T23:59:59");
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(lineParam.getType())){
Date dateOutb = DateUtil.beginOfMonth(dateOut);
Date dateOute = dateOut;
local = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOutb) + "T00:00:00");
localEnd = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOute) + "T23:59:59");
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(lineParam.getType())){
Date dateOutb = DateUtil.beginOfQuarter(dateOut);
Date dateOute = dateOut;
local = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOutb) + "T00:00:00");
localEnd = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOute) + "T23:59:59");
}else if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(lineParam.getType())){
Date dateOutb = DateUtil.beginOfYear(dateOut);
Date dateOute = dateOut;
local = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOutb) + "T00:00:00");
localEnd = LocalDateTimeUtil.parse(DateUtil.formatDate(dateOute) + "T23:59:59");
}
log.info("污区数据统计间隔"+local+"----->"+localEnd); log.info("污区数据统计间隔"+local+"----->"+localEnd);
List<RMpPollutionDPO> pollutionDayList =new ArrayList<>(); List<RMpPollutionDPO> pollutionDayList =new ArrayList<>();
@@ -527,11 +517,6 @@ public class PollutionServiceImpl implements PollutionService {
List<Double> data; List<Double> data;
PublicDTO publicDTO; PublicDTO publicDTO;
List<PublicDTO> lineData = new ArrayList<>(); List<PublicDTO> lineData = new ArrayList<>();
// String sql = "SELECT * FROM day_i where value_type = 'CP95' and (phasic_type = 'A' or phasic_type = 'B' or phasic_type = 'C')"+ processDate(dataDate,Integer.valueOf(BizParamConstant.STAT_BIZ_DAY)) +" group by line_id order by time desc limit 3 tz('Asia/Shanghai')";
// InfluxDBResultMapper resultMapper = new InfluxDBResultMapper();
//
// QueryResult sqlResult = influxDbUtils.query(sql);
// List<DayIPO> list = resultMapper.toPOJO(sqlResult, DayIPO.class);
for (RStatDataIDPO dayI : list) { for (RStatDataIDPO dayI : list) {
for (Overlimit overlimit : overLimitList) { for (Overlimit overlimit : overLimitList) {
if (Objects.equals(dayI.getLineId(),overlimit.getId())){ if (Objects.equals(dayI.getLineId(),overlimit.getId())){