package org.linlinjava.jz.db.util;

import com.alibaba.druid.util.StringUtils;

/**
 * 工单类型
 * 工单类型分主类型和子类型（子类型是对主类型的补充说明
 * 主类型：0 新建 1 处理中 2 完成 3作废
 * 子类型 ：
 * 101 待处理   （保存到当前客服 等待自己进一步处理）
 * 102 工单升级  ；升级到其他技能组
 * 103 驳回 ；升级的工单，上级可以驳回
 * 104 撤回 ；已升级的工单，如果上一级为处理 可以自己撤回
 * 105 重新打开 ；已完成的工单 重新打开
 * <p>
 * 201 完成
 * <p>
 * 301 作废
 */
public class TicketStatusConstant {
    //主状态
    public static final Short STATUS_CREATE = 0;
    public static final Short STATUS_PROCESSING = 1;//处理中
    public static final Short STATUS_COMPLETED = 2;//已完成
    public static final Short STATUS_DELETED = 3;//作废-删除


    //子状态
    public static final Short STATUS_SUB_PENDING = 101;
    public static final Short STATUS_SUB_UPGRADE = 102;
    public static final Short STATUS_SUB_REJECTED = 103;
    public static final Short STATUS_SUB_REOPEN = 104;
    public static final Short STATUS_SUB_COMPLETED = 201;

    public static final Short STATUS_SUB_DELETED = 301;


    public static String getStatusStr(short status) {
        switch (status) {
            case 0:
                return "创建";
            case 1:
                return "处理中";
            case 2:
                return "已完成";
            case 3:
                return "作废";
            case 101:
                return "待处理";
            case 102:
                return "升级";
            case 103:
                return "驳回";
            case 104:
                return "重新打开";
            case 201:
                return "完成";
            case 301:
                return "";
        }

        return "";
    }

    public static String getStatusDes(short status, short status_sub) {
        String status_txt = getStatusStr(status);
        String status_sub_txt = getStatusStr(status_sub);

        if (StringUtils.isEmpty(status_txt)) {
            return null;
        }
        if (StringUtils.isEmpty(status_sub_txt)) {
            return status_txt;
        } else {
            return
                    status_txt + "-" + status_sub_txt;
        }

    }

}
