package com.ho.business.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ho.common.tools.constant.CommonConstant;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
public class PlanningPolicy {

    @ApiModelProperty(value = "第几页")
    @ExcelIgnore
    private Integer pageNum;

    @ApiModelProperty(value = "分页数量")
    @ExcelIgnore
    private Integer pageSize;

    @ExcelIgnore
    private Integer policyId;

    @ApiModelProperty(value = "电站id")
    @ExcelIgnore
    private Integer stationId;

    @ApiModelProperty(value = "策略类型id")
    @ExcelIgnore
    private Integer policyTypeId;

    @ApiModelProperty(value = "策略类型名称")
    @ExcelProperty(value = "策略类型",index = 0)
    private String policyTypeName;

    @ApiModelProperty(value = "策略名称")
    @ExcelProperty(value = "策略名称",index = 1)
    private String policyName;

    @ApiModelProperty(value = "自定义策略名称")
    @ExcelProperty(value = "自定义策略名称",index = 2)
    private String customPolicyName;

    @JsonFormat(pattern = CommonConstant.DATE_YMD)
    @ApiModelProperty(value = "自定义开始时间")
    @ExcelProperty(value = "自定义开始时间",index = 3)
    private Date customPolicyStartDate;

    @JsonFormat(pattern = CommonConstant.DATE_YMD)
    @ApiModelProperty(value = "自定义结束时间")
    @ExcelProperty(value = "自定义结束时间",index = 4)
    private Date customPolicyEndDate;

    @ApiModelProperty(value = "计划曲线模板id")
    @ExcelIgnore
    private Integer temId;

    @ApiModelProperty(value = "计划曲线模板名称")
    @ExcelProperty(value = "计划曲线模板",index = 5)
    private String planningTemplateName;

    @ApiModelProperty(value = "策略优先级id")
    @ExcelIgnore
    private Integer policyPriorityId;

    @ApiModelProperty(value = "策略优先级名称")
    @ExcelProperty(value = "策略优先级",index = 6)
    private String policyPriorityName;

    @ApiModelProperty(value = "生效类型 0：永久生效 1：时间段内生效")
    @ExcelProperty(value = "生效类型",index = 7)
    private Integer effectiveType;

    @JsonFormat(pattern = CommonConstant.DATE_YMD)
    @ApiModelProperty(value = "生效开始时间")
    @ExcelProperty(value = "生效开始时间",index = 8)
    private Date effectiveStartDate;

    @JsonFormat(pattern = CommonConstant.DATE_YMD)
    @ApiModelProperty(value = "生效结束时间")
    @ExcelProperty(value = "生效结束时间",index = 9)
    private Date effectiveEndDate;

    @ApiModelProperty(value = "启用状态 0：不启用 1：启用")
    @ExcelProperty(value = "启用状态",index = 10)
    private Integer status;

    @ApiModelProperty(value = "描述")
    @ExcelProperty(value = "描述",index = 11)
    private String context;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ExcelIgnore
    private Date createTime;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @ExcelIgnore
    private Date modifyTime;

    @ApiModelProperty(value = "计划曲线")
    @ExcelIgnore
    List<PlanningCurve> curves;


}
