Cómputo de Plazos Procesales
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
8. Cómputo de Plazos Procesales
El sistema debe integrar un módulo automatizado para el cómputo de plazos procesales, con el fin de auxiliar tanto a Oficialía de Partes como al personal del área de Causas en el seguimiento oportuno de solicitudes judiciales. Este módulo será fundamental para prevenir vencimientos y para calcular correctamente los días hábiles y naturales según la ley procesal aplicable.
🔹 8.1 Funciones principales
-
Calcular automáticamente el número de días entre
f_registroyf_vencetomando en cuenta:-
Días hábiles (excluyendo sábados, domingos y días inhábiles oficiales).
-
Días naturales (si aplica para ciertas solicitudes o documentos).
-
-
Mostrar:
-
Días restantes.
-
Fecha límite.
-
Indicador visual (verde, amarillo, rojo) según la proximidad del vencimiento.
-
-
Recalcular automáticamente al modificar la fecha de registro o la fecha límite.
🔹 8.2 Parámetros de configuración
-
Calendario judicial configurable desde una tabla
dias_inhabilesque contenga:sqlCREATE TABLE dias_inhabiles ( id INT AUTO_INCREMENT PRIMARY KEY, fecha DATE NOT NULL, descripcion VARCHAR(255) DEFAULT NULL ); -
Permitir gestión de días inhábiles por parte del Administrador del sistema.
🔹 8.3 Ejemplos de uso
-
Si una solicitud fue registrada el 01/07/2025 y tiene un vencimiento de 5 días hábiles, el sistema debe:
-
Excluir sábados, domingos y feriados judiciales.
-
Determinar la fecha exacta de vencimiento.
-
Mostrar al usuario:
-
"Faltan 3 días hábiles para vencer"
-
Barra de progreso correspondiente
-
Semáforo visual
-
-
🔹 8.4 Reportes y alertas
-
Generación de un reporte diario con solicitudes que:
-
Están por vencer (dentro de 3 días).
-
Ya vencieron.
-
-
Opción para que el personal reciba alertas al ingresar al sistema si tiene pendientes críticos.
¿Deseas que también genere el modelo de base de datos para días inhábiles y un ejemplo de función en PHP que calcule los plazos excluyendo fines de semana y feriados?
Perfecto. Vamos a crear una solución en PHP y MySQL que permita hacer el cómputo de plazos procesales, con las dos opciones:
-
Plazos por días naturales (incluye sábados, domingos y feriados).
-
Plazos por días hábiles (excluye sábados, domingos y días inhábiles de una tabla).
✅ Paso 1: Tabla dias_inhabiles
Primero, creamos la tabla en la base de datos para registrar los días feriados.
sqlCREATE TABLE dias_inhabiles (
id INT AUTO_INCREMENT PRIMARY KEY,
fecha DATE NOT NULL UNIQUE,
descripcion VARCHAR(255)
);
Puedes insertar días inhábiles manualmente:
sqlINSERT INTO dias_inhabiles (fecha, descripcion) VALUES
('2025-01-01', 'Año Nuevo'),
('2025-05-01', 'Día del Trabajo'),
('2025-09-16', 'Día de la Independencia'),
('2025-11-20', 'Revolución Mexicana'),
('2025-12-25', 'Navidad');
✅ Paso 2: Función PHP para calcular plazos
phpfunction calcularFechaVencimiento($fechaInicio, $dias, $modo = 'habil', $conexion) {
$fecha = new DateTime($fechaInicio);
$agregados = 0;
while ($agregados < $dias) {
$fecha->modify('+1 day');
$esFinDeSemana = in_array($fecha->format('N'), [6, 7]); // 6 = sábado, 7 = domingo
$esInhabil = false;
if ($modo === 'habil') {
// Consultar días inhábiles
$sql = "SELECT COUNT(*) as total FROM dias_inhabiles WHERE fecha = ?";
$stmt = $conexion->prepare($sql);
$stmt->bind_param('s', $fechaStr);
$fechaStr = $fecha->format('Y-m-d');
$stmt->execute();
$result = $stmt->get_result()->fetch_assoc();
$esInhabil = $result['total'] > 0;
}
if ($modo === 'natural') {
$agregados++; // suma todos los días
} else if (!$esFinDeSemana && !$esInhabil) {
$agregados++; // solo días hábiles
}
}
return $fecha->format('Y-m-d');
}
✅ Paso 3: Ejemplo de uso
php// Conexión a MySQL
$conexion = new mysqli('localhost', 'root', '', 'despacho');
// Verifica conexión
if ($conexion->connect_error) {
die('Error de conexión: ' . $conexion->connect_error);
}
$fechaInicio = '2025-07-02';
$diasPlazo = 5;
// Modo: 'habil' o 'natural'
$modo = 'habil';
$fechaVencimiento = calcularFechaVencimiento($fechaInicio, $diasPlazo, $modo, $conexion);
echo "Fecha de vencimiento ($modo): $fechaVencimiento";
✅ Paso 4: Posibles mejoras
-
Agregar un
selecten el formulario para elegir si es plazo natural o hábil. -
Mostrar la cantidad de días restantes y colorear (verde, amarillo, rojo).
-
Mostrar calendario de días inhábiles en un módulo de configuración.
¿Quieres que te prepare una interfaz básica en Bootstrap para probar esta funcionalidad (con formulario y resultado visual)?
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios
Publicar un comentario