package com.ruoyi.project.training.spec.domain.vo;

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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.project.training.spec.domain.TStPlan;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 专项培训反馈VO
 *
 * @author ruoyi
 * @date 2022-04-26
 */
public class TStFeedbackVO
{
    private List<TStPlan> planList = new ArrayList<>();

    public List<TStPlan> getPlanList() {
        return planList;
    }

    public void setPlanList(List<TStPlan> planList) {
        this.planList = planList;
    }

    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 反馈类型 */
    @Excel(name = "反馈类型")
    private Long feedbackType;

    /** 导师ID */
    @Excel(name = "导师ID")
    private String mentorId;

    /** 学员ID */
    @Excel(name = "学员ID")
    private String successorId;

    /** 受邀导师父级主键ID */
    @Excel(name = "受邀导师父级主键ID")
    private Long parentId;

    /** 培训计划ID */
    @Excel(name = "培训计划ID")
    private Long planId;

    /** 年 */
    @Excel(name = "年")
    private String feedbackYear;

    /** 季度 */
    @Excel(name = "季度")
    private String feedbackSeason;

    /** 月 */
    @Excel(name = "月")
    private String feedbackMonth;

    /** 学员反馈 */
    @Excel(name = "学员反馈")
    private String successorFeedback;

    /** 导师反馈 */
    @Excel(name = "导师反馈")
    private String mentorFeedback;

    /** 导师评分 */
    @Excel(name = "导师评分")
    private String feedbackScore;

    /** 反馈状态 */
    @Excel(name = "反馈状态")
    private Long feedbackStatus;

    /** 面试会议日期 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "面试会议日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date meetingDate;

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

    public Long getId()
    {
        return id;
    }
    public void setFeedbackType(Long feedbackType)
    {
        this.feedbackType = feedbackType;
    }

    public Long getFeedbackType()
    {
        return feedbackType;
    }
    public void setMentorId(String mentorId)
    {
        this.mentorId = mentorId;
    }

    public String getMentorId()
    {
        return mentorId;
    }
    public void setSuccessorId(String successorId)
    {
        this.successorId = successorId;
    }

    public String getSuccessorId()
    {
        return successorId;
    }
    public void setParentId(Long parentId)
    {
        this.parentId = parentId;
    }

    public Long getParentId()
    {
        return parentId;
    }
    public void setPlanId(Long planId)
    {
        this.planId = planId;
    }

    public Long getPlanId()
    {
        return planId;
    }
    public void setFeedbackYear(String feedbackYear)
    {
        this.feedbackYear = feedbackYear;
    }

    public String getFeedbackYear()
    {
        return feedbackYear;
    }
    public void setFeedbackSeason(String feedbackSeason)
    {
        this.feedbackSeason = feedbackSeason;
    }

    public String getFeedbackSeason()
    {
        return feedbackSeason;
    }
    public void setFeedbackMonth(String feedbackMonth)
    {
        this.feedbackMonth = feedbackMonth;
    }

    public String getFeedbackMonth()
    {
        return feedbackMonth;
    }
    public void setSuccessorFeedback(String successorFeedback)
    {
        this.successorFeedback = successorFeedback;
    }

    public String getSuccessorFeedback()
    {
        return successorFeedback;
    }
    public void setMentorFeedback(String mentorFeedback)
    {
        this.mentorFeedback = mentorFeedback;
    }

    public String getMentorFeedback()
    {
        return mentorFeedback;
    }
    public void setFeedbackScore(String feedbackScore)
    {
        this.feedbackScore = feedbackScore;
    }

    public String getFeedbackScore()
    {
        return feedbackScore;
    }
    public void setFeedbackStatus(Long feedbackStatus)
    {
        this.feedbackStatus = feedbackStatus;
    }

    public Long getFeedbackStatus()
    {
        return feedbackStatus;
    }
    public void setMeetingDate(Date meetingDate)
    {
        this.meetingDate = meetingDate;
    }

    public Date getMeetingDate()
    {
        return meetingDate;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("feedbackType", getFeedbackType())
                .append("mentorId", getMentorId())
                .append("successorId", getSuccessorId())
                .append("parentId", getParentId())
                .append("planId", getPlanId())
                .append("feedbackYear", getFeedbackYear())
                .append("feedbackSeason", getFeedbackSeason())
                .append("feedbackMonth", getFeedbackMonth())
                .append("successorFeedback", getSuccessorFeedback())
                .append("mentorFeedback", getMentorFeedback())
                .append("feedbackScore", getFeedbackScore())
                .append("feedbackStatus", getFeedbackStatus())
                .append("meetingDate", getMeetingDate())
                .toString();
    }
}
