package com.zd.laboratory.domain;

import javax.validation.constraints.NotBlank;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zd.common.core.valid.ValidGroup;
import org.hibernate.validator.constraints.Length;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.zd.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.zd.common.core.web.domain.BaseEntity;

/**
 * 安全检查对象 lab_check_record
 *
 * @author zd
 * @date 2021-12-30
 */
@ApiModel("安全检查")
public class LabCheckRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(value = "${comment}")
    private Long id;
    /** 实验室名称 */
    @Excel(name = "实验室名称")
    @Length(message = "实验室名称长度不能超过20")
    @ApiModelProperty(value = "实验室名称")
    private String laboratoryName;
    /** 检查单号 */
    @Excel(name = "检查单号")
    @Length(message = "检查单号长度不能超过20")
    @ApiModelProperty(value = "检查单号")
    private String checkNum;
    /** 实验室id */
    @Excel(name = "实验室id")
    @Length(message = "实验室id长度不能超过20")
    @ApiModelProperty(value = "实验室id")
    private String laboratoryId;
    /** 实验楼名称 */
    @Excel(name = "实验楼名称")
    @Length(message = "实验楼名称长度不能超过20")
    @ApiModelProperty(value = "实验楼名称")
    private String buildingName;
    /** 实验楼id */
    @Excel(name = "实验楼id")
    @Length(message = "实验楼id长度不能超过20")
    @ApiModelProperty(value = "实验楼id")
    private String buildingId;
    /** 检查单位 */
    @Excel(name = "检查单位")
    @Length(message = "检查单位长度不能超过20")
    @ApiModelProperty(value = "检查单位")
    private String jcDw;
    /** 检查单位名称 */
    @Excel(name = "检查单位名称")
    @Length(message = "检查单位名称长度不能超过20")
    @ApiModelProperty(value = "检查单位")
    private String jcDwName;

    /** 检查人 */
    @Excel(name = "检查人")
    @Length(message = "检查人长度不能超过20")
    @ApiModelProperty(value = "检查人")
    private String jcRyxm;
    /** 房间号 */
    @Excel(name = "房间号")
    @Length(message = "房间号长度不能超过20")
    @ApiModelProperty(value = "房间号")
    private String fjNumber;
    /** 负责人id */
    @Excel(name = "负责人id")
    @ApiModelProperty(value = "负责人id")
    private Long fzrId;
    /** 负责人姓名 */
    @Excel(name = "负责人姓名")
    @Length(message = "负责人姓名长度不能超过20")
    @ApiModelProperty(value = "负责人姓名")
    private String fzrName;
    /** 负责人联系方式 */
    @Excel(name = "负责人联系方式")
    @Length(message = "负责人联系方式长度不能超过20")
    @ApiModelProperty(value = "负责人联系方式")
    private String fzrLxfs;
    /** 整改结果 */
    @Excel(name = "整改结果")
    @Length(message = "整改结果长度不能超过255")
    @ApiModelProperty(value = "整改结果")
    private String zgJg;
    /** 驳回原因 */
    @Excel(name = "驳回原因")
    @Length(message = "驳回原因长度不能超过255")
    @ApiModelProperty(value = "驳回原因")
    private String fbYy;
    /**  0待整改 1整改待确认 2整改未通过 3整改中 4完成 */
    @Excel(name = " 0待整改 1整改待确认 2整改未通过 3整改中 4完成")
    @ApiModelProperty(value = " 0待整改 1整改待确认 2整改未通过 3整改中 4完成")
    private Integer zgStatus;
    /** 0一般整改 1重大整改 */
    @Excel(name = "0一般整改 1重大整改")
    @ApiModelProperty(value = "0一般整改 1重大整改")
    private Integer zgType;
    /** 是否暂无法整改 0否 1是 */
    @Excel(name = "是否暂无法整改 0否 1是")
    @ApiModelProperty(value = "是否暂无法整改 0否 1是")
    private Integer isZgStatus;
    /** 是否草稿 0否 1是 */
    @Excel(name = "是否草稿 0否 1是")
    @ApiModelProperty(value = "是否草稿 0否 1是")
    private Integer isCg;
    /** 整改截至时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "整改截至时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "整改截至时间")
    private Date zgjzTime;
    /** 整改驳回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "整改驳回时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "整改驳回时间")
    private Date zgbhTime;
    /** 整改确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "整改确认时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "整改确认时间")
    private Date zgqrTime;
    /** 创建人ID */
    @Excel(name = "创建人ID ")
    @ApiModelProperty(value = "创建人ID ")
    private Long createUserId;

    /** 首次打开时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "首次打开时间 ", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "首次打开时间 ")
    private Date firstTime;

    /** 整改完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "整改完成时间 ", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    @ApiModelProperty(value = "整改完成时间 ")
    private Date zgWcsj;

    /**  是否发布 0未发布 1已发布 */
    @Excel(name = " 是否发布 0未发布 1已发布")
    @ApiModelProperty(value = " 是否发布 0未发布 1已发布")
    private Integer isFabu;

    public Integer getIsZgStatus() {        return isZgStatus;    }

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

    public Long getId()
    {
        return id;
    }
    public void setLaboratoryName(String laboratoryName)
    {
        this.laboratoryName = laboratoryName;
    }

    public String getLaboratoryName()
    {
        return laboratoryName;
    }
    public void setLaboratoryId(String laboratoryId)
    {
        this.laboratoryId = laboratoryId;
    }

    public String getLaboratoryId()
    {
        return laboratoryId;
    }
    public void setBuildingName(String buildingName)
    {
        this.buildingName = buildingName;
    }

    public String getBuildingName()
    {
        return buildingName;
    }
    public void setBuildingId(String buildingId)
    {
        this.buildingId = buildingId;
    }

    public String getBuildingId()
    {
        return buildingId;
    }
    public void setJcDw(String jcDw)
    {
        this.jcDw = jcDw;
    }

    public String getJcDw()
    {
        return jcDw;
    }
    public String getJcDwName() {        return jcDwName;    }

    public void setJcDwName(String jcDwName) {        this.jcDwName = jcDwName;    }
    public void setJcRyxm(String jcRyxm)
    {
        this.jcRyxm = jcRyxm;
    }

    public String getJcRyxm()
    {
        return jcRyxm;
    }
    public void setFjNumber(String fjNumber)
    {
        this.fjNumber = fjNumber;
    }

    public String getFjNumber()
    {
        return fjNumber;
    }
    public void setFzrId(Long fzrId)
    {
        this.fzrId = fzrId;
    }

    public Long getFzrId()
    {
        return fzrId;
    }
    public void setFzrName(String fzrName)
    {
        this.fzrName = fzrName;
    }

    public String getFzrName()
    {
        return fzrName;
    }
    public void setFzrLxfs(String fzrLxfs)
    {
        this.fzrLxfs = fzrLxfs;
    }

    public String getFzrLxfs()
    {
        return fzrLxfs;
    }
    public void setZgJg(String zgJg)
    {
        this.zgJg = zgJg;
    }

    public String getZgJg()
    {
        return zgJg;
    }
    public void setFbYy(String fbYy)
    {
        this.fbYy = fbYy;
    }

    public String getFbYy()
    {
        return fbYy;
    }

    public void setZgStatus(Integer zgStatus)
    {
        this.zgStatus = zgStatus;
    }

    public Integer getZgStatus()
    {
        return zgStatus;
    }
    public void setZgType(Integer zgType)
    {
        this.zgType = zgType;
    }

    public Integer getZgType()
    {
        return zgType;
    }
    public void setIsCg(Integer isCg)
    {
        this.isCg = isCg;
    }

    public Integer getIsCg()
    {
        return isCg;
    }
    public void setZgjzTime(Date zgjzTime)
    {
        this.zgjzTime = zgjzTime;
    }

    public Date getZgjzTime()
    {
        return zgjzTime;
    }
    public void setZgbhTime(Date zgbhTime)
    {
        this.zgbhTime = zgbhTime;
    }

    public Date getZgbhTime()
    {
        return zgbhTime;
    }
    public void setZgqrTime(Date zgqrTime)
    {
        this.zgqrTime = zgqrTime;
    }

    public Date getZgqrTime()
    {
        return zgqrTime;
    }

    public Long getCreateUserId() {        return createUserId;    }

    public void setCreateUserId(Long createUserId) {        this.createUserId = createUserId;    }

    public Date getFirstTime() {        return firstTime;    }

    public void setFirstTime(Date firstTime) {        this.firstTime = firstTime;    }
    public Date getZgWcsj() {        return zgWcsj;    }

    public void setZgWcsj(Date zgWcsj) {        this.zgWcsj = zgWcsj;    }

    public Integer getIsFabu() {        return isFabu;    }

    public void setIsFabu(Integer isFabu) {        this.isFabu = isFabu;    }
    public String getCheckNum() {        return checkNum;    }

    public void setCheckNum(String checkNum) {        this.checkNum = checkNum;    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("checkNum", getCheckNum())
                .append("laboratoryName", getLaboratoryName())
                .append("laboratoryId", getLaboratoryId())
                .append("buildingName", getBuildingName())
                .append("buildingId", getBuildingId())
                .append("jcDw", getJcDw())
                .append("jcDwName", getJcDwName())
                .append("jcRyxm", getJcRyxm())
                .append("fjNumber", getFjNumber())
                .append("fzrId", getFzrId())
                .append("fzrName", getFzrName())
                .append("fzrLxfs", getFzrLxfs())
                .append("zgJg", getZgJg())
                .append("fbYy", getFbYy())
                .append("zgStatus", getZgStatus())
                .append("zgType", getZgType())
                .append("zgType", getZgType())
                .append("isCg", getIsCg())
                .append("zgjzTime", getZgjzTime())
                .append("zgbhTime", getZgbhTime())
                .append("zgqrTime", getZgqrTime())
                .append("createTime", getCreateTime())
                .append("createUserId", getCreateUserId())
                .append("firstTime", getFirstTime())
                .append("zgWcsj", getZgWcsj())
                .append("isFabu", getIsFabu())
                .append("isZgStatus", getIsZgStatus())
                .toString();
    }
}
