package com.brilliance.isc.common.rmbbop.entity;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.rmbbop.common.IAds;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.Setter;

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

import static com.brilliance.mda.runtime.mda.Constants.NULLDATE;
import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;


/**
 * TABLE:tdf:人民币跨境信贷融资业务信息
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Getter
@Setter
public class Tdf extends AbstractCommonVo implements IAds {

    //Internal Unique ID
    private String inr = NULLSTR;
    //Version
    private String ver = NULLSTR;
    //人行报送状态
    private String sta = NULLSTR;
    //业务主键
    private String levyno = NULLSTR;
    //操作类型
    private String opertype = NULLSTR;
    //变�'/撤销原因
    private String actiondesc = NULLSTR;
    //A报送机构代码
    private String leorgcode = NULLSTR;
    //业务属性
    private String transattr = NULLSTR;
    //债权人类型
    private String loanertype = NULLSTR;
    //�'�款经营类型
    private String fintype = NULLSTR;
    //融资种类
    private String finkind = NULLSTR;
    //资金融（�'�）出方机构代码
    private String outorgcode = NULLSTR;
    //资金融（�'�）出方机构名称
    private String outorgname = NULLSTR;
    //资金融（�'�）出机构客户'号
    private String outorgacct = NULLSTR;
    //融（�'�）出机构常驻国家（地区）代码
    private String outcountrycode = NULLSTR;
    //资金融（借）入方机构代码
    private String inorgcode = NULLSTR;
    //资金融（借）入方机构名称
    private String inorgname = NULLSTR;
    //资金融（借）入机构�'�户�'�号
    private String inorgacct = NULLSTR;
    //融（借）入机构常驻国家（地区）代码
    private String incountrycode = NULLSTR;
    //融资（�'�款）担保方式
    private String finvouchmode = NULLSTR;
    //融资（�'�款）金额
    private BigDecimal fincnyamt = Decimals.ZERO_SCALE3;
    //融资（�'�款）币种
    private String currencycode = NULLSTR;
    //起息日
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date finstrdate = NULLDATE;
    //到期日
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date finenddate = NULLDATE;
    //利率类型
    private String ratetype = NULLSTR;
    //利率
    private BigDecimal finrate = Decimals.ZERO_SCALE7;
    //浮动利率基准
    private String ratebenchmark = NULLSTR;
    //浮动利率加点
    private BigDecimal rateaddend = Decimals.ZERO_SCALE4;
    //利率重新定价期限
    private String rateafreshlimit = NULLSTR;
    //利率期限单位
    private String rateunit = NULLSTR;
    //融资（�'�款）状态
    private String finstate = NULLSTR;
    //还本付息方式
    private String paymode = NULLSTR;
    //逾期未还款金额
    private BigDecimal latepayamt = Decimals.ZERO_SCALE3;
    //融资合同备案号
    private String lendingcontractno = NULLSTR;
    //银行业务编号
    private String banktrano = NULLSTR;
    //交易附言
    private String addword = NULLSTR;
    //银团�'�款信息
    private int bankgrouplist;
    //委托�'�款信息
    private String consignflg = NULLSTR;
    //银团�'�款信息标识
    private String bankgroupflg = NULLSTR;
    //Initial Entity Code
    private String ownextkey = NULLSTR;
    //银行机构名称字段
    private String sbankname = NULLSTR;

}