package com.iailab.module.data.point.dto; import com.iailab.framework.common.validation.group.AddGroup; import com.iailab.framework.common.validation.group.UpdateGroup; import com.iailab.framework.excel.core.annotations.DictFormat; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.Data; import javax.validation.constraints.NotNull; import javax.validation.constraints.Null; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * @author PanZhibao * @Description * @createTime 2024年05月11日 */ @Data @Tag(name = "测点") public class DaPointDTO implements Serializable { private static final long serialVersionUID = 1L; @Schema(description = "id") @Null(message="{id.null}", groups = AddGroup.class) @NotNull(message="{id.require}", groups = UpdateGroup.class) private String id; @Schema(description = "测点编码", required = true) private String pointNo; @Schema(description = "测点名称", required = true) private String pointName; @Schema(description = "测点类型", required = true) private String pointType; @DictFormat("point_type") private String pointTypeName; @Schema(description = "数据类型", required = true) private String dataType; @DictFormat("data_type") private String dataTypeName; @Schema(description = "存储类型", required = true) private String storeType; @Schema(description = "测量单位", required = true) private String unit; @Schema(description = "单位转换", required = true) private BigDecimal unittransfactor; @Schema(description = "默认值", required = true) private BigDecimal defaultValue; @Schema(description = "最大值") private BigDecimal maxValue; @Schema(description = "最小值") private BigDecimal minValue; @Schema(description = "采集频率", required = true) private String minfreqid; @Schema(description = "备注") private String remark; @Schema(description = "是否启用", required = true) private Integer isEnable; @Schema(description = "创建人") private Long creator; @Schema(description = "创建时间") private Date createTime; @Schema(description = "修改人") private Long updater; @Schema(description = "修改时间") private Date updateTime; @Schema(description = "数据源类型") private String sourceType; @Schema(description = "数据源名称") private String sourceName; @Schema(description = "数据源ID") private String sourceId; @Schema(description = "测点Tag", required = true) private String tagNo; @Schema(description = "平滑尺度") private Integer dimension; @Schema(description = "值类型") private String valueType; @Schema(description = "计算公式", required = true) private String expression; @Schema(description = "瞬时测点") private String momentPoint; @Schema(description = "累计长度") private Integer length; @Schema(description = "除数") private Integer divisor; @Schema(description = "数据源选项") private List sourceOption; @Schema(description = "计算点") private DaMathPointDTO mathPoint; @Schema(description = "测量点") private DaMeasurePointDTO measurePoint; @Schema(description = "累计点") private DaCumulatePointDTO cumulatePoint; }