package com.brilliance.isc.bo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.json.BigDecimalSerialize;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
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:lsb:LSB - Limit System Balance
*/
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class Lge {

        private String inr = NULLSTR;

        //Object Type
        private String objtyp = NULLSTR;

        //Object INR
        private String objinr = NULLSTR;

        //INR of LGO Record
        private String lgoinr = NULLSTR;

        //External ID of Guarantee Limit
        private String extid = NULLSTR;

        //Currency
        private String cur = NULLSTR;

        //Amount
        @JsonSerialize(using = BigDecimalSerialize.class)
        private  BigDecimal amt  = Decimals.ZERO_SCALE3;

        //Currency of Converted Amount
        private String xrfcur = NULLSTR;

        //Converted Balance
        @JsonSerialize(using = BigDecimalSerialize.class)
        private  BigDecimal xrfamt  = Decimals.ZERO_SCALE3;

        //Signature Status
        private String lgeflg = NULLSTR;

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

        //Version
        private String ver = NULLSTR;

}