package com.brilliance.isc.bo;

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;


/**
* TABLE:pte: 
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Pte {

        //Internal Unique ID of Engagement
        private String inr = NULLSTR;

        //Object Type Always PTS
        private String objtyp = NULLSTR;

        //INR of PTS Entry
        private String objinr = NULLSTR;

        //Sub ID to Identify Multiple PTE per PTS
        private String subid = NULLSTR;

        //Type of Engagement
        private String cbtpfx = NULLSTR;

        //Liability Group
        private String grpkey = NULLSTR;

        //External Entry ID within Object
        private String extid = NULLSTR;

        //Party for Liability
        private String liaptyinr = NULLSTR;

        //Address for Liability
        private String liaptainr = NULLSTR;

        //INR of PTS of Party Credited Optional
        private String cdtptsinr = NULLSTR;

        //Reference
        private String ownref = NULLSTR;

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

        //Fee to be Calulated Optional
        private String feeinr = NULLSTR;

        //Settle from Incl. for Fee Calculation
        @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
        private Date begdat = NULLDATE;

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

        //Settled until Excluded for Fee Calculation
        @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
        private Date setdat = NULLDATE;

        //Next Commission Due for Fee Calculation
        @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
        private Date nxtcomdat = NULLDATE;

        //Role to Pay Fees for Fee Calculation
        private String rolpay = NULLSTR;

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

        //Type of Cover Optional
        private String covtyp = NULLSTR;

        //Percent of Assignment only for Assignments
        private  int prc ;

        //Amount Flag only for Assignments
        private String amtflg = NULLSTR;

        //Version Counter
        private String ver = NULLSTR;

        //Comments for Assignee only for Assignments
        private String asgtxt = NULLSTR;

        //Comments for Assignees Bank only for Assignments
        private String asbtxt = NULLSTR;

        //Maximum tenor in days
        private  int tenday ;
}