From 0843e11dc539a431509009b471598870fc75b9f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E6=9C=A8c?= <857448963@qq.com> Date: Tue, 19 Sep 2023 11:29:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/harmonic/pojo/vo/PollutionVO.java | 2 +- .../impl/PollutionSubstationServiceImpl.java | 5 +-- .../executor/handler/HarmPollutionJob.java | 35 ++++++++++++++++++ .../executor/utils/CommonExecutorUtils.java | 1 + .../harmonic/pojo/param/LineParam.java | 10 +++++ .../mysql/Impl/line/PollutionServiceImpl.java | 37 ++++++------------- 6 files changed, 60 insertions(+), 30 deletions(-) diff --git a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/PollutionVO.java b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/PollutionVO.java index f9dbaf84c..7c008de6a 100644 --- a/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/PollutionVO.java +++ b/pqs-harmonic/harmonic-api/src/main/java/com/njcn/harmonic/pojo/vo/PollutionVO.java @@ -27,7 +27,7 @@ public class PollutionVO { private String name; @ApiModelProperty("污染指标") - private Double data = -1.0; + private Double data = 3.14159; @ApiModelProperty("子级") private List children; diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java index bc564794b..445ed69f2 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/PollutionSubstationServiceImpl.java @@ -239,7 +239,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl subPollutionVO = new ArrayList<>(); subIndexes.forEach(subIndex -> { @@ -249,7 +249,7 @@ public class PollutionSubstationServiceImpl extends ServiceImpl wrapper = new QueryWrapper<> (); wrapper.eq ("substation_id",id). diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmPollutionJob.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmPollutionJob.java index 01b904781..dea948277 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmPollutionJob.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/handler/HarmPollutionJob.java @@ -15,6 +15,7 @@ import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Calendar; +import java.util.Date; /** * 污区数据 @@ -35,6 +36,40 @@ public class HarmPollutionJob { String date = CommonExecutorUtils.prepareTimeDeal(command); 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"; lineParam.setDataDate(date); diff --git a/pqs-job/job-executor/src/main/java/com/njcn/executor/utils/CommonExecutorUtils.java b/pqs-job/job-executor/src/main/java/com/njcn/executor/utils/CommonExecutorUtils.java index cc00f3f60..e6cb1f653 100644 --- a/pqs-job/job-executor/src/main/java/com/njcn/executor/utils/CommonExecutorUtils.java +++ b/pqs-job/job-executor/src/main/java/com/njcn/executor/utils/CommonExecutorUtils.java @@ -26,6 +26,7 @@ public class CommonExecutorUtils { } 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)){ diff --git a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/param/LineParam.java b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/param/LineParam.java index ea09c16fe..fd326309d 100644 --- a/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/param/LineParam.java +++ b/pqs-prepare/prepare-api/src/main/java/com/njcn/prepare/harmonic/pojo/param/LineParam.java @@ -42,4 +42,14 @@ public class LineParam { @ApiModelProperty(name = "dataSource",value = "数据源(0:oracle,1:influxdb 2:mysql)") private Integer dataSource; + /** + * 调度任务开始时间 + */ + private String beginTime; + + /** + * 调度任务结束时间 + */ + private String endTime; + } diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java index 73bdd53ee..3b8f4e7c6 100644 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java +++ b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/PollutionServiceImpl.java @@ -38,6 +38,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.math.RoundingMode; +import java.time.LocalDate; import java.time.LocalDateTime; import java.util.*; import java.util.function.BinaryOperator; @@ -96,12 +97,18 @@ public class PollutionServiceImpl implements PollutionService { @Async("asyncExecutor") public void processPollutionData(LineParam lineParam) { + log.info("参数起始时间:"+lineParam.getBeginTime()); + log.info("参数结束时间:"+lineParam.getEndTime()); TimeInterval timer = new TimeInterval(); List pollutionList; LocalDateTime local = LocalDateTimeUtil.now(); if (StrUtil.isNotBlank(lineParam.getDataDate())){ - local = LocalDateTimeUtil.parse(lineParam.getDataDate() + "T00:00:00"); + local = LocalDateTimeUtil.parse(lineParam.getBeginTime()); } + + + + List dictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.POLLUTION_STATIS.getCode()).getData(); //时间类型为日的情况下执行influxdb计算 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()); } - Date dateOut = DateUtil.parse(lineParam.getDataDate()); - LocalDateTime localEnd = LocalDateTimeUtil.now(); + + LocalDateTime localEnd = LocalDateTimeUtil.parse(lineParam.getEndTime()); LambdaQueryWrapper 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); List pollutionDayList =new ArrayList<>(); @@ -527,11 +517,6 @@ public class PollutionServiceImpl implements PollutionService { List data; PublicDTO publicDTO; List 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 list = resultMapper.toPOJO(sqlResult, DayIPO.class); for (RStatDataIDPO dayI : list) { for (Overlimit overlimit : overLimitList) { if (Objects.equals(dayI.getLineId(),overlimit.getId())){