Unidad 2 · Versionamiento y datosDiccionario de datos
Registro y verificación de proveedores
Alta de proveedores, su solicitud de registro y la verificación de sus documentos.
Módulo con 6 tablas: suppliers, supplier_applications, business_supplier, type_documents, supplier_documents, document_validations. Las convenciones de tipos y llaves están en la página del diccionario.
Diagrama
Solo se muestran las llaves primarias (PK) y foráneas (FK). Las tablas sin columnas (users, business) pertenecen a otros módulos.
Tablas
suppliers
Proveedores.
| Columna | Tipo | Llave | Descripción |
|---|---|---|---|
UniqueID | BIGINT | PK | Identificador único del registro. |
user_id | BIGINT | FK → users | Referencia a users. |
supplier_type | ENUM | Tipo de proveedor: independiente o empresa. Las empresas piden más documentos. | |
rfc | VARCHAR | RFC del proveedor. | |
active | BOOLEAN | Indica si el registro está activo (baja lógica). |
supplier_applications
Solicitudes para ser proveedor.
| Columna | Tipo | Llave | Descripción |
|---|---|---|---|
UniqueID | BIGINT | PK | Identificador único del registro. |
reviewed_by | BIGINT | FK → users | Usuario que revisa la solicitud. |
supplier_id | BIGINT | FK → suppliers | Referencia a suppliers. |
supplier_type | ENUM | Tipo de proveedor solicitado. | |
state | ENUM | Estado de la solicitud (por ejemplo: pendiente, aprobada, rechazada). | |
comments | VARCHAR | Comentarios del revisor. | |
application_date | DATE | Fecha en que se presentó la solicitud. | |
due_date | DATE | Fecha de vencimiento. |
business_supplier
Relaciona proveedores con sus negocios.
| Columna | Tipo | Llave | Descripción |
|---|---|---|---|
UniqueID | BIGINT | PK | Identificador único del registro. |
business_id | BIGINT | FK → business | Negocio del proveedor. Permite que un proveedor tenga varios negocios; no es lo mismo que sucursal. |
supplier_id | BIGINT | FK → suppliers | Referencia a suppliers. |
active | BOOLEAN | Indica si el registro está activo (baja lógica). |
type_documents
Catálogo de documentos que se piden.
| Columna | Tipo | Llave | Descripción |
|---|---|---|---|
UniqueID | BIGINT | PK | Identificador único del registro. |
name | VARCHAR | Nombre. | |
description | VARCHAR | Descripción en texto libre. | |
requires_expiration_date | BOOLEAN | Si el documento tiene fecha de vencimiento. | |
supplier_type | ENUM | Tipo de proveedor al que se le pide el documento. | |
mandatory | BOOLEAN | Si el documento es obligatorio. | |
active | BOOLEAN | Indica si el registro está activo (baja lógica). |
supplier_documents
Documentos subidos por proveedores.
| Columna | Tipo | Llave | Descripción |
|---|---|---|---|
UniqueID | BIGINT | PK | Identificador único del registro. |
supplier_id | BIGINT | FK → suppliers | Referencia a suppliers. |
type_document_id | BIGINT | FK → type_documents | Referencia a type_documents. |
file_key | VARCHAR | Llave del archivo en el almacenamiento (no la URL). | |
file_hash | VARCHAR | Hash del archivo para detectar cambios o duplicados. | |
upload_date | DATE | Fecha en que se subió. | |
due_date | DATE | Fecha de vencimiento. |
document_validations
Revisión de cada documento.
| Columna | Tipo | Llave | Descripción |
|---|---|---|---|
UniqueID | BIGINT | PK | Identificador único del registro. |
document_id | BIGINT | FK → supplier_documents | Referencia a supplier_documents. |
result | VARCHAR | Resultado de la revisión (aprobado o rechazado). | |
reviewed_by | BIGINT | FK → users | Usuario que revisó el documento. |
comment | VARCHAR | Comentario. | |
reviewed_at | DATETIME | Fecha y hora de la revisión. |