Files
Plataforma-de-desarrolladores/Documentos_Etapa_Implementacion_20260927.md
Jorge Luis caudillo esparza e8160eefba --documentos
2026-09-27 14:44:12 -07:00

7.8 KiB

Documentos compartidos por etapa

Estado de la entrega

Código preparado y cambios de BD instalados el 27 de septiembre de 2026 en SIG_PlataformaDesarolladores, con autorización del usuario. Los dos scripts se ejecutaron en una sola transacción: dos lotes de estructura y trece de procedimientos. El recálculo inicial se ejecutó mediante el comando del paso existente del job, comprobando sus parámetros de salida. Las consultas de verificación no detectaron inconsistencias. La base contenía cero documentos y cero configuraciones particulares; las pruebas integradas de las pantallas indicadas al final siguen pendientes.

Respaldo previo COPY_ONLY, con CHECKSUM y RESTORE VERIFYONLY WITH CHECKSUM correctos: E:\SqlServer2022\MSSQL16.MSSQLSERVER\MSSQL\Backup\SIG_PlataformaDesarolladores_documentos_etapa_20260927_092116.bak.

El código y los PA deben desplegarse coordinadamente: las firmas nuevas no son compatibles con los PA anteriores.

Estructura reutilizada

  • Tra_DocumentosSolicitud conserva su nombre y su identidad. La pertenencia es CveFraccionamientoEtapa + CveTipoDocumento. CveSolicitud queda como origen opcional.
  • El índice filtrado permite una sola versión activa por etapa/tipo. Las renovaciones ordinarias conservan el registro y archivo anterior, con EsActivo = 0, y crean una nueva versión pendiente de revisión. El archivo nuevo tiene un nombre único en Documentos/Clientes/{cliente}/Etapas/{etapa}/.
  • GIS mantiene su mecanismo específico de reemplazo y su nombre físico establecido. No se crean supuestas versiones históricas que apunten al mismo archivo GIS sobrescrito.
  • Los históricos no se eliminan ni se reactivan al eliminar la versión actual. El nuevo tablero muestra la versión vigente; no agrega una pantalla de historial.
  • Tra_TiposTramiteDocumento permanece como relación general de requisitos.
  • Tra_SolicitudDocumentoConfiguracion agrega etapa y clave propia para permitir CveSolicitud = NULL. La configuración particular sigue sustituyendo a la general en su solicitud. La configuración sin trámite pertenece únicamente a la etapa.

Requerimientos y vigencia

El requisito actual resulta de la unión de configuraciones efectivas de solicitudes no finales y requisitos manuales activos sin solicitud. Se conserva EsFinal como regla existente: también el estatus Revisando está marcado como final en esta BD. No se modifican estatus ni sus definiciones.

Vencido = 1 sólo si la versión está activa, su fecha ya pasó y actualmente es requerida. La fecha es inclusiva: un documento que vence hoy todavía no se considera expirado. Se usa US Mountain Standard Time, equivalente a la hora de Hermosillo.

Las lecturas no ejecutan el job ni actualizan documentos. Calculan la presentación con la fecha y los requisitos actuales, de manera que no dependa de esperar al siguiente job. La marca persistida se actualiza tras cambios de archivo, revisión, requisitos, alta manual de trámite y cambio de estatus; la revisión global diaria también la corrige. Cambios de configuración hechos fuera de esos servicios se reflejan en el listado y quedan persistidos en la siguiente ejecución nocturna.

El PA de listado tiene dos usos: el tablero devuelve una entrada por etapa/tipo; el seguimiento devuelve los requisitos por solicitud apuntando al mismo identificador de archivo. Esas referencias no crean registros ni copias físicas por trámite.

Interfaz

DocumentosEtapa.ascx se usa en DetalleEtapa.ascx y FraccionamientoDetalle.aspx. EtapaDetalle.aspx conserva la redirección existente al panel de detalle real.

Las cortinas siempre aparecen en este orden: Pendientes, Por aprobar, Aprobados, Vencidos. Los rechazados se muestran en Por aprobar con su estado y motivo. Un aprobado expirado sin requisito sigue en Aprobados, con su fecha en rojo. Se conservan los filtros del fraccionamiento y la administración GIS existente.

La solicitud adicional permite elegir etapa, tipo y trámite opcional. Sólo los usuarios de Agua de Hermosillo pueden guardarla; se comprueba en servicio y PA. Un archivo ya vigente satisface todos los requisitos correspondientes sin volver a pedir una copia.

Las cargas usan postback completo; las demás acciones son parciales. Cada instancia inicializa sus cortinas una sola vez. El panel padre actualiza cambios de etapa o filtros; los paneles del control actualizan sus operaciones y su formulario. Los recursos se cargan globalmente mediante los bundles existentes.

Secuencia de instalación

  1. Respaldar la base y conservar una copia coordinada del código antes del despliegue.
  2. Ejecutar Documentos_Etapa_Estructura_20260927.sql y después Documentos_Etapa_Procedimientos_20260927.sql, separando los lotes GO, dentro de una transacción administrada por el ejecutor de instalación. Ante un error, no continuar.
  3. La estructura impide instalar si existen dos versiones activas de un tipo en la misma etapa; no elige ni elimina documentos automáticamente. En la inspección previa había cero documentos y cero configuraciones particulares; comprobar nuevamente al instalar.
  4. Mantener el job existente Job_VerificaVigencias y su horario Horario_VerificaVigencias_0300: diariamente a las 03:00. Ambos estaban habilitados y el servidor estaba en US Mountain Standard Time. No crear un segundo job.
  5. Con autorización de ejecución, realizar el recálculo inicial y ejecutar las consultas de Documentos_Etapa_Verificacion_20260927.sql. El ejecutor debe comprobar @Return y @ErrorTipo; el paso existente del job ya administra su transacción y esos resultados.
  6. Desplegar/verificar el código junto con los PA actualizados y probar los casos siguientes.

No hay lógica nueva para detener supervisiones. Los procedimientos no administran transacciones; permanecen en servicios C# y en el ejecutor externo del job.

Validaciones realizadas

  • Precompilación completa con aspnet_compiler.exe de .NET Framework 4.8: correcta.
  • Análisis sintáctico con TSql160Parser de SQL Server 2022: sin errores.
  • Siete casos ejecutados contra el modelo C#: pendiente, por revisar, rechazado, aprobado vigente, expirado requerido, expirado no requerido y sin revisión expirado no requerido: correctos.
  • JavaScript: sintaxis correcta; pruebas de inicialización por instancia, inclusión repetida, postback parcial, persistencia de cortinas y etapa fija: correctas.
  • Instalación SQL y recálculo inicial: correctos. Las seis consultas de inconsistencias devolvieron cero filas, incluidos los siete casos de agrupación.
  • Job y horario habilitados: ejecución diaria a las 03:00, servidor en US Mountain Standard Time. Se conservó la configuración existente.

Pruebas integradas pendientes

  • Abrir etapa y fraccionamiento con usuario cliente y con usuario de Agua; recorrer el ciclo completo hasta PreRender con la master y con varias instancias del control.
  • Crear dos trámites que pidan el mismo tipo; cargar una vez y comprobar que ambos usan la misma clave y ruta, mientras el tablero muestra una sola fila.
  • Solicitar un tipo sin trámite; cargarlo y aprobarlo desde ambas vistas.
  • Rechazar y renovar; comprobar que se conserva la versión anterior, se reinicia la revisión de la nueva y se actualizan los trámites afectados.
  • Expirar un documento requerido, finalizar los trámites y volver a abrir otro: verificar Vencido 1 → 0 → 1 y la fecha roja aun cuando no esté en Vencidos.
  • Verificar autorización de clientes, solicitudes manuales manipuladas, cargas simultáneas, restauración transaccional ante fallo y continuidad de GIS.
  • Comprobar el efecto del job con documentos vencidos; el recálculo inicial terminó correctamente con el inventario vacío.

La compilación y el analizador SQL no sustituyen estas pruebas contra la BD instalada.