package com.hdkj.lt.bf.entity.dto;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hdkj.lt.base.serializer.BigDecimalSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @author luorui
 * @date 2025/5/17 11:11
 *
 * 损失用户信息
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class FhzgPlanTransferSchemeUsersDTO implements Serializable {

    /**
     * 主建ID
     */
    private Long id;
    /**
     * 计划停电区域方案ID(fhzg_plan_transfer_scheme.id)
     */
    private Long schemeId;
    /**
     * 用户(变压器)编码(psrId)
     */
    private String transformerNo;
    /**
     * 用户(变压器)名称
     */
    private String transformerName;
    /**
     * 用户类型：公变、中压用户
     */
    private String custType;
    /**
     * 冷倒预计时间(h)
     */
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal coldLossTimes;
    /**
     * 检修时长(h)
     */
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal repairTimes;
    /**
     * 有功功率(kW)
     */
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal activePower;
    /**
     * 损失电量(kWh)
     */
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal lossPowers;
    /**
     * 损失时户(时·户)
     */
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal lossCustHours;
    /**
     * 是否重要用户：0-否，1-是
     */
    private String isCriticalUser;
    /**
     * 是否敏感用户：0-否，1-是
     */
    private String isSensitiveUser;

    /**
     * 是否保电用户：0-否，1-是
     */
    private String isProtectPower;
    /**
     * 转供后电压
     */
    @ApiModelProperty("转供后电压")
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal afterTransferVoltage;

    /**
     * 电压越限幅度
     */
    @ApiModelProperty("电压越限幅度")
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal voltageLimitViolationMagnitude;

}
