package com.brilliance.isc.bo;

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;


/**
* TABLE:fcd:FCD - Forward Contract Data
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Fcd {

        //Internal Unique ID of FC Contract
        private String inr = NULLSTR;

        //Our Reference
        private String ownref = NULLSTR;

        //Name of FC Contract
        private String nam = NULLSTR;

        //Responsible User
        private String ownusr = NULLSTR;

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

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

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

        //Drawer Party
        private String aplptyinr = NULLSTR;

        //Drawer Address
        private String aplptainr = NULLSTR;

        //Drawer
        private String aplnam = NULLSTR;

        //Drawer Reference
        private String aplref = NULLSTR;

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

        //Version Counter
        private String ver = NULLSTR;

        //Target Currency
        private String acccur = NULLSTR;

        //Contract Rate
        private  BigDecimal dcbextrat  = Decimals.ZERO_SCALE6;

        //Target Rate
        private  BigDecimal scbextrat  = Decimals.ZERO_SCALE6;

        //Cross Rate
        private  BigDecimal rat  = Decimals.ZERO_SCALE6;

        //Engagement account
        private String engact = NULLSTR;

        //The branch do the transction
        private String bchkeyinr = NULLSTR;

        //currency
        private String cur = NULLSTR;

        //balance valid in periode
        private  BigDecimal amt  = Decimals.ZERO_SCALE2;

        //External key used to uniquely identify a party
        private String extkey = NULLSTR;

        //release flag
        private String relflg = NULLSTR;

        //use flag
        private String useflg = NULLSTR;

        //collect reason
        private String reason = NULLSTR;

        //是否过帐
        private String gleflg = NULLSTR;

        //Register Ref.
        private String regref = NULLSTR;

        //BRANCHINR
        private String branchinr = NULLSTR;

        //Extend Account
        private String extact = NULLSTR;

        //TERM TYPE
        private String trmtyp = NULLSTR;

        //对方�'�币
        private String othcur = NULLSTR;

        //对方�'�币金额
        private  BigDecimal othamt  = Decimals.ZERO_SCALE2;

        //Type
        private String fcdtyp = NULLSTR;

        //Object Type
        private String pnttyp = NULLSTR;

        //Object INR
        private String pntinr = NULLSTR;
}