Entradas

CarpetaDelitos

 <?php class CarpetaDelitosModel extends Conexion {     // Obtener delitos según el id de carpeta     static public function obtenerDelitosPorCarpeta($carpeta_id)     {         try {             $query = Conexion::conectar()->prepare("SELECT * FROM carpeta_delitos WHERE carpeta_id = :carpeta_id");             $query->execute(['carpeta_id' => $carpeta_id]);             return $query->fetchAll();         } catch (PDOException $e) {             return false;         }     }     // Insertar un nuevo delito en la carpeta     static public function insertarDelito($datos)     {         try {             $query = Conexion::conectar()->prepare("INSERT INTO carpeta_delitos(nombre...

equilibrar la asignación de tipos de solicitud

 Para desarrollar la aplicación con la funcionalidad de equilibrar la asignación de tipos de solicitud entre jueces, podríamos agregar una lógica que determine cuál juez tiene menos solicitudes de cada tipo y sugerirlo para la siguiente asignación. A continuación, incluyo el código ajustado que muestra tanto el reporte actual como la sugerencia de juez para el próximo turno de cada tipo de solicitud.

Normalizar valores

 Para asegurarte de que todos los registros en la columna juez que coinciden con "LIC. ERICK SERRANO" (y sus variantes) se cambien exactamente a "LIC. ERICK SERRANO", puedes utilizar una consulta SQL que normalice esos valores. Esto eliminará las diferencias de formato que puedan estar causando que se cuenten como registros distintos. DELETE FROM carpetas; UPDATE control SET estatus = 'TRÁMITE' ; UPDATE `carpetas` SET `juez` = ' LIC. PATRICIA LOZANO ' WHERE `juez` LIKE '% PATRICIA LOZANO %'; UPDATE `carpetas` SET `juez` = 'LIC. ERICK SERRANO' WHERE `juez` LIKE '%ERICK SERRANO%'; UPDATE `carpetas` SET `tipo_solicitud` = 'CON DETENIDO' WHERE `tipo_solicitud` LIKE '%CON DETENIDO%'; UPDATE `carpetas` SET `tipo_solicitud` = 'ORDEN DE APREHENSION' WHERE `tipo_solicitud` LIKE '%ORDEN DE APRENSION%'; UPDATE `control` SET `tipo_solicitud` = 'ORDEN DE APREHENSION' WHERE `tipo_solicitud` LIKE...

normalizacion

Puedes ayudarme a crear las siguientes tablas, pero quiero que cuando quiera vaciar(trucar ) la catabla   carpetas no tenga problemas con las recctriciones con las llaves foraneas de las tablas relacionadas   -- Tabla principal de carpetas CREATE TABLE carpetas (   id INT PRIMARY KEY AUTO_INCREMENT,   carpeta VARCHAR(200),   distrito VARCHAR(200),   fecha_carpeta DATE,   num_inv VARCHAR(20),   tipo_solicitud VARCHAR(200),   juez VARCHAR(200) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Tabla para intervinientes (víctimas e imputados) CREATE TABLE carpeta_intervinientes (   id INT PRIMARY KEY AUTO_INCREMENT,   nombre VARCHAR(200),   tipo VARCHAR(20),   carpeta_id INT,   FOREIGN KEY (carpeta_id) REFERENCES carpeta(id) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; -- Tabla para delitos asociados a cada carpeta CREATE TABLE carpeta_delitos (   id INT PRIMARY KEY AUTO_INCREMENT,   nombre VAR...

NORMALIZAR TABLA-audiencia_intervinientes

 Para normalizar las columnas relacionadas con los intervinientes en la tabla audiencia , puedes seguir un proceso similar al que hicimos con los delitos. Vamos a crear una nueva tabla llamada audiencia_intervinientes , donde cada interviniente estará asociado a una audiencia con un tipo que indica qué rol (asistente, víctima, asesor, etc.) desempeña en esa audiencia. 1. Crear la nueva tabla audiencia_intervinientes Esta tabla contendrá una columna nombre , una columna tipo que identificará el tipo de interviniente, y una clave foránea que haga referencia a la tabla audiencia . CREATE TABLE audiencia_intervinientes (     id_interviniente INT AUTO_INCREMENT PRIMARY KEY,     id_audiencia INT NOT NULL,     nombre VARCHAR(150) NOT NULL,     tipo VARCHAR(50) NOT NULL,     FOREIGN KEY (id_audiencia) REFERENCES audiencia(id_audiencia) ON DELETE CASCADE ); 2. Insertar los intervinientes antiguos en la nueva tabla Ahora, vamos a mover los...

NORMALIZAR TABLA-DELITOS

 Para normalizar tu base de datos y mover los delitos de la tabla audiencias a una tabla aparte llamada delitos , necesitas hacer lo siguiente: CREATE TABLE audiencia  (   id_audiencia int(11) NOT NULL,    nombre varchar(13) NOT NULL,    distrito varchar(20) DEFAULT NULL,    sala varchar(18) DEFAULT NULL,   fecha_c date DEFAULT NULL,    fecha_ctime datetime DEFAULT NULL,    hora varchar(6) DEFAULT NULL,    juez varchar(65) DEFAULT NULL,    tipoaudiencia varchar(200) DEFAULT NULL,    confidencialidad varchar(8) DEFAULT NULL,    delito varchar(300) DEFAULT NULL,    asistente varchar(25)  ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; a que la columna delito contiene múltiples delitos en algunos casos y deseas normalizar los datos, moveremos los delitos a una nueva tabla llamada delitos . Aquí te explico cómo hacerlo p...

BUSQUEDA POR NOMBRE Y FECHA

 Para mostrar los resultados de las búsquedas por nombre de carpeta o fecha en el mismo lugar donde ya estás mostrando los registros paginados por defecto, es necesario implementar una lógica que condicione la visualización de los resultados dependiendo de si el usuario ha realizado una búsqueda o no. 1. Estructura básica para integrar las tres consultas Vamos a estructurar el código para que, cuando se cargue la página por primera vez, muestre los registros paginados de manera predeterminada. Si el usuario realiza una búsqueda por nombre de carpeta o por fecha, los resultados de la búsqueda sobrescribirán los registros predeterminados. Aquí está el flujo que seguiremos: Carga inicial : Si no hay búsqueda, mostramos los registros paginados ( getVideosPaginados ). Búsqueda por nombre : Si se realiza una búsqueda por carpeta, mostramos los resultados de esa búsqueda. Búsqueda por fecha : Si se realiza una búsqueda por fecha, mostramos los resultados de esa búsqueda. 2. Actualización ...