package com.brilliance.isc.common.limmod.vo;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.mda.support.jakson.serialize.BigDecimalSerializeRate;
import com.brilliance.mda.support.jakson.serialize.DecimalLength;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import io.swagger.annotations.ApiModel;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

import static com.brilliance.mda.runtime.mda.Constants.NULLSTR;


@Data
@ApiModel
public class LmegrdVo {

    //可否串用

    private  String flg = NULLSTR;
    //额度类型

    private  String limtyp = NULLSTR;
    //cecm授信方式

    private  String cecmsx = NULLSTR;
    //入帐机构

    private  String ruzhjg = NULLSTR;
    //额度编号

    private  String limref = NULLSTR;
    //综合授信协议编号

    private  String zzsxbh = NULLSTR;
    //�'� 款 性�'�

    private  String daikxz = NULLSTR;
    //额度币种

    private  String limcur = NULLSTR;
    //授信总额度
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private BigDecimal limamt = Decimals.ZERO_SCALE2;
    //总占用额度
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal lsbamt = Decimals.ZERO_SCALE2;
    //授信总敞口
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal ballsbamt = Decimals.ZERO_SCALE2;
    //总占用敞口
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal uselsbamt = Decimals.ZERO_SCALE2;
    //额度状态

    private  String limsta = NULLSTR;
    //额度生效日期

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private Date valdat;
    //额度到期日

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date enddat;
    //是否低风险

    private  String bfx = NULLSTR;
    //担保方式

    private  String guatyp = NULLSTR;
    //担保方式子类

    private  String guaval = NULLSTR;
    //额度明细编号

    private  String infref = NULLSTR;
    //额度品种代码

    private  String limcod = NULLSTR;
    //授信品种�'明

    private  String remark = NULLSTR;
    //额度明细币种

    private  String cur = NULLSTR;
    //产品授信额度
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal cpsxed = Decimals.ZERO_SCALE2;
    //产品可用额度
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal balamt = Decimals.ZERO_SCALE2;
    //产品已用额度
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal useamt = Decimals.ZERO_SCALE2;
    //产品授信敞口
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal cpsxck = Decimals.ZERO_SCALE2;
    //产品可用敞口
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal cpkyck = Decimals.ZERO_SCALE2;
    //产品已用敞口
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal cpyyck = Decimals.ZERO_SCALE2;
    //表外规模上限当前值
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal lbwamt = Decimals.ZERO_SCALE2;
    //表外规模上限可用值
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal lbwamt1 = Decimals.ZERO_SCALE2;
    //表外规模上限已用值
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(value = 2)
    private  BigDecimal lbwamt2 = Decimals.ZERO_SCALE2;
    //额度产品状态

    private  String lcpsta = NULLSTR;
    //是否可循环

    private  String bxh = NULLSTR;
    //是否可串用

    private  String bcy = NULLSTR;
    //串用�'明

    private  String cyremark = NULLSTR;
    //保证金比例

    private  String ccvpct = NULLSTR;
    //产品额度生效日期

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date credat;
    //产品额度到期日

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date matdat;
    //是否冻结

    private  String bdj = NULLSTR;
    //冻结日期

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date dondat;
    //是否终止

    private  String bzz = NULLSTR;
    //终止日期

    @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
    private  Date zhzdat;
    //�'露分类

    private  String fentyp = NULLSTR;
    //�'露分类�'明

    private  String fentxt = NULLSTR;
    //顺序号
    private  int shxh;
    //额度品种代码

    private  String limcodsave = NULLSTR;



    public void reset() {

    }
}
