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:fcp: 
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Fcp {

        //Internal Unique ID of FCP Foreign Charges Pool
        private String inr = NULLSTR;

        //INR of Associated Temporary Settlement
        private String sepinr = NULLSTR;

        //Object Type
        private String objtyp = NULLSTR;

        //Object INR of FCP
        private String objinr = NULLSTR;

        //Modified
        private String modflg = NULLSTR;

        //Fee Currency
        private String cur = NULLSTR;

        //Fee Amount
        private  BigDecimal amt  = Decimals.ZERO_SCALE2;

        //Currency of Converted Amount Usually SYSCUR, Optional
        private String xrfcur = NULLSTR;

        //Converted Amount in XRFCUR, Optional
        private  BigDecimal xrfamt  = Decimals.ZERO_SCALE2;

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

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

        //Role of Party to be Credited
        private String payrol = NULLSTR;

        //INR of Party Paid to
        private String payptyinr = NULLSTR;

        //Foreign Expense Text Payee
        private String paytxt = NULLSTR;

        //Role of Party to be Debited
        private String dbtrol = NULLSTR;

        //INR of Party Debited with Foreign Fee
        private String dbtptyinr = NULLSTR;

        //Foreign Expense Text for Payer
        private String dbttxt = NULLSTR;

        //Transaction Advising the Fee if Set, Fee has been Advised
        private String advtrninr = NULLSTR;

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

        //Transaction Creating Entry Modification Date on Modifications
        private String srctrninr = NULLSTR;

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

        //Transaction Replaced the Entry if Set, the Fee has been Replaced and will not be Settled
        private String rpltrninr = NULLSTR;

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

        //Transaction Settling the Fee if Set, Fee has been Settled
        private String dontrninr = NULLSTR;

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