package com.xunmei.system.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.xunmei.common.core.web.domain.BaseEntity;

/**
 * 机构物防建设对象 sys_org_physical_defense_construction
 *
 * @author xunmei
 * @date 2023-08-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("sys_org_physical_defense_construction")
@ApiModel(value = "SysOrgPhysicalDefenseConstruction对象" , description = "机构物防建设")
public class SysPhysicalDefenseConstruction extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * $column.columnComment
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 标准
     */
    @ApiModelProperty(value = "标准")
    private String standard;

    /**
     * 达标日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
    @ApiModelProperty(value = "达标日期")
    private Date dateOfCompliance;

    /**
     * 是否证书佐证
     */
    @ApiModelProperty(value = "是否证书佐证")
    private Long certificateEvidence;

    /**
     * 证书
     */
    @ApiModelProperty(value = "证书")
    private String certificate;
    @ApiModelProperty(value = "物防建设类型:1:机构2:业务库3:在行4:离行")
    private Long type;

    /**
     * 佐证
     */
    @ApiModelProperty(value = "佐证")
    private String evidence;

    /**
     * 机构id
     */
    @ApiModelProperty(value = "机构id")
    private Long orgId;


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)


                .append("id" , getId())


                .append("standard" , getStandard())


                .append("dateOfCompliance" , getDateOfCompliance())


                .append("certificateEvidence" , getCertificateEvidence())


                .append("certificate" , getCertificate())


                .append("evidence" , getEvidence())


                .append("createTime" , getCreateTime())


                .append("updateTime" , getUpdateTime())


                .append("createBy" , getCreateBy())


                .append("updateBy" , getUpdateBy())


                .append("orgId" , getOrgId())
                .toString();
    }
}
