package com.njcn.advance.pojo.param.assess;

import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * <p>
 * 变压器参数字典查询参数
 * </p>
 *
 * @author cdf
 * @since 2025-06-06
 */
@Getter
@Setter
@TableName("assess_dic_transformer")
@ApiModel(value = "AssessDicTransformerQuery", description = "变压器参数字典查询参数")
public class AssessDicTransformerQuery extends BaseParam implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "变压器类型名称，例：110kV", required = true)
    private String transtypeName;

    @ApiModelProperty(value = "额定容量，单位kVA，例：10")
    private BigDecimal transCapa;

    @ApiModelProperty(value = "高压侧电压等级，例：22（与PMS3.0编码一致）")
    private String transhighScale;

    @ApiModelProperty(value = "低压侧电压等级，例：22（与PMS3.0编码一致）")
    private String translowScale;

    @ApiModelProperty(value = "联结组标号，例：0.33")
    private BigDecimal trnasNo;

    @ApiModelProperty(value = "空载损耗，单位kW，例：2.42")
    private BigDecimal noloadLoss;

    @ApiModelProperty(value = "负载损耗，单位kW，例：2.42")
    private BigDecimal loadLoss;

    @ApiModelProperty(value = "空载电流，单位%，例：2.42")
    private BigDecimal noloadCur;

    @ApiModelProperty(value = "短路阻抗，单位%，例：2.42")
    private BigDecimal shortCircuitImpedance;

    /**
     * 更新变压器参数字典的查询参数
     */
    @EqualsAndHashCode(callSuper = true)
    @ApiModel(value = "UpdateAssessDicTransformerQuery", description = "更新变压器参数字典的查询参数")
    @Data
    public static class UpdateAssessDicTransformerQuery extends AssessDicTransformerQuery {

        @ApiModelProperty(value = "变压器类型ID（更新时必填），例：f401fa4abb71402bb5e9528209ea219e", required = true)
        @NotBlank(message ="变压器类型ID")
        private String transtypeId;
    }
}