
package com.tmerclub.cloud.order.constant;

import java.util.Objects;

/**
 * 地区层级
 *
 * @author cl
 */
public enum PurchasesStatusEnum {


    /**
     * 已作废
     */
    VOIDED(0, "已作废"),

    /**
     * 待发货
     */
    WAIT_STOCK(1, "待发货"),

    /**
     * 待收货-待入库
     */
    DELIVERY(2, "待收货"),

    /**
     * 部分入库
     */
    PARTIALLY_STOCK(3, "部分入库"),

    /**
     * 没有付款.待付款
     */
    UNPAY(4, "待付款"),

    /**
     * 已完成
     */
    COMPLETION(5, "已完成"),

    /**
     * 待审核
     */
    WAITAUDIT(6, "待审核");

    private final Integer num;
    private final String stationName;

    public Integer value() {
        return num;
    }

    public String stationName() {
        return stationName;
    }

    PurchasesStatusEnum(Integer num, String stationName) {
        this.num = num;
        this.stationName = stationName;
    }

    public static PurchasesStatusEnum instance(Integer value) {
        PurchasesStatusEnum[] enums = values();
        for (PurchasesStatusEnum statusEnum : enums) {
            if (statusEnum.value().equals(value)) {
                return statusEnum;
            }
        }
        return null;
    }

    public static String getStatusName(Integer value) {
        PurchasesStatusEnum[] enums = values();
        for (PurchasesStatusEnum statusEnum : enums) {
            if (statusEnum.value().equals(value)) {
                return statusEnum.stationName;
            }
        }
        return null;
    }

    /**
     * 未发货
     * @param value
     * @return
     */
    public static boolean unDelivery(Integer value) {
        if (Objects.equals(value,UNPAY.num) || Objects.equals(value, WAITAUDIT.value()) || Objects.equals(value, WAIT_STOCK.value())) {
            return true;
        }
        return false;
    }
}
