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;

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

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

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

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

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

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

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

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

    /** 确认交底意见 */
    @Excel(name = "确认交底意见")
    private String confirmComment;

    /** 接受交底人 */
    @Excel(name = "确认交底人")
    private String confirmUserName;
    private Long confirmer;

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

    private SysUser disclosureUser;

    private SysUser acceptUser;

    private SysUser confirmUser;

    private CmcProject project;

    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 setAccepter(Long accepter)
    {
        this.accepter = accepter;
    }

    public Long getAccepter()
    {
        return accepter;
    }
    public void setAcceptUser(SysUser acceptUser)
    {
        this.acceptUser = acceptUser;
        this.acceptUserName = acceptUser == null ? "" : acceptUser.getNickName();
    }

    public SysUser getAcceptUser()
    {
        return acceptUser;
    }
    public void setDisclosurer(Long disclosurer)
    {
        this.disclosurer = disclosurer;
    }

    public Long getDisclosurer()
    {
        return disclosurer;
    }
    public void setConfirmer(Long confirmer)
    {
        this.confirmer = confirmer;
    }

    public Long getConfirmer()
    {
        return confirmer;
    }

    public void setDisclosureUser(SysUser disclosureUser)
    {
        this.disclosureUser = disclosureUser;
        this.disclosureUserName = disclosureUser == null ? "" : disclosureUser.getNickName();
    }

    public SysUser getDisclosureUser()
    {
        return disclosureUser;
    }
    public void setConfirmUser(SysUser confirmUser)
    {
        this.confirmUser = confirmUser;
        this.confirmUserName = confirmUser == null ? "" : confirmUser.getNickName();
    }

    public SysUser getConfirmUser()
    {
        return confirmUser;
    }
    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 setConfirmComment(String confirmComment)
    {
        this.confirmComment = confirmComment;
    }

    public String getConfirmComment()
    {
        return confirmComment;
    }
    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;
    }
    public void setConfirmTime(Date confirmTime)
    {
        this.confirmTime = confirmTime;
    }

    public Date getConfirmTime()
    {
        return confirmTime;
    }

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