|
@@ -3,10 +3,34 @@ package org.jeecg.modules.leanEventWarn.service.impl;
|
|
|
import org.jeecg.modules.leanEventWarn.entity.LeanEventWarnInfo;
|
|
|
import org.jeecg.modules.leanEventWarn.mapper.LeanEventWarnInfoMapper;
|
|
|
import org.jeecg.modules.leanEventWarn.service.ILeanEventWarnInfoService;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import org.jeecg.common.util.oConvertUtils;
|
|
|
+import org.jeecg.modules.gatherData.entity.FpgGatherData;
|
|
|
+import org.jeecg.modules.gatherData.service.IFpgGatherDataService;
|
|
|
+import org.jeecg.modules.leanEventWarn.entity.LeanEventWarnInfo;
|
|
|
+import org.jeecg.modules.leanEventWarn.mapper.LeanEventWarnInfoMapper;
|
|
|
+import org.jeecg.modules.leanEventWarn.service.ILeanEventWarnInfoService;
|
|
|
+import org.jeecg.modules.peaksAndValleysTimeConfig.entity.PeaksAndValleysTimeConfig;
|
|
|
+import org.jeecg.modules.peaksAndValleysTimeConfig.entity.PeaksAndValleysTimeConfigParam;
|
|
|
+import org.jeecg.modules.peaksAndValleysTimeConfig.service.IPeaksAndValleysTimeConfigService;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.time.Instant;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.time.ZoneId;
|
|
|
+import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
/**
|
|
|
* @Description: 精益事件告警信息表
|
|
|
* @Author: jeecg-boot
|
|
@@ -16,4 +40,297 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@Service
|
|
|
public class LeanEventWarnInfoServiceImpl extends ServiceImpl<LeanEventWarnInfoMapper, LeanEventWarnInfo> implements ILeanEventWarnInfoService {
|
|
|
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ILeanEventWarnInfoService leanEventWarnInfoService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ IFpgGatherDataService fpgGatherDataService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ IPeaksAndValleysTimeConfigService peaksAndValleysTimeConfigService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void insertWarnInfo(LeanEventWarnInfo leanEventWarnInfo) {
|
|
|
+ baseMapper.insert(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void openDeviceTriggerWarnInfo(String deviceInformationList, FpgGatherData fpgGatherData) {
|
|
|
+ LeanEventWarnInfo leanEventWarnInfo = new LeanEventWarnInfo();
|
|
|
+ leanEventWarnInfo.setDeviceRegionId(fpgGatherData.getDeviceRegionId());
|
|
|
+ leanEventWarnInfo.setDeviceInformationId(fpgGatherData.getDeviceInformationId());
|
|
|
+ leanEventWarnInfo.setDevicePointId(fpgGatherData.getDevicePointId());
|
|
|
+ leanEventWarnInfo.setCreateTime(new Date());
|
|
|
+ // 通过主设备ID、设备区域ID、采集点ID查询采集信息 fpg_gather_data
|
|
|
+ List<String> deviceChildTites = Arrays.asList(deviceInformationList.split(","));
|
|
|
+ LambdaQueryWrapper<FpgGatherData> fpgGatherDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ fpgGatherDataLambdaQueryWrapper.in(FpgGatherData::getDeviceInformationId, deviceChildTites).eq(FpgGatherData::getDevicePointId, fpgGatherData.getDevicePointId()).eq(FpgGatherData::getDeviceRegionId, fpgGatherData.getDeviceRegionId());
|
|
|
+ List<FpgGatherData> gatherDataList = fpgGatherDataService.list(fpgGatherDataLambdaQueryWrapper);
|
|
|
+ if (!oConvertUtils.listIsNotEmpty(gatherDataList)){
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("HOST_OPEN状态下,查询采集数据为空,主设备未开启,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 根据采集点的运行电流,判断是否需要上报告警信息 (辅设备电流小于等于5,上报告警信息)
|
|
|
+ BigDecimal limitVoltage = new BigDecimal("5");
|
|
|
+ gatherDataList.forEach(x ->{
|
|
|
+ if (x.getCurrent().compareTo(limitVoltage) < 0){
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("HOST_OPEN状态下,辅设备电流大于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void stopDeviceTriggerWarnInfo(String deviceInformationList, FpgGatherData fpgGatherData) {
|
|
|
+ LeanEventWarnInfo leanEventWarnInfo = new LeanEventWarnInfo();
|
|
|
+ leanEventWarnInfo.setDeviceRegionId(fpgGatherData.getDeviceRegionId());
|
|
|
+ leanEventWarnInfo.setDeviceInformationId(fpgGatherData.getDeviceInformationId());
|
|
|
+ leanEventWarnInfo.setDevicePointId(fpgGatherData.getDevicePointId());
|
|
|
+ leanEventWarnInfo.setCreateTime(new Date());
|
|
|
+ // 通过主设备ID、设备区域ID、采集点ID查询采集信息 fpg_gather_data
|
|
|
+ List<String> deviceChildTites = Arrays.asList(deviceInformationList.split(","));
|
|
|
+ LambdaQueryWrapper<FpgGatherData> fpgGatherDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ fpgGatherDataLambdaQueryWrapper.in(FpgGatherData::getDeviceInformationId, deviceChildTites).eq(FpgGatherData::getDevicePointId, fpgGatherData.getDevicePointId()).eq(FpgGatherData::getDeviceRegionId, fpgGatherData.getDeviceRegionId());
|
|
|
+ List<FpgGatherData> gatherDataList = fpgGatherDataService.list(fpgGatherDataLambdaQueryWrapper);
|
|
|
+ if (!oConvertUtils.listIsNotEmpty(gatherDataList)){
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("HOST_CLOSE状态下,查询采集数据为空,主设备未开启,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 根据采集点的电流,判断是否需要上报告警信息 (辅设备电流大于5,上报告警信息)
|
|
|
+ BigDecimal limitVoltage = new BigDecimal("5");
|
|
|
+ gatherDataList.forEach(x ->{
|
|
|
+ if (x.getCurrent().compareTo(limitVoltage) > 0){
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("HOST_CLOSE状态下,辅设备电流大于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void openFpgTriggerWarnInfo(String deviceInformationList, FpgGatherData fpgGatherData) {
|
|
|
+ LeanEventWarnInfo leanEventWarnInfo = new LeanEventWarnInfo();
|
|
|
+ leanEventWarnInfo.setDeviceRegionId(fpgGatherData.getDeviceRegionId());
|
|
|
+ leanEventWarnInfo.setDeviceInformationId(fpgGatherData.getDeviceInformationId());
|
|
|
+ leanEventWarnInfo.setDevicePointId(fpgGatherData.getDevicePointId());
|
|
|
+ leanEventWarnInfo.setCreateTime(new Date());
|
|
|
+ PeaksAndValleysTimeConfigParam peaksAndValleysTimeConfigParam = peaksAndValleysTimeConfigService.get();
|
|
|
+ // 通过主设备ID、设备区域ID、采集点ID查询采集信息 fpg_gather_data
|
|
|
+ List<String> deviceChildTites = Arrays.asList(deviceInformationList.split(","));
|
|
|
+ LambdaQueryWrapper<FpgGatherData> fpgGatherDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ fpgGatherDataLambdaQueryWrapper.in(FpgGatherData::getDeviceInformationId, deviceChildTites).eq(FpgGatherData::getDevicePointId, fpgGatherData.getDevicePointId()).eq(FpgGatherData::getDeviceRegionId, fpgGatherData.getDeviceRegionId());
|
|
|
+ List<FpgGatherData> gatherDataList = fpgGatherDataService.list(fpgGatherDataLambdaQueryWrapper);
|
|
|
+ if (!oConvertUtils.listIsNotEmpty(gatherDataList)){
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_OPEN状态下,查询采集数据为空,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 获取尖、峰、平、谷配置信息并拼接开始时间、结束时间
|
|
|
+ List<PeaksAndValleysTimeConfig> topsNewPeaksAndValleysTimeConfigList = getPeaksAndValleysTimeConfigByType(peaksAndValleysTimeConfigParam, "tops");
|
|
|
+
|
|
|
+ List<PeaksAndValleysTimeConfig> peaksNewPeaksAndValleysTimeConfigList = getPeaksAndValleysTimeConfigByType(peaksAndValleysTimeConfigParam, "peaks");
|
|
|
+
|
|
|
+ List<PeaksAndValleysTimeConfig> flatNewPeaksAndValleysTimeConfigList = getPeaksAndValleysTimeConfigByType(peaksAndValleysTimeConfigParam, "flat");
|
|
|
+
|
|
|
+ List<PeaksAndValleysTimeConfig> valleysNewPeaksAndValleysTimeConfigList = getPeaksAndValleysTimeConfigByType(peaksAndValleysTimeConfigParam, "valleys");
|
|
|
+
|
|
|
+ BigDecimal limitVoltage = new BigDecimal("5");
|
|
|
+ // 根据采集到的数据 创建时间,跟峰平谷配置的时间,判断属于哪个时段(尖、峰、平、谷)
|
|
|
+ gatherDataList.forEach(x ->{
|
|
|
+ Instant instant = x.getCreateTime().toInstant();
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
|
|
+
|
|
|
+ boolean topsIsExit = topsNewPeaksAndValleysTimeConfigList.stream().anyMatch(a -> containsCreateTime(localDateTime, a.getStartTime(), a.getEndTime()));
|
|
|
+ if (topsIsExit && x.getCurrent().compareTo(limitVoltage) < 0){
|
|
|
+ // 采集到的数据电流小于5A,上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_OPEN状态下,尖时段采集到的数据电流小于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ boolean peaksIsExit = peaksNewPeaksAndValleysTimeConfigList.stream().anyMatch(a -> containsCreateTime(localDateTime, a.getStartTime(), a.getEndTime()));
|
|
|
+ if (peaksIsExit && x.getCurrent().compareTo(limitVoltage) < 0){
|
|
|
+ // 采集到的数据电流小于5A,上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_OPEN状态下,峰采集到的数据电流小于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ boolean flatIsExit = flatNewPeaksAndValleysTimeConfigList.stream().anyMatch(a -> containsCreateTime(localDateTime, a.getStartTime(), a.getEndTime()));
|
|
|
+ if (flatIsExit && x.getCurrent().compareTo(limitVoltage) < 0){
|
|
|
+ // 采集到的数据电流小于5A,上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_OPEN状态下,平时段采集到的数据电流小于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ boolean valleysIsExit = valleysNewPeaksAndValleysTimeConfigList.stream().anyMatch(a -> containsCreateTime(localDateTime, a.getStartTime(), a.getEndTime()));
|
|
|
+ if (valleysIsExit && x.getCurrent().compareTo(limitVoltage) < 0){
|
|
|
+ // 采集到的数据电流小于5A,上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_OPEN状态下,谷时段采集到的数据电流小于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void closeFpgTriggerWarnInfo(String deviceInformationList, FpgGatherData fpgGatherData) {
|
|
|
+ LeanEventWarnInfo leanEventWarnInfo = new LeanEventWarnInfo();
|
|
|
+ leanEventWarnInfo.setDeviceRegionId(fpgGatherData.getDeviceRegionId());
|
|
|
+ leanEventWarnInfo.setDeviceInformationId(fpgGatherData.getDeviceInformationId());
|
|
|
+ leanEventWarnInfo.setDevicePointId(fpgGatherData.getDevicePointId());
|
|
|
+ leanEventWarnInfo.setCreateTime(new Date());
|
|
|
+ PeaksAndValleysTimeConfigParam peaksAndValleysTimeConfigParam = peaksAndValleysTimeConfigService.get();
|
|
|
+ // 通过主设备ID、设备区域ID、采集点ID查询采集信息 fpg_gather_data
|
|
|
+ List<String> deviceChildTites = Arrays.asList(deviceInformationList.split(","));
|
|
|
+ LambdaQueryWrapper<FpgGatherData> fpgGatherDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ fpgGatherDataLambdaQueryWrapper.in(FpgGatherData::getDeviceInformationId, deviceChildTites).eq(FpgGatherData::getDevicePointId, fpgGatherData.getDevicePointId()).eq(FpgGatherData::getDeviceRegionId, fpgGatherData.getDeviceRegionId());
|
|
|
+ List<FpgGatherData> gatherDataList = fpgGatherDataService.list(fpgGatherDataLambdaQueryWrapper);
|
|
|
+ if (!oConvertUtils.listIsNotEmpty(gatherDataList)){
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_CLOSE状态下,查询采集数据为空,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ // 获取尖、峰、平、谷配置信息并拼接开始时间、结束时间
|
|
|
+ List<PeaksAndValleysTimeConfig> topsNewPeaksAndValleysTimeConfigList = getPeaksAndValleysTimeConfigByType(peaksAndValleysTimeConfigParam, "tops");
|
|
|
+
|
|
|
+ List<PeaksAndValleysTimeConfig> peaksNewPeaksAndValleysTimeConfigList = getPeaksAndValleysTimeConfigByType(peaksAndValleysTimeConfigParam, "peaks");
|
|
|
+
|
|
|
+ List<PeaksAndValleysTimeConfig> flatNewPeaksAndValleysTimeConfigList = getPeaksAndValleysTimeConfigByType(peaksAndValleysTimeConfigParam, "flat");
|
|
|
+
|
|
|
+ List<PeaksAndValleysTimeConfig> valleysNewPeaksAndValleysTimeConfigList = getPeaksAndValleysTimeConfigByType(peaksAndValleysTimeConfigParam, "valleys");
|
|
|
+
|
|
|
+ // 根据采集到的数据 创建时间,跟峰平谷配置的时间,判断属于哪个时段(尖、峰、平、谷)
|
|
|
+ BigDecimal limitVoltage = new BigDecimal("5");
|
|
|
+ gatherDataList.forEach(x ->{
|
|
|
+ Instant instant = x.getCreateTime().toInstant();
|
|
|
+ LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
|
|
|
+ boolean topsIsExit = topsNewPeaksAndValleysTimeConfigList.stream().anyMatch(a -> containsCreateTime(localDateTime, a.getStartTime(), a.getEndTime()));
|
|
|
+ if (topsIsExit && x.getCurrent().compareTo(limitVoltage) > 0){
|
|
|
+ // 采集到的数据电流大于5A,上报告警信息
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_CLOSE状态下,采集到的数据电流大于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ boolean peaksIsExit = peaksNewPeaksAndValleysTimeConfigList.stream().anyMatch(a -> containsCreateTime(localDateTime, a.getStartTime(), a.getEndTime()));
|
|
|
+ if (peaksIsExit && x.getCurrent().compareTo(limitVoltage) > 0){
|
|
|
+ // 采集到的数据电流大于5A,上报告警信息
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_CLOSE状态下,采集到的数据电流大于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ boolean flatIsExit = flatNewPeaksAndValleysTimeConfigList.stream().anyMatch(a -> containsCreateTime(localDateTime, a.getStartTime(), a.getEndTime()));
|
|
|
+ if (flatIsExit && x.getCurrent().compareTo(limitVoltage) > 0){
|
|
|
+ // 采集到的数据电流大于5A,上报告警信息
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_CLOSE状态下,采集到的数据电流大于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ boolean valleysIsExit = valleysNewPeaksAndValleysTimeConfigList.stream().anyMatch(a -> containsCreateTime(localDateTime, a.getStartTime(), a.getEndTime()));
|
|
|
+ if (valleysIsExit && x.getCurrent().compareTo(limitVoltage) > 0){
|
|
|
+ // 采集到的数据电流大于5A,上报告警信息
|
|
|
+ // 上报告警信息
|
|
|
+ leanEventWarnInfo.setDeviceWarnInfo("FPG_CLOSE状态下,采集到的数据电流大于5A,触发精益事件告警!");
|
|
|
+ leanEventWarnInfo.setWarnType("1");
|
|
|
+ leanEventWarnInfo.setDeviceWarnLevel("0");
|
|
|
+ leanEventWarnInfoService.insertWarnInfo(leanEventWarnInfo);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 处理峰平谷的配置,并拼接开始时间和结束时间
|
|
|
+ * @param peaksAndValleysTimeConfigParam
|
|
|
+ * @param type
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<PeaksAndValleysTimeConfig> getPeaksAndValleysTimeConfigByType(PeaksAndValleysTimeConfigParam peaksAndValleysTimeConfigParam, String type){
|
|
|
+ // 定义日期格式
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ if ("tops".equals(type)){
|
|
|
+ List<PeaksAndValleysTimeConfig> topsPeaksAndValleysTimeConfigList = peaksAndValleysTimeConfigParam.getTops();
|
|
|
+ List<PeaksAndValleysTimeConfig> topsNewPeaksAndValleysTimeConfigList = topsPeaksAndValleysTimeConfigList.stream().map(t->{
|
|
|
+ String newStartTime = sdf.format(new Date())+ " " + t.getStartTime();
|
|
|
+ String newEndTime = sdf.format(new Date())+ " " + t.getEndTime();
|
|
|
+ t.setStartTime(newStartTime);
|
|
|
+ t.setEndTime(newEndTime);
|
|
|
+ return t;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return topsNewPeaksAndValleysTimeConfigList;
|
|
|
+ }else if ("peaks".equals(type)){
|
|
|
+ List<PeaksAndValleysTimeConfig> peaksPeaksAndValleysTimeConfigList = peaksAndValleysTimeConfigParam.getPeaks();
|
|
|
+ List<PeaksAndValleysTimeConfig> peaksNewPeaksAndValleysTimeConfigList = peaksPeaksAndValleysTimeConfigList.stream().map(t->{
|
|
|
+ String newStartTime = sdf.format(new Date())+ " " + t.getStartTime();
|
|
|
+ String newEndTime = sdf.format(new Date())+ " " + t.getEndTime();
|
|
|
+ t.setStartTime(newStartTime);
|
|
|
+ t.setEndTime(newEndTime);
|
|
|
+ return t;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return peaksNewPeaksAndValleysTimeConfigList;
|
|
|
+ }else if ("flat".equals(type)){
|
|
|
+ List<PeaksAndValleysTimeConfig> flatPeaksAndValleysTimeConfigList = peaksAndValleysTimeConfigParam.getFlat();
|
|
|
+ List<PeaksAndValleysTimeConfig> flatNewPeaksAndValleysTimeConfigList = flatPeaksAndValleysTimeConfigList.stream().map(t->{
|
|
|
+ String newStartTime = sdf.format(new Date())+ " " + t.getStartTime();
|
|
|
+ String newEndTime = sdf.format(new Date())+ " " + t.getEndTime();
|
|
|
+ t.setStartTime(newStartTime);
|
|
|
+ t.setEndTime(newEndTime);
|
|
|
+ return t;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return flatNewPeaksAndValleysTimeConfigList;
|
|
|
+ }else if ("valleys".equals(type)){
|
|
|
+ List<PeaksAndValleysTimeConfig> valleysPeaksAndValleysTimeConfigList = peaksAndValleysTimeConfigParam.getValleys();
|
|
|
+ List<PeaksAndValleysTimeConfig> valleysNewPeaksAndValleysTimeConfigList = valleysPeaksAndValleysTimeConfigList.stream().map(t->{
|
|
|
+ String newStartTime = sdf.format(new Date())+ " " + t.getStartTime();
|
|
|
+ String newEndTime = sdf.format(new Date())+ " " + t.getEndTime();
|
|
|
+ t.setStartTime(newStartTime);
|
|
|
+ t.setEndTime(newEndTime);
|
|
|
+ return t;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ return valleysNewPeaksAndValleysTimeConfigList;
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 判断创建时间是否在开始时间和结束时间范围内
|
|
|
+ * @param createTime
|
|
|
+ * @param startTime
|
|
|
+ * @param endTime
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public static boolean containsCreateTime(LocalDateTime createTime, String startTime, String endTime) {
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ LocalDateTime start_time = LocalDateTime.parse(startTime, formatter);
|
|
|
+ LocalDateTime end_time = LocalDateTime.parse(endTime, formatter);
|
|
|
+ return createTime!= null && (createTime.isAfter(start_time) || createTime.equals(start_time)) &&
|
|
|
+ (createTime.isBefore(end_time) || createTime.equals(end_time));
|
|
|
+ }
|
|
|
}
|