package com.brilliance.isc.common.transaction.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.brilliance.isc.common.liaccv.vo.LiaccvAcctVo;
import com.brilliance.isc.common.vo.AbstractCommonVo;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

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

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

    //金额币种
    private String concur;

    //合同金额
    private BigDecimal newamt = BigDecimal.ZERO;

    //保留金额
    private BigDecimal newresamt = BigDecimal.ZERO;

    //应付金额
    private BigDecimal pctresamt = BigDecimal.ZERO;

    //应收比例
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal cshpct = BigDecimal.ZERO;

    //实收比例
    @JsonSerialize(using = BigDecimalSerializeRate.class)
    @DecimalLength(6)
    private BigDecimal relcshpct = BigDecimal.ZERO;

    //折算金额总和
    private BigDecimal totcovamt = BigDecimal.ZERO;

    //附加信息
    private String addinf;

    private String oldredflg = NULLSTR;

    //是否过账
    private String gleflg;

    private BigDecimal oldresamt = Decimals.ZERO_SCALE2;

    private BigDecimal chgresamt = Decimals.ZERO_SCALE2;

    private String macold = "";

    private String objmodpath = "";

    private String oldcur = "";

    private BigDecimal oldamt = Decimals.ZERO_SCALE2;

    private BigDecimal chgamt = Decimals.ZERO_SCALE2;

    /**
     *  增加保证金按钮
     */
    private String addbut = "N";

    /**
     * 记账按钮
     */
    private String glebut = "N";

    /**
     * 保证金对账列表
     */
    private List<LiaccvAcctVo> accountlist = null;

    /**
     * cbe 列表
     */
    private String cbeListJson = "";

}
