package com.brilliance.isc.common.rmbbop.entity;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.rmbbop.common.IAds;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Getter;
import lombok.Setter;

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;


/**
 * TABLE:tdm:资金划转业务信息
 */
@JsonIgnoreProperties(ignoreUnknown = true)
@Getter
@Setter
public class Tdm extends AbstractCommonVo implements IAds {

    //Internal Unique ID
    private String inr = NULLSTR;

    //Version
    private String ver = NULLSTR;

    //人行报送状态
    private String sta = NULLSTR;

    //业务主键
    private String levyno = NULLSTR;

    //操作类型
    private String opertype = NULLSTR;

    //变'/撤销原因
    private String actiondesc = NULLSTR;

    //资金划转关系
    private String amttransrelation = NULLSTR;

    //报送机构代码
    private String leorgcode = NULLSTR;

    //资金划转类型
    private String amttranstype = NULLSTR;

    //付款行机构代码
    private String payerbkorgcode = NULLSTR;

    //付款行机构名称
    private String payerbkorgname = NULLSTR;

    //付款行国家（地区）代码
    private String payerbkcountrycode = NULLSTR;

    //付款人代码
    private String payerswiftbic = NULLSTR;

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

    //付款人�'�号
    private String payerbicbkacct = NULLSTR;

    //付款人国家（地区）代码
    private String payercountrycode = NULLSTR;

    //收款行机构代码
    private String payeebkorgcode = NULLSTR;

    //收款行机构名称
    private String payeebkorgname = NULLSTR;

    //收款行国家（地区）代码
    private String payeebkcountrycode = NULLSTR;

    //收款人代码
    private String payeeswiftbic = NULLSTR;

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

    //收款人�'�号
    private String payeebicbkacct = NULLSTR;

    //收款人国家（地区）代码
    private String payeecountrycode = NULLSTR;

    //收付款币种
    private String paymentcurrencycode = NULLSTR;

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

    //收付款金额
    private BigDecimal paymentamt = Decimals.ZERO_SCALE3;

    //划转用途
    private String amttranspurpose = NULLSTR;

    //银行业务编号
    private String banktrano = NULLSTR;

    //交易附言
    private String addword = NULLSTR;

    //业务种类代码
    private String bustypecode = NULLSTR;

    //Initial Entity Code
    private String ownextkey = NULLSTR;

    //银行机构名称
    private String sbankname = NULLSTR;


}