package com.hdkj.lt.core.bizms.modle.po.plan;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hdkj.lt.base.model.entity.FhzgBaseEntity;
import com.hdkj.lt.base.serializer.BigDecimalSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * 计划停电待转供用户信息表 实体类
 *
 * @author zhousc
 * @since 2025-05-07
 */
@TableName("fhzg_plan_await_transfer_users")
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class FhzgPlanAwaitTransferUsers extends FhzgBaseEntity {

    /**
     * 计划停电ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty("计划停电ID(fhzg_plan_power_cut.id)")
    private Long planId;

    /**
     * 变压器编码(变压器psrId)
     */
    @ApiModelProperty("变压器编码(变压器psrId)")
    private String transformerNo;

    /**
     * 变压器名称
     */
    @ApiModelProperty("变压器名称")
    private String transformerName;

    /**
     * 用户(设备)类型
     */
    @ApiModelProperty("用户(设备类型)")
    private String deviceType;

    /**
     * 所属开关段ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty("所属开关段ID(fhzg_plan_await_transfer_switch_section.id)")
    @TableField(value = "switch_section_id")
    private String switchId;

    /**
     * 所属开关段名称
     */
    @ApiModelProperty("所属开关段名称")
    @TableField(value = "switch_section_name")
    private String switchName;

    /**
     * 是否重要用户：0-否，1-是
     */
    @ApiModelProperty("是否重要用户：0-否，1-是")
    private String isCriticalUser;

    /**
     * 是否敏感用户：0-否，1-是
     */
    @ApiModelProperty("是否敏感用户：0-否，1-是")
    private String isSensitiveUser;

    /**
     * 是否双电源用户：0-否，1-是
     */
    @ApiModelProperty("是否双电源用户：0-否，1-是")
    private String isDualPower;

    /**
     * 用户负荷数(有功功率)
     */
    @ApiModelProperty("用户负荷数(有功功率)")
    @JsonSerialize(using = BigDecimalSerializer.Keep6DecimalSerializer.class)
    private BigDecimal userLoads;

    /**
     * 用户电流(A)
     */
    @ApiModelProperty("用户电流(A)")
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal userCurrent;

    /**
     * 用户电压(kV)
     */
    @ApiModelProperty("用户电压(kV)")
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal userVoltage;

    /**
     * 用户无功功率
     */
    @ApiModelProperty("用户无功功率")
    @JsonSerialize(using = BigDecimalSerializer.Keep6DecimalSerializer.class)
    private BigDecimal userReactivePower;

    /**
     * 所属开关段ID
     */
    @ApiModelProperty("所属开关段ID")
    @TableField(exist = false)
    private Long switchSectionId;

    /**
     * 是否保电用户：0-否，1-是
     */
    @ApiModelProperty("是否保电用户：0-否，1-是")
    private String isProtectPower;
}
