package com.ruoyi.ems.domain;

import com.huashe.common.annotation.Excel;
import com.huashe.common.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 电价策略对象 adm_elecprice_strategy
 *
 * @author ruoyi
 * @date 2024-08-23
 */
public class ElecPriceStrategy extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 序号
     */
    private Long id;

    /**
     * 策略代码
     */
    private String strategyCode;

    /**
     * 策略名称
     */
    private String strategyName;

    private String strategyDesc;

    /**
     * 支持类型峰谷类型，逗号分隔
     * -2：低谷，-1：谷段，0：平段，1：峰段，2：尖峰
     */
    private String supportType;

    /**
     * 执行月份，逗号分隔
     */
    private String execMonth;

    /**
     * 重复类型
     */
    private int execDateType;

    /**
     * 重复参数
     */
    private String execDate;

    /**
     * 优先级
     */
    private Integer priority;

    /**
     * 编辑标记
     */
    private Integer editFlag = 1;

    private List<ElecPriceStrategyHour> hourList;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getStrategyCode() {
        return strategyCode;
    }

    public void setStrategyCode(String strategyCode) {
        this.strategyCode = strategyCode;
    }

    public String getStrategyName() {
        return strategyName;
    }

    public void setStrategyName(String strategyName) {
        this.strategyName = strategyName;
    }

    public String getStrategyDesc() {
        return strategyDesc;
    }

    public void setStrategyDesc(String strategyDesc) {
        this.strategyDesc = strategyDesc;
    }

    public String getSupportType() {
        return supportType;
    }

    public void setSupportType(String supportType) {
        this.supportType = supportType;
    }

    public String getExecMonth() {
        return execMonth;
    }

    public void setExecMonth(String execMonth) {
        this.execMonth = execMonth;
    }

    public int getExecDateType() {
        return execDateType;
    }

    public void setExecDateType(int execDateType) {
        this.execDateType = execDateType;
    }

    public String getExecDate() {
        return execDate;
    }

    public void setExecDate(String execDate) {
        this.execDate = execDate;
    }

    public Integer getPriority() {
        return priority;
    }

    public void setPriority(Integer priority) {
        this.priority = priority;
    }

    public Integer getEditFlag() {
        return editFlag;
    }

    public void setEditFlag(Integer editFlag) {
        this.editFlag = editFlag;
    }

    public List<ElecPriceStrategyHour> getHourList() {
        return hourList;
    }

    public void setHourList(List<ElecPriceStrategyHour> hourList) {
        this.hourList = hourList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("id", getId())
            .append("strategyCode", getStrategyCode()).append("strategyName", getStrategyName())
            .append("strategyDesc", getStrategyDesc()).append("supportType", getSupportType())
            .append("execMonth", getExecMonth()).append("execDateType", getExecDateType())
            .append("execDate", getExecDate()).append("priority", getPriority()).append("editFlag", getEditFlag())
            .append("createTime", getCreateTime()).append("updateTime", getUpdateTime()).toString();
    }
}
