package com.sptg.estate.api.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * title: Contract
 * package: com.sptg.estate.biz.security
 * description: 实施项目合同实体类
 *
 *               
 *                      
 */
@Setter
@Getter
@TableName(value = "implement_contract")
public class Contract {
    /**
     * 主键
     */
    @TableId(value = "l_id",type = IdType.AUTO)
    private Long id;
    /**
     * 项目id
     */
    @TableField(value = "l_project_id")
    private Long projectId;
    /**
     * 合同编号
     */
    @TableField(value = "s_contract_no")
    private String contractNo;
    /**
     * 物业管理方
     */
    @TableField(value = "s_property_name")
    private String propertyName;
    /**
     * 合同签约日期
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_signing_date")
    private Date signingDate;
    /**
     * 综合服务方
     */
    @TableField(value = "l_integrated_service_id")
    private Long integratedServiceId;
    /**
     * 合同时效
     */
    @TableField(value = "s_period")
    private String period;
    /**
     * 是否扫描存档 0-否 1-是
     */
    @TableField(value = "i_is_scan_archive")
    private Integer isScanArchive;
    /**
     * 印章使用 0-合同章 1-公章 2-业务章
     */
    @TableField(value = "i_seal_use")
    private Integer sealUse;
    /**
     * 留档数
     */
    @TableField(value = "i_file_number")
    private Integer fileNumber;
    /**
     * 备注
     */
    @TableField(value = "s_remark")
    private String remark;
    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_create_date")
    private Date createDate;
    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private String[] imgUri;
    /**
     * 扩展属性 小区id
     */
    @TableField(exist = false)
    private Long residentialId;
    /**
     * 扩展属性
     */
    @TableField(exist = false)
    private List<ContractImg> list;
    /**
     * 综合服务方名字
     */
    @TableField(exist = false)
    private String integratedServiceName;
}
