package com.yunzhi.marketing.eContract.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 合同列表
 * </p>
 *
 * @author fxf
 * @since 2020-03-26
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TaContract implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 合同id
     */
    @TableId(value = "contract_id", type = IdType.AUTO)
    private Integer contractId;

    /**
     * 企业id
     */
    private Integer companyId;

    /**
     * 公司id
     */
    private Integer orgId;
    /**
     * 楼盘id
     */
    private String buildingId;

    /**
     * 合同标题
     */
    private String contractName;

    /**
     * 关联业务类型
     */
    private String targetType;

    /**
     * 关联业务
     */
    private Integer targetId;

    /**
     * 关联单据类型
     */
    private String invoiceTargetType;

    /**
     * 关联单据id
     */
    private Integer invoiceTargetId;

    /**
     * 甲方名称
     */
    private String signatoryName;

    /**
     * 甲方签署时间
     */
    private LocalDateTime signatoryTime;

    /**
     * 乙方名称
     */
    private String customerName;

    /**
     * 乙方手机号
     */
    private String customerTel;

    /**
     * 乙方身份证号
     */
    private String customerIdcard;

    /**
     * 乙方签署时间
     */
    private LocalDateTime customerTime;

    /**
     * 下载合同链接地址
     */
    private String contractDownloadUrl;

    /**
     * 查看合同链接地址
     */
    private String contractViewUrl;

    /**
     * 是否归档
     */
    private Boolean archives;

    /**
     * 归档时间
     */
    private LocalDateTime archivesTime;

    /**
     * 创建时间
     */
    private LocalDateTime createDate;

    /**
     * 是否结算
     */
    private Boolean settlement;

    /**
     * 结算时间
     */
    private LocalDateTime settlementTime;

    /**
     * 结算单价 分请做好转换
     */
    private Integer settlementPrice;

    /**
     * 小程序用户id
     */
    private String personId;

    /**
     * 原因
     */
    private String reason;

    /**
     * 状态
     */
    private Integer status;

    /**
     * 公司名
     */
    @TableField(exist = false)
    private String companyName;

    /**
     * 公司编码
     */
    @TableField(exist = false)
    private String companyCode;

    /**
     * 组织名
     */
    @TableField(exist = false)
    private String orgName;

    /**
     * 小程序名
     */
    @TableField(exist = false)
    private String miniAppName;

    /**
     * 代理商名称
     */
    @TableField(exist = false)
    private String channelProxyName;

    /**
     * 前端传的计算价格
     */
    @TableField(exist = false)
    private Double price;

    @TableField(exist = false)
    private List<TaContract> taContractList;

    @TableField(exist = false)
    private String targetName;

}
