package com.brilliance.isc.bo;

import com.brilliance.isc.common.vo.AbstractCommonVo;
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.NULLDATE;
import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;

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

    //INR of BC-contract
    private String inr = NULLSTR;

    //resp.usr
    private String ownusr = NULLSTR;

    //Our Reference
    private String ownref = NULLSTR;

    //Name of CC contract
    private String nam = NULLSTR;

    //Correnspondent Party
    private String corptyinr = NULLSTR;

    //Correspondent Address
    private String corptainr = NULLSTR;

    //Correspondent
    private String cornam = NULLSTR;

    //Correspondent's  Reference
    private String corref = NULLSTR;

    //NOSTRO Bank Party
    private String nobptyinr = NULLSTR;

    //NOSTRO Bank  Address
    private String nobptainr = NULLSTR;

    //NOSTRO Bank
    private String nobnam = NULLSTR;

    //NOSTRO Bank's  Reference
    private String nobref = NULLSTR;

    //Drawn on Bank Party
    private String droptyinr = NULLSTR;

    //Drawn on Bank Address
    private String droptainr = NULLSTR;

    //Drawn on Bank
    private String dronam = NULLSTR;

    //Drawn on Bank Reference
    private String droref = NULLSTR;

    //Pres.  Party
    private String preptyinr = NULLSTR;

    //Pres.  Address
    private String preptainr = NULLSTR;

    //Presenter
    private String prenam = NULLSTR;

    //Pres.'s  Reference
    private String preref = NULLSTR;

    //Date of Draft
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date chkdat = NULLDATE;

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

    //Date closed
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date clsdat = NULLDATE;

    //Date of Payment
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date paydat = NULLDATE;

    //Opening Date
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date opndat = NULLDATE;

    //Country Code
    private String stacty = NULLSTR;

    //Goods Code
    private String ngrcod = NULLSTR;

    //Display infotext
    private String infdsp = NULLSTR;

    //Form of Clean Collection
    private String ccform = NULLSTR;

    //pay under reserve flag
    private String purflg = NULLSTR;

    //Mode of settlement
    private String modset = NULLSTR;

    //Type of Check
    private String tocsel = NULLSTR;

    //Branch reference no
    private String brchref = NULLSTR;

    //Check Number
    private String chcknum = NULLSTR;

    //Collecting Bank ref no.
    private String colref = NULLSTR;

    //Collecting Bank Name
    private String colnam = NULLSTR;

    //Collecting Party
    private String colptyinr = NULLSTR;

    //Collecting bank Address
    private String colptainr = NULLSTR;

    //Batch No.
    private String rptbtchno = NULLSTR;

    //BRANCHINR KEY
    private String bchkeyinr = NULLSTR;

    //BRANCHINR
    private String branchinr = NULLSTR;

    //Verification Certificate Number
    private String vercerref = NULLSTR;

    //Declaration Number
    private String decnum = NULLSTR;

    //TYPE OF PRESENTER
    private String pretyp = NULLSTR;

    //PROCESS PAYMENT
    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date prodat = NULLDATE;

    //Register Ref.
    private String regref = NULLSTR;

    //VERSION
    private String ver = NULLSTR;

    //Free of Payment Flag
    private String frepayflg = NULLSTR;

    //Entity holding Contract
    private String etyextkey = NULLSTR;

    //交易对手名称
    private String oppnam = NULLSTR;
}
