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:dia:DIA - Diary
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Dia {

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

        //Responsible Group
        private String ownusg = NULLSTR;

        //Responsible User
        private String ownusr = NULLSTR;

        //Contract Type Optional
        private String objtyp = NULLSTR;

        //Contract INR Optional
        private String objinr = NULLSTR;

        //Contract Own Reference Optional
        private String objref = NULLSTR;

        //Date of Diary
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
        private Date dat = NULLDATE;

        //Coded Reason
        private String cod = NULLSTR;

        //Name
        private String nam = NULLSTR;

        //Transaction to be Called
        private String frm = NULLSTR;

        //Info
        private String infdsp = NULLSTR;

        //Infotext
        private String inftxt = NULLSTR;

        //Entered by
        private String usr = NULLSTR;

        //Created by Object Type TRN
        private String cretyp = NULLSTR;

        //Created by INR
        private String creinr = NULLSTR;

        //Entry Done Nonspace = Entry Done
        private String donflg = NULLSTR;

        //Version Counter
        private String ver = NULLSTR;

        //Type of Diary
        private String diatyp = NULLSTR;

        //Sub ID of a Diary of equal Type
        private String subid = NULLSTR;

        //List of Modified Fields in TRNDIA
        private String fldmodblk = NULLSTR;

        //Subtype Optional, e.g. PTE
        private String subtyp = NULLSTR;

        //KEY of Subobject Optional, e.g. Tenor ID
        private String subkey = NULLSTR;

        //Entity holding Diary
        private String etyextkey = NULLSTR;

        //BCHKEYINR
        private String bchkeyinr = NULLSTR;

        //Memo Info.
        private String meminf = NULLSTR;

        //BRANCHINR
        private String branchinr = NULLSTR;

        //pty extkey
        private String ptyextkey = NULLSTR;

        //pty name
        private String ptynam = NULLSTR;

        //Pay CUR
        private String paycur = NULLSTR;

        //Pay AMT
        private  BigDecimal payamt  = Decimals.ZERO_SCALE2;

        //预计核验日期
        @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
        private Date prechkdat = NULLDATE;
}