package com.ruoyi.web.modules.technology.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 实战业务培训 biz_practical_training
 */
public class BizPracticalTraining extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long id;

    private String trainingTopic;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date trainingTime;

    private String trainingIntro;

    private Integer plannedHeadCount;

    private String trainingLocation;

    private String expectedOutcome;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date registrationStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date registrationEndTime;

    private String coverFileUrl;

    private String coverFilePath;

    private Integer actualEnrolledCount;

    /** 培训状态 006001未开始 006002报名中 006003已报满 006004已截止 */
    private String trainingStatus;

    /** 0 未发布 1 已发布 */
    private Integer publishStatus;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date publishTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date offlineTime;

    private String delFlag;

    /** 列表筛选：培训日期起 yyyy-MM-dd */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String startDate;

    /** 列表筛选：培训日期止 yyyy-MM-dd */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String endDate;

    /** 仅新增：true 时保存后发布 */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Boolean saveAndPublish;

    /** 报名状态（计算字段，不入库） */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Integer enrollStatus;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String enrollStatusName;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Boolean canOffline;

    public Long getId()
    {
        return id;
    }

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

    public String getTrainingTopic()
    {
        return trainingTopic;
    }

    public void setTrainingTopic(String trainingTopic)
    {
        this.trainingTopic = trainingTopic;
    }

    public Date getTrainingTime()
    {
        return trainingTime;
    }

    public void setTrainingTime(Date trainingTime)
    {
        this.trainingTime = trainingTime;
    }

    public String getTrainingIntro()
    {
        return trainingIntro;
    }

    public void setTrainingIntro(String trainingIntro)
    {
        this.trainingIntro = trainingIntro;
    }

    public Integer getPlannedHeadCount()
    {
        return plannedHeadCount;
    }

    public void setPlannedHeadCount(Integer plannedHeadCount)
    {
        this.plannedHeadCount = plannedHeadCount;
    }

    public String getTrainingLocation()
    {
        return trainingLocation;
    }

    public void setTrainingLocation(String trainingLocation)
    {
        this.trainingLocation = trainingLocation;
    }

    public String getExpectedOutcome()
    {
        return expectedOutcome;
    }

    public void setExpectedOutcome(String expectedOutcome)
    {
        this.expectedOutcome = expectedOutcome;
    }

    public Date getRegistrationStartTime()
    {
        return registrationStartTime;
    }

    public void setRegistrationStartTime(Date registrationStartTime)
    {
        this.registrationStartTime = registrationStartTime;
    }

    public Date getRegistrationEndTime()
    {
        return registrationEndTime;
    }

    public void setRegistrationEndTime(Date registrationEndTime)
    {
        this.registrationEndTime = registrationEndTime;
    }

    public String getCoverFileUrl()
    {
        return coverFileUrl;
    }

    public void setCoverFileUrl(String coverFileUrl)
    {
        this.coverFileUrl = coverFileUrl;
    }

    public String getCoverFilePath()
    {
        return coverFilePath;
    }

    public void setCoverFilePath(String coverFilePath)
    {
        this.coverFilePath = coverFilePath;
    }

    public Integer getActualEnrolledCount()
    {
        return actualEnrolledCount;
    }

    public void setActualEnrolledCount(Integer actualEnrolledCount)
    {
        this.actualEnrolledCount = actualEnrolledCount;
    }

    public String getTrainingStatus()
    {
        return trainingStatus;
    }

    public void setTrainingStatus(String trainingStatus)
    {
        this.trainingStatus = trainingStatus;
    }

    public Integer getPublishStatus()
    {
        return publishStatus;
    }

    public void setPublishStatus(Integer publishStatus)
    {
        this.publishStatus = publishStatus;
    }

    public Date getPublishTime()
    {
        return publishTime;
    }

    public void setPublishTime(Date publishTime)
    {
        this.publishTime = publishTime;
    }

    public Date getOfflineTime()
    {
        return offlineTime;
    }

    public void setOfflineTime(Date offlineTime)
    {
        this.offlineTime = offlineTime;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getStartDate()
    {
        return startDate;
    }

    public void setStartDate(String startDate)
    {
        this.startDate = startDate;
    }

    public String getEndDate()
    {
        return endDate;
    }

    public void setEndDate(String endDate)
    {
        this.endDate = endDate;
    }

    public Boolean getSaveAndPublish()
    {
        return saveAndPublish;
    }

    public void setSaveAndPublish(Boolean saveAndPublish)
    {
        this.saveAndPublish = saveAndPublish;
    }

    public Integer getEnrollStatus()
    {
        return enrollStatus;
    }

    public void setEnrollStatus(Integer enrollStatus)
    {
        this.enrollStatus = enrollStatus;
    }

    public String getEnrollStatusName()
    {
        return enrollStatusName;
    }

    public void setEnrollStatusName(String enrollStatusName)
    {
        this.enrollStatusName = enrollStatusName;
    }

    public Boolean getCanOffline()
    {
        return canOffline;
    }

    public void setCanOffline(Boolean canOffline)
    {
        this.canOffline = canOffline;
    }
}
