package com.brilliance.isc.vo.model;

import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.isc.common.json.BigDecimalSerialize;
import com.brilliance.isc.common.vo.AbstractCommonVo;
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 static com.brilliance.mda.runtime.mda.Constants.NULLSTR;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class DinmodVo extends AbstractCommonVo {

    //定价审批代码
    private String dinjdm = NULLSTR;
    //定价流?'号
    private String dinjls = NULLSTR;
    //OC客户代码
    private String ockhdm = NULLSTR;
    //核心客户代码
    private String hxkhdm = NULLSTR;
    //授信批复代码
    private String sxpfdm = NULLSTR;
    //合同号
    private String djhtno = NULLSTR;
    //授信类型
    private String sxlexi = NULLSTR;
    //审批状态
    private String spzhta = NULLSTR;
    //产品代码
    private String chapdm = NULLSTR;
    //?'?款金额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal dakaje = Decimals.ZERO_SCALE6;
    //币种
    private String bizhog = NULLSTR;
    //?'?款期限
    private long dakaqx;
    //期限单位
    private String qixndw = NULLSTR;
    //最大?'?款期限
    private long maxqix;
    //最小?'?款期限
    private long minqix;
    //最大?'?款金额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal maxdje = Decimals.ZERO_SCALE6;
    //最小?'?款金额
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal mindje = Decimals.ZERO_SCALE6;
    //显示标志
    private String visflg = NULLSTR;
    //产品名称
    private String chapmc = NULLSTR;
    //定价时基准
    @JsonFormat(pattern = "#0.00000000", shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal dinjlb = Decimals.ZERO_SCALE8;
    //审批时基准
    @JsonFormat(pattern = "#0.00000000", shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal sheplb = Decimals.ZERO_SCALE8;
    //最新基准
    @JsonFormat(pattern = "#0.00000000", shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal libor = Decimals.ZERO_SCALE8;
    //拟定价格标识
    private String ndjgbs = NULLSTR;
    //增值税税率
    @JsonFormat(pattern = "#.0000", shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal shuilv = Decimals.ZERO_SCALE4;
    //审批价格含税
    @JsonFormat(pattern = "#0.00000000", shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal shpjgh = Decimals.ZERO_SCALE8;
    //审批价格点差含税
    @JsonFormat(pattern = "#0.00000000", shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal shpdch = Decimals.ZERO_SCALE8;
    //审批价格不含税
    @JsonFormat(pattern = "#0.00000000", shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal shpijg = Decimals.ZERO_SCALE6;
    //审批价格点差不含税
    @JsonFormat(pattern = "#0.00000000", shape = JsonFormat.Shape.STRING)
    @JsonSerialize(using = BigDecimalSerialize.class)
    private BigDecimal spjgdc = Decimals.ZERO_SCALE8;
    //审批流程发起标识
    private String rmbsbs = NULLSTR;
    //基准利率规则
    private String jzllgz = NULLSTR;
    //市场LPR期限品种
    private String lprtyp = NULLSTR;
}
