package com.brilliance.isc.vo.bop;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.mda.support.jakson.serialize.BigDecimalSerializeRate;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;

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

@JsonInclude(JsonInclude.Include.NON_NULL)
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class BopselRespVo {

    private String dblinr;

    private String objinr;

    private String trninr;

    //申报类型
    private String objtyp;
    //申报号码
    private String rptno;
    //客户名称
    private String custnm;
    //申报主体代码
    private String custcod;
    //基础信息状态
    private String bassta;
    //银行业务编号
    private String buscode;
    //收付汇日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date reldat;
    //申报币种
    private String txccy;
    //申报金额
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    private BigDecimal txamt = Decimals.ZERO_SCALE0;
    //客户类型
    private String custype;
    //结算方式
    private String method;
    //申报状态
    private String dclsta;
    //管理状态
    private String vrfsta;
    //对方客户名称
    private String oppuser;
    //结汇金额
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    private BigDecimal lcyamt = Decimals.ZERO_SCALE0;
    //结汇账号
    private String lcyacc;
    //现汇金额
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    private BigDecimal fcyamt = Decimals.ZERO_SCALE0;
    //现汇账号
    private String fcyacc;
    //其他金额
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    private BigDecimal othamt = Decimals.ZERO_SCALE0;
    //其他账号
    private String othacc;
    //汇率
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    private BigDecimal exrate = Decimals.ZERO_SCALE8;
    //国内扣费金额
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    private BigDecimal inchargeamt = Decimals.ZERO_SCALE0;
    //国外扣费金额
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    private BigDecimal outchargeamt = Decimals.ZERO_SCALE0;
    //所属机构
    private String ownextkey;
    //外汇账号
    private String jfcyacc;
    //人民币账号
    private String jlcyacc;
    //外汇账号开户行
    private String foroppbank;
    //人民币账号开户行
    private String cnyoppbank;
    //交易编码
    private String txcode;
    //外汇局批件号
    private String regno;
    //结汇用途
    private String usetype;
    //结汇详细用途
    private String usedetail;
    //填报人
    private String crtuser;
    //填报电话
    private String inptelc;
    //补录状态
    private String addsta;






    //操作类型
    private String actiontype ;

    //删除原因
    private String actiondesc ;

    //结汇申请人个人身份证件号码
    private String idcode ;



    //人民币帐户开户行
    private String oppbank ;


    //币别
    private String fcyccy;


    private  String sndflg  ;


    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date sfhdat ;

    private String ownusr ;

    private String bchname;

    private String tmpref;


    private  String inchargeccy;


    private String datsrc;

    private String extinf;

    private String exmandapp;

    private String outchargeccy;


    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date credat ;
}
