暂降监测点报告抽取公共方法
This commit is contained in:
@@ -1,75 +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;
|
||||
}
|
||||
//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;
|
||||
//}
|
||||
|
||||
@@ -1,127 +1,127 @@
|
||||
package com.njcn.csharmonic.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 暂降明细实体类
|
||||
*
|
||||
* @author yzh
|
||||
* @since 2022-10-12 18:34:55
|
||||
*/
|
||||
@Data
|
||||
@TableName("r_mp_event_detail")
|
||||
@ApiModel(value="RmpEventDetail对象")
|
||||
public class RmpEventDetailPO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty(value = "暂时事件ID")
|
||||
@TableId(value = "event_id", type = IdType.ASSIGN_ID)
|
||||
private String eventId;
|
||||
|
||||
@ApiModelProperty(value = "监测点ID")
|
||||
private String measurementPointId;
|
||||
|
||||
@ApiModelProperty(value = "监测点ID(复制)")
|
||||
@TableField("measurement_point_id")
|
||||
private String lineId;
|
||||
|
||||
@ApiModelProperty(value = "统计类型")
|
||||
private String eventType;
|
||||
|
||||
@ApiModelProperty(value = "暂降原因(Event_Reason)")
|
||||
@TableField("advance_reason")
|
||||
private String advanceReason;
|
||||
|
||||
@ApiModelProperty(value = "暂降类型(Event_Type)")
|
||||
@TableField("advance_type")
|
||||
private String advanceType;
|
||||
|
||||
@ApiModelProperty(value = "事件关联分析表Guid")
|
||||
private String eventassIndex;
|
||||
|
||||
@ApiModelProperty(value = "dq计算持续时间 ")
|
||||
private Double dqTime;
|
||||
|
||||
@ApiModelProperty(value = "特征值计算更新时间(外键PQS_Relevance的Time字段)")
|
||||
private LocalDateTime dealTime;
|
||||
|
||||
@ApiModelProperty(value = "默认事件个数为0")
|
||||
private Integer num;
|
||||
|
||||
@ApiModelProperty(value = "波形文件是否从装置招到本地(0:未招,1:已招)默认值为0")
|
||||
private Integer fileFlag;
|
||||
|
||||
@ApiModelProperty(value = "特征值计算标志(0,未处理;1,已处理; 2,已处理,无结果;3,计算失败)默认值为0")
|
||||
private Integer dealFlag;
|
||||
|
||||
@ApiModelProperty(value = "处理结果第一条事件发生时间(读comtra文件获取)")
|
||||
private LocalDateTime firstTime;
|
||||
|
||||
@ApiModelProperty(value = "处理结果第一条事件暂降类型(字典表PQS_Dicdata)")
|
||||
private String firstType;
|
||||
|
||||
@ApiModelProperty(value = "处理结果第一条事件发生时间毫秒(读comtra文件获取)")
|
||||
private Double firstMs;
|
||||
|
||||
@ApiModelProperty(value = "暂降能量")
|
||||
private Double energy;
|
||||
|
||||
@ApiModelProperty(value = "暂降严重度")
|
||||
private Double severity;
|
||||
|
||||
@ApiModelProperty(value = "暂降源与监测位置关系 Upper:上游;Lower :下游;Unknown :未知;为空则是未计算")
|
||||
private String sagsource;
|
||||
|
||||
@ApiModelProperty(value = "开始时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
@ApiModelProperty(value = "格式化开始时间")
|
||||
@TableField(exist = false)
|
||||
private String formatTime;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "持续时间,单位秒")
|
||||
private Double duration;
|
||||
|
||||
@ApiModelProperty(value = "特征幅值")
|
||||
private Double featureAmplitude;
|
||||
|
||||
@ApiModelProperty(value = "相别")
|
||||
private String phase;
|
||||
|
||||
@ApiModelProperty(value = "事件描述")
|
||||
private String eventDescribe;
|
||||
|
||||
@ApiModelProperty(value = "波形路径")
|
||||
private String wavePath;
|
||||
|
||||
@ApiModelProperty(value = "暂降核实原因")
|
||||
@TableField("verify_reason")
|
||||
private String verifyReason;
|
||||
|
||||
@ApiModelProperty(value = "暂降核实原因详情")
|
||||
@TableField("verify_reason_detail")
|
||||
private String verifyReasonDetail;
|
||||
|
||||
private Double transientValue;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@ApiModelProperty(value = "用于计算数量")
|
||||
@TableField(exist = false)
|
||||
private Integer count;
|
||||
|
||||
}
|
||||
|
||||
//package com.njcn.csharmonic.pojo.po;
|
||||
//
|
||||
//import com.baomidou.mybatisplus.annotation.IdType;
|
||||
//import com.baomidou.mybatisplus.annotation.TableField;
|
||||
//import com.baomidou.mybatisplus.annotation.TableId;
|
||||
//import com.baomidou.mybatisplus.annotation.TableName;
|
||||
//import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
//import io.swagger.annotations.ApiModel;
|
||||
//import io.swagger.annotations.ApiModelProperty;
|
||||
//import lombok.Data;
|
||||
//
|
||||
//import java.io.Serializable;
|
||||
//import java.time.LocalDateTime;
|
||||
//
|
||||
///**
|
||||
// * 暂降明细实体类
|
||||
// *
|
||||
// * @author yzh
|
||||
// * @since 2022-10-12 18:34:55
|
||||
// */
|
||||
//@Data
|
||||
//@TableName("r_mp_event_detail")
|
||||
//@ApiModel(value="RmpEventDetail对象")
|
||||
//public class RmpEventDetailPO implements Serializable {
|
||||
// private static final long serialVersionUID = 1L;
|
||||
//
|
||||
// @ApiModelProperty(value = "暂时事件ID")
|
||||
// @TableId(value = "event_id", type = IdType.ASSIGN_ID)
|
||||
// private String eventId;
|
||||
//
|
||||
// @ApiModelProperty(value = "监测点ID")
|
||||
// private String measurementPointId;
|
||||
//
|
||||
// @ApiModelProperty(value = "监测点ID(复制)")
|
||||
// @TableField("measurement_point_id")
|
||||
// private String lineId;
|
||||
//
|
||||
// @ApiModelProperty(value = "统计类型")
|
||||
// private String eventType;
|
||||
//
|
||||
// @ApiModelProperty(value = "暂降原因(Event_Reason)")
|
||||
// @TableField("advance_reason")
|
||||
// private String advanceReason;
|
||||
//
|
||||
// @ApiModelProperty(value = "暂降类型(Event_Type)")
|
||||
// @TableField("advance_type")
|
||||
// private String advanceType;
|
||||
//
|
||||
// @ApiModelProperty(value = "事件关联分析表Guid")
|
||||
// private String eventassIndex;
|
||||
//
|
||||
// @ApiModelProperty(value = "dq计算持续时间 ")
|
||||
// private Double dqTime;
|
||||
//
|
||||
// @ApiModelProperty(value = "特征值计算更新时间(外键PQS_Relevance的Time字段)")
|
||||
// private LocalDateTime dealTime;
|
||||
//
|
||||
// @ApiModelProperty(value = "默认事件个数为0")
|
||||
// private Integer num;
|
||||
//
|
||||
// @ApiModelProperty(value = "波形文件是否从装置招到本地(0:未招,1:已招)默认值为0")
|
||||
// private Integer fileFlag;
|
||||
//
|
||||
// @ApiModelProperty(value = "特征值计算标志(0,未处理;1,已处理; 2,已处理,无结果;3,计算失败)默认值为0")
|
||||
// private Integer dealFlag;
|
||||
//
|
||||
// @ApiModelProperty(value = "处理结果第一条事件发生时间(读comtra文件获取)")
|
||||
// private LocalDateTime firstTime;
|
||||
//
|
||||
// @ApiModelProperty(value = "处理结果第一条事件暂降类型(字典表PQS_Dicdata)")
|
||||
// private String firstType;
|
||||
//
|
||||
// @ApiModelProperty(value = "处理结果第一条事件发生时间毫秒(读comtra文件获取)")
|
||||
// private Double firstMs;
|
||||
//
|
||||
// @ApiModelProperty(value = "暂降能量")
|
||||
// private Double energy;
|
||||
//
|
||||
// @ApiModelProperty(value = "暂降严重度")
|
||||
// private Double severity;
|
||||
//
|
||||
// @ApiModelProperty(value = "暂降源与监测位置关系 Upper:上游;Lower :下游;Unknown :未知;为空则是未计算")
|
||||
// private String sagsource;
|
||||
//
|
||||
// @ApiModelProperty(value = "开始时间")
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss.SSS")
|
||||
// private LocalDateTime startTime;
|
||||
//
|
||||
// @ApiModelProperty(value = "格式化开始时间")
|
||||
// @TableField(exist = false)
|
||||
// private String formatTime;
|
||||
//
|
||||
//
|
||||
// @ApiModelProperty(value = "持续时间,单位秒")
|
||||
// private Double duration;
|
||||
//
|
||||
// @ApiModelProperty(value = "特征幅值")
|
||||
// private Double featureAmplitude;
|
||||
//
|
||||
// @ApiModelProperty(value = "相别")
|
||||
// private String phase;
|
||||
//
|
||||
// @ApiModelProperty(value = "事件描述")
|
||||
// private String eventDescribe;
|
||||
//
|
||||
// @ApiModelProperty(value = "波形路径")
|
||||
// private String wavePath;
|
||||
//
|
||||
// @ApiModelProperty(value = "暂降核实原因")
|
||||
// @TableField("verify_reason")
|
||||
// private String verifyReason;
|
||||
//
|
||||
// @ApiModelProperty(value = "暂降核实原因详情")
|
||||
// @TableField("verify_reason_detail")
|
||||
// private String verifyReasonDetail;
|
||||
//
|
||||
// private Double transientValue;
|
||||
//
|
||||
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
// private LocalDateTime createTime;
|
||||
//
|
||||
// @ApiModelProperty(value = "用于计算数量")
|
||||
// @TableField(exist = false)
|
||||
// private Integer count;
|
||||
//
|
||||
//}
|
||||
//
|
||||
|
||||
@@ -146,9 +146,13 @@
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>harmonic-common</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>event-common</artifactId>
|
||||
<version>1.0.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
package com.njcn.csharmonic.controller;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.extra.template.TemplateException;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
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 com.njcn.csdevice.api.CsLineFeignClient;
|
||||
import com.njcn.csdevice.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.csharmonic.service.event.CsEventMonitorReportService;
|
||||
import com.njcn.event.common.pojo.dto.LineDetailDataCommDTO;
|
||||
import com.njcn.event.common.service.EventMonitorReportService;
|
||||
import com.njcn.event.pojo.param.ExportParam;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -32,16 +38,17 @@ import java.text.ParseException;
|
||||
@RestController
|
||||
@RequestMapping("/eventReport")
|
||||
@RequiredArgsConstructor
|
||||
public class EventMonitorReportController {
|
||||
public class CsEventMonitorReportController {
|
||||
|
||||
private final EventMonitorReportService eventMonitorReportService;
|
||||
private final CsEventMonitorReportService monitorEventReportService;
|
||||
|
||||
private final CsLineFeignClient csLineFeignClient;
|
||||
|
||||
@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);
|
||||
monitorEventReportService.getLineExport(exportParam, response);
|
||||
}
|
||||
}
|
||||
@@ -13,6 +13,7 @@ import com.njcn.csharmonic.pojo.vo.ReportTreeVO;
|
||||
import com.njcn.csharmonic.pojo.vo.SysDeptTempVO;
|
||||
import com.njcn.csharmonic.service.CustomReportService;
|
||||
import com.njcn.harmonic.common.pojo.vo.ReportTemplateVO;
|
||||
import com.njcn.harmonic.common.service.CustomReportTableService;
|
||||
import com.njcn.harmonic.pojo.param.ReportSearchParam;
|
||||
import com.njcn.harmonic.pojo.po.ExcelRptTemp;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
@@ -44,6 +45,8 @@ public class CustomReportController extends BaseController {
|
||||
private final CustomReportService customReportService;
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 替换报表数据并返回
|
||||
* @author qijian
|
||||
|
||||
@@ -7,7 +7,7 @@ import com.njcn.csdevice.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.device.biz.pojo.po.Overlimit;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.harmonic.common.pojo.dto.DeviceUnitCommDTO;
|
||||
import com.njcn.harmonic.common.pojo.dto.LineDetailDataCommVO;
|
||||
import com.njcn.harmonic.common.pojo.dto.HarmLineDetailDataCommDTO;
|
||||
import com.njcn.harmonic.common.pojo.dto.OverLimitInfoCommDTO;
|
||||
import com.njcn.harmonic.common.service.MonitorHarmonicReportService;
|
||||
|
||||
@@ -70,13 +70,13 @@ public class WordExportModelController extends BaseController {
|
||||
@RequestPart(value ="file",required = false) MultipartFile file) throws IOException {
|
||||
String methodDescribe = getMethodDescribe("exportWorld");
|
||||
|
||||
LineDetailDataCommVO lineDetailDataCommVO;
|
||||
HarmLineDetailDataCommDTO harmLineDetailDataCommDTO;
|
||||
OverLimitInfoCommDTO overLimitInfoCommDTO;
|
||||
DeviceUnitCommDTO deviceUnitCommDTO;
|
||||
|
||||
Overlimit overLimit = new Overlimit();
|
||||
LineDetailDataVO lineDto = csLineFeignClient.getLineDetailData(lineIndex).getData();
|
||||
lineDetailDataCommVO = BeanUtil.copyProperties(lineDto, LineDetailDataCommVO.class);
|
||||
harmLineDetailDataCommDTO = BeanUtil.copyProperties(lineDto, HarmLineDetailDataCommDTO.class);
|
||||
|
||||
List<Overlimit> overLimitList = csLineFeignClient.getOverLimitData(Stream.of(lineIndex).collect(Collectors.toList())).getData();
|
||||
overLimit = overLimitList.get(0);
|
||||
@@ -87,7 +87,7 @@ public class WordExportModelController extends BaseController {
|
||||
deviceUnitCommDTO = BeanUtil.copyProperties(pqsDeviceUnit, DeviceUnitCommDTO.class);
|
||||
|
||||
|
||||
monitorHarmonicReportService.exportWorld(response, startTime, endTime, type, lineIndex, name, reportNumber, crmName, isUrl, file, lineDetailDataCommVO, overLimitInfoCommDTO,deviceUnitCommDTO);
|
||||
monitorHarmonicReportService.exportWorld(response, startTime, endTime, type, lineIndex, name, reportNumber, crmName, isUrl, file, harmLineDetailDataCommDTO, overLimitInfoCommDTO,deviceUnitCommDTO);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
package com.njcn.csharmonic.mapper;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.csharmonic.pojo.po.RmpEventDetailPO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* 暂态事件明细
|
||||
*
|
||||
* @author yzh
|
||||
* @date 2022/10/12
|
||||
*/
|
||||
@Mapper
|
||||
@DS("sjzx")
|
||||
public interface RmpEventDetailMapper extends BaseMapper<RmpEventDetailPO> {
|
||||
|
||||
}
|
||||
//package com.njcn.csharmonic.mapper;
|
||||
//
|
||||
//import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
//import com.njcn.csharmonic.pojo.po.RmpEventDetailPO;
|
||||
//import org.apache.ibatis.annotations.Mapper;
|
||||
//
|
||||
///**
|
||||
// * 暂态事件明细
|
||||
// *
|
||||
// * @author yzh
|
||||
// * @date 2022/10/12
|
||||
// */
|
||||
//@Mapper
|
||||
//@DS("sjzx")
|
||||
//public interface RmpEventDetailMapper extends BaseMapper<RmpEventDetailPO> {
|
||||
//
|
||||
//}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
package com.njcn.csharmonic.service.event;
|
||||
|
||||
import cn.hutool.extra.template.TemplateException;
|
||||
import com.njcn.csharmonic.pojo.param.eventReport.ExportParam;
|
||||
import com.njcn.event.common.pojo.dto.LineDetailDataCommDTO;
|
||||
import com.njcn.event.pojo.param.ExportParam;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
@@ -14,7 +15,7 @@ import java.text.ParseException;
|
||||
* @author cdf
|
||||
* @date 2025/12/6
|
||||
*/
|
||||
public interface EventMonitorReportService {
|
||||
public interface CsEventMonitorReportService {
|
||||
|
||||
void getLineExport(ExportParam exportParam, HttpServletResponse response) throws InvalidFormatException, IOException, TemplateException, ParseException;
|
||||
|
||||
@@ -1,80 +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<DISDIPVO> eventDisdip(List<EventDetail> info);
|
||||
|
||||
/**
|
||||
* 获取IEC411数据
|
||||
* @param info influxdb查询结果(pqs_eventdetail表)
|
||||
* @return
|
||||
*/
|
||||
List<IEC411VO> IEC411(List<EventDetail> info);
|
||||
|
||||
/**
|
||||
* 获取IEC28数据
|
||||
* @param info influxdb查询结果(pqs_eventdetail表)
|
||||
* @return
|
||||
*/
|
||||
List<IEC28VO> IEC28(List<EventDetail> info);
|
||||
|
||||
/**
|
||||
*暂降幅值概率分布
|
||||
* @param info2 influxdb查询结果(pqs_eventdetail表)
|
||||
* @return
|
||||
*/
|
||||
ProbabilityVO getProbabilityDistribution(List<EventDetail> info2);
|
||||
|
||||
|
||||
/**
|
||||
* 获取点状表格数据2.1
|
||||
* @param info 结果集
|
||||
* @param reasonData 暂降原因
|
||||
* @param typeData 暂降类型
|
||||
* @return
|
||||
*/
|
||||
List<EventDetail> getPlot(List<EventDetail> info, List<DictData> reasonData, List<DictData> typeData);
|
||||
|
||||
/**
|
||||
* 获取详细数据对象
|
||||
* @param info
|
||||
* @param reasonData
|
||||
* @param typeData
|
||||
* @return
|
||||
*/
|
||||
StatisticVO getStatistic(List<EventDetail> info,List<DictData> reasonData,List<DictData>typeData);
|
||||
|
||||
/**
|
||||
* 获取密度点图
|
||||
* @param info
|
||||
* @return
|
||||
*/
|
||||
Integer[][] getCoords(List<EventDetail> info);
|
||||
|
||||
/**
|
||||
* 获取时间列表
|
||||
* @param statisticsParam
|
||||
* @return
|
||||
*/
|
||||
List<TimeVO> getReasonTypeTime(StatisticsParam statisticsParam) throws ParseException;
|
||||
}
|
||||
//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<DISDIPVO> eventDisdip(List<EventDetail> info);
|
||||
//
|
||||
// /**
|
||||
// * 获取IEC411数据
|
||||
// * @param info influxdb查询结果(pqs_eventdetail表)
|
||||
// * @return
|
||||
// */
|
||||
// List<IEC411VO> IEC411(List<EventDetail> info);
|
||||
//
|
||||
// /**
|
||||
// * 获取IEC28数据
|
||||
// * @param info influxdb查询结果(pqs_eventdetail表)
|
||||
// * @return
|
||||
// */
|
||||
// List<IEC28VO> IEC28(List<EventDetail> info);
|
||||
//
|
||||
// /**
|
||||
// *暂降幅值概率分布
|
||||
// * @param info2 influxdb查询结果(pqs_eventdetail表)
|
||||
// * @return
|
||||
// */
|
||||
// ProbabilityVO getProbabilityDistribution(List<EventDetail> info2);
|
||||
//
|
||||
//
|
||||
// /**
|
||||
// * 获取点状表格数据2.1
|
||||
// * @param info 结果集
|
||||
// * @param reasonData 暂降原因
|
||||
// * @param typeData 暂降类型
|
||||
// * @return
|
||||
// */
|
||||
// List<EventDetail> getPlot(List<EventDetail> info, List<DictData> reasonData, List<DictData> typeData);
|
||||
//
|
||||
// /**
|
||||
// * 获取详细数据对象
|
||||
// * @param info
|
||||
// * @param reasonData
|
||||
// * @param typeData
|
||||
// * @return
|
||||
// */
|
||||
// StatisticVO getStatistic(List<EventDetail> info,List<DictData> reasonData,List<DictData>typeData);
|
||||
//
|
||||
// /**
|
||||
// * 获取密度点图
|
||||
// * @param info
|
||||
// * @return
|
||||
// */
|
||||
// Integer[][] getCoords(List<EventDetail> info);
|
||||
//
|
||||
// /**
|
||||
// * 获取时间列表
|
||||
// * @param statisticsParam
|
||||
// * @return
|
||||
// */
|
||||
// List<TimeVO> getReasonTypeTime(StatisticsParam statisticsParam) throws ParseException;
|
||||
//}
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
package com.njcn.csharmonic.service.event;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.csharmonic.pojo.po.RmpEventDetailPO;
|
||||
|
||||
/**
|
||||
* 暂态事件明细
|
||||
*
|
||||
* @author yzh
|
||||
* @date 2022/10/12
|
||||
*/
|
||||
|
||||
public interface RmpEventDetailService extends IService<RmpEventDetailPO> {
|
||||
|
||||
}
|
||||
//package com.njcn.csharmonic.service.event;
|
||||
//
|
||||
//import com.baomidou.mybatisplus.extension.service.IService;
|
||||
//import com.njcn.csharmonic.pojo.po.RmpEventDetailPO;
|
||||
//
|
||||
///**
|
||||
// * 暂态事件明细
|
||||
// *
|
||||
// * @author yzh
|
||||
// * @date 2022/10/12
|
||||
// */
|
||||
//
|
||||
//public interface RmpEventDetailService extends IService<RmpEventDetailPO> {
|
||||
//
|
||||
//}
|
||||
|
||||
@@ -23,27 +23,26 @@ import com.njcn.csdevice.pojo.vo.DataGroupEventVO;
|
||||
import com.njcn.csharmonic.enums.CsEventEnum;
|
||||
import com.njcn.csharmonic.enums.CsTransientEnum;
|
||||
import com.njcn.csharmonic.mapper.CsEventPOMapper;
|
||||
import com.njcn.csharmonic.mapper.RmpEventDetailMapper;
|
||||
import com.njcn.csharmonic.param.CldEventParam;
|
||||
import com.njcn.csharmonic.param.CsEventUserQueryPage;
|
||||
import com.njcn.csharmonic.param.CsEventUserQueryParam;
|
||||
import com.njcn.csharmonic.param.DataParam;
|
||||
import com.njcn.csharmonic.pojo.param.EventStatisticParam;
|
||||
import com.njcn.csharmonic.pojo.po.CsEventPO;
|
||||
import com.njcn.csharmonic.pojo.po.RmpEventDetailPO;
|
||||
import com.njcn.csharmonic.pojo.vo.CsEventVO;
|
||||
import com.njcn.csharmonic.pojo.vo.CsWarnDescVO;
|
||||
import com.njcn.csharmonic.pojo.vo.EventDetailVO;
|
||||
import com.njcn.csharmonic.pojo.vo.EventStatisticsVo;
|
||||
import com.njcn.csharmonic.service.CsEventPOService;
|
||||
import com.njcn.csharmonic.service.CsEventUserPOService;
|
||||
import com.njcn.csharmonic.service.event.RmpEventDetailService;
|
||||
import com.njcn.event.common.mapper.RmpEventDetailMapper;
|
||||
import com.njcn.event.file.component.WaveFileComponent;
|
||||
import com.njcn.event.file.component.WavePicComponent;
|
||||
import com.njcn.event.file.pojo.bo.WaveDataDetail;
|
||||
import com.njcn.event.file.pojo.dto.WaveDataDTO;
|
||||
import com.njcn.event.file.pojo.enums.WaveFileResponseEnum;
|
||||
import com.njcn.event.file.utils.WaveUtil;
|
||||
import com.njcn.event.pojo.po.RmpEventDetailPO;
|
||||
import com.njcn.influx.pojo.constant.InfluxDBTableConstant;
|
||||
import com.njcn.influx.pojo.dto.EventDataSetDTO;
|
||||
import com.njcn.influx.service.EvtDataService;
|
||||
@@ -115,7 +114,6 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
||||
private final InfluxDbUtils influxDbUtils;
|
||||
private final MinIoUtils minIoUtils;
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
private final RmpEventDetailService rmpEventDetailService;
|
||||
private final RmpEventDetailMapper rmpEventDetailMapper;
|
||||
|
||||
@Override
|
||||
@@ -408,7 +406,7 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
||||
rmpEventDetailPO.setDuration(param.getDuration());
|
||||
rmpEventDetailPO.setEventDescribe(getTag(param.getEventType()));
|
||||
rmpEventDetailPO.setPhase(param.getPhase());
|
||||
rmpEventDetailService.save(rmpEventDetailPO);
|
||||
rmpEventDetailMapper.insert(rmpEventDetailPO);
|
||||
}
|
||||
|
||||
public void updateEvent(CldEventParam param) {
|
||||
@@ -416,7 +414,7 @@ public class CsEventPOServiceImpl extends ServiceImpl<CsEventPOMapper, CsEventPO
|
||||
wrapper.eq(RmpEventDetailPO::getMeasurementPointId,param.getMonitorId()).eq(RmpEventDetailPO::getStartTime,param.getStartTime());
|
||||
RmpEventDetailPO po = rmpEventDetailMapper.selectOne(wrapper);
|
||||
po.setWavePath(param.getWavePath());
|
||||
rmpEventDetailService.updateById(po);
|
||||
rmpEventDetailMapper.updateById(po);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.po.PqsDeviceUnit;
|
||||
import com.njcn.harmonic.common.mapper.ExcelRptTempMapper;
|
||||
import com.njcn.harmonic.common.pojo.vo.ReportTemplateVO;
|
||||
import com.njcn.harmonic.common.service.CustomReportTableService;
|
||||
import com.njcn.harmonic.pojo.param.ReportSearchParam;
|
||||
import com.njcn.harmonic.pojo.po.ExcelRptTemp;
|
||||
import com.njcn.influx.constant.InfluxDbSqlConstant;
|
||||
@@ -104,6 +105,8 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
|
||||
private final CsCommTerminalFeignClient csCommTerminalFeignClient;
|
||||
|
||||
private final CustomReportTableService customReportTableService;
|
||||
|
||||
private final WlRecordFeignClient wlRecordFeignClient;
|
||||
private final UserFeignClient userFeignClient;
|
||||
private final CsLineFeignClient csLineFeignClient;
|
||||
@@ -129,7 +132,7 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
/**
|
||||
* map key转大写
|
||||
*/
|
||||
public static <V> Map<String, V> convertKeysToUpperCase(Map<String, V> originalMap) {
|
||||
public <V> Map<String, V> convertKeysToUpperCase(Map<String, V> originalMap) {
|
||||
Map<String, V> newMap = new HashMap<>();
|
||||
if (CollUtil.isNotEmpty(originalMap)) {
|
||||
for (Map.Entry<String, V> entry : originalMap.entrySet()) {
|
||||
@@ -158,7 +161,9 @@ public class CustomReportServiceImpl implements CustomReportService {
|
||||
}
|
||||
if (Objects.isNull(reportSearchParam.getCustomType())) {
|
||||
//通用报表
|
||||
analyzeReport(reportSearchParam, excelRptTemp, response);
|
||||
Map<String,String> map = csLineFeignClient.getCustomDetailByLineId(reportSearchParam.getLineId()).getData();
|
||||
Map<String,String> newMap = convertKeysToUpperCase(map);
|
||||
customReportTableService.getCustomReport(reportSearchParam,newMap,response);
|
||||
} else {
|
||||
//浙江无线报表
|
||||
analyzeReportZhejiang(reportSearchParam, excelRptTemp, response);
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.njcn.csharmonic.service.impl.event;
|
||||
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.extra.template.TemplateException;
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.njcn.csdevice.api.CsLineFeignClient;
|
||||
import com.njcn.csdevice.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.csharmonic.service.event.CsEventMonitorReportService;
|
||||
import com.njcn.echarts.util.DrawPicUtil;
|
||||
import com.njcn.event.common.pojo.dto.LineDetailDataCommDTO;
|
||||
import com.njcn.event.common.service.CommMonitorEventReportService;
|
||||
import com.njcn.event.pojo.param.ExportParam;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
import org.springframework.stereotype.Service;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.text.ParseException;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* govern
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2025/12/6
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@DS("sjzx")
|
||||
public class CsEventMonitorReportServiceImpl implements CsEventMonitorReportService {
|
||||
|
||||
private final CommMonitorEventReportService monitorEventReportService;
|
||||
|
||||
private final CsLineFeignClient csLineFeignClient;
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void getLineExport(ExportParam exportParam,HttpServletResponse response) throws InvalidFormatException, IOException, TemplateException, ParseException {
|
||||
LineDetailDataCommDTO lineDetailDataCommDTO = new LineDetailDataCommDTO();
|
||||
LineDetailDataVO lineDetailDataVO = csLineFeignClient.getLineDetailData(exportParam.getLineId()).getData();
|
||||
BeanUtil.copyProperties(lineDetailDataVO,lineDetailDataCommDTO);
|
||||
monitorEventReportService.getLineExport(exportParam,lineDetailDataCommDTO, response);
|
||||
}
|
||||
}
|
||||
@@ -1,592 +0,0 @@
|
||||
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<DictData> reasonData = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_REASON.getName()).getData();
|
||||
//获取暂降类型字典
|
||||
List<DictData> typeData = dicDataFeignClient.getDicDataByTypeName(DicDataTypeEnum.EVENT_TYPE.getName()).getData();
|
||||
//influxdb查询结果(pqs_eventdetail表)
|
||||
List<EventDetail> 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<LineDetailDataVO> 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<List<Monitor>> 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<EventDetail> plot = eventAnalysisService.getPlot(param);
|
||||
List<EventDetail> 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<List<Double>> 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<DISDIPVO> eventDisdip = eventAnalysisService.eventDisdip(new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(),exportParam.getFlag()));
|
||||
List<DISDIPVO> 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<IEC411VO> iec411VOS = eventAnalysisService.IEC411(new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(),exportParam.getFlag()));
|
||||
List<IEC411VO> 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<IEC28VO> iec28VOS = eventAnalysisService.IEC28(new StatisticsParam(exportParam.getLineId(), exportParam.getSearchBeginTime(), exportParam.getSearchEndTime(),exportParam.getFlag()));
|
||||
List<IEC28VO> 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<String> ybardata = probabilityVO.getPereventvalue();
|
||||
List<String> 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<String> ybardata = probabilityVO.getPersisttime();
|
||||
List<String> 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<TimeVO> reasonTypeTime = eventReportService.getReasonTypeTime(param);
|
||||
//暂时时间端按月查询不能查询
|
||||
// List<TimeVO> reasonTypeTime = eventReportService.getReasonTypeTime(param,null);
|
||||
if (exportParam.isTjtx()) {
|
||||
createTitle(doc, "4." + i + "." + two + " 月份统计图", "标题 3", 400, 15);
|
||||
List<Integer> count = new ArrayList<>();
|
||||
List<String> 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<String> xdata = new ArrayList<>();
|
||||
List<Map<String, Object>> reasonList = new ArrayList<>();
|
||||
|
||||
List<ReasonsVO> reason = statistic.getReason();
|
||||
for (ReasonsVO reasonsVO : reason) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("value", reasonsVO.getTimes());
|
||||
map.put("name", reasonsVO.getReason());
|
||||
reasonList.add(map);
|
||||
xdata.add(reasonsVO.getReason());
|
||||
}
|
||||
String tr = drawPicUtil.drawReason(xdata, reasonList);
|
||||
createPic(doc, tr, "暂降原因图");
|
||||
two++;
|
||||
}
|
||||
if (exportParam.isYybg()) {
|
||||
XWPFParagraph centerParagraph = WordUtils.getCenterParagraph(doc);
|
||||
createTitle(doc, "4." + i + "." + two + " 原因统计表格", "标题 3", 400, 15);
|
||||
XWPFTable table1 = createTable(doc);
|
||||
insertRow(doc, table1, centerParagraph, true, "暂降原因", "电压暂降次数");
|
||||
List<ReasonsVO> reason = statistic.getReason();
|
||||
for (int j = 0; j < reason.size(); j++) {
|
||||
ReasonsVO reasonsVO = reason.get(j);
|
||||
insertRow(doc, table1, centerParagraph, false, reasonsVO.getReason(), reasonsVO.getTimes() + "");
|
||||
}
|
||||
two++;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
//7.类型统计
|
||||
if (exportParam.isLxbg() || exportParam.isLxtx()) {
|
||||
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.isLxtx()) {
|
||||
createTitle(doc, "4." + i + "." + two + " 类型统计图", "标题 3", 400, 15);
|
||||
List<String> xdata = new ArrayList<>();
|
||||
List<TypesVO> types = statistic.getTypes();
|
||||
|
||||
List<Map<String, Object>> reasonList = new ArrayList<>();
|
||||
for (TypesVO type : types) {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("value", type.getTimes());
|
||||
map.put("name", type.getType());
|
||||
reasonList.add(map);
|
||||
xdata.add(type.getType());
|
||||
}
|
||||
String tr = drawPicUtil.drawType(xdata, reasonList);
|
||||
createPic(doc, tr, "暂降类型图");
|
||||
two++;
|
||||
}
|
||||
if (exportParam.isLxbg()) {
|
||||
createTitle(doc, "4." + i + "." + two + " 类型统计表格", "标题 3", 400, 15);
|
||||
XWPFParagraph centerParagraph = WordUtils.getCenterParagraph(doc);
|
||||
XWPFTable table1 = createTable(doc);
|
||||
insertRow(doc, table1, centerParagraph, true, "暂降原因", "电压暂降次数");
|
||||
List<TypesVO> types = statistic.getTypes();
|
||||
for (int j = 0; j < types.size(); j++) {
|
||||
TypesVO typesVO = types.get(j);
|
||||
insertRow(doc, table1, centerParagraph, false, typesVO.getType(), typesVO.getTimes() + "");
|
||||
}
|
||||
two++;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ServletOutputStream outputStream = response.getOutputStream();
|
||||
String fileName = URLEncoder.encode(exportParam.getLineName() + ".docx", "UTF-8");
|
||||
response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
|
||||
response.setContentType("application/octet-stream;charset=UTF-8");
|
||||
doc.write(outputStream);
|
||||
outputStream.close();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建标题
|
||||
*
|
||||
* @param document 文档
|
||||
* @param message 标题内容
|
||||
* @param style 标题等级
|
||||
* @param line 缩进
|
||||
* @param fontSize 字体大小
|
||||
*/
|
||||
public void createTitle(XWPFDocument document, String message, String style, int line, int fontSize) {
|
||||
XWPFParagraph summaeTableParagraph = WordUtils.getLeftParagraph(document);
|
||||
summaeTableParagraph.setStyle(style);
|
||||
summaeTableParagraph.setIndentationFirstLine(line);
|
||||
XWPFRun summaeTableRun = summaeTableParagraph.createRun();
|
||||
WordUtils.addParagraph(summaeTableRun, "宋体", fontSize, "000000", message, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* 表格插入行数据
|
||||
*
|
||||
* @param document 文档
|
||||
* @param table 表格
|
||||
* @param head 是否是表头
|
||||
* @param values 数据内容
|
||||
*/
|
||||
public static void insertRow(XWPFDocument document, XWPFTable table, XWPFParagraph excelParagraph, boolean head,
|
||||
String... values) {
|
||||
if (head) {
|
||||
XWPFTableRow summaTableRowOne = table.getRow(0);
|
||||
WordUtils.setExcelHeadContent(excelParagraph, summaTableRowOne, values);
|
||||
} else {
|
||||
XWPFTableRow summaTableRowOne = table.createRow();
|
||||
WordUtils.setExcelContent(excelParagraph, summaTableRowOne, values);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建图片在word中
|
||||
*
|
||||
* @param document 文档
|
||||
* @param image 图片base64
|
||||
* @param name 图片名
|
||||
* @throws IOException
|
||||
* @throws InvalidFormatException
|
||||
*/
|
||||
public void createPic(XWPFDocument document, String image, String name) throws IOException, InvalidFormatException, InvalidFormatException {
|
||||
XWPFParagraph picParagraph = WordUtils.getCenterParagraph(document);
|
||||
XWPFRun createRun = picParagraph.createRun();
|
||||
if (image.contains(PicCommonData.PNG_PREFIX)) {
|
||||
image = image.replace(PicCommonData.PNG_PREFIX, "");
|
||||
}
|
||||
byte[] bytes = Base64.getDecoder().decode(image);
|
||||
InputStream in = new ByteArrayInputStream(bytes);
|
||||
createRun.addPicture(in, 5, name, Units.toEMU(410), Units.toEMU(170));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建表格
|
||||
*
|
||||
* @param document
|
||||
* @return
|
||||
*/
|
||||
public XWPFTable createTable(XWPFDocument document) {
|
||||
XWPFTable summaTable = document.createTable();
|
||||
// 列宽自动分割
|
||||
CTTblWidth summaTableWidth = summaTable.getCTTbl().addNewTblPr().addNewTblW();
|
||||
summaTableWidth.setType(STTblWidth.DXA);
|
||||
summaTableWidth.setW(BigInteger.valueOf(8160));
|
||||
return summaTable;
|
||||
}
|
||||
|
||||
public void setCellStyle(HSSFCell cellname, String value, HSSFCellStyle style) {
|
||||
cellname.setCellValue(value);
|
||||
cellname.setCellStyle(style);
|
||||
}
|
||||
|
||||
/**
|
||||
* 监测点暂降事件点图赋值
|
||||
*
|
||||
* @param plot
|
||||
* @return
|
||||
*/
|
||||
private ArrayList<List<Double>> getAss(List<EventDetail> plot) {
|
||||
//TODO 666
|
||||
ArrayList<List<Double>> list = new ArrayList<>();
|
||||
for (EventDetail eventDetail : plot) {
|
||||
ArrayList<Double> doubles = new ArrayList<>();
|
||||
doubles.add(eventDetail.getDuration());
|
||||
doubles.add(Double.parseDouble(String.valueOf(eventDetail.getFeatureAmplitude() * 100)));
|
||||
list.add(doubles);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* influxdb查询结果集
|
||||
*
|
||||
* @param statisticsParam
|
||||
* @return
|
||||
*/
|
||||
private List<EventDetail> info(StatisticsParam statisticsParam) {
|
||||
//获取事件类型
|
||||
List<DictData> dictType = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.EVENT_STATIS.getCode()).getData();
|
||||
List<String> typeIds = dictType.stream().filter(x -> DicDataEnum.VOLTAGE_DIP.getCode().equals(x.getCode()) || DicDataEnum.SHORT_INTERRUPTIONS.getCode().equals(x.getCode()))
|
||||
.map(DictData::getId).collect(Collectors.toList());
|
||||
//数据暂降查询
|
||||
/* List<RmpEventDetailPO> info = eventDetailService.list(new LambdaQueryWrapper<RmpEventDetailPO>()
|
||||
.eq(RmpEventDetailPO::getMeasurementPointId, statisticsParam.getLineIndex())
|
||||
.in(RmpEventDetailPO::getEventType, typeIds)
|
||||
.ge(StrUtil.isNotBlank(statisticsParam.getStartTime()), RmpEventDetailPO::getStartTime, DateUtil.beginOfDay(DateUtil.parse(statisticsParam.getStartTime())))
|
||||
.le(StrUtil.isNotBlank(statisticsParam.getEndTime()), RmpEventDetailPO::getStartTime, DateUtil.endOfDay(DateUtil.parse(statisticsParam.getEndTime())))
|
||||
);*/
|
||||
|
||||
return new ArrayList<>();
|
||||
}
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,28 +1,28 @@
|
||||
package com.njcn.csharmonic.service.impl.event;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.csharmonic.mapper.RmpEventDetailMapper;
|
||||
import com.njcn.csharmonic.pojo.po.RmpEventDetailPO;
|
||||
import com.njcn.csharmonic.service.event.RmpEventDetailService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
||||
/**
|
||||
* 暂态事件明细
|
||||
*
|
||||
* @author yzh
|
||||
* @date 2022/10/12
|
||||
*/
|
||||
@Service
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@DS("sjzx")
|
||||
public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper, RmpEventDetailPO> implements RmpEventDetailService {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
//package com.njcn.csharmonic.service.impl.event;
|
||||
//
|
||||
//import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
//import com.njcn.csharmonic.mapper.RmpEventDetailMapper;
|
||||
//import com.njcn.csharmonic.pojo.po.RmpEventDetailPO;
|
||||
//import com.njcn.csharmonic.service.event.RmpEventDetailService;
|
||||
//import lombok.RequiredArgsConstructor;
|
||||
//import lombok.extern.slf4j.Slf4j;
|
||||
//import org.springframework.stereotype.Service;
|
||||
//
|
||||
//
|
||||
///**
|
||||
// * 暂态事件明细
|
||||
// *
|
||||
// * @author yzh
|
||||
// * @date 2022/10/12
|
||||
// */
|
||||
//@Service
|
||||
//@Slf4j
|
||||
//@RequiredArgsConstructor
|
||||
//@DS("sjzx")
|
||||
//public class RmpEventDetailServiceImpl extends ServiceImpl<RmpEventDetailMapper, RmpEventDetailPO> implements RmpEventDetailService {
|
||||
//
|
||||
//
|
||||
//}
|
||||
//
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user