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 |
---|---|---|
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 |
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 |
character varying | ||
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 |