package com.ejie.ad74a.util.constantes;

import java.util.Locale;

import org.springframework.context.i18n.LocaleContextHolder;

import com.ejie.ad74a.model.Combo;
import com.ejie.ad74a.util.comun.Utilidades;

/**
 * Tipos de procesos batch
 */

public enum ProcesosBatchEnum {

	ANADIR_PAGO_PRESTADOR(1, "pagos.anadirPagoPrestador", "pagoPS.sh"), //
	RECALCULAR_PAGO_PRESTADOR(2, "pagos.recalcularPagoPrestador", "pagoPS.sh"), //
	COPAGO_AYTOS(3, "copago.ayuntamientos", "cpAytos.sh"), //
	COPAGO_AYTOS_FACT(4, "copago.ayuntamientosFact", "cpAytoFact.sh"), //
	COPAGO_AYTOS_EXCEL(5, "copago.ayuntamientosExcel", "cpAytoInfo.sh"), //
	COPAGO_BEN(6, "copago.beneficiarios", "cpBen.sh"), //
	BEN_DDFF(7, "beneficiarios.DDFF", "benDDFF.sh"), //
	COPAGO_BEN_MENS(8, "copago.beneficiariosMens", "cpBenMens.sh"), //
	DEP_DIS_MASIVA(9, "depDisMasiva.envio", "depDisMas.sh"), //
	REFRESCO_SITUACIONES_ENVIO(10, "remesas.refrescoSituaciones", "refSitEnv.sh"), //
	RESP_DEP_DIS_MASIVA(11, "depDisMasiva.respuesta", "respMasiv.sh"), //
	ACT_EXPEDIENTES(12, "actExpedientes", "actExps.sh"), //
	;

	private ProcesosBatchEnum(Integer id, String labelDesc, String shell) {
		this.labelDesc = labelDesc;
		this.id = id;
		this.shell = shell;
	}

	private Integer id;
	private String labelDesc;
	private String shell;

	public Integer getId() {
		return this.id;
	}

	public String getLabelDesc() {
		return Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
				LocaleContextHolder.getLocale());
	}

	public String getLabelDesc(Locale locale) {
		return Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc, locale);
	}

	public String getShell() {
		return this.shell;
	}

	public Combo getCombo() {
		return new Combo(id.toString(), this.getLabelDesc(), this.getLabelDesc());
	}
}
