package com.sunda.spmsoversea.enums;

/**
 * @author waynewu
 */

public enum OverseaWhsDumpEnum {
    /** 海外SPMS转储单据状态:
     * 0删除；
     * 1草稿；
     * 2待审批；
     * 3SPMS审批通过(提交OA);
     * 4OA驳回(操作同1);
     * 5OA审批通过(出库中);
     * 6出库完成(待获取PO);
     * 7提交SAP获取PO或DN失败;
     * 8提交SAP获取PO(待获取DN);（不使用 2023-08-07 xzp）
     * 9提交SAP获取DN失败; （不使用 2023-08-07 xzp）
     * 10提交SAP获取DN成功(扣转出方库存);
     * 11转出已撤销(撤到状态5出库中，SAP撤回成功则加回库存);
     * 12获取SAP PO中;（增加 2023-08-07 xzp）
     * */
    WHS_DUMP_DELETE("0", "删除", "Delete.", "удалить."),
    WHS_DUMP_SAVE("1", "保存", "Draft.", "Сохранить."),
    WHS_DUMP_PENDING("2", "待审批", "Pending Approval.", "В ожидании."),
    WHS_DUMP_SUBMIT_OA("3", "提交OA成功", "Submit OA Success.", "Успешное представление OA."),
    WHS_DUMP_OA_REJECT("4", "OA驳回", "OA Reject.", "OA Отклонено."),
    WHS_DUMP_OA_APPROVE("5", "OA审批通过/出库中", "OA Approved/In Delivery.", "Одобрено ОА/Из хранилища."),
    WHS_DUMP_DELIVERY("6", "出库完成", "Delivery Complete.", "Выход из библиотеки завершен."),
    WHS_DUMP_PO_ERROR("7", "提交SAP获取PO或DN失败", "Get Purchase Order OR Delivery Note Error.", "Ошибка отправки SAP для получения PO или DN."),
    WHS_DUMP_PO("8", "提交SAP获取PO成功", "Get Purchase Order Success.", "Отправить SAP для PO успеха."),
    WHS_DUMP_DN_ERROR("9", "提交SAP获取DN失败", "Get Delivery Note Error.", "Ошибка отправки SAP для получения DN."),
    WHS_DUMP_DN("10", "提交SAP获取DN成功", "Get Delivery Note Success.", "Отправка SAP для успешного DN."),
    WHS_DUMP_CANCEL("11", "已撤销", "Cancel.", "Отозван."),
    WHS_DUMP_PO_ING("12", "获取SAP PO中", "Geting Purchase Order", "Скачать SAP PO."),
    WHS_DUMP_CANCEL_TO5("5", "撤销到OA审批通过/出库中", "Cancel To OA Approved/In Delivery.", "Отзыв в OA Одобрение/Выход из библиотеки."),
    WHS_DUMP_CANCEL_TO1("1", "撤销到保存状态", "Cancel To Save.", "Отменить до состояния сохранения."),
    WHS_DUMP_CANCEL_ERROR("99", "撤销失败", "Cancel Error.", "Ошибка отмены."),
    WHS_DUMP_CANCEL_CREATE("98", "创建转储任务", "Create.", "Создание задачи дампа."),
    WHS_DUMP_SUBMIT_OA_ERROR("97", "提交OA失败", "Submit OA Error.", "Ошибка подачи OA."),
    WHS_DUMP_UPDATE("96", "更新", "Update.", "Обновление."),
    WHS_DUMP_MDM_ERROR("12", "推送工厂与物料到MDM失败", "Failed to push factory and materials to MDM.", "Ошибка загрузки фабрики и материалов в MDM."),
    WHS_DUMP_MDM("13", "推送工厂与物料到MDM成功", "Succeeded in pushing factory and materials to MDM.", "Завод и материалы успешно поставляются в MDM."),
    WHS_DUMP_INV_UPDATE("95", "库存更新成功", "Inventory Updated Successfully.", "Обновление запасов успешно.")
    ;

    private String code;
    private String descZh;
    private String descEn;
    private String descRu;

    OverseaWhsDumpEnum(String code, String descZh, String descEn, String descRu) {
        this.code = code;
        this.descZh = descZh;
        this.descEn = descEn;
        this.descRu = descRu;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getDescZh() {
        return descZh;
    }

    public void setDescZh(String descZh) {
        this.descZh = descZh;
    }

    public String getDescEn() {
        return descEn;
    }

    public void setDescEn(String descEn) {
        this.descEn = descEn;
    }
    
    public String getDescRu() {
		return descRu;
	}

	public void setDescRu(String descRu) {
		this.descRu = descRu;
	}

	public static String getDescByValue(String code, String language) {
    	OverseaWhsDumpEnum[] values = OverseaWhsDumpEnum.values();
		for (int i = 0; i < values.length; i++) {
			if (values[i].getCode().equals(code)) {
				if ("zh-CN".equals(language)) {
					return values[i].getDescZh();
				} else if ("ru_RU".equals(language)) {
					return values[i].getDescRu();
				} else {
					return values[i].getDescEn();
				}
			}
		}
		return "";
	}
}
