package com.njcn.advance.pojo.param.govern.voltage;

import com.njcn.web.constant.ValidMessage;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author hongawen
 * @since 2024-02-29
 */
@Data
public class SgEventParam {



    /**
     * 进线id
     */
    @ApiModelProperty("进线id")
    @NotBlank(message = ValidMessage.MISS_PREFIX + "lineId")
    private String incomingLineId;

    /**
     * 暂降起始时间
     */
    @ApiModelProperty("暂降起始时间")
    @NotNull(message = ValidMessage.MISS_PREFIX + "startTime")
    private LocalDateTime startTime;

    /**
     * 事件类型
     */
    private String eventType;

    /**
     * 持续时间(单位：秒)
     */
    @ApiModelProperty("持续时间")
    @NotNull(message = ValidMessage.MISS_PREFIX + "duration")
    private Double duration;

    /**
     * 特征幅值
     */
    @ApiModelProperty("特征幅值")
    @NotNull(message = ValidMessage.MISS_PREFIX + "featureAmplitude")
    private Double featureAmplitude;

    /**
     * 预估损失(单位：万元)
     */
    private Double estimatedLoss;

    /**
     * 事件描述
     */
    private String eventDescribe;

    /**
     * 波形文件是否从装置招到本地(0：未招，1：已招)默认值为0
     */
    private Integer fileFlag;

    /**
     * 波形路径
     */
    private String wavePath;

    /**
     * 数据来源（0-离线导入 1-监测点实际数据同步）
     */
    private Integer dataSource;

    /**
     * 分页查询实体
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public static class SgEventParamQueryParam extends BaseParam {

        /**
         * 用户id
         */
        @ApiModelProperty("用户id")
        private String userId;

        /**
         * 生产线id
         */
        @ApiModelProperty("生产线id")
        private String productId;

    }

}
