package com.ruoyi.project.production.domain;

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

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;
import com.ruoyi.project.sems.domain.TApproverFile;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * SAI开项管理对象 t_sai_apply
 *
 * @author ruoyi
 * @date 2023-03-21
 */
public class TSaiApply extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long saiApplyId;

    /** 删除状态 */
    private String delFlag;

    /** 部门编号 */
    private Long deptId;

    /** 问题描述 */
    @Excel(name = "问题描述")
    private String description;

    /** 申请状态 */
    @Excel(name = "申请状态")
    private long applyStatus;
    private String applyStatusString;

    /** 登记人部门 */
    @Excel(name = "登记人部门")
    private String applicantDept;

    private String applicantDeptName;

    /** 登记人班组 */
    @Excel(name = "登记人班组")
    private String applicantTeam;

    private String teamCount;

    private String applicantCount;

    /** 登记人 */
    @Excel(name = "登记人")
    private String applicant;

    private String applicantName;

    /** 当前处理人 */
    @Excel(name = "当前处理人")
    private String handler;

    private String handlerName;

    /** 整改负责人 */
    @Excel(name = "整改负责人")
    private String executor;

    private String executorName;

    /** SAI级别 */
    private Long saiLevel;

    /** SAI类别 */
    private String category;

    /** 片区 */
    private String workArea;

    /** 登记时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "登记时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applyDate;

    /** 预计完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "预计完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date estimateFinishDate;

    /** 实际完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
    @Excel(name = "实际完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date actualFinishDate;

    /** 是否录入开项系统 */
    @Excel(name = "是否录入开项系统")
    private Long isRecorded;

    /** 开项编号 */
    @Excel(name = "开项编号")
    private String recordNo;

    /** 申请编号 */
    private String apNo;

    /** 流程id */
    private String processId;

    /** 评估人 */
    private String assessor;

    /** 验收人 */
    private String inspectors;

    /** 不安全状态 */
    private Long unsafeStatus;

    /** 不安全行为 */
    private Long unsafeAction;

    /** 任务编号 */
    private String taskId;

    /** 任务名称 */
    private String taskName;

    /** 采取的措施 */
    private String reaction;

    /** 是否需要VE验证 */
    private Long needVe;

    /** VE验证条款 */
    private String veItems;

    /** VC/VE验证成果 */
    private String veResult;

    /** 备注 */
    private String remarks;

    /** VC/VE验证条款（其它） */
    private String veItemOther;

    @TableField(exist = false)
    private List<TSaiApproveFile> files;

    /** 备注（评估阶段） */
    private String remarksAssess;

    /** 备注（执行阶段） */
    private String remarksExecute;

    public String getApplicantCount() {
        return applicantCount;
    }

    public void setApplicantCount(String applicantCount) {
        this.applicantCount = applicantCount;
    }

    public String getTeamCount() {
        return teamCount;
    }

    public void setTeamCount(String teamCount) {
        this.teamCount = teamCount;
    }

    public String getApplyStatusString() {
        return applyStatusString;
    }

    public void setApplyStatusString(String applyStatusString) {
        this.applyStatusString = applyStatusString;
    }

    public String getWorkArea() {
        return workArea;
    }

    public void setWorkArea(String workArea) {
        this.workArea = workArea;
    }

    public String getRemarksAssess() {
        return remarksAssess;
    }

    public void setRemarksAssess(String remarksAssess) {
        this.remarksAssess = remarksAssess;
    }

    public String getRemarksExecute() {
        return remarksExecute;
    }

    public void setRemarksExecute(String remarksExecute) {
        this.remarksExecute = remarksExecute;
    }

    public Long getSaiLevel() {
        return saiLevel;
    }

    public void setSaiLevel(Long saiLevel) {
        this.saiLevel = saiLevel;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public List<TSaiApproveFile> getFiles() {
        return files;
    }

    public void setFiles(List<TSaiApproveFile> files) {
        this.files = files;
    }

    public String getApplicantName() {
        return applicantName;
    }

    public void setApplicantName(String applicantName) {
        this.applicantName = applicantName;
    }

    public String getExecutorName() {
        return executorName;
    }

    public void setExecutorName(String executorName) {
        this.executorName = executorName;
    }

    public String getApplicantDeptName() {
        return applicantDeptName;
    }

    public void setApplicantDeptName(String applicantDeptName) {
        this.applicantDeptName = applicantDeptName;
    }

    public String getHandlerName() {
        return handlerName;
    }

    public void setHandlerName(String handlerName) {
        this.handlerName = handlerName;
    }

    public void setSaiApplyId(Long saiApplyId)
    {
        this.saiApplyId = saiApplyId;
    }

    public Long getSaiApplyId()
    {
        return saiApplyId;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setApplyStatus(long applyStatus)
    {
        this.applyStatus = applyStatus;
    }

    public long getApplyStatus()
    {
        return applyStatus;
    }
    public void setApNo(String apNo)
    {
        this.apNo = apNo;
    }

    public String getApNo()
    {
        return apNo;
    }
    public void setProcessId(String processId)
    {
        this.processId = processId;
    }

    public String getProcessId()
    {
        return processId;
    }
    public void setApplicant(String applicant)
    {
        this.applicant = applicant;
    }

    public String getApplicant()
    {
        return applicant;
    }
    public void setAssessor(String assessor)
    {
        this.assessor = assessor;
    }

    public String getAssessor()
    {
        return assessor;
    }
    public void setExecutor(String executor)
    {
        this.executor = executor;
    }

    public String getExecutor()
    {
        return executor;
    }
    public void setInspectors(String inspectors)
    {
        this.inspectors = inspectors;
    }

    public String getInspectors()
    {
        return inspectors;
    }
    public void setApplicantDept(String applicantDept)
    {
        this.applicantDept = applicantDept;
    }

    public String getApplicantDept()
    {
        return applicantDept;
    }
    public void setApplicantTeam(String applicantTeam)
    {
        this.applicantTeam = applicantTeam;
    }

    public String getApplicantTeam()
    {
        return applicantTeam;
    }
    public void setDescription(String description)
    {
        this.description = description;
    }

    public String getDescription()
    {
        return description;
    }
    public void setUnsafeStatus(Long unsafeStatus)
    {
        this.unsafeStatus = unsafeStatus;
    }

    public Long getUnsafeStatus()
    {
        return unsafeStatus;
    }
    public void setUnsafeAction(Long unsafeAction)
    {
        this.unsafeAction = unsafeAction;
    }

    public Long getUnsafeAction()
    {
        return unsafeAction;
    }
    public void setApplyDate(Date applyDate)
    {
        this.applyDate = applyDate;
    }

    public Date getApplyDate()
    {
        return applyDate;
    }
    public void setHandler(String handler)
    {
        this.handler = handler;
    }

    public String getHandler()
    {
        return handler;
    }
    public void setTaskId(String taskId)
    {
        this.taskId = taskId;
    }

    public String getTaskId()
    {
        return taskId;
    }
    public void setTaskName(String taskName)
    {
        this.taskName = taskName;
    }

    public String getTaskName()
    {
        return taskName;
    }
    public void setEstimateFinishDate(Date estimateFinishDate)
    {
        this.estimateFinishDate = estimateFinishDate;
    }

    public Date getEstimateFinishDate()
    {
        return estimateFinishDate;
    }
    public void setActualFinishDate(Date actualFinishDate)
    {
        this.actualFinishDate = actualFinishDate;
    }

    public Date getActualFinishDate()
    {
        return actualFinishDate;
    }
    public void setIsRecorded(Long isRecorded)
    {
        this.isRecorded = isRecorded;
    }

    public Long getIsRecorded()
    {
        return isRecorded;
    }
    public void setRecordNo(String recordNo)
    {
        this.recordNo = recordNo;
    }

    public String getRecordNo()
    {
        return recordNo;
    }
    public void setReaction(String reaction)
    {
        this.reaction = reaction;
    }

    public String getReaction()
    {
        return reaction;
    }
    public void setNeedVe(Long needVe)
    {
        this.needVe = needVe;
    }

    public Long getNeedVe()
    {
        return needVe;
    }
    public void setVeItems(String veItems)
    {
        this.veItems = veItems;
    }

    public String getVeItems()
    {
        return veItems;
    }
    public void setVeResult(String veResult)
    {
        this.veResult = veResult;
    }

    public String getVeResult()
    {
        return veResult;
    }
    public void setRemarks(String remarks)
    {
        this.remarks = remarks;
    }

    public String getRemarks()
    {
        return remarks;
    }
    public void setVeItemOther(String veItemOther)
    {
        this.veItemOther = veItemOther;
    }

    public String getVeItemOther()
    {
        return veItemOther;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("saiApplyId", getSaiApplyId())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("deptId", getDeptId())
            .append("applyStatus", getApplyStatus())
            .append("apNo", getApNo())
            .append("processId", getProcessId())
            .append("applicant", getApplicant())
            .append("assessor", getAssessor())
            .append("executor", getExecutor())
            .append("inspectors", getInspectors())
            .append("applicantDept", getApplicantDept())
            .append("applicantTeam", getApplicantTeam())
            .append("description", getDescription())
            .append("unsafeStatus", getUnsafeStatus())
            .append("unsafeAction", getUnsafeAction())
            .append("applyDate", getApplyDate())
            .append("handler", getHandler())
            .append("taskId", getTaskId())
            .append("taskName", getTaskName())
            .append("estimateFinishDate", getEstimateFinishDate())
            .append("actualFinishDate", getActualFinishDate())
            .append("isRecorded", getIsRecorded())
            .append("recordNo", getRecordNo())
            .append("reaction", getReaction())
            .append("needVe", getNeedVe())
            .append("veItems", getVeItems())
            .append("veResult", getVeResult())
            .append("remarks", getRemarks())
            .append("veItemOther", getVeItemOther())
            .toString();
    }
}
