package com.brilliance.isc.bo.model;

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 CheckItems extends AbstractCommonVo {
    //当前交易码
    private String transName = NULLSTR;
    //申报类型
    private String szflg = NULLSTR;
    //基础数据
    private String basflg = NULLSTR;
    //申报数据
    private String dclflg = NULLSTR;
    //管理数据
    private String vrfflg = NULLSTR;
    //款项来源
    private String acttyp;
    //银行业务编号
    private String buscode ;
    //Bas操作类型
    private String basactiontype ;
    //Dcl操作类型
    private String dclactiontype ;
    //Vrf操作类型
    private String vrfactiontype ;
    //主体标识码
    private String custcod ;
    //收入款币种
    private String txccy ;
    //结汇汇率
    private BigDecimal exrate  = new BigDecimal("0.00");
    //外汇帐号/银行卡号
    private String fcyacc ;
    //现汇金额
    private BigDecimal fcyamt  = new BigDecimal("0.00");
    //个人身份证件号码
    private String idcode ;
    //人民币帐号/银行卡号
    private String lcyacc ;
    //结汇金额
    private BigDecimal lcyamt  = new BigDecimal("0.00");
    //付款人名称
    private String oppuser ;
    //其它帐号/银行卡号
    private String othacc ;
    //其它金额
    private BigDecimal othamt  = new BigDecimal("0.00");
    //收入款金额
    private BigDecimal txamt  = new BigDecimal("0.00");
    //Initial Entity Code
    private String ownextkey ;
    //修改/删除原因
    private String basactiondesc ;
    //申报号码
    private String rptno ;
    //结算方式
    private String method ;
    //收款人名称
    private String custnm ;
    //收款人类型
    private String custype ;
    //付款人常驻国家/地区编码
    private String country ;
    //dcl-填报人
    private String dclcrtuser ;
    //dcl-填报人电话
    private String dclinptelc ;
    //vrf-填报人
    private String vrfcrtuser ;
    //vrf-填报人电话
    private String vrfinptelc ;
    //Dcl是否出口核销项下收汇
    private String dclisref ;
    //vrf是否出口核销项下收汇
    private String vrfisref ;
    //收款性质
    private String paytype ;
    //dcl申报日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date dclrptdate;
    //vrf申报日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date vrfrptdate;
    //相应金额1
    private BigDecimal tc1amt  = new BigDecimal("0.00");
    //相应金额2
    private BigDecimal tc2amt  = new BigDecimal("0.00");
    //交易附言2
    private String tx2rem ;
    //交易编码1
    private String txcode ;
    //交易编码2
    private String txcode2 ;
    //交易附言1
    private String txrem ;
    //修改/删除原因
    private String dclactiondesc ;
    //修改/删除原因
    private String vrfactiondesc ;
    //交易类型 从ctlmod里取值
    private String dectyp;
    //收入类型
    private String payattr ;
    //国内银行扣�'�币种
    private String inchargeccy;
    //国内银行扣�'�金额
    private BigDecimal inchargeamt  = new BigDecimal("0.00");
    //外汇局批件/备案表号 vrf
    private String regno ;
    //国外银行扣�'�币种
    private String outchargeccy ;
    //国外银行扣�'�金额
    private BigDecimal outchargeamt  = new BigDecimal("0.00");
    //外债编号涉外收入申报单独有 dcl
    private String billno ;
    //交易对应的申报交易类型dba dbb dbc
    private String bopobjtyp;
    //合同号
    private String contrno;
    //发票号
    private String invoino;
    //收款人账号
    private String oppacc;
    //实际付款币种
    private String actuccy ;
    //实际付款金额
    private BigDecimal actuamt;
    //信用证/保函编号
    private String lcbgno ;
    //开证日期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date issdate;
    //资本项目数字化
    private String zbxmszh;
}
