/**
 * 
 */
package com.ejie.ad74a.util.constantes;

import java.util.Date;

import org.springframework.context.i18n.LocaleContextHolder;

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

/**
 * @author Administrador
 * 
 */

public abstract class Constantes {

	public static final int STRING_BUILDER_INIT = 4096;

	// TIPOS DE SOLICITUDES PLATEA
	public static final String TIPO_SOLICITUD_PLATEA_TELEMATICA = "SOLTELEMATICA";
	public static final String TIPO_SOLICITUD_PLATEA_PRESENCIAL = "SOLPRESENCIAL";
	public static final String TIPO_SOLICITUD_PLATEA_INICIO_OFICIO = "INIOFICIO";
	public static final String TIPO_SOLICITUD_PLATEA_APORTACION_PRESENCIAL_OFICIO = "APORPRESENCIAL";

	public static final String REG_EXP_CDATA = "^(<!\\[CDATA\\[)+(.+)(\\]\\]&gt;)+$";

	public static final String ENCODING_ISO8859 = "ISO-8859-1";
	public static final String ENCODING_UTF8 = "UTF-8";

	public static final String EVENTO_EVENT_WHAT = "EventWhat";
	public static final String EVENTO_EVENT_WHO = "EventWho";
	public static final String EVENTO_EVENT_TIPOLOGY = "EventTipology";
	public static final String EVENTO_PLATEA_TYPE = "PlateaType";
	public static final String EVENTO_PLATEA_SUBTYPE = "PlateaSubType";
	public static final String EVENTO_PLATEA_PROCEDURE = "ProcedureID";
	public static final String EVENTO_STATUS = "Status";

	// MENSAJES JMS
	public static final String R02_TASK = "R02_TASK";
	public static final String R02_REQUEST = "R02_REQUEST";
	public static final String R02_LOCATOR = "R02_LOCATOR";
	public static final String R02_NOTIFICATION = "R02_NOTIFICATION";
	public static final String R02_WAIT = "R02_WAIT";
	public static final String LOCATOR_RESULT = "LOCATOR_RESULT";

	public static final String BASENAME_RESOURCE_AD74A_I18N = "classpath:ad74a.i18n";

	public static final String NUMERO_ES = "Num";
	public static final String NUMERO_EU = "Zenb";
	public static final String BLOQUE_ES = "Bloque";
	public static final String BLOQUE_EU = "Blokea";
	public static final String ESCALERA_ES = "Esc.";
	public static final String ESCALERA_EU = "Esk.";

	// OPCIONES SEXO TOOLKIT
	public static final String SEXO_HOMBRE_TOOLKIT = "HOMBRE";
	public static final String SEXO_HOMBRE_BBDD = "H";
	public static final String SEXO_MUJER_TOOLKIT = "MUJER";
	public static final String SEXO_MUJER_BBDD = "M";

	// OPCIONES IDIOMASERVICIO01 TOOLKIT Y BBDD
	public static final String IDIOMASERVICIO01_ES = "0";
	public static final String IDIOMASERVICIO01_EU = "1";
	public static final String IDIOMASERVICIO01_OTROS = "2";

	// OPCIONES TIPO PERSONA TOOLKIT
	public static final String TIPO_PERSONA_FISICA_TOOLKIT = "F";
	public static final Integer TIPO_PERSONA_FISICA_BBDD = 0;
	public static final String TIPO_PERSONA_JURIDICA_TOOLKIT = "J";
	public static final Integer TIPO_PERSONA_JURIDICA_BBDD = 1;

	public static final String DATE_FORMAT_PLATEA_XML_EVENTS = "dd-MM-yyyy HH:mm:ss";
	public static final String DATE_FORMAT_TIMESTAMP_MASK_DEFAULT = "dd/MM/yyyy HH:mm:ss";
	public static final String DATE_FORMAT_TIMESTAMP_EU_MASK_DEFAULT = "yyyy/MM/dd HH:mm:ss";
	public static final String DATE_FORMAT_TIMESTAMP_NOTIME = "dd/MM/yyyy";
	public static final String EU_GUION_DATE_MASK = "yyyy-MM-dd";
	public static final String ES_GUION_DATE_MASK = "dd-MM-yyyy";
	public static final String DATE_FORMAT_DGP = "yyyyMMdd";

	// SERVICIO NISAE MASCARA TIMESTAMP
	public static final String EU_DATETIME_MASK = "yyyy/MM/dd HH:mm";
	public static final String ES_DATETIME_MASK = "dd/MM/yyyy HH:mm";

	public static final String EUSKARA = "eu";
	public static final String CASTELLANO = "es";

	public static final String TAG_PERSONA_CONTACTO_INI = "<personaContacto>";
	public static final String TAG_PERSONA_CONTACTO_FIN = "</personaContacto>";

	public static final Integer VAL_NUM_NO = 0;
	public static final Integer VAL_NUM_SI = 1;

	// public static final String ID_PROCEDIMIENTO_ALTA = "0087002";
	public static final String ID_PROCEDIMIENTO_BAJA = "0087003";
	public static final String ID_PROCEDIMIENTO_MODIFICACION = "0087004";
	public static final String ID_PROCEDIMIENTO_REVISION_PRECIO = "0087005";
	public static final String ID_PROCEDIMIENTO_INFORME = "0087006";
	public static final String ID_PROCEDIMIENTO_NOTIFICACION_LIQUIDACION = "0087007";

	public static final String PLATEA_TASK_ID_RECEP_SOLICITUD = "RECEP_SOLICITUD_FICTICIO";
	public static final String PLATEA_TASK_ID_RECEP_SOLICITUD_BAJA = "RECEP_SOLICITUD_FICTICIO_BAJA";
	public static final String PLATEA_TASK_ID_RECEP_SOLICITUD_MODIF = "RECEP_SOLICITUD_FICTICIO_MODIF";
	public static final String PLATEA_TASK_ID_RECEP_SOLICITUD_REVISION = "RECEP_SOLICITUD_FICTICIO_REVISION";
	public static final String PLATEA_TASK_ID_RECEP_SOLICITUD_INF_INTERVENCION = "RECEP_SOLICITUD_FICTICIO_INF_INTERVENCION";
	public static final String PLATEA_TASK_ID_RECEPCION_DOC_FICTICIO = "RECEPCION_DOC_FICTICIO";
	public static final String PLATEA_TASK_ID_RECEP_DESIS_EXPRESO_FICTICIO = "RECEP_DESIS_EXPRESO_FICTICIO";

	public static final String PROCESSING_ROLE_ID = "R01I-AD74A-RP01";
	public static final String PLATEA_MAILBOX_ADMIN = "R01I-AD74A-RP01";

	public static final String CABECERA_NAME_FOLDER = "TL";

	// Codigo CIF
	public static final String COD_CIF = "2";

	public static final String TECNICO_DEFECTO = "AD74AU04";

	public static final String VARCONTEXTO_AYUNTAMIENTO_SELECCIONADO = "CENTRO_SELECCIONADO";
	public static final String VARCONTEXTO_URL_OBJETIVO = "URL_OBJETIVO";

	public static final String VARCONTEXTO_CONVIVIENTES = "CONVIVIENTES";

	public static final String VARCONTEXTO_DOCUAVISOS = "DOCUAVISOS";
	public static final String VARCONTEXTO_DOCUCUENTAS = "DOCUCUENTAS";
	public static final String VARCONTEXTO_UNIDADESBASE = "UNIDADESBASE";

	public static final String VARCONTEXTO_OFICIO = "OFICIO";

	public static final String URL_SELECCIONAYUNTAMIENTO_CONTROLLER = "/ad74aTeleasistenciaWar/seleccionAyuntamiento";
	public static final String URL_SELECCIONAYUNTAMIENTO = "/ad74aTeleasistenciaWar/seleccionAyuntamiento/maint";

	public static final String DOCUMENTOS_APORTADO = "APOR";
	public static final String DOCUMENTOS_CONSENTIMIENTO = "CONS";
	public static final String DOCUMENTOS_GENERADO = "GEN";
	public static final String DOCUMENTOS_OFICIO = "OFI";
	public static final String DOCUMENTOS_NO_APORTADOS = "NA";
	public static final String ENTREGADO_ANT = "ENTREGADO";

	public static final String TIPO_DOCUMENTO_GENERADO = "1";
	public static final String TIPO_DOCUMENTO_APORTADO = "2";
	public static final String TIPO_DOCUMENTO_CONSENTIMIENTO = "3";
	public static final String TIPO_DOCUMENTO_OFICIO = "4";

	public static final String PLATEA_DEPARTMENT_ID = "8";
	public static final String PLATEA_DEPARTAMENT_NAME_ES = "EMPLEO Y POLÍTICAS SOCIALES";
	public static final String PLATEA_DEPARTAMENT_NAME_EU = "ENPLEGUA ETA GIZARTE POLITIKAK";
	public static final String PLATEA_ENTITY_ID = "04833001";
	public static final String PLATEA_ENTITY_NAME_ES = "Administración Pública de la CAE";
	public static final String PLATEA_ENTITY_NAME_EU = "EAEko Administrazio Publikoa";
	public static final String PLATEA_MANAGIN_UNIT_ID = "2033";
	public static final String PLATEA_UNIDAD_EU = "BERDINTASUNA, JUSTIZIA ETA GIZARTE POLITIKETAKO-GIZARTE ZERBITZUEN ZUZENDARITZA";
	public static final String PLATEA_UNIDAD_ES = "IGUALDAD, JUSTICIA Y POLÍTICAS SOCIALES-DIRECCIÓN DE SERVICIOS SOCIALES";
	public static final String PLATEA_ORGANISM_ID = "EJIE";
	public static final String PLATEA_ORGANISM_EU = "EJIE";
	public static final String PLATEA_ORGANISM_ES = "EJIE";
	public static final String PLATEA_SERIE_DOCUMENTAL = "00870";
	public static final String PLATEA_CAPV = "CAPV";

	public static final String SVT_TYPE_STRING = "java.lang.String";

	public static final Integer TIPOPRECIO_PUBLICO = 0;
	public static final Integer TIPOPRECIO_PRIVADO = 1;

	public static final String NOTIFIEDACT_ID_COMUNICATION = "COMUNICATION";
	public static final String NOTIFIEDACT_ID_NOTIFICATION = "LIQUID";

	// Magic numbers
	public static final int CERO = 0;
	public static final int UNO = 1;
	public static final int DOS = 2;
	public static final int TRES = 3;
	public static final int CUATRO = 4;
	public static final int CINCO = 5;
	public static final int SEIS = 6;
	public static final int SIETE = 7;
	public static final int OCHO = 8;
	public static final int NUEVE = 9;
	public static final int NUEVEMIL_NOVECIENTOS_NOVENTAYNUEVE = 9999;

	public static final String NUEVE_CEROS_STRING = "000000000";

	// Resultado de documentacion //
	public enum ResultadoDocumentacion {
		COMPLETO(1, "estadosDocumentacion.completa"), //
		INCOMPLETO(2, "estadosDocumentacion.inCompleta");

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

		private Integer id;
		private String labelDesc;

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

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

		public Combo getCombo() {
			return new Combo(id.toString(),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_ES),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_EU));
		}

		public String getLabelDesc(int id) {
			String desc = "";
			for (ResultadoDocumentacion res : ResultadoDocumentacion.values()) {
				if (res.getId() == id) {
					desc = Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, res.getLabelDesc(),
							LocaleContextHolder.getLocale());
				}
			}
			return desc;
		}
	}

	// NivelSuicidio08 //
	public enum NivelSuicidioEnum {
		BAJO(1, "nivelSuicidio.bajo"), //
		MEDIO(2, "nivelSuicidio.medio"), //
		ALTO(3, "nivelSuicidio.alto");

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

		private Integer id;
		private String labelDesc;

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

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

		public Combo getCombo() {
			return new Combo(id.toString(),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_ES),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_EU));
		}

		public String getLabelDesc(int id) {
			String desc = "";
			for (NivelSuicidioEnum nivel : NivelSuicidioEnum.values()) {
				if (nivel.getId() == id) {
					desc = Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N,
							nivel.getLabelDesc(), LocaleContextHolder.getLocale());
				}
			}
			return desc;
		}

		public static NivelSuicidioEnum getById(int id) {
			for (NivelSuicidioEnum e : values()) {
				if (e.id == id)
					return e;
			}
			return null;
		}

		public static String getDesc(int id) {
			for (NivelSuicidioEnum proc : NivelSuicidioEnum.values()) {
				if (proc.getId() == id) {
					return proc.getLabelDesc();
				}
			}
			return null;
		}
	}

	// NivelMaltrato08 //
	public enum NivelMaltratoEnum {

		NIVEL1(1, "nivelMaltrato.nivel1"), //
		NIVEL2(2, "nivelMaltrato.nivel2"), //
		NIVEL3(3, "nivelMaltrato.nivel3");

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

		private Integer id;
		private String labelDesc;

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

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

		public Combo getCombo() {
			return new Combo(id.toString(),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_ES),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_EU));
		}

		public String getLabelDesc(int id) {
			String desc = "";
			for (NivelMaltratoEnum nivel : NivelMaltratoEnum.values()) {
				if (nivel.getId() == id) {
					desc = Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N,
							nivel.getLabelDesc(), LocaleContextHolder.getLocale());
				}
			}
			return desc;
		}

		public static NivelMaltratoEnum getById(int id) {
			for (NivelMaltratoEnum e : values()) {
				if (e.id == id)
					return e;
			}
			return null;
		}

		public static String getDesc(int id) {
			for (NivelMaltratoEnum proc : NivelMaltratoEnum.values()) {
				if (proc.getId() == id) {
					return proc.getLabelDesc();
				}
			}
			return null;
		}
	}

	// TODO REVISAR ESTO CREO QUE NO ESTA BIEN
	// Beneficiario01 01 //
	public enum beneficiario01 {
		SOLICITANTE(0, "beneficiario01.solicitante"), //
		BENEFICIARIO(1, "beneficiario01.beneficiario");

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

		private Integer id;
		private String labelDesc;

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

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

		public Combo getCombo() {
			return new Combo(id.toString(),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_ES),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_EU));
		}

		public String getLabelDesc(int id) {
			String desc = "";
			for (beneficiario01 ben : beneficiario01.values()) {
				if (ben.getId() == id) {
					desc = Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, ben.getLabelDesc(),
							LocaleContextHolder.getLocale());
				}
			}
			return desc;
		}
	}

	// Retramitar notificacion postal //
	public interface NotifPostalesRetramitar {
		public static final Integer NO = 0;
		public static final Integer RETRAMITANDO = 1;
		public static final Integer RETRAMITADA = 2;
	}

	// Alto Riesgo //
	public interface AltoRiesgo {
		public static final Integer ALTO_RIESGO_NO = 0;
		public static final Integer ALTO_RIESGO_SI = 1;

	}

	// pendiente25 //
	public interface Pendiente25 {
		public static final Integer PENDIENTE25_NO = 0;
		public static final Integer PENDIENTE25_SI = 1;

	}

	public interface MantenerInstalacion {
		public static final Integer MANTENER_NO = 0;
		public static final Integer MANTENER_SI = 1;

	}

	// sinAltaServicio //
	public interface sinAltaServicio {
		public static final Integer SIN_ALTA_SERVICIO_NO = 0;
		public static final Integer SIN_ALTA_SERVICIO_SI = 1;

	}

	// interInstTerminal //
	public interface interInstTerminal {
		public static final Integer INTER_INST_TERMINAL_NO = 0;
		public static final Integer INTER_INST_TERMINAL_SI = 1;

	}

	// exencionPago //
	public interface exencionPago {
		public static final Integer EXENCION_PAGO_NO = 0;
		public static final Integer EXENCION_PAGO_SI = 1;
		public static final Integer REVISION_PAGO = 2;

	}

	// Tipos de Solicitante //
	public interface TipoSolicitante {
		public static final Integer ES_SOLICITANTE = 0;
		public static final Integer ES_BENEFICIARIO = 1;

	}

	// Tipos de Contacto comunicacion //
	public interface TipoContactoComunicacion {
		public static final String CONTACT_TYPE_EMAIL = "EMAIL";
		public static final String CONTACT_TYPE_SMS = "SMS";

	}

	// Tipos de Solicitud //
	public interface TipoSolicitud {
		public static final Integer SOLICITUD_DE_OFICIO = 1;
		public static final Integer SOLICITUD_NO_OFICIO = 0;

	}

	// Urgencia //
	public interface Urgencia_Avisos {
		public static final Boolean NO_URGENTE = false;
		public static final Boolean URGENTE = true;

	}

	// Tipos de Solicitud //
	public interface PresentaSolicitud {
		public static final String PLATEA_CON_REPRESENTANTE = "2";
		public static final Integer INTERESADO = 0;
		public static final Integer REPRESENTANTE = 1;

	}

	// Exencion //
	// public interface Exencion {
	// public static final Integer NO_EXENTO = 0;
	// public static final Integer EXENTO = 1;
	// }

	// Piso tutelado //
	public interface PisoTutelado {
		public static final Integer NO_ESTA = 0;
		public static final Integer ESTA = 1;
	}

	// Autoriza a DSS a recabar info //
	public interface OponerDssRecabarinfo {
		public static final String NO_PERMITE_RECABAR_INFO = "0";
		public static final String PERMITE_RECABAR_INFO = "1";
		public static final Integer NO_SE_OPONE = 0;
		public static final Integer SI_SE_OPONE = 1;
	}

	// Piso tutelado //
	public interface RolesIDDocumentos {
		public static final String DOC_URGENCIA = "ejgv_d_acuerdo.ejgv_d_acuerdo_tramurge.X87_Documento_Acreditativo_Urgencia";
	}

	// Canal de notificacion //
	public interface CanalNotificacion {
		public static final String CANAL_NOTIF_SMS = "0";
		public static final String CANAL_NOTIF_MAIL = "1";
		public static final String CANAL_NOTIF_ALL = "2";
	}

	// Tipo de notificación
	public interface TipoNotificacion {
		public static final String POSTAL = "2";
		public static final String TELEMATICA = "1";
	}

	// NISAE //
	public interface Nisae {
		public static final String INTER_IDSOLICITANTE = "S4833001C";
		public static final String INTER_NOMBRE_SOLICITANTE = "Eusko Jaurlaritza - Gobierno Vasco";
		public static final String FINALIDAD = "Teleasistencia";
		public static final String COD_CERTIFICADO_CONSULTA_DEPENDENCIA = "SWIOPCDEPIMSE";
		public static final String COD_CERTIFICADO_CONSULTA_DGP = "SWIOPCIDENDGP";
		public static final String COD_CERTIFICADO_CONSULTA_PADRON = "SWIOPDATPADOM";
		public static final String COD_CERTIFICADO_CONSULTA_IRPF = "SWIOPIRPFDIPU";
		public static final String COD_CERTIFICADO_CONSULTA_DISCAPACIDAD = "SWIOPDISCAGEN";
		public static final String EMISOR_NIF_IMSERSO = "Q2827004I";
		public static final String EMISOR_NOMBRE_IMSERSO = "IMSERSO";
		public static final String EMISOR_NIF_DGP = "S2816015H";
		public static final String EMISOR_NOMBRE_DGP = "Dirección General de la Policía";
		public static final String DGP_CONSULTA = "CONSULTA";
		public static final String EMISOR_NIF_PADRON = "P00000000";
		public static final String EMISOR_NOMBRE_PADRON = "EAEko Udalak – Ayuntamientos CAPV";
		public static final String EMISOR_NIF_IRPF = "P00000000";
		public static final String EMISOR_NOMBRE_IRPF = "HACIENDAS FORALES VASCAS";
		public static final String EMISOR_NIF_DISCAPACIDAD = "P00000000";
		public static final String EMISOR_NOMBRE_DISCAPACIDAD = "Diputaciones Forales Vascas";
		public static final String DISCAPACIDAD_COD_COM_AUTONOMA = "16";
		public static final String ESTADO_COD_PETICION = "001";
		public static final String ESTADO_LITERROR_PETICION = "PENDIENTE";
		public static final String SOLICITANTE_CONSENTIMIENTO = "Si";
		public static final String ES_CONSULTA_DE_CONYUGE = "0";
		public static final String LANZAR_TODAS_MENOS_CONYUGE = "TODAS/ALL";
	}

	// Canal de notificacion //
	public interface RegRepresentantes {
		/**
		 * 1: para la actuación de “Presentar solicitudes y recursos, desistir,
		 * renunciar y aportar documentación”.
		 * 
		 * 2: para la actuación de “Acceso a Expedientes”.
		 * 
		 * 3: para la actuación de “Notificaciones y Comunicaciones”.
		 * 
		 * 4: para la actuación de “Pagos”.
		 */
		public static final String TIPO_ACT_SOLICITUDES = "1";

		/**
		 * T: Titular R: Representante.
		 */
		public static final String TITULARIDAD_REPRESENTANTE = "R";
		public static final String CANAL_NOTIF_MAIL = "1";
		public static final String CANAL_NOTIF_ALL = "2";
	}

	// Estados tramite y tarea //
	public interface EstadoTramitacion {
		public static final String ESTADO_TRAMITE_PENDIENTE = "1";
		public static final String ESTADO_TRAMITE_FINALIZADO = "2";
		public static final String ESTADO_TRAMITE_CANCELADO = "3";
		public static final String ESTADO_TRAMITE_ANULADO = "4";

		public static final String ESTADO_TAREA_ABIERTA = "1";
		public static final String ESTADO_TAREA_FINALIZADA = "2";
		public static final String ESTADO_TAREA_CANCELADA = "3";
		public static final String ESTADO_TAREA_ANULADA = "4";
	}

	// Evento de tareas //
	public interface EventTask {
		public static final String EVENT_R02_TASK_STATUS_SUGERIDA = "1";
		public static final String EVENT_R02_TASK_STATUS_RECHAZADA = "3";
		public static final String EVENT_R02_TASK_STATUS_EJECUTADA = "4";
		public static final String EVENT_R02_TASK_STATUS_ANULADA = "6";
		public static final String EVENT_R02_TASK_STATUS_REASIGNADA = "7";
	}

	// Estados bandeja telemática //
	public interface EstadosBandejaTelematica {
		public static final String OCULTO = "O";
		public static final String PENDIENTE = "P";
		public static final String ACEPTADO = "A";
	}

	// Canales de notificacion //
	public interface CanalesNotificacion {
		public static final String SMS = "0";
		public static final String MAIL = "1";
		public static final String SMS_Y_MAIL = "2";
	}

	// Estados bandeja papel 0 //
	public interface EstadosBandejaPapel0 {
		public static final String RECHAZADO = "R";
		public static final String PENDIENTE = "P";
		public static final String ACEPTADO = "A";
		public static final String EN_CURSO = "C";
		public static final String OCULTO = "O";
		public static final String EN_CURSO_OCULTO = "X";
	}

	// Estados bandeja papel 0 //
	public interface NoAceptada {
		public static final Integer ACEPTADA = 0;
		public static final Integer NO_ACEPTADA = 1;
	}

	// Valores por defecto Papel0
	public interface ValoresDefectoBandejaPapel0 {
		public static final String IDENTIFICADOR = "00000000A";
		public static final String TIPO_IDENTIFICADOR = "9";
		public static final String FOLDERID = "0";
	}

	// Valores por defecto Registro
	public interface ValoresDefectoRegistro {
		public static final String NUM_REGISTRO = "202300000000000";
		public static final Date FREGISTRO = new Date();

	}

	// Estado errores //
	public interface EstadoErrores {
		public static final String ESTADO_ERRONEO = "1";
	}

	// Errores expediente//
	public interface ErroresExpediente {
		public static final Integer SIN_ERRORES = 0;
		public static final Integer SOLICITANTE_NO_EXISTE = 1;
		public static final Integer SOLICITANTE_YA_EXISTE_ALTA = 2;
		public static final Integer YA_EXISTE_EXPEDIENTE_PENDIENTE = 3;
	}

	// ConyugeAutorizacion//
	public interface ConyugeAutorizacion {
		public static final Integer NO_AUTORIZA = 0;
		public static final Integer AUTORIZA = 1;
	}

	// Procedimientos //
	public interface Procedimientos {
		public static final String ALTA = "0087002";
		public static final String BAJA = "0087003";
		public static final String MODIFICACION = "0087004";
		public static final String REVISION_PRECIO = "0087005";
		public static final String INFORME_INTERVENCION = "0087006";
		public static final String NOTIFICACION_LIQUIDACION = "0087007";
	}

	// QR Codificacion Procedimientos //
	public interface QRCoding {
		public static final String ALTA = "02";
		public static final String BAJA = "03";
		public static final String MODIFICACION = "04";
		public static final String REVISION_PRECIO = "05";
		public static final String INFORME_INTERVENCION = "06";
		public static final String NOTIFICACION_LIQUIDACION = "07";
	}

	// Procedimientos almacenados SQL //
	public interface PROCEDURE_SQL {
		public static final String PASAR_HISTORICO = "02";

	}

	// PLATEA PROCEDURE MAILBOX //
	public interface MailBox {
		public static final String PLATEA_PROCEDURE_MAILBOX_ALTA = "R01I-AD74A-RP01";
		public static final String PLATEA_PROCEDURE_MAILBOX_BAJA = "R01I-AD74A-RP01";
		public static final String PLATEA_PROCEDURE_MAILBOX_MODIFICACION = "R01I-AD74A-RP01";
		public static final String PLATEA_PROCEDURE_MAILBOX_REVISION_PRECIO = "R01I-AD74A-RP01";
		public static final String PLATEA_PROCEDURE_MAILBOX_INFORME_INTERVENCION = "R01I-AD74A-RP01";
		public static final String PLATEA_PROCEDURE_MAILBOX_EXONERACION = "R01I-AD74A-RP01";
		public static final String PLATEA_PROCEDURE_MAILBOX_NOTIFICACION_LIQUIDACION = "R01I-AD74A-RP01";
		public static final String PLATEA_MAILBOX_ADMIN = "AD74A-01";
	}

	// ** Estados de finalización de la tarea de ESTUDIO
	// public interface FinalizacionEstudio {
	// public static final String REQUERIMIENTO_SUBSANACION = "1";
	// public static final String RESOL_CONCESION = "2";
	// public static final String RESOL_DENEGACION = "3";
	// }

	// ** Diferentes discapacidad
	public interface NisaeDiscapacidad {
		public static final String FISICA = "FISICA";
		public static final String INTELECTUAL = "PSIQUICA";
		public static final String SENSORIAL = "SENSORIAL";
	}

	// ** Plantillas documentos
	public interface PlantillasDoc {
		public static final String INFORME_SOCIAL = "informe_social.xsl";
		public static final String REQUERIMIMENTO_REQ_SUBSANACION_CAST = "requerimiento_sub.rtf";
		public static final String RESOLUCION_CONCESION_CAST = "resolucion_concesion.rtf";
		public static final String RESOLUCION_CONCESION_BAJA_OFICIO_CAST = "resolucion_teleasistencia_baja_oficio.rtf";
		public static final String TRAMITE_AUDIENCIA_CAST = "tramite_audiencia_teleasistencia.rtf";
		public static final String RESOLUCION_ALTA_CON_EXENCION_CAST = "resolucion_alta_con_exencion.rtf";
		public static final String RESOLUCION_ALTA_SIN_EXENCION_CAST = "resolucion_alta_sin_exencion.rtf";
		public static final String REQUERIMIMENTO_REQ_SUBSANACION_EUSK = "requerimiento_sub_eu.rtf";
		public static final String RESOLUCION_CONCESION_EUSK = "resolucion_concesion_eu.rtf";
		public static final String RESOLUCION_ALTA_CON_EXENCION_EUSK = "resolucion_alta_con_exencion_eu.rtf";
		public static final String RESOLUCION_ALTA_SIN_EXENCION_EUSK = "resolucion_alta_sin_exencion_eu.rtf";
		public static final String RESOLUCION_CONCESION_BAJA_OFICIO_EUSK = "resolucion_teleasistencia_baja_oficio_eu.rtf";
		public static final String TRAMITE_AUDIENCIA_EUSK = "tramite_audiencia_teleasistencia_eu.rtf";
		public static final String RESOLUCION_BAJA_CAST = "resolucion_baja.rtf";
		public static final String RESOLUCION_BAJA_EUSK = "resolucion_baja_eu.rtf";
		public static final String RESOLUCION_DENEGACION_ALTA_CAST = "resolucion_denegacion_alta.rtf";
		public static final String RESOLUCION_DENEGACION_ALTA_EUSK = "resolucion_denegacion_alta_eu.rtf";
		public static final String RESOLUCION_DENEGACION_BAJA_CAST = "resolucion_denegacion_baja.rtf";
		public static final String RESOLUCION_DENEGACION_BAJA_EUSK = "resolucion_denegacion_baja_eu.rtf";
		public static final String REVISION_PRECIO_CONCESION_CAST = "revision_precio_concesion.rtf";
		public static final String REVISION_PRECIO_CONCESION_EUSK = "revision_precio_concesion_eu.rtf";
		public static final String REVISION_PRECIO_DENEGACION_CAST = "revision_precio_denegacion.rtf";
		public static final String REVISION_PRECIO_DENEGACION_EUSK = "revision_precio_denegacion_eu.rtf";
		public static final String TRAMITE_DESISTIMIENTO_EXPRESO_CAST = "resolucion_concesion_desistimiento.rtf";
		public static final String TRAMITE_DESISTIMIENTO_TACITO_CAST = "resolucion_desistimiento.rtf";
		public static final String TRAMITE_DESISTIMIENTO_EXPRESO_EUSK = "resolucion_concesion_desistimiento_eu.rtf";
		public static final String TRAMITE_DESISTIMIENTO_TACITO_EUSK = "resolucion_desistimiento_eu.rtf";
		public static final String CARTA_PAGO_EUSK = "cartaPagoLiquidacion_eu.rtf";
		public static final String CARTA_PAGO_CAST = "cartaPagoLiquidacion_es.rtf";

	}

	// ** Tipos desistimiento
	public interface TiposDesistimiento {
		public static final String TIPO_DESISTIMIENTO_EXPRESO = "E";
		public static final String TIPO_DESISTIMIENTO_TACITO = "T";
	}

	// ** Tipos tareas platea
	public interface TiposTareaPlatea {
		public static final String PLATEA_ESTUDIO = "ESTDOCU";
		public static final String PLATEA_COMUNICACION_INFORME = "COMUNICACION";
	}

	// ** Tipos tareas platea
	public interface OrigenTiposDocumento {
		public static final String ORIGEN_TIPO_DOC_OTROS_ORGANOS = "O";
	}

	// ** Datos firma
	public interface FirmaDatos {
		public static final String FIRMA_DEPARTMENT = "EUSKO JAURLARITZA - GOBIERNO VASCO";
		public static final String FIRMA_ENTITY = "GOBERNANZA PÚBLICA Y AUTOGOBIERNO";
		public static final String FIRMA_RESPONSABILITY = "EUSKO JAURLARITZA - GOBIERNO VASCO";
		public static final String FIRMA_SIGNER_ID = "S4833001C";
		public static final String FIRMA_SIGNER_NAME = "EUSKO JAURLARITZA - GOBIERNO VASCO";
	}

	public interface Documentos_content_type {
		public static final String CONTENT_TYPE_PDF = "application/pdf";
		public static final String CONTENT_TYPE_XLS = "application/xls";
		public static final String CONTENT_TYPE_WORD = "application/msword";
	}

	public interface DatosConsultaInterop {
		public static final String OBS_SERVICE_SOAP = "/ctxapp/x53jiGetIntermediacionWS";

		public static final String TARGET_NAMESPACE = "http://requirenteWS/";
		public static final String PROCEDIMIENTO_DOCUMENTAL = "00870";

		public static final String KEY_TITULAR_TIPO_DOC = "com.ejie.r02s.scsp.v3.protocol.peticion.Titular.tipoDocumentacion";
		public static final String KEY_TITULAR_DOCUMENTACION = "com.ejie.r02s.scsp.v3.protocol.peticion.Titular.documentacion";
		public static final String KEY_NOMBRE_COMPLETO_FUNCIONARIO = "com.ejie.r02s.scsp.v3.protocol.peticion.Funcionario.nombreCompletoFuncionario";
		public static final String KEY_TITULAR_NOMBRE = "com.ejie.r02s.scsp.v3.protocol.peticion.Titular.nombre";
		public static final String KEY_TITULAR_APE1 = "com.ejie.r02s.scsp.v3.protocol.peticion.Titular.apellido1";
		public static final String KEY_TITULAR_APE2 = "com.ejie.r02s.scsp.v3.protocol.peticion.Titular.apellido2";

		public static final String KEY_FINALIDAD = "com.ejie.r02s.scsp.v3.protocol.peticion.Solicitante.finalidad";
		public static final String KEY_CONSENTIMIENTO = "com.ejie.r02s.scsp.v3.protocol.peticion.Solicitante.consentimiento";
		public static final String KEY_PROCEDIMIENTO = "com.ejie.r02s.scsp.v3.protocol.peticion.Procedimiento.codProcedimiento";
		public static final String KEY_UNIDAD_TRAMITADORA = "com.ejie.r02s.scsp.v3.protocol.peticion.Solicitante.unidadTramitadora";
		public static final String USER_INTEROP = "INTEROP";

		// ** Tipos tareas platea
		public interface DatosPadronInterop {

			public static final String OPERATION = "SWIOPDATPADOM";

			public static final String KEY_TERRITORIO = "com.ejie.r02s.scsp.v3.de.iop.padronDomiciliarioGen.DatosConsulta.territorio";
			public static final String KEY_MUNICIPIO = "com.ejie.r02s.scsp.v3.de.iop.padronDomiciliarioGen.DatosConsulta.municipio";
			public static final String KEY_FECHA = "com.ejie.r02s.scsp.v3.de.iop.padronDomiciliarioGen.DatosConsulta.fecha";

			public static final String KEY_DNI_FUNCIONARIO = "com.ejie.r02s.scsp.v3.protocol.peticion.Funcionario.nifFuncionario";

			public static final String KEY_DATOS_ENTRADA_TIPO_DOC = "com.ejie.r02s.scsp.v3.de.iop.padronDomiciliarioGen.DatosEntradaPadronDomiciliario.tipoDocumento";
			public static final String KEY_DATOS_ENTRADA_NUM_DOC = "com.ejie.r02s.scsp.v3.de.iop.padronDomiciliarioGen.DatosEntradaPadronDomiciliario.numDocumento";
			public static final String KEY_DATOS_ENTRADA_NOMBRE = "com.ejie.r02s.scsp.v3.de.iop.padronDomiciliarioGen.DatosEntradaPadronDomiciliario.nombre";
			public static final String KEY_DATOS_ENTRADA_APE1 = "com.ejie.r02s.scsp.v3.de.iop.padronDomiciliarioGen.DatosEntradaPadronDomiciliario.apellido1";
			public static final String KEY_DATOS_ENTRADA_APE2 = "com.ejie.r02s.scsp.v3.de.iop.padronDomiciliarioGen.DatosEntradaPadronDomiciliario.apellido2";
		}

		public interface DatosDGPInterop {
			public static final String OPERATION = "SWIOPCIDENDGP";

			public static final String KEY_TIPO_TRAMITE = "com.ejie.r02s.scsp.v3.de.iop.identidad.DatosConsulta.tipoTramite";
//			public static final String KEY_NUMERO_SOPORTE = "com.ejie.r02s.scsp.v3.de.iop.identidad.DatosAdicionalesTitular.numeroSoporte";
//			public static final String KEY_DATO_ADICIONAL_SEXO = "com.ejie.r02s.scsp.v3.de.iop.identidad.DatosAdicionalesTitular.sexo";
//			public static final String KEY_DATO_ADICIONAL_FCH_NACIMIENTO = "com.ejie.r02s.scsp.v3.de.iop.identidad.DatosAdicionalesTitular.fechaNacimiento";
//			public static final String KEY_DATO_ADICIONAL_CODPROVINCIA_NACIMIENTO = "com.ejie.r02s.scsp.v3.de.iop.identidad.DatosAdicionalesTitular.codProvNacimiento";
//			public static final String KEY_DATO_ADICIONAL_CODPAIS_NACIMIENTO = "com.ejie.r02s.scsp.v3.de.iop.identidad.DatosAdicionalesTitular.codPaisNacimiento";
//			public static final String KEY_DATO_ADICIONAL_CODPROV_RESIDENCIA = "com.ejie.r02s.scsp.v3.de.iop.identidad.DatosAdicionalesTitular.codProvResidencia";
//			public static final String KEY_DATO_ADICIONAL_CODPAIS_RESIDENCIA = "com.ejie.r02s.scsp.v3.de.iop.identidad.DatosAdicionalesTitular.codPaisResidencia";

		}

		public interface DatosImsersoInterop {
			public static final String OPERATION = "SWIOPCDEPIMSE";

		}

		public interface DatosIrpfInterop {
			public static final String OPERATION = "SWIOPIRPFDIPU";

			public static final String KEY_DATOS_ENTRADA_TERRITORIO = "com.ejie.r02s.scsp.v3.de.iop.nivelRentaDIPU.DatosConsulta.territorio";
			public static final String KEY_DATOS_ENTRADA_EJERCICIO = "com.ejie.r02s.scsp.v3.de.iop.nivelRentaDIPU.DatosConsulta.ejercicio";

		}

		public interface DatosDiscapacidadInterop {

			public static final String OPERATION = "SWIOPDISCAGEN";

			public static final String KEY_CODIGOCOMUNIDADAUTONOMA = "com.ejie.r02s.scsp.v3.de.iop.discapacidad.Consulta.codigoComunidadAutonoma";
			public static final String KEY_CODIGOPROVINCIA = "com.ejie.r02s.scsp.v3.de.iop.discapacidad.Consulta.codigoProvincia";
			public static final String KEY_FECHANACIMIENTO = "com.ejie.r02s.scsp.v3.de.iop.discapacidad.DatosAdicionalesTitular.fechaNacimiento";
			public static final String KEY_CONSENTIMIENTOTIPOSDISCAPACIDAD = "com.ejie.r02s.scsp.v3.de.iop.discapacidad.Consulta.consentimientoTiposDiscapacidad";

			public static final String KEY_NOMBRECOMPLETO = "com.ejie.r02s.scsp.v3.protocol.peticion.Titular.nombreCompleto";
			public static final String KEY_EXPEDIENTE = "com.ejie.r02s.scsp.v3.de.iop.discapacidad.Consulta.expediente";
			public static final String KEY_FECHACONSULTA = "com.ejie.r02s.scsp.v3.de.iop.discapacidad.Consulta.fechaConsulta";
		}

	}

	public interface Esperas {
		// ** Estado de finalizacion de las esperas **/
		public interface EstadosFinalizacion {
			// Espera de alegaciones
			public static final String ALEGACIONES_NO_PRESENTADAS = "0";
			public static final String ALEGACIONES_PRESENTADAS = "1";

			// Espera de desistimiento
			public static final String DESISTIMIENTO_NO_PRESENTADO = "0";
			public static final String DESISTIMIENTO_PRESENTADO = "1";
			public static final String DESISTIMIENTO_FIN_TACITO = "2";

			// Espera de notificacion
			public static final String NOTIF_TERMINADA = "0";

			// Espera de aportacion de documentacion / requerimiento / alegacion / recurso
			public static final String DOCUMENTACION_APORTADA = "0";
			public static final String DOCUMENTACION_NO_APORTADA = "1";
		}

	}

	public static final String ERROR_GENERICO = "error.generico";
	public static final String ERROR_ACCESO_DENEGADO = "error.accesoDenegado";

	public static final String ESPANIA = "108";
	public static final String EUSKADI = "16";

	// ** Tipos de correos a enviar
	public interface TiposCorreo {
		public static final String AVISO_SSB_INF_INTERVENCION = "1";
	}

	// Nivel de soporte 08 //
	public enum NivelUrgenciaEnum {
		SOLICITUD(1, "nivelUrgencia.solicitud"), //
		DIRECTOR(2, "nivelUrgencia.director");

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

		private Integer id;
		private String labelDesc;

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

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

		public Combo getCombo() {
			return new Combo(id.toString(),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_ES),
					Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N, this.labelDesc,
							com.ejie.ad74a.constantes.Constantes.LOCALE_EU));
		}

		public String getLabelDesc(int id) {
			String desc = "";
			for (NivelUrgenciaEnum nivel : NivelUrgenciaEnum.values()) {
				if (nivel.getId() == id) {
					desc = Utilidades.getLabelFromResource(Constantes.BASENAME_RESOURCE_AD74A_I18N,
							nivel.getLabelDesc(), LocaleContextHolder.getLocale());
				}
			}
			return desc;
		}
	}

	// Origen informe social
	public enum OrigenInformeSocialEnum {
		CIUDADANO(1), //
		SSB(2);

		private OrigenInformeSocialEnum(Integer id) {
			this.id = id;
		}

		private Integer id;

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

	public static String plateaCertificateID = "0035";
	public static String TIPO_ORIGEN_TELEFONO = "3";
}
