package com.hdkj.lt.modle.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 开关操作序列-详细 (switchSeq.listSwitchOp, 1:N, 成对同构扁平)
 * closeBreakerOp/openBreakerOp -> close_/open_
 * feederIn/feederOut           -> feeder_in_/feeder_out_
 * hotCheck                     -> hot_check_
 * 对应表: fhzg_recon_switch_seq
 */
@Data
@NoArgsConstructor
@TableName("fhzg_recon_switch_seq")
public class FhzgReconSwitchSeq {

    @TableId(type = IdType.AUTO)
    private Long id;

    /** 主表ID */
    private Long resultId;

    /** 序列序号(数组下标) */
    private Integer seqNo;

    // ---- 合闸开关 closeBreakerOp ----
    private String closeBreakerId;
    private String closeName;
    private String closePsrType;
    private String closeAutoType;
    private String closeOperationType;
    private LocalDateTime closeTimestamp;

    // ---- 分闸开关 openBreakerOp ----
    private String openBreakerId;
    private String openName;
    private String openPsrType;
    private String openAutoType;
    private String openOperationType;
    private LocalDateTime openTimestamp;

    // ---- 热校核 hotCheck ----
    private Boolean hotCheckIsSafe;
    private String hotCheckReason;

    // ---- 流入馈线 feederIn ----
    private String feederInPsrId;
    private String feederInPsrType;
    private String feederInName;
    private BigDecimal feederInRateCurrent;
    private BigDecimal feederInBeforeI;
    private BigDecimal feederInAfterI;
    private BigDecimal feederInBeforeDayI;
    private BigDecimal feederInAfterDayI;
    private BigDecimal feederInLineLossBefore;
    private BigDecimal feederInLineLossAfter;

    // ---- 流出馈线 feederOut ----
    private String feederOutPsrId;
    private String feederOutPsrType;
    private String feederOutName;
    private BigDecimal feederOutRateCurrent;
    private BigDecimal feederOutBeforeI;
    private BigDecimal feederOutAfterI;
    private BigDecimal feederOutBeforeDayI;
    private BigDecimal feederOutAfterDayI;
    private BigDecimal feederOutLineLossBefore;
    private BigDecimal feederOutLineLossAfter;

    // ---- 变化量 ----
    private BigDecimal deltaLoss;
    private BigDecimal deltaI;
}