package com.yuchen.saas.park.api.vo.property;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.thinkunion.park.service.common.utils.AmtUtil;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 收银台首页信息
 */
@Data
public class PropertyCashDeskInfoVo {

    @JsonIgnore
    private long prepaymentAmtFen;
    /**
     * 预存余额
     */
    private BigDecimal prepaymentAmt;

    public BigDecimal getPrepaymentAmt() {
        return AmtUtil.fenToYuan(this.prepaymentAmtFen);
    }

    @JsonIgnore
    private long depositAmtFen;
    /**
     * 押金余额
     */
    private BigDecimal depositAmt;

    public BigDecimal getDepositAmt() {
        return AmtUtil.fenToYuan(this.depositAmtFen);
    }

    @JsonIgnore
    private long totalArrearsAmtFen;
    /**
     * 当前欠费总额
     * 欠费状态账单，noPayAmtFen
     */
    private BigDecimal totalArrearsAmt;
    public BigDecimal getTotalArrearsAmt() {
        return AmtUtil.fenToYuan(this.totalArrearsAmtFen);
    }

    @JsonIgnore
    private long totalReceivableAmtFen;
    /**
     * 合计应收金额
     */
    private BigDecimal totalReceivableAmt;
    public BigDecimal getTotalReceivableAmt() {
        return AmtUtil.fenToYuan(this.totalReceivableAmtFen);
    }

    @JsonIgnore
    private long totalDirectReductionAmtFen;
    /**
     * 账单减免合计
     */
    private BigDecimal totalDirectReductionAmt;
    public BigDecimal getTotalDirectReductionAmt() {
        return AmtUtil.fenToYuan(this.totalDirectReductionAmtFen);
    }


    @JsonIgnore
    private long totalNoPayAmtFen ;
    /**
     * 未收合计 (合计应缴金额)
     */
    private BigDecimal totalNoPayAmt;
    public BigDecimal getTotalNoPayAmt() {
        return AmtUtil.fenToYuan(this.totalNoPayAmtFen);
    }

    @JsonIgnore
    private long totalBreachAmtFen;
    /**
     * 滞纳金合计
     */
    private BigDecimal totalBreachAmt;
    public BigDecimal getTotalBreachAmt() {
        return AmtUtil.fenToYuan(this.totalBreachAmtFen);
    }


    @JsonIgnore
    private long totalReductionBreachAmtFen;
    /**
     * 滞纳金减免合计
     */
    private BigDecimal totalReductionBreachAmt;
    public BigDecimal getTotalReductionBreachAmt() {
        return AmtUtil.fenToYuan(this.totalReductionBreachAmtFen);
    }

    @JsonIgnore
    private long totalReadjustAmtFen;
    /**
     * 费用调整合计
     */
    private BigDecimal totalReadjustAmt;
    public BigDecimal getTotalReadjustAmt() {
        return AmtUtil.fenToYuan(this.totalReadjustAmtFen);
    }



}
