package com.boco.nbd.wios.flow.enums;

import cn.hutool.core.util.EnumUtil;
import com.boco.nbd.wios.manage.entity.cams.enums.UploadFileType;

/**
 * @author:cao hai
 * @date:2022/8/19 12:51
 * @version:V1.0
 * @description: OrderTypeEnum
 * @modify:
 */
public enum OrderInfoEnum {

    /**
     * 工单信息类型 0 勘测 1 安装 2 基本
     */
    SURVEY_INFO(1), INSTALL_INFO(2), BASE_INFO(0);

    OrderInfoEnum(Integer key) {
        this.key = key;
    }

    public Integer getKey() {
        return key;
    }

    public void setKey(Integer key) {
        this.key = key;
    }

    /**
     * 枚举
     */
    private Integer key;

    /**
     * 获取类型
     *
     * @param type
     * @return
     */
    public static OrderInfoEnum getEnum(Integer type) {
        if (type == null) {
            return OrderInfoEnum.BASE_INFO;
        }
        OrderInfoEnum infoEnum = EnumUtil.likeValueOf(OrderInfoEnum.class, type);
        if (infoEnum == null) {
            infoEnum = OrderInfoEnum.BASE_INFO;
        }
        return infoEnum;
    }

    /**
     * 获取附件类型
     *
     * @param orderInfoEnum
     * @return
     */
    public static UploadFileType getUploadFileType(OrderInfoEnum orderInfoEnum) {
        if (orderInfoEnum == null) {
            return UploadFileType.ORDER;
        }
        switch (orderInfoEnum) {
            case SURVEY_INFO:
                return UploadFileType.SURVEY_ORDER;
            case INSTALL_INFO:
                return UploadFileType.INSTALL_ORDER;
            default:
                return UploadFileType.ORDER;
        }
    }

}