feat(report): 迁移自定义报表功能模块
This commit is contained in:
@@ -20,7 +20,18 @@ public enum CsHarmonicResponseEnum {
|
||||
RECORD_MISSING("A00602","record.bin文件缺失,补召失败"),
|
||||
|
||||
EVENT_FILE_NOT_SAME("A00603","cfg、dat文件名称不一致"),
|
||||
CUSTOM_REPORT_REPEAT("A00552","自定义报表模板名称已存在"),
|
||||
|
||||
CUSTOM_REPORT_JSON("A00553","模板非严格json数据"),
|
||||
|
||||
CUSTOM_REPORT_DEPT("A00554","该部门已存在绑定报表模板"),
|
||||
CUSTOM_TYPE("A00555","字典中未查询到报表模板类型"),
|
||||
CUSTOM_REPORT_ACTIVE("A00556","不存在激活的自定义报告模板"),
|
||||
CUSTOM_REPORT_EMPTY("A00557","自定义报表模板异常,模板数据为空"),
|
||||
CUSTOM_REPORT_FILE("A00558","上传文件服务器错误,请检查数据"),
|
||||
|
||||
REPORT_DOWNLOAD_ERROR("A00559","报表文件下载异常"),
|
||||
REPORT_TEMPLATE_DOWNLOAD_ERROR("A00560","报表模板下载异常")
|
||||
;
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package com.njcn.csharmonic.param;
|
||||
|
||||
import com.njcn.web.pojo.annotation.DateTimeStrValid;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
|
||||
|
||||
@Data
|
||||
public class SensitiveUserReportQueryParam {
|
||||
|
||||
@ApiModelProperty(name = "lineId",value = "监测对象id")
|
||||
private String sensitiveUserId;
|
||||
|
||||
@ApiModelProperty(name = "tempId",value = "模板ID")
|
||||
private String tempId;
|
||||
|
||||
|
||||
@ApiModelProperty(name = "searchBeginTime", value = "开始时间")
|
||||
@NotBlank(message = "起始时间不可为空")
|
||||
@DateTimeStrValid(message = "起始时间格式出错")
|
||||
private String searchBeginTime;
|
||||
|
||||
@ApiModelProperty(name = "searchEndTime", value = "结束时间")
|
||||
@NotBlank(message = "结束时间不可为空")
|
||||
private String searchEndTime;
|
||||
|
||||
//目前用于区分不同系统资源,null默认 1.无线系统,配合cs-device
|
||||
private Integer resourceType;
|
||||
|
||||
//浙江无线报表特殊标识 null为通用报表 1.浙江无线报表
|
||||
private Integer customType;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.njcn.csharmonic.pojo.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2022/8/22
|
||||
*/
|
||||
@Data
|
||||
public class ReportTemplateDTO {
|
||||
/**
|
||||
* $HA[_25]#B#max#classId#resourceId$
|
||||
*/
|
||||
private String itemName;
|
||||
|
||||
|
||||
/**
|
||||
* 对应influxdb数据库中字段
|
||||
*/
|
||||
private String templateName;
|
||||
|
||||
/**
|
||||
* 对应限值字段
|
||||
*/
|
||||
private String limitName;
|
||||
|
||||
/**
|
||||
* 相别
|
||||
*/
|
||||
private String phase;
|
||||
|
||||
/**
|
||||
* max min avg cp95
|
||||
*/
|
||||
private String statMethod;
|
||||
|
||||
/**
|
||||
* 对应influxdb数据库的表名
|
||||
*/
|
||||
private String classId;
|
||||
|
||||
/**
|
||||
* 对应mysql数据库的表名
|
||||
*/
|
||||
private String resourceId;
|
||||
|
||||
/**
|
||||
* 标识指标是否越限 0.否 1.是
|
||||
*/
|
||||
private Integer overLimitFlag;
|
||||
|
||||
/**
|
||||
* 填入的value值
|
||||
*/
|
||||
private String value;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
package com.njcn.csharmonic.pojo.param;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 模板动态更新数据
|
||||
*
|
||||
* @author qijian
|
||||
* @date 2022/10/11
|
||||
*/
|
||||
@Data
|
||||
public class ReportSearchParam {
|
||||
|
||||
@ApiModelProperty(name = "lineId",value = "监测点id")
|
||||
private String lineId;
|
||||
|
||||
@ApiModelProperty(name = "tempId",value = "模板ID")
|
||||
private String tempId;
|
||||
|
||||
@ApiModelProperty(name = "activation",value = "激活状态")
|
||||
private Integer activation;
|
||||
|
||||
@ApiModelProperty(name = "type",value = "报表类型")
|
||||
private Integer type;
|
||||
|
||||
@ApiModelProperty(name = "startTime",value = "开始时间")
|
||||
private String startTime;
|
||||
|
||||
@ApiModelProperty(name = "endTime",value = "结束时间")
|
||||
private String endTime;
|
||||
|
||||
@ApiModelProperty(name = "deptId",value = "部门ID")
|
||||
private String deptId;
|
||||
|
||||
//目前用于区分不同系统资源,null默认 1.无线系统,配合cs-device
|
||||
private Integer resourceType;
|
||||
|
||||
//浙江无线报表特殊标识 null为通用报表 1.浙江无线报表
|
||||
private Integer customType;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.njcn.csharmonic.pojo.param;
|
||||
|
||||
import com.njcn.common.pojo.constant.PatternRegex;
|
||||
import com.njcn.web.constant.ValidMessage;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.Pattern;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2022/8/16
|
||||
*/
|
||||
@Data
|
||||
public class ReportTemplateParam {
|
||||
|
||||
@ApiModelProperty(name = "name",value = "模板名称",required = true)
|
||||
@NotBlank(message = "模板名称不可为空")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(name = "fileContent",value = "json文件",required = true)
|
||||
@NotNull(message = "模板文件不可为空")
|
||||
private MultipartFile fileContent;
|
||||
|
||||
@ApiModelProperty(name = "content",value = "json文件内容")
|
||||
private String content;
|
||||
|
||||
@ApiModelProperty(name = "deptId",value = "部门id")
|
||||
private List<String> deptId;
|
||||
|
||||
@ApiModelProperty(name = "valueTitle",value = "存取库中")
|
||||
private String valueTitle;
|
||||
|
||||
@ApiModelProperty(name = "reportType",value = "模板类型",required = true)
|
||||
@NotBlank(message = "模板类型不可为空")
|
||||
private String reportType;
|
||||
|
||||
@ApiModelProperty(name = "reportForm",value = "报表类型",required = true)
|
||||
private String reportForm;
|
||||
|
||||
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public static class UpdateReportTemplateParam extends ReportTemplateParam {
|
||||
|
||||
@ApiModelProperty(name = "id",required = true)
|
||||
@NotBlank(message = ValidMessage.ID_NOT_BLANK)
|
||||
@Pattern(regexp = PatternRegex.SYSTEM_ID, message = ValidMessage.ID_FORMAT_ERROR)
|
||||
private String id;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.njcn.csharmonic.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
|
||||
/**
|
||||
* pqs
|
||||
* 自定义报表
|
||||
* @author cdf
|
||||
* @date 2022/8/16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName(value = "sys_excel_rpt_temp")
|
||||
public class ExcelRptTemp extends BaseEntity {
|
||||
private String id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String content;
|
||||
|
||||
private Integer activation;
|
||||
|
||||
private Integer state;
|
||||
|
||||
private String valueTitle;
|
||||
|
||||
private String reportType;
|
||||
|
||||
private String reportForm;
|
||||
|
||||
private Integer sort;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.njcn.csharmonic.pojo.vo;
|
||||
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
* 自定义报表
|
||||
* @author cdf
|
||||
* @date 2022/8/16
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public class ReportTemplateVO extends BaseEntity {
|
||||
private String id;
|
||||
|
||||
private String name;
|
||||
|
||||
private String content;
|
||||
|
||||
private String deptId;
|
||||
|
||||
private Integer activation;
|
||||
|
||||
private Integer state;
|
||||
|
||||
private String deptName;
|
||||
|
||||
private String reportType;
|
||||
|
||||
private String reportForm;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
package com.njcn.csharmonic.pojo.vo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
*
|
||||
* @author cdf
|
||||
* @date 2022/8/18
|
||||
*/
|
||||
@Data
|
||||
public class ReportTreeVO {
|
||||
|
||||
@ApiModelProperty(name = "id",value = "模板索引")
|
||||
private String id;
|
||||
|
||||
@ApiModelProperty(name = "name",value = "模板字段名")
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(name = "showName",value = "模板中文展示名")
|
||||
private String showName;
|
||||
|
||||
@ApiModelProperty(name = "flag",value = "用于标识最底层对象 1.表示已经没有子级")
|
||||
private Integer flag;
|
||||
|
||||
private List<ReportTreeVO> children;
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.njcn.csharmonic.pojo.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author qijian
|
||||
* @since 2022-10-19 09:31:39
|
||||
*/
|
||||
@Data
|
||||
public class SysDeptTempVO implements Serializable {
|
||||
private static final long serialVersionUID = -35391150359300949L;
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
private String id;
|
||||
/**
|
||||
* 部门主键
|
||||
*/
|
||||
private String deptId;
|
||||
|
||||
/**
|
||||
* 模板主键
|
||||
*/
|
||||
private String tempId;
|
||||
|
||||
/**
|
||||
* 激活状态
|
||||
*/
|
||||
private Integer activation;
|
||||
|
||||
//部门名称
|
||||
private String deptName;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
package com.njcn.csharmonic.utils;
|
||||
|
||||
public class DataChangeUtil {
|
||||
|
||||
/**
|
||||
* 用来将二次值转成一次值
|
||||
*/
|
||||
public static double secondaryToPrimary(String formula, Double data,Double pt, Double ct) {
|
||||
switch (formula) {
|
||||
|
||||
case "*PT":
|
||||
data = data * pt;
|
||||
break;
|
||||
case "*CT":
|
||||
data = data * ct;
|
||||
break;
|
||||
case "*PT*CT":
|
||||
data = data * pt * ct;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
/**
|
||||
* 用来将一次值转成二次值
|
||||
*/
|
||||
public static double primaryToSecondary(String formula, Double data,Double pt, Double ct) {
|
||||
switch (formula) {
|
||||
case "*PT":
|
||||
data = data / pt;
|
||||
break;
|
||||
case "*CT":
|
||||
data = data / ct;
|
||||
break;
|
||||
case "*PT*CT":
|
||||
data = data / pt / ct;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user