package com.ruoyi.oa.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * cmc技术交底对象 cmc_technical
 * 
 * @author cmc
 * @date 2024-07-04
 */
public class CmcTechnical extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 技术交底id */
    private String technicalId;

    /** 项目id */
    private String projectId;
    @Excel(name = "项目编号")
    private String projectNumber;
    @Excel(name = "项目名称")
    private String projectName;
    private CmcProject project;

    /** 接受交底人 */
    private Long disclosureAccepter;
    @Excel(name = "接受交底人")
    private String acceptUserName;

    private SysUser accepterUser;

    /** 安全交底人 */
    private Long disclosurer;
    @Excel(name = "安全交底人")
    private String disclosurerUserName;

    private SysUser disclosurerUser;

    /** 技术交底内容 */
    @Excel(name = "技术交底内容")
    private String content;

    /** 附件 */
    @Excel(name = "附件")
    private String document;

    /** 技术交底意见 */
    @Excel(name = "技术交底意见")
    private String disclosureComment;

    /** 接受交底意见 */
    @Excel(name = "接受交底意见")
    private String acceptComment;

    /** 技术交底时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "技术交底时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date disclosureTime;

    /** 接受交底时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "接受交底时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date acceptTime;

    public void setTechnicalId(String technicalId) 
    {
        this.technicalId = technicalId;
    }

    public String getTechnicalId() 
    {
        return technicalId;
    }
    public void setProjectId(String projectId) 
    {
        this.projectId = projectId;
    }

    public String getProjectId() 
    {
        return projectId;
    }
    public void setProject(CmcProject project)
    {
        this.project = project;
        this.projectNumber = project == null ? "" : project.getProjectNumber();
        this.projectName = project == null ? "" : project.getProjectName();
    }

    public CmcProject getProject()
    {
        return project;
    }
    public void setDisclosureAccepter(Long disclosureAccepter) 
    {
        this.disclosureAccepter = disclosureAccepter;
    }

    public Long getDisclosureAccepter() 
    {
        return disclosureAccepter;
    }
    public void setAccepterUser(SysUser accepterUser)
    {
        this.accepterUser = accepterUser;
        this.acceptUserName = accepterUser == null ? "" : accepterUser.getNickName();
    }

    public SysUser getAccepterUser()
    {
        return accepterUser;
    }
    public void setDisclosurer(Long disclosurer)
    {
        this.disclosurer = disclosurer;
    }

    public Long getDisclosurer()
    {
        return disclosurer;
    }

    public void setDisclosurerUser(SysUser disclosurerUser)
    {
        this.disclosurerUser = disclosurerUser;
        this.disclosurerUserName = disclosurerUser == null ? "" : disclosurerUser.getNickName();
    }

    public SysUser getDisclosurerUser()
    {
        return disclosurerUser;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setDocument(String document) 
    {
        this.document = document;
    }

    public String getDocument() 
    {
        return document;
    }
    public void setDisclosureComment(String disclosureComment) 
    {
        this.disclosureComment = disclosureComment;
    }

    public String getDisclosureComment() 
    {
        return disclosureComment;
    }
    public void setAcceptComment(String acceptComment) 
    {
        this.acceptComment = acceptComment;
    }

    public String getAcceptComment() 
    {
        return acceptComment;
    }
    public void setDisclosureTime(Date disclosureTime) 
    {
        this.disclosureTime = disclosureTime;
    }

    public Date getDisclosureTime() 
    {
        return disclosureTime;
    }
    public void setAcceptTime(Date acceptTime) 
    {
        this.acceptTime = acceptTime;
    }

    public Date getAcceptTime() 
    {
        return acceptTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("technicalId", getTechnicalId())
            .append("projectId", getProjectId())
            .append("disclosureAccepter", getDisclosureAccepter())
            .append("disclosurer", getDisclosurer())
            .append("content", getContent())
            .append("document", getDocument())
            .append("disclosureComment", getDisclosureComment())
            .append("acceptComment", getAcceptComment())
            .append("disclosureTime", getDisclosureTime())
            .append("acceptTime", getAcceptTime())
            .toString();
    }
}
