From 4ee100a72b222575f5d5ffd2a21eb2124132cb40 Mon Sep 17 00:00:00 2001
From: cdf <857448963@qq.com>
Date: Tue, 9 Dec 2025 08:57:18 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9A=82=E9=99=8D=E7=9B=91=E6=B5=8B=E7=82=B9?=
=?UTF-8?q?=E6=8A=A5=E5=91=8A=E6=8E=A5=E5=8F=A3=E8=BF=81=E7=A7=BB=EF=BC=88?=
=?UTF-8?q?=E5=90=8E=E7=BB=AD=E9=9C=80=E8=A6=81=E5=90=88=E5=B9=B6=E4=BB=A3?=
=?UTF-8?q?=E7=A0=81=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
cs-harmonic/cs-harmonic-api/pom.xml | 5 +
.../pojo/dto/eventReport/EventDetail.java | 112 ++
.../pojo/param/eventReport/ExportParam.java | 75 +
.../param/eventReport/StatisticsParam.java | 36 +
.../pojo/po/day/RStatLimitRateDPO.java | 614 --------
.../pojo/po/day/RStatLimitRateDetailDPO.java | 592 --------
.../pojo/vo/eventReport/DISDIPVO.java | 48 +
.../pojo/vo/eventReport/IEC28VO.java | 47 +
.../pojo/vo/eventReport/IEC411VO.java | 42 +
.../pojo/vo/eventReport/ProbabilityVO.java | 33 +
.../pojo/vo/eventReport/ReasonsVO.java | 31 +
.../pojo/vo/eventReport/StatisticVO.java | 43 +
.../pojo/vo/eventReport/TimeVO.java | 41 +
.../pojo/vo/eventReport/TypesVO.java | 27 +
.../utils/eventReport/WordUtils.java | 350 +++++
.../csharmonic/utils/report/WordUtil2.java | 46 +-
.../EventMonitorReportController.java | 47 +
.../controller/WordExportModelController.java | 2 +-
.../event/EventMonitorReportService.java | 21 +
.../service/event/EventReportService.java | 80 ++
.../event/EventMonitorReportServiceImpl.java | 592 ++++++++
.../impl/event/EventReportServiceImpl.java | 1257 +++++++++++++++++
22 files changed, 2921 insertions(+), 1220 deletions(-)
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/eventReport/EventDetail.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/eventReport/ExportParam.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/eventReport/StatisticsParam.java
delete mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/day/RStatLimitRateDPO.java
delete mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/day/RStatLimitRateDetailDPO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/DISDIPVO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/IEC28VO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/IEC411VO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/ProbabilityVO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/ReasonsVO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/StatisticVO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/TimeVO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/TypesVO.java
create mode 100644 cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/utils/eventReport/WordUtils.java
create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/EventMonitorReportController.java
create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/event/EventMonitorReportService.java
create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/event/EventReportService.java
create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventMonitorReportServiceImpl.java
create mode 100644 cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventReportServiceImpl.java
diff --git a/cs-harmonic/cs-harmonic-api/pom.xml b/cs-harmonic/cs-harmonic-api/pom.xml
index 2473bef..e201c4e 100644
--- a/cs-harmonic/cs-harmonic-api/pom.xml
+++ b/cs-harmonic/cs-harmonic-api/pom.xml
@@ -57,6 +57,11 @@
1.0.0
compile
+
+ com.njcn
+ common-poi
+ ${project.version}
+
UTF-8
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/eventReport/EventDetail.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/eventReport/EventDetail.java
new file mode 100644
index 0000000..f836e4d
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/dto/eventReport/EventDetail.java
@@ -0,0 +1,112 @@
+package com.njcn.csharmonic.pojo.dto.eventReport;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import org.influxdb.annotation.Column;
+import org.influxdb.annotation.Measurement;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+/**
+ * @author denghuajun
+ * @version 1.0.0
+ * @date 2022年04月07日 08:59
+ */
+
+@Data
+@Measurement(name = "pqs_eventdetail")
+//@TableName("r_mp_event_detail")
+public class EventDetail {
+
+ @ApiModelProperty(name = "eventId",value ="暂态事件id")
+ private String eventId;
+
+ @Column(name = "line_id")
+ private String lineId;
+
+ @Column(name = "time")
+ @ApiModelProperty(value = "开始时间")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS",timezone = "GMT+8")
+ private LocalDateTime 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;
+
+ private BigDecimal lat;
+
+ private BigDecimal lng;
+
+ private String gdName;
+
+ private String subName;
+
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/eventReport/ExportParam.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/eventReport/ExportParam.java
new file mode 100644
index 0000000..ef025f7
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/eventReport/ExportParam.java
@@ -0,0 +1,75 @@
+package com.njcn.csharmonic.pojo.param.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月16日 19:37
+ */
+@Data
+public class ExportParam implements Serializable {
+
+ @ApiModelProperty(name = "lineId",value = "监测点ID")
+ private String lineId;
+
+ @ApiModelProperty(name = "searchBeginTime",value = "开始时间")
+ private String searchBeginTime;
+
+ @ApiModelProperty(name = "searchEndTime",value = "结束时间")
+ private String searchEndTime;
+
+ @ApiModelProperty(name = "lineName",value = "监测点名称")
+ private String lineName;
+
+ @ApiModelProperty(name = "xq",value = "监测点详情",example = "true")
+ private boolean xq;
+
+ @ApiModelProperty(name = "lb",value = "暂降事件列表",example = "true")
+ private boolean lb;
+
+ @ApiModelProperty(name = "mdbg",value = "暂降密度表格",example = "false")
+ private boolean mdbg;
+
+ @ApiModelProperty(name = "mdtx",value = "暂降密度图形",example = "false")
+ private boolean mdtx;
+
+ @ApiModelProperty(name = "sjdITIC",value = "暂降时间点ITIC",example = "false")
+ private boolean sjdITIC;
+
+ @ApiModelProperty(name = "sjdF47",value = "暂降时间点F47",example = "false")
+ private boolean sjdF47;
+
+ @ApiModelProperty(name = "glfbfz",value = "概率分布暂降赋值",example = "false")
+ private boolean glfbfz;
+
+ @ApiModelProperty(name = "glfbsj",value = "概率分布持续时间",example = "false")
+ private boolean glfbsj;
+
+ @ApiModelProperty(name = "tjbg",value = "月份统计表格",example = "false")
+ private boolean tjbg;
+
+ @ApiModelProperty(name = "tjtx",value = "月份统计图形",example = "false")
+ private boolean tjtx;
+
+ @ApiModelProperty(name = "yybg",value = "暂降原因表格",example = "false")
+ private boolean yybg;
+
+ @ApiModelProperty(name = "yytx",value = "暂降原因图形",example = "false")
+ private boolean yytx;
+
+ @ApiModelProperty(name = "lxbg",value = "暂降类型表格",example = "false")
+ private boolean lxbg;
+
+ @ApiModelProperty(name = "lxtx",value = "暂降类型图形",example = "false")
+ private boolean lxtx;
+
+ @ApiModelProperty(name = "flag",value = "标识")
+ private Integer flag;
+
+ @ApiModelProperty(name = "type",value = "系统区分(0:pq 1:pms)")
+ private Integer type;
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/eventReport/StatisticsParam.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/eventReport/StatisticsParam.java
new file mode 100644
index 0000000..4a62cbe
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/param/eventReport/StatisticsParam.java
@@ -0,0 +1,36 @@
+package com.njcn.csharmonic.pojo.param.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月01日 15:35
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class StatisticsParam implements Serializable {
+
+ @NotBlank(message = "没有监测点ID")
+ @ApiModelProperty(name = "lineIndex",value = "监测点ID")
+ private String lineIndex;
+
+ @NotBlank(message = "没有开始时间")
+ @ApiModelProperty(name = "startTime",value = "开始时间")
+ private String startTime;
+
+ @NotBlank(message = "没有结束时间")
+ @ApiModelProperty(name = "endTime",value = "结束时间")
+ private String endTime;
+
+ @ApiModelProperty(name = "flag",value = "标识")
+ private Integer flag;
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/day/RStatLimitRateDPO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/day/RStatLimitRateDPO.java
deleted file mode 100644
index af5a516..0000000
--- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/day/RStatLimitRateDPO.java
+++ /dev/null
@@ -1,614 +0,0 @@
-//package com.njcn.csharmonic.pojo.po.day;
-//
-//import com.baomidou.mybatisplus.annotation.TableField;
-//import com.baomidou.mybatisplus.annotation.TableName;
-//import com.fasterxml.jackson.annotation.JsonFormat;
-//import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
-//import com.njcn.harmonic.annotaion.HarCurrent;
-//import com.njcn.harmonic.annotaion.HarVoltage;
-//import com.njcn.harmonic.annotaion.InterharVoltage;
-//import io.swagger.annotations.ApiModelProperty;
-//import lombok.AllArgsConstructor;
-//import lombok.Data;
-//import lombok.NoArgsConstructor;
-//
-//import java.time.LocalDate;
-//
-//@Data
-//@AllArgsConstructor
-//@NoArgsConstructor
-//@TableName(value = "r_stat_limit_rate_d")
-//public class RStatLimitRateDPO {
-// /**
-// * 监测点ID合格率的变电站/装置/母线/线路序号
-// */
-// @MppMultiId
-// @TableField(value = "my_index")
-// @ApiModelProperty(value = "监测点ID合格率的变电站/装置/母线/线路序号")
-// private String lineId;
-//
-// /**
-// * 数据类型,’A’表示A相,’B’表示B相,’C’表示C相,’’M’表示ABC三项总和,T’表示总
-// */
-// @MppMultiId
-// @TableField(value = "phasic_type")
-// @ApiModelProperty(value = "数据类型,'A'表示A相,'B'表示B相,'C'表示C相,''M'表示ABC三项总和,T'表示总")
-// private String phasicType;
-//
-// /**
-// * 合格率时间
-// */
-// @MppMultiId
-// @TableField(value = "time_id")
-// @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-// @ApiModelProperty(value = "合格率时间")
-// private LocalDate time;
-//
-// /**
-// * 总计算次数
-// */
-// @TableField(value = "all_time")
-// @ApiModelProperty(value = "总计算次数")
-// private Integer allTime;
-//
-// /**
-// * 闪变越限次数
-// */
-// @TableField(value = "flicker_overtime")
-// @ApiModelProperty(value = "闪变越限次数")
-// private Integer flickerOvertime;
-//
-// /**
-// * 闪变总计算次数
-// */
-// @TableField(value = "flicker_all_time")
-// @ApiModelProperty(value = "闪变总计算次数")
-// private Integer flickerAllTime;
-//
-// /**
-// * 频率偏差越限次数
-// */
-// @TableField(value = "freq_dev_overtime")
-// @ApiModelProperty(value = "频率偏差越限次数")
-// private Integer freqDevOvertime;
-//
-// /**
-// * 电压偏差越限次数
-// */
-// @TableField(value = "voltage_dev_overtime")
-// @ApiModelProperty(value = "电压偏差越限次数")
-// private Integer voltageDevOvertime;
-//
-// /**
-// * 三相电压不平衡度越限次数
-// */
-// @TableField(value = "ubalance_overtime")
-// @ApiModelProperty(value = "三相电压不平衡度越限次数")
-// private Integer ubalanceOvertime;
-//
-// /**
-// * 电压谐波畸变率越限次数
-// */
-// @TableField(value = "uaberrance_overtime")
-// @ApiModelProperty(value = "电压谐波畸变率越限次数")
-// private Integer uaberranceOvertime;
-//
-// /**
-// * 负序电流限值次数
-// */
-// @TableField(value = "i_neg_overtime")
-// @ApiModelProperty(value = "负序电流限值次数")
-// private Integer iNegOvertime;
-//
-// /**
-// * 2次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_2_overtime")
-// @ApiModelProperty(value = "2次电压谐波含有率越限次数")
-// private Integer uharm2Overtime;
-//
-// /**
-// * 3次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_3_overtime")
-// @ApiModelProperty(value = "3次电压谐波含有率越限次数")
-// private Integer uharm3Overtime;
-//
-// /**
-// * 4次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_4_overtime")
-// @ApiModelProperty(value = "4次电压谐波含有率越限次数")
-// private Integer uharm4Overtime;
-//
-// /**
-// * 5次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_5_overtime")
-// @ApiModelProperty(value = "5次电压谐波含有率越限次数")
-// private Integer uharm5Overtime;
-//
-// /**
-// * 6次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_6_overtime")
-// @ApiModelProperty(value = "6次电压谐波含有率越限次数")
-// private Integer uharm6Overtime;
-//
-// /**
-// * 7次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_7_overtime")
-// @ApiModelProperty(value = "7次电压谐波含有率越限次数")
-// private Integer uharm7Overtime;
-//
-// /**
-// * 8次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_8_overtime")
-// @ApiModelProperty(value = "8次电压谐波含有率越限次数")
-// private Integer uharm8Overtime;
-//
-// /**
-// * 9次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_9_overtime")
-// @ApiModelProperty(value = "9次电压谐波含有率越限次数")
-// private Integer uharm9Overtime;
-//
-// /**
-// * 10次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_10_overtime")
-// @ApiModelProperty(value = "10次电压谐波含有率越限次数")
-// private Integer uharm10Overtime;
-//
-// /**
-// * 11次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_11_overtime")
-// @ApiModelProperty(value = "11次电压谐波含有率越限次数")
-// private Integer uharm11Overtime;
-//
-// /**
-// * 12次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_12_overtime")
-// @ApiModelProperty(value = "12次电压谐波含有率越限次数")
-// private Integer uharm12Overtime;
-//
-// /**
-// * 13次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_13_overtime")
-// @ApiModelProperty(value = "13次电压谐波含有率越限次数")
-// private Integer uharm13Overtime;
-//
-// /**
-// * 14次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_14_overtime")
-// @ApiModelProperty(value = "14次电压谐波含有率越限次数")
-// private Integer uharm14Overtime;
-//
-// /**
-// * 15次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_15_overtime")
-// @ApiModelProperty(value = "15次电压谐波含有率越限次数")
-// private Integer uharm15Overtime;
-//
-// /**
-// * 16次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_16_overtime")
-// @ApiModelProperty(value = "16次电压谐波含有率越限次数")
-// private Integer uharm16Overtime;
-//
-// /**
-// * 17次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_17_overtime")
-// @ApiModelProperty(value = "17次电压谐波含有率越限次数")
-// private Integer uharm17Overtime;
-//
-// /**
-// * 18次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_18_overtime")
-// @ApiModelProperty(value = "18次电压谐波含有率越限次数")
-// private Integer uharm18Overtime;
-//
-// /**
-// * 19次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_19_overtime")
-// @ApiModelProperty(value = "19次电压谐波含有率越限次数")
-// private Integer uharm19Overtime;
-//
-// /**
-// * 20次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_20_overtime")
-// @ApiModelProperty(value = "20次电压谐波含有率越限次数")
-// private Integer uharm20Overtime;
-//
-// /**
-// * 21次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_21_overtime")
-// @ApiModelProperty(value = "21次电压谐波含有率越限次数")
-// private Integer uharm21Overtime;
-//
-// /**
-// * 22次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_22_overtime")
-// @ApiModelProperty(value = "22次电压谐波含有率越限次数")
-// private Integer uharm22Overtime;
-//
-// /**
-// * 23次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_23_overtime")
-// @ApiModelProperty(value = "23次电压谐波含有率越限次数")
-// private Integer uharm23Overtime;
-//
-// /**
-// * 24次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_24_overtime")
-// @ApiModelProperty(value = "24次电压谐波含有率越限次数")
-// private Integer uharm24Overtime;
-//
-// /**
-// * 25次电压谐波含有率越限次数
-// */
-// @HarVoltage
-// @TableField(value = "uharm_25_overtime")
-// @ApiModelProperty(value = "25次电压谐波含有率越限次数")
-// private Integer uharm25Overtime;
-//
-// /**
-// * 2次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_2_overtime")
-// @ApiModelProperty(value = "2次电流谐波幅值越限次数")
-// private Integer iharm2Overtime;
-//
-// /**
-// * 3次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_3_overtime")
-// @ApiModelProperty(value = "3次电流谐波幅值越限次数")
-// private Integer iharm3Overtime;
-//
-// /**
-// * 4次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_4_overtime")
-// @ApiModelProperty(value = "4次电流谐波幅值越限次数")
-// private Integer iharm4Overtime;
-//
-// /**
-// * 5次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_5_overtime")
-// @ApiModelProperty(value = "5次电流谐波幅值越限次数")
-// private Integer iharm5Overtime;
-//
-// /**
-// * 6次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_6_overtime")
-// @ApiModelProperty(value = "6次电流谐波幅值越限次数")
-// private Integer iharm6Overtime;
-//
-// /**
-// * 7次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_7_overtime")
-// @ApiModelProperty(value = "7次电流谐波幅值越限次数")
-// private Integer iharm7Overtime;
-//
-// /**
-// * 8次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_8_overtime")
-// @ApiModelProperty(value = "8次电流谐波幅值越限次数")
-// private Integer iharm8Overtime;
-//
-// /**
-// * 9次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_9_overtime")
-// @ApiModelProperty(value = "9次电流谐波幅值越限次数")
-// private Integer iharm9Overtime;
-//
-// /**
-// * 10次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_10_overtime")
-// @ApiModelProperty(value = "10次电流谐波幅值越限次数")
-// private Integer iharm10Overtime;
-//
-// /**
-// * 11次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_11_overtime")
-// @ApiModelProperty(value = "11次电流谐波幅值越限次数")
-// private Integer iharm11Overtime;
-//
-// /**
-// * 12次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_12_overtime")
-// @ApiModelProperty(value = "12次电流谐波幅值越限次数")
-// private Integer iharm12Overtime;
-//
-// /**
-// * 13次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_13_overtime")
-// @ApiModelProperty(value = "13次电流谐波幅值越限次数")
-// private Integer iharm13Overtime;
-//
-// /**
-// * 14次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_14_overtime")
-// @ApiModelProperty(value = "14次电流谐波幅值越限次数")
-// private Integer iharm14Overtime;
-//
-// /**
-// * 15次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_15_overtime")
-// @ApiModelProperty(value = "15次电流谐波幅值越限次数")
-// private Integer iharm15Overtime;
-//
-// /**
-// * 16次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_16_overtime")
-// @ApiModelProperty(value = "16次电流谐波幅值越限次数")
-// private Integer iharm16Overtime;
-//
-// /**
-// * 17次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_17_overtime")
-// @ApiModelProperty(value = "17次电流谐波幅值越限次数")
-// private Integer iharm17Overtime;
-//
-// /**
-// * 18次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_18_overtime")
-// @ApiModelProperty(value = "18次电流谐波幅值越限次数")
-// private Integer iharm18Overtime;
-//
-// /**
-// * 19次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_19_overtime")
-// @ApiModelProperty(value = "19次电流谐波幅值越限次数")
-// private Integer iharm19Overtime;
-//
-// /**
-// * 20次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_20_overtime")
-// @ApiModelProperty(value = "20次电流谐波幅值越限次数")
-// private Integer iharm20Overtime;
-//
-// /**
-// * 21次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_21_overtime")
-// @ApiModelProperty(value = "21次电流谐波幅值越限次数")
-// private Integer iharm21Overtime;
-//
-// /**
-// * 22次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_22_overtime")
-// @ApiModelProperty(value = "22次电流谐波幅值越限次数")
-// private Integer iharm22Overtime;
-//
-// /**
-// * 23次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_23_overtime")
-// @ApiModelProperty(value = "23次电流谐波幅值越限次数")
-// private Integer iharm23Overtime;
-//
-// /**
-// * 24次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_24_overtime")
-// @ApiModelProperty(value = "24次电流谐波幅值越限次数")
-// private Integer iharm24Overtime;
-//
-// /**
-// * 25次电流谐波幅值越限次数
-// */
-// @HarCurrent
-// @TableField(value = "iharm_25_overtime")
-// @ApiModelProperty(value = "25次电流谐波幅值越限次数")
-// private Integer iharm25Overtime;
-//
-// /**
-// * 0.5次间谐波电压限值次数
-// */
-// @TableField(value = "inuharm_1_overtime")
-// @InterharVoltage
-// @ApiModelProperty(value = "0.5次间谐波电压限值次数")
-// private Integer inuharm1Overtime;
-//
-// /**
-// * 1.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_2_overtime")
-// @ApiModelProperty(value = "1.5次间谐波电压限值次数")
-// private Integer inuharm2Overtime;
-//
-// /**
-// * 2.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_3_overtime")
-// @ApiModelProperty(value = "2.5次间谐波电压限值次数")
-// private Integer inuharm3Overtime;
-//
-// /**
-// * 3.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_4_overtime")
-// @ApiModelProperty(value = "3.5次间谐波电压限值次数")
-// private Integer inuharm4Overtime;
-//
-// /**
-// * 4.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_5_overtime")
-// @ApiModelProperty(value = "4.5次间谐波电压限值次数")
-// private Integer inuharm5Overtime;
-//
-// /**
-// * 5.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_6_overtime")
-// @ApiModelProperty(value = "5.5次间谐波电压限值次数")
-// private Integer inuharm6Overtime;
-//
-// /**
-// * 6.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_7_overtime")
-// @ApiModelProperty(value = "6.5次间谐波电压限值次数")
-// private Integer inuharm7Overtime;
-//
-// /**
-// * 7.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_8_overtime")
-// @ApiModelProperty(value = "7.5次间谐波电压限值次数")
-// private Integer inuharm8Overtime;
-//
-// /**
-// * 8.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_9_overtime")
-// @ApiModelProperty(value = "8.5次间谐波电压限值次数")
-// private Integer inuharm9Overtime;
-//
-// /**
-// * 9.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_10_overtime")
-// @ApiModelProperty(value = "9.5次间谐波电压限值次数")
-// private Integer inuharm10Overtime;
-//
-// /**
-// * 10.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_11_overtime")
-// @ApiModelProperty(value = "10.5次间谐波电压限值次数")
-// private Integer inuharm11Overtime;
-//
-// /**
-// * 11.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_12_overtime")
-// @ApiModelProperty(value = "11.5次间谐波电压限值次数")
-// private Integer inuharm12Overtime;
-//
-// /**
-// * 12.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_13_overtime")
-// @ApiModelProperty(value = "12.5次间谐波电压限值次数")
-// private Integer inuharm13Overtime;
-//
-// /**
-// * 13.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_14_overtime")
-// @ApiModelProperty(value = "13.5次间谐波电压限值次数")
-// private Integer inuharm14Overtime;
-//
-// /**
-// * 14.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_15_overtime")
-// @ApiModelProperty(value = "14.5次间谐波电压限值次数")
-// private Integer inuharm15Overtime;
-//
-// /**
-// * 15.5次间谐波电压限值次数
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_16_overtime")
-// @ApiModelProperty(value = "15.5次间谐波电压限值次数")
-// private Integer inuharm16Overtime;
-//}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/day/RStatLimitRateDetailDPO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/day/RStatLimitRateDetailDPO.java
deleted file mode 100644
index 322bb3c..0000000
--- a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/po/day/RStatLimitRateDetailDPO.java
+++ /dev/null
@@ -1,592 +0,0 @@
-//package com.njcn.csharmonic.pojo.po.day;
-//
-//import com.baomidou.mybatisplus.annotation.TableField;
-//import com.baomidou.mybatisplus.annotation.TableName;
-//import com.fasterxml.jackson.annotation.JsonFormat;
-//import com.github.jeffreyning.mybatisplus.anno.MppMultiId;
-//
-//import io.swagger.annotations.ApiModelProperty;
-//import lombok.AllArgsConstructor;
-//import lombok.Data;
-//import lombok.NoArgsConstructor;
-//
-//import java.time.LocalDate;
-//
-//@Data
-//@AllArgsConstructor
-//@NoArgsConstructor
-//@TableName(value = "r_stat_limit_rate_detail_d")
-//public class RStatLimitRateDetailDPO {
-//
-// /**
-// * 合格率时间
-// */
-// @MppMultiId
-// @TableField(value = "time_id")
-// @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-// @ApiModelProperty(value = "合格率时间")
-// private LocalDate time;
-//
-// /**
-// * 监测点ID合格率的变电站/装置/母线/线路序号
-// */
-// @MppMultiId
-// @TableField(value = "my_index")
-// @ApiModelProperty(value = "监测点ID合格率的变电站/装置/母线/线路序号")
-// private String lineId;
-//
-//
-// /**
-// * 频率偏差越限数据
-// */
-// @TableField(value = "freq_dev_overtime")
-// @ApiModelProperty(value = "频率偏差越限数据")
-// private String freqDevOvertime;
-//
-// /**
-// * 电压偏差越限数据
-// */
-// @TableField(value = "voltage_dev_overtime")
-// @ApiModelProperty(value = "电压偏差越限数据")
-// private String voltageDevOvertime;
-//
-// /**
-// * 三相电压不平衡度越限数据
-// */
-// @TableField(value = "ubalance_overtime")
-// @ApiModelProperty(value = "三相电压不平衡度越限数据")
-// private String ubalanceOvertime;
-// /**
-// * 闪变越限数据
-// */
-// @TableField(value = "flicker_overtime")
-// @ApiModelProperty(value = "闪变越限数据")
-// private String flickerOvertime;
-//
-//
-// /**
-// * 电压谐波畸变率越限数据
-// */
-// @TableField(value = "uaberrance_overtime")
-// @ApiModelProperty(value = "电压谐波畸变率越限数据")
-// private String uaberranceOvertime;
-//
-// /**
-// * 负序电流限值数据
-// */
-// @TableField(value = "i_neg_overtime")
-// @ApiModelProperty(value = "负序电流限值数据")
-// private String iNegOvertime;
-//
-// /**
-// * 2次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_2_overtime")
-// @ApiModelProperty(value = "2次电压谐波含有率越限数据")
-// private String uharm2Overtime;
-//
-// /**
-// * 3次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_3_overtime")
-// @ApiModelProperty(value = "3次电压谐波含有率越限数据")
-// private String uharm3Overtime;
-//
-// /**
-// * 4次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_4_overtime")
-// @ApiModelProperty(value = "4次电压谐波含有率越限数据")
-// private String uharm4Overtime;
-//
-// /**
-// * 5次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_5_overtime")
-// @ApiModelProperty(value = "5次电压谐波含有率越限数据")
-// private String uharm5Overtime;
-//
-// /**
-// * 6次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_6_overtime")
-// @ApiModelProperty(value = "6次电压谐波含有率越限数据")
-// private String uharm6Overtime;
-//
-// /**
-// * 7次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_7_overtime")
-// @ApiModelProperty(value = "7次电压谐波含有率越限数据")
-// private String uharm7Overtime;
-//
-// /**
-// * 8次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_8_overtime")
-// @ApiModelProperty(value = "8次电压谐波含有率越限数据")
-// private String uharm8Overtime;
-//
-// /**
-// * 9次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_9_overtime")
-// @ApiModelProperty(value = "9次电压谐波含有率越限数据")
-// private String uharm9Overtime;
-//
-// /**
-// * 10次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_10_overtime")
-// @ApiModelProperty(value = "10次电压谐波含有率越限数据")
-// private String uharm10Overtime;
-//
-// /**
-// * 11次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_11_overtime")
-// @ApiModelProperty(value = "11次电压谐波含有率越限数据")
-// private String uharm11Overtime;
-//
-// /**
-// * 12次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_12_overtime")
-// @ApiModelProperty(value = "12次电压谐波含有率越限数据")
-// private String uharm12Overtime;
-//
-// /**
-// * 13次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_13_overtime")
-// @ApiModelProperty(value = "13次电压谐波含有率越限数据")
-// private String uharm13Overtime;
-//
-// /**
-// * 14次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_14_overtime")
-// @ApiModelProperty(value = "14次电压谐波含有率越限数据")
-// private String uharm14Overtime;
-//
-// /**
-// * 15次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_15_overtime")
-// @ApiModelProperty(value = "15次电压谐波含有率越限数据")
-// private String uharm15Overtime;
-//
-// /**
-// * 16次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_16_overtime")
-// @ApiModelProperty(value = "16次电压谐波含有率越限数据")
-// private String uharm16Overtime;
-//
-// /**
-// * 17次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_17_overtime")
-// @ApiModelProperty(value = "17次电压谐波含有率越限数据")
-// private String uharm17Overtime;
-//
-// /**
-// * 18次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_18_overtime")
-// @ApiModelProperty(value = "18次电压谐波含有率越限数据")
-// private String uharm18Overtime;
-//
-// /**
-// * 19次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_19_overtime")
-// @ApiModelProperty(value = "19次电压谐波含有率越限数据")
-// private String uharm19Overtime;
-//
-// /**
-// * 20次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_20_overtime")
-// @ApiModelProperty(value = "20次电压谐波含有率越限数据")
-// private String uharm20Overtime;
-//
-// /**
-// * 21次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_21_overtime")
-// @ApiModelProperty(value = "21次电压谐波含有率越限数据")
-// private String uharm21Overtime;
-//
-// /**
-// * 22次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_22_overtime")
-// @ApiModelProperty(value = "22次电压谐波含有率越限数据")
-// private String uharm22Overtime;
-//
-// /**
-// * 23次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_23_overtime")
-// @ApiModelProperty(value = "23次电压谐波含有率越限数据")
-// private String uharm23Overtime;
-//
-// /**
-// * 24次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_24_overtime")
-// @ApiModelProperty(value = "24次电压谐波含有率越限数据")
-// private String uharm24Overtime;
-//
-// /**
-// * 25次电压谐波含有率越限数据
-// */
-// @HarVoltage
-// @TableField(value = "uharm_25_overtime")
-// @ApiModelProperty(value = "25次电压谐波含有率越限数据")
-// private String uharm25Overtime;
-//
-// /**
-// * 2次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_2_overtime")
-// @ApiModelProperty(value = "2次电流谐波幅值越限数据")
-// private String iharm2Overtime;
-//
-// /**
-// * 3次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_3_overtime")
-// @ApiModelProperty(value = "3次电流谐波幅值越限数据")
-// private String iharm3Overtime;
-//
-// /**
-// * 4次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_4_overtime")
-// @ApiModelProperty(value = "4次电流谐波幅值越限数据")
-// private String iharm4Overtime;
-//
-// /**
-// * 5次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_5_overtime")
-// @ApiModelProperty(value = "5次电流谐波幅值越限数据")
-// private String iharm5Overtime;
-//
-// /**
-// * 6次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_6_overtime")
-// @ApiModelProperty(value = "6次电流谐波幅值越限数据")
-// private String iharm6Overtime;
-//
-// /**
-// * 7次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_7_overtime")
-// @ApiModelProperty(value = "7次电流谐波幅值越限数据")
-// private String iharm7Overtime;
-//
-// /**
-// * 8次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_8_overtime")
-// @ApiModelProperty(value = "8次电流谐波幅值越限数据")
-// private String iharm8Overtime;
-//
-// /**
-// * 9次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_9_overtime")
-// @ApiModelProperty(value = "9次电流谐波幅值越限数据")
-// private String iharm9Overtime;
-//
-// /**
-// * 10次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_10_overtime")
-// @ApiModelProperty(value = "10次电流谐波幅值越限数据")
-// private String iharm10Overtime;
-//
-// /**
-// * 11次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_11_overtime")
-// @ApiModelProperty(value = "11次电流谐波幅值越限数据")
-// private String iharm11Overtime;
-//
-// /**
-// * 12次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_12_overtime")
-// @ApiModelProperty(value = "12次电流谐波幅值越限数据")
-// private String iharm12Overtime;
-//
-// /**
-// * 13次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_13_overtime")
-// @ApiModelProperty(value = "13次电流谐波幅值越限数据")
-// private String iharm13Overtime;
-//
-// /**
-// * 14次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_14_overtime")
-// @ApiModelProperty(value = "14次电流谐波幅值越限数据")
-// private String iharm14Overtime;
-//
-// /**
-// * 15次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_15_overtime")
-// @ApiModelProperty(value = "15次电流谐波幅值越限数据")
-// private String iharm15Overtime;
-//
-// /**
-// * 16次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_16_overtime")
-// @ApiModelProperty(value = "16次电流谐波幅值越限数据")
-// private String iharm16Overtime;
-//
-// /**
-// * 17次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_17_overtime")
-// @ApiModelProperty(value = "17次电流谐波幅值越限数据")
-// private String iharm17Overtime;
-//
-// /**
-// * 18次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_18_overtime")
-// @ApiModelProperty(value = "18次电流谐波幅值越限数据")
-// private String iharm18Overtime;
-//
-// /**
-// * 19次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_19_overtime")
-// @ApiModelProperty(value = "19次电流谐波幅值越限数据")
-// private String iharm19Overtime;
-//
-// /**
-// * 20次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_20_overtime")
-// @ApiModelProperty(value = "20次电流谐波幅值越限数据")
-// private String iharm20Overtime;
-//
-// /**
-// * 21次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_21_overtime")
-// @ApiModelProperty(value = "21次电流谐波幅值越限数据")
-// private String iharm21Overtime;
-//
-// /**
-// * 22次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_22_overtime")
-// @ApiModelProperty(value = "22次电流谐波幅值越限数据")
-// private String iharm22Overtime;
-//
-// /**
-// * 23次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_23_overtime")
-// @ApiModelProperty(value = "23次电流谐波幅值越限数据")
-// private String iharm23Overtime;
-//
-// /**
-// * 24次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_24_overtime")
-// @ApiModelProperty(value = "24次电流谐波幅值越限数据")
-// private String iharm24Overtime;
-//
-// /**
-// * 25次电流谐波幅值越限数据
-// */
-// @HarCurrent
-// @TableField(value = "iharm_25_overtime")
-// @ApiModelProperty(value = "25次电流谐波幅值越限数据")
-// private String iharm25Overtime;
-//
-// /**
-// * 0.5次间谐波电压限值数据
-// */
-// @TableField(value = "inuharm_1_overtime")
-// @InterharVoltage
-// @ApiModelProperty(value = "0.5次间谐波电压限值数据")
-// private String inuharm1Overtime;
-//
-// /**
-// * 1.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_2_overtime")
-// @ApiModelProperty(value = "1.5次间谐波电压限值数据")
-// private String inuharm2Overtime;
-//
-// /**
-// * 2.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_3_overtime")
-// @ApiModelProperty(value = "2.5次间谐波电压限值数据")
-// private String inuharm3Overtime;
-//
-// /**
-// * 3.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_4_overtime")
-// @ApiModelProperty(value = "3.5次间谐波电压限值数据")
-// private String inuharm4Overtime;
-//
-// /**
-// * 4.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_5_overtime")
-// @ApiModelProperty(value = "4.5次间谐波电压限值数据")
-// private String inuharm5Overtime;
-//
-// /**
-// * 5.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_6_overtime")
-// @ApiModelProperty(value = "5.5次间谐波电压限值数据")
-// private String inuharm6Overtime;
-//
-// /**
-// * 6.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_7_overtime")
-// @ApiModelProperty(value = "6.5次间谐波电压限值数据")
-// private String inuharm7Overtime;
-//
-// /**
-// * 7.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_8_overtime")
-// @ApiModelProperty(value = "7.5次间谐波电压限值数据")
-// private String inuharm8Overtime;
-//
-// /**
-// * 8.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_9_overtime")
-// @ApiModelProperty(value = "8.5次间谐波电压限值数据")
-// private String inuharm9Overtime;
-//
-// /**
-// * 9.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_10_overtime")
-// @ApiModelProperty(value = "9.5次间谐波电压限值数据")
-// private String inuharm10Overtime;
-//
-// /**
-// * 10.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_11_overtime")
-// @ApiModelProperty(value = "10.5次间谐波电压限值数据")
-// private String inuharm11Overtime;
-//
-// /**
-// * 11.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_12_overtime")
-// @ApiModelProperty(value = "11.5次间谐波电压限值数据")
-// private String inuharm12Overtime;
-//
-// /**
-// * 12.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_13_overtime")
-// @ApiModelProperty(value = "12.5次间谐波电压限值数据")
-// private String inuharm13Overtime;
-//
-// /**
-// * 13.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_14_overtime")
-// @ApiModelProperty(value = "13.5次间谐波电压限值数据")
-// private String inuharm14Overtime;
-//
-// /**
-// * 14.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_15_overtime")
-// @ApiModelProperty(value = "14.5次间谐波电压限值数据")
-// private String inuharm15Overtime;
-//
-// /**
-// * 15.5次间谐波电压限值数据
-// */
-// @InterharVoltage
-// @TableField(value = "inuharm_16_overtime")
-// @ApiModelProperty(value = "15.5次间谐波电压限值数据")
-// private String inuharm16Overtime;
-//}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/DISDIPVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/DISDIPVO.java
new file mode 100644
index 0000000..7891222
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/DISDIPVO.java
@@ -0,0 +1,48 @@
+package com.njcn.csharmonic.pojo.vo.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * DISDIP表格
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月01日 15:46
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class DISDIPVO implements Serializable {
+
+ @ApiModelProperty(name = "name",value = "剩余电压/持续时间")
+ private String name;
+
+ @ApiModelProperty(name = "twentyMs",value = "20ms")
+ private String twentyMs;
+
+ @ApiModelProperty(name = "oneHundredMs",value = "100ms")
+ private String oneHundredMs;
+
+ @ApiModelProperty(name = "fiveHundredMs",value = "500ms")
+ private String fiveHundredMs;
+
+ @ApiModelProperty(name = "oneS",value = "1s")
+ private String oneS;
+
+ @ApiModelProperty(name = "threeS",value = "3s")
+ private String threeS;
+
+ @ApiModelProperty(name = "twentyS",value = "20s")
+ private String twentyS;
+
+ @ApiModelProperty(name = "sixtyS",value = "60s")
+ private String sixtyS;
+
+ @ApiModelProperty(name = "oneEightyS",value = "180s")
+ private String oneEightyS;
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/IEC28VO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/IEC28VO.java
new file mode 100644
index 0000000..293cb20
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/IEC28VO.java
@@ -0,0 +1,47 @@
+package com.njcn.csharmonic.pojo.vo.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月01日 16:09
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class IEC28VO implements Serializable {
+
+ @ApiModelProperty(name = "name",value = "剩余电压/持续时间")
+ private String name;
+
+ @ApiModelProperty(name = "q",value = "0.01~0.1s")
+ private String q;
+
+ @ApiModelProperty(name = "w",value = "0.1~0.25s")
+ private String w;
+
+ @ApiModelProperty(name = "e",value = "0.25~0.5s")
+ private String e;
+
+ @ApiModelProperty(name = "r",value = "0.5~1s")
+ private String r;
+
+ @ApiModelProperty(name = "t",value = "1~3s")
+ private String t;
+
+ @ApiModelProperty(name = "y",value = "3~20s")
+ private String y;
+
+ @ApiModelProperty(name = "u",value = "20~60s")
+ private String u;
+
+ @ApiModelProperty(name = "i",value = "60~180s")
+ private String i;
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/IEC411VO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/IEC411VO.java
new file mode 100644
index 0000000..29dd920
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/IEC411VO.java
@@ -0,0 +1,42 @@
+package com.njcn.csharmonic.pojo.vo.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * IEC411
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月01日 16:00
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class IEC411VO implements Serializable {
+
+ @ApiModelProperty(name = "name",value = "剩余电压/持续时间")
+ private String name;
+
+ @ApiModelProperty(name = "tenTwentyMs",value = "10~20ms")
+ private String tenTwentyMs;
+
+ @ApiModelProperty(name = "twentyOneHundredMs",value = "20~100ms")
+ private String twentyOneHundredMs;
+
+ @ApiModelProperty(name = "zeroPiontOneTwoS",value = "0.1~0.2s")
+ private String zeroPiontOneTwoS;
+
+ @ApiModelProperty(name = "zeroPiontTwoFiveS",value = "0.2~0.5s")
+ private String zeroPiontTwoFiveS;
+
+ @ApiModelProperty(name = "zeroPiontFive1S",value = "0.5~1s")
+ private String zeroPiontFive1S;
+
+ @ApiModelProperty(name = "greater1S",value = ">1s")
+ private String greater1S;
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/ProbabilityVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/ProbabilityVO.java
new file mode 100644
index 0000000..17d2451
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/ProbabilityVO.java
@@ -0,0 +1,33 @@
+package com.njcn.csharmonic.pojo.vo.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月03日 15:31
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ProbabilityVO implements Serializable {
+
+ @ApiModelProperty(name = "eventvalue")
+ private List eventvalue;
+
+ @ApiModelProperty(name = "pereventvalue")
+ private List pereventvalue;
+
+ @ApiModelProperty(name = "persisttime")
+ private List persisttime;
+
+ @ApiModelProperty(name = "sisttime")
+ private List sisttime;
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/ReasonsVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/ReasonsVO.java
new file mode 100644
index 0000000..2fc97d6
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/ReasonsVO.java
@@ -0,0 +1,31 @@
+package com.njcn.csharmonic.pojo.vo.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月03日 09:03
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ReasonsVO implements Serializable {
+
+ @ApiModelProperty(name = "reason",value = "原因")
+ private String reason;
+
+ @ApiModelProperty(name = "times",value = "次数")
+ private Integer times;
+
+ @ApiModelProperty(name = "rate",value = "占比")
+ private String rate;
+
+
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/StatisticVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/StatisticVO.java
new file mode 100644
index 0000000..2634809
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/StatisticVO.java
@@ -0,0 +1,43 @@
+package com.njcn.csharmonic.pojo.vo.eventReport;
+
+import com.njcn.csharmonic.pojo.dto.eventReport.EventDetail;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月02日 16:01
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class StatisticVO implements Serializable {
+
+ @ApiModelProperty(name = "cityName",value = "城市名称")
+ private String cityName;
+
+ @ApiModelProperty(name = "detail")
+ private List detail;
+
+ @ApiModelProperty(name = "f47")
+ private String f47;
+
+ @ApiModelProperty(name = "itic")
+ private String itic;
+
+ @ApiModelProperty(name = "reason")
+ private List reason;
+
+ @ApiModelProperty(name = "totalTimes")
+ private Integer totalTimes;
+
+ @ApiModelProperty(name = "types")
+ private List types;
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/TimeVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/TimeVO.java
new file mode 100644
index 0000000..79943a6
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/TimeVO.java
@@ -0,0 +1,41 @@
+package com.njcn.csharmonic.pojo.vo.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月02日 10:45
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TimeVO implements Serializable {
+
+ @ApiModelProperty(name = "amounts")
+ private String amounts;
+
+ @ApiModelProperty(name = "handledTimes")
+ private String handledTimes;
+
+ @ApiModelProperty(name = "days",value = "天数")
+ private String day;
+
+ @ApiModelProperty(name = "month",value = "月份")
+ private String month;
+
+ @ApiModelProperty(name = "times")
+ private String times;
+
+ @ApiModelProperty(name = "year",value = "年份")
+ private String year;
+
+ @ApiModelProperty(name = "fulltime",value = "时间全称")
+ private String fulltime;
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/TypesVO.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/TypesVO.java
new file mode 100644
index 0000000..5d6c784
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/pojo/vo/eventReport/TypesVO.java
@@ -0,0 +1,27 @@
+package com.njcn.csharmonic.pojo.vo.eventReport;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * @author xxy
+ * @version 1.0.0
+ * @date 2022年08月03日 09:07
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class TypesVO implements Serializable {
+
+ @ApiModelProperty(name = "type",value = "类型")
+ private String type;
+
+ @ApiModelProperty(name = "times",value = "次数")
+ private Integer times;
+
+
+}
diff --git a/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/utils/eventReport/WordUtils.java b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/utils/eventReport/WordUtils.java
new file mode 100644
index 0000000..fdac13a
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-api/src/main/java/com/njcn/csharmonic/utils/eventReport/WordUtils.java
@@ -0,0 +1,350 @@
+package com.njcn.csharmonic.utils.eventReport;
+
+import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
+import org.apache.poi.xwpf.usermodel.*;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.*;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.math.BigInteger;
+import java.util.Calendar;
+
+public class WordUtils {
+
+
+ public static void main(String[] args)throws Exception {
+
+ // 空白文档
+ XWPFDocument document= new XWPFDocument();
+ //把文档写进本地系统
+ FileOutputStream out = new FileOutputStream(new File("create_table.docx"));
+ //设定标题格式
+ setHeadingStyle(document);
+ //添加标题
+ XWPFParagraph titleParagraph = document.createParagraph();
+ setParagraphStyle(titleParagraph);
+ addLine(titleParagraph,11);
+ //设置段落居中
+ titleParagraph.setAlignment(ParagraphAlignment.CENTER);
+ XWPFRun titleParagraphRun = titleParagraph.createRun();
+ addParagraph(titleParagraphRun,"宋体",15,"000000","四川省供电公司",true);
+
+ addLine(titleParagraph,3);
+ XWPFRun titleParagraphBigRun = titleParagraph.createRun();
+ addParagraph(titleParagraphBigRun,"宋体",36,"000000","电压暂降事件分析报告",true);
+ addLine(titleParagraph,19);
+
+ XWPFRun titleParagraphDateRun = titleParagraph.createRun();
+ addParagraph(titleParagraphDateRun,"宋体",14,"000000","日期: 2018年1月3号",true);
+ titleParagraph.setPageBreak(true);
+
+
+ //段落
+ XWPFParagraph statisticsParagraph = document.createParagraph();
+ setParagraphStyle(statisticsParagraph);
+ //段前分页
+ statisticsParagraph.setPageBreak(true);
+ statisticsParagraph.setAlignment(ParagraphAlignment.CENTER);
+ XWPFRun statisticsRun = statisticsParagraph.createRun();
+ addParagraph(statisticsRun,"宋体",24,"000000","电压暂降事件分析报告",false);
+
+
+
+ XWPFParagraph introductionParagraph= document.createParagraph();
+ setParagraphStyle(introductionParagraph);
+ introductionParagraph.setStyle("标题 1");
+ introductionParagraph.setAlignment(ParagraphAlignment.LEFT);
+ XWPFRun introductionRun = introductionParagraph.createRun();
+ addParagraph(introductionRun,"宋体",15,"000000","1. 引言",true);
+
+ XWPFParagraph introductionContentParagraph = document.createParagraph();
+ // 首行缩进---段落
+ setParagraphStyle(introductionContentParagraph);
+ introductionContentParagraph.setAlignment(ParagraphAlignment.LEFT);
+ introductionContentParagraph.setIndentationFirstLine(200);
+ XWPFRun introductionContentRun=introductionContentParagraph.createRun();
+ addParagraph(introductionContentRun,"宋体",11,"000000","对所选中区间内电压暂降事件进行分析,能够直观清晰查看相应的暂降事件信息。",false);
+
+ XWPFParagraph objectParagraph=document.createParagraph();
+ setParagraphStyle(objectParagraph);
+ objectParagraph.setStyle("标题 1");
+ objectParagraph.setAlignment(ParagraphAlignment.LEFT);
+ XWPFRun objectRun= objectParagraph.createRun();
+ addParagraph(objectRun,"宋体",15,"000000","2. 报告分析对象:",true);
+
+ XWPFParagraph objectContentParagraph = document.createParagraph();
+ setParagraphStyle(objectContentParagraph);
+ objectContentParagraph.setAlignment(ParagraphAlignment.LEFT);
+ objectContentParagraph.setIndentationFirstLine(200);
+ XWPFRun objectContentRun = objectContentParagraph.createRun();
+ addParagraph(objectContentRun,"宋体",11,"000000","成都供电公司—>锦江区变电站—>锦江2号。",false);
+
+ XWPFParagraph timeParagraph = document.createParagraph();
+ timeParagraph.setStyle("标题 1");
+ timeParagraph.setAlignment(ParagraphAlignment.LEFT);
+ setParagraphStyle(timeParagraph);
+ XWPFRun timeRun = timeParagraph.createRun();
+ addParagraph(timeRun,"宋体",15,"000000","3. 报告分析时间:",true);
+
+ XWPFParagraph timeContentParagraph = document.createParagraph();
+ setParagraphStyle(timeContentParagraph);
+ timeContentParagraph.setAlignment(ParagraphAlignment.LEFT);
+ timeContentParagraph.setIndentationFirstLine(200);
+ XWPFRun timeContentRun = timeContentParagraph.createRun();
+ addParagraph(timeContentRun,"宋体",11,"000000","2017年12月21日至2017年12月30日。",false);
+
+
+ XWPFParagraph summaeParagraph = document.createParagraph();
+ setParagraphStyle(summaeParagraph);
+ summaeParagraph.setStyle("标题 1");
+ summaeParagraph.setAlignment(ParagraphAlignment.LEFT);
+ XWPFRun summaeRun = summaeParagraph.createRun();
+ addParagraph(summaeRun,"宋体",15,"000000","4. 汇总信息:",true);
+
+
+ XWPFParagraph summaeTableParagraph = document.createParagraph();
+ setParagraphStyle(summaeTableParagraph);
+ summaeTableParagraph.setStyle("标题 2");
+ summaeTableParagraph.setAlignment(ParagraphAlignment.LEFT);
+ summaeTableParagraph.setIndentationFirstLine(200);
+ XWPFRun summaeTableRun = summaeTableParagraph.createRun();
+ addParagraph(summaeTableRun,"宋体",11,"000000","4.1 表格",false);
+
+
+ //工作经历表格
+ XWPFTable summaTable = document.createTable();
+
+ //列宽自动分割
+ CTTblWidth summaTableWidth = summaTable.getCTTbl().addNewTblPr().addNewTblW();
+ summaTableWidth.setType(STTblWidth.DXA);
+ summaTableWidth.setW(BigInteger.valueOf(9072));
+
+ //表格第一行
+ XWPFTableRow summaTableRowOne = summaTable.getRow(0);
+ XWPFParagraph excelParagraph= document.createParagraph();
+ setParagraphStyle(excelParagraph);
+ excelParagraph.setAlignment(ParagraphAlignment.CENTER);
+ excelParagraph.setVerticalAlignment(TextAlignment.CENTER);
+ setExcelHeadContent(excelParagraph,summaTableRowOne,"序号","暂降发生时刻","暂降幅值(%)","持续时间(ms)","暂降类型","暂降原因","严重度");
+
+ //表格第二行
+ XWPFTableRow summaTableRowTwo = summaTable.createRow();
+ setExcelContent(excelParagraph,summaTableRowTwo,"1","2017-11-24 14:26:56.490","9","20","未识别","未明","0.91");
+
+ //表格第三行
+ XWPFTableRow summaTableRowThree = summaTable.createRow();
+ setExcelContent(excelParagraph,summaTableRowThree,"2","2017-11-24 14:25:46.472","15","19","未识别","未明","0.85");
+
+ XWPFParagraph summaePicParagraph = document.createParagraph();
+ summaePicParagraph.setStyle("标题 2");
+ summaePicParagraph.setAlignment(ParagraphAlignment.LEFT);
+ summaePicParagraph.setIndentationFirstLine(200);
+ XWPFRun summaePicRun = summaePicParagraph.createRun();
+ addParagraph(summaePicRun,"宋体",11,"000000","4.2 ITIC曲线",false);
+
+
+ CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
+ XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(document, sectPr);
+
+ //添加页眉
+ CTP ctpHeader = CTP.Factory.newInstance();
+ CTR ctrHeader = ctpHeader.addNewR();
+ CTText ctHeader = ctrHeader.addNewT();
+ String headerText = "Java POI create MS word file.";
+ ctHeader.setStringValue(headerText);
+ XWPFParagraph headerParagraph = new XWPFParagraph(ctpHeader, document);
+ //设置为右对齐
+ headerParagraph.setAlignment(ParagraphAlignment.RIGHT);
+ XWPFParagraph[] parsHeader = new XWPFParagraph[1];
+ parsHeader[0] = headerParagraph;
+ policy.createHeader(XWPFHeaderFooterPolicy.DEFAULT, parsHeader);
+
+
+ //添加页脚
+ CTP ctpFooter = CTP.Factory.newInstance();
+ CTR ctrFooter = ctpFooter.addNewR();
+ CTText ctFooter = ctrFooter.addNewT();
+ String footerText = "http://blog.csdn.net/zhouseawater";
+ ctFooter.setStringValue(footerText);
+ XWPFParagraph footerParagraph = new XWPFParagraph(ctpFooter, document);
+ headerParagraph.setAlignment(ParagraphAlignment.CENTER);
+ XWPFParagraph[] parsFooter = new XWPFParagraph[1];
+ parsFooter[0] = footerParagraph;
+ policy.createFooter(XWPFHeaderFooterPolicy.DEFAULT, parsFooter);
+
+ document.write(out);
+ out.close();
+
+ }
+
+ public static void setParagraphStyle(XWPFParagraph paragraph){
+ paragraph.setSpacingBefore(100);
+ paragraph.setSpacingAfter(100);
+ }
+
+ /**
+ * 返回指定格式的段落 居中型
+ * @param document 文档对象
+ */
+ public static XWPFParagraph getCenterParagraph(XWPFDocument document){
+ XWPFParagraph paragraph = document.createParagraph();
+ setParagraphStyle(paragraph);
+ paragraph.setAlignment(ParagraphAlignment.CENTER);
+ paragraph.setVerticalAlignment(TextAlignment.CENTER);
+ return paragraph;
+ }
+
+ /**
+ * 返回指定格式的段落 居左型
+ * @param document 文档对象
+ */
+ public static XWPFParagraph getLeftParagraph(XWPFDocument document){
+ XWPFParagraph paragraph = document.createParagraph();
+ setParagraphStyle(paragraph);
+ paragraph.setAlignment(ParagraphAlignment.LEFT);
+ return paragraph;
+ }
+
+
+
+ /**
+ * 添加换行符
+ * @param paragraph 指定段落
+ * @param amount 行数
+ * */
+ public static void addLine(XWPFParagraph paragraph,Integer amount){
+ XWPFRun run = paragraph.createRun();
+ run.setFontSize(11);
+ for(int i=0;i style is more prominent in the formats bar
+ ctStyle.setUiPriority(indentNumber);
+
+ CTOnOff onoffnull = CTOnOff.Factory.newInstance();
+ ctStyle.setUnhideWhenUsed(onoffnull);
+
+ // style shows up in the formats bar
+ ctStyle.setQFormat(onoffnull);
+
+ // style defines a heading of the given level
+ CTPPr ppr = CTPPr.Factory.newInstance();
+ ppr.setOutlineLvl(indentNumber);
+ ctStyle.setPPr(ppr);
+
+ XWPFStyle style = new XWPFStyle(ctStyle);
+
+ // is a null op if already defined
+ XWPFStyles styles = docxDocument.createStyles();
+
+ style.setType(STStyleType.PARAGRAPH);
+ styles.addStyle(style);
+
+ }
+
+ /**
+ * 设置文档中标题格式
+ * */
+ public static void setHeadingStyle(XWPFDocument document){
+ addCustomHeadingStyle(document, "标题 1", 1);
+ addCustomHeadingStyle(document, "标题 2", 2);
+ addCustomHeadingStyle(document, "标题 3", 3);
+ addCustomHeadingStyle(document, "标题 4", 4);
+ addCustomHeadingStyle(document, "标题 5", 5);
+ addCustomHeadingStyle(document, "标题 6", 6);
+ addCustomHeadingStyle(document, "标题 7", 7);
+ }
+
+ /**
+ * 给表格添加一行数据
+ * @param paragraph 段落对象
+ * @param row 行对象
+ * @param data 不定长度的数据
+ */
+ public static void setExcelContent(XWPFParagraph paragraph, XWPFTableRow row,String... data){
+ for (int i=0;i params, String fileName,List> tableList, HttpServletResponse response)
throws Exception {
+ byte[] docBytes = null;
+
path = ClearPathUtil.cleanString(path);
- InputStream inStream = null;
+ InputStream is = null;
CustomXWPFDocument doc = null;
//读取报告模板
try {
- inStream = new ClassPathResource(path).getInputStream();;
- doc = new CustomXWPFDocument(inStream);
+ Resource resource = resourceLoader.getResource("classpath:" + path);
+ if (!resource.exists()) {
+ throw new FileNotFoundException("模板文件未找到: " + path);
+ }
+ is = resource.getInputStream();
+ doc = new CustomXWPFDocument(is);
if(CollUtil.isNotEmpty(tableList)){
this.replaceInTable(doc, params,tableList);
}else{
@@ -51,8 +56,8 @@ public class WordUtil2 {
} catch (IOException e) {
getError("获取报告模板异常,原因为:" + e);
} finally {
- if (null != inStream) {
- inStream.close();
+ if (null != is) {
+ is.close();
}
}
try {
@@ -70,6 +75,21 @@ public class WordUtil2 {
}
}
+
+
+
+ // 辅助方法:字节数组转十六进制(便于打印排查)
+ private static String bytesToHex(byte[] bytes) {
+ StringBuilder sb = new StringBuilder();
+ for (byte b : bytes) {
+ sb.append(String.format("%02X ", b));
+ }
+ return sb.toString().trim();
+ }
+
+
+
+
public InputStream getReportFile(String path, Map params, List> tableList)
throws Exception {
path = ClearPathUtil.cleanString(path);
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/EventMonitorReportController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/EventMonitorReportController.java
new file mode 100644
index 0000000..3c2ea6e
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/EventMonitorReportController.java
@@ -0,0 +1,47 @@
+package com.njcn.csharmonic.controller;
+
+import cn.hutool.extra.template.TemplateException;
+import com.njcn.common.pojo.annotation.OperateInfo;
+import com.njcn.common.pojo.enums.common.LogEnum;
+import com.njcn.csharmonic.pojo.param.eventReport.ExportParam;
+import com.njcn.csharmonic.service.event.EventMonitorReportService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.text.ParseException;
+
+/**
+ * govern
+ *
+ * @author cdf
+ * @date 2025/12/6
+ */
+@Slf4j
+@Api(tags = "暂态报告")
+@RestController
+@RequestMapping("/eventReport")
+@RequiredArgsConstructor
+public class EventMonitorReportController {
+
+ private final EventMonitorReportService eventMonitorReportService;
+
+
+ @OperateInfo(info = LogEnum.BUSINESS_COMMON)
+ @PostMapping("/getLineExport")
+ @ApiOperation("监测点报告导出")
+ @ApiImplicitParam(name = "exportParam", value = "监测点报告导出参数", required = true)
+ public void getLineExport(@RequestBody @Validated ExportParam exportParam, HttpServletResponse response) throws IOException, InvalidFormatException, TemplateException, ParseException {
+ eventMonitorReportService.getLineExport(exportParam, response);
+ }
+}
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java
index fe3e9b5..19ffe88 100644
--- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/controller/WordExportModelController.java
@@ -1341,7 +1341,7 @@ public class WordExportModelController extends BaseController {
}
wordUtil2.getWord(rtfPath, reportmap, fileName,null, response);
} catch (Exception e) {
- log.error("获取报告发生异常,异常是" + e.getMessage());
+ log.error("获取报告发生异常,异常是:",e);
}
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, reportFileUrl, methodDescribe);
}
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/event/EventMonitorReportService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/event/EventMonitorReportService.java
new file mode 100644
index 0000000..792f6d1
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/event/EventMonitorReportService.java
@@ -0,0 +1,21 @@
+package com.njcn.csharmonic.service.event;
+
+import cn.hutool.extra.template.TemplateException;
+import com.njcn.csharmonic.pojo.param.eventReport.ExportParam;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.text.ParseException;
+
+/**
+ * govern
+ *
+ * @author cdf
+ * @date 2025/12/6
+ */
+public interface EventMonitorReportService {
+
+ void getLineExport(ExportParam exportParam, HttpServletResponse response) throws InvalidFormatException, IOException, TemplateException, ParseException;
+
+}
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/event/EventReportService.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/event/EventReportService.java
new file mode 100644
index 0000000..a6dd87c
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/event/EventReportService.java
@@ -0,0 +1,80 @@
+package com.njcn.csharmonic.service.event;
+
+import com.njcn.csharmonic.pojo.dto.eventReport.EventDetail;
+import com.njcn.csharmonic.pojo.param.eventReport.StatisticsParam;
+import com.njcn.csharmonic.pojo.vo.eventReport.*;
+
+import com.njcn.system.pojo.po.DictData;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * <监测点报表>
+ *
+ * @author wr
+ * @createTime: 2023-02-10
+ */
+public interface EventReportService {
+
+ /**
+ *获取Disdip表格(监测点报表专用)
+ * @param info influxdb查询结果(pqs_eventdetail表)
+ * @return
+ */
+ List eventDisdip(List info);
+
+ /**
+ * 获取IEC411数据
+ * @param info influxdb查询结果(pqs_eventdetail表)
+ * @return
+ */
+ List IEC411(List info);
+
+ /**
+ * 获取IEC28数据
+ * @param info influxdb查询结果(pqs_eventdetail表)
+ * @return
+ */
+ List IEC28(List info);
+
+ /**
+ *暂降幅值概率分布
+ * @param info2 influxdb查询结果(pqs_eventdetail表)
+ * @return
+ */
+ ProbabilityVO getProbabilityDistribution(List info2);
+
+
+ /**
+ * 获取点状表格数据2.1
+ * @param info 结果集
+ * @param reasonData 暂降原因
+ * @param typeData 暂降类型
+ * @return
+ */
+ List getPlot(List info, List reasonData, List typeData);
+
+ /**
+ * 获取详细数据对象
+ * @param info
+ * @param reasonData
+ * @param typeData
+ * @return
+ */
+ StatisticVO getStatistic(List info,List reasonData,ListtypeData);
+
+ /**
+ * 获取密度点图
+ * @param info
+ * @return
+ */
+ Integer[][] getCoords(List info);
+
+ /**
+ * 获取时间列表
+ * @param statisticsParam
+ * @return
+ */
+ List getReasonTypeTime(StatisticsParam statisticsParam) throws ParseException;
+}
diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventMonitorReportServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventMonitorReportServiceImpl.java
new file mode 100644
index 0000000..ed477fb
--- /dev/null
+++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/event/EventMonitorReportServiceImpl.java
@@ -0,0 +1,592 @@
+package com.njcn.csharmonic.service.impl.event;
+
+
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.extra.template.TemplateException;
+import com.njcn.common.pojo.enums.response.CommonResponseEnum;
+import com.njcn.common.pojo.exception.BusinessException;
+import com.njcn.common.pojo.response.HttpResult;
+import com.njcn.csdevice.api.CsLineFeignClient;
+import com.njcn.csdevice.pojo.vo.LineDetailDataVO;
+import com.njcn.csharmonic.pojo.dto.eventReport.EventDetail;
+import com.njcn.csharmonic.pojo.param.eventReport.ExportParam;
+import com.njcn.csharmonic.pojo.param.eventReport.StatisticsParam;
+import com.njcn.csharmonic.pojo.vo.eventReport.*;
+import com.njcn.csharmonic.service.event.EventMonitorReportService;
+import com.njcn.csharmonic.service.event.EventReportService;
+import com.njcn.csharmonic.utils.eventReport.WordUtils;
+import com.njcn.echarts.pojo.constant.PicCommonData;
+import com.njcn.echarts.util.DrawPicUtil;
+import com.njcn.system.api.DicDataFeignClient;
+import com.njcn.system.enums.DicDataEnum;
+import com.njcn.system.enums.DicDataTypeEnum;
+import com.njcn.system.enums.EventResponseEnum;
+import com.njcn.system.pojo.po.DictData;
+import lombok.RequiredArgsConstructor;
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.util.Units;
+import org.apache.poi.xwpf.usermodel.*;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth;
+import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTblWidth;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.math.RoundingMode;
+import java.net.URLEncoder;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.time.format.DateTimeFormatter;
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+/**
+ * govern
+ *
+ * @author cdf
+ * @date 2025/12/6
+ */
+@Service
+@RequiredArgsConstructor
+public class EventMonitorReportServiceImpl implements EventMonitorReportService {
+
+ private final DicDataFeignClient dicDataFeignClient;
+
+ private final DrawPicUtil drawPicUtil;
+
+ private final EventReportService eventReportService;
+
+ private final CsLineFeignClient csLineFeignClient;
+
+
+ /**
+ * 监测点导出word
+ *
+ * @param exportParam .
+ * @param response .
+ * @throws InvalidFormatException .
+ * @throws IOException .
+ */
+ @Override
+ public void getLineExport(ExportParam exportParam, HttpServletResponse response) throws IOException, InvalidFormatException, TemplateException, ParseException {
+ //创建word文档(poi生成word)
+ XWPFDocument doc = new XWPFDocument(); //创建Word文件
+ //设置标题样式
+ WordUtils.setHeadingStyle(doc);
+ XWPFParagraph p = doc.createParagraph(); //新建一个段落
+ //设置对齐
+ p.setAlignment(ParagraphAlignment.CENTER);
+ p.setVerticalAlignment(TextAlignment.CENTER);
+ XWPFRun r = p.createRun();//创建段落文本
+ r.addBreak();
+ r.addBreak();
+ r.addBreak();
+ r.addBreak();
+ r.addBreak();
+ r.addBreak();
+ r.setText("中国");
+ r.setBold(true);//设置为粗体
+ r.setFontSize(14);//字体大小
+ r.addBreak();
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.CENTER);
+ XWPFRun r1 = p.createRun();//创建段落文本
+ r1.setText("电压暂降事件分析报告");
+ r1.setBold(true);//设置为粗体
+ r1.setFontSize(36);//字体大小
+ r1.addBreak();
+ r1.addBreak();
+ r1.addBreak();
+ r1.addBreak();
+ r1.addBreak();
+ r1.addBreak();
+ r1.addBreak();
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.CENTER);
+ XWPFRun r2 = p.createRun();//创建段落文本
+ //获取当前时间
+ Date date = new Date();
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy 年 MM 月 dd 日");
+ String time = dateFormat.format(date);
+
+ r2.setText("日期: " + time);
+ r2.setBold(true);//设置为粗体
+ r2.setFontSize(14);//字体大小
+
+ r2.addBreak();
+ r2.addBreak();
+ r2.addBreak();
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.CENTER);
+ XWPFRun r3 = p.createRun();//创建段落文本
+ r3.setText("电压暂降事件区域报告");
+ r3.setFontSize(24);//字体大小
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.LEFT);
+ createTitle(doc, "1. 引言", "标题 1", 0, 15);
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.BOTH);
+ XWPFRun r5 = p.createRun();//创建段落文本
+ r5.setText("对所选中区间内电压暂降事件进行分析,能够直观清晰查看响应的暂降事件信息。");
+ r5.setFontSize(11);//字体大小
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.LEFT);
+ createTitle(doc, "2. 报告分析对象", "标题 1", 0, 15);
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.BOTH);
+ XWPFRun r7 = p.createRun();//创建段落文本
+ r7.setText(exportParam.getLineName());
+ r7.setFontSize(11);//字体大小
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.LEFT);
+ createTitle(doc, "3. 报告分析时间", "标题 1", 0, 15);
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.BOTH);
+ XWPFRun r9 = p.createRun();//创建段落文本
+ r9.setText(exportParam.getSearchBeginTime() + " 至 " + exportParam.getSearchEndTime());
+ r9.setFontSize(11);//字体大小
+
+ p = doc.createParagraph(); //新建一个段落
+ p.setAlignment(ParagraphAlignment.LEFT);
+ createTitle(doc, "4. 总汇信息", "标题 1", 0, 15);
+
+ //查询参数
+ StatisticsParam param = new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(), exportParam.getFlag());
+ //获取暂降原因字典
+ List reasonData = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData();
+ //获取暂降类型字典
+ List typeData = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData();
+ //influxdb查询结果(pqs_eventdetail表)
+ List info = info(param);
+
+ //记录数
+ int i = 1;
+ //1.监测点信息
+ if (exportParam.isXq()) {
+ createTitle(doc, "4." + i + " 监测点信息", "标题 2", 200, 15);
+ XWPFTable table = createTable(doc);
+ XWPFParagraph centerParagraph = WordUtils.getCenterParagraph(doc);
+ if (exportParam.getType() == 0) {
+ HttpResult lineDetailData = csLineFeignClient.getLineDetailData(exportParam.getLineId());
+ if (ObjectUtil.isNull(lineDetailData)) {
+ throw new BusinessException(CommonResponseEnum.NO_DATA);
+ }
+ insertRow(doc, table, centerParagraph, true, "项目", "描述");
+ insertRow(doc, table, centerParagraph, false, "监测点名称", lineDetailData.getData().getLineName());
+ insertRow(doc, table, centerParagraph, false, "电压等级", lineDetailData.getData().getScale());
+ insertRow(doc, table, centerParagraph, false, "PT变比", lineDetailData.getData().getPt());
+ insertRow(doc, table, centerParagraph, false, "CT变比", lineDetailData.getData().getCt());
+ insertRow(doc, table, centerParagraph, false, "协议容量", lineDetailData.getData().getDealCapacity() + "");
+ insertRow(doc, table, centerParagraph, false, "基准容量", lineDetailData.getData().getStandardCapacity() + "");
+ insertRow(doc, table, centerParagraph, false, "设备容量", lineDetailData.getData().getDevCapacity() + "");
+ insertRow(doc, table, centerParagraph, false, "最小短路容量", lineDetailData.getData().getShortCapacity() + "");
+ insertRow(doc, table, centerParagraph, false, "接线方式", lineDetailData.getData().getPtType());
+ } else {
+ /* HttpResult> monitorList = monitorClient.getMonitorList(Arrays.asList(exportParam.getLineId()));
+ if (ObjectUtil.isNull(monitorList)) {
+ throw new BusinessException(EventResponseEnum.NOT_FOUND);
+ }
+ insertRow(doc, table, centerParagraph, true, "项目", "描述");
+ insertRow(doc, table, centerParagraph, false, "监测点名称", monitorList.getData().get(0).getName());
+ insertRow(doc, table, centerParagraph, false, "电压等级", dicDataFeignClient.getDicDataById(monitorList.getData().get(0).getVoltageLevel()).getData().getName());
+ insertRow(doc, table, centerParagraph, false, "PT变比", monitorList.getData().get(0).getPt1() + "/" + monitorList.getData().get(0).getPt2());
+ insertRow(doc, table, centerParagraph, false, "CT变比", monitorList.getData().get(0).getCt1() + "/" + monitorList.getData().get(0).getCt2());
+ insertRow(doc, table, centerParagraph, false, "协议容量", monitorList.getData().get(0).getUserAgreementCapacity() + "");
+// insertRow(doc, table, centerParagraph, false, "基准容量", monitorList.getData().get(0).getMinShortCircuitCapacity() + "");
+ insertRow(doc, table, centerParagraph, false, "设备容量", monitorList.getData().get(0).getPowerSupplyEqCapacity() + "");
+ insertRow(doc, table, centerParagraph, false, "最小短路容量", monitorList.getData().get(0).getMinShortCircuitCapacity() + "");
+ insertRow(doc, table, centerParagraph, false, "接线方式", dicDataFeignClient.getDicDataById(monitorList.getData().get(0).getTerminalWiringMethod()).getData().getName());
+ */
+ }
+ i++;
+ }
+ //2.暂降事件暂降事件列表和暂降点图
+ //2.1.判断列表和点图是否是要导出
+ if (exportParam.isLb() || exportParam.isSjdF47() || exportParam.isSjdITIC()) {
+// List plot = eventAnalysisService.getPlot(param);
+ List plot = eventReportService.getPlot(info, reasonData, typeData);
+ //暂降事件列表
+ if (exportParam.isLb()) {
+ createTitle(doc, "4." + i + " 暂降事件列表", "标题 2", 200, 15);
+ XWPFTable table = createTable(doc);
+ XWPFParagraph centerParagraph = WordUtils.getCenterParagraph(doc);
+ insertRow(doc, table, centerParagraph, true, "序号", "暂降发生时刻", "暂降幅值(%)", "持续时间(s)", "暂降类型", "暂降原因", "严重度");
+ for (int j = 0; j < plot.size(); j++) {
+ EventDetail eventDetail = plot.get(j);
+ String s = eventDetail.getStartTime().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
+
+ insertRow(doc, table, centerParagraph, false, j + 1 + "", s, BigDecimal.valueOf(eventDetail.getFeatureAmplitude() * 100).setScale(2, RoundingMode.HALF_UP).toString(), eventDetail.getDuration() + "", eventDetail.getAdvanceType(), eventDetail.getAdvanceReason(), eventDetail.getSeverity() + "");
+ }
+ i++;
+ }
+ //暂降事件点图
+ if (exportParam.isSjdF47() || exportParam.isSjdITIC()) {
+ ArrayList> ass = getAss(plot);
+ createTitle(doc, "4." + i + " 暂降事件点图", "标题 2", 200, 15);
+ int two = 1;
+ if (exportParam.isSjdITIC()) {
+ createTitle(doc, "4." + i + "." + two + " ITIC 曲线", "标题 3", 400, 15);
+ String itic = drawPicUtil.drawItic(ass);
+ createPic(doc, itic, "ITIC曲线");
+ two++;
+ }
+ if (exportParam.isSjdF47()) {
+ createTitle(doc, "4." + i + "." + two + " F47 曲线", "标题 3", 400, 15);
+ String f47 = drawPicUtil.drawF47(ass);
+ createPic(doc, f47, "SEMI F47曲线");
+ two++;
+ }
+ i++;
+ }
+ }
+
+
+ //3.暂降密度
+ if (exportParam.isMdbg() || exportParam.isMdtx()) {
+ createTitle(doc, "4." + i + " 暂降密度", "标题 2", 200, 15);
+ int two = 1;
+ if (exportParam.isMdtx()) {
+ createTitle(doc, "4." + i + "." + two + " 暂降密度点图", "标题 3", 400, 15);
+ Integer[][] eventDensityData = eventReportService.getCoords(info);
+ String str = drawPicUtil.drawEventDensity(eventDensityData);
+ createPic(doc, str, "暂降密度图");
+ two++;
+ }
+ if (exportParam.isMdbg()) {
+ XWPFParagraph centerParagraph = WordUtils.getCenterParagraph(doc);
+ createTitle(doc, "4." + i + "." + two + " DISDIP 表格:国际发配电联盟(UNIPEDE)", "标题 3", 400, 15);
+// List eventDisdip = eventAnalysisService.eventDisdip(new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(),exportParam.getFlag()));
+ List eventDisdip = eventReportService.eventDisdip(info);
+
+ XWPFTable table1 = createTable(doc);
+ insertRow(doc, table1, centerParagraph, true, "剩余电压", "20ms", "100ms", "500ms", "1s", "3s", "20s", "60s", "180s");
+ for (int j = 0; j < eventDisdip.size(); j++) {
+ DISDIPVO disdipvo = eventDisdip.get(j);
+ insertRow(doc, table1, centerParagraph, false, disdipvo.getName(), disdipvo.getTwentyMs(), disdipvo.getOneHundredMs(), disdipvo.getFiveHundredMs(), disdipvo.getOneS(), disdipvo.getThreeS(), disdipvo.getTwentyS(), disdipvo.getSixtyS(), disdipvo.getOneEightyS());
+ }
+ two++;
+ createTitle(doc, "4." + i + "." + two + " IEC 61000-4-11:(用电终端的电压暂降抗度)", "标题 3", 400, 15);
+// List iec411VOS = eventAnalysisService.IEC411(new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(),exportParam.getFlag()));
+ List iec411VOS = eventReportService.IEC411(info);
+ XWPFTable table2 = createTable(doc);
+ insertRow(doc, table2, centerParagraph, true, "剩余电压", "10~20ms", "20~100ms", "0.1~0.2s", "0.2~0.5s", "0.5~1s", ">1s");
+ for (int j = 0; j < iec411VOS.size(); j++) {
+ IEC411VO iec411VO = iec411VOS.get(j);
+ insertRow(doc, table2, centerParagraph, false, iec411VO.getName(), iec411VO.getTenTwentyMs(), iec411VO.getTwentyOneHundredMs(), iec411VO.getZeroPiontOneTwoS(), iec411VO.getZeroPiontTwoFiveS(), iec411VO.getZeroPiontFive1S(), iec411VO.getGreater1S());
+ }
+ two++;
+ createTitle(doc, "4." + i + "." + two + " IEC 61000-2-8:(公共电网电压暂降测量统计)", "标题 3", 400, 15);
+// List iec28VOS = eventAnalysisService.IEC28(new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(),exportParam.getFlag()));
+ List iec28VOS = eventReportService.IEC28(info);
+ XWPFTable table3 = createTable(doc);
+ insertRow(doc, table3, centerParagraph, true, "剩余电压", "0.02~0.1s", "0.1~0.25s", "0.25~0.5s", "0.5s~1s", "1~3s", "3~20s", "20~60s", "60~180s");
+ for (int j = 0; j < iec28VOS.size(); j++) {
+ IEC28VO iec28VO = iec28VOS.get(j);
+ insertRow(doc, table3, centerParagraph, false, iec28VO.getName(), iec28VO.getQ(), iec28VO.getW(), iec28VO.getE(), iec28VO.getR(), iec28VO.getT(), iec28VO.getY(), iec28VO.getU(), iec28VO.getI());
+ }
+ two++;
+ }
+ i++;
+ }
+ //4.暂降幅值概率分布
+ if (exportParam.isGlfbfz() || exportParam.isGlfbsj()) {
+ createTitle(doc, "4." + i + " 暂降幅值概率分布图", "标题 2", 200, 15);
+// ProbabilityVO probabilityVO = eventAnalysisService.getProbabilityDistribution(new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(),exportParam.getFlag()));
+ ProbabilityVO probabilityVO = eventReportService.getProbabilityDistribution(info);
+ int two = 1;
+ if (exportParam.isGlfbfz()) {
+ createTitle(doc, "4." + i + "." + two + " 暂降幅值的概率分函数", "标题 3", 400, 15);
+ List ybardata = probabilityVO.getPereventvalue();
+ List ylinedata = probabilityVO.getEventvalue();
+ String fz = drawPicUtil.drawEventAmplitude(ylinedata, ybardata);
+ createPic(doc, fz, "暂降幅值的概率分布函数");
+ two++;
+ }
+ if (exportParam.isGlfbsj()) {
+ createTitle(doc, "4." + i + "." + two + " 持续时间的概率分函数", "标题 3", 400, 15);
+ List ybardata = probabilityVO.getPersisttime();
+ List ylinedata = probabilityVO.getSisttime();
+ String sj = drawPicUtil.drawPersistentTime(ylinedata, ybardata);
+ createPic(doc, sj, "持续时间的概率分布函数");
+ two++;
+ }
+ i++;
+ }
+
+
+ //5.月份统计
+ if (exportParam.isTjbg() || exportParam.isTjtx()) {
+ createTitle(doc, "4." + i + " 月份统计", "标题 2", 200, 15);
+ int two = 1;
+ List reasonTypeTime = eventReportService.getReasonTypeTime(param);
+ //暂时时间端按月查询不能查询
+// List reasonTypeTime = eventReportService.getReasonTypeTime(param,null);
+ if (exportParam.isTjtx()) {
+ createTitle(doc, "4." + i + "." + two + " 月份统计图", "标题 3", 400, 15);
+ List count = new ArrayList<>();
+ List name = new ArrayList<>();
+ if (exportParam.getFlag() == 0) {
+ for (TimeVO timeVO : reasonTypeTime) {
+ name.add(timeVO.getMonth() + "");
+ count.add(Integer.parseInt(timeVO.getTimes()));
+ }
+ } else {
+ for (TimeVO timeVO : reasonTypeTime) {
+ name.add(timeVO.getDay() + "");
+ count.add(Integer.parseInt(timeVO.getTimes()));
+ }
+ }
+ String yftj = drawPicUtil.drawMonth(name, count, reasonTypeTime.get(0).getYear(), exportParam.getFlag());
+ createPic(doc, yftj, "月份统计图");
+ two++;
+ }
+ if (exportParam.isTjbg()) {
+ XWPFParagraph centerParagraph = WordUtils.getCenterParagraph(doc);
+ createTitle(doc, "4." + i + "." + two + " 时间统计表格", "标题 3", 400, 15);
+
+ XWPFTable table1 = createTable(doc);
+ if (exportParam.getFlag() == 0) {
+ insertRow(doc, table1, centerParagraph, true, "时间(月)", "电压暂降次数");
+ } else {
+ insertRow(doc, table1, centerParagraph, true, "时间(天)", "电压暂降次数");
+ }
+ if (exportParam.getFlag() == 0) {
+ for (int j = 0; j < reasonTypeTime.size(); j++) {
+ TimeVO timeVO = reasonTypeTime.get(j);
+ insertRow(doc, table1, centerParagraph, false, timeVO.getMonth(), timeVO.getTimes());
+ }
+ } else {
+ for (int j = 0; j < reasonTypeTime.size(); j++) {
+ TimeVO timeVO = reasonTypeTime.get(j);
+ insertRow(doc, table1, centerParagraph, false,timeVO.getFulltime(), timeVO.getTimes());
+ }
+ }
+ two++;
+ }
+ i++;
+ }
+
+
+ //6.原因统计
+ //6.1整合提出查询语句
+ Boolean fly = exportParam.isYybg() || exportParam.isYytx() || exportParam.isLxbg() || exportParam.isLxtx();
+ if (fly) {
+ StatisticVO statistic = eventReportService.getStatistic(info, reasonData, typeData);
+ if (exportParam.isYybg() || exportParam.isYytx()) {
+ createTitle(doc, "4." + i + " 原因统计", "标题 2", 200, 15);
+// StatisticVO statistic = eventAnalysisService.getStatistic(new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(),exportParam.getFlag()));
+ int two = 1;
+ if (exportParam.isYytx()) {
+ createTitle(doc, "4." + i + "." + two + " 原因统计图", "标题 3", 400, 15);
+ List xdata = new ArrayList<>();
+ List