package com.jy.business.contract.model.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jy.framework.model.base.BaseIdPo;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 合同
 * </p>
 *
 * @author
 * @since 2025-06-12
 */
@Getter
@Setter
@TableName("contract_info")
public class ContractInfo extends BaseIdPo {

    /**
     * 合同编号
     */
    private String contractNo;

    /**
     * 是否含税（1是 0否）
     */
    private Integer isTax;

    /**
     * 合同状态 10进行中 20已完成
     */
    private Integer status;

    /**
     * 卖方公司名称
     */
    private String sellerCompany;

    /**
     * 卖方地址
     */
    private String sellerAddress;

    /**
     * 卖方国家
     */
    private String sellerCountry;

    /**
     * 卖方联系方式
     */
    private String sellerContact;

    /**
     * 支付类型 1银行卡支付 2支付宝支付
     */
    private Integer paymentType;

    /**
     * 卖家账户名
     */
    private String sellAccountName;

    /**
     * 卖家开户银行
     */
    private String sellBankName;

    /**
     * 卖家银行账号
     */
    private String sellBankAccount;

    /**
     * 卖家联行号
     */
    private String sellBankCnapsCode;

    /**
     * 卖家账户名称（外汇信息）
     */
    private String sellBeneficiaryName;

    /**
     * 卖家开户银行（外汇信息）
     */
    private String sellBeneficiaryBank;

    /**
     * 卖家账号（外汇信息）
     */
    private String sellBeneficiaryBankAccount;

    /**
     * 卖家开户银行地址（外汇信息）
     */
    private String sellBeneficiaryBankAddress;

    /**
     * 卖家银行代码（外汇信息）
     */
    private String sellSwiftCode;

    /**
     * 卖家收款人地址（外汇信息）
     */
    private String sellBeneficiaryAddress;

    /**
     * 卖家支付宝账号
     */
    private String sellAlipayAccount;

    /**
     * 签订日期
     */
    private Date signingDate;

    /**
     * 开始日期
     */
    private Date startDate;

    /**
     * 结束日期
     */
    private Date endDate;

    /**
     * 报价有效期(天)
     */
    private Integer validityDate;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 客户联系电话
     */
    private String customerTelNum;

    /**
     * 客户国家
     */
    private String customerCountry;

    /**
     * 客户地址
     */
    private String customerAddress;

    /**
     * 目的地
     */
    private String destination;

    /**
     * 货运方式
     */
    private String shippingMethod;

    /**
     * 卸货港
     */
    private String placeOfDischarge;

    /**
     * 交货条款
     */
    private String deliveryTerms;

    /**
     * 交货时间(天)
     */
    private Integer deliveryTime;

    /**
     * 付款条件
     */
    private String paymentTerms;

    /**
     * 保修时间(天)
     */
    private Integer warrantyPeriod;

    /**
     * 币种
     */
    private String currency;

    /**
     * 汇率
     */
    private BigDecimal exchangeRate;

    /**
     * 运费
     */
    private BigDecimal freightPrice;

    /**
     * 保险费
     */
    private BigDecimal insurance;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 是否结算
     */
    private Integer hasSettlement;

    /**
     * 结算利润
     */
    private BigDecimal settlementProfit;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建者
     */
    private Long createBy;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新者
     */
    private Long updateBy;

    /**
     * 最后更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

}
