package com.brilliance.isc.vo.lg;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.json.BigDecimalSerialize;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;

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

@Data
public class InfgidVo {

    private  String inr;
    //    Reference gid.ownref
    private String gidownref;

    //Resp. User gid.ownusr
    private String gidownusr;

    //Opened gid.opndat
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date gidopndat;

    //Validity gid.expdat
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private  Date gidexpdat;

    //Liability gid.liadat
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private  Date gidliadat;

    //电子渠道类型 gid.fromflg
    private String gidfromflg;

    //OTHERSNO gid.othersno
    private String gidothersno;

    //基础贸易是/否跨境货物贸易 gid.ISCROTRA
    private String gidiscrotra;

    //被担保人名称  gid.GRTNAM
    private String gidgrtnam;

    //保函品种  gid.GARTYP
    private String gidgartyp;

    //Handling Type gid.HNDTYP
    private String gidhndtyp;
    //purpos
    private String purpos;
    //分行名称 bch.BCHNAME
    private String bchname;

    //Party Number pts.EXTKEY
    private String ptsaplextkey;

    //Applicant
    private String ptsaplnam;

    //Party Number
    private String ptsbenextkey;

    //Beneficiary
    private String  ptsbennam;

    //MAX Cur
    private String maxcur;

    //Guar. Amount
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal maxamt = Decimals.ZERO_SCALE2;

    //XRFCUR Cur
    private String maxxrfcur;

    //Guarantee Amount(RMB)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal maxxrfamt = Decimals.ZERO_SCALE2;;

    //OPN Cur
    private String opncur;

    //Guar. Amount
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal opnamt = Decimals.ZERO_SCALE2;;

    //XRFCUR Cur
    private String opnxrfcur;

    //Guarantee Amount(RMB)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal opnxrfamt = Decimals.ZERO_SCALE2;;

    /**
     * 保函开立种类
     */
    private String opentyp;

    /**
     * 保函开立交易码
     */
    private String opnfrm;

    /**
     * 应收保证金比例
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal  cshpct = Decimals.ZERO_SCALE2;;

    /**
     * 保证金币种
     */
    private String ccvcur;
    /**
     * 保证金金额
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal ccvamt = Decimals.ZERO_SCALE2;;

    /**
     * 实收保证金比例
     */
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal recshpct = Decimals.ZERO_SCALE2;;
    /**
     * 结清日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private  Date clsdat;

    /**
     * 对外担保
     */

    private String fingua;

    /**
     * 对外担保类型
     */
    private String cfaguatyp;

    /**
     * 通知日
     *
     */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private  Date orddat;

    /**
     * 分离式
     */
    private String fenlishi;
    /**
     * 通知行extkey
     */
    private String advExtkey;
    /**
     * 通知行名称
     */
    private String advNam;

    /**
     * 开证行extkey
     */
    private String issExtkey;
    /**
     * 开证行名称
     */
    private String issNam;



}
