Saltar a contenido

Estructura

Tablas del sistema eFlow.

Aspectos generales:

Todos los campos llamados id son números seriales únicos en la tabla, sirven como llave principal para cada tabla que los contiene.

Cuando un id se utiliza como referencia en otra tabla se le da el nombre de la tabla que lo contiene o el nombre de la tabla_id, ejemplo: el id de la tabla usuario, se escribe como user_id en la tabla de folio_station; en la tabla log_update el id del folio se almacena en folio.

Todas las tablas que tienen un # al final, denotan que pertenecen al proceso número # existente en el sistema, el número corresponde al id del proceso en cuestión. Así el proceso 1 tiene asociadas las tablas: folio1, folio_station1, log_update1, station_history1.

En la base de datos workflow, las tablas obj# corresponden al número de folio electrónico diseñado. El número de folio corresponde al id de la tabla obj_folio.

A continuación se presenta el mapa y la relación de las tablas:

Table "conditions"

Define los puntos de origen y destino que puede tener un folio como ruta de traslado entre dos estaciones. Existe una entrada por cada posible ruta de una estación.

Column Type Modifiers Descripción
id serial id único de esta condición
process integer proceso al que pertenece esta condición
station integer estación origen
destiny character varying(255) estación destino
label character varying(100) etiqueta que ve el usuario para esta ruta
url character varying(255) url en caso de que sea de tipo liga
lntype integer default 0 tipo de ruta (1 normal, 2 paralela, 3 Liga, 4 proceso externo, 5 Fin, 6 Unión)

Table "emails"

Tabla temporal para preparar los correos que se deben enviar para notificar retrasos de folios, el envío se ordena por email, proceso, estación.

Column Type Descripción
email character varying email destino
process_id integer número de proceso al que pertenece el retraso
station_id integer Estación a la que pertenece el retraso
folio_id integer Folio retrasado
process_name character varying(60) nombre del proceso
station_name character varying(40) nombre de la estación
xtime character varying(30) hora de retraso
comments character varying(2048) comentarios

Table "external_line"

Datos para dibujar línea externa entre dos estaciones

Column Type Descripción
id serial Número de línea
process integer Número de proceso al que pertenece
station integer Estación origen
destiny integer Estación destino

Table "external_proc"

Datos para dibujar representación de un proceso externo (círculo rosado en diseñador)

Column Type Descripción
id serial Número de proceso externo
process integer Número de proceso al que pertenece el proceso externo
location character varying No se usa
comments character varying(128) Comentario del usuario
lay_out character varying(50) Coordenadas (x,y)

Table "folio#"

Datos del folio que se ha creado en el sistema

Column Type Modifiers Descripción
id integer Número de folio
company integer No se usa
process_company integer No se usa
status integer 0 Terminado 1 Activo --1 Cancelado
user_folio integer Usuario que tiene el folio
user_new integer Usuario que creó el folio
date_created date Fecha de creación
time_created time without time zone Hora creación
date_station date Fecha entrada a estación
time_station time without time zone Hora entrada estación
acc_cost numeric(10,2) Costo acumulado (suma costo estación)
main_key character varying(100) Llave para uso del usuario
sec_key character varying(100) Llave para uso del usuario
user_int integer default 0 Entero para uso del usuario
user_char character varying(255) Caracter para uso del usuario
comments character varying default ' ' Comentarios del folio
date_finished timestamp with time zone Fecha de finalización
obj_folio integer default 0 Objeto que contiene la forma de captura
label character varying Etiqueta para desplegar el #folio al usuario
holiday integer default 0 Acumula días no laborales del folio desde su creación

Indexes: index_folio btree (id)

Table "folio_station#"

Punto en el que se encuentra el folio. Si el folio se dividió en varios caminos paralelos, existe una entrada por cada folio existente. Al finalizar un folio, se elimina de esta tabla para que se mantengan únicamente los folios activos.

Column Type Modifiers Descripción
folio integer Número de folio
station integer Estación donde se encuentra
join_station character varying Estaciones que se deben unir
display boolean default true Si se debe o no ver el folio
timer integer default 0 No se usa
date_process date Fecha procesamiento automático
user_id integer Usuario que tiene el folio
date_station date Fecha de asignación a estación
time_station time without time zone Hora de asignación a estación
unique_id character varying(25) Identificador único (Apache)
due_time timestamp without time zone Fecha de vencimiento
email_sent boolean default 'f' f No se a notificado, t ya se notificó
holiday integer default 0 Acumula días no laborales del folio desde su asignación

Table "general"

Contiene datos de uso general y configuración del sistema

Column Type Modifiers Descripción
language integer Lenguaje a usar
menu character varying(255) path al cgi que despliega el menú
log integer 0 No registrar 1 Registrar usuarios
smtp character varying(100) IP o dominio de servidor SMTP
purge_log integer default 3 Meses para depurar log de usuarios
user_validation integer default 0 0 Valida local, 1 Valida con POP3
servers character varying Ips o dominios SMTP
holidays integer default 0 0 Desplegar días calendario, 1 desplegar días laborales
saturday integer default 0 0 Sábado es laboral, 1 sábado es festivo
sunday integer default 0 0 Domingo es laboral, 1 domingo es festivo
u_type integer Tipo actualización automática (0 NO, 1 manual, 2 automática)
u_conf integer Tipo conexión a Internet (0 directa, 1 proxy)
u_check integer 0 No se a verificado conexión, 1 conexión a Internet verificada
u_proxy character varying Dirección del proxy
u_user character varying Usuario del proxy
u_passwd character varying Password del proxy
u_email character varying Email para notificar actualizaciones
user_position integer 0 usar usuarios, 2 usar modelo de plazas

Table "group_permits"

Catálogo de permisos definidos (existen 32 permisos disponibles para configurar)

Column Type Descripción
id serial Número de permiso
name character varying(40) Nombre descriptivo del permiso

Indexes: group_permits_id_key unique btree (id)

Table "groups"

Catálogo de grupos (de usuarios)

Column Type Modifiers Descripción
id serial Numero de grupo
name character varying Nombre del grupo
description character varying default ' ' No se usa
relations character varying default 0 Relaciones origen,destino..
lay_out character varying default '0,0' Coordenadas (x,y)
permissions integer default 0 Permisos del grupo (id,id,...)

Indexes: groups_id_key unique btree (id)

Table "holiday"

Fechas que se consideran no laborables para mover fechas de vencimiento de los folios

Column Type Descripción
month integer Mes y
day character varying(50) Día no laborable

Table "log_update"

Registro de actualizaciones del folio

Column Type Descripción
access_time timestamp without time zone Fecha y hora de acceso
process integer Proceso desde el que se realizó el acceso
station integer Estación desde la que se realizó el acceso
destiny integer Destino al que se envió el folio
folio integer Número de folio
user_id integer Usuario que realizó la asignación

Table "log_user"

Registro de acciones que ha realizado el usuario en el sistema (todos sus clicks)

Column Type Descripción
access_time timestamp without time zone Fecha y hora de acceso
program character varying(100) Programa que se ejecuto
user_id integer Usuario que realizó el acceso
ip character varying(20) Ip desde la que accedió
query character varying(1024) Query ejecutado

Table "obj_def"

Definición de campos del folio electrónico (formato de campos, validaciones, tipos, etc.)

Column Type Modifiers Descripción
id serial Número de campo
obj_id integer Folio electrónico al que pertenece
label varchar default 'New' Etiqueta del campo
field_type integer default '0' Tipo de campo
field_opt varchar default '0'',''' Opciones de campo
format integer default '0' Formato para desplegar
options varchar Opciones
pos integer default '0' Posición vertical
comment varchar default ' ' Comentarios del campo
name varchar default 'ff' Nombre del campo
req boolean default 'f' 0 No requerido 1 Requerido
search boolean default 'f' 0 No acepta búsquedas 1 Si
set_destiny varchar default ' ' URL si el folio es liga

Indexes: obj_def_id_key unique btree (id)

Field_type Format
1 Texto
2 Select
3 Radio
4 CheckBox
5 Password
6 Fecha
7 Hora
8 Oculto
9 Omitido
10 TextArea

Table "obj_folio"

Folio electrónico

Column Type Modifiers Descripción
id serial Número de folio electrónico
process integer default 0 Proceso al que pertenece
dbcreated integer default 0 0 No se ha creado la tabla 1 está creada
name character varying(50) Nombre del folio electrónico

Indexes: obj_folio_id_key unique btree (id)

Table "obj_view"

Configuración de campos que se pueden ver, editar, ocultar en la forma en cada estación donde aparece el folio.

Column Type Descripción
obj_id integer Número de folio electrónico
def_id integer Número de campo
station integer Estación (0 historio, > 0 # de estación)
access integer 0 No se ve ni edita, 1 Ver, 2 Editar, 3 ocultar, 4 ver y ocultar

Table "process"

Catálogo de proceos y variables globales para el mismo

Column Type Modifiers Descripción
id serial Número de proceso
name varchar Nombre del proceso
folio integer default 0 Número de folio que sigue
station integer default 0 Siguiente # de estación a crear
addnew varchar Estación a la que se asigna folio nuevo
company varchar No se usa
process_group integer Grupo al que pertenece este proceso
path varchar Ruta donde buscar programas externos
departments varchar Departamentos que tiene el proceso
log integer default 0 Si se deben registrar estadísticas
obj_folio integer default 0 Folio electrónico asociado a este proceso
status integer default 0 0 Inactivo, 1 Activo, 2 Activo no nuevos
rm_folio integer default 0 0 No borrar folios al finalizar, 1 n meses después, 2 n años después
rm_atachment integer default 0 0 No borrar folios al finalizar, 1 n meses después, 2 n años después
time_rm_atachment integer default 0 Meses o años para borrar attachment
time_rm_folio integer default 0 Meses o años para borrar folio

Indexes: process_id_key unique btree (id)

Table "process_group"

Catálogo de grupos de procesos

Column Type Modifiers
id serial Número de grupo de proceso
name character varying(30) Nombre del grupo
work_group character varying No se usa

Indexes: process_group_id_key unique btree (id)

Table "station"

Catálogo de estaciones creadas en los proceso y sus parámetros de configuración

Column Type Modifiers Descripción
id integer Número estación
name varchar Nombre
process integer default 0 Proceso al que pertenece
type integer default 0 0 Usuario active, 1 Sistema mueve
help_group integer default 0 # de grupo de apoyo
duration integer default 86400 Duración automática (en segundos)
company integer default 1 No se usa
obligatory smallint default 0 Si es obligatoria
lock_station smallint default 0 Si se debe bloquear al usuario
join_station varchar Unir estaciones
personal_page varchar Página personal
display_extras varchar Desplegar campos extras en display
department integer default 0 Departamento a la que pertenece
lay_out varchar Coordenadas (x,y)
automatic_process varchar No se usa
pre_process varchar Programa a ejecutar en station.cgi
post_process varchar Programa a ejecutar en update.cgi
post_process2 varchar Programa 2 a ejecutar en update.cgi
cost numeric(14,2) default 0 Costo de pasar por esta estación
notify varchar Email de quien recibe notificaciones
work_group integer default 0 Grupo que debe procesar folios
access_group integer default 0 Grupo que supervisa trabajo
last_user integer default 0 Último usuario que se le asignó folio
allow_cancel smallint default 0 0 No cancelar, 1 se permite cancelar
next_user integer default 0 Como asignar al siguiente usuario
ttime integer default 0 Tiempo total de proceso de folios
folios integer default 0 # de folios que han pasado
opt_hidden integer default 2 1 opciones de radio, 2
send_email integer default 0 0 no email, 1 usuario + jefe, ..
show_update_comment smallint default 0 1 ver opción de "Act. Comentarios"
parameters integer default 0 1 estación parametrizada
mult_station integer default 0 1 Estación acepta actualizaciones múltiples
active integer default 1 1 estación activa, 0 inactiva (como si estuviera eliminada)

Table "station_history"

Tabla donde se acumulan estadísticas de procesamiento de folios para cálculo de cuello de botella históricamente.

Column Type Modifiers Descripción
station_id integer default 0 Estación
hour integer default 0 Hora
ttime integer default 0 Tiempo total acumulado en la hora
maxtime integer default 0 Tiempo máximo
mintime integer default 2000000000 Tiempo mínimo
folios integer default 0 Folios que pasaron en la hora
maxfolio integer default 0 Máximo de folios
minfolio integer default 0 Mínimo de folios
date_id date Fecha de medición

Table "user_group"

Relación de usuarios a grupos

Column Type Descripción
user_id integer Número de usuario
group_id integer Grupo al que pertenece
accessg_id integer Grupo al que tiene acceso

Table "users"

Catálogo de puestos (plazas)

Column Type Modifiers Descripción
id serial Número de puesto
name character varying Nombre
first_lastname character varying Apellido Paterno
second_lastname character varying Apellido Materno
account character varying N/A
passwd character varying N/A
ip_range character varying Ips autorizadas de acceso
ip character varying Ip desde que se que conecta
company integer default 0 N/A
email character varying N/A
date_last_login date Fecha ultimo ingreso
time_last_login time without time zone Hora último ingreso
access_time character varying Hora último acceso
locked character varying Está bloqueado
concurrency integer default 1 Concurrencia autorizada
connections integer default 0 Conexiones activas
status integer default 1 0 Inactivo, 1 Activo
access_id character varying N/A
permissions integer default 0 Permisos que tiene según grupos
signature character varying N/A
boss integer Número de puesto de su jefe directo
user_int integer default 0 Para uso del programador
user_char character varying Para uso del programador
master_id integer default 0 N/A
account_owner integer default 0 N/A
key_pos character varying Para uso del programador
pos1 character varying Detalle de unidad
pos2 character varying Detalle de Dirección
pos3 character varying Detalle de puesto
ruser_id integer default 0 Usuario que ocupa el puesto

Indexes: users_id_key unique btree (id)

Table "rusers"

Catálogo de usuarios

Column Type Descripción
id integer Número de usuario
user_id integer Número de puesto al que está ligado
name character varying Nombre
first_lastname character varying Apellido paterno
second_lastname character varying Apellido materno
account character varying Cuenta
signature character varying Password
passwd character varying Firma
email character varying Email
status integer default 1 0 Inactivo, 1 Activo, 2 Ausente
user_int integer default 0 Para uso del programador
user_char character varying Para uso del programador
master_id integer Id en el servidor maestro
account_owner integer default 0 Si la cuenta le pertenece a este servidor

Table "servers"

Column Type Descripción
id integer
name character varying Nombre
ip character varying IP o Nombre de dominio de un servidor de eFlow
usr character varying Usuario para conectarse a PostgreSQL
passwd character varying Password para conectarse a PostgreSQL