Compare commits
No commits in common. "7f45eb6383746fe717387c0d96afb72a560c56bb" and "4bbace63458ebf83c34b1e71152fb957defb88f6" have entirely different histories.
7f45eb6383
...
4bbace6345
@ -1,219 +0,0 @@
|
||||
# MAI-007: POD y Cierre Operativo
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Fecha:** 2026-01-27
|
||||
**Estado:** Diseño
|
||||
**Prioridad:** P0 (Critico - Bloquea facturacion)
|
||||
|
||||
---
|
||||
|
||||
## Descripcion General
|
||||
|
||||
El modulo POD (Proof of Delivery) y Cierre Operativo es responsable de capturar la evidencia de entrega, registrar tiempos reales y cerrar operativamente los viajes para permitir su facturacion.
|
||||
|
||||
**Problema que resuelve:**
|
||||
- Sin POD no se puede facturar al cliente
|
||||
- Sin registro de tiempos reales no se pueden calcular recargos por demoras
|
||||
- El cierre operativo es prerequisito para liquidacion de operadores
|
||||
|
||||
---
|
||||
|
||||
## Objetivos del Modulo
|
||||
|
||||
1. **Captura de POD:** Registrar firma, nombre del receptor, fotos y documentos que comprueban la entrega
|
||||
2. **Registro de tiempos:** Documentar llegada, inicio/fin de descarga, salida con precision
|
||||
3. **Validaciones:** Asegurar que no se cierre un viaje sin evidencia completa o justificacion
|
||||
4. **Cierre contable:** Congelar costos del viaje para calculo de rentabilidad
|
||||
|
||||
---
|
||||
|
||||
## Alcance Funcional
|
||||
|
||||
### Incluido
|
||||
|
||||
- Captura de POD desde app movil (online/offline)
|
||||
- Firma digital del receptor
|
||||
- Captura fotografica de evidencia
|
||||
- Escaneo de documentos firmados
|
||||
- Registro de tiempos reales por parada
|
||||
- Calculo automatico de detention time
|
||||
- Validaciones de cierre
|
||||
- Notificacion a cliente de entrega
|
||||
- Integracion con facturacion
|
||||
|
||||
### Excluido
|
||||
|
||||
- Gestion de incidencias (MAI-008)
|
||||
- Generacion de facturas (MAI-009)
|
||||
- Liquidacion de operadores (MAI-010)
|
||||
|
||||
---
|
||||
|
||||
## Actores
|
||||
|
||||
| Actor | Rol en el modulo |
|
||||
|-------|------------------|
|
||||
| Operador | Captura POD, registra tiempos, toma evidencias |
|
||||
| Despachador | Valida POD, aprueba cierres con excepciones |
|
||||
| Cliente | Recibe notificacion de entrega |
|
||||
| Facturacion | Consulta POD para emitir factura |
|
||||
|
||||
---
|
||||
|
||||
## Flujo Principal
|
||||
|
||||
```
|
||||
VIAJE EN DESTINO
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Registro Arribo │ ← Automatico por geocerca o manual
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Inicio Descarga │ ← Timestamp + evidencias
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Fin Descarga │ ← Timestamp
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────┐
|
||||
│ Captura POD │
|
||||
│ - Firma digital │
|
||||
│ - Nombre receptor │
|
||||
│ - Fotos (opcional) │
|
||||
│ - Documento escaneado │
|
||||
└────────┬────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────┐
|
||||
│ Validaciones │ ← POD completo? Tiempos OK?
|
||||
└────────┬────────┘
|
||||
│
|
||||
┌────┴────┐
|
||||
│ │
|
||||
▼ ▼
|
||||
[APROBADO] [EXCEPCION]
|
||||
│ │
|
||||
│ ▼
|
||||
│ ┌──────────────┐
|
||||
│ │ Justificacion │
|
||||
│ │ + Aprobacion │
|
||||
│ └──────┬───────┘
|
||||
│ │
|
||||
▼ ▼
|
||||
┌─────────────────┐
|
||||
│ VIAJE CERRADO │
|
||||
└────────┬────────┘
|
||||
│
|
||||
▼
|
||||
[Listo para facturar]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Datos del Modulo
|
||||
|
||||
### Entidades Principales
|
||||
|
||||
| Entidad | Descripcion | Estado |
|
||||
|---------|-------------|--------|
|
||||
| POD | Prueba de entrega | NO IMPLEMENTADA |
|
||||
| FirmaDigital | Firma capturada | NO IMPLEMENTADA |
|
||||
| FotoEntrega | Evidencia fotografica | NO IMPLEMENTADA |
|
||||
| TiempoReal | Tiempos registrados | NO IMPLEMENTADA |
|
||||
| CierreViaje | Registro de cierre | NO IMPLEMENTADA |
|
||||
|
||||
### Campos Clave POD
|
||||
|
||||
| Campo | Tipo | Obligatorio | Descripcion |
|
||||
|-------|------|-------------|-------------|
|
||||
| viaje_id | UUID | Si | Referencia al viaje |
|
||||
| parada_id | UUID | Si | Parada de entrega |
|
||||
| receptor_nombre | VARCHAR(150) | Si | Nombre de quien recibe |
|
||||
| receptor_identificacion | VARCHAR(50) | No | ID del receptor |
|
||||
| firma_digital_id | UUID | Si | Referencia a firma |
|
||||
| fecha_entrega | TIMESTAMP | Si | Fecha/hora de entrega |
|
||||
| status | ENUM | Si | PENDIENTE, COMPLETO, EXCEPCION |
|
||||
| notas | TEXT | No | Observaciones |
|
||||
|
||||
---
|
||||
|
||||
## Requerimientos Funcionales
|
||||
|
||||
Ver archivo: [REQUERIMIENTOS.md](./REQUERIMIENTOS.md)
|
||||
|
||||
---
|
||||
|
||||
## Metricas del Modulo
|
||||
|
||||
| KPI | Formula | Meta |
|
||||
|-----|---------|------|
|
||||
| POD Capturados | % viajes con POD | >98% |
|
||||
| Tiempo promedio captura | Avg(fin_descarga - arribo) | <60 min |
|
||||
| Detention rate | % viajes con detention | <15% |
|
||||
| POD con excepciones | % POD con justificacion | <5% |
|
||||
|
||||
---
|
||||
|
||||
## Dependencias
|
||||
|
||||
### Este modulo depende de:
|
||||
- MAI-005 (Despacho): Viaje debe estar despachado
|
||||
- MAI-006 (Tracking): Eventos de arribo por geocerca
|
||||
- MAI-011 (Gestion Flota): Datos de operador
|
||||
|
||||
### Otros modulos dependen de este:
|
||||
- MAI-009 (Facturacion): No puede facturar sin POD
|
||||
- MAI-010 (Liquidaciones): Cierre para liquidar operador
|
||||
- MAE-016 (Carta Porte): Expediente fiscal del viaje
|
||||
|
||||
---
|
||||
|
||||
## Consideraciones Tecnicas
|
||||
|
||||
### App Movil
|
||||
- Debe funcionar offline con sincronizacion posterior
|
||||
- Compresion de fotos antes de subir
|
||||
- Captura de firma mediante canvas
|
||||
- Almacenamiento temporal seguro
|
||||
|
||||
### Validaciones
|
||||
- Coordenadas GPS dentro de geocerca del destino
|
||||
- Timestamp coherente con eventos previos
|
||||
- Archivo de firma no vacio
|
||||
|
||||
### Integraciones
|
||||
- Notificacion a cliente via WhatsApp/Email
|
||||
- Webhook a sistema de facturacion
|
||||
- Sincronizacion con ERP contable
|
||||
|
||||
---
|
||||
|
||||
## Historias de Usuario
|
||||
|
||||
Ver carpeta: [historias-usuario/](./historias-usuario/)
|
||||
|
||||
| US | Titulo | Prioridad |
|
||||
|----|--------|-----------|
|
||||
| US-MAI007-001 | Capturar firma digital en entrega | Alta |
|
||||
| US-MAI007-002 | Registrar tiempos reales de operacion | Alta |
|
||||
| US-MAI007-003 | Adjuntar fotos de evidencia | Alta |
|
||||
| US-MAI007-004 | Validar POD antes de cierre | Alta |
|
||||
| US-MAI007-005 | Cerrar viaje con excepcion justificada | Media |
|
||||
|
||||
---
|
||||
|
||||
## Referencias
|
||||
|
||||
- REQ-GIRO-TRANSPORTISTA.md - Seccion 4.7
|
||||
- MATRIZ-COHERENCIA-DDL-BACKEND.yml
|
||||
- MAPEO-RF-GIRO-A-MODULOS.yml
|
||||
|
||||
---
|
||||
|
||||
*Modulo MAI-007 - ERP Transportistas - Sistema SIMCO v4.0.0*
|
||||
@ -1,176 +0,0 @@
|
||||
# REQUERIMIENTOS.md - MAI-007: POD y Cierre Operativo
|
||||
|
||||
**Version:** 1.0.0
|
||||
**Fecha:** 2026-01-27
|
||||
**Fuente:** REQ-GIRO-TRANSPORTISTA.md - Seccion 4.7
|
||||
|
||||
---
|
||||
|
||||
## Requerimientos Funcionales
|
||||
|
||||
### RF-4.7.1: Captura POD
|
||||
|
||||
**Descripcion:**
|
||||
El sistema debe permitir capturar la prueba de entrega (Proof of Delivery) incluyendo firma digital, nombre/ID del receptor, sello, fotos y documento escaneado.
|
||||
|
||||
**Criterios de Aceptacion:**
|
||||
1. El operador puede capturar firma digital en pantalla tactil
|
||||
2. El sistema registra nombre y opcionalmente ID del receptor
|
||||
3. El operador puede adjuntar 1-5 fotos de evidencia
|
||||
4. El operador puede escanear documento firmado (carta de porte, remision)
|
||||
5. La captura funciona en modo offline con sincronizacion posterior
|
||||
6. El sistema valida que la firma no este vacia
|
||||
7. El sistema registra coordenadas GPS de la captura
|
||||
|
||||
**Mapeo a DDL:**
|
||||
- Tabla: `pod`
|
||||
- Campos: receptor_nombre, receptor_identificacion, firma_digital_id, foto_ids, documento_url, coordenadas, fecha_captura
|
||||
|
||||
**Endpoints Requeridos:**
|
||||
- `POST /api/v1/pod` - Crear POD
|
||||
- `PUT /api/v1/pod/:id` - Actualizar POD
|
||||
- `POST /api/v1/pod/:id/firma` - Subir firma digital
|
||||
- `POST /api/v1/pod/:id/fotos` - Subir fotos
|
||||
- `POST /api/v1/pod/:id/documento` - Subir documento escaneado
|
||||
|
||||
**Prioridad:** Alta
|
||||
|
||||
---
|
||||
|
||||
### RF-4.7.2: Validaciones POD
|
||||
|
||||
**Descripcion:**
|
||||
El sistema no debe permitir "cerrar" un viaje sin POD o sin justificacion aprobada por un supervisor.
|
||||
|
||||
**Criterios de Aceptacion:**
|
||||
1. El boton "Cerrar Viaje" esta deshabilitado si no hay POD capturado
|
||||
2. Si no hay POD, el sistema muestra opcion "Cerrar con Excepcion"
|
||||
3. Cerrar con excepcion requiere:
|
||||
- Motivo de excepcion (catalogo + texto libre)
|
||||
- Aprobacion de supervisor (puede ser posterior)
|
||||
4. El sistema notifica al supervisor cuando hay excepciones pendientes
|
||||
5. Las excepciones se registran en bitacora de auditoria
|
||||
|
||||
**Mapeo a DDL:**
|
||||
- Tabla: `pod` campo `status` (COMPLETO, EXCEPCION_PENDIENTE, EXCEPCION_APROBADA)
|
||||
- Tabla: `excepciones_pod` (viaje_id, motivo, justificacion, aprobador_id, fecha_aprobacion)
|
||||
|
||||
**Endpoints Requeridos:**
|
||||
- `POST /api/v1/viajes/:id/cierre-excepcion` - Solicitar cierre con excepcion
|
||||
- `PUT /api/v1/excepciones/:id/aprobar` - Aprobar excepcion
|
||||
- `PUT /api/v1/excepciones/:id/rechazar` - Rechazar excepcion
|
||||
|
||||
**Prioridad:** Alta
|
||||
|
||||
---
|
||||
|
||||
### RF-4.7.3: Tiempos Reales
|
||||
|
||||
**Descripcion:**
|
||||
El sistema debe registrar tiempos de llegada, inicio/fin de descarga y salida para metricas de detention y SLA.
|
||||
|
||||
**Criterios de Aceptacion:**
|
||||
1. El operador puede registrar:
|
||||
- Hora de arribo al destino
|
||||
- Hora de inicio de descarga
|
||||
- Hora de fin de descarga
|
||||
- Hora de salida del destino
|
||||
2. Los eventos pueden capturarse automaticamente por geocerca
|
||||
3. El sistema calcula automaticamente:
|
||||
- Tiempo de espera (arribo a inicio descarga)
|
||||
- Tiempo de descarga (inicio a fin)
|
||||
- Tiempo total en destino
|
||||
4. El sistema compara vs tolerancia del SLA del cliente
|
||||
5. Si se excede tolerancia, genera flag de "detention"
|
||||
6. Los tiempos alimentan calculo de recargos en facturacion
|
||||
|
||||
**Mapeo a DDL:**
|
||||
- Tabla: `tiempos_reales`
|
||||
- Campos: viaje_id, parada_id, hora_arribo, hora_inicio_descarga, hora_fin_descarga, hora_salida, detention_minutos, excede_sla
|
||||
|
||||
**Endpoints Requeridos:**
|
||||
- `POST /api/v1/tiempos-reales` - Registrar tiempo
|
||||
- `GET /api/v1/viajes/:id/tiempos` - Consultar tiempos del viaje
|
||||
- `GET /api/v1/viajes/:id/detention` - Consultar detention calculado
|
||||
|
||||
**Prioridad:** Alta
|
||||
|
||||
---
|
||||
|
||||
### RF-4.7.4: Cierre Contable Operativo
|
||||
|
||||
**Descripcion:**
|
||||
Al cerrar el viaje, el sistema debe congelar los costos (combustible, peajes, viaticos) y calcular rentabilidad preliminar.
|
||||
|
||||
**Criterios de Aceptacion:**
|
||||
1. Al cerrar viaje, el sistema:
|
||||
- Marca costos como "cerrados" (no editables)
|
||||
- Suma total de costos del viaje
|
||||
- Calcula margen vs precio cotizado
|
||||
- Genera registro de cierre con snapshot de valores
|
||||
2. El cierre puede revertirse solo con autorizacion especial
|
||||
3. El sistema genera alerta si margen es negativo
|
||||
4. El viaje cerrado pasa a estado "LISTO_FACTURAR"
|
||||
5. El sistema notifica a facturacion que hay viaje listo
|
||||
|
||||
**Mapeo a DDL:**
|
||||
- Tabla: `cierres_viaje`
|
||||
- Campos: viaje_id, fecha_cierre, usuario_cierre, total_costos, total_ingresos, margen, status
|
||||
|
||||
**Endpoints Requeridos:**
|
||||
- `POST /api/v1/viajes/:id/cerrar` - Cerrar viaje
|
||||
- `POST /api/v1/viajes/:id/reabrir` - Reabrir viaje (admin)
|
||||
- `GET /api/v1/viajes/:id/rentabilidad` - Consultar rentabilidad
|
||||
|
||||
**Prioridad:** Alta
|
||||
|
||||
---
|
||||
|
||||
## Requerimientos No Funcionales
|
||||
|
||||
### RNF-001: Performance App Movil
|
||||
|
||||
La captura de POD debe completarse en menos de 30 segundos incluyendo firma y fotos.
|
||||
|
||||
### RNF-002: Disponibilidad Offline
|
||||
|
||||
El modulo debe funcionar sin conexion, almacenando datos localmente hasta 72 horas.
|
||||
|
||||
### RNF-003: Compresion de Imagenes
|
||||
|
||||
Las fotos deben comprimirse a max 500KB antes de sincronizar.
|
||||
|
||||
### RNF-004: Seguridad
|
||||
|
||||
La firma digital debe almacenarse cifrada y ser verificable contra el registro de entrega.
|
||||
|
||||
### RNF-005: Auditoria
|
||||
|
||||
Todos los eventos de POD deben registrarse en log de auditoria con usuario, timestamp y coordenadas.
|
||||
|
||||
---
|
||||
|
||||
## Validaciones de Negocio
|
||||
|
||||
| Validacion | Descripcion | Accion si falla |
|
||||
|------------|-------------|-----------------|
|
||||
| POD_001 | Firma no puede estar vacia | Rechazar POD |
|
||||
| POD_002 | Receptor nombre obligatorio | Rechazar POD |
|
||||
| POD_003 | GPS dentro de geocerca destino | Warning, permitir con nota |
|
||||
| POD_004 | Tiempos en secuencia logica | Rechazar si arribo > descarga |
|
||||
| POD_005 | Viaje en estado EN_DESTINO | No permitir captura |
|
||||
|
||||
---
|
||||
|
||||
## Matriz de Trazabilidad
|
||||
|
||||
| RF | Tabla DDL | Entity | Endpoint | US |
|
||||
|----|-----------|--------|----------|---|
|
||||
| RF-4.7.1 | pod | POD | POST /api/v1/pod | US-MAI007-001, US-MAI007-003 |
|
||||
| RF-4.7.2 | excepciones_pod | ExcepcionPOD | POST /viajes/:id/cierre-excepcion | US-MAI007-005 |
|
||||
| RF-4.7.3 | tiempos_reales | TiempoReal | POST /api/v1/tiempos-reales | US-MAI007-002 |
|
||||
| RF-4.7.4 | cierres_viaje | CierreViaje | POST /viajes/:id/cerrar | US-MAI007-004 |
|
||||
|
||||
---
|
||||
|
||||
*MAI-007 REQUERIMIENTOS - ERP Transportistas - Sistema SIMCO v4.0.0*
|
||||
@ -1,190 +0,0 @@
|
||||
# RESUMEN-EPICA.md - MAI-007: POD y Cierre Operativo
|
||||
|
||||
**Codigo:** MAI-007
|
||||
**Nombre:** POD y Cierre Operativo
|
||||
**Version:** 1.0.0
|
||||
**Fecha:** 2026-01-27
|
||||
|
||||
---
|
||||
|
||||
## Valor de Negocio
|
||||
|
||||
### Problema
|
||||
|
||||
Actualmente las empresas transportistas enfrentan:
|
||||
- Disputas con clientes por falta de evidencia de entrega
|
||||
- Retrasos en facturacion por documentacion incompleta
|
||||
- Perdida de ingresos por no documentar detention time
|
||||
- Imposibilidad de calcular rentabilidad real por viaje
|
||||
|
||||
### Solucion
|
||||
|
||||
Un sistema robusto de captura de POD que:
|
||||
- Provee evidencia digital irrefutable de entrega
|
||||
- Automatiza el registro de tiempos para recargos
|
||||
- Cierra operativamente el viaje para facturacion inmediata
|
||||
- Calcula rentabilidad preliminar al cerrar
|
||||
|
||||
### Beneficios Esperados
|
||||
|
||||
| Beneficio | Metrica | Impacto |
|
||||
|-----------|---------|---------|
|
||||
| Reduccion disputas | -80% reclamos sin evidencia | Ahorro legal |
|
||||
| Facturacion rapida | -3 dias ciclo facturacion | Flujo de caja |
|
||||
| Recargos detention | +15% captura detention | Ingresos |
|
||||
| Visibilidad costos | 100% viajes con rentabilidad | Decisiones |
|
||||
|
||||
---
|
||||
|
||||
## Actores y Stakeholders
|
||||
|
||||
### Usuarios Primarios
|
||||
|
||||
| Actor | Responsabilidad | Frecuencia |
|
||||
|-------|-----------------|------------|
|
||||
| Operador | Captura POD, registra tiempos | Cada entrega |
|
||||
| Despachador | Valida POD, aprueba excepciones | Continuo |
|
||||
| Supervisor | Autoriza cierres especiales | Bajo demanda |
|
||||
|
||||
### Usuarios Secundarios
|
||||
|
||||
| Actor | Interes |
|
||||
|-------|---------|
|
||||
| Facturacion | Usa POD para emitir facturas |
|
||||
| Atencion Cliente | Consulta POD para responder dudas |
|
||||
| Gerencia | Revisa metricas de entrega |
|
||||
|
||||
---
|
||||
|
||||
## Flujo Principal
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ VIAJE EN DESTINO │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 1. REGISTRO ARRIBO │
|
||||
│ - Automatico: Geocerca detecta unidad en destino │
|
||||
│ - Manual: Operador registra en app │
|
||||
│ - Sistema: Timestamp + coordenadas │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 2. DESCARGA │
|
||||
│ - Operador marca inicio descarga │
|
||||
│ - Operador marca fin descarga │
|
||||
│ - Sistema: Calcula duracion, compara vs SLA │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 3. CAPTURA POD │
|
||||
│ - Operador captura firma digital en pantalla │
|
||||
│ - Operador ingresa nombre receptor │
|
||||
│ - Operador toma fotos (opcional) │
|
||||
│ - Operador escanea documento firmado (opcional) │
|
||||
│ - Sistema: Valida datos minimos │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────┴─────────┐
|
||||
│ │
|
||||
▼ ▼
|
||||
┌──────────────────┐ ┌──────────────────┐
|
||||
│ POD COMPLETO │ │ POD INCOMPLETO │
|
||||
│ │ │ │
|
||||
│ Firma OK │ │ Falta firma o │
|
||||
│ Receptor OK │ │ receptor │
|
||||
└────────┬─────────┘ └────────┬─────────┘
|
||||
│ │
|
||||
│ ▼
|
||||
│ ┌──────────────────┐
|
||||
│ │ EXCEPCION │
|
||||
│ │ │
|
||||
│ │ Motivo + Notas │
|
||||
│ │ Enviar a aprobar │
|
||||
│ └────────┬─────────┘
|
||||
│ │
|
||||
▼ ▼
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 4. CIERRE VIAJE │
|
||||
│ - Sistema: Congela costos │
|
||||
│ - Sistema: Calcula rentabilidad │
|
||||
│ - Sistema: Cambia estado a CERRADO │
|
||||
│ - Sistema: Notifica a facturacion │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ LISTO PARA FACTURAR │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Criterios de Exito
|
||||
|
||||
### Funcionales
|
||||
|
||||
- [ ] Operador puede capturar POD completo en <2 minutos
|
||||
- [ ] Sistema funciona offline y sincroniza al reconectar
|
||||
- [ ] Excepciones requieren aprobacion de supervisor
|
||||
- [ ] Cierre calcula rentabilidad automaticamente
|
||||
|
||||
### Tecnicos
|
||||
|
||||
- [ ] Fotos comprimidas a <500KB
|
||||
- [ ] Firma almacenada como imagen PNG
|
||||
- [ ] Sincronizacion en <30 segundos con conexion
|
||||
- [ ] Logs de auditoria completos
|
||||
|
||||
### Negocio
|
||||
|
||||
- [ ] 98% de viajes con POD capturado
|
||||
- [ ] <5% de POD con excepciones
|
||||
- [ ] Facturacion dentro de 24h del cierre
|
||||
- [ ] 100% viajes con rentabilidad calculada
|
||||
|
||||
---
|
||||
|
||||
## Riesgos y Mitigaciones
|
||||
|
||||
| Riesgo | Probabilidad | Impacto | Mitigacion |
|
||||
|--------|--------------|---------|------------|
|
||||
| Operador sin conectividad | Alta | Alto | Modo offline robusto |
|
||||
| Fotos muy pesadas | Media | Medio | Compresion automatica |
|
||||
| Firma ilegible | Media | Medio | Validacion de trazos minimos |
|
||||
| Rechazo de cierre sin POD | Baja | Alto | Flujo de excepciones |
|
||||
|
||||
---
|
||||
|
||||
## Dependencias
|
||||
|
||||
### Prerequisitos
|
||||
- MAI-005 (Despacho): Viaje despachado
|
||||
- MAI-006 (Tracking): Geocercas configuradas
|
||||
- MAI-011 (Flota): Operador asignado
|
||||
|
||||
### Habilita
|
||||
- MAI-009 (Facturacion): Requiere POD para facturar
|
||||
- MAI-010 (Liquidaciones): Requiere cierre para liquidar
|
||||
- MAE-016 (Carta Porte): Expediente completo
|
||||
|
||||
---
|
||||
|
||||
## Story Points Estimados
|
||||
|
||||
| Historia | Complejidad | SP |
|
||||
|----------|-------------|---|
|
||||
| US-MAI007-001 | Alta | 8 |
|
||||
| US-MAI007-002 | Media | 5 |
|
||||
| US-MAI007-003 | Media | 5 |
|
||||
| US-MAI007-004 | Alta | 8 |
|
||||
| US-MAI007-005 | Media | 5 |
|
||||
| **Total** | | **31** |
|
||||
|
||||
---
|
||||
|
||||
*Epica MAI-007 - ERP Transportistas - Sistema SIMCO v4.0.0*
|
||||
@ -1,90 +0,0 @@
|
||||
# US-MAI007-001: Capturar firma digital en entrega
|
||||
|
||||
**ID:** US-MAI007-001
|
||||
**Modulo:** MAI-007 (POD y Cierre)
|
||||
**Prioridad:** Alta
|
||||
**Story Points:** 8
|
||||
|
||||
---
|
||||
|
||||
## Historia de Usuario
|
||||
|
||||
**Como** operador de transporte
|
||||
**Quiero** capturar la firma digital del receptor en mi dispositivo movil
|
||||
**Para** tener evidencia irrefutable de que la mercancia fue entregada
|
||||
|
||||
---
|
||||
|
||||
## Criterios de Aceptacion
|
||||
|
||||
### CA-001: Captura de firma
|
||||
**Dado** que estoy en la pantalla de captura POD
|
||||
**Cuando** el receptor firma con su dedo en el area de firma
|
||||
**Entonces** el sistema captura la firma como imagen y la muestra en preview
|
||||
|
||||
### CA-002: Validacion de firma
|
||||
**Dado** que intento guardar el POD sin firma
|
||||
**Cuando** presiono el boton guardar
|
||||
**Entonces** el sistema muestra error "Firma requerida" y no permite continuar
|
||||
|
||||
### CA-003: Datos del receptor
|
||||
**Dado** que capturo la firma
|
||||
**Cuando** completo los datos del receptor (nombre obligatorio, ID opcional)
|
||||
**Entonces** el sistema asocia estos datos a la firma capturada
|
||||
|
||||
### CA-004: Limpiar y reintentar
|
||||
**Dado** que la firma capturada no es satisfactoria
|
||||
**Cuando** presiono el boton "Limpiar firma"
|
||||
**Entonces** el area de firma se limpia y puedo capturar nuevamente
|
||||
|
||||
### CA-005: Modo offline
|
||||
**Dado** que no tengo conexion a internet
|
||||
**Cuando** capturo una firma
|
||||
**Entonces** el sistema la almacena localmente y sincroniza cuando haya conexion
|
||||
|
||||
---
|
||||
|
||||
## Mockup / UI
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ POD - Entrega #12345 │
|
||||
├─────────────────────────────────────────┤
|
||||
│ │
|
||||
│ Nombre receptor: [________________] │
|
||||
│ ID receptor: [________________] │
|
||||
│ (opcional) │
|
||||
│ │
|
||||
│ ┌─────────────────────────────────┐ │
|
||||
│ │ │ │
|
||||
│ │ │ │
|
||||
│ │ [AREA DE FIRMA] │ │
|
||||
│ │ │ │
|
||||
│ │ │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ [Limpiar] [Continuar →] │
|
||||
│ │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notas Tecnicas
|
||||
|
||||
- La firma se almacena como PNG base64 en SQLite local
|
||||
- Resolucion minima: 300x150 px
|
||||
- Validar que haya al menos 50 puntos de trazo
|
||||
- Coordenadas GPS se capturan automaticamente
|
||||
- Sincronizacion via endpoint POST /api/v1/pod/:id/firma
|
||||
|
||||
---
|
||||
|
||||
## Definicion de Done
|
||||
|
||||
- [ ] Codigo implementado y revisado
|
||||
- [ ] Tests unitarios (cobertura >80%)
|
||||
- [ ] Tests de integracion con backend
|
||||
- [ ] Funciona en modo offline
|
||||
- [ ] Documentacion de API actualizada
|
||||
- [ ] Demo aprobada por Product Owner
|
||||
@ -1,106 +0,0 @@
|
||||
# US-MAI007-002: Registrar tiempos reales de operacion
|
||||
|
||||
**ID:** US-MAI007-002
|
||||
**Modulo:** MAI-007 (POD y Cierre)
|
||||
**Prioridad:** Alta
|
||||
**Story Points:** 5
|
||||
|
||||
---
|
||||
|
||||
## Historia de Usuario
|
||||
|
||||
**Como** operador de transporte
|
||||
**Quiero** registrar los tiempos de arribo, descarga y salida
|
||||
**Para** que el sistema calcule automaticamente si hubo detention time
|
||||
|
||||
---
|
||||
|
||||
## Criterios de Aceptacion
|
||||
|
||||
### CA-001: Registro de arribo
|
||||
**Dado** que llego al destino
|
||||
**Cuando** presiono "Registrar Arribo" o entro a geocerca
|
||||
**Entonces** el sistema registra timestamp y coordenadas del arribo
|
||||
|
||||
### CA-002: Registro de inicio descarga
|
||||
**Dado** que estoy en el destino y comienza la descarga
|
||||
**Cuando** presiono "Iniciar Descarga"
|
||||
**Entonces** el sistema registra el timestamp de inicio
|
||||
|
||||
### CA-003: Registro de fin descarga
|
||||
**Dado** que la descarga ha terminado
|
||||
**Cuando** presiono "Finalizar Descarga"
|
||||
**Entonces** el sistema registra el timestamp de fin y calcula duracion
|
||||
|
||||
### CA-004: Calculo de detention
|
||||
**Dado** que he registrado todos los tiempos
|
||||
**Cuando** el tiempo de espera (arribo a inicio descarga) excede 2 horas
|
||||
**Entonces** el sistema marca el evento como "detention" para facturacion
|
||||
|
||||
### CA-005: Validacion de secuencia
|
||||
**Dado** que intento registrar fin descarga antes de inicio
|
||||
**Cuando** presiono el boton
|
||||
**Entonces** el sistema muestra error "Registre inicio de descarga primero"
|
||||
|
||||
---
|
||||
|
||||
## Flujo de Tiempos
|
||||
|
||||
```
|
||||
ARRIBO (10:00)
|
||||
│
|
||||
├─── Tiempo de espera ───┐
|
||||
│ │
|
||||
▼ │
|
||||
INICIO DESCARGA (11:30) │ 90 min (OK, < 2h)
|
||||
│ │
|
||||
├─── Tiempo descarga ────┤
|
||||
│ │
|
||||
▼ │
|
||||
FIN DESCARGA (12:15) │ 45 min
|
||||
│ │
|
||||
└────────────────────────┘
|
||||
Total: 2h 15min
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Mockup / UI
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Tiempos - Viaje #12345 │
|
||||
├─────────────────────────────────────────┤
|
||||
│ │
|
||||
│ Destino: Bodega Central CDMX │
|
||||
│ │
|
||||
│ ✓ Arribo: 10:00 hrs │
|
||||
│ ✓ Inicio descarga: 11:30 hrs │
|
||||
│ ○ Fin descarga: --:-- hrs │
|
||||
│ │
|
||||
│ Tiempo espera: 1h 30min ✓ │
|
||||
│ (Tolerancia SLA: 2h) │
|
||||
│ │
|
||||
│ [ Finalizar Descarga ] │
|
||||
│ │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notas Tecnicas
|
||||
|
||||
- Los tiempos se almacenan en UTC
|
||||
- La geocerca puede disparar arribo automatico
|
||||
- Tolerancia SLA viene del contrato del cliente
|
||||
- Detention time se factura segun reglas configuradas
|
||||
|
||||
---
|
||||
|
||||
## Definicion de Done
|
||||
|
||||
- [ ] Registro de 4 eventos (arribo, inicio, fin, salida)
|
||||
- [ ] Calculo automatico de detention
|
||||
- [ ] Integracion con geocercas
|
||||
- [ ] Tests unitarios
|
||||
- [ ] Funciona offline
|
||||
@ -1,96 +0,0 @@
|
||||
# US-MAI007-003: Adjuntar fotos de evidencia
|
||||
|
||||
**ID:** US-MAI007-003
|
||||
**Modulo:** MAI-007 (POD y Cierre)
|
||||
**Prioridad:** Alta
|
||||
**Story Points:** 5
|
||||
|
||||
---
|
||||
|
||||
## Historia de Usuario
|
||||
|
||||
**Como** operador de transporte
|
||||
**Quiero** adjuntar fotos de la entrega como evidencia
|
||||
**Para** documentar el estado de la mercancia al momento de entrega
|
||||
|
||||
---
|
||||
|
||||
## Criterios de Aceptacion
|
||||
|
||||
### CA-001: Captura de foto
|
||||
**Dado** que estoy en la pantalla de POD
|
||||
**Cuando** presiono "Tomar foto"
|
||||
**Entonces** se abre la camara y puedo capturar una imagen
|
||||
|
||||
### CA-002: Seleccion de galeria
|
||||
**Dado** que ya tome fotos previamente
|
||||
**Cuando** presiono "Seleccionar de galeria"
|
||||
**Entonces** puedo elegir fotos existentes del dispositivo
|
||||
|
||||
### CA-003: Limite de fotos
|
||||
**Dado** que ya tengo 5 fotos adjuntas
|
||||
**Cuando** intento agregar otra
|
||||
**Entonces** el sistema muestra "Maximo 5 fotos por POD"
|
||||
|
||||
### CA-004: Compresion automatica
|
||||
**Dado** que tomo una foto de alta resolucion
|
||||
**Cuando** la adjunto al POD
|
||||
**Entonces** el sistema la comprime a max 500KB automaticamente
|
||||
|
||||
### CA-005: Preview y eliminacion
|
||||
**Dado** que tengo fotos adjuntas
|
||||
**Cuando** toco una foto en la lista
|
||||
**Entonces** puedo verla en pantalla completa y eliminarla si es necesario
|
||||
|
||||
---
|
||||
|
||||
## Mockup / UI
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Fotos de Evidencia │
|
||||
├─────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐ │
|
||||
│ │ img │ │ img │ │ img │ │ + │ │
|
||||
│ │ 1 │ │ 2 │ │ 3 │ │ │ │
|
||||
│ └─────┘ └─────┘ └─────┘ └─────┘ │
|
||||
│ │
|
||||
│ 3 de 5 fotos │
|
||||
│ │
|
||||
│ [📷 Tomar foto] [🖼 Galeria] │
|
||||
│ │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Tipos de Evidencia Sugeridos
|
||||
|
||||
| Tipo | Descripcion |
|
||||
|------|-------------|
|
||||
| Estado mercancia | Foto de cajas/pallets al entregar |
|
||||
| Documento firmado | Foto de remision con firma |
|
||||
| Area descarga | Foto del area de descarga |
|
||||
| Sello roto | Evidencia si se rompe sello |
|
||||
| Dano | Documentar cualquier dano visible |
|
||||
|
||||
---
|
||||
|
||||
## Notas Tecnicas
|
||||
|
||||
- Fotos se almacenan en cache local hasta sincronizar
|
||||
- Compresion JPEG calidad 70%
|
||||
- Metadata EXIF preservada (fecha, GPS si disponible)
|
||||
- Endpoint: POST /api/v1/pod/:id/fotos (multipart)
|
||||
|
||||
---
|
||||
|
||||
## Definicion de Done
|
||||
|
||||
- [ ] Captura desde camara
|
||||
- [ ] Seleccion desde galeria
|
||||
- [ ] Compresion automatica
|
||||
- [ ] Preview de fotos
|
||||
- [ ] Eliminacion de fotos
|
||||
- [ ] Funciona offline
|
||||
@ -1,119 +0,0 @@
|
||||
# US-MAI007-004: Validar POD antes de cierre
|
||||
|
||||
**ID:** US-MAI007-004
|
||||
**Modulo:** MAI-007 (POD y Cierre)
|
||||
**Prioridad:** Alta
|
||||
**Story Points:** 8
|
||||
|
||||
---
|
||||
|
||||
## Historia de Usuario
|
||||
|
||||
**Como** despachador
|
||||
**Quiero** que el sistema valide automaticamente que el POD este completo antes de cerrar
|
||||
**Para** asegurar que tenemos toda la documentacion necesaria para facturar
|
||||
|
||||
---
|
||||
|
||||
## Criterios de Aceptacion
|
||||
|
||||
### CA-001: Validacion de firma
|
||||
**Dado** que intento cerrar un viaje
|
||||
**Cuando** el POD no tiene firma capturada
|
||||
**Entonces** el sistema bloquea el cierre y muestra "POD sin firma"
|
||||
|
||||
### CA-002: Validacion de receptor
|
||||
**Dado** que intento cerrar un viaje
|
||||
**Cuando** el POD no tiene nombre de receptor
|
||||
**Entonces** el sistema bloquea el cierre y muestra "Receptor no identificado"
|
||||
|
||||
### CA-003: Validacion de tiempos
|
||||
**Dado** que intento cerrar un viaje
|
||||
**Cuando** no se han registrado todos los tiempos requeridos
|
||||
**Entonces** el sistema muestra advertencia pero permite continuar
|
||||
|
||||
### CA-004: Cierre exitoso
|
||||
**Dado** que el POD cumple todas las validaciones
|
||||
**Cuando** confirmo el cierre
|
||||
**Entonces** el sistema:
|
||||
- Cambia estado del viaje a CERRADO
|
||||
- Congela costos del viaje
|
||||
- Calcula rentabilidad preliminar
|
||||
- Notifica a facturacion
|
||||
|
||||
### CA-005: Resumen de cierre
|
||||
**Dado** que cierro un viaje exitosamente
|
||||
**Cuando** se completa el proceso
|
||||
**Entonces** veo un resumen con: costos, ingresos estimados, margen
|
||||
|
||||
---
|
||||
|
||||
## Mockup / UI
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Cerrar Viaje #12345 │
|
||||
├─────────────────────────────────────────┤
|
||||
│ │
|
||||
│ Validaciones: │
|
||||
│ ✓ POD con firma │
|
||||
│ ✓ Receptor identificado │
|
||||
│ ✓ Tiempos registrados │
|
||||
│ ⚠ Sin fotos adjuntas (opcional) │
|
||||
│ │
|
||||
│ ───────────────────────────────────── │
|
||||
│ │
|
||||
│ Resumen financiero: │
|
||||
│ Ingresos: $15,000.00 │
|
||||
│ Costos: $11,200.00 │
|
||||
│ - Combustible $5,500.00 │
|
||||
│ - Peajes $1,200.00 │
|
||||
│ - Viaticos $800.00 │
|
||||
│ - Otros $3,700.00 │
|
||||
│ ───────────────────────────────────── │
|
||||
│ Margen: $3,800.00 (25.3%) │
|
||||
│ │
|
||||
│ [Cancelar] [Confirmar Cierre ✓] │
|
||||
│ │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Reglas de Validacion
|
||||
|
||||
| Validacion | Tipo | Bloquea cierre |
|
||||
|------------|------|----------------|
|
||||
| Firma presente | Requerido | Si |
|
||||
| Nombre receptor | Requerido | Si |
|
||||
| Tiempos completos | Recomendado | No |
|
||||
| Fotos adjuntas | Opcional | No |
|
||||
| GPS en geocerca | Recomendado | No |
|
||||
|
||||
---
|
||||
|
||||
## Estados del Viaje
|
||||
|
||||
```
|
||||
EN_TRANSITO → EN_DESTINO → ENTREGADO → CERRADO → FACTURADO
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notas Tecnicas
|
||||
|
||||
- Al cerrar se crea snapshot de costos en `cierres_viaje`
|
||||
- Calculo de margen: (tarifa_cliente - sum(costos)) / tarifa_cliente
|
||||
- Notificacion a facturacion via evento/webhook
|
||||
- El cierre es irreversible sin rol de admin
|
||||
|
||||
---
|
||||
|
||||
## Definicion de Done
|
||||
|
||||
- [ ] Validaciones automaticas implementadas
|
||||
- [ ] Calculo de rentabilidad correcto
|
||||
- [ ] Notificacion a facturacion
|
||||
- [ ] Snapshot de costos inmutable
|
||||
- [ ] UI de confirmacion clara
|
||||
- [ ] Tests de integracion
|
||||
@ -1,138 +0,0 @@
|
||||
# US-MAI007-005: Cerrar viaje con excepcion justificada
|
||||
|
||||
**ID:** US-MAI007-005
|
||||
**Modulo:** MAI-007 (POD y Cierre)
|
||||
**Prioridad:** Media
|
||||
**Story Points:** 5
|
||||
|
||||
---
|
||||
|
||||
## Historia de Usuario
|
||||
|
||||
**Como** despachador
|
||||
**Quiero** poder cerrar un viaje sin POD completo con una justificacion
|
||||
**Para** no bloquear el proceso cuando hay situaciones excepcionales
|
||||
|
||||
---
|
||||
|
||||
## Criterios de Aceptacion
|
||||
|
||||
### CA-001: Opcion de excepcion
|
||||
**Dado** que el POD no cumple validaciones
|
||||
**Cuando** intento cerrar el viaje
|
||||
**Entonces** el sistema ofrece la opcion "Cerrar con excepcion"
|
||||
|
||||
### CA-002: Motivo obligatorio
|
||||
**Dado** que selecciono cerrar con excepcion
|
||||
**Cuando** no selecciono un motivo del catalogo
|
||||
**Entonces** el sistema no permite continuar
|
||||
|
||||
### CA-003: Justificacion detallada
|
||||
**Dado** que selecciono un motivo de excepcion
|
||||
**Cuando** escribo la justificacion detallada (min 20 caracteres)
|
||||
**Entonces** puedo proceder con la solicitud de excepcion
|
||||
|
||||
### CA-004: Aprobacion pendiente
|
||||
**Dado** que solicito cierre con excepcion
|
||||
**Cuando** completo el formulario
|
||||
**Entonces** el viaje queda en estado "EXCEPCION_PENDIENTE" hasta aprobacion
|
||||
|
||||
### CA-005: Notificacion a supervisor
|
||||
**Dado** que hay una excepcion pendiente
|
||||
**Cuando** se crea la solicitud
|
||||
**Entonces** el supervisor recibe notificacion para aprobar/rechazar
|
||||
|
||||
---
|
||||
|
||||
## Catalogo de Motivos
|
||||
|
||||
| Codigo | Motivo | Descripcion |
|
||||
|--------|--------|-------------|
|
||||
| EXC-001 | Rechazo en destino | Cliente rechazo la mercancia |
|
||||
| EXC-002 | Entrega parcial | Solo se entrego parte de la carga |
|
||||
| EXC-003 | Falla dispositivo | No se pudo capturar firma/fotos |
|
||||
| EXC-004 | Emergencia | Accidente, robo, desastre natural |
|
||||
| EXC-005 | Cambio destino | Cliente solicito entregar en otro lugar |
|
||||
| EXC-006 | Otro | Especificar en justificacion |
|
||||
|
||||
---
|
||||
|
||||
## Mockup / UI
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────┐
|
||||
│ Cierre con Excepcion - Viaje #12345 │
|
||||
├─────────────────────────────────────────┤
|
||||
│ │
|
||||
│ ⚠ El POD no cumple validaciones: │
|
||||
│ ✗ Sin firma capturada │
|
||||
│ │
|
||||
│ ───────────────────────────────────── │
|
||||
│ │
|
||||
│ Motivo de excepcion: * │
|
||||
│ ┌─────────────────────────────────┐ │
|
||||
│ │ Rechazo en destino ▼ │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ Justificacion detallada: * │
|
||||
│ ┌─────────────────────────────────┐ │
|
||||
│ │ El cliente rechazo la carga │ │
|
||||
│ │ por dano visible en 3 cajas. │ │
|
||||
│ │ Se levanto acta con fotos. │ │
|
||||
│ │ Contacto: Juan Perez, almacen │ │
|
||||
│ └─────────────────────────────────┘ │
|
||||
│ │
|
||||
│ Evidencia adicional: │
|
||||
│ [+ Adjuntar foto/documento] │
|
||||
│ │
|
||||
│ ───────────────────────────────────── │
|
||||
│ ℹ Esta solicitud sera enviada a │
|
||||
│ supervisor para aprobacion. │
|
||||
│ │
|
||||
│ [Cancelar] [Enviar Solicitud] │
|
||||
│ │
|
||||
└─────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Flujo de Aprobacion
|
||||
|
||||
```
|
||||
SOLICITUD CREADA
|
||||
│
|
||||
▼
|
||||
┌────────────────┐
|
||||
│ SUPERVISOR │
|
||||
│ revisa │
|
||||
└───────┬────────┘
|
||||
│
|
||||
┌────┴────┐
|
||||
│ │
|
||||
▼ ▼
|
||||
APROBADA RECHAZADA
|
||||
│ │
|
||||
▼ ▼
|
||||
CERRADO PENDIENTE
|
||||
(regresar a operador)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Notas Tecnicas
|
||||
|
||||
- Excepciones se registran en tabla `excepciones_pod`
|
||||
- Notificacion via push notification y email
|
||||
- Timeout de aprobacion: 24 horas (escalamiento automatico)
|
||||
- Auditoria completa de quien aprobo/rechazo y cuando
|
||||
|
||||
---
|
||||
|
||||
## Definicion de Done
|
||||
|
||||
- [ ] Formulario de excepcion implementado
|
||||
- [ ] Catalogo de motivos configurable
|
||||
- [ ] Flujo de aprobacion funcional
|
||||
- [ ] Notificaciones a supervisor
|
||||
- [ ] Auditoria completa
|
||||
- [ ] Tests de flujo completo
|
||||
@ -1,964 +0,0 @@
|
||||
# MAPEO-RF-GIRO-A-MODULOS.yml - ERP Transportistas
|
||||
# Sistema SIMCO v4.0.0
|
||||
# Mapeo de Requerimientos Funcionales del Giro a Modulos
|
||||
# Fuente: docs/03-requerimientos/REQ-GIRO-TRANSPORTISTA.md
|
||||
# Creado: 2026-01-27 (Fase 1 Auditoria)
|
||||
|
||||
version: "1.0.0"
|
||||
created: "2026-01-27"
|
||||
updated: "2026-01-27"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# RESUMEN EJECUTIVO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
resumen:
|
||||
total_rf_giro: 68
|
||||
rf_mapeados_a_modulos: 68
|
||||
rf_con_documentacion: 24
|
||||
rf_sin_documentacion: 44
|
||||
cobertura_documentacion: "35%"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# MAPEO POR PROCESO DEL GIRO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
procesos:
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.1 Gestion de Tarifas, Contratos y SLA
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_1:
|
||||
nombre: "Gestion de tarifas, contratos y SLA"
|
||||
modulo_principal: MAI-002
|
||||
modulos_relacionados: [MAI-009]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.1.1
|
||||
descripcion: "Tarifario por lane y servicio"
|
||||
modulo: MAI-002
|
||||
tablas_ddl: [lanes, tarifas]
|
||||
entity_existente: true
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.1.2
|
||||
descripcion: "Matriz de recargos (surcharges)"
|
||||
modulo: MAI-002
|
||||
tablas_ddl: [recargos_catalogo, fuel_surcharge]
|
||||
entity_existente: true
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.1.3
|
||||
descripcion: "SLA por cliente"
|
||||
modulo: MAI-002
|
||||
tablas_ddl: [sla_clientes]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.1.4
|
||||
descripcion: "Cotizacion rapida"
|
||||
modulo: MAI-002
|
||||
tablas_ddl: [cotizaciones]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.1.5
|
||||
descripcion: "Control de aprobaciones"
|
||||
modulo: MAI-002
|
||||
tablas_ddl: [aprobaciones]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.2 Captura de Orden de Transporte (OT)
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_2:
|
||||
nombre: "Captura de Orden de Transporte"
|
||||
modulo_principal: MAI-003
|
||||
modulos_relacionados: [MAI-002]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.2.1
|
||||
descripcion: "Datos obligatorios OT"
|
||||
modulo: MAI-003
|
||||
tablas_ddl: [ordenes_transporte]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
us_existentes: [US-MAI003-001, US-MAI003-002]
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.2.2
|
||||
descripcion: "Restricciones logisticas"
|
||||
modulo: MAI-003
|
||||
tablas_ddl: [restricciones_ot]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
us_existentes: [US-MAI003-003]
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.2.3
|
||||
descripcion: "Multi-paradas"
|
||||
modulo: MAI-003
|
||||
tablas_ddl: [paradas_ot]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
us_existentes: [US-MAI003-004]
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.2.4
|
||||
descripcion: "LTL vs FTL"
|
||||
modulo: MAI-003
|
||||
tablas_ddl: [ordenes_transporte.tipo_servicio]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.2.5
|
||||
descripcion: "Documentacion adjunta"
|
||||
modulo: MAI-003
|
||||
tablas_ddl: [documentos_ot]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
us_existentes: [US-MAI003-009]
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.2.6
|
||||
descripcion: "Portal/API de clientes"
|
||||
modulo: MAI-015
|
||||
tablas_ddl: [api_clientes]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.3 Planeacion TMS
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_3:
|
||||
nombre: "Planeacion (TMS-like)"
|
||||
modulo_principal: MAI-004
|
||||
modulos_relacionados: [MAI-003, MAI-011]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.3.1
|
||||
descripcion: "Tablero de planeacion"
|
||||
modulo: MAI-004
|
||||
tablas_ddl: [planeacion_viajes]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.3.2
|
||||
descripcion: "Consolidacion automatica sugerida"
|
||||
modulo: MAI-004
|
||||
tablas_ddl: [embarques]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.3.3
|
||||
descripcion: "Calculo de capacidad"
|
||||
modulo: MAI-004
|
||||
tablas_ddl: [unidades.capacidad]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.3.4
|
||||
descripcion: "Reservas de recursos"
|
||||
modulo: MAI-004
|
||||
tablas_ddl: [asignaciones]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.3.5
|
||||
descripcion: "Reglas de compatibilidad"
|
||||
modulo: MAI-004
|
||||
tablas_ddl: [reglas_asignacion]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.3.6
|
||||
descripcion: "Simulacion de ruta y ETA"
|
||||
modulo: MAI-004
|
||||
tablas_ddl: [eta_calculado]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.4 Despacho
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_4:
|
||||
nombre: "Despacho: liberacion de viaje"
|
||||
modulo_principal: MAI-005
|
||||
modulos_relacionados: [MAI-004, MAI-011]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.4.1
|
||||
descripcion: "Orden de Viaje (OV)"
|
||||
modulo: MAI-005
|
||||
tablas_ddl: [viajes]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.4.2
|
||||
descripcion: "Checklists pre-viaje"
|
||||
modulo: MAI-005
|
||||
tablas_ddl: [inspecciones_pre_viaje]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.4.3
|
||||
descripcion: "Control de sellos"
|
||||
modulo: MAI-005
|
||||
tablas_ddl: [sellos_viaje]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.4.4
|
||||
descripcion: "Evidencias de carga"
|
||||
modulo: MAI-005
|
||||
tablas_ddl: [evidencias_carga]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.4.5
|
||||
descripcion: "Kit documental"
|
||||
modulo: MAI-005
|
||||
tablas_ddl: [documentos_viaje]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.4.6
|
||||
descripcion: "Gate out / salida oficial"
|
||||
modulo: MAI-005
|
||||
tablas_ddl: [eventos.tipo='SALIDA']
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.5 Ejecucion y Tracking
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_5:
|
||||
nombre: "Ejecucion y tracking"
|
||||
modulo_principal: MAI-006
|
||||
modulos_relacionados: [MAI-005]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.5.1
|
||||
descripcion: "Integracion GPS/Telematica"
|
||||
modulo: MAI-006
|
||||
tablas_ddl: [posiciones_gps]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.5.2
|
||||
descripcion: "App movil operador"
|
||||
modulo: MAI-006
|
||||
tablas_ddl: [eventos]
|
||||
entity_existente: true
|
||||
documentacion: true
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.5.3
|
||||
descripcion: "ETA dinamico"
|
||||
modulo: MAI-006
|
||||
tablas_ddl: [eta_calculado]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.5.4
|
||||
descripcion: "Geocercas"
|
||||
modulo: MAI-006
|
||||
tablas_ddl: [geocercas]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.5.5
|
||||
descripcion: "Alertas"
|
||||
modulo: MAI-006
|
||||
tablas_ddl: [alertas, reglas_alerta]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.5.6
|
||||
descripcion: "Comunicacion omnicanal"
|
||||
modulo: MAI-006
|
||||
tablas_ddl: [notificaciones_tracking]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.6 Incidencias
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_6:
|
||||
nombre: "Incidencias, excepciones y reclamaciones"
|
||||
modulo_principal: MAI-008
|
||||
modulos_relacionados: [MAI-006, MAI-009]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.6.1
|
||||
descripcion: "Tipos de incidencia"
|
||||
modulo: MAI-008
|
||||
tablas_ddl: [incidencias]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.6.2
|
||||
descripcion: "Flujo de atencion"
|
||||
modulo: MAI-008
|
||||
tablas_ddl: [incidencias.estado]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.6.3
|
||||
descripcion: "Evidencias y bitacora"
|
||||
modulo: MAI-008
|
||||
tablas_ddl: [evidencias_incidencia]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.6.4
|
||||
descripcion: "Impacto economico"
|
||||
modulo: MAI-008
|
||||
tablas_ddl: [costos_incidencia]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.6.5
|
||||
descripcion: "SLA de incidencias"
|
||||
modulo: MAI-008
|
||||
tablas_ddl: [sla_incidencias]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.6.6
|
||||
descripcion: "Integracion a facturacion"
|
||||
modulo: MAI-008
|
||||
tablas_ddl: [ajustes_factura]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.7 POD y Cierre
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_7:
|
||||
nombre: "POD y cierre operativo"
|
||||
modulo_principal: MAI-007
|
||||
modulos_relacionados: [MAI-009]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.7.1
|
||||
descripcion: "Captura POD"
|
||||
modulo: MAI-007
|
||||
tablas_ddl: [pod]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.7.2
|
||||
descripcion: "Validaciones POD"
|
||||
modulo: MAI-007
|
||||
tablas_ddl: [pod.validado]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.7.3
|
||||
descripcion: "Tiempos reales"
|
||||
modulo: MAI-007
|
||||
tablas_ddl: [tiempos_reales]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
- codigo: RF-4.7.4
|
||||
descripcion: "Cierre contable operativo"
|
||||
modulo: MAI-007
|
||||
tablas_ddl: [cierre_viaje]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P0
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.8 Facturacion Transporte
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_8:
|
||||
nombre: "Facturacion especializada transporte"
|
||||
modulo_principal: MAI-009
|
||||
modulos_relacionados: [MAI-007, MAE-016]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.8.1
|
||||
descripcion: "Factura por viaje/embarque/OT"
|
||||
modulo: MAI-009
|
||||
tablas_ddl: [facturas_transporte]
|
||||
entity_existente: true
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.8.2
|
||||
descripcion: "Calculo automatico de recargos"
|
||||
modulo: MAI-009
|
||||
tablas_ddl: [lineas_factura]
|
||||
entity_existente: true
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.8.3
|
||||
descripcion: "Integracion con POD"
|
||||
modulo: MAI-009
|
||||
tablas_ddl: [facturas_transporte.pod_id]
|
||||
entity_existente: true
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.8.4
|
||||
descripcion: "Conciliacion"
|
||||
modulo: MAI-009
|
||||
tablas_ddl: [conciliaciones]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.8.5
|
||||
descripcion: "Estados de cuenta por cliente"
|
||||
modulo: MAI-009
|
||||
tablas_ddl: [estados_cuenta]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.9 Liquidaciones
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_9:
|
||||
nombre: "Liquidacion a operadores"
|
||||
modulo_principal: MAI-010
|
||||
modulos_relacionados: [MAI-007, MAI-012]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.9.1
|
||||
descripcion: "Esquemas de pago"
|
||||
modulo: MAI-010
|
||||
tablas_ddl: [esquemas_pago]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.9.2
|
||||
descripcion: "Viaticos"
|
||||
modulo: MAI-010
|
||||
tablas_ddl: [anticipos_viaticos]
|
||||
entity_existente: true
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.9.3
|
||||
descripcion: "Deducciones"
|
||||
modulo: MAI-010
|
||||
tablas_ddl: [deducciones]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-4.9.4
|
||||
descripcion: "Corte y autorizacion"
|
||||
modulo: MAI-010
|
||||
tablas_ddl: [liquidaciones]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P1
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.10 Combustible y Gastos
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_10:
|
||||
nombre: "Combustible, peajes y gastos"
|
||||
modulo_principal: MAI-012
|
||||
modulos_relacionados: [MAI-007]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.10.1
|
||||
descripcion: "Planeado vs real"
|
||||
modulo: MAI-012
|
||||
tablas_ddl: [control_rendimiento]
|
||||
entity_existente: true
|
||||
documentacion: true
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.10.2
|
||||
descripcion: "Captura de cargas combustible"
|
||||
modulo: MAI-012
|
||||
tablas_ddl: [cargas_combustible]
|
||||
entity_existente: true
|
||||
documentacion: true
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.10.3
|
||||
descripcion: "Peajes"
|
||||
modulo: MAI-012
|
||||
tablas_ddl: [cruces_peaje]
|
||||
entity_existente: true
|
||||
documentacion: true
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.10.4
|
||||
descripcion: "Gastos varios"
|
||||
modulo: MAI-012
|
||||
tablas_ddl: [gastos_viaje]
|
||||
entity_existente: true
|
||||
documentacion: true
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.10.5
|
||||
descripcion: "Alertas antifraude"
|
||||
modulo: MAI-012
|
||||
tablas_ddl: [alertas_fraude]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.11 Mantenimiento Flota
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_11:
|
||||
nombre: "Mantenimiento y disponibilidad flota"
|
||||
modulo_principal: MAI-013
|
||||
modulos_relacionados: [MAI-011]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.11.1
|
||||
descripcion: "Plan preventivo"
|
||||
modulo: MAI-013
|
||||
tablas_ddl: [planes_mantenimiento, programacion_mantenimiento]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.11.2
|
||||
descripcion: "Correctivo"
|
||||
modulo: MAI-013
|
||||
tablas_ddl: [ordenes_trabajo]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.11.3
|
||||
descripcion: "Inventario de refacciones"
|
||||
modulo: MAI-013
|
||||
tablas_ddl: [refacciones_flota]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.11.4
|
||||
descripcion: "Historial por activo"
|
||||
modulo: MAI-013
|
||||
tablas_ddl: [historial_mantenimiento]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.11.5
|
||||
descripcion: "Disponibilidad"
|
||||
modulo: MAI-011
|
||||
tablas_ddl: [unidades.estado]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
prioridad: P0
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.12 Carriers
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_12:
|
||||
nombre: "Gestion de terceros (carriers)"
|
||||
modulo_principal: MAI-014
|
||||
modulos_relacionados: [MAI-004]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.12.1
|
||||
descripcion: "Registro de carrier"
|
||||
modulo: MAI-014
|
||||
tablas_ddl: [carriers]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.12.2
|
||||
descripcion: "Asignacion a carrier"
|
||||
modulo: MAI-014
|
||||
tablas_ddl: [asignaciones_carrier]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.12.3
|
||||
descripcion: "Control de documentos"
|
||||
modulo: MAI-014
|
||||
tablas_ddl: [documentos_carrier]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.12.4
|
||||
descripcion: "Recepcion POD tercero"
|
||||
modulo: MAI-014
|
||||
tablas_ddl: [pod_carrier]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.12.5
|
||||
descripcion: "Costo vs ingreso"
|
||||
modulo: MAI-014
|
||||
tablas_ddl: [margenes_carrier]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
- codigo: RF-4.12.6
|
||||
descripcion: "Scorecard"
|
||||
modulo: MAI-014
|
||||
tablas_ddl: [scorecard]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P2
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 4.13 Portal Cliente
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_4_13:
|
||||
nombre: "Portal de cliente"
|
||||
modulo_principal: MAI-015
|
||||
modulos_relacionados: [MAI-006]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-4.13.1
|
||||
descripcion: "Tracking"
|
||||
modulo: MAI-015
|
||||
tablas_ddl: [vista_tracking_cliente]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
- codigo: RF-4.13.2
|
||||
descripcion: "Documentos"
|
||||
modulo: MAI-015
|
||||
tablas_ddl: [documentos_portal]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
- codigo: RF-4.13.3
|
||||
descripcion: "Creacion de OT"
|
||||
modulo: MAI-015
|
||||
tablas_ddl: [ot_portal]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
- codigo: RF-4.13.4
|
||||
descripcion: "Reclamaciones"
|
||||
modulo: MAI-015
|
||||
tablas_ddl: [reclamos_portal]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 5.1 CFDI Carta Porte
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_5_1:
|
||||
nombre: "CFDI con Complemento Carta Porte"
|
||||
modulo_principal: MAE-016
|
||||
modulos_relacionados: [MAI-009]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-5.1.1
|
||||
descripcion: "Soportar Carta Porte 3.1"
|
||||
modulo: MAE-016
|
||||
tablas_ddl: [cartas_porte]
|
||||
entity_existente: true
|
||||
documentacion: true
|
||||
us_existentes: [US-MAE016-001]
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-5.1.2
|
||||
descripcion: "Escenarios de emision"
|
||||
modulo: MAE-016
|
||||
tablas_ddl: [cartas_porte.tipo]
|
||||
entity_existente: true
|
||||
documentacion: true
|
||||
us_existentes: [US-MAE016-002, US-MAE016-003]
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-5.1.3
|
||||
descripcion: "Expediente fiscal por viaje"
|
||||
modulo: MAE-016
|
||||
tablas_ddl: [expediente_fiscal]
|
||||
entity_existente: true
|
||||
documentacion: true
|
||||
us_existentes: [US-MAE016-006]
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-5.1.4
|
||||
descripcion: "Validaciones previas"
|
||||
modulo: MAE-016
|
||||
tablas_ddl: [validaciones_carta_porte]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
us_existentes: [US-MAE016-002]
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-5.1.5
|
||||
descripcion: "Reemision/correccion"
|
||||
modulo: MAE-016
|
||||
tablas_ddl: [bitacora_carta_porte]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
us_existentes: [US-MAE016-005]
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-5.1.6
|
||||
descripcion: "Integracion con PAC"
|
||||
modulo: MAE-016
|
||||
tablas_ddl: [timbrado_pac]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
us_existentes: [US-MAE016-003]
|
||||
prioridad: P1
|
||||
|
||||
- codigo: RF-5.1.7
|
||||
descripcion: "Evidencia para inspeccion"
|
||||
modulo: MAE-016
|
||||
tablas_ddl: [documentos_carta_porte]
|
||||
entity_existente: false
|
||||
documentacion: true
|
||||
us_existentes: [US-MAE016-004]
|
||||
prioridad: P1
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
# 5.2 HOS y Bitacora
|
||||
# ═══════════════════════════════════════════════════════════════════════════
|
||||
proceso_5_2:
|
||||
nombre: "Bitacora de Horas de Servicio (HOS)"
|
||||
modulo_principal: MAE-017
|
||||
modulos_relacionados: [MAI-011]
|
||||
|
||||
requerimientos:
|
||||
- codigo: RF-5.2.1
|
||||
descripcion: "Registro HOS"
|
||||
modulo: MAE-017
|
||||
tablas_ddl: [hos_logs]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
- codigo: RF-5.2.2
|
||||
descripcion: "Bitacora formato"
|
||||
modulo: MAE-017
|
||||
tablas_ddl: [hos_resumen_diario]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
- codigo: RF-5.2.3
|
||||
descripcion: "Alertas incumplimiento"
|
||||
modulo: MAE-017
|
||||
tablas_ddl: [alertas_hos]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
- codigo: RF-5.2.4
|
||||
descripcion: "Evidencias HOS"
|
||||
modulo: MAE-017
|
||||
tablas_ddl: [auditoria_hos]
|
||||
entity_existente: false
|
||||
documentacion: false
|
||||
prioridad: P3
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# RESUMEN POR MODULO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
resumen_por_modulo:
|
||||
MAI-002:
|
||||
nombre: "Clientes y Tarifas"
|
||||
rf_asignados: 5
|
||||
rf_con_entity: 2
|
||||
rf_con_docs: 0
|
||||
prioridad: P0
|
||||
|
||||
MAI-003:
|
||||
nombre: "Ordenes de Transporte"
|
||||
rf_asignados: 6
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 5
|
||||
prioridad: P0
|
||||
|
||||
MAI-004:
|
||||
nombre: "Planeacion TMS"
|
||||
rf_asignados: 6
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 0
|
||||
prioridad: P0
|
||||
|
||||
MAI-005:
|
||||
nombre: "Despacho"
|
||||
rf_asignados: 6
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 0
|
||||
prioridad: P0
|
||||
|
||||
MAI-006:
|
||||
nombre: "Tracking"
|
||||
rf_asignados: 6
|
||||
rf_con_entity: 1
|
||||
rf_con_docs: 5
|
||||
prioridad: P1
|
||||
|
||||
MAI-007:
|
||||
nombre: "POD y Cierre"
|
||||
rf_asignados: 4
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 0
|
||||
prioridad: P0
|
||||
|
||||
MAI-008:
|
||||
nombre: "Incidencias"
|
||||
rf_asignados: 6
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 0
|
||||
prioridad: P1
|
||||
|
||||
MAI-009:
|
||||
nombre: "Facturacion Transporte"
|
||||
rf_asignados: 5
|
||||
rf_con_entity: 3
|
||||
rf_con_docs: 0
|
||||
prioridad: P1
|
||||
|
||||
MAI-010:
|
||||
nombre: "Liquidaciones"
|
||||
rf_asignados: 4
|
||||
rf_con_entity: 1
|
||||
rf_con_docs: 0
|
||||
prioridad: P1
|
||||
|
||||
MAI-011:
|
||||
nombre: "Gestion de Flota"
|
||||
rf_asignados: 1
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 1
|
||||
prioridad: P0
|
||||
|
||||
MAI-012:
|
||||
nombre: "Combustible y Gastos"
|
||||
rf_asignados: 5
|
||||
rf_con_entity: 4
|
||||
rf_con_docs: 4
|
||||
prioridad: P2
|
||||
|
||||
MAI-013:
|
||||
nombre: "Mantenimiento Flota"
|
||||
rf_asignados: 4
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 0
|
||||
prioridad: P2
|
||||
|
||||
MAI-014:
|
||||
nombre: "Carriers"
|
||||
rf_asignados: 6
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 0
|
||||
prioridad: P2
|
||||
|
||||
MAI-015:
|
||||
nombre: "Portal Cliente"
|
||||
rf_asignados: 5
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 0
|
||||
prioridad: P3
|
||||
|
||||
MAE-016:
|
||||
nombre: "Carta Porte CFDI"
|
||||
rf_asignados: 7
|
||||
rf_con_entity: 3
|
||||
rf_con_docs: 7
|
||||
prioridad: P1
|
||||
|
||||
MAE-017:
|
||||
nombre: "HOS y Bitacora"
|
||||
rf_asignados: 4
|
||||
rf_con_entity: 0
|
||||
rf_con_docs: 0
|
||||
prioridad: P3
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# ACCIONES REQUERIDAS
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
acciones:
|
||||
P0_urgente:
|
||||
- modulo: MAI-007
|
||||
accion: "Crear REQUERIMIENTOS.md y 5 US"
|
||||
rf_afectados: 4
|
||||
|
||||
- modulo: MAI-004
|
||||
accion: "Crear REQUERIMIENTOS.md y 5 US"
|
||||
rf_afectados: 6
|
||||
|
||||
- modulo: MAI-005
|
||||
accion: "Crear REQUERIMIENTOS.md y 5 US"
|
||||
rf_afectados: 6
|
||||
|
||||
- modulo: MAI-002
|
||||
accion: "Crear REQUERIMIENTOS.md y 5 US"
|
||||
rf_afectados: 5
|
||||
|
||||
P1_corto_plazo:
|
||||
- modulo: MAI-008
|
||||
accion: "Crear REQUERIMIENTOS.md"
|
||||
rf_afectados: 6
|
||||
|
||||
- modulo: MAI-009
|
||||
accion: "Crear REQUERIMIENTOS.md"
|
||||
rf_afectados: 5
|
||||
|
||||
- modulo: MAI-010
|
||||
accion: "Crear REQUERIMIENTOS.md"
|
||||
rf_afectados: 4
|
||||
|
||||
- modulo: MAI-006
|
||||
accion: "Agregar 5-10 User Stories"
|
||||
rf_afectados: 6
|
||||
|
||||
- modulo: MAI-011
|
||||
accion: "Agregar 5-10 User Stories"
|
||||
rf_afectados: 1
|
||||
@ -1,527 +0,0 @@
|
||||
# MATRIZ-COHERENCIA-DDL-BACKEND.yml - ERP Transportistas
|
||||
# Sistema SIMCO v4.0.0
|
||||
# Analisis de coherencia entre DDL y Backend
|
||||
# Creado: 2026-01-27 (Fase 1 Auditoria)
|
||||
|
||||
version: "1.0.0"
|
||||
created: "2026-01-27"
|
||||
updated: "2026-01-27"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# RESUMEN EJECUTIVO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
resumen:
|
||||
total_tablas_ddl: 53
|
||||
total_entities_especializadas: 44
|
||||
entities_heredadas: 109
|
||||
gap_entities_faltantes: 42
|
||||
coherencia_porcentaje: "21%"
|
||||
estado: "INCOHERENTE - Requiere implementacion urgente"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# DETALLE POR SCHEMA
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
schemas:
|
||||
|
||||
transport:
|
||||
ddl_file: "01-transport-schema-ddl.sql"
|
||||
tablas_ddl: 6
|
||||
tablas:
|
||||
- nombre: ordenes_transporte
|
||||
entity_esperada: OrdenTransporte
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P0
|
||||
modulo: MAI-003
|
||||
|
||||
- nombre: embarques
|
||||
entity_esperada: Embarque
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P0
|
||||
modulo: MAI-003
|
||||
|
||||
- nombre: viajes
|
||||
entity_esperada: Viaje
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P0
|
||||
modulo: MAI-004
|
||||
|
||||
- nombre: paradas_viaje
|
||||
entity_esperada: ParadaViaje
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-004
|
||||
|
||||
- nombre: pod
|
||||
entity_esperada: POD
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P0
|
||||
modulo: MAI-007
|
||||
|
||||
- nombre: incidencias
|
||||
entity_esperada: Incidencia
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-008
|
||||
|
||||
resumen:
|
||||
implementadas: 0
|
||||
faltantes: 6
|
||||
coherencia: "0%"
|
||||
|
||||
fleet:
|
||||
ddl_file: "02-fleet-schema-ddl.sql"
|
||||
tablas_ddl: 5
|
||||
tablas:
|
||||
- nombre: unidades
|
||||
entity_esperada: Unidad
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P0
|
||||
modulo: MAI-011
|
||||
|
||||
- nombre: remolques
|
||||
entity_esperada: Remolque
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P0
|
||||
modulo: MAI-011
|
||||
|
||||
- nombre: operadores
|
||||
entity_esperada: Operador
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P0
|
||||
modulo: MAI-011
|
||||
|
||||
- nombre: documentos_flota
|
||||
entity_esperada: DocumentoFlota
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-011
|
||||
|
||||
- nombre: asignaciones
|
||||
entity_esperada: AsignacionFlota
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-011
|
||||
|
||||
resumen:
|
||||
implementadas: 0
|
||||
faltantes: 5
|
||||
coherencia: "0%"
|
||||
|
||||
tracking:
|
||||
ddl_file: "03-tracking-schema-ddl.sql"
|
||||
tablas_ddl: 6
|
||||
tablas:
|
||||
- nombre: posiciones_gps
|
||||
entity_esperada: PosicionGPS
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-006
|
||||
|
||||
- nombre: eventos
|
||||
entity_esperada: EventoTracking
|
||||
entity_existente: "tracking/entities (2 basicas)"
|
||||
estado: PARCIAL
|
||||
prioridad: P1
|
||||
modulo: MAI-006
|
||||
|
||||
- nombre: geocercas
|
||||
entity_esperada: Geocerca
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-006
|
||||
|
||||
- nombre: alertas
|
||||
entity_esperada: AlertaTracking
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-006
|
||||
|
||||
- nombre: reglas_alerta
|
||||
entity_esperada: ReglaAlerta
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-006
|
||||
|
||||
- nombre: eta_calculado
|
||||
entity_esperada: ETACalculado
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-006
|
||||
|
||||
resumen:
|
||||
implementadas: 1
|
||||
faltantes: 5
|
||||
coherencia: "17%"
|
||||
|
||||
fuel:
|
||||
ddl_file: "04-fuel-schema-ddl.sql"
|
||||
tablas_ddl: 5
|
||||
tablas:
|
||||
- nombre: cargas_combustible
|
||||
entity_esperada: CargaCombustible
|
||||
entity_existente: "combustible-gastos/carga-combustible.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-012
|
||||
|
||||
- nombre: cruces_peaje
|
||||
entity_esperada: CrucePeaje
|
||||
entity_existente: "combustible-gastos/cruce-peaje.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-012
|
||||
|
||||
- nombre: gastos_viaje
|
||||
entity_esperada: GastoViaje
|
||||
entity_existente: "combustible-gastos/gasto-viaje.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-012
|
||||
|
||||
- nombre: anticipos_viaticos
|
||||
entity_esperada: AnticipoViatico
|
||||
entity_existente: "combustible-gastos/anticipo-viatico.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-012
|
||||
|
||||
- nombre: control_rendimiento
|
||||
entity_esperada: ControlRendimiento
|
||||
entity_existente: "combustible-gastos/control-rendimiento.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-012
|
||||
|
||||
resumen:
|
||||
implementadas: 5
|
||||
faltantes: 0
|
||||
coherencia: "100%"
|
||||
|
||||
maintenance:
|
||||
ddl_file: "05-maintenance-schema-ddl.sql"
|
||||
tablas_ddl: 5
|
||||
tablas:
|
||||
- nombre: planes_mantenimiento
|
||||
entity_esperada: PlanMantenimiento
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-013
|
||||
|
||||
- nombre: programacion_mantenimiento
|
||||
entity_esperada: ProgramacionMantenimiento
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-013
|
||||
|
||||
- nombre: ordenes_trabajo
|
||||
entity_esperada: OrdenTrabajo
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-013
|
||||
|
||||
- nombre: lineas_orden_trabajo
|
||||
entity_esperada: LineaOrdenTrabajo
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-013
|
||||
|
||||
- nombre: checklist_items
|
||||
entity_esperada: ChecklistItem
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-013
|
||||
|
||||
resumen:
|
||||
implementadas: 0
|
||||
faltantes: 5
|
||||
coherencia: "0%"
|
||||
|
||||
carriers:
|
||||
ddl_file: "06-carriers-schema-ddl.sql"
|
||||
tablas_ddl: 6
|
||||
tablas:
|
||||
- nombre: carriers
|
||||
entity_esperada: Carrier
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-014
|
||||
|
||||
- nombre: documentos_carrier
|
||||
entity_esperada: DocumentoCarrier
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-014
|
||||
|
||||
- nombre: unidades_carrier
|
||||
entity_esperada: UnidadCarrier
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-014
|
||||
|
||||
- nombre: operadores_carrier
|
||||
entity_esperada: OperadorCarrier
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-014
|
||||
|
||||
- nombre: asignaciones_carrier
|
||||
entity_esperada: AsignacionCarrier
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-014
|
||||
|
||||
- nombre: scorecard
|
||||
entity_esperada: ScorecardCarrier
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAI-014
|
||||
|
||||
resumen:
|
||||
implementadas: 0
|
||||
faltantes: 6
|
||||
coherencia: "0%"
|
||||
|
||||
billing:
|
||||
ddl_file: "07-billing-transport-ddl.sql"
|
||||
tablas_ddl: 6
|
||||
tablas:
|
||||
- nombre: lanes
|
||||
entity_esperada: Lane
|
||||
entity_existente: "tarifas-transporte/lane.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-009
|
||||
|
||||
- nombre: tarifas
|
||||
entity_esperada: Tarifa
|
||||
entity_existente: "tarifas-transporte/tarifa.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-009
|
||||
|
||||
- nombre: recargos_catalogo
|
||||
entity_esperada: RecargoCatalogo
|
||||
entity_existente: "tarifas-transporte/recargo-catalogo.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-009
|
||||
|
||||
- nombre: facturas_transporte
|
||||
entity_esperada: FacturaTransporte
|
||||
entity_existente: "tarifas-transporte/factura-transporte.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-009
|
||||
|
||||
- nombre: lineas_factura
|
||||
entity_esperada: LineaFactura
|
||||
entity_existente: "tarifas-transporte/linea-factura.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-009
|
||||
|
||||
- nombre: fuel_surcharge
|
||||
entity_esperada: FuelSurcharge
|
||||
entity_existente: "tarifas-transporte/fuel-surcharge.entity.ts"
|
||||
estado: IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAI-009
|
||||
|
||||
resumen:
|
||||
implementadas: 6
|
||||
faltantes: 0
|
||||
coherencia: "100%"
|
||||
|
||||
compliance:
|
||||
ddl_file: "08-compliance-schema-ddl.sql"
|
||||
tablas_ddl: 8
|
||||
tablas:
|
||||
- nombre: cartas_porte
|
||||
entity_esperada: CartaPorte
|
||||
entity_existente: "carta-porte/entities (7 basicas)"
|
||||
estado: PARCIAL
|
||||
prioridad: P1
|
||||
modulo: MAE-016
|
||||
|
||||
- nombre: ubicaciones_carta_porte
|
||||
entity_esperada: UbicacionCartaPorte
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAE-016
|
||||
|
||||
- nombre: mercancias_carta_porte
|
||||
entity_esperada: MercanciaCartaPorte
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAE-016
|
||||
|
||||
- nombre: figuras_transporte
|
||||
entity_esperada: FiguraTransporte
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAE-016
|
||||
|
||||
- nombre: autotransporte_carta_porte
|
||||
entity_esperada: AutotransporteCartaPorte
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P1
|
||||
modulo: MAE-016
|
||||
|
||||
- nombre: hos_logs
|
||||
entity_esperada: HOSLog
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P3
|
||||
modulo: MAE-017
|
||||
|
||||
- nombre: hos_resumen_diario
|
||||
entity_esperada: HOSResumenDiario
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P3
|
||||
modulo: MAE-017
|
||||
|
||||
- nombre: inspecciones_pre_viaje
|
||||
entity_esperada: InspeccionPreViaje
|
||||
entity_existente: null
|
||||
estado: NO_IMPLEMENTADA
|
||||
prioridad: P2
|
||||
modulo: MAE-017
|
||||
|
||||
resumen:
|
||||
implementadas: 1
|
||||
faltantes: 7
|
||||
coherencia: "13%"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# RESUMEN CONSOLIDADO
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
consolidado:
|
||||
por_schema:
|
||||
- schema: transport
|
||||
tablas: 6
|
||||
implementadas: 0
|
||||
coherencia: "0%"
|
||||
prioridad: P0
|
||||
|
||||
- schema: fleet
|
||||
tablas: 5
|
||||
implementadas: 0
|
||||
coherencia: "0%"
|
||||
prioridad: P0
|
||||
|
||||
- schema: tracking
|
||||
tablas: 6
|
||||
implementadas: 1
|
||||
coherencia: "17%"
|
||||
prioridad: P1
|
||||
|
||||
- schema: fuel
|
||||
tablas: 5
|
||||
implementadas: 5
|
||||
coherencia: "100%"
|
||||
prioridad: P2
|
||||
|
||||
- schema: maintenance
|
||||
tablas: 5
|
||||
implementadas: 0
|
||||
coherencia: "0%"
|
||||
prioridad: P2
|
||||
|
||||
- schema: carriers
|
||||
tablas: 6
|
||||
implementadas: 0
|
||||
coherencia: "0%"
|
||||
prioridad: P2
|
||||
|
||||
- schema: billing
|
||||
tablas: 6
|
||||
implementadas: 6
|
||||
coherencia: "100%"
|
||||
prioridad: P1
|
||||
|
||||
- schema: compliance
|
||||
tablas: 8
|
||||
implementadas: 1
|
||||
coherencia: "13%"
|
||||
prioridad: P1
|
||||
|
||||
totales:
|
||||
tablas_ddl: 47
|
||||
entities_implementadas: 13
|
||||
entities_parciales: 2
|
||||
entities_faltantes: 32
|
||||
coherencia_global: "28%"
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# PLAN DE ACCION
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
plan_accion:
|
||||
P0_urgente:
|
||||
descripcion: "Entities criticas para workflow principal"
|
||||
schemas: [transport, fleet]
|
||||
entities_requeridas: 11
|
||||
justificacion: |
|
||||
Sin estas entities no se puede implementar el flujo:
|
||||
OT -> Planeacion -> Despacho -> Viaje -> POD -> Facturacion
|
||||
|
||||
P1_corto_plazo:
|
||||
descripcion: "Entities para visibilidad y compliance"
|
||||
schemas: [tracking, compliance]
|
||||
entities_requeridas: 12
|
||||
justificacion: |
|
||||
Tracking es diferenciador de mercado.
|
||||
Compliance (Carta Porte) es obligacion fiscal.
|
||||
|
||||
P2_mediano_plazo:
|
||||
descripcion: "Entities de optimizacion"
|
||||
schemas: [maintenance, carriers]
|
||||
entities_requeridas: 11
|
||||
justificacion: |
|
||||
Mantenimiento para disponibilidad de flota.
|
||||
Carriers para escalabilidad.
|
||||
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
# NOTAS
|
||||
# ═══════════════════════════════════════════════════════════════════════════════
|
||||
|
||||
notas:
|
||||
- "fuel y billing estan 100% coherentes (11 entities implementadas)"
|
||||
- "transport y fleet estan al 0% - CRITICO para el negocio"
|
||||
- "Se requieren ~32 entities nuevas especializadas"
|
||||
- "Las entities genericas existentes (Product, SalesOrder, etc.) NO sirven para el giro"
|
||||
Loading…
Reference in New Issue
Block a user