
CREATE TABLE ACCESO
(
  ID_ACCESO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  CONSTRAINT ACCESOS_PK PRIMARY KEY (ID_ACCESO)
);
CREATE TABLE AGENDA
(
  ID_AGENDA INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  ID_ESTADO_AGENDA SMALLINT NOT NULL,
  FECHA_VISITA TIMESTAMP,
  MOTIVO_VISITA VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  ID_EMPRESA INT8 NOT NULL,
  CONSTRAINT AGENDA_PK PRIMARY KEY (ID_AGENDA)
);
CREATE TABLE AGENTE
(
  ID_AGENTE INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_TIPO_AGENTE SMALLINT NOT NULL,
  ESTACION VARCHAR(80) NOT NULL,
  DESCRIPCION VARCHAR(250),
  RMI_IP VARCHAR(80),
  RMI_PUERTO INTEGER,
  ID_TIPO_EJECUCION_AGENTE SMALLINT NOT NULL,
  FRECUENCIA_PROG INTEGER,
--  HORA_INICIO Time,
--  HORA_FIN Time,
  HORA_INICIO Time,
  HORA_FIN Time,
  DIAS_EJECUCION VARCHAR(80),
  GUARDAR_LOG VARCHAR(1),
  DIRECTORIO_LOG VARCHAR(80),
  REG_ERROR_LOG VARCHAR(80),
  TAREAS_LOG VARCHAR(80),
  MAX_COMANDOS_RELOJ INTEGER,
  CONSOLA_ACTIVA VARCHAR(1),
  CONSOLA_FILAS INTEGER,
  VERIFICAR_CLAVE VARCHAR(1),
  ENVIA_REG_MAIL VARCHAR(1),
  ENVIA_REG_FTP VARCHAR(1),
  ENVIA_TAREAS_MAIL VARCHAR(1),
  ENVIA_TAREAS_FTP VARCHAR(1),
  ENVIA_ALERTAS_MAIL CHAR(1),
  MAIL_DESTINO_TAREAS VARCHAR(80),
  MAIL_REMITENTE VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  DEPURAR_LOG_REG_ERRONEAS CHAR(1),
  DEPURAR_LOG_TAREAS CHAR(1),
  DEPURAR_LOG_REGISTRADOR CHAR(1),
  DEPURAR_LOG_GENERAL CHAR(1),
  CANTIDAD_DIAS_DEPURACION INTEGER,
  HORA_DEPURACION CHAR(5),
  DEPURAR CHAR(1),
  FECHA_ULTIMA_DEPURACION TIMESTAMP,
  TIPO_FRECUENCIA_PROG CHAR(1),
  NO_INSERTADAS_LOG VARCHAR(80),
  DEPURAR_LOG_NO_INSERTADAS CHAR(1),
  DEPURAR_LOG_COMUNICACION CHAR(1),
  CONSTRAINT AGENTE_PK PRIMARY KEY (ID_AGENTE)
);
CREATE TABLE AGRUPACION
(
  ID_AGRUPACION INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  ES_SECTOR VARCHAR(1) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  ES_AGRUPACION_HORARIA VARCHAR(1),
  ES_CENTRO_COSTO VARCHAR(1),
  ES_OBLIGATORIA VARCHAR(1),
  CONSTRAINT AGRUPACION_PK PRIMARY KEY (ID_AGRUPACION)
);
CREATE TABLE AUDITORIA
(
  ID_AUDITORIA INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  ID_OPCION INT8,
  ID_OPERACION INT8,
  DATOS VARCHAR(2000),
  DATOS_ANTERIORES VARCHAR(2000),
  FECHA TIMESTAMP,
  CONSTRAINT AUDITORIA_PK PRIMARY KEY (ID_AUDITORIA)
);
CREATE TABLE CATEGORIA
(
  ID_CATEGORIA INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  NOMBRE VARCHAR(40),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  TRABAJA_FERIADOS VARCHAR(1),
  TRABAJA_FRANCO VARCHAR(1),
  PRESENTE_SIN_AUTORIZACION VARCHAR(1),
  PARIDAD VARCHAR(1),
  SALIDA_ANTICIPADA VARCHAR(1),
  LLEGADA_TARDE VARCHAR(1),
  AUSENCIA_PERIODO VARCHAR(1),
  AUSENCIA VARCHAR(1),
  SALIDA_TARDIA_PAUSA VARCHAR(1),
  EXCESO_PAUSAS VARCHAR(1),
  INGRESO_ANTICIPADO_PAUSA VARCHAR(1),
  CONSTRAINT PK_CATEGORIA PRIMARY KEY (ID_CATEGORIA)
);
CREATE TABLE CONCEPTO
(
  ID_CONCEPTO INT8 NOT NULL,
  PRIORIDAD SMALLINT,
  DESCRIPCION VARCHAR(100),
  NOMBRE VARCHAR(100),
  NOMBRE_CORTO VARCHAR(100),
  ACUMULA VARCHAR(100),
  GRUPO_APLICA VARCHAR(100),
  CONTROL VARCHAR(100),
  SUB_CONTROL VARCHAR(20),
  TIPO VARCHAR(20),
  DESCRIPCION_AUDITORIA VARCHAR(15),
  NOMBRE_RESOURCES VARCHAR(80),
  NOMBRE_CORTO_RESOURCES VARCHAR(80),
  CONSTRAINT PK_CONCEPTO PRIMARY KEY (ID_CONCEPTO)
);
CREATE TABLE CONCEPTO_PROCESO
(
  ID_CONCEPTO_PROCESO INT8 NOT NULL,
  ID_PERSONA INT8,
  PRIORIDAD INT8,
  IGNORAR VARCHAR(1),
  ID_CONCEPTO INT8,
  ID_FORMATO_CONCEPTO INT8,
  ANTERIOR_CONVERSION VARCHAR(1),
  VALOR INT8,
  ID_TIPO_REGISTRO SMALLINT,
  ID_CONCEPTO_PROCESO_REEMPLAZO INT8,
  ID_PROCESO INT8,
  ID_FECHA_JORNADA INT8,
  VALOR_CONCEPTO INT8,
  CONSTRAINT PK_CONCEPTO_PROCESO PRIMARY KEY (ID_CONCEPTO_PROCESO)
);
CREATE TABLE CONFIGURACION_MONITOR
(
  ID_CONFIGURACION_MONITOR INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  MAX_EVENTOS INTEGER,
  MOSTRAR_FOTO VARCHAR(1),
  AVISOS_PENDIENTES INTEGER,
  MODO_RECIENTE INTEGER,
  CANTIDAD_RECIENTE INTEGER,
  HABILITAR_SONIDO VARCHAR(1),
  MAXIMIZAR_CONSOLA VARCHAR(1),
  MOSTRAR_VENTANA VARCHAR(1),
  FECHA_BAJA TIMESTAMP,
  ID_RELOJ_PUNTO_ENTRADA INT8,
  ALERTA_ULT_PRESENTE CHAR(1),
  SONIDO_ULT_PRESENTE CHAR(1),
  SOLO_MOSTRAR_CANT_PRESENTES CHAR(1),
  CONSTRAINT CONFIGURACION_MONITOR_PK PRIMARY KEY (ID_CONFIGURACION_MONITOR)
);

CREATE TABLE CONVENIO
(
  ID_CONVENIO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  CODIGO VARCHAR(40),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT PK_CONVENIO PRIMARY KEY (ID_CONVENIO)
);
CREATE TABLE CONVERSION
(
  ID_CONVERSION INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  TIPO_ACCION VARCHAR(20) ,
  TIPO_CONVERSION VARCHAR(20) NOT NULL,
  APLICA_JORNADA VARCHAR(1),
  PRIORIDAD INT8,
  TOPE INT8,
  OPERACION VARCHAR(20),
  PARAMETRO INT8,
  DIAS VARCHAR(20),
  FRANCO VARCHAR(1),
  FERIADO VARCHAR(1),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  HORA_DESDE VARCHAR(5),
  HORA_HASTA VARCHAR(5),
  UNIDAD_TOPE CHAR(1),
  APLICA_REDONDEO CHAR(1),
  CONSTRAINT PK_CONVERSION PRIMARY KEY (ID_CONVERSION)
);
CREATE TABLE DATO_PERMANENCIA
(
  ID_PERSONA INT8 NOT NULL,
  ID_RELOJ_INGRESO INT8,
  FECHA_INGRESO TIMESTAMP,
  ID_RELOJ_EGRESO INT8,
  FECHA_EGRESO TIMESTAMP,
  PRESENTE VARCHAR(1),
  FECHA_BAJA TIMESTAMP,
  TARJETA VARCHAR(10)
);
CREATE TABLE EMPRESA
(
  ID_EMPRESA INT8 NOT NULL,
  RAZON_SOCIAL VARCHAR(250) NOT NULL,
  CUIT VARCHAR(80),
  DOMICILIO VARCHAR(250),
  LOGO VARCHAR(80),
  TELEFONO VARCHAR(80),
  MAIL VARCHAR(80),
  WEB VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  DESCRIPCION VARCHAR(250),
  ORDEN SMALLINT,
  CONSTRAINT EMPRESAS_PK PRIMARY KEY (ID_EMPRESA)
);
CREATE TABLE ERROR_TECNICO
(
  ID_RELOJ INT8 NOT NULL,
  ID_TIPO_ERROR_TECNICO INT8 NOT NULL,
  FECHA TIMESTAMP,
  ID_CONSOLA INT8,
  ID_PERSONA INT8,
  ID_ACEPTADO INT8,
  OBSERVACIONES VARCHAR(250)
);
CREATE TABLE ESTADO_AGENDA
(
  ID_ESTADO_AGENDA SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT ESTADO_AGENDA_PK PRIMARY KEY (ID_ESTADO_AGENDA)
);
CREATE TABLE EXTENCION_PERIODO_FLEXIBLE
(
  ID_EXTENCION_PERIODO_FLEXIBLE INT8 NOT NULL,
  ID_PERIODO INT8 NOT NULL,
  HORA_A VARCHAR(5),
  HORA_B VARCHAR(5),
  HORA_C VARCHAR(5),
  CORRIMIENTO VARCHAR(5),
  HORA_IDEAL_ENTRADA VARCHAR(5),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  TIPO VARCHAR(1),
  HORA_ENTRADA_PERMITIDA VARCHAR(5),
  CONSTRAINT PK_EXTENCION_PERIODO_FLEXIBLE PRIMARY KEY (ID_EXTENCION_PERIODO_FLEXIBLE)
);
CREATE TABLE FERIADO
(
  ID_FERIADO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  ID_FORMATO_CONCEPTO_VECES INT8,
  ID_FORMATO_CONCEPTO_HORAS INT8,
  VALOR_HORAS VARCHAR(5),
  VALOR_VECES INT8,
  FECHA TIMESTAMP,
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT PK_FERIADO PRIMARY KEY (ID_FERIADO)
);
CREATE TABLE FICHADA_PROCESO
(
  ID_FICHADA_PROCESO INT8 NOT NULL,
  ID_PERSONA INT8,
  FECHA_FICHADA TIMESTAMP,
  PRIORIDAD INT8,
  ID_FICHADA_PROCESO_REEMPLAZO INT8,
  IGNORAR VARCHAR(1),
  ID_TIPO_REGISTRO SMALLINT,
  ID_PROCESO INT8,
  ID_FECHA_JORNADA INT8,
  ID_GEOLOCALIZACION INT8, 
  CONSTRAINT PK_FICHADA_PROCESO PRIMARY KEY (ID_FICHADA_PROCESO)
);
CREATE TABLE FORMATO_CONCEPTO
(
  ID_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  CODIGO VARCHAR(40),
  TIPO_ACUMULACION VARCHAR(20),
  CODIGO_EXPORTACION VARCHAR(40),
  UNIDAD_LIQUIDACION INT8,
  TOLERANCIA INT8,
  MINIMO INT8,
  MAXIMO INT8,
  CON_SALIDA VARCHAR(1),
  TIPO_REDONDEO VARCHAR(20),
  REQUIERE_AUTORIZACION VARCHAR(1),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT PK_FORMATO_CONCEPTO PRIMARY KEY (ID_FORMATO_CONCEPTO)
);
CREATE TABLE GRUPO
(
  ID_GRUPO INT8 NOT NULL,
  ID_AGRUPACION INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  CODIGO VARCHAR(8) NOT NULL,
  MAIL VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  ID_HORARIO_CONTROL_PERSONAL INT8,
  CONSTRAINT GRUPOS_PK PRIMARY KEY (ID_GRUPO)
);
CREATE TABLE HORARIO
(
  ID_HORARIO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  CODIGO VARCHAR(1) NOT NULL,
  DIAS VARCHAR(7) NOT NULL,
--  HORA_DESDE Time NOT NULL,
--  HORA_HASTA Time NOT NULL,
  HORA_DESDE Time NOT NULL,
  HORA_HASTA Time NOT NULL,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  CONSTRAINT HORARIO_PK PRIMARY KEY (ID_HORARIO)
);
CREATE TABLE HORARIO_CONTROL_PERSONAL
(
  ID_HORARIO_CONTROL_PERSONAL INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_TIPO_HORARIO INT8 NOT NULL,
  NOMBRE VARCHAR(40),
  DESCRIPCION VARCHAR(40),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CODIGO VARCHAR(20),
  CONSTRAINT PK_HORARIO_CONTROL_PERSONAL PRIMARY KEY (ID_HORARIO_CONTROL_PERSONAL)
);
CREATE TABLE IDIOMA
(
  ID_IDIOMA SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  LOC VARCHAR(2) NOT NULL,
  CONSTRAINT IDIOMA_PK PRIMARY KEY (ID_IDIOMA)
);
CREATE TABLE IDS_CONSOLA
(
  ID_CONSOLA INT8 NOT NULL
);
CREATE TABLE JORNADA
(
  ID_JORNADA INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_HORARIO_CONTROL_PERSONAL INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  CODIGO VARCHAR(40),
  DIAS VARCHAR(20),
  CANTIDAD_DIAS INTEGER,
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  ES_FRANCO VARCHAR(1),
  ORDEN INT8,
  PAUSA_ENTRE_PERIODOS CHAR(1),
  CONSTRAINT PK_JORNADA PRIMARY KEY (ID_JORNADA)
);
CREATE TABLE JORNADA_CALENDARIO
(
  ID_JORNADA_CALENDARIO INT8 NOT NULL,
  ID_PERSONA_HORARIO INT8 NOT NULL,
  FECHA_CALENDARIO DATE,
  FECHA_ALTA TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_BAJA INT8
);
CREATE TABLE JUSTIFICACION
(
  ID_JUSTIFICACION INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  JUSTIFICA VARCHAR(1),
  TIPO_ACCION VARCHAR(20) NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  PREMIO INT8,
  ID_CONCEPTO_VECES INT8,
  ID_CONCEPTO_HORAS INT8,
  CONSTRAINT PK_JUSTIFICACION PRIMARY KEY (ID_JUSTIFICACION)
);
CREATE TABLE LOTE_AGENTE
(
  ID_LOTE INT8 NOT NULL,
  ID_RELOJ INT8 NOT NULL,
  CMD VARCHAR(50),
  PARAMS VARCHAR(2000),
  ORDEN INT8
);
CREATE TABLE MODULO
(
  ID_MODULO INT8 NOT NULL,
  DESCRIPCION VARCHAR(250) NOT NULL,
  URL VARCHAR(80),
  HABILITADO VARCHAR(1),
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT MODULO_PK PRIMARY KEY (ID_MODULO)
);
CREATE TABLE NOVEDAD
(
  ID_NOVEDAD INT8 NOT NULL,
  ID_TIPO_NOVEDAD INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  FECHA_DESDE DATE,
  FECHA_HASTA DATE,
  CANTIDAD INT8,
  ID_HORARIO_CONTROL_PERSONAL INT8,
  FECHA_BAJA TIMESTAMP,
  ID_JORNADA INT8,
  AUTORIZADO VARCHAR(1),
  ID_JUSTIFICACION INT8,
  ID_TIPO_JUSTIFICACION INT8,
  AFECTA_A VARCHAR(1),
  FECHA_ROTATIVIDAD TIMESTAMP,
  CASO_AUTORIZACION CHAR(1),
  DIAS_CORRIDOS CHAR(1),
  ID_TIPO_AUTORIZACION INT8,
  CANTIDAD_AUTORIZADA INT8,
  ID_FORMATO_CONCEPTO INT8,
  OBSERVACIONES VARCHAR(255),
  ID_FORMATO_CONCEPTO_VECES INT8,
  ID_FORMATO_CONCEPTO_HORAS INT8,
  VALOR_HORAS VARCHAR(5),
  VALOR_VECES INT8,
  CONSTRAINT PK_NOVEDAD PRIMARY KEY (ID_NOVEDAD)
);

CREATE TABLE REL_NOVEDAD_DOCUMENTO 
(
  	ID_NOVEDAD INT8 NOT NULL,
  	ID_DOCUMENTO INT8 NOT NULL,
  	CONSTRAINT PK_REL_NOVEDAD_DOCUMENTO PRIMARY KEY (ID_NOVEDAD, ID_DOCUMENTO)
);

CREATE TABLE NOVEDAD_EXPORTACION 
(
  ID_NOVEDAD_EXPORTACION INT8 NOT NULL,
  ID_NOVEDAD INT8 NOT NULL,
  OPERACION CHAR(1) NOT NULL,
  CONSTRAINT NOVEDAD_EXPORTACION_PK PRIMARY KEY (ID_NOVEDAD_EXPORTACION)
);

CREATE TABLE ESTADO_AUTORIZACION
(
    ID_ESTADO_AUTORIZACION INT8 NOT NULL,
    DESCRIPCION VARCHAR(40) NOT NULL,
    DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
    VISIBLE CHAR(1),
    CONSTRAINT ESTADO_AUTORIZACION_PK PRIMARY KEY (ID_ESTADO_AUTORIZACION)
);

CREATE TABLE REL_NOVEDAD_USUARIO
(
    ID_NOVEDAD INT8 NOT NULL,
    ID_USUARIO INT8 NOT NULL,
    ID_ESTADO_AUTORIZACION INT8 NOT NULL,
    OBSERVACIONES VARCHAR(500),
    CONSTRAINT REL_NOVEDAD_USUARIO_PK PRIMARY KEY (ID_NOVEDAD, ID_USUARIO)
);

CREATE TABLE OPCION
(
  ID_OPCION INT8 NOT NULL,
  ID_SUBMENU INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  ACTION_PATH VARCHAR(80) NOT NULL,
  URL VARCHAR(150),
  POPUP VARCHAR(1),
  ORDEN SMALLINT,
  FECHA_BAJA TIMESTAMP,
  ASISTENCIA_MOBILE CHAR(1),
  WEB_MOBILE CHAR(1),
  CONSTRAINT OPCIONES_PK PRIMARY KEY (ID_OPCION)
);
CREATE TABLE OPERACION
(
  ID_OPERACION INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  OPER VARCHAR(30) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT OPERACION_PK PRIMARY KEY (ID_OPERACION)
);
CREATE TABLE PARAMETRO_ACCESO
(
  ID_PARAMETRO_ACCESO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  MP_FRECUENCIA_ACT Integer NOT NULL,
  TIPO_DESTINO Integer NOT NULL,
  IMPRIMIR_CREDENCIAL VARCHAR(1),
  NOTIF_VISITAS_MAIL VARCHAR(1),
--  HORA_PROCESO_TARJETAS Time,
--  HORA_PROCESO_AGENDA Time,
  HORA_PROCESO_TARJETAS Time,
  HORA_PROCESO_AGENDA Time,
  FECHA_BAJA TIMESTAMP,
  CREDENCIAL_EXTENDIDA CHAR(1),
  ACTIVO_PROCESO_PRESENTES CHAR(1),
  HORA_PROCESO_PRESENTES Time,
  CONSTRAINT PARAMETRO_ACCESO_PK PRIMARY KEY (ID_PARAMETRO_ACCESO)
);
CREATE TABLE PARAMETRO_GENERAL
(
  ID_PARAMETRO_GENERAL INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  TIMEOUT_LECTURA Integer NOT NULL,
  TIMEOUT_SERIE Integer NOT NULL,
  TIMEOUT_TCP Integer NOT NULL,
  TIMEOUT_MODEM Integer NOT NULL,
  REINTENTOS Integer NOT NULL,
  DIFF_HORA_PC_RELOJ Integer NOT NULL,
  ERROR_TECNICO_COMUNICACION INTEGER,
  ERROR_TECNICO_REGISTROS INTEGER,
  ERROR_FUERA_HORA INTEGER,
  ELIMINA_HORARIOS_DUPLICADAS VARCHAR(1),
  ELIMINA_ACCESOS_DUPLICADAS VARCHAR(1),
  ELIMINA_GENERICOS_DUPLICADAS VARCHAR(1),
  ELIMINA_COMEDOR_DUPLICADAS VARCHAR(1),   
  DIFF_DUPLICADA_HORARIOS INTEGER,
  DIFF_DUPLICADA_ACCESOS INTEGER,
  DIFF_DUPLICADA_COMEDOR INTEGER,
  DIFF_DUPLICADA_GENERICO INTEGER,
  SMTP_HOST VARCHAR(80),
  SMTP_PUERTO INTEGER,
  FTP_PROTOCOLO VARCHAR(10),
  FTP_HOST VARCHAR(80),
  FTP_PUERTO INTEGER,
  FTP_LOGIN VARCHAR(80),
  FTP_CLAVE VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
--  TIMEOUT_SESSION Time,
  TIMEOUT_SESSION Time,
  PAGINACION INTEGER,
  USUARIO_AUTENTICACION VARCHAR(80),
  CLAVE_AUTENTICACION VARCHAR(80),
  OCULTAR_FOTO CHAR(1),
  DIGITOS_TARJETA INTEGER,
  REMITENTE VARCHAR(80), 
  SINCRO_HUELLAS_BIO_ACC CHAR(1),
  SINCRO_HUELLAS_BIO_HOR CHAR(1),
  SMTP_SSL_TLS CHAR(1),
  ACTIVAR_COMP_LEGAJO_NUMERICO CHAR(1),
  CANTIDAD_DIGITOS_LEGAJOS INTEGER,
  CONSTRAINT PARAMETRO_GENERAL_PK PRIMARY KEY (ID_PARAMETRO_GENERAL)
);
CREATE TABLE PARAMETRO_HORARIO
(
  ID_HORARIO_PARAMETRO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  UNIDAD_LIQUIDACION INT8 NOT NULL,
  TOLERANCIA_LIQUIDACION INT8 NOT NULL,
  FORMATO_CONCEPTO INT8,
  PESO_ARCHIVO_MMD INTEGER,
  EDITAR_NOVEDAD CHAR(1),
  CONSTRAINT PK_PARAMETRO_HORARIO PRIMARY KEY (ID_HORARIO_PARAMETRO)
);
CREATE TABLE PARAMETRO_PROCESO
(
  ID_PARAMETRO_PROCESO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  FRECUENCIA VARCHAR(1),
  CANTIDAD INT8,
  COPIA_HORARIO VARCHAR(1),
  COPIA_CONCEPTOS VARCHAR(1),
  COPIA_CONVERSIONES VARCHAR(1),
  KEEP_MODIF_REGISTRACION VARCHAR(1),
  KEEP_MODIF_HORARIO VARCHAR(1),
  KEEP_MODIF_AUTORIZACION VARCHAR(1),
  KEEP_MODIF_FERIADO VARCHAR(1),
  KEEP_MODIF_JUSTIFICACION VARCHAR(1),
  KEEP_MODIF_CALCULO VARCHAR(1),
  USA_HORARIO VARCHAR(1),
  USA_CONCEPTO VARCHAR(1),
  USA_CONVERSION VARCHAR(1),
  USA_CATEGORIA VARCHAR(1),
  ACTIVO CHAR(1),
  HORA_INICIO CHAR(5),
  HORA_FIN CHAR(5),
  FECHA_ULTIMA_EJECUCION TIMESTAMP,
  REASIGNAR_FICHADAS VARCHAR(1),
  KEEP_MODIF_PRI_ULT_FIC VARCHAR(1),
  KEEP_AUTORIZACION_HORAS_EXTRAS CHAR(1),
  COMIENZO_CONTROL_SISTEMA DATE,
  ID_TIPO_EJECUCION_PROCESO INT8 NOT NULL,
  KEEP_MODIF_CENTRO_COSTO VARCHAR(1),
  USA_REGISTRACION_ALTA_MMD VARCHAR(1),
  PRIMARY KEY (ID_PARAMETRO_PROCESO)
);



CREATE TABLE PARAMETRO_IMPO
(
  ID_PARAMETRO_IMPO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40), 
  I_DIVISION VARCHAR(1) NOT NULL,
  I_SEPARA VARCHAR(1) ,
  I_DIA_POS Integer NOT NULL,
  I_DIA_DESP Integer NOT NULL,
  I_MES_POS Integer NOT NULL,
  I_MES_DESP Integer NOT NULL,
  I_ANIO_POS Integer NOT NULL,
  I_ANIO_DESP Integer NOT NULL,
  I_ANIO_LONG Integer NOT NULL,
  I_HOR_POS Integer NOT NULL,
  I_HOR_DESP Integer NOT NULL,
  I_MIN_POS Integer NOT NULL,
  I_MIN_DESP Integer NOT NULL,
  I_AMPM_POS INTEGER,
  I_AMPM_DESP INTEGER,
  I_TARJETA_POS Integer NOT NULL,
  I_TARJETA_TRUNC VARCHAR(1),
  I_TARJETA_LONG Integer NOT NULL,
  I_RELOJ_POS Integer NOT NULL,
  I_RELOJ_LONG Integer NOT NULL,
  I_COMANDO_POS INTEGER,
  I_COMANDO_LONG INTEGER,
  I_RELOJ_FIJO_POS INTEGER,
  I_RELOJ_FIJO_LONG INTEGER,
  I_DESCRIPCION_RELOJ CHAR(1) DEFAULT 'N',
  CONSTRAINT PARAMETRO_IMPO_PK PRIMARY KEY (ID_PARAMETRO_IMPO)
);
  
CREATE TABLE PARAMETRO_EXPO
(
  ID_PARAMETRO_EXPO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40), 
  E_DIVISION VARCHAR(1) NOT NULL,
  E_SEPARA VARCHAR(1) NOT NULL,
  E_OBSERVACION VARCHAR(80),
  E_LEGAJO_POS Integer NOT NULL,
  E_CONCEPTO_POS Integer NOT NULL,
  E_TOTAL_POS Integer NOT NULL,
  E_EMPRESA_POS INTEGER,
  E_CONVENIO_POS INTEGER,
  E_FINGRESO_POS INTEGER,
  E_TARJETA_POS INTEGER,
  E_APELLIDO_POS INTEGER,
  E_NOMBRE_POS INTEGER,
  E_CATEG_POS INTEGER,
  E_FECHA_HASTA_POS INTEGER,
  E_QUINCENA_POS INTEGER,
  E_OBS_POS INTEGER,
  E_SEPARADOR_DECIMAL VARCHAR(1) NOT NULL,
  E_PARTE_ENTERA_LONG Integer NOT NULL,
  E_LEGAJO_LONG 	INTEGER,
  E_CONCEPTO_LONG	INTEGER,
  E_EMPRESA_LONG 	INTEGER,
  E_CONVENIO_LONG 	INTEGER,
  E_FINGRESO_LONG	INTEGER,
  E_TARJETA_LONG 	INTEGER,
  E_APELLIDO_LONG	INTEGER,
  E_NOMBRE_LONG 	INTEGER,
  E_CATEG_LONG  	INTEGER,
  E_FECHA_HASTA_LONG INTEGER,
  E_QUINCENA_LONG	INTEGER,
  E_OBS_LONG		INTEGER,
  E_NUMERO_DOCUMENTO_POS	INTEGER,
  E_NUMERO_DOCUMENTO_LONG	INTEGER,
  E_FECHA_DESDE_POS INTEGER,
  E_FECHA_DESDE_LONG INTEGER,
  E_ID_AGRUPACION	INT8,
  E_AGRUPACION_POS	INTEGER,
  E_AGRUPACION_LONG	INTEGER,
  E_OBSDIARIA_LONG  INTEGER,
  E_OBSDIARIA_POS   INTEGER,
  E_OBSPERSONA_LONG INTEGER,
  E_OBSPERSONA_POS  INTEGER,
  E_FORMATO_FECHA 	VARCHAR(10),
  E_LEGAJO_DESC 	VARCHAR(30),
  E_CONCEPTO_DESC 	VARCHAR(30),
  E_TOTAL_DESC 		VARCHAR(30),
  E_EMPRESA_DESC 	VARCHAR(30),
  E_CONVENIO_DESC 	VARCHAR(30),
  E_FINGRESO_DESC 	VARCHAR(30),
  E_TARJETA_DESC 	VARCHAR(30),
  E_APELLIDO_DESC 	VARCHAR(30),
  E_NOMBRE_DESC 	VARCHAR(30),
  E_CATEG_DESC 		VARCHAR(30),
  E_FECHA_HASTA_DESC VARCHAR(30),
  E_QUINCENA_DESC 	VARCHAR(30),
  E_OBS_DESC 		VARCHAR(30),
  E_NUMERO_DOCUMENTO_DESC 	VARCHAR(30),
  E_FECHA_DESDE_DESC VARCHAR(30),
  E_AGRUPACION_DESC VARCHAR(30),
  E_OBSDIARIA_DESC 	VARCHAR(30),
  E_OBSPERSONA_DESC VARCHAR(30),
  E_SECTOR_POS 		INTEGER,
  E_SECTOR_LONG 	INTEGER,
  E_SECTOR_DESC 	VARCHAR(30),
  E_NOMBRE_TABLA	VARCHAR(30),
  E_OBSERVACION_2	VARCHAR(80),
  E_OBS_2_POS 		INTEGER,
  E_OBS_2_LONG 		INTEGER,
  E_OBS_2_DESC 		VARCHAR(30),
  E_HORA_DESDE_POS 	INTEGER,
  E_HORA_DESDE_LONG INTEGER,
  E_HORA_DESDE_DESC VARCHAR(30),
  E_HORA_HASTA_POS 	INTEGER,
  E_HORA_HASTA_LONG INTEGER,
  E_HORA_HASTA_DESC VARCHAR(30),
  CONSTRAINT PARAMETRO_EXPO_PK PRIMARY KEY (ID_PARAMETRO_EXPO)
);

CREATE TABLE FORMATO_EXPO_NOVEDAD (
  ID_FORMATO_EXPO_NOVEDAD INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  DESCRIPCION_RESOURCES VARCHAR(80),
  CONSTRAINT FORMATO_EXPO_NOVEDAD_PK PRIMARY KEY (ID_FORMATO_EXPO_NOVEDAD)
);

CREATE TABLE PARAMETRO_NOVEDAD
(
  ID_PARAMETRO_NOVEDAD INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  FORMATO_AUSENCIA INT8,
  FORMATO_CAMBIO_HORARIO INT8, 
  FORMATO_AUTORIZACION INT8, 
  FORMATO_FERIADO INT8,
  NOMBRE_ARCHIVO_AUSENCIA VARCHAR(255),
  NOMBRE_ARCHIVO_CAMBIO_HORARIO VARCHAR(255),
  NOMBRE_ARCHIVO_AUTORIZACION VARCHAR(255),
  NOMBRE_ARCHIVO_FERIADO VARCHAR(255),
  CONSTRAINT PARAMETRO_NOVEDAD_PK PRIMARY KEY (ID_PARAMETRO_NOVEDAD)
);

CREATE TABLE PARAMETRO_WORKFLOW
(
    ID_PARAMETRO_WORKFLOW INT8 NOT NULL,
    ID_EMPRESA INT8 NOT NULL,
    USER_LOGIN CHAR(1),
    AUTOCONSULTA_ACTIVA CHAR(1),
    ID_USUARIO_SUPERVISOR INT8,
    MOSTRAR_PENDIENTES CHAR(1),
    ENVIO_MAIL CHAR(1),
    CONSTRAINT PARAMETRO_WORKFLOW_PK PRIMARY KEY (ID_PARAMETRO_WORKFLOW)
);

CREATE TABLE PERFIL
(
  ID_PERFIL INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  ES_GRUPO_AD CHAR(1),
  CONSTRAINT PERFILES_PK PRIMARY KEY (ID_PERFIL)
);
CREATE TABLE PERFIL_ACCESO
(
  ID_PERFIL_ACCESO INT8 NOT NULL,
  ID_ACCESO INT8,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  ES_VISITA VARCHAR(1),
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  CONSTRAINT PERFIL_ACCESOS_PK PRIMARY KEY (ID_PERFIL_ACCESO)
);
CREATE TABLE PERIODO
(
  ID_PERIODO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_JORNADA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  HORARIO_ENTRADA VARCHAR(5),
  HORARIO_SALIDA VARCHAR(5),
--  TOLERANCIA_ENTRADA Time,
--  TOLERANCIA_SALIDA Time,
  TOLERANCIA_ENTRADA Time,
  TOLERANCIA_SALIDA Time,
  FRANCO VARCHAR(1),
  CANTIDAD_MAX_PAUSAS SMALLINT,
  DESCONTAR_PAUSA VARCHAR(1),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  HORA_PAUSA_HASTA VARCHAR(5),
  HORA_PAUSA_DESDE VARCHAR(5),
  TIEMPO_MAXIMO_SUMA_PAUSAS VARCHAR(5),
  CONFIRMADO CHAR(1),
  OBLIGATORIO CHAR(1),
  CONSTRAINT PK_PERIODO PRIMARY KEY (ID_PERIODO)
);
CREATE TABLE PERSONA
(
  ID_PERSONA INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_TIPO_PERSONA INT8 NOT NULL,
  NOMBRE VARCHAR(80),
  APELLIDO VARCHAR(80),
  ID_TIPO_DOCUMENTO INT8,
  NUMERO_DOCUMENTO VARCHAR(15),
  CUIL VARCHAR(15),
  LEGAJO VARCHAR(40),
  TARJETA VARCHAR(10),
  FECHA_VTO_TARJETA TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  CONTROL_ACCESO VARCHAR(1),
  EMAIL VARCHAR(80),
  FOTO VARCHAR(255),
  ID_DESTINO_SECTOR INT8,
  ID_PERFIL_ACCESO INT8,
  ES_COMENSAL VARCHAR(1),
  LISTA_EXCLUSION VARCHAR(1),
  ID_DESTINO_EMPLEADO INT8,
  EMPRESA_VISITA VARCHAR(80),
  CONTROL_PERSONAL VARCHAR(1),
  CONTROL_COMEDOR VARCHAR(1),
  OBSERVACION VARCHAR(256),
  TARJETA_ZK VARCHAR(20),
  LOGIN VARCHAR(40),
  CLAVE VARCHAR(40),
  NOMBRE_CORTO VARCHAR(22),
  TIPO_PRIVILEGIO_RELOJ INT8,
  CLAVE_RELOJ VARCHAR(80),
  ID_SUPERIOR_INMEDIATO INT8,
  ROSTRO_TEMPLATE Text,
  ROSTRO_LONGITUD INT8,
  SINCRO_WS CHAR(1),
  CONSTRAINT PERSONA_PK PRIMARY KEY (ID_PERSONA)
);
CREATE TABLE PERSONA_HORARIO
(
  ID_PERSONA_HORARIO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  FECHA_INGRESO TIMESTAMP,
  FECHA_EGRESO TIMESTAMP,
  FECHA_ROTATIVIDAD TIMESTAMP,
  PRIMERA_ULTIMA_FICHADA VARCHAR(1) NOT NULL,
  ID_HORARIO_CONTROL_PERSONAL INT8 NOT NULL,
  HORARIO_LABORAL TIMESTAMP,
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  ID_GRUPO INT8,
  ID_TIPO_AUTORIZACION INT8,
  CONSTRAINT PK_PERSONA_HORARIO PRIMARY KEY (ID_PERSONA_HORARIO)
);
CREATE TABLE PROTOCOLO
(
  ID_PROTOCOLO INT8 NOT NULL,
  ID_TIPO_RELOJ Integer NOT NULL,
  OPERACION VARCHAR(255) NOT NULL,
  MENSAJE VARCHAR(255) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PROTOCOLO_PK PRIMARY KEY (ID_PROTOCOLO)
);
CREATE TABLE PRO_CONVERSION
(
  ID_PRO_CONVERSION INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  TIPO_ACCION VARCHAR(20),
  TIPO_CONVERSION VARCHAR(20) NOT NULL,
  HORA_DESDE VARCHAR(5),
  HORA_HASTA VARCHAR(5),
  APLICA_JORNADA VARCHAR(1),
  PRIORIDAD INT8,
  TOPE INT8,
  OPERACION VARCHAR(20),
  PARAMETRO INT8,
  DIAS VARCHAR(20),
  FRANCO VARCHAR(1),
  FERIADO VARCHAR(1),
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_CONVERSION INT8,
  UNIDAD_TOPE CHAR(1),
  APLICA_REDONDEO CHAR(1),
  CONSTRAINT PK_PRO_CONVERSION PRIMARY KEY (ID_PRO_CONVERSION)
);
CREATE TABLE PRO_EXT_PER_FLEX
(
  ID_PRO_EXT_PER_FLEX INT8 NOT NULL,
  HORA_A VARCHAR(5),
  HORA_B VARCHAR(5),
  HORA_C VARCHAR(5),
  CORRIMIENTO VARCHAR(5),
  HORA_IDEAL_ENTRADA VARCHAR(5),
  ID_EX_EXT_PER_FLEX INT8,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_PERIODO INT8,
  TIPO VARCHAR(1),
  HORA_ENTRADA_PERMITIDA VARCHAR(5),
  CONSTRAINT PK_PRO_EXT_PER_FLEX PRIMARY KEY (ID_PRO_EXT_PER_FLEX)
);
CREATE TABLE PRO_FORMATO_CONCEPTO
(
  ID_PRO_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  CODIGO VARCHAR(40),
  TIPO_ACUMULACION VARCHAR(20),
  CODIGO_EXPORTACION VARCHAR(40),
  UNIDAD_LIQUIDACION INT8,
  TOLERANCIA INT8,
  MINIMO INT8,
  MAXIMO INT8,
  CON_SALIDA VARCHAR(1),
  TIPO_REDONDEO VARCHAR(20),
  REQUIERE_AUTORIZACION VARCHAR(1),
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_FORMATO_CONCEPTO INT8,
  CONSTRAINT PK_PRO_FORMATO_CONCEPTO PRIMARY KEY (ID_PRO_FORMATO_CONCEPTO)
);
CREATE TABLE PRO_HOR_CON_PER
(
  ID_PRO_HOR_CON_PER INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_TIPO_HORARIO INT8 NOT NULL,
  NOMBRE VARCHAR(40),
  DESCRIPCION VARCHAR(40),
  CODIGO VARCHAR(20),
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_HOR_CON_PER INT8,
  CONSTRAINT PK_PRO_H_C_P PRIMARY KEY (ID_PRO_HOR_CON_PER)
);
CREATE TABLE PRO_JORNADA
(
  ID_PRO_JORNADA INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  ES_FRANCO VARCHAR(1),
  CODIGO VARCHAR(40),
  DIAS VARCHAR(20),
  CANTIDAD_DIAS INTEGER,
  ORDEN INT8,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_JORNADA INT8,
  ID_EX_HOR_CON_PER INT8,
  PAUSA_ENTRE_PERIODOS CHAR(1),
  CONSTRAINT PK_PRO_JORNADA PRIMARY KEY (ID_PRO_JORNADA)
);
CREATE TABLE PRO_JORNADA_CALENDARIO
(
  ID_PRO_JORNADA_CALENDARIO INT8 NOT NULL,
  ID_PERSONA_HORARIO INT8 NOT NULL,
  FECHA_CALENDARIO DATE,
  FECHA_BAJA TIMESTAMP,
  ID_EX_JORNADA_CALENDARIO INT8,
  CONSTRAINT PK_PRO_JORNADA_CALENDARIO PRIMARY KEY (ID_PRO_JORNADA_CALENDARIO)
);
CREATE TABLE PRO_JUSTIFICACION
(
  ID_PRO_JUSTIFICACION INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  JUSTIFICA VARCHAR(1),
  TIPO_ACCION VARCHAR(20) NOT NULL,
  PREMIO INT8,
  ID_EMPRESA INT8 NOT NULL,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_JUSTIFICACION INT8,
  ID_EX_CONCEPTO_VECES INT8,
  ID_EX_CONCEPTO_HORAS INT8,
  CONSTRAINT PK_PRO_JUSTIFICACION PRIMARY KEY (ID_PRO_JUSTIFICACION)
);
CREATE TABLE PRO_NOVEDAD
(
  ID_PRO_NOVEDAD INT8 NOT NULL,
  ID_TIPO_NOVEDAD INT8 NOT NULL,
  ID_TIPO_JUSTIFICACION INT8,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  FECHA_DESDE DATE,
  FECHA_HASTA DATE,
  CANTIDAD INT8,
  AUTORIZADO VARCHAR(1),
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_NOVEDAD INT8,
  ID_EX_HOR_CON_PER INT8,
  ID_EX_JUSTIFICACION INT8,
  AFECTA_A VARCHAR(1),
  ID_JORNADA INT8,
  FECHA_ROTATIVIDAD TIMESTAMP,
  CASO_AUTORIZACION CHAR(1),
  DIAS_CORRIDOS CHAR(1),
  ID_TIPO_AUTORIZACION INT8,
  CANTIDAD_AUTORIZADA INT8,
  ID_FORMATO_CONCEPTO INT8,
  OBSERVACIONES VARCHAR(255),
  ID_FORMATO_CONCEPTO_VECES INT8,
  ID_FORMATO_CONCEPTO_HORAS INT8,
  VALOR_HORAS VARCHAR(5),
  VALOR_VECES INT8,
  CONSTRAINT PK_PRO_NOVEDAD PRIMARY KEY (ID_PRO_NOVEDAD)
);
CREATE TABLE PRO_PERIODO
(
  ID_PRO_PERIODO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  HORARIO_ENTRADA VARCHAR(5),
  HORARIO_SALIDA VARCHAR(5),
--  TOLERANCIA_ENTRADA Time,
--  TOLERANCIA_SALIDA Time,
  TOLERANCIA_ENTRADA Time,
  TOLERANCIA_SALIDA Time,
  FRANCO VARCHAR(1),
  HORA_PAUSA_DESDE VARCHAR(5),
  HORA_PAUSA_HASTA VARCHAR(5),
  CANTIDAD_MAX_PAUSAS SMALLINT,
  TIEMPO_MAXIMO_SUMA_PAUSAS VARCHAR(5),
  DESCONTAR_PAUSA VARCHAR(1),
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_JORNADA INT8,
  ID_EX_PERIODO INT8,
  CONFIRMADO CHAR(1),
  OBLIGATORIO CHAR(1),
  CONSTRAINT PK_PRO_PERIODO PRIMARY KEY (ID_PRO_PERIODO)
);
CREATE TABLE PRO_REL_CONVERSION_CONVENIO
(
  ID_PRO_REL_CONVERSION_CONVENIO INT8 NOT NULL,
  ID_EX_CONVERSION INT8 NOT NULL,
  ID_CONVENIO INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_CONV_CONV1 PRIMARY KEY (ID_PRO_REL_CONVERSION_CONVENIO)
);
CREATE TABLE PRO_REL_F_CONC_CONV_DES
(
  ID_PRO_REL_F_CONC_CONV_DES INT8 NOT NULL,
  ID_EX_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_EX_CONVERSION INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_F_CONC_CONV_DES1 PRIMARY KEY (ID_PRO_REL_F_CONC_CONV_DES)
);
CREATE TABLE PRO_REL_F_CONC_CONV_ORI
(
  ID_PRO_REL_F_CONC_CONV_ORI INT8 NOT NULL,
  ID_EX_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_EX_CONVERSION INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_F_CONC_CONV_ORI1 PRIMARY KEY (ID_PRO_REL_F_CONC_CONV_ORI)
);
CREATE TABLE PRO_REL_JOR_CON_FOR
(
  ID_PRO_REL_JOR_CON_FOR INT8 NOT NULL,
  ID_EX_FORMATO_CONCEPTO INT8,
  ID_CONCEPTO INT8 NOT NULL,
  ID_EX_JORNADA INT8,
  FECHA_BAJA TIMESTAMP,
  ID_EX_REL_JOR_CON_FOR INT8,
  CONSTRAINT PK_REL_JOR_CON PRIMARY KEY (ID_PRO_REL_JOR_CON_FOR)
);
CREATE TABLE PRO_REL_JUSTIFICACION_TIPO
(
  ID_PRO_REL_JUSTIFICACION_TIPO INT8 NOT NULL,
  ID_EX_JUSTIFICACION INT8 NOT NULL,
  ID_TIPO_JUSTIFICACION INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_JUSTIFICACION_TIPO1 PRIMARY KEY (ID_PRO_REL_JUSTIFICACION_TIPO)
);
CREATE TABLE ANORMALIDAD_CALCULO(
  ID_ANORMALIDAD_CALCULO INT8 NOT NULL,
  ID_PERSONA INT8,
  ID_TIPO_REGISTRO SMALLINT,
  ID_JUSTIFICACION INT8,
  FICHADA TIMESTAMP,
  HORARIO TIMESTAMP,
  ID_ANORMALIDAD_CALC_REEMPLAZO INT8,
  ID_PROCESO INT8 NOT NULL,
  ID_FECHA_JORNADA INT8 NOT NULL,
  VALOR_VECES INT8,
  VALOR_HORAS INT8,
  ID_TIPO_JUSTIFICACION INT8,
  ID_PERIODO INT8,
  ID_PERIODO_JORNADA VARCHAR(250),
  CONSTRAINT PK_ANORMALIDAD_CALCULO PRIMARY KEY (ID_ANORMALIDAD_CALCULO)
);
CREATE TABLE PRO_REL_NOVEDAD_GRUPO
(
  ID_PRO_REL_NOVEDAD_GRUPO INT8 NOT NULL,
  ID_EX_NOVEDAD INT8 NOT NULL,
  ID_GRUPO INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_NOVEDAD_GRUPO1 PRIMARY KEY (ID_PRO_REL_NOVEDAD_GRUPO)
);
CREATE TABLE PRO_REL_NOVEDAD_PERSONA
(
  ID_PRO_REL_NOVEDAD_PERSONA INT8 NOT NULL,
  ID_EX_NOVEDAD INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_NOVEDAD_PERSONA1 PRIMARY KEY (ID_PRO_REL_NOVEDAD_PERSONA)
);
CREATE TABLE PRO_REL_PERIODO_CONCEPTO
(
  ID_PRO_REL_PERIODO_CONCEPTO INT8 NOT NULL,
  ID_CONCEPTO INT8 NOT NULL,
  ID_EX_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_EX_PERIODO INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  ID_EX_REL_PERIODO_CONCEPTO INT8,
  CONSTRAINT PK_REL_PER_CON PRIMARY KEY (ID_PRO_REL_PERIODO_CONCEPTO)
);
CREATE TABLE PRO_RETICULA_CALENDARIO
(
  ID_PRO_RETICULA_CALENDARIO INT8 NOT NULL,
  DIAS VARCHAR(100),
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_EX_RETICULA_CALENDARIO INT8,
  ID_EX_JORNADA_CALENDARIO INT8,
  ID_EX_JORNADA INT8,
  CONSTRAINT PK_PRO_RETICULA_CALENDARIO PRIMARY KEY (ID_PRO_RETICULA_CALENDARIO)
);
CREATE TABLE PRO_JORNADA_INDIV
(
  ID_PRO_JORNADA_INDIV INT8 NOT NULL,
  ID_PRO_JORNADA INT8 NOT NULL,
  ID_PERSONA INT8,
  ES_FRANCO VARCHAR(1),  
  ID_TIPO_REGISTRO SMALLINT,
  ID_FECHA_JORNADA INT8 NOT NULL,
  PAUSA_ENTRE_PERIODOS CHAR(1),
  CONSTRAINT PK_PRO_JORNADA_INDIV PRIMARY KEY (ID_PRO_JORNADA_INDIV)
);
CREATE TABLE PRO_PERIODO_INDIV (
  ID_PRO_PERIODO_INDIV INT8 NOT NULL,
  HORARIO_ENTRADA VARCHAR(5) ,
  HORARIO_SALIDA VARCHAR(5) ,
--  TOLERANCIA_ENTRADA TIME,
--  TOLERANCIA_SALIDA TIME,
  TOLERANCIA_ENTRADA Time,
  TOLERANCIA_SALIDA Time,
  HORA_PAUSA_DESDE VARCHAR(5) ,
  HORA_PAUSA_HASTA VARCHAR(5) ,
  CANTIDAD_MAX_PAUSAS SMALLINT,
  TIEMPO_MAXIMO_SUMA_PAUSAS VARCHAR(5) ,
  DESCONTAR_PAUSA VARCHAR(1) ,
  ID_TIPO_REGISTRO SMALLINT,
  ID_PRO_JORNADA_INDIV INT8,
  DESCRIPCION VARCHAR(40),
  CONFIRMADO CHAR(1),
  OBLIGATORIO CHAR(1),
  CONSTRAINT PK_PRO_PERIODO_INDIV PRIMARY KEY (ID_PRO_PERIODO_INDIV)
);
CREATE TABLE PRO_REL_JOR_CON_FOR_INDIV (
  ID_PRO_REL_JOR_CON_FOR_INDIV INT8 NOT NULL,
  ID_CONCEPTO INT8 NOT NULL,
  ID_EX_FORMATO_CONCEPTO INT8,
  ID_TIPO_REGISTRO SMALLINT,
  ID_PRO_JORNADA_INDIV INT8,
  CONSTRAINT PK_PRO_REL_JOR_CON_FOR_INDIV PRIMARY KEY (ID_PRO_REL_JOR_CON_FOR_INDIV)
);
CREATE TABLE PRO_REL_PER_CON_INDIV (
  ID_PRO_REL_PER_CON_INDIV INT8 NOT NULL,
  ID_CONCEPTO INT8 NOT NULL,
  ID_EX_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_TIPO_REGISTRO SMALLINT,
  ID_PRO_PERIODO_INDIV INT8,
  CONSTRAINT PK_PRO_REL_PER_CON_INDIV PRIMARY KEY (ID_PRO_REL_PER_CON_INDIV)
);
CREATE TABLE REFERENCIA_SUB_PERIODO
(
  ID_REFERENCIA_SUB_PERIODO INT8 NOT NULL,
  ID_JORNADA INT8 ,
  ID_PERIODO INT8 ,
  ID_PERSONA INT8 NOT NULL,
  TABLA_REFERIDA VARCHAR(20),
  NRO_JORNADA INT8,
  NRO_PERIODO INT8,
  ES_PAR VARCHAR(1),
  PRIMERA_Y_ULTIMA VARCHAR(1),
  FECHA_JORNADA DATE,
  ID_PROCESO INT8 NOT NULL,
  CONSTRAINT PK_REFERENCIA_SUB_PERIODO PRIMARY KEY (ID_REFERENCIA_SUB_PERIODO)
);
CREATE TABLE REGISTRACION
(
  ID_RELOJ INT8 NOT NULL,
  COMANDO VARCHAR(10),
  FECHA TIMESTAMP,
  TARJETA VARCHAR(10),
  DATA VARCHAR(255),
  ID_CONSOLA INT8,
  ID_PERSONA INT8,
  ID_ACEPTADO INT8,
  OBSERVACIONES VARCHAR(250),
  ID_ESTADO_REGISTRACION INT8,
  ID_PROCESO INT8,
  ID_GEOLOCALIZACION INT8,
  EXPORTADA CHAR(1)
);
CREATE TABLE RELOJ
(
  ID_RELOJ INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_AGENTE INT8,
  ID_FABRICA VARCHAR(10) NOT NULL,
  ID_TIPO_RELOJ SMALLINT NOT NULL,
  ID_TIPO_COMUNICACION SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(250),
  VELOCIDAD INTEGER,
  TOUCH VARCHAR(1) NOT NULL,
  ACTIVO VARCHAR(1) NOT NULL,
  FILTRO VARCHAR(1) NOT NULL,
  PUERTO_SERIE VARCHAR(40),
  IP_TCP VARCHAR(40),
  PUERTO_TCP INTEGER,
  MODELO_MODEM VARCHAR(40),
  TELEFONO_MODEM VARCHAR(40),
  ARCHIVO_REG VARCHAR(80),
  ARCHIVO_MASCARA VARCHAR(20),
  ACTUALIZAR_HORA VARCHAR(1),
  ENVIA_REG_MAIL VARCHAR(1),
  ENVIA_REG_FTP VARCHAR(1),
  MAIL_DESTINO VARCHAR(80),
  FTP_LOGIN VARCHAR(80),
  FTP_CLAVE VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  DOMINGO_UNO VARCHAR(1),
  CONTROLA_PERMANENCIA VARCHAR(1),
  ESTADO_DEFAULT INTEGER,
  CLAVE_COMUNICACION VARCHAR(32),
  ID_TIPO_ACCESO_RELOJ SMALLINT ,
  TIEMPO_ACCESO SMALLINT,
  ES_LECTOR CHAR(1),
  ID_RELOJ_ASOC INT8,
  RELOJ_ASISTENCIA CHAR(1) DEFAULT 'N' NOT NULL,
  DESACTIVAR_INID CHAR(1),
  ID_MODO_TARJETA INT8,
  NUMERO_DE_SERIE VARCHAR(20),
  ES_ENROLADOR CHAR(1),
  BORRAR_AL_DESCARGAR CHAR(1),
  CODIGO_ASOCIACION VARCHAR(32),
  FICHA_OFFLINE CHAR(1),
  ANDROID_ID VARCHAR(80),
  IOS_ID VARCHAR(40),
  FECHA_ACTIVACION TIMESTAMP,
  CONSTRAINT RELOJ_PK PRIMARY KEY (ID_RELOJ)
);
CREATE TABLE REL_ACCESO_RELOJ
(
  ID_ACCESO INT8 NOT NULL,
  ID_RELOJ INT8 NOT NULL,
  CONSTRAINT REL_ACCESO_RELOJ_PK PRIMARY KEY (ID_ACCESO,ID_RELOJ)
);
CREATE TABLE REL_CATEGORIA_CONCEPTO
(
  ID_CATEGORIA INT8 NOT NULL,
  ID_CONCEPTO INT8 NOT NULL,
  CONSTRAINT PK_REL_CATEGORIA_CONCEPTO PRIMARY KEY (ID_CATEGORIA,ID_CONCEPTO)
);
CREATE TABLE REL_CONVENIO_PERSONA
(
  ID_CONVENIO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  CONSTRAINT PK_REL_CONVENIO_PERSONA PRIMARY KEY (ID_CONVENIO,ID_PERSONA)
);
CREATE TABLE REL_CONVERSION_CONVENIO
(
  ID_CONVERSION INT8 NOT NULL,
  ID_CONVENIO INT8 NOT NULL,
  CONSTRAINT PK_REL_CONVERSION_CONVENIO PRIMARY KEY (ID_CONVERSION,ID_CONVENIO)
);
CREATE TABLE REL_EMPRESA_MODULO
(
  ID_EMPRESA INT8 NOT NULL,
  ID_MODULO INT8 NOT NULL,
  CONSTRAINT REL_EMPRESA_MODULO_PK PRIMARY KEY (ID_EMPRESA,ID_MODULO)
);
CREATE TABLE REL_F_CONCEPTO_CONVERSION_DES
(
  ID_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_CONVERSION INT8 NOT NULL
);
CREATE TABLE REL_F_CONCEPTO_CONVERSION_ORI
(
  ID_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_CONVERSION INT8 NOT NULL
);
CREATE TABLE REL_GRUPO_PERSONA
(
  ID_GRUPO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  CONSTRAINT REL_GRUPO_PERSONA_PK PRIMARY KEY (ID_GRUPO,ID_PERSONA)
);
CREATE TABLE REL_GRUPO_USUARIO
(
  ID_GRUPO INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  CONSTRAINT REL_GRUPO_USUARIO_PK PRIMARY KEY (ID_GRUPO,ID_USUARIO)
);
CREATE TABLE REL_RELOJ_USUARIO
(
  ID_RELOJ INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  CONSTRAINT REL_RELOJ_USUARIO_PK PRIMARY KEY (ID_RELOJ, ID_USUARIO)
);
CREATE TABLE REL_JORNADA_CONCEPTO_FORMATO
(
  ID_REL_JOR_CONC_FOR INT8 NOT NULL,
  ID_JORNADA INT8 NOT NULL,
  ID_CONCEPTO INT8 NOT NULL,
  ID_FORMATO_CONCEPTO INT8 NOT NULL,
  CONSTRAINT PK_REL_JORNADA_CON_FOR PRIMARY KEY (ID_REL_JOR_CONC_FOR)
);
CREATE TABLE REL_JUSTIFICACION_TIPO
(
  ID_JUSTIFICACION INT8 NOT NULL,
  ID_TIPO_JUSTIFICACION INT8 NOT NULL,
  CONSTRAINT PK_REL_JUSTIFICACION_TIPO PRIMARY KEY (ID_JUSTIFICACION,ID_TIPO_JUSTIFICACION)
);
CREATE TABLE REL_NOTIFICACION_MONITOR
(
  ID_NOTIFICACION_MONITOR INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  COMANDO VARCHAR(10),
  FECHA_DESDE TIMESTAMP,
  FECHA_HASTA TIMESTAMP,
  TARJETA VARCHAR(10),
  ID_RELOJ INT8,
  ID_PERSONA INT8,
  ID_TIPO_PERSONA INT8,
  ENVIAR_MAIL VARCHAR(1),
  MAIL_REMITENTE VARCHAR(80),
  MAIL_DESTINO VARCHAR(80),
  MAIL_ASUNTO VARCHAR(80),
  MAIL_CONTENIDO VARCHAR(255),
  ENVIAR_SMS VARCHAR(1),
  SMS_REMITENTE VARCHAR(80),
  SMS_TELEFONO VARCHAR(80),
  SMS_CONTENIDO VARCHAR(255),
  VENTANA_EMERGENTE VARCHAR(1),
  VENTANA_TEXTO VARCHAR(255),
  CONSTRAINT REL_NOTIFICACION_MONITOR_PK PRIMARY KEY (ID_NOTIFICACION_MONITOR)
);
CREATE TABLE REL_NOVEDAD_GRUPO
(
  ID_NOVEDAD INT8 NOT NULL,
  ID_GRUPO INT8 NOT NULL,
  CONSTRAINT PK_REL_NOVEDAD_GRUPO PRIMARY KEY (ID_NOVEDAD,ID_GRUPO)
);
CREATE TABLE REL_NOVEDAD_PERSONA
(
  ID_NOVEDAD INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  CONSTRAINT PK_REL_NOVEDAD_PERSONA PRIMARY KEY (ID_NOVEDAD,ID_PERSONA)
);
CREATE TABLE REL_OPCION_OPERACION
(
  ID_REL_OPC_OPE INT8 NOT NULL,
  ID_OPCION INT8 NOT NULL,
  ID_OPERACION INT8 NOT NULL,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  CONSTRAINT REL_OPCION_OPERACION_PK PRIMARY KEY (ID_REL_OPC_OPE)
);
CREATE TABLE REL_PERFIL_OPCION_OPERACION
(
  ID_REL_OPC_OPE INT8 NOT NULL,
  ID_PERFIL INT8 NOT NULL,
  CONSTRAINT REL_PERFIL_OPCION_OPERACION_PK PRIMARY KEY (ID_REL_OPC_OPE,ID_PERFIL)
);
CREATE TABLE REL_PERFIL_RELOJ_HORARIO
(
  ID_REL_PERFIL_RELOJ_HORARIO INT8 NOT NULL,
  ID_PERFIL_ACCESO INT8 NOT NULL,
  ID_RELOJ INT8,
  ID_HORARIO INT8 NOT NULL,
  CONSTRAINT REL_PERFIL_RELOJ_HORARIO_PK PRIMARY KEY (ID_REL_PERFIL_RELOJ_HORARIO)
);
CREATE TABLE REL_PERIODO_CONCEPTO
(
  ID_REL_PERIODO_CONCEPTO INT8 NOT NULL,
  ID_CONCEPTO INT8 NOT NULL,
  ID_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_PERIODO INT8 NOT NULL,
  CONSTRAINT PK_REL_PERIODO_CONCEPTO PRIMARY KEY (ID_REL_PERIODO_CONCEPTO)
);
CREATE TABLE REL_PERSONA_CATEGORIA
(
  ID_PERSONA INT8 NOT NULL,
  ID_CATEGORIA INT8 NOT NULL,
  CONSTRAINT PK_REL_PERSONA_CATEGORIA PRIMARY KEY (ID_PERSONA,ID_CATEGORIA)
);
CREATE TABLE REL_PERSONA_RELOJ
(
  ID_RELOJ INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  CONSTRAINT PK_REL_PERSONA_RELOJ PRIMARY KEY (ID_RELOJ,ID_PERSONA)
);
CREATE TABLE REL_RELOJ_MONITOR
(
  ID_REL_RELOJ_MONITOR INT8 NOT NULL,
  ID_CONFIGURACION_MONITOR INT8 NOT NULL,
  ID_RELOJ INT8 NOT NULL,
  EVENTO_PUERTA_FORZADA VARCHAR(1),
  EVENTO_PUERTA_ABIERTA VARCHAR(1),
  EVENTO_PUERTA_SIN_USO VARCHAR(1),
  VENTANA_PUERTA_FORZADA VARCHAR(1),
  VENTANA_PUERTA_ABIERTA VARCHAR(1),
  VENTANA_PUERTA_SIN_USO VARCHAR(1),
  EVENTO_AT_REGISTROS VARCHAR(1),
  EVENTO_AT_HORA VARCHAR(1),
  EVENTO_AT_TIMEOUT VARCHAR(1),
  VENTANA_AT_REGISTROS VARCHAR(1),
  VENTANA_AT_HORA VARCHAR(1),
  VENTANA_AT_TIMEOUT VARCHAR(1),
  CONSTRAINT REL_RELOJ_MONITOR_PK PRIMARY KEY (ID_REL_RELOJ_MONITOR)
);
CREATE TABLE REL_RELOJ_ZONA_APB
(
  ID_RELOJ_ZONA_APB INT8 NOT NULL,
  ID_RELOJ INT8 NOT NULL,
  ID_ZONA_APB INT8 NOT NULL,
  MODO VARCHAR(1),
  CONSTRAINT REL_RELOJ_ZONA_APB_PK PRIMARY KEY (ID_RELOJ_ZONA_APB)
);
CREATE TABLE REL_VENCIMIENTO_PERSONA
(
  ID_REL_VENCIMIENTO_PERSONA INT8 NOT NULL,
  ID_VENCIMIENTO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  FECHA TIMESTAMP,
  FECHA_PROCESADO TIMESTAMP,
  CONSTRAINT REL_VENCIMIENTO_PERSONA_PK PRIMARY KEY (ID_REL_VENCIMIENTO_PERSONA)
);
CREATE TABLE RETICULA_CALENDARIO
(
  ID_RETICULA_CALENDARIO INT8 NOT NULL,
  ID_JORNADA_CALENDARIO INT8 NOT NULL,
  ID_JORNADA INT8 NOT NULL,
  DIAS VARCHAR(100),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8
);
CREATE TABLE SUBMENU
(
  ID_SUBMENU INT8 NOT NULL,
  ID_MODULO INT8 NOT NULL,
  DESCRIPCION VARCHAR(250) NOT NULL,
  URL VARCHAR(150),
  MOSTRAR_OPCIONES VARCHAR(1),
  ORDEN SMALLINT,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT SUBMENU_PK PRIMARY KEY (ID_SUBMENU)
);
CREATE TABLE SUB_PERIODO_DETALLE
(
  ID_SUB_PERIODO_DETALLE INT8 NOT NULL,
  ID_REFERENCIA_SUB_PERIODO INT8 NOT NULL,
  TIEMPO_INI TIMESTAMP,
  TIEMPO_FIN TIMESTAMP,
  TIEMPO_INI_FICTICIO CHAR(1) DEFAULT 'N',
  TIEMPO_FIN_FICTICIO CHAR(1) DEFAULT 'N',
  CONSTRAINT PK_SUB_PERIODO_DETALLE PRIMARY KEY (ID_SUB_PERIODO_DETALLE)
);
CREATE TABLE TARJETA_HISTORICO
(
  ID_EMPRESA INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  TARJETA VARCHAR(10) NOT NULL,
  FECHA_ASIGNACION TIMESTAMP,
  FECHA_DEVOLUCION TIMESTAMP
);
CREATE TABLE TIPO_AGENTE
(
  ID_TIPO_AGENTE SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT TIPO_AGENTE_PK PRIMARY KEY (ID_TIPO_AGENTE)
);
CREATE TABLE TIPO_COMANDO
(
  ID_TIPO_COMANDO SMALLINT NOT NULL,
  COMANDO VARCHAR(10) NOT NULL,
  DESCRIPCION VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  DESCRIPCION_REPORTE VARCHAR(80),
  PROCESAR VARCHAR(1),
  CONSTRAINT TIPO_COMANDO_PK PRIMARY KEY (ID_TIPO_COMANDO)
);
CREATE TABLE TIPO_COMUNICACION
(
  ID_TIPO_COMUNICACION SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT TIPO_COMUNICACION_PK PRIMARY KEY (ID_TIPO_COMUNICACION)
);
CREATE TABLE TIPO_EJECUCION_AGENTE
(
  ID_TIPO_EJECUCION_AGENTE SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(250),
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT TIPO_EJECUCION_AGENTE_PK PRIMARY KEY (ID_TIPO_EJECUCION_AGENTE)
);
CREATE TABLE TIPO_ERROR_TECNICO
(
  ID_TIPO_ERROR_TECNICO INT8 NOT NULL,
  DESCRIPCION VARCHAR(80),
  COMANDO_CONSOLA VARCHAR(2),
  CONSTRAINT TIPO_ERROR_TECNICO_PK PRIMARY KEY (ID_TIPO_ERROR_TECNICO)
);
CREATE TABLE TIPO_HORARIO
(
  ID_TIPO_HORARIO INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  NOMBRE VARCHAR(40),
  CONSTRAINT PK_TIPO_HORARIO PRIMARY KEY (ID_TIPO_HORARIO)
);
CREATE TABLE TIPO_JUSTIFICACION
(
  ID_TIPO_JUSTIFICACION INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  NOMBRE VARCHAR(40),
  ID_CONCEPTO_HORAS INT8,
  ID_CONCEPTO_VECES INT8,
  ORDEN INT8,
  DESCRIPCION_RESOURCES VARCHAR(80),
  CONSTRAINT PK_TIPO_JUSTIFICACION PRIMARY KEY (ID_TIPO_JUSTIFICACION)
);
CREATE TABLE TIPO_NOVEDAD
(
  ID_TIPO_NOVEDAD INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  NOMBRE VARCHAR(40),
  DESCRIPCION_ABREV_RESOURCES VARCHAR(80),
  CONSTRAINT PK_TIPO_NOVEDAD PRIMARY KEY (ID_TIPO_NOVEDAD)
);
CREATE TABLE TIPO_DOCUMENTO
(
  ID_TIPO_DOCUMENTO INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_TIPO_DOCUMENTO PRIMARY KEY (ID_TIPO_DOCUMENTO)
);
CREATE TABLE TIPO_PERSONA
(
  ID_TIPO_PERSONA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  MAIL_VISITADO VARCHAR(1),
  IMPRIMIR_CREDENCIAL VARCHAR(1),
  BAJA_POR_SALIDA VARCHAR(1),
  DOCUMENTO_OBLIGATORIO VARCHAR(1),
  ELIMINA_GESTION_VISITA VARCHAR(1),
  CONSTRAINT TIPO_PERSONA_PK PRIMARY KEY (ID_TIPO_PERSONA)
);
CREATE TABLE TIPO_RELOJ
(
  ID_TIPO_RELOJ SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  DIGITOS_TARJETA INTEGER,
  LONG_ID_FABRICA INTEGER, 
  ID_FABRICA_NUMERICO CHAR(1),
  CONSTRAINT TIPO_RELOJ_PK PRIMARY KEY (ID_TIPO_RELOJ)
);
CREATE TABLE USUARIO
(
  ID_USUARIO INT8 NOT NULL,
  ID_PERFIL INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  NOMBRE VARCHAR(80) NOT NULL,
  APELLIDO VARCHAR(80) NOT NULL,
  LOGIN VARCHAR(80) NOT NULL,
  CLAVE VARCHAR(40) NOT NULL,
  ID_IDIOMA SMALLINT NOT NULL,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  MENSAJES_POPUP VARCHAR(1),
  CAMBIAR_CLAVE VARCHAR(1),
  EMAIL VARCHAR(80),
  ID_TIPO_ASIGNACION_GRUPO INT8,
  ID_TIPO_ASIGNACION_RELOJ INT8,
  ID_SUPERIOR_INMEDIATO INT8,
  ES_USUARIO_AD CHAR(1),
  ID_RESERVA_LICENCIA INT8 NOT NULL,
  TIEMPO_ANTIGUEDAD_CONSUMO CHAR(5),
  CONSTRAINT USUARIO_PK PRIMARY KEY (ID_USUARIO)
);
CREATE TABLE RESERVA_LICENCIA
(
  ID_RESERVA_LICENCIA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  CONSTRAINT PK_RESERVA_LICENCIA PRIMARY KEY (ID_RESERVA_LICENCIA)
);
CREATE TABLE VENCIMIENTO
(
  ID_VENCIMIENTO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ORDEN INTEGER,
  DESCRIPCION VARCHAR(255),
  CONSTRAINT VENCIMIENTO_PK PRIMARY KEY (ID_VENCIMIENTO)
);
CREATE TABLE ZONA_APB
(
  ID_ZONA_APB INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  ACTIVO VARCHAR(1),
  CONSTRAINT ZONA_APB_PK PRIMARY KEY (ID_ZONA_APB)
);
CREATE TABLE TIPO_PROCESO(
  ID_TIPO_PROCESO SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT TIPO_PROCESO_PK PRIMARY KEY (ID_TIPO_PROCESO)
);
CREATE TABLE ESTADO_PROCESO(
  ID_ESTADO_PROCESO SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT ESTADO_PROCESO_PK PRIMARY KEY (ID_ESTADO_PROCESO)
);
CREATE TABLE PROCESO(
  ID_PROCESO INT8 NOT NULL,
  ID_TIPO_PROCESO SMALLINT NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  FECHA_INICIO TIMESTAMP,
  FECHA_FIN TIMESTAMP,
  ID_ESTADO_PROCESO SMALLINT,
  KEEP_MODIF_REGISTRACION VARCHAR(1),
  KEEP_MODIF_HORARIO VARCHAR(1),
  KEEP_MODIF_AUTORIZACION VARCHAR(1),
  KEEP_MODIF_FERIADO VARCHAR(1),
  KEEP_MODIF_JUSTIFICACION VARCHAR(1),
  KEEP_MODIF_CALCULO VARCHAR(1),
  USA_HORARIO VARCHAR(1),
  USA_CONCEPTO VARCHAR(1),
  USA_CONVERSION CHAR(1),
  ID_APLICA SMALLINT,
  FECHA_DESDE DATE,
  FECHA_HASTA DATE,
  USA_CATEGORIA VARCHAR(1),
  REASIGNAR_FICHADAS VARCHAR(1),
  KEEP_MODIF_PRI_ULT_FIC VARCHAR(1),
  KEEP_AUTORIZACION_HORAS_EXTRAS CHAR(1),
  KEEP_MODIF_CENTRO_COSTO VARCHAR(1),
  USA_REGISTRACION_ALTA_MMD VARCHAR(1),
  CONSTRAINT PROCESO_PK PRIMARY KEY (ID_PROCESO)
);
CREATE TABLE TIPO_REGISTRO(
  ID_TIPO_REGISTRO SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT TIPO_REGISTRO_PK PRIMARY KEY (ID_TIPO_REGISTRO)
);

CREATE TABLE PRO_PERSONA_HORARIO
(
  ID_PRO_PERSONA_HORARIO INT8 NOT NULL,
  ID_EX_PERSONA_HORARIO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  FECHA_INGRESO TIMESTAMP,
  FECHA_EGRESO TIMESTAMP,
  FECHA_ROTATIVIDAD TIMESTAMP,
  PRIMERA_ULTIMA_FICHADA VARCHAR(1) NOT NULL,
  ID_EX_HORARIO_CONTROL_PERSONAL INT8 NOT NULL,
  HORARIO_LABORAL TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  ID_GRUPO INT8,
  ID_TIPO_AUTORIZACION INT8,
  CONSTRAINT PK_PRO_PERSONA_HORARIO PRIMARY KEY (ID_PRO_PERSONA_HORARIO)
);


CREATE TABLE PRO_CATEGORIA
(
  ID_PRO_CATEGORIA INT8 NOT NULL,
  ID_EX_CATEGORIA INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  NOMBRE VARCHAR(40),
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  TRABAJA_FERIADOS VARCHAR(1),
  TRABAJA_FRANCO VARCHAR(1),
  PRESENTE_SIN_AUTORIZACION VARCHAR(1),
  PARIDAD VARCHAR(1),
  SALIDA_ANTICIPADA VARCHAR(1),
  LLEGADA_TARDE VARCHAR(1),
  AUSENCIA_PERIODO VARCHAR(1),
  AUSENCIA VARCHAR(1),
  SALIDA_TARDIA_PAUSA VARCHAR(1),
  EXCESO_PAUSAS VARCHAR(1),
  INGRESO_ANTICIPADO_PAUSA VARCHAR(1),
  CONSTRAINT PK_PRO_CATEGORIA PRIMARY KEY (ID_PRO_CATEGORIA)
);

CREATE TABLE PRO_GRUPO
(
  ID_PRO_GRUPO INT8 NOT NULL,
  ID_EX_GRUPO INT8 NOT NULL,
  ID_AGRUPACION INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  CODIGO VARCHAR(8) NOT NULL,
  MAIL VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  ID_HORARIO_CONTROL_PERSONAL INT8,
  CONSTRAINT PK_PRO_GRUPO PRIMARY KEY (ID_PRO_GRUPO)
);

CREATE TABLE PRO_CONVENIO
(
  ID_PRO_CONVENIO INT8 NOT NULL,
  ID_EX_CONVENIO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  CODIGO VARCHAR(40),
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_CONVENIO PRIMARY KEY (ID_PRO_CONVENIO)
);

CREATE TABLE PRO_REL_GRUPO_PERSONA
(
  ID_PRO_REL_GRUPO_PERSONA INT8 NOT NULL,
  ID_EX_GRUPO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_GRUPO_PERSONA PRIMARY KEY (ID_PRO_REL_GRUPO_PERSONA)
);

CREATE TABLE PRO_REL_PERSONA_CATEGORIA
(
  ID_PRO_REL_PERSONA_CATEGORIA INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  ID_EX_CATEGORIA INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_PERSONA_CATEGORIA PRIMARY KEY (ID_PRO_REL_PERSONA_CATEGORIA)
);

CREATE TABLE PRO_REL_CONVENIO_PERSONA
(
  ID_PRO_REL_CONVENIO_PERSONA INT8 NOT NULL,
  ID_EX_CONVENIO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_CONVENIO_PERSONA PRIMARY KEY (ID_PRO_REL_CONVENIO_PERSONA)
);

CREATE TABLE PRO_REL_CATEGORIA_CONCEPTO
(
  ID_PRO_REL_CATEGORIA_CONCEPTO INT8 NOT NULL,
  ID_EX_CATEGORIA INT8 NOT NULL,
  ID_CONCEPTO INT8 NOT NULL,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_REL_CATEGORIA_CONCEPTO PRIMARY KEY (ID_PRO_REL_CATEGORIA_CONCEPTO)
);

CREATE TABLE PRO_FERIADO(
  ID_PRO_FERIADO INT8 NOT NULL,
  ID_EX_FERIADO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40),
  ID_FORMATO_CONCEPTO_VECES INT8,
  ID_FORMATO_CONCEPTO_HORAS INT8,
  VALOR_HORAS VARCHAR(5), 
  VALOR_VECES INT8,
  FECHA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_PRO_FERIADO PRIMARY KEY (ID_PRO_FERIADO)
);

CREATE TABLE FECHA_JORNADA (
	ID_FECHA_JORNADA INT8 NOT NULL, 
	FECHA_JORNADA DATE NOT NULL,
	CONSTRAINT PK_FECHA_JORNADA PRIMARY KEY (ID_FECHA_JORNADA));

CREATE TABLE PROCESO_PERSONA_JORNADA (
  ID_PROCESO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  ID_FECHA_JORNADA INT8 NOT NULL,
  OBSERVACIONES VARCHAR(255) ,
  FERIADO VARCHAR(1),
  ID_JORNADA INT8,
  REPROCESAR CHAR(1),
  ID_MMD_HOR_CONT_PER INT8,
  PRIMERA_ULTIMA_FICHADA VARCHAR(1),
  FECHA_ROTATIVIDAD TIMESTAMP,
  ID_CENTRO_COSTO INT8,
  USUARIO_MODIF INT8,
  ID_TIPO_AUTORIZACION INT8,
  CONSTRAINT PK_PROCESO_PERSONA_JORNADA PRIMARY KEY (ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA));

CREATE TABLE PROCESO_PRO_CATEGORIA (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_CATEGORIA INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_CATEGORIA PRIMARY KEY (ID_PROCESO,ID_PRO_CATEGORIA));

CREATE TABLE PROCESO_PRO_CONVENIO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_CONVENIO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_CONVENIO PRIMARY KEY (ID_PROCESO,ID_PRO_CONVENIO));

CREATE TABLE PROCESO_PRO_CONVERSION (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_CONVERSION INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_CONVERSION1 PRIMARY KEY (ID_PROCESO,ID_PRO_CONVERSION));

CREATE TABLE PROCESO_PRO_EXT_PER_FLEX (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_EXT_PER_FLEX INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_EXT_PER_FLEX PRIMARY KEY (ID_PROCESO,ID_PRO_EXT_PER_FLEX));

CREATE TABLE PROCESO_PRO_FERIADO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_FERIADO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_FERIADO PRIMARY KEY (ID_PROCESO,ID_PRO_FERIADO));

CREATE TABLE PROCESO_PRO_FORMATO_CONCEPTO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_FORMATO_CONCEPTO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_FORMATO_CONCEPTO PRIMARY KEY (ID_PROCESO,ID_PRO_FORMATO_CONCEPTO));

CREATE TABLE PROCESO_PRO_GRUPO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_GRUPO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_GRUPO PRIMARY KEY (ID_PROCESO,ID_PRO_GRUPO));

CREATE TABLE PROCESO_PRO_HOR_CON_PER (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_HOR_CON_PER INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_HOR_CON_PER PRIMARY KEY (ID_PROCESO,ID_PRO_HOR_CON_PER));

CREATE TABLE PROCESO_PRO_JORNADA (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_JORNADA INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_JORNADA PRIMARY KEY (ID_PROCESO,ID_PRO_JORNADA));

CREATE TABLE PROCESO_PRO_JORNADA_CALENDARIO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_JORNADA_CALENDARIO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_JOR_CAL PRIMARY KEY (ID_PROCESO,ID_PRO_JORNADA_CALENDARIO));

CREATE TABLE PROCESO_PRO_JUSTIFICACION (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_JUSTIFICACION INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_JUSTIF PRIMARY KEY (ID_PROCESO,ID_PRO_JUSTIFICACION));

CREATE TABLE PROCESO_PRO_NOVEDAD (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_NOVEDAD INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_NOVEDAD1 PRIMARY KEY (ID_PROCESO,ID_PRO_NOVEDAD));

CREATE TABLE PROCESO_PRO_PERIODO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_PERIODO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_PERIODO1 PRIMARY KEY (ID_PROCESO,ID_PRO_PERIODO));

CREATE TABLE PROCESO_PRO_PERSONA_HORARIO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_PERSONA_HORARIO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_PERSONA_HORARIO1 PRIMARY KEY (ID_PROCESO,ID_PRO_PERSONA_HORARIO));

CREATE TABLE PROCESO_PRO_REL_CAT_CONCEPTO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_CATEGORIA_CONCEPTO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_CAT_CONC PRIMARY KEY (ID_PROCESO,ID_PRO_REL_CATEGORIA_CONCEPTO));

CREATE TABLE PROCESO_PRO_REL_CONV_PERS (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_CONVENIO_PERSONA INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_CONV_PERS1 PRIMARY KEY (ID_PROCESO,ID_PRO_REL_CONVENIO_PERSONA));

CREATE TABLE PROCESO_PRO_REL_CVER_CVENIO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_CONVERSION_CONVENIO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_CVER_CVENIO1 PRIMARY KEY (ID_PROCESO,ID_PRO_REL_CONVERSION_CONVENIO));

CREATE TABLE PROCESO_PRO_REL_FC_CV_DES (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_F_CONC_CONV_DES INT8 NOT NULL,
  CONSTRAINT PK_P_PRO_R_F_C_C_DES PRIMARY KEY (ID_PROCESO,ID_PRO_REL_F_CONC_CONV_DES));

CREATE TABLE PROCESO_PRO_REL_FC_CV_ORI (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_F_CONC_CONV_ORI INT8 NOT NULL,
  CONSTRAINT PK_P_PRO_R_F_C_C_ORI PRIMARY KEY (ID_PROCESO,ID_PRO_REL_F_CONC_CONV_ORI));

CREATE TABLE PROCESO_PRO_REL_GRUPO_PERSONA (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_GRUPO_PERSONA INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_GRUPO_PERSONA PRIMARY KEY (ID_PROCESO,ID_PRO_REL_GRUPO_PERSONA));

CREATE TABLE PROCESO_PRO_REL_JOR_CON_FOR (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_JOR_CON_FOR INT8 NOT NULL,
  CONSTRAINT PK_PROCESO_PRO_REL_JOR_CON_FOR PRIMARY KEY (ID_PROCESO,ID_PRO_REL_JOR_CON_FOR));

CREATE TABLE PROCESO_PRO_REL_JUSTIF_TIPO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_JUSTIFICACION_TIPO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_JUSTIF_TIPO PRIMARY KEY (ID_PROCESO,ID_PRO_REL_JUSTIFICACION_TIPO));

CREATE TABLE PROCESO_PRO_REL_NOVEDAD_GRUPO (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_NOVEDAD_GRUPO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_NVDD_GRP1 PRIMARY KEY (ID_PROCESO,ID_PRO_REL_NOVEDAD_GRUPO));

CREATE TABLE PROCESO_PRO_REL_NOV_PER (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_NOVEDAD_PERSONA INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_NOV_PER PRIMARY KEY (ID_PROCESO,ID_PRO_REL_NOVEDAD_PERSONA));

CREATE TABLE PROCESO_PRO_REL_PERI_CONC (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_PERIODO_CONCEPTO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_PERI_CONC PRIMARY KEY (ID_PROCESO,ID_PRO_REL_PERIODO_CONCEPTO));

CREATE TABLE PROCESO_PRO_REL_PERS_CATEG (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_REL_PERSONA_CATEGORIA INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_REL_PERS_CATEG PRIMARY KEY (ID_PROCESO,ID_PRO_REL_PERSONA_CATEGORIA));

CREATE TABLE PROCESO_PRO_RET_CAL (
  ID_PROCESO INT8 NOT NULL,
  ID_PRO_RETICULA_CALENDARIO INT8 NOT NULL,
  CONSTRAINT PK_PROC_PRO_RETI_CALEN PRIMARY KEY (ID_PROCESO,ID_PRO_RETICULA_CALENDARIO));

CREATE TABLE PRO_EXT_PER_FLEX_INDIV(
  ID_PRO_EXT_PER_FLEX_INDIV INT8 NOT NULL,
  ID_PRO_PERIODO_INDIV INT8 NOT NULL,
  HORA_A VARCHAR(5),
  HORA_B VARCHAR(5),
  HORA_C VARCHAR(5),
  CORRIMIENTO VARCHAR(5),
  HORA_IDEAL_ENTRADA VARCHAR(5),
  TIPO VARCHAR(1),
  ID_TIPO_REGISTRO SMALLINT,
  HORA_ENTRADA_PERMITIDA VARCHAR(5),
  CONSTRAINT PK_PRO_EXT_PER_FLEX_INDIV PRIMARY KEY (ID_PRO_EXT_PER_FLEX_INDIV)
);

CREATE TABLE PROCESO_PERSONA (
  ID_PROCESO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  CONSTRAINT PK_PROCESO_PERSONA PRIMARY KEY (ID_PROCESO,ID_PERSONA)
);

CREATE TABLE PROCESO_GRUPO (
  ID_PROCESO INT8 NOT NULL,
  ID_GRUPO INT8 NOT NULL,
  CONSTRAINT PK_PROCESO_GRUPO PRIMARY KEY (ID_PROCESO,ID_GRUPO)
);

CREATE TABLE APLICA (
  ID_APLICA SMALLINT NOT NULL,
  DESCRIPCION VARCHAR(40)  NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80)  NOT NULL,
  CONSTRAINT PK_APLICA PRIMARY KEY (ID_APLICA)
);

CREATE TABLE ESTADO_REGISTRACION (
  ID_ESTADO_REGISTRACION INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT PK_ESTADO_REGISTRACION PRIMARY KEY (ID_ESTADO_REGISTRACION)
);

CREATE TABLE DEPURAR_LOG
(
  ID_DEPURAR_LOG INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DEPURAR VARCHAR(1),
  CANTIDAD_DIAS_DEPURACION 	SMALLINT,
  FECHA_ULTIMA_DEPURACION TIMESTAMP,
  PATH VARCHAR(80),
  LOG_PROCESO_APLICACION VARCHAR(1),
  LOG_ASIGNACION_FICHADAS VARCHAR(1),
  LOG_IMPORTACION_FICHADAS VARCHAR(1),
  LOG_EXPORTACION_CONCEPTOS VARCHAR(1),
  
  LOG_SERVICIO_JAKARTA VARCHAR(1),
  LOG_ADMINISTRACION_LOCAL VARCHAR(1),
  LOG_ADMINISTRACION_TOMCAT VARCHAR(1),
  LOG_SALIDA_ESTANDAR_ERRORES VARCHAR(1),
  LOG_SALIDA_ESTANDAR_DEBUG VARCHAR(1),
  LOG_SINCRONIZACION_PERSONAS VARCHAR(1),
  LOG_APLICACION_EJPLO_SERVIDOR VARCHAR(1),
  CONSTRAINT DEPURAR_LOG_PK PRIMARY KEY (ID_DEPURAR_LOG)
);

CREATE TABLE PROCESO_PER_JOR_NOV (
  ID_PROCESO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  ID_FECHA_JORNADA INT8 NOT NULL,
  ID_NOVEDAD INT8 NOT NULL,
  CONSTRAINT PK_PROCESO_PER_JOR_NOV
  PRIMARY KEY (ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA,ID_NOVEDAD));

CREATE TABLE PROCESO_PER_JOR_CNV (
  ID_PROCESO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  ID_FECHA_JORNADA INT8 NOT NULL,
  ID_CONVERSION INT8 NOT NULL,
  CONSTRAINT PK_PROCESO_PER_JOR_CNV
  PRIMARY KEY (ID_PROCESO,ID_PERSONA,ID_FECHA_JORNADA,ID_CONVERSION));

CREATE TABLE MENU
(
  ID_MENU INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  CODIGO INT8,
  DESCRIPCION VARCHAR(25),
  CANTIDAD_POR_CONSUMO INTEGER,
  CANTIDAD_POR_DIA INTEGER,  
  HORA_DESDE VARCHAR(5),
  HORA_HASTA VARCHAR(5),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT MENU_PK PRIMARY KEY (ID_MENU)
);

CREATE TABLE LISTA_PRECIO
(
  ID_LISTA_PRECIO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  CODIGO VARCHAR(8),
  DESCRIPCION VARCHAR(25),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT LISTA_PRECIO_PK PRIMARY KEY (ID_LISTA_PRECIO)
);

CREATE TABLE REL_LISTA_PRECIO_MENU 
(
  ID_LISTA_PRECIO INT8 NOT NULL,
  ID_MENU INT8 NOT NULL,
  PRECIO FLOAT,
  CONSTRAINT REL_LISTA_PRECIO_MENU_PK PRIMARY KEY (ID_LISTA_PRECIO, ID_MENU)
);

CREATE TABLE PARAMETRO_COMEDOR
(
  ID_PARAMETRO_COMEDOR INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  CORTE_DIA CHAR(5),
  CONTROL_INHIBICION_PERSONA CHAR(1),
  CONTROL_HORARIO_PERSONA CHAR(1),
  CONTROL_CONSUMOS_PERSONA CHAR(1),
  CONTROL_CONSUMOS_MENU CHAR(1),
  CONTROL_HORARIO_MENU CHAR(1),
  EMISION_AUTOMATICA CHAR(1),
  CONTROL_MENUS_CONSUMO CHAR(1),
  ID_LISTA_PRECIO INT8,
  CANTIDAD_CONSUMO_POR_DIA INTEGER,
  TICKET_COMIDA FLOAT,
  TIEMPO_INHIBICION CHAR(5),
  MENU_POR_CONSUMO INTEGER,
  DIA_INICIO_CIERRE INTEGER,
  CONTROL_PRESENTE CHAR(1),
  CONSTRAINT PARAMETRO_COMEDOR_PK PRIMARY KEY (ID_PARAMETRO_COMEDOR)
);

CREATE TABLE PERSONA_COMEDOR
(
  ID_PERSONA_COMEDOR INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  ID_LISTA_PRECIO INT8,
  CANTIDAD_CONSUMO_POR_DIA INTEGER,
  TICKET_COMIDA FLOAT,
  TIEMPO_INHIBICION CHAR(5),
  MENU_POR_CONSUMO INTEGER,
  CONTROL_PRESENTE CHAR(1),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT PERSONA_COMEDOR_PK PRIMARY KEY (ID_PERSONA_COMEDOR)
);

CREATE TABLE REL_PERSONA_COMEDOR_MENU
(
  ID_PERSONA_COMEDOR INT8 NOT NULL,
  ID_MENU INT8 NOT NULL,
  CONSTRAINT PK_REL_PER_COM_MEN PRIMARY KEY (ID_PERSONA_COMEDOR,ID_MENU)
);

CREATE TABLE TIPO_ASIGNACION_GRUPO
(
  ID_TIPO_ASIGNACION_GRUPO INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT TIPO_ASIGNACION_GRUPO_PK PRIMARY KEY (ID_TIPO_ASIGNACION_GRUPO)
);

CREATE TABLE TIPO_ASIGNACION_RELOJ
(
  ID_TIPO_ASIGNACION_RELOJ INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT TIPO_ASIGNACION_RELOJ_PK PRIMARY KEY (ID_TIPO_ASIGNACION_RELOJ)
);

CREATE TABLE AUTORIZACION_HORAS_EXTRAS (
	ID_AUTORIZACION_HORAS_EXTRAS  INT8 NOT NULL,
	ID_FORMATO_CONCEPTO_ORIGEN  INT8 NOT NULL,
	ID_FORMATO_CONCEPTO_DESTINO INT8 NOT NULL,
	FECHA_ALTA TIMESTAMP NOT NULL, 
	ACCION CHAR(1),
	ID_EMPRESA  INT8 NOT NULL,
	USUARIO_ALTA  INT8 NOT NULL,
	CONSTRAINT PK_AUTOR_HE PRIMARY KEY (ID_AUTORIZACION_HORAS_EXTRAS)	
);

CREATE TABLE AUTORIZACION_HE_PER (
	ID_AUTORIZACION_HORAS_EXTRAS  INT8 NOT NULL,
	ID_PERSONA INT8 NOT NULL, 
	ID_FECHA_JORNADA INT8 NOT NULL,
	CONSTRAINT PK_AUTOR_HE_PER PRIMARY KEY (ID_AUTORIZACION_HORAS_EXTRAS, ID_PERSONA, ID_FECHA_JORNADA)
);

CREATE TABLE FORMATO_SINCRONIZACION (
	ID_FORMATO_SINCRONIZACION INT8 NOT NULL,
	DESCRIPCION VARCHAR(80),
	DESCRIPCION_RESOURCES VARCHAR(200),
	FECHA_BAJA TIMESTAMP,
	CONSTRAINT PK_FORMATO_SINCRONIZACION PRIMARY KEY (ID_FORMATO_SINCRONIZACION)
);

CREATE TABLE SINCRONIZACION_PERSONA (
	ID_SINCRONIZACION_PERSONA INT8 NOT NULL,
	ID_EMPRESA INT8 NOT NULL,
	ID_FORMATO_SINCRONIZACION INT8,
	PATH_FILE VARCHAR(500),
	HORA_INICIO CHAR(5),
	HORA_FIN CHAR(5),
	ACTIVO CHAR(1),
	FECHA_ULTIMA_EJECUCION TIMESTAMP,
	SOLO_ACCESOS CHAR(1),
	ID_TIPO_EJEC_SINC INT8,
	FRECUENCIA CHAR(1),
	CANTIDAD INT8,
	GRUPOS_EN_ORDEN CHAR(1) DEFAULT 'N',
	CONSTRAINT PK_SINCRONIZACION_PERSONA PRIMARY KEY (ID_SINCRONIZACION_PERSONA)
);

CREATE TABLE CONSUMO_PERSONA(
    ID_CONSUMO  INT8 NOT NULL,
    ID_PERSONA  INT8 NOT NULL,
    ID_RELOJ	INT8,
    FECHA       TIMESTAMP NOT NULL,
    CANCELADO 	CHAR(1) DEFAULT 'N',
    CONSTRAINT PK_CONSUMO_PERSONA PRIMARY KEY (ID_CONSUMO)
);

CREATE TABLE CONSUMO_MENU(
    ID_CONSUMO  INT8 NOT NULL,
    ID_MENU     INT8 NOT NULL,
    CANTIDAD    INT8 ,
    VALOR_UNITARIO FLOAT,
    CONSTRAINT PK_CONSUMO_MENU PRIMARY KEY (ID_CONSUMO, ID_MENU)
);

CREATE TABLE REL_FORMATO_CONCEPTO_GRUPO
(
  ID_FORMATO_CONCEPTO INT8 NOT NULL,
  ID_GRUPO INT8 NOT NULL,
  VALOR FLOAT,
  CONSTRAINT REL_FORMATO_CONCEPTO_GRUPO_PK PRIMARY KEY (ID_FORMATO_CONCEPTO, ID_GRUPO)
);

CREATE TABLE LOG_AGENTE
(
	ID_LOG_AGENTE INT8 NOT NULL,
	ID_AGENTE INT8 NOT NULL,
    FECHA TIMESTAMP DEFAULT NOW(),
    DESCRIPCION_RELOJ VARCHAR(250),
    DESCRIPCION VARCHAR(250),
	CONSTRAINT LOG_AGENTE_PK PRIMARY KEY (ID_LOG_AGENTE)
);

CREATE TABLE REPORTE
(
  ID_REPORTE INT8 NOT NULL,
  DESCRIPCION VARCHAR(100),
  TABLA VARCHAR(50),
  CONSTRAINT REPORTE_PK PRIMARY KEY (ID_REPORTE)
);

CREATE TABLE REPORTE_ACCESO
(
  ID_REPORTE_ACCESO INT8 NOT NULL,
  ID_REPORTE INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  DESCRIPCION VARCHAR(100),
  FECHA_DESDE DATE,
  FECHA_HASTA DATE,
  HORA_DESDE VARCHAR(5),
  HORA_HASTA VARCHAR(5),
  ORDENAMIENTO NUMERIC(2,0),
  ID_TIPO_PERSONA INT8,
  TIPO_EVENTO NUMERIC(2,0),
  EVENTOS VARCHAR(8000),
  ID_ACCESO INT8,
  ID_REGISTRADOR INT8,
  ID_INGRESANTE INT8,
  AGRUPACION NUMERIC(3,0),
  GRUPOS VARCHAR(8000),
  OPERADORY CHAR(1),
  ID_DESTINO_VISITA INT8,
  EMPRESA_VISITA VARCHAR(255),
  MOSTRAR_OBSERVACIONES CHAR(1),
  FORMATO VARCHAR(10),
  DETALLE CHAR(1),
  ID_SECTOR INT8,
  ORIENTACION_PAPEL VARCHAR(10),
  FECHA_INGRESO NUMERIC(2,0),
  AGRUPAR_SECTOR CHAR(1),
  PERSONAS VARCHAR(8000),
  REGISTRADORES VARCHAR(8000),
  PERFIL_ACCESO VARCHAR(8000),
  PERSONAS_VENCIDAS CHAR(1),
  PERSONAS_CON_VENCIMIENTO CHAR(1),
  PERSONAS_PROX_VENCIMIENTO CHAR(1),
  CANTIDAD_DIAS_VENCIMIENTO INT8,
  TIPO_REPORTE VARCHAR(10),
  AGRUPADO_POR NUMERIC(3,0),
  TIPOS_ERRORES_TECNICOS VARCHAR(8000),
  ZONAS_PRESENTE VARCHAR(8000),
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT REPORTE_ACCESO_PK PRIMARY KEY (ID_REPORTE_ACCESO)
);

CREATE TABLE REPORTE_HORARIO
(
  ID_REPORTE_HORARIO INT8 NOT NULL,
  ID_REPORTE INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  DESCRIPCION VARCHAR(100),
  FECHA_DESDE DATE,
  FECHA_HASTA DATE,
  LEGAJO VARCHAR(40),
  ID_PERSONA INT8,
  TARJETA_NO_ASIGNADA CHAR(1),
  TARJETA VARCHAR(10),
  REGISTRADORES VARCHAR(8000),
  ORDENAMIENTO NUMERIC(2,0),
  TIPO_REPORTE VARCHAR(10),
  LEGAJOS VARCHAR(8000),
  PERSONAS VARCHAR(8000),
  CATEGORIAS VARCHAR(8000),
  AGRUPACION NUMERIC(3,0),
  GRUPOS VARCHAR(8000),
  OPERADORY CHAR(1),
  OCULTAR_DIAS CHAR(1),
  SALTO_PAGINA_GRUPO CHAR(1),
  PERSONA_FECHA_XPAGINA CHAR(1),
  AGRUPADO_POR NUMERIC(3,0),
  TIPO_AGRUPAMIENTO VARCHAR(10),
  ANORMALIDADES VARCHAR(8000),
  CAUSAS VARCHAR(8000),
  PERSONAS_ACTIVAS CHAR(1),
  MOSTRAR_ANORMALIDADES VARCHAR(20),
  INCLUIR_OBSERVACIONES CHAR(1),
  CONCEPTOS_DEFINITIVOS VARCHAR(8000),
  CONCEPTOS_TRANSITORIOS VARCHAR(8000),
  CONVERSIONES VARCHAR(8000),
  CONCEPTO_OBLIGATORIO INT8,
  PERSONA_XPAGINA CHAR(1),
  FORMATO_CONCEPTO_TIEMPO CHAR(1),
  SEPARADOR_DECIMAL CHAR(1),
  QUINCENA NUMERIC(1,0),
  MES NUMERIC(2,0),
  ANIO NUMERIC(4,0),
  AGRUPACION_OBRA INT8,
  GRUPOS_OBRA VARCHAR(8000),
  AGRUPACION_PUESTO INT8,
  GRUPO_PUESTO INT8,
  CONCEPTOS_POR_DIA VARCHAR(8000),
  CONCEPTOS_TOTALES VARCHAR(8000),
  CENTRO_COSTO VARCHAR(8000),
  NIVEL_DETALLE VARCHAR(50),
  ORDEN_APLICA_IDS VARCHAR(8000),
  ORDEN_AGRUPAMIENTO  VARCHAR(50),
  ORDEN_DATOS VARCHAR(50),
  FORMATO_EXPORTACION VARCHAR(10),
  INCLUIR_CONCEPTOS_NULOS CHAR(1),
  CONCEPTOS_EXPORTACION VARCHAR(8000),
  NOMBRE_ARCHIVO_DESTINO VARCHAR(255),
  GUARDAR_ARCHIVO_DESTINO CHAR(1),
  ENVIAR_ARCHIVO_FTP CHAR(1),
  INCLUIR_ENCABEZADO CHAR(1),
  INCLUIR_DESCRIPCION_GRUPO CHAR(1),
  FECHA_ENCABEZADO VARCHAR(10),
  AGREGAR_FECHA CHAR(1),
  MASCARA_FECHA VARCHAR(10),
  AGREGAR_HORA CHAR(1),
  MASCARA_HORA CHAR(10),
  SEPARADOR CHAR(1),
  EXTENSION VARCHAR(10),
  CANTIDAD_HORAS_DESCANSO VARCHAR(5),
  ID_TIPO_AUTORIZACION INT8,
  FECHA_DESDE_2 DATE,
  FECHA_HASTA_2 DATE,
  TOPE_MENSUAL INT8,
  TOPE_ANUAL INT8,
  HORARIOS VARCHAR(8000),
  TOLERANCIA_DESVIO INT8,
  TOLERANCIA_BUSQUEDA INT8,
  GRUPOS_SECTOR VARCHAR(8000),
  CONCEPTOS_A_SUMAR	VARCHAR(8000),
  CONCEPTOS_A_RESTAR VARCHAR(8000),
  PERSONAS_SIN_HORAS CHAR(1),
  DESCRIPCION_CONVENIO VARCHAR(40),
  FECHA_BAJA TIMESTAMP,
  MOSTRAR_HORARIO_OBL CHAR(1),
  REGISTRADORES_EDIFICIO VARCHAR(8000),
  REGISTRADORES_LABORAL VARCHAR(8000),
  ID_TIPO_INCONSISTENCIA INT8,
  DESCRIPCION_CONCEPTO CHAR(1),
  CONTROL_ACTIVIDAD CHAR(1),
  ID_PARAMETRO_EXPO INT8,
  FORMATO_AUSENCIA INT8,
  FORMATO_CAMBIO_HORARIO INT8,
  FORMATO_AUTORIZACION INT8,
  FORMATO_FERIADO INT8,
  NOMBRE_ARCHIVO_AUSENCIA VARCHAR(255),
  NOMBRE_ARCHIVO_CAMBIO_HORARIO VARCHAR(255),
  NOMBRE_ARCHIVO_AUTORIZACION VARCHAR(255),
  NOMBRE_ARCHIVO_FERIADO VARCHAR(255),
  INCLUIR_NRO_REGISTRO CHAR(1),
  AGRUPACION_REGISTRO INT8,
  AGRUPAR_DIAS_CORRIDOS CHAR(1),
  CONSTRAINT REPORTE_HORARIO_PK PRIMARY KEY (ID_REPORTE_HORARIO)
);

CREATE TABLE REPORTE_COMEDOR
(
  ID_REPORTE_COMEDOR INT8 NOT NULL,
  ID_REPORTE INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  DESCRIPCION VARCHAR(100),
  FECHA_DESDE DATE,
  FECHA_HASTA DATE,
  PERSONAS VARCHAR(8000),
  LEGAJOS VARCHAR(8000),
  MENUES VARCHAR(8000),
  AGRUPACION NUMERIC(3,0),
  GRUPOS VARCHAR(8000),
  OPERADORY CHAR(1),
  PERSONAS_ACTIVAS CHAR(1),
  FORMATO VARCHAR(10),
  PERSONA_XPAGINA CHAR(1),
  FECHA_XPAGINA CHAR(1),
  MENU_XPAGINA CHAR(1),
  TIPO_REPORTE VARCHAR(10),
  AGRUPADO_POR NUMERIC(3,0),
  SALTO_PAGINA_GRUPO CHAR(1),
  ORDENAMIENTO NUMERIC(2,0),
  GRUPO_XPAGINA CHAR(1),
  AGRUPACION_TOTALIZAR NUMERIC(3,0),
  PUNTOS_CONSUMO VARCHAR(8000),
  PERIODO_ACTUAL CHAR(1) DEFAULT 'N',
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT REPORTE_COMEDOR_PK PRIMARY KEY (ID_REPORTE_COMEDOR)
);

CREATE TABLE REPORTE_COMUNICACION
(
  ID_REPORTE_COMUNICACION INT8 NOT NULL,
  ID_REPORTE INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  DESCRIPCION VARCHAR(100),
  TIPO_REPORTE VARCHAR(10),
  FECHA_DESDE DATE,
  FECHA_HASTA DATE,
  HORA_DESDE VARCHAR(5),
  HORA_HASTA VARCHAR(5),
  ID_PERSONA INT8,
  TARJETA VARCHAR(10),
  COMANDO VARCHAR(10),
  ID_RELOJ INT8,
  ID_FORMATO_SALIDA INT8,
  EXPORTADA CHAR(1),
  MARCAR_EXPORTADA CHAR(1),
  ORDENAMIENTO NUMERIC(2,0),
  EXPORTAR_ZONA CHAR(1),
  RELOJ_MOBILE CHAR(3),
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT REPORTE_COMUNICACION_PK PRIMARY KEY (ID_REPORTE_COMUNICACION)
);

CREATE TABLE TIPO_ENVIO_REPORTE
(
  ID_TIPO_ENVIO_REPORTE INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT TIPO_ENVIO_REPORTE_PK PRIMARY KEY (ID_TIPO_ENVIO_REPORTE)
);

CREATE TABLE ENVIO_REPORTE
(
  ID_ENVIO_REPORTE INT8 NOT NULL,
  ID_TIPO_ENVIO_REPORTE INT8 NOT NULL,
  HORA_ENVIO CHAR(5),
  MES_ANTERIOR_COMPLETO CHAR(1),
  DIAS_ENVIO VARCHAR(20),
  SUBJECT VARCHAR(100),
  ENVIAR_POR VARCHAR(10),
  ULTIMO_ENVIO TIMESTAMP,
  ULTIMA_GENERACION TIMESTAMP,
  FECHA_ALTA TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  USUARIO_ALTA INT8,  
  USUARIO_MODIF INT8,
  DESDE_ANTES_DESPUES CHAR(1),
  HASTA_ANTES_DESPUES CHAR(1),
  FECHA_DESDE_N_DIAS INT8,
  FECHA_HASTA_N_DIAS INT8,
  ID_IDIOMA SMALLINT NOT NULL,
  UBICACION_ARCHIVO VARCHAR(240),
  CONSTRAINT ENVIO_REPORTE_PK PRIMARY KEY (ID_ENVIO_REPORTE)
);

CREATE TABLE REL_ENVIO_REPORTE_ACCESO (
  ID_ENVIO_REPORTE INT8 NOT NULL,
  ID_REPORTE_ACCESO INT8 NOT NULL,
  CONSTRAINT REL_ENVIO_REPORTE_ACCESO_PK PRIMARY KEY (ID_ENVIO_REPORTE, ID_REPORTE_ACCESO)
);

CREATE TABLE REL_ENVIO_REPORTE_HORARIO (
  ID_ENVIO_REPORTE INT8 NOT NULL,
  ID_REPORTE_HORARIO INT8  NOT NULL,
  CONSTRAINT REL_ENVIO_REPORTE_HORARIO_PK PRIMARY KEY (ID_ENVIO_REPORTE, ID_REPORTE_HORARIO)
);

CREATE TABLE REL_ENVIO_REPORTE_COMEDOR (
  ID_ENVIO_REPORTE INT8 NOT NULL,
  ID_REPORTE_COMEDOR INT8 NOT NULL,
  CONSTRAINT REL_ENVIO_REPORTE_COMEDOR_PK PRIMARY KEY (ID_ENVIO_REPORTE, ID_REPORTE_COMEDOR)
);

CREATE TABLE REL_ENVIO_REPORTE_COMUNICACION (
  ID_ENVIO_REPORTE INT8 NOT NULL,
  ID_REPORTE_COMUNICACION INT8 NOT NULL,
  CONSTRAINT REL_ENVIO_REP_CMN_PK PRIMARY KEY (ID_ENVIO_REPORTE, ID_REPORTE_COMUNICACION)
);

CREATE TABLE REL_ENVIO_REPORTE_USUARIO (
  ID_ENVIO_REPORTE INT8 NOT NULL,
  ID_USUARIO INT8 NOT NULL,
  CONSTRAINT REL_ENV_REP_USU_PK PRIMARY KEY (ID_ENVIO_REPORTE, ID_USUARIO)
);

CREATE TABLE TIPO_INCONSISTENCIA (
  ID_TIPO_INCONSISTENCIA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  CONSTRAINT PK_TIPO_INCONSISTENCIA PRIMARY KEY (ID_TIPO_INCONSISTENCIA)
);

CREATE TABLE TIPO_EJECUCION_PROCESO (
  ID_TIPO_EJECUCION_PROCESO INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT TIPO_EJECUCION_PROCESO_PK PRIMARY KEY (ID_TIPO_EJECUCION_PROCESO)
);

CREATE TABLE TIPO_ACCESO_RELOJ 
(
	ID_TIPO_ACCESO_RELOJ SMALLINT NOT NULL ,
	DESCRIPCION character varying(40) NOT NULL,
	DESCRIPCION_RESOURCES character varying(80) NOT NULL,
	FECHA_BAJA TIMESTAMP without time zone,
	CONSTRAINT TIPO_ACCESO_RELOJ_PK PRIMARY KEY (ID_TIPO_ACCESO_RELOJ)
);

CREATE TABLE HUELLA_PERSONA
(
  ID_PERSONA INT8 NOT NULL,
  DEDO CHAR(1) NOT NULL, 
  HUELLA VARCHAR(4000),
  CONSTRAINT PK_HUELLA_PERSONA PRIMARY KEY (ID_PERSONA, DEDO)
);

CREATE TABLE COMEDOR_MENU_AUTOMATICO
(
  ID_COMEDOR_MENU_AUTOMATICO INT8 NOT NULL,
  ID_RELOJ INT8 NOT NULL,
  ID_MENU INT8 NOT NULL,
  CANTIDAD INTEGER,  
  HORA_DESDE VARCHAR(5),
  HORA_HASTA VARCHAR(5),
  ID_MENU_EXCLUYENTE INT8,
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT COM_MEN_AUT_PK PRIMARY KEY (ID_COMEDOR_MENU_AUTOMATICO)
);

CREATE TABLE SINCRONIZACION (
  ID_SINCRONIZACION INT8 NOT NULL,
  CODIGO_OPERACION CHAR(2),
  ID_EMPRESA INT8 NOT NULL,
  LEGAJO VARCHAR(40),
  FECHA_INGRESO TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  NOMBRE VARCHAR(80),
  APELLIDO VARCHAR(80),
  TARJETA VARCHAR(10),
  DESCRIPCION_GRUPO_1 VARCHAR(80),
  CODIGO_HORARIO VARCHAR(20),
  CODIGO_CONVENIO VARCHAR(40),
  DESCRIPCION_CATEGORIA VARCHAR(40),
  ID_TIPO_AUTORIZACION CHAR(1),
  PRIMERA_ULTIMA_FICHADA CHAR(1),
  DESCRIPCION_GRUPO_2 VARCHAR(80),
  DESCRIPCION_GRUPO_3 VARCHAR(80),
  NUMERO_DOCUMENTO VARCHAR(15),
  FECHA_ROTATIVIDAD TIMESTAMP,
  LOG VARCHAR(4000),
  DESCRIPCION_PERFIL_ACCESO VARCHAR(80),
  INICIAL_TIPO_PERSONA CHAR(1),
  TARJETA_ZK VARCHAR(20),
  DESCRIPCION_GRUPO_4 VARCHAR(80),
  DESCRIPCION_GRUPO_5 VARCHAR(80), 
  CODIGO_LISTA_PRECIO VARCHAR(8),
  CANTIDAD_CONSUMO_POR_DIA INTEGER,
  TICKET_COMIDA FLOAT,
  TIEMPO_INHIBICION CHAR(5),
  MENU_POR_CONSUMO INTEGER,
  COMEDORES VARCHAR(4000),
  MENUS VARCHAR(4000),
  CONSTRAINT PK_SINCRONIZACION PRIMARY KEY (ID_SINCRONIZACION)
);

CREATE TABLE TIPO_EJEC_SINC (
  ID_TIPO_EJEC_SINC INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT TIPO_EJEC_SINC_PK PRIMARY KEY (ID_TIPO_EJEC_SINC)
);

CREATE TABLE FORMATO_SALIDA (
  ID_FORMATO_SALIDA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT FORMATO_SALIDA_PK PRIMARY KEY (ID_FORMATO_SALIDA)
);

CREATE TABLE ESTADO_MENSAJE
(
  ID_ESTADO_MENSAJE INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT ESTADO_MENSAJE_PK PRIMARY KEY (ID_ESTADO_MENSAJE)
);

CREATE TABLE MENSAJE_USUARIO
(
  ID_MENSAJE_USUARIO INT8 NOT NULL,
  MENSAJE VARCHAR(200) NOT NULL,
  ID_USUARIO_ORIGEN INT8 NOT NULL,
  ID_USUARIO_DESTINO INT8 NOT NULL,
  ID_ESTADO_MENSAJE INT8 NOT NULL,
  FECHA_ALTA TIMESTAMP,
  FECHA_LECTURA TIMESTAMP,
  CONSTRAINT MENSAJE_USUARIO_PK PRIMARY KEY (ID_MENSAJE_USUARIO)
);

CREATE TABLE TIPO_AUTORIZACION
(
  ID_TIPO_AUTORIZACION INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  FILTRO_REPORTE CHAR(1),
  FILTRO_GENERAL CHAR(1),
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT TIPO_AUTORIZACION_PK PRIMARY KEY (ID_TIPO_AUTORIZACION)
);

CREATE TABLE LECTURA_AUTOMATICA
(
  ID_LECTURA_AUTOMATICA INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_PARAMETRO_IMPO INT8 NOT NULL,
  ID_AGENTE INT8 NOT NULL,
  ARCHIVO_LOG VARCHAR(200), 
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT LECTURA_AUTOMATICA_PK PRIMARY KEY (ID_LECTURA_AUTOMATICA)
);

CREATE TABLE PERSONA_MOBILE
(
  ID_PERSONA_MOBILE INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  NUMERO_CELULAR INT8,
  FICHA_ENTRANDO_ZONA CHAR(1), 
  FICHA_SALIENDO_ZONA CHAR(1),
  FICHA_HORARIO_TEORICO CHAR(1),
  PERMITIR_FICHADA_MANUAL CHAR(1),
  ACTIVO CHAR(1),
  FECHA_ACTIVACION TIMESTAMP,
  ID_APP_MOBILE INT8,
  ANDROID_ID VARCHAR(80),
  IOS_ID VARCHAR(40),
  CRPC_ID VARCHAR(40),
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  ULTIMA_CONEXION TIMESTAMP,
  VERSION_SO VARCHAR(40),
  MARCA VARCHAR(40),
  MODELO VARCHAR(40),
  SERVICIO_GPS CHAR(1),
  SINCRO_FECHA_HORA CHAR(1),
  ID_GEOLOCALIZACION INT8,
  FECHA_GEOLOCALIZACION TIMESTAMP,
  VALIDACION_CODIGO CHAR(1),
  AUTOGESTION_ZONAS CHAR(1),
  ID_CONTROL_ACTIVIDAD INT8,
  ID_INICIO_ACTIVIDAD INT8,
  FRECUENCIA CHAR(1),
  CANTIDAD VARCHAR(7),
  DURACION VARCHAR(5),
  TIEMPO_VALIDEZ_GEO INTEGER,
  VALIDACION_UBICACION CHAR(1),
  VALIDACION_BIOMETRICA CHAR(1),
  TOLERANCIA_PRECISION INTEGER,
  CONSTRAINT PERSONA_MOBILE_PK PRIMARY KEY (ID_PERSONA_MOBILE)
);

CREATE TABLE APP_MOBILE 
(
  ID_APP_MOBILE INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  CONSTRAINT PK_APP_MOBILE PRIMARY KEY (ID_APP_MOBILE)
);

CREATE TABLE GEOLOCALIZACION
(
  ID_GEOLOCALIZACION INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80),
  RADIO INT8,
  RADIO_TOLERANCIA INT8,
  TIEMPO_TOLERANCIA INT8,
  LATITUD FLOAT,
  LONGITUD FLOAT,
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT GEOLOCALIZACION_PK PRIMARY KEY (ID_GEOLOCALIZACION)
);

CREATE TABLE REL_PERSONA_GEOLOCALIZACION
(
  ID_PERSONA_MOBILE INT8 NOT NULL,
  ID_GEOLOCALIZACION INT8 NOT NULL,
  CONSTRAINT PK_REL_PER_GEO PRIMARY KEY (ID_PERSONA_MOBILE, ID_GEOLOCALIZACION)
);

CREATE TABLE PARAMETRO_MOBILE
(
  ID_PARAMETRO_MOBILE INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  FICHA_ENTRANDO_ZONA CHAR(1), 
  FICHA_SALIENDO_ZONA CHAR(1),
  FICHA_HORARIO_TEORICO CHAR(1),
  PERMITIR_FICHADA_MANUAL CHAR(1),
  RADIO INT8,
  RADIO_TOLERANCIA INT8,
  TIEMPO_TOLERANCIA INT8,
  VALIDACION_CODIGO CHAR(1),
  AUTOGESTION_ZONAS CHAR(1),
  ID_CONTROL_ACTIVIDAD INT8,
  ID_INICIO_ACTIVIDAD INT8,
  FRECUENCIA CHAR(1),
  CANTIDAD VARCHAR(7),
  DURACION VARCHAR(5),
  TIEMPO_ESPERA_CONTROL INTEGER,
  TIEMPO_VALIDEZ_GEO INTEGER,
  VALIDACION_UBICACION CHAR(1),
  VALIDACION_BIOMETRICA CHAR(1),
  TOLERANCIA_PRECISION INTEGER,
  CONSTRAINT PK_PARAMETRO_MOBILE PRIMARY KEY (ID_PARAMETRO_MOBILE)
);

CREATE TABLE PARAMETRO_AD
(
  ID_PARAMETRO_AD INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  SERVIDOR VARCHAR(80),
  DOMINIO VARCHAR(80),
  USUARIO VARCHAR(80),
  CLAVE VARCHAR(40),
  ID_IDIOMA SMALLINT NOT NULL,
  ID_PERFIL INT8,
  ID_SUPERIOR_INMEDIATO INT8, 
  ACTIVO CHAR(1),
  CANTIDAD INT8,
  FRECUENCIA CHAR(1),
  HORA_INICIO CHAR(5),
  HORA_FIN CHAR(5),
  FECHA_ULTIMA_EJECUCION TIMESTAMP,
  ID_GRUPO_AD VARCHAR(80),
  MENSAJES_POPUP CHAR(1),
  ID_TIPO_ASIGNACION_GRUPO INT8 NOT NULL,
  DEPURAR_USUARIOS CHAR(1) NOT NULL,
  ID_TIPO_ASIGNACION_RELOJ INT8 NOT NULL,
  CONSTRAINT PARAMETRO_AD_PK PRIMARY KEY (ID_PARAMETRO_AD)
);

CREATE TABLE REL_GRP_PRM_AD 
(
	ID_PARAMETRO_AD INT8 NOT NULL, 
	ID_GRUPO INT8 NOT NULL,
	CONSTRAINT PK_REL_REL_GRP_PARAM_AD PRIMARY KEY (ID_PARAMETRO_AD, ID_GRUPO)
);

CREATE TABLE DOCUMENTO (
  ID_DOCUMENTO INT8 NOT NULL,
  PATH VARCHAR(200),
  DESCRIPCION VARCHAR(80),
  FECHA_ALTA TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT PK_DOCUMENTO PRIMARY KEY (ID_DOCUMENTO)
);
  
CREATE TABLE PROCESO_PER_JOR_DOC (
  ID_PROCESO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  ID_FECHA_JORNADA INT8 NOT NULL,
  ID_DOCUMENTO INT8 NOT NULL,
  CONSTRAINT PK_PROCESO_PER_JOR_DOC PRIMARY KEY (ID_PROCESO, ID_PERSONA, ID_FECHA_JORNADA, ID_DOCUMENTO)
);

CREATE TABLE ESTADO_NOVEDAD_ACCESO
(
  ID_ESTADO_NOVEDAD_ACCESO INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_ESTADO_NOVEDAD_ACCESO PRIMARY KEY (ID_ESTADO_NOVEDAD_ACCESO)
);

CREATE TABLE TIPO_NOVEDAD_ACCESO
(
  ID_TIPO_NOVEDAD_ACCESO INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_TIPO_NOVEDAD_ACCESO PRIMARY KEY (ID_TIPO_NOVEDAD_ACCESO)
);

CREATE TABLE NOVEDAD_ACCESO
(
  ID_NOVEDAD_ACCESO INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  ID_ESTADO_NOVEDAD_ACCESO INT8 NOT NULL,
  ID_TIPO_NOVEDAD_ACCESO INT8 NOT NULL,
  FECHA_DESDE DATE,
  FECHA_HASTA DATE,
  FECHA_ALTA TIMESTAMP,
  FECHA_MODIF TIMESTAMP,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  USUARIO_MODIF INT8,
  CONSTRAINT PK_NOVEDAD_ACCESO PRIMARY KEY (ID_NOVEDAD_ACCESO)
);

CREATE TABLE REL_NOV_ACCESO_PERSONA
(
  ID_NOVEDAD_ACCESO INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  CONSTRAINT PK_REL_NOV_ACC_PERSONA PRIMARY KEY (ID_NOVEDAD_ACCESO, ID_PERSONA)
);

CREATE TABLE ESTADO_CAMARA 
(
  ID_ESTADO_CAMARA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  CONSTRAINT PK_ESTADO_CAMARA PRIMARY KEY (ID_ESTADO_CAMARA)
);

CREATE TABLE RESOLUCION_CAMARA 
(
  ID_RESOLUCION_CAMARA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  ANCHO INTEGER,
  ALTO INTEGER,
  FECHA_BAJA TIMESTAMP,
  CONSTRAINT PK_RESOLUCION_CAMARA PRIMARY KEY (ID_RESOLUCION_CAMARA)
);

CREATE TABLE CAMARA
(
  ID_CAMARA INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80),
  IP CHAR(15),
  PUERTO INT,
  PATH_FOTO VARCHAR(80),
  LOGIN VARCHAR(40),
  CLAVE VARCHAR(40),
  SSL_TLS CHAR(1),
  ID_MODO_CAMARA INT8,
  ID_ESTADO_CAMARA INT8,
  ID_RESOLUCION_CAMARA INT8,
  FRECUENCIA_FOTO INTEGER,
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  ULTIMA_CONEXION TIMESTAMP,
  TIEMPO_RECONEXION INTEGER,
  CONSTRAINT PK_CAMARA PRIMARY KEY (ID_CAMARA)
);

CREATE TABLE REL_CAMARA_RELOJ 
(
	ID_CAMARA INT8 NOT NULL, 
	ID_RELOJ INT8 NOT NULL,
	CONSTRAINT PK_REL_CAM_RELOJ PRIMARY KEY (ID_CAMARA, ID_RELOJ)
);

CREATE TABLE MODO_TARJETA
(
  ID_MODO_TARJETA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT MODO_TARJETA_PK PRIMARY KEY (ID_MODO_TARJETA)
);

CREATE TABLE MODO_CAMARA
(
  ID_MODO_CAMARA INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL,
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL,
  CONSTRAINT MODO_CAMARA_PK PRIMARY KEY (ID_MODO_CAMARA)
);

CREATE TABLE ESTADO_ACTIVIDAD 
(
  ID_ESTADO_ACTIVIDAD INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  CONSTRAINT PK_ESTADO_ACTIVIDAD PRIMARY KEY (ID_ESTADO_ACTIVIDAD)
);

CREATE TABLE ACTIVIDAD
(
  ID_ACTIVIDAD INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80),
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  CONSTRAINT PK_ACTIVIDAD PRIMARY KEY (ID_ACTIVIDAD)
);

CREATE TABLE REGISTRO_ACTIVIDAD
(
  ID_REGISTRO_ACTIVIDAD INT8 NOT NULL,
  ID_PERSONA INT8 NOT NULL,
  ID_ACTIVIDAD INT8,
  ID_ESTADO_ACTIVIDAD INT8 NOT NULL,
  FECHA_HORA_CONTROL TIMESTAMP,
  FECHA_HORA_RESPUESTA TIMESTAMP,
  DESCRIPCION VARCHAR(100),
  ID_GEOLOCALIZACION INT8,
  CONTROL VARCHAR(80),
  CONSTRAINT PK_REGISTRO_ACTIVIDAD PRIMARY KEY (ID_REGISTRO_ACTIVIDAD)
);

CREATE TABLE CONTROL_ACTIVIDAD 
(
  ID_CONTROL_ACTIVIDAD INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  CONSTRAINT PK_CONTROL_ACTIVIDAD PRIMARY KEY (ID_CONTROL_ACTIVIDAD)
);

CREATE TABLE INICIO_ACTIVIDAD 
(
  ID_INICIO_ACTIVIDAD INT8 NOT NULL,
  DESCRIPCION VARCHAR(40) NOT NULL, 
  DESCRIPCION_RESOURCES VARCHAR(80) NOT NULL, 
  CONSTRAINT PK_INICIO_ACTIVIDAD PRIMARY KEY (ID_INICIO_ACTIVIDAD)
);

CREATE TABLE EXPOINDSAL
(
  ID_EXPOINDSAL INT8 NOT NULL,
  FECHA_JORNADA DATE NOT NULL,
  ID_PERSONA INT8 NOT NULL, 
  FERIADO CHAR(1), 
  LEGAJO VARCHAR(40),
  AGRUPACION_1 VARCHAR(80),
  AGRUPACION_2 VARCHAR(80),
  AGRUPACION_3 VARCHAR(80),
  AGRUPACION_4 VARCHAR(80),
  AGRUPACION_5 VARCHAR(80),
  AGRUPACION_6 VARCHAR(80),
  AGRUPACION_7 VARCHAR(80),
  AGRUPACION_8 VARCHAR(80),
  AGRUPACION_9 VARCHAR(80),
  AGRUPACION_10 VARCHAR(80),
  CONTROL_PERSONAL CHAR(1), 
  CONTROL_COMEDOR CHAR(1), 
  CONTROL_ACCESO CHAR(1), 
  TIPO_PERSONA VARCHAR(80),
  DNI VARCHAR(15),
  PERSONA VARCHAR(160),
  NOMBRE VARCHAR(80),
  APELLIDO VARCHAR(80),
  CODIGO_HORARIO VARCHAR(40),
  TIPO_HORARIO VARCHAR(80),
  HORA_ENTRADA_1 CHAR(5), 
  HORA_SALIDA_1 CHAR(5),
  HORA_ENTRADA_2 CHAR(5), 
  HORA_SALIDA_2 CHAR(5),
  HORA_ENTRADA_3 CHAR(5), 
  HORA_SALIDA_3 CHAR(5),
  HORA_ENTRADA_4 CHAR(5), 
  HORA_SALIDA_4 CHAR(5),
  HORA_ENTRADA_5 CHAR(5), 
  HORA_SALIDA_5 CHAR(5),
  SEGUNDOS_PRESENCIA INTEGER,
  CONCEPTO_HORA VARCHAR(40),
  CONCEPTO_DIA VARCHAR(40),
  PERIODO_1 VARCHAR(40),
  TIPO_HORA_1 VARCHAR(40),
  CANT_HORA_1 VARCHAR(10),
  PERIODO_2 VARCHAR(40),
  TIPO_HORA_2 VARCHAR(40),
  CANT_HORA_2 VARCHAR(10),
  PERIODO_3 VARCHAR(40),
  TIPO_HORA_3 VARCHAR(40),
  CANT_HORA_3 VARCHAR(10),
  CONSTRAINT EXPOINDSAL_PK PRIMARY KEY (ID_EXPOINDSAL)
);

CREATE TABLE ZONA_PRESENTE (
  ID_ZONA_PRESENTE INT8 NOT NULL,
  ID_EMPRESA INT8 NOT NULL,
  DESCRIPCION VARCHAR(80) NOT NULL, 
  FECHA_BAJA TIMESTAMP,
  USUARIO_ALTA INT8,
  FECHA_ALTA TIMESTAMP,
  USUARIO_MODIF INT8,
  FECHA_MODIF TIMESTAMP,
  CONSTRAINT PK_ZONA_PRESENTE PRIMARY KEY (ID_ZONA_PRESENTE)
);

CREATE TABLE ZONA_PRESENTE_RELOJ (
  ID_ZONA_PRESENTE INT8 NOT NULL,
  ID_RELOJ INT8 NOT NULL,
  CONSTRAINT PK_ZONA_PRESENTE_RELOJ PRIMARY KEY (ID_ZONA_PRESENTE, ID_RELOJ)
);

CREATE TABLE ZONA_PRESENTE_CONF_MONITOR (
  ID_ZONA_PRESENTE INT8 NOT NULL,
  ID_CONFIGURACION_MONITOR INT8 NOT NULL,
  CONSTRAINT PK_ZONA_PRES_CONF_MONITOR PRIMARY KEY (ID_ZONA_PRESENTE, ID_CONFIGURACION_MONITOR)
);