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.databind.annotation.JsonSerialize;
import com.hdkj.lt.base.model.entity.FhzgBaseEntity;
import com.hdkj.lt.base.serializer.BigDecimalSerializer;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;

/**
 * <p>
 * 转供方案评比指标数据表
 * </p>
 *
 * @author luorui
 * @since 2025-05-23
 */
@Getter
@Setter
@Data
@Accessors(chain = true)
@TableName("fhzg_plan_transfer_scheme_evaluation_index")
public class FhzgPlanTransferSchemeEvaluationIndex extends FhzgBaseEntity {

    private static final long serialVersionUID = 1L;


    /**
     * 方案编码
     */
    @TableField("scheme_id")
    private Long schemeId;

    /**
     * 转出负荷比例（%）
     */
    @TableField("transfer_load_ratio")
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal transferLoadRatio;

    /**
     * 对侧线路最大负载率（%）
     */
    @TableField("opposite_line_max_load_rate")
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal oppositeLineMaxLoadRate;

    /**
     * 开关动作次数
     */
    @TableField("switch_operation_times")
    private Integer switchOperationTimes;

    /**
     * 损失户数
     */
    @TableField("loss_users")
    private Integer lossUsers;

    /**
     * 非自动化开关动作次数
     */
    @TableField("non_auto_switch_operation_times")
    private Integer nonAutoSwitchOperationTimes;

    /**
     * 配变低压台数
     */
    @TableField("distribution_transformer_voltage")
    private Integer distributionTransformerVoltage;

    /**
     * 待转供负荷（MW）
     */
    @TableField("to_be_transfer_load")
    @JsonSerialize(using = BigDecimalSerializer.Keep6DecimalSerializer.class)
    private BigDecimal toBeTransferLoad;

    /**
     * 带供负荷（MW）
     */
    @TableField("carried_load")
    @JsonSerialize(using = BigDecimalSerializer.Keep6DecimalSerializer.class)
    private BigDecimal carriedLoad;

    /**
     * 自动化开关动作次数
     */
    @TableField("auto_switch_operation_times")
    private Integer autoSwitchOperationTimes;

    /**
     * 待转供用户总数
     */
    @TableField("total_to_be_transfer_users")
    private Integer totalToBeTransferUsers;

    /**
     * 损失重要户数
     */
    @TableField("loss_important_users")
    private Integer lossImportantUsers;

    /**
     * 损失敏感户数
     */
    @TableField("loss_sensitive_users")
    private Integer lossSensitiveUsers;

    /**
     * 损失户数
     */
    @TableField("loss_power_secured_users")
    private Integer lossPowerSecuredUsers;


}
