package com.hdkj.lt.core.bizms.modle.dto;

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

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

/**
 * @author luorui
 * @date 2025/5/15 17:53
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class FhzgPlanTransferSchemePathDetailDTO implements Serializable {
    /**
     * 主建ID
     */
    private Long id;

    /**
     * 方案id(fhzg_plan_transfer_scheme.id)
     */
    private Long schemeId;
    /**
     * 对侧联络线路ID
     */
    private String oppositeLineId;
    /**
     * 对侧联络线路名称
     */
    private String oppositeLineName;
    /**
     * 开关ID(展开动作联络开关ID)
     */
    private String switchId;
    /**
     * 开关名称(展开动作联络开关名称)
     */
    private String switchName;
    /**
     * 带供开关段ID(联络开关带供开关段，多个开关段时用,隔开)
     */
    private String switchSectionId;
    /**
     * 带供开关段名称(联络开关带供开关段，多个开关段时用,隔开)
     */
    private String switchSectionName;
    /**
     * 开关段负荷(supplyArea添加的breakerPsrIds及负荷信息，累加计算)
     */
    @JsonSerialize(using = BigDecimalSerializer.Keep6DecimalSerializer.class)
    private BigDecimal switchSectionLoads;
    /**
     * 终点开关ID(多个开关时用,隔开)
     */
    private String endSwitchId;
    /**
     * 终点开关名称(多个开关时用,隔开)
     */
    private String endSwitchName;
    /**
     * 起点开关名称
     */
    private String startSwitchId;
    /**
     * 终点开关名称
     */
    private String startSwitchName;
    /**
     * 带供负载率
     */
    @JsonSerialize(using = BigDecimalSerializer.Keep2DecimalSerializer.class)
    private BigDecimal loadFactor;
    /**
     * 带转供负荷累计总数
     */
    @JsonSerialize(using = BigDecimalSerializer.Keep6DecimalSerializer.class)
    private BigDecimal totalSwitchSectionLoads;


}
