package com.brilliance.isc.vo.funds;

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


/**
 * FxdVo:
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class FxdVo extends AbstractCommonVo {


    //Internal Unique ID of Import L/C
    private String inr = NULLSTR;

    //Reference
    private String ownref = NULLSTR;

    //Externally Displayed Name to Identify the Contract
    private String nam = NULLSTR;

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

    //Responsible User
    private String ownusr = NULLSTR;

    //Foreign Exchange Type
    private String fxtyp = NULLSTR;

    //Rate
    private BigDecimal rat = Decimals.ZERO_SCALE6;

    //Middle Rate
    private BigDecimal midrat = Decimals.ZERO_SCALE6;

    //Quote Reference
    private String quoref = NULLSTR;

    //Fund Department Reference
    private String fudref = NULLSTR;

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

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

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

    //Settlemt date from
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date setdatfrm = NULLDATE;

    //Settlement date to
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date setdatto = NULLDATE;

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

    //Version
    private String ver = NULLSTR;

    //Branch INR
    private String branchinr = NULLSTR;

    //Branch INR
    private String bchkeyinr = NULLSTR;

    //TRADE IN
    private String trdint = NULLSTR;

    //TRADE OUT
    private String trdout = NULLSTR;

    //交易主体
    private String trnman = NULLSTR;

    //Foreign Account
    private String acc = NULLSTR;

    //CNY Account
    private String acc2 = NULLSTR;

    //Clearing Department Responsible User
    private String usr = NULLSTR;

    //Disposition
    private String dsp = NULLSTR;

    //Disposition
    private String dsp2 = NULLSTR;

    //Cash cover percent
    private BigDecimal cshpct = Decimals.ZERO_SCALE2;

    //Rate
    private BigDecimal rat1 = Decimals.ZERO_SCALE6;

    //Account manager
    private String accmng = NULLSTR;

    //客户经理部门
    private String hdbch = NULLSTR;

    //Entity  KEY of Entry
    private String etyextkey = NULLSTR;


}