package com.zksy.visualization.domain.request;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * @author Administrator
 * @version 1.0
 * @project dh-server-micro
 * @description 下发单个空开阈值
 * @date 2024/12/17 09:09:10
 */
@Data
public class EmptyDomainRequest {
    @ApiModelProperty(value = "通道编码", required = true)
    @NotBlank(message = "通道编码不能为空")
    private String channelCode;

    // 温度预警阈值
    @ApiModelProperty(value = "A相开关温度预警阈值")
    private Double temperatureWaringAx;

    @ApiModelProperty(value = "B相开关温度预警阈值")
    private Double temperatureWaringBx;

    @ApiModelProperty(value = "C相开关温度预警阈值")
    private Double temperatureWaringCx;

    @ApiModelProperty(value = "零相开关温度预警阈值")
    private Double temperatureWaringLx;

    // 温度报警阈值
    @ApiModelProperty(value = "A相开关温度报警阈值")
    private Double temperatureAlarmAx;

    @ApiModelProperty(value = "B相开关温度报警阈值")
    private Double temperatureAlarmBx;

    @ApiModelProperty(value = "C相开关温度报警阈值")
    private Double temperatureAlarmCx;

    @ApiModelProperty(value = "零相开关温度报警阈值")
    private Double temperatureAlarmLx;

    // 温度上升预警时间阈值
    @ApiModelProperty(value = "A相温度上升预警时间阈值")
    private Integer temperatureUpTimeWaringAx;

    @ApiModelProperty(value = "B相温度上升预警时间阈值")
    private Integer temperatureUpTimeWaringBx;

    @ApiModelProperty(value = "C相温度上升预警时间阈值")
    private Integer temperatureUpTimeWaringCx;

    @ApiModelProperty(value = "零相温度上升预警时间阈值")
    private Integer temperatureUpTimeWaringLx;

    // 温度上升预警温度阈值
    @ApiModelProperty(value = "A相温度上升预警温度阈值")
    private Double temperatureUpTemperatureWaringAx;

    @ApiModelProperty(value = "B相温度上升预警温度阈值")
    private Double temperatureUpTemperatureWaringBx;

    @ApiModelProperty(value = "C相温度上升预警温度阈值")
    private Double temperatureUpTemperatureWaringCx;

    @ApiModelProperty(value = "零相温度上升预警温度阈值")
    private Double temperatureUpTemperatureWaringLx;

    // 漏电预警与报警阈值
    @ApiModelProperty(value = "漏电预警阈值")
    private Double leakageWaring;

    @ApiModelProperty(value = "漏电报警阈值")
    private Double leakageAlarm;

    // 过流预警与报警阈值
    @ApiModelProperty(value = "A相过流预警阈值")
    private Double overCurrentWaringAx;

    @ApiModelProperty(value = "B相过流预警阈值")
    private Double overCurrentWaringBx;

    @ApiModelProperty(value = "C相过流预警阈值")
    private Double overCurrentWaringCx;

    @ApiModelProperty(value = "A相过流报警阈值")
    private Double overCurrentAlarmAx;

    @ApiModelProperty(value = "B相过流报警阈值")
    private Double overCurrentAlarmBx;

    @ApiModelProperty(value = "C相过流报警阈值")
    private Double overCurrentAlarmCx;

    // 过压欠压预警与报警阈值
    @ApiModelProperty(value = "A相过压预警阈值")
    private Integer overVoltageWaringAx;

    @ApiModelProperty(value = "B相过压预警阈值")
    private Integer overVoltageWaringBx;

    @ApiModelProperty(value = "C相过压预警阈值")
    private Integer overVoltageWaringCx;

    @ApiModelProperty(value = "A相过压报警阈值")
    private Integer overVoltageAlarmAx;

    @ApiModelProperty(value = "B相过压报警阈值")
    private Integer overVoltageAlarmBx;

    @ApiModelProperty(value = "C相过压报警阈值")
    private Integer overVoltageAlarmCx;

    @ApiModelProperty(value = "A相欠压预警阈值")
    private Integer underVoltageWaringAx;

    @ApiModelProperty(value = "B相欠压预警阈值")
    private Integer underVoltageWaringBx;

    @ApiModelProperty(value = "C相欠压预警阈值")
    private Integer underVoltageWaringCx;

    @ApiModelProperty(value = "A相欠压报警阈值")
    private Integer underVoltageAlarmAx;

    @ApiModelProperty(value = "B相欠压报警阈值")
    private Integer underVoltageAlarmBx;

    @ApiModelProperty(value = "C相欠压报警阈值")
    private Integer underVoltageAlarmCx;

    // 过载预警与报警阈值
    @ApiModelProperty(value = "A相过载报警阈值")
    private Integer overloadAlarmAx;

    @ApiModelProperty(value = "B相过载报警阈值")
    private Integer overloadAlarmBx;

    @ApiModelProperty(value = "C相过载报警阈值")
    private Integer overloadAlarmCx;

    @ApiModelProperty(value = "A相过载预警阈值")
    private Integer overloadWaringAx;

    @ApiModelProperty(value = "B相过载预警阈值")
    private Integer overloadWaringBx;

    @ApiModelProperty(value = "C相过载预警阈值")
    private Integer overloadWaringCx;

    // 报警使能
    @ApiModelProperty(value = "缺相报警使能（0：关，1：开）")
    private Integer lackPhaseAlarmAbility;

    @ApiModelProperty(value = "缺相报警动作使能（0：关，1：开）")
    private Integer lackPhaseAlarmLinkageModel;

    @ApiModelProperty(value = "欠压报警使能（0：关，1：开）")
    private Integer underVoltageAlarmAbility;

    @ApiModelProperty(value = "欠压报警动作使能（0：关，1：开）")
    private Integer underVoltageAlarmLinkageModel;

    @ApiModelProperty(value = "三相不平衡报警使能（0：关，1：开）")
    private Integer unbalancedPhaseAlarmAbility;

    @ApiModelProperty(value = "三相不平衡报警动作使能（0：关，1：开）")
    private Integer unbalancedPhaseAlarmLinkageModel;

    @ApiModelProperty(value = "漏电报警使能（0：关，1：开）")
    private Integer leakageAlarmAbility;

    @ApiModelProperty(value = "漏电报警动作使能（0：关，1：开）")
    private Integer leakageAlarmLinkageModel;

    @ApiModelProperty(value = "过压报警使能（0：关，1：开）")
    private Integer overVoltageAlarmAbility;

    @ApiModelProperty(value = "过压报警动作使能（0：关，1：开）")
    private Integer overVoltageAlarmLinkageModel;

    @ApiModelProperty(value = "过载报警使能（0：关，1：开）")
    private Integer overloadAlarmAbility;

    @ApiModelProperty(value = "过载报警动作使能（0：关，1：开）")
    private Integer overloadAlarmLinkageModel;

    @ApiModelProperty(value = "打火报警使能（0：关，1：开）")
    private Integer igniteAlarmAbility;

    @ApiModelProperty(value = "打火报警动作使能（0：关，1：开）")
    private Integer igniteAlarmLinkageModel;

    // 预警使能
    @ApiModelProperty(value = "欠压预警使能（0：关，1：开）")
    private Integer underVoltageWaringAbility;

    @ApiModelProperty(value = "漏电预警使能（0：关，1：开）")
    private Integer leakageWaringAbility;

    @ApiModelProperty(value = "过压预警使能（0：关，1：开）")
    private Integer overVoltageWaringAbility;

    @ApiModelProperty(value = "过载预警使能（0：关，1：开）")
    private Integer overloadWaringAbility;

    // 数据同步标志
    @ApiModelProperty(value = "数据是否从设备获取信息得到的(设备信息与平台不同步，前端获取设备信息需加入该标志)")
    private Boolean getFromSOsoSuccess;

}
