package com.dxhy.common.enums;

import java.util.HashMap;
import java.util.Map;

/**
 * 发票状态
 * 
 * @author jiaohongyang
 * @date 2019年4月25日
 * 
 */
public enum FpztEnum {

    /**
     * 正常状态代码
     */
    ZC("0", 1),
    /**
     * 失控状态代码
     */
    SK("1", 2),
    /**
     * 作废状态代码
     */
    ZF("2", 3),
    /**
     * 红冲状态代码
     */
    HC("3", 4),
    /**
     * 异常状态代码
     */
    YC("4", 5),
    /**
     * 部分冲红代码
     */
    BFNC("7", 6),
    /**
     * 全额红冲状态代码
     */
    QEHC("8", 7),
    /**
     * 红字发票待确认异常状态代码
     */
    HZDQR("80", 8);

    private final String[] FPZTMC = {"正常", "失控", "作废", "红冲", "异常","部分冲红","全额红冲","红字发票待确认"};

    private String fpztDm;
    private int index;

    FpztEnum(String fpztDm, int index) {
        this.fpztDm = fpztDm;
        this.index = index;
    }

    public String getFpztDm(int index) {
        for (FpztEnum fpzt : FpztEnum.values()) {
            if (fpzt.getIndex() == index) {
                return fpzt.fpztDm;
            }
        }
        return null;
    }

    public String getFpztMc(int index) {
        int length = FPZTMC.length;
        if (index <= length) {
            return FPZTMC[index - 1];
        }
        return null;
    }

    /**
     * 枚举放入map中，便于取用
     * 
     */
    public static Map<String, String> getEnumMap() {
        Map<String, String> enumMap = new HashMap<>(16);
        for (FpztEnum en : FpztEnum.values()) {
            enumMap.put(en.getFpztDm(), en.getFpztMc(en.getIndex()));
        }
        return enumMap;
    }

    public String getFpztDm() {
        return fpztDm;
    }

    public void setFpztDm(String fpztDm) {
        this.fpztDm = fpztDm;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }
}
