package com.brilliance.isc.common.bopcfa.vo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

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;

/**
 * @author yangxd
 * @version 1.0
 * @description: 查询返回结果集合
 * @data 2023/7/18 10:12
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonIgnoreProperties(ignoreUnknown = true)
public class CfaSelResultVo {

    //EBL-TRN表TRNINR
    private String ltrninr = NULLSTR;

    //EBL-INR
    private String linr = NULLSTR;

    /**
     *申报号码
     */
    private String lrptno = NULLSTR;


    /**
     *相关业务参考号
     */
    private String lownref = NULLSTR;

    /**
     *经办柜员
     */
    private String lownusr = NULLSTR;

    /**
      *关联的资本项目表名
      */
    private String lobjtyp = NULLSTR;

    /**
     *创建日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date lcredat = NULLDATE;

    /**
     *操作类型，A为新建，C为修改，D为删除
     */
    private String eactiontype = NULLSTR;

    /**
     *接口状态
     */
    private String esta = NULLSTR;

    /**
     *EBA/EBB/EBC表的INR
     */
    private String einr = NULLSTR;

    /**
     *EBA/EBB/EBC表的OBJINR
     */
    private String eobjinr = NULLSTR;

    /**
     * 签约信息、履约信息、责任余额名称
     */
    private String typetable = NULLSTR;

    /**
     * 列表类型顺序eba是1 ebb是2 ebc是3...往后排
     */
    private String eord = NULLSTR;
    /**
     * EBA/EBB/EBC表的删除原因
     */
    private String eactiondesc = NULLSTR;
    /**
     * EBA/EBB/EBC担保人代码
     */
    private String eguarantorcode = NULLSTR;
    /**
     * 签约日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date econtractdate = NULLDATE;
    /**
     * 保函金额
     */
    private BigDecimal eguaranamount  = Decimals.ZERO_SCALE2;
    /**
     * 保函币种
     */
    private String eguarancurr = NULLSTR;
    /**
     * 到期日
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date ematurity = NULLDATE;
    /**
     * 担保类型，1101为股权或债权投资担保，1102为自身生产经营需要担保，1103为房屋按揭贷款担保，
     */
    private String eguarantype = NULLSTR;
    /**
     * 主债务币种
     */
    private String emaindebtcurr = NULLSTR;
    /**
     * 主债务金额
     */
    private BigDecimal emaindebtamount  = Decimals.ZERO_SCALE2;
    /**
     * 受益人代码
     */
    private String ebencode = NULLSTR;
    /**
     * 受益人中文名称
     */
    private String ebename = NULLSTR;
    /**
     * 受益人英文名称
     */
    private String ebenamen = NULLSTR;
    /**
     * 受益人类型，20001100为政府，20001200为国际金融组织，20001300为中央银行，20
     */
    private String ebentype = NULLSTR;
    /**
     * 受益人国别/地区
     */
    private String ebencountrycode = NULLSTR;
    /**
     * 被担保人代码
     */
    private String eguedcode = NULLSTR;
    /**
     * 被担保人中文名称
     */
    private String eguedname = NULLSTR;
    /**
     * 被担保人英文名称
     */
    private String eguednamen = NULLSTR;
    /**
     * 被担保人类型，10110100为政府部门，10110200为中央银行，10110301为政策性银行，
     */
    private String eguedtype = NULLSTR;
    /**
     * 被担保人国别/地区代码
     */
    private String eguedcouncode = NULLSTR;
    /**
     * 担保申请人代码
     */
    private String eguappcode = NULLSTR;
    /**
     * 担保申请人中文名称
     */
    private String eguappname = NULLSTR;
    /**
     * 担保申请人英文名称
     */
    private String eguappnamen = NULLSTR;
    /**
     * 核准文件号
     */
    private String eappdocuno = NULLSTR;
    /**
     * 担保责任余额变动日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date ewabachandate = NULLDATE;
    /**
     * 担保责任余额
     */
    private BigDecimal ebasere  = Decimals.ZERO_SCALE2;
    /**
     * 履约编号
     */
    private String ecomplianceno = NULLSTR;
    /**
     * ebc担保人代码
     */
    private String ecguarantorcode = NULLSTR;
    /**
     * ebc银行业务参号
     */
    private String ebuscode = NULLSTR;
    /**
     * ebc履约日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date eguperdate = NULLDATE;
    /**
     * ebc履约币种
     */
    private String egupercurr = NULLSTR;
    /**
     * ebc购汇履约金额
     */
    private BigDecimal eguperamount  = Decimals.ZERO_SCALE2;
    /**
     * ebc履约金额
     */
    private BigDecimal epguperamount = Decimals.ZERO_SCALE2;

    /**
     * 备注
     */
    private String eremark = NULLSTR;

    //二期-资本报送新增字段
    /**
     * 债务类型
     */
    private String debtype = NULLSTR;

    /**
     * 债务人代码
     */
    private String debtorcode = NULLSTR;

    /**
     * 起息日
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date valuedate = NULLDATE;

    /**
     * 签约币种
     */
    private String contractcurr = NULLSTR;

    /**
     * 签约金额
     */
    private BigDecimal contractamount  = Decimals.ZERO_SCALE2;

    /**
     * 到期日
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date maturity = NULLDATE;

    /**
     * 是否浮动利率
     */
    private String floatrate  = NULLSTR;

    /**
     * 年化利率
     */
    private BigDecimal anninrate  = Decimals.ZERO_SCALE8;

    /**
     * 债权人代码
     */
    private String creditorcode  = NULLSTR;

    /**
     * 债权人代中文名称
     */
    private String creditorname  = NULLSTR;

    /**
     * 债权人代英文名称
     */
    private String creditornamen  = NULLSTR;

    /**
     * 债权人类型代码
     */
    private String creditortype  = NULLSTR;

    /**
     * 债权人总部所在国家（地区）代码
     */
    private String crehqcode  = NULLSTR;

    /**
     * 债权人经营地所在国家（地区）代码
     */
    private String opercode  = NULLSTR;

    /**
     * 申请人代码
     */
    private String appcode  = NULLSTR;

    /**
     * 申请人名称
     */
    private String appname  = NULLSTR;

    /**
     * 承继的远期信用证承兑银行业务参号
     */
    private String inltcabuscode  = NULLSTR;

    /**
     * 是否不纳入跨境融资风险加权余额计算
     */
    private String spapfeboindex  = NULLSTR;

    /**
     * 对方与本机构的关系
     */
    private String relation  = NULLSTR;

    /**
     * 银行业务参号
     */
    private String buscode  = NULLSTR;

    /**
     * 变动编号
     */
    private String changeno  = NULLSTR;

    /**
     * 变动类型
     */
    private String changtype  = NULLSTR;

    /**
     * 变动日期
     */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date chdate = NULLDATE;

    /**
     * 变动币种
     */
    private String chcurrency  = NULLSTR;

    /**
     * 变动金额
     */
    private BigDecimal chamount  = Decimals.ZERO_SCALE2;

    /**
     * 公允价值
     */
    private BigDecimal fairvalue  = Decimals.ZERO_SCALE2;

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

    /**
     * 相关业务类型
     */
    private String credittype  = NULLSTR;

    /**
     * 是否附有银行承兑汇票
     */
    private String billsn  = NULLSTR;

    /**
     * 债务人中文名称
     */
    private String debtorname  = NULLSTR;

    /**
     * 国内外汇贷款类型
     */
    private String dofoexlotype  = NULLSTR;

    /**
     * 转贷项目名称
     */
    private String lenproname  = NULLSTR;

    /**
     * 转贷协议号
     */
    private String lenagree  = NULLSTR;

    /**
     * 期初余额
     */
    private BigDecimal loanopenbalan  = Decimals.ZERO_SCALE2;

    /**
     * 提款币种
     */
    private String withcurrence  = NULLSTR;

    /**
     * 提款金额
     */
    private BigDecimal withamount  = Decimals.ZERO_SCALE2;

    /**
     * 结汇金额
     */
    private BigDecimal settamount  = Decimals.ZERO_SCALE2;

    /**
     * 资金用途
     */
    private String useofunds  = NULLSTR;

    /**
     * 还本币种
     */
    private String princurr  = NULLSTR;

    /**
     * 还本金额
     */
    private BigDecimal repayamount  = Decimals.ZERO_SCALE2;

    /**
     * 购汇还本金额
     */
    private BigDecimal prepayamount  = Decimals.ZERO_SCALE2;

    /**
     * 付息币种
     */
    private String inpaycurr  = NULLSTR;

    /**
     * 付息金额
     */
    private BigDecimal inpayamount  = Decimals.ZERO_SCALE2;

    /**
     * 购汇付息金额
     */
    private BigDecimal pinpayamount  = Decimals.ZERO_SCALE2;

    /**
     * 期末余额
     */
    private BigDecimal endbalan  = Decimals.ZERO_SCALE2;




}
