panels-origin/docs/padron-v2.md
2026-08-21 16:55:01 -05:00

2.4 KiB

Padrón v2

Alcance

Padrón conserva el modelo actual: la persona es el registro maestro, los proyectos son asignaciones y el estado de expediente/gafete se deriva de documentos, impresiones y asignaciones. Esta fase no cambia la nómina ni el generador fijo de gafetes.

Arquitectura

  • web-panel/pages/padron/index.vue: orquesta carga, selección, árbol y comandos de cinta.
  • web-panel/components/padron/PadronTable.vue: tabla, filtros y acciones por persona.
  • web-panel/components/padron/WorkerFormDialog.vue: alta y edición de datos maestros.
  • web-panel/components/padron/WorkerImportDialog.vue: importación de Excel y reporte.
  • web-panel/components/WorkerFicha.vue: ficha lateral y navegación por secciones.
  • web-panel/components/padron/WorkerDocuments.vue: expediente obligatorio/opcional.
  • web-panel/components/padron/WorkerAssignments.vue: altas, reactivaciones y bajas de asignación.
  • web-panel/types/padron.ts: contratos del frontend para persona, proyecto, riesgo e importación.
  • api/main.ts: reglas HTTP; api/db.ts conserva el cálculo de pipeline.

Invariantes

  1. Una persona no se elimina: status=baja conserva su historial.
  2. Solo se asigna o importa personal a proyectos activos.
  3. Una asignación repetida se reactiva; al finalizarla se conserva su fecha de fin.
  4. pipeline_status no es un dato editable. Solo la baja es manual; el resto se recalcula.
  5. CURP, RFC y NSS son únicos.
  6. Foto, INE, CURP, NSS/IMSS y RFC forman el expediente obligatorio.
  7. El código exacto de riesgo se conserva porque define el color del gafete; Alto/Medio/Bajo es una lectura semántica para la interfaz.

Contratos usados por Padrón

  • GET /v1/workers: lista maestra con proyectos activos agregados, faltantes y saldo.
  • GET /v1/workers/:id: persona, documentos, checklist, asignaciones y préstamos.
  • POST /v1/workers/validate: validación de formato y unicidad.
  • POST /v1/workers / PATCH /v1/workers/:id: alta y edición.
  • POST /v1/workers/:id/assign: asignar, reactivar o finalizar.
  • POST /v1/workers/:id/documents: guardar una nueva versión cifrada.
  • PATCH /v1/workers/:id/pipeline: baja manual o recálculo/reactivación.

Verificación

cd api
deno task check
deno task test

cd ../web-panel
npm run build

La siguiente fase puede reutilizar estos contratos para el editor de plantillas; no debe acoplar el layout del gafete a la ficha de Padrón.