diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDetailNew.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDetailNew.java index bc2e48afd..df8c16639 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDetailNew.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/EventDetailNew.java @@ -1,10 +1,14 @@ package com.njcn.event.pojo.po; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.influxdb.annotation.Column; +import org.springframework.format.annotation.DateTimeFormat; import java.math.BigDecimal; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; /** * @author cdf @@ -13,81 +17,79 @@ import java.math.BigDecimal; */ @Data -//@Measurement(name = "pqs_eventdetail") public class EventDetailNew { - @Column(name = "line_id") + private String lineId; - @Column(name = "time") + @ApiModelProperty(value = "开始时间") private String startTime; - @Column(name = "event_describe") + @ApiModelProperty(value = "事件描述") private String eventDescribe; - @Column(name = "wave_type") + @ApiModelProperty(value = "统计类型") private String eventType; - @Column(name = "persist_time") + @ApiModelProperty(value = "持续时间,单位秒") private Double duration; - @Column(name = "event_value") + @ApiModelProperty(value = "特征幅值") private Double featureAmplitude; - @Column(name = "event_reason") + @ApiModelProperty(value = "暂降原因(Event_Reason)") private String advanceReason; - @Column(name = "event_type") + @ApiModelProperty(value = "暂降类型(Event_Type)") private String advanceType; - @Column(name = "eventass_index") + private String eventassIndex; - @Column(name = "dq_time") + private Integer dqTime; - @Column(name = "deal_time") + private String dealTime; - @Column(name = "deal_flag") + private Integer dealFlag; - @Column(name = "num") private Integer num; - @Column(name = "file_flag") + private Integer fileFlag; - @Column(name = "first_time") + private String firstTime; - @Column(name = "first_type") + private String firstType; - @Column(name = "first_ms") + private Integer firstMs; - @Column(name = "wave_name") + @ApiModelProperty(value = "波形路径") private String wavePath; - @Column(name = "energy") + private Double energy; - @Column(name = "severity") + private Double severity; - @Column(name = "sagsource") + private String sagSource; - @Column(name = "create_time") + private String createTime; private String lineName; @@ -107,4 +109,14 @@ public class EventDetailNew { @ApiModelProperty(value = "暂时事件ID") private String eventId; + + public String getStartTime() { + return startTime; + } + + public void setStartTime(String startTime) { + //时间处理,LocalDateTime转string多一个T + startTime = startTime.replace("T"," "); + this.startTime = startTime; + } } diff --git a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java index d7a48a8a6..05fac21c2 100644 --- a/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java +++ b/pqs-event/event-api/src/main/java/com/njcn/event/pojo/po/RmpEventDetailPO.java @@ -85,7 +85,7 @@ public class RmpEventDetailPO implements Serializable { private String sagsource; @ApiModelProperty(value = "开始时间") - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS",timezone = "GMT+8") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS") private LocalDateTime startTime; @@ -106,7 +106,7 @@ public class RmpEventDetailPO implements Serializable { private Double transientValue; - private String createTime; + private LocalDateTime createTime; diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java index 347cd1bd5..7f49b53be 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/EventDetailServiceImpl.java @@ -121,37 +121,6 @@ public class EventDetailServiceImpl extends ServiceImpl= '").append(DateUtil.beginOfDay(DateUtil.parse(startTime))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(endTime))).append("' and ("); -// for (int i = 0; i < lineIndexes.size(); i++) { -// if (lineIndexes.size() - i != 1) { -// stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' or "); -// } else { -// stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' "); -// } -// } -// stringBuilder.append(") and ("); -// for (int i = 0; i < waveType.size(); i++) { -// if (waveType.size() - i != 1) { -// stringBuilder.append("wave_type ='").append(waveType.get(i)).append("' or "); -// } else { -// stringBuilder.append("wave_type ='").append(waveType.get(i)).append("' "); -// } -// } -// stringBuilder.append(") order by time desc"); -// int i = (pageNum - 1)*pageSize; -// stringBuilder.append(" LIMIT ").append(pageSize).append(" OFFSET ").append(i).append(" tz('Asia/Shanghai')"); -// //sql语句 -// String sql = "SELECT * FROM pqs_eventdetail WHERE " + stringBuilder; -// System.out.println(sql); -// //结果集 -// QueryResult result = influxDbUtils.query(sql); -// //结果集映射到对象中 -// InfluxDBResultMapper influxDBResultMapper = new InfluxDBResultMapper(); -// List eventDetailList = influxDBResultMapper.toPOJO(result, EventDetail.class); -// -// return eventDetailList; } } diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java index bc8c7bafe..b3858c738 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java @@ -110,13 +110,7 @@ public class TransientServiceImpl implements TransientService { List LineIndexes = deviceList.stream().flatMap(list -> list.getLineIndexes().stream()).collect(Collectors.toList()); if (!CollectionUtils.isEmpty(LineIndexes)) { - //influxDB查询待分页数据总量 - /* List data = eventDetailService.getEventDetail(LineIndexes, transientParam.getSearchBeginTime(), transientParam.getSearchEndTime(),transientParam.getWaveType()); - page.setTotal(data.size()); - //分页总页数 - int pages = (int) Math.ceil(data.size() * 1.0 / transientParam.getPageSize()); - page.setPages(pages);*/ - //influxDB分页查询 + List eventDetailData = eventDetailService.getEventDetailLimit(LineIndexes, transientParam.getSearchBeginTime(), transientParam.getSearchEndTime(), transientParam.getPageSize(), transientParam.getPageNum(), transientParam.getWaveType()); if (!CollectionUtils.isEmpty(eventDetailData)) { @@ -331,14 +325,11 @@ public class TransientServiceImpl implements TransientService { page= BeanUtil.copyProperties(pageInfo,Page.class); if (CollUtil.isNotEmpty(eventDetailData)) { - List lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).collect(Collectors.toList()); - lineIds = lineIds.stream().distinct().collect(Collectors.toList()); - + List lineIds = eventDetailData.stream().map(EventDetailNew::getLineId).distinct().collect(Collectors.toList()); List r = lineFeignClient.getBaseLineAreaInfo(lineIds).getData(); List reasonList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData(); List typeList = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData(); - for (EventDetailNew eventDetail : eventDetailData) { for (AreaLineInfoVO areaLineInfoVO : r) { if (eventDetail.getLineId().equals(areaLineInfoVO.getLineId())) { @@ -383,114 +374,7 @@ public class TransientServiceImpl implements TransientService { return page; } - /** - * 查询数据库 - */ - private Long getTransientDetail(StringBuilder stringBuilder, TransientParam transientParam) { - Long total = 0L; - //组装sql语句 - stringBuilder.append(" and time >= '").append(DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime()))).append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))).append("'").append(InfluxDBPublicParam.TIME_ZONE); - //sql语句 - String sql = "SELECT count(wave_type) FROM pqs_eventdetail WHERE " + stringBuilder; - System.out.println("sql------------->>>" + sql); - //结果集 - QueryResult result = influxDbUtils.query(sql); - //结果集映射到对象中 - List series = result.getResults().get(0).getSeries(); - if (CollUtil.isNotEmpty(series)) { - Double tem = (Double) series.get(0).getValues().get(0).get(1); - total = tem.longValue(); - } - return total; - } - /** - * 根据条件拼接sql语句 - */ - private List getTransientDetailLimit(List lineIndexes, TransientParam transientParam) { - //查询数据是否为空,不为空拼接sql语句 - StringBuilder querySql = new StringBuilder(); - if (Objects.nonNull(transientParam.getEventValueMin())) { - querySql.append(" and event_value >=").append(transientParam.getEventValueMin()); - } - if (Objects.nonNull(transientParam.getEventValueMax())) { - querySql.append(" and event_value <=").append(transientParam.getEventValueMax()); - } - - if (Objects.nonNull(transientParam.getPersistMin())) { - querySql.append(" and persist_time >=").append(transientParam.getPersistMin()); - } - if (Objects.nonNull(transientParam.getEventValueMax())) { - querySql.append(" and persist_time <=").append(transientParam.getPersistMax()); - } - - if (Objects.nonNull(transientParam.getSeverityMin())) { - querySql.append(" and severity >=").append(transientParam.getSeverityMin()); - } - if (Objects.nonNull(transientParam.getSeverityMax())) { - querySql.append(" and severity <=").append(transientParam.getSeverityMax()); - } - if (Objects.nonNull(transientParam.getFileFlag())) { - querySql.append(" and file_flag = ").append(transientParam.getFileFlag()); - } - - if (CollUtil.isNotEmpty(transientParam.getWaveType())) { - querySql.append(" and ( "); - for (int i = 0; i < transientParam.getWaveType().size(); i++) { - if (transientParam.getWaveType().size() - i != 1) { - querySql.append("wave_type =").append(transientParam.getWaveType().get(i)).append(" or "); - } else { - querySql.append("wave_type =").append(transientParam.getWaveType().get(i)).append(") "); - } - } - } - if (CollUtil.isNotEmpty(transientParam.getEventReason())) { - querySql.append(" and ( "); - for (int i = 0; i < transientParam.getEventReason().size(); i++) { - if (transientParam.getWaveType().size() - i != 1) { - querySql.append("event_reason =").append(transientParam.getEventReason().get(i)).append(" or "); - } else { - querySql.append("event_reason =").append(transientParam.getEventReason().get(i)).append(") "); - } - } - } - if (CollUtil.isNotEmpty(transientParam.getEventType())) { - querySql.append(" and ( "); - for (int i = 0; i < transientParam.getEventType().size(); i++) { - if (transientParam.getEventType().size() - i != 1) { - querySql.append("event_type =").append(transientParam.getEventType().get(i)).append(" or "); - } else { - querySql.append("event_type =").append(transientParam.getEventType().get(i)).append(") "); - } - } - } - - //组装sql语句 - StringBuilder stringBuilder = new StringBuilder(); - stringBuilder.append("time >= '").append(DateUtil.beginOfDay(DateUtil.parse(transientParam.getSearchBeginTime()))) - .append("' and ").append("time <= '").append(DateUtil.endOfDay(DateUtil.parse(transientParam.getSearchEndTime()))).append("'") - .append(querySql); - stringBuilder.append(" and ("); - for (int i = 0; i < lineIndexes.size(); i++) { - if (lineIndexes.size() - i != 1) { - stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("' or "); - } else { - stringBuilder.append("line_id ='").append(lineIndexes.get(i)).append("') "); - } - } - int i = (transientParam.getPageNum() - 1) * transientParam.getPageSize(); - stringBuilder.append(" LIMIT ").append(transientParam.getPageSize()).append(" OFFSET ").append(i).append(" tz('Asia/Shanghai')"); - //sql语句 - String sql = "SELECT * FROM pqs_eventdetail WHERE " + stringBuilder; - - //结果集 - QueryResult queryresult = influxDbUtils.query(sql); - //结果集映射到对象中 - InfluxDBResultMapperCn influxDBResultMapper = new InfluxDBResultMapperCn(); - List eventDetailList = influxDBResultMapper.toPOJO(queryresult, EventDetailNew.class); - - return eventDetailList; - } /** * 复制保存文件 diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java index b344771d1..e03d1d285 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java @@ -56,6 +56,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URL; import java.nio.charset.StandardCharsets; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -144,6 +145,7 @@ public class CustomReportServiceImpl implements CustomReportService { //修改模板数据 ExcelRptTemp excelRptTemp = new ExcelRptTemp(); BeanUtils.copyProperties(reportTemplateParam, excelRptTemp); + excelRptTemp.setUpdateTime(LocalDateTime.now()); excelRptTempMapper.updateById(excelRptTemp); return true; @@ -201,12 +203,13 @@ public class CustomReportServiceImpl implements CustomReportService { } @Override + @Transactional(rollbackFor = Exception.class) public boolean delTemplate(ReportSearchParam reportSearchParam) { //根据模板ID和部门ID删除绑定的数据 LambdaQueryWrapper lambdaQuery = new LambdaQueryWrapper<>(); - lambdaQuery.eq(SysDeptTemp::getTempId, reportSearchParam.getTempId()).eq(SysDeptTemp::getDeptId, reportSearchParam.getDeptId()); + lambdaQuery.eq(SysDeptTemp::getTempId, reportSearchParam.getTempId()); deptTempMapper.delete(lambdaQuery); - + excelRptTempMapper.deleteById(reportSearchParam.getTempId()); return true; } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyExceedRateServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyExceedRateServiceImpl.java index 64fb38c72..9f7b65c14 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyExceedRateServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/SteadyExceedRateServiceImpl.java @@ -513,43 +513,6 @@ public class SteadyExceedRateServiceImpl implements SteadyExceedRateService { } return limitRatePOS; - //组装sql语句 - // StringBuilder string = new StringBuilder(); - // string.append(Param.QualityFlag + "='1' and (" + Param.PHASIC_TYPE + "='" + Param.PHASIC_TYPEA + "' or " + Param.PHASIC_TYPE + "='" + Param.PHASIC_TYPEB + "' or " + Param.PHASIC_TYPE + "='" + Param.PHASIC_TYPEC + "') and "+ Param.VALUETYPE + "='AVG' and "); -// StringBuilder timeId = new StringBuilder(); -// timeId.append(InfluxDBPublicParam.PHASIC_TYPE + "='" + InfluxDBPublicParam.PHASIC_TYPET + "' and " + InfluxDBPublicParam.TIME + " >= '" + startTime + InfluxDBPublicParam.START_TIME + "' and " + InfluxDBPublicParam.TIME + " <= '" + endTime + InfluxDBPublicParam.END_TIME + "' and "); -// for (int i = 0; i < lineIndexes.size(); i++) { -// if (lineIndexes.size() - i != 1) { -// timeId.append(InfluxDBPublicParam.LINE_ID + "='").append(lineIndexes.get(i)).append("' or "); -// } else { -// timeId.append(InfluxDBPublicParam.LINE_ID + "='").append(lineIndexes.get(i)).append("' tz('Asia/Shanghai')"); -// } -// } -// //sql语句 -// String sql = "SELECT * FROM "+ InfluxDBPublicParam.LIMIT_RATE +" WHERE " + timeId; -// //结果集 -// QueryResult result = influxDbUtils.query(sql); -// // if (Objects.isNull(result.getResults().get(0).getSeries())) { -// // throw new BusinessException(HarmonicResponseEnum.LIMIT_RATE_ERROR); -// // } -// //结果集映射到对象中 -// InfluxDBResultMapper resultMapper = new InfluxDBResultMapper(); -// limitRatePOS = resultMapper.toPOJO(result, LimitRatePO.class); -// //将时间处理为年月日的字符串 -// DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); -// DateTimeFormatter monthFormatter = DateTimeFormatter.ofPattern("yyyy-MM"); -// limitRatePOS.forEach(item->{ -// Instant instant = item.getTime(); -// ZoneId zoneId = ZoneId.systemDefault(); -// LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId); -// String dateStr = dateTimeFormatter.format(localDateTime); -// String monthStr = monthFormatter.format(localDateTime); -// item.setDayStr(dateStr); -// item.setMouthStr(monthStr); -// }); -// -// -// return limitRatePOS; } } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java index 29f008a25..678ecd860 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/THDistortionServiceImpl.java @@ -130,8 +130,8 @@ public class THDistortionServiceImpl implements THDistortionService { deviceInfoParam.setDeptIndex(statisticsBizBaseParam.getId()); deviceInfoParam.setStatisticalType(new SimpleDTO()); deviceInfoParam.setServerName(generalInfo.getMicroServiceName()); - deviceInfoParam.setPowerFlag(0); - deviceInfoParam.setMonitorFlag(0); + deviceInfoParam.setPowerFlag(2); + deviceInfoParam.setMonitorFlag(2); /*获取按部门分类的实际所有终端综合信息*/ List deviceList = generalDeviceInfoClient.getPracticalAllDeviceInfoAsDept(deviceInfoParam).getData(); /*监测点ID扁平化*/ @@ -139,7 +139,7 @@ public class THDistortionServiceImpl implements THDistortionService { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.in("measurement_point_id", collect) .between("data_date", statisticsBizBaseParam.getStartTime(), statisticsBizBaseParam.getEndTime()) - .eq("data_type", 1) + .eq("data_type", 0) .orderByDesc("v_thd"); List rMpVThdList = rMpVThdMapper.selectList(wrapper); rMpVThdVOList = rMpVThdList.stream().limit(topNum).map(rMpVThd -> { diff --git a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/LimitRateServiceTest.java b/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/LimitRateServiceTest.java deleted file mode 100644 index f8a7c8317..000000000 --- a/pqs-prepare/prepare-boot/src/main/java/com/njcn/prepare/harmonic/controller/LimitRateServiceTest.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.njcn.prepare.harmonic.controller; - -import com.njcn.harmonic.pojo.po.ExcelRptTemp; -import com.njcn.influxdb.utils.InfluxDbUtils; -import com.njcn.prepare.harmonic.mapper.mysql.line.ExcelRptTempMapper; -import com.njcn.prepare.harmonic.pojo.influxdb.po.DataVPO; -import com.njcn.prepare.harmonic.service.mysql.Impl.line.LimitRateService; -import org.influxdb.dto.QueryResult; -import org.influxdb.impl.InfluxDBResultMapper; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.test.context.web.WebAppConfiguration; - -import java.text.ParseException; -import java.util.List; -import java.util.stream.Collectors; -import java.util.stream.Stream; - -/** - * Description: - * 接口文档访问地址:http://serverIP:port/swagger-ui.html - * Date: 2022/10/18 20:15【需求编号】 - * - * @author clam - * @version V1.0.0 - */ -@RunWith(SpringRunner.class) -@WebAppConfiguration -@SpringBootTest -public class LimitRateServiceTest { - private @Autowired - LimitRateService limitRateService; - private @Autowired - InfluxDbUtils influxDbUtils; - - private @Autowired - ExcelRptTempMapper excelRptTempMapper; - - @Test - public void test() throws ParseException { - System.out.println("spring test start"); - limitRateService.limitRateJobHandler (Stream.of ("8696be1d170e05b7d848accc059f4558" ).collect(Collectors.toList()), "2022-10-15 00:00:00", "2022-10-15 23:59:59"); - } - - @Test - public void test1(){ - System.out.println("spring test start"); - String sql ="SELECT * FROM data_v where time >= '2022-10-15 00:00:00' and time <= '2022-10-15 23:59:59' "; - influxDbUtils.setDbName ("pqsbase_test"); - - QueryResult sqlResult = influxDbUtils.query (sql); - InfluxDBResultMapper resultMapper = new InfluxDBResultMapper ( ); - List list = resultMapper.toPOJO (sqlResult, DataVPO.class); - System.out.println ("spring test end" ); - } - - - @Test - public void test3(){ - System.out.println("spring test start"); - ExcelRptTemp excelRptTemp = excelRptTempMapper.selectById ("8c7f0cb540904ddeb8fbedef288579d7"); - System.out.println (excelRptTemp.getId () ); -// limitRateService.limitRateJobHandler (Stream.of ("8696be1d170e05b7d848accc059f4558" ).collect(Collectors.toList()), "2022-10-15 00:00:00", "2022-10-15 23:59:59"); - } - - - -}