package org.dromara.ems.base.domain;

import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 报警规则具体措施步骤对象 ems_alarm_action_step
 * 
 * @author zch
 * @date 2025-05-29
 */
@ExcelIgnoreUnannotated
public class EmsAlarmActionStep extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String objId;

    /** 关联的报警规则ID (逻辑关联 ems_record_alarm_rule.obj_id) */
    @ExcelProperty(value = "关联的报警规则ID (逻辑关联 ems_record_alarm_rule.obj_id)")
    private String ruleObjId;

    /** 步骤顺序，从1开始 */
    @ExcelProperty(value = "步骤顺序，从1开始")
    private Long stepSequence;

    /** 步骤文字描述 */
    @ExcelProperty(value = "步骤文字描述")
    private String description;

    /** 步骤关联的图片列表 */
    private List<EmsAlarmActionStepImage> stepImages;

    public void setObjId(String objId) 
    {
        this.objId = objId;
    }

    public String getObjId() 
    {
        return objId;
    }
    public void setRuleObjId(String ruleObjId) 
    {
        this.ruleObjId = ruleObjId;
    }

    public String getRuleObjId() 
    {
        return ruleObjId;
    }
    public void setStepSequence(Long stepSequence) 
    {
        this.stepSequence = stepSequence;
    }

    public Long getStepSequence() 
    {
        return stepSequence;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }

    public void setStepImages(List<EmsAlarmActionStepImage> stepImages) 
    {
        this.stepImages = stepImages;
    }

    public List<EmsAlarmActionStepImage> getStepImages() 
    {
        return stepImages;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("objId", getObjId())
            .append("ruleObjId", getRuleObjId())
            .append("stepSequence", getStepSequence())
            .append("description", getDescription())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
