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_DocumentosSolicitudconserva su nombre y su identidad. La pertenencia esCveFraccionamientoEtapa + CveTipoDocumento.CveSolicitudqueda 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 enDocumentos/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_TiposTramiteDocumentopermanece como relación general de requisitos.Tra_SolicitudDocumentoConfiguracionagrega etapa y clave propia para permitirCveSolicitud = 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
- Respaldar la base y conservar una copia coordinada del código antes del despliegue.
- Ejecutar
Documentos_Etapa_Estructura_20260927.sqly despuésDocumentos_Etapa_Procedimientos_20260927.sql, separando los lotesGO, dentro de una transacción administrada por el ejecutor de instalación. Ante un error, no continuar. - 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.
- Mantener el job existente
Job_VerificaVigenciasy su horarioHorario_VerificaVigencias_0300: diariamente a las 03:00. Ambos estaban habilitados y el servidor estaba enUS Mountain Standard Time. No crear un segundo job. - 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@Returny@ErrorTipo; el paso existente del job ya administra su transacción y esos resultados. - 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.exede .NET Framework 4.8: correcta. - Análisis sintáctico con
TSql160Parserde 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
Vencido1 → 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.