mirror of
https://origin.cursor.com/mrdevmx/panels.git
synced 2026-10-09 22:23:18 +00:00
2.4 KiB
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.tsconserva el cálculo de pipeline.
Invariantes
- Una persona no se elimina:
status=bajaconserva su historial. - Solo se asigna o importa personal a proyectos activos.
- Una asignación repetida se reactiva; al finalizarla se conserva su fecha de fin.
pipeline_statusno es un dato editable. Solo la baja es manual; el resto se recalcula.- CURP, RFC y NSS son únicos.
- Foto, INE, CURP, NSS/IMSS y RFC forman el expediente obligatorio.
- 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.