package com.microservices.dms.achievementLibrary.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.microservices.common.core.annotation.Excel;
import com.microservices.common.core.web.domain.BaseEntity;

/**
 * 校企成果对象 school_enterprise_achievements
 *
 * @author microservices
 * @date 2025-04-03
 */
public class SchoolEnterpriseAchievements extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 成果唯一标识
     */
    private Long id;

    /**
     * 成果名称
     */
    @Excel(name = "成果名称")
    private String achievementName;

    /**
     * 成果领域1
     */
    @Excel(name = "成果领域1")
    private String field1;

    /**
     * 成果领域2
     */
    @Excel(name = "成果领域2")
    private String field2;

    /**
     * 成果领域3
     */
    @Excel(name = "成果领域3")
    private String field3;

    /**
     * 成果类型
     */
    @Excel(name = "成果类型")
    private String achievementType;

    /**
     * 成果来源
     */
    @Excel(name = "成果来源")
    private String source;

    /**
     * 成果来源ID
     */
    @Excel(name = "成果来源ID")
    private String sourceId;

    /**
     * 成果来源跳转链接
     */
    @Excel(name = "成果来源跳转链接")
    private String sourceLink;

    /**
     * 成果标签
     */
    @Excel(name = "成果标签")
    private String tags;

    /**
     * 成果摘要
     */
    @Excel(name = "成果摘要")
    private String summary;

    /**
     * 发布单位
     */
    @Excel(name = "发布单位")
    private String publishingUnit;

    /**
     * 成果地址
     */
    @Excel(name = "成果地址")
    private String address;

    /**
     * 是否精选成果
     */
    @Excel(name = "是否精选成果")
    private Integer isFeatured;

    /**
     * 联系人
     */
    @Excel(name = "联系人")
    private String contactPerson;

    /**
     * 联系电话
     */
    @Excel(name = "联系电话")
    private String contactNumber;

    /**
     * 成果所属人ID
     */
    @Excel(name = "成果所属人ID")
    private String ownerId;

    /**
     * 成果所属人名称
     */
    @Excel(name = "成果所属人名称")
    private String ownerName;

    /**
     * 成果状态
     */
    @Excel(name = "校企成果的状态 1是通过，3是不通过")
    private String status;

    /**
     * 成果详情
     */
    @Excel(name = "成果详情")
    private String details;

    /**
     * 成果审核人
     */
    @Excel(name = "成果审核人")
    private String reviewer;

    /**
     * 成果审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "成果审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reviewDate;

    /**
     * 成果审核意见
     */
    @Excel(name = "成果审核意见")
    private String reviewComments;

    /**
     * 成果图片
     */
    @Excel(name = "成果图片")
    private String images;

    /**
     * 成果附件
     */
    @Excel(name = "成果附件")
    private String attachments;
    private Integer achievementStatus;
    //成果小类型
    private String achievementLittleType;
    //成果状态
    private String achievementCurStatus;
    //团队名称
    private String teamName;

    public String getTeamName() {
        return teamName;
    }

    public void setTeamName(String teamName) {
        this.teamName = teamName;
    }

    public String getAchievementLittleType() {
        return achievementLittleType;
    }

    public void setAchievementLittleType(String achievementLittleType) {
        this.achievementLittleType = achievementLittleType;
    }

    public String getAchievementCurStatus() {
        return achievementCurStatus;
    }

    public void setAchievementCurStatus(String achievementCurStatus) {
        this.achievementCurStatus = achievementCurStatus;
    }

    public Integer getAchievementStatus() {
        return achievementStatus;
    }

    public void setAchievementStatus(Integer achievementStatus) {
        this.achievementStatus = achievementStatus;
    }

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

    public Long getId() {
        return id;
    }

    public void setAchievementName(String achievementName) {
        this.achievementName = achievementName;
    }

    public String getAchievementName() {
        return achievementName;
    }

    public void setField1(String field1) {
        this.field1 = field1;
    }

    public String getField1() {
        return field1;
    }

    public void setField2(String field2) {
        this.field2 = field2;
    }

    public String getField2() {
        return field2;
    }

    public void setField3(String field3) {
        this.field3 = field3;
    }

    public String getField3() {
        return field3;
    }

    public void setAchievementType(String achievementType) {
        this.achievementType = achievementType;
    }

    public String getAchievementType() {
        return achievementType;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public String getSource() {
        return source;
    }

    public void setSourceId(String sourceId) {
        this.sourceId = sourceId;
    }

    public String getSourceId() {
        return sourceId;
    }

    public void setSourceLink(String sourceLink) {
        this.sourceLink = sourceLink;
    }

    public String getSourceLink() {
        return sourceLink;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public String getTags() {
        return tags;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getSummary() {
        return summary;
    }

    public void setPublishingUnit(String publishingUnit) {
        this.publishingUnit = publishingUnit;
    }

    public String getPublishingUnit() {
        return publishingUnit;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getAddress() {
        return address;
    }

    public void setIsFeatured(Integer isFeatured) {
        this.isFeatured = isFeatured;
    }

    public Integer getIsFeatured() {
        return isFeatured;
    }

    public void setContactPerson(String contactPerson) {
        this.contactPerson = contactPerson;
    }

    public String getContactPerson() {
        return contactPerson;
    }

    public void setContactNumber(String contactNumber) {
        this.contactNumber = contactNumber;
    }

    public String getContactNumber() {
        return contactNumber;
    }

    public void setOwnerId(String ownerId) {
        this.ownerId = ownerId;
    }

    public String getOwnerId() {
        return ownerId;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getStatus() {
        return status;
    }

    public void setDetails(String details) {
        this.details = details;
    }

    public String getDetails() {
        return details;
    }

    public void setReviewer(String reviewer) {
        this.reviewer = reviewer;
    }

    public String getReviewer() {
        return reviewer;
    }

    public void setReviewDate(Date reviewDate) {
        this.reviewDate = reviewDate;
    }

    public Date getReviewDate() {
        return reviewDate;
    }

    public void setReviewComments(String reviewComments) {
        this.reviewComments = reviewComments;
    }

    public String getReviewComments() {
        return reviewComments;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public String getImages() {
        return images;
    }

    public void setAttachments(String attachments) {
        this.attachments = attachments;
    }

    public String getAttachments() {
        return attachments;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("achievementName", getAchievementName())
                .append("field1", getField1())
                .append("field2", getField2())
                .append("field3", getField3())
                .append("achievementType", getAchievementType())
                .append("source", getSource())
                .append("sourceId", getSourceId())
                .append("sourceLink", getSourceLink())
                .append("tags", getTags())
                .append("summary", getSummary())
                .append("publishingUnit", getPublishingUnit())
                .append("address", getAddress())
                .append("isFeatured", getIsFeatured())
                .append("contactPerson", getContactPerson())
                .append("contactNumber", getContactNumber())
                .append("ownerId", getOwnerId())
                .append("ownerName", getOwnerName())
                .append("status", getStatus())
                .append("details", getDetails())
                .append("reviewer", getReviewer())
                .append("reviewDate", getReviewDate())
                .append("reviewComments", getReviewComments())
                .append("images", getImages())
                .append("attachments", getAttachments())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .toString();
    }
}
