package jnpf.model.certificate.vo;

import lombok.Data;

import java.math.BigDecimal;

/**
 * 门店自定义证照表格明细。
 */
@Data
public class CertificateStoreCustomStatusTableVO {

    private static final int STATUS_MISSING = 1;
    private static final int STATUS_NORMAL = 4;
    private static final int STATUS_NEAR_EXPIRE = 3;
    private static final int STATUS_EXPIRED = 2;


    /**
     * 门店ID。
     */
    private String storeId;

    /**
     * 门店名称。
     */
    private String storeName;

    /**
     * 证照总数。
     */
    private int totalCount;

    /**
     * 缺失数量。
     */
    private int missingCount;

    /**
     * 缺失占比。
     */
    private BigDecimal missingRatio = BigDecimal.ZERO;

    /**
     * 临期数量。
     */
    private int nearExpireCount;

    /**
     * 临期占比。
     */
    private BigDecimal nearExpireRatio = BigDecimal.ZERO;

    /**
     * 过期数量。
     */
    private int expiredCount;

    /**
     * 过期占比。
     */
    private BigDecimal expiredRatio = BigDecimal.ZERO;

    /**
     * 正常数量。
     */
    private int normalCount;

    /**
     * 正常占比。
     */
    private BigDecimal normalRatio = BigDecimal.ZERO;

    public void addStatusCount(int status, int count) {
        if (count <= 0) {
            return;
        }
        this.totalCount += count;
        if (status == STATUS_MISSING) {
            this.missingCount += count;
            return;
        }
        if (status == STATUS_NEAR_EXPIRE) {
            this.nearExpireCount += count;
            return;
        }
        if (status == STATUS_EXPIRED) {
            this.expiredCount += count;
            return;
        }
        if (status == STATUS_NORMAL) {
            this.normalCount += count;
        }
    }
}
