package com.brilliance.isc.vo.model;

import com.brilliance.mda.runtime.mda.IStream;
import com.brilliance.mda.runtime.mda.impl.StreamImpl;
import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

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

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

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class CptpVo extends AbstractCommonVo {

    //Status E-nable, D-isable, I-nvisible
    private  String pansta = NULLSTR;

    //收款�'接参与者行号
    private  String reconebch = NULLSTR;

    //清算编号
    private  String sysno = NULLSTR;

    //所属行
    private  String othbch = NULLSTR;

    //收款对象
    private  String gors = NULLSTR;

    //国外F用币种
    private  String feecur = NULLSTR;

    //国外F用金额
    private BigDecimal feeamt = Decimals.ZERO_SCALE3;

    //汇款性
    private  String trntyp = NULLSTR;

    //汇款方式
    private  String paytype = NULLSTR;

    //付款日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date paydat;

    //客户类型
    private  String clityp = NULLSTR;

    //结汇类型
    private  String trdint = NULLSTR;

    //static text
    private  String valdat = NULLSTR;

    //原始币种
    private  String curf33b = NULLSTR;

    //发报行扣F币种
    private  String cur71f = NULLSTR;

    //发报行扣F金额
    private  BigDecimal amt71f = Decimals.ZERO_SCALE3;

    //原始金额
    private  BigDecimal amtf33b = Decimals.ZERO_SCALE3;

    //汇率
    private  BigDecimal f36 = Decimals.ZERO_SCALE6;

    //指令代码
    private  String f23e = NULLSTR;

    //银行操作码
    private  String f23b = NULLSTR;

    //static text 结售汇类型
    private  String jshtyp = NULLSTR;

    //售汇类型
    private  String trdout = NULLSTR;

    //static text 收汇款对象
    private  String shktyp = NULLSTR;

    //Connect
    private  String con = NULLSTR;

    //相关编号
    private  String rel21 = NULLSTR;

    //付款详情
    private  String payinf = NULLSTR;

    //附言
    private  String narinf = NULLSTR;

    //帐户类型
    private  String accmod = NULLSTR;

    //static of paydat
    private  String paydatsta = NULLSTR;

    //static of fee
    private  String feesta = NULLSTR;

    //Uil Payment
    private  String payuil = NULLSTR;

    //single 202
    private  String sin202 = NULLSTR;

    //接收行行号
    private  String resbch = NULLSTR;

    //接收行名称
    private  String resbchnam = NULLSTR;

    //附言
    private  String commet = NULLSTR;

    //保存联行查询结果
    private IStream bchstream = new StreamImpl();

    //业务种类
    private  String bustyp = NULLSTR;
    private  String bustypStr = NULLSTR;

    //电汇凭证
    private  String flg = NULLSTR;

    //收款人名称
    private  String pyenam = NULLSTR;

    //收款人地址
    private  String pyeadr = NULLSTR;

    //付款人名称
    private  String orcnam = NULLSTR;

    //付款人地址
    private  String orcadr = NULLSTR;

    //加急种类
    private  String urgtyp = NULLSTR;

    //帐号
    private  String orcact = NULLSTR;

    //代付参考号
    private  String dfdflg = NULLSTR;

    //清算模式
    private  String liqtyp = NULLSTR;

    //static lable value
    private  String clmlab = NULLSTR;

    //清算代理行
    private  String cleage = NULLSTR;

    //光大开户分行
    private  String evebch = NULLSTR;

    //清算代理行帐号
    private  String coract = NULLSTR;

    //二代模式
    private  String secmod = NULLSTR;

    //static
    private  String chklab = NULLSTR;

    //static text
    private  String seclab = NULLSTR;

    //收款人开户行行号
    private  String pyebchkey = NULLSTR;

    //附言
    private  String fecomm = NULLSTR;

    //收款人开户行名称
    private  String pyebchnam = NULLSTR;
    //收款人开户行地址
    private  String pyebchadr = NULLSTR;

    //标志计数器
    private  int flgcnt;

    //SWIFT TYPE
    private  String swftyp = NULLSTR;

    //初始业务种类
    private  String oribustyp = NULLSTR;

    //自M区备注label
    private  String commetlab = NULLSTR;

    //自M区备注
    private  String comsystbl = NULLSTR;

    //收款J接参与者名称
    private  String reconebchnam = NULLSTR;

    //保存J接参与者行号
    private  IStream bchstream1 = new StreamImpl();

    //预计核验日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date prechkdat;

    //是否需要核验
    private  String ischktyp = NULLSTR;

    //清算F用锁定服务
    private  String qsfysd = NULLSTR;

    //服务提供银行
    private  String fwtgyh = NULLSTR;

    //付款人常驻国家/地区代码
    private  String draweecountcode = NULLSTR;

    //收款人常驻国家/地区代码
    private  String payeecountcode = NULLSTR;

    //Uetr
    private  String uetr = NULLSTR;

    //openuetr
    private  String openuetr = NULLSTR;

    //ISOMSGTYP
    private  String isomsgtyp = NULLSTR;

    //备案表手工金额检查
    private  String manbab = NULLSTR;

    // 跨境电商使用
    // 第三方支付机构流水号(中台流水号)
    private String wyilsh = NULLSTR;

    // 汇款人账户性质
    private String acctyp = NULLSTR;

    // 业务种类
    private String bustyp2 = NULLSTR;

    //收款人名称
    private  String pyenam2 = NULLSTR;

    //收款人地址
    private  String pyeadr2 = NULLSTR;

    //付款人名称
    private  String orcnam2 = NULLSTR;

    //付款人地址
    private  String orcadr2 = NULLSTR;

    //接收行行号
    private  String resbch2 = NULLSTR;

    //接收行名称
    private  String resbchnam2 = NULLSTR;

    //附言
    private  String commet2 = NULLSTR;

    // 收款非银行支付机构账号
    private String skfyzh = NULLSTR;
}
