package com.brilliance.isc.common.vo;

import com.brilliance.isc.vo.component.bptbck.BptbckVo;
import com.brilliance.isc.vo.component.dftcre.DftcreVo;
import com.brilliance.isc.vo.component.trtcre.TrtcreVo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.util.Date;

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

@JsonIgnoreProperties(ignoreUnknown = true)
@Data
public class BizInfoVo extends AbstractCommonVo {
    /**
     * rec的inr
     */
    protected String objinr = NULLSTR;
    protected String objtyp = NULLSTR;
    /**
     * 业务编号
     */
    protected String ownref = NULLSTR;
    protected String pntref = NULLSTR;
    protected String nam = NULLSTR;
    protected String branchInr = NULLSTR;
    protected String bchkeyinr = NULLSTR;
    protected String chato = NULLSTR;
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    protected Date opndat = null;
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    protected Date expdat = null;
    //commission费用业务效期
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    protected Date dat2dft = null;
    /**
     * <p>以下字段都属于业务表字段，但是目前找不到具体交易业务
     * 以后做交易碰到的话在剥离到子业务类
     * <p/>
     */
    /**
     * 属于MCT交易特有字段
     */
    protected String subref = NULLSTR;
    /**
     * \\REC\\MATDAT
      */
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    protected Date matdat = null;
    /**
     * \REC\DOCTYP
     */
    protected String doctyp = NULLSTR;
    /**
     * \REC\DOCTYPCOD
     */
    protected String doctypcod = NULLSTR;
    /**
     * \REC\DOCFLG
     */
    protected String docflg = NULLSTR;
    /**
     * \REC\\PNTTYP
     */
    protected String pnttyp = NULLSTR;
    protected String pntinr = NULLSTR;

    /**
     * \Xxtffe\\umbflg
     */
    protected String umbflg;

    //报文类型
    protected String swftyp;

    //同业代付 某些交易定制化功能，不属于通用组件，因此放在Bizinfo里面给通用组件使用
    //cptopn brtset bdtset bctset bptopn
    protected DftcreVo dftcreVo;

    //融资组件 某些交易定制化功能，不属于通用组件，因此放在Bizinfo里面给通用组件使用
    //cptopn brtset bdtset bctset
    protected TrtcreVo trtcreVo;

    //融资还款组件 某些交易定制化功能，不属于通用组件，因此放在Bizinfo里面给通用组件使用
    //betset bftset botset
    protected BptbckVo bptbckVo;

    //企业名录可见标识
    protected String entmodVisflg;

    private String gidinr;

    /**
     * \Xxtffe\\umsmsgflg
     */
    private String umsmsgflg;

    /**
     * \Xxtffe\\umhmsgflg
     */
    private String umhmsgflg;

    /**
     * \Xxtffe\\umhrol
     */
    private String umhrol;

    /**
     * \Xxtffe\\umsrol
     */
    private String umsrol;

    @Override
    public void reset() {

    }
}
