package com.hdkj.lt.modle.dto.recon;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 开关操作序列-详细 (switchSeq).
 * 每条 listSwitchOp 含: 合闸closeBreakerOp / 分闸openBreakerOp / 热校核hotCheck /
 * 流入馈线feederIn / 流出馈线feederOut / 线损变化deltaLoss / 电流变化deltaI.
 */
@Data
@NoArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class SwitchSeqDTO {

    @JsonProperty("listSwitchOp")
    private List<SwitchSeqItemDTO> listSwitchOp;

    @Data
    @NoArgsConstructor
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class SwitchSeqItemDTO {

        @JsonProperty("closeBreakerOp")
        private BreakerOpDTO closeBreakerOp;

        @JsonProperty("openBreakerOp")
        private BreakerOpDTO openBreakerOp;

        @JsonProperty("hotCheck")
        private HotCheckDTO hotCheck;

        @JsonProperty("feederIn")
        private FeederFlowDTO feederIn;

        @JsonProperty("feederOut")
        private FeederFlowDTO feederOut;

        @JsonProperty("deltaLoss")
        private BigDecimal deltaLoss;

        @JsonProperty("deltaI")
        private BigDecimal deltaI;
    }
}