El objetivo de este requerimiento es crear una clase PHP que descargue y registre en una tabla de base de datos, Acuerdos Judiciales del sitio del Estado de Veracruz, México, para una fecha determinada que será pasada como parámetro al método "update" de la misma.
Un "acuerdo" es el término utilizado en México para referirse a un movimiento de un expediente judicial. En un día determinado hay muchos acuerdos, de muchos expedientes judiciales.
El sitio de Acuerdos de Veracruz, Mexico es el siguiente:
https://www.pjeveracruz.gob.mx/pjev/listasJuzgados
Para cada Acuerdo obtenido se deben registrar todos los campos disponibles en el sitio de origen, los cuales al día de la fecha son:
- Tipo
- Número
- Prom.
- Asunto
- Resolución
- Destino
- Fecha
- Sintesis
Así como también la totalidad de los campos de información disponibles al hacer click en el enlace "Detalle" de cada Acuerdo.
1. Requisitos
La clase PHP a desarrollar debe cumplir los siguientes requisitos:
1.1. Debe llamarse AcuerdosVeracruzUpdate
1.2. Debe estar contenida en el archivo
AcuerdosVeracruzUpdate.class.php
1.3. Debe tener un método "update" definido como sigue: (*)
public function update($date);
1.4. Debe utilizar un método sqlQuery($query) para la ejecución de cualquier sentencia SQL (*)
1.5. Debe utilizar la librería Curl estándar de PHP.
1.6. Debe funcionar con bases de datos MySQL 5.5
1.7. Debe funcionar en PHP 7.2
(*) Se adjunta clase esqueleto
SkeletonUpdate.class.php para ser tomada como punto de partida, sin perjuicio de otros métodos que sea necesario agregarle (para obtener una conexión a la base de datos, por ejemplo).
2. Ejemplo de utilización de la clase que se requiere desarrollar
Por ejemplo, para indicarle a AcuerdosVeracruzUpdate que descargue todos los acuerdos del día 15/3/2022, la invocación sería así:
(new AcuerdosVeracruzUpdate())->update(new DateTime('2022-03-15'));
3. Obtención de los datos de origen
Con un request HTTP como el que se muestra a continuación se pueden descargar todos los Acuerdos de una fecha dada (nótese que la URL es diferente al home page del sitio):
curl '
https://www.pjeveracruz.gob.mx/pjev/viewListasJuzgados' \ -H 'Content-Type: application/x-www-form-urlencoded; charset=UTF-8' \ –data-raw 'distrito=juzgado=&textTipoAcuerdo=%5BSeleccione+el+Tipo%5D&tipoAcuerdo=&numero=&anio=&fecha=2022-10-01&tipo=1' \ –compressed
Un solicitud HTTP de ese tipo arrojará todos los acuerdos para el día 10/1/2022.
Debe tenerse en cuenta que por cada Acuerdo se deberá obtener asimismo su "Detalle", lo cual requiere otras solicitudes HTTP las cuales deberán ser implementadas.
La URL
https://www.pjeveracruz.gob.mx/pjev/viewListasJuzgados sería el "data source" al que se hace referencia en la clase SkeletonUpdate adjuntada al proyecto.
4. Tabla de base de datos requerida
La clase ha de considerar que ya existe en la base de datos una tabla "acuerdo_edo_veracruz". A los efectos del desarrollo esta tabla debe ser creada en previamente en la base de datos local y es donde se almacenará la información obtenida.
5. Entregables
Como resultado del trabajo se deberá entregar:
a) Archivo
AcuerdosVeracruzUpdate.php
b) Archivo sql con sentencias necesarias para la creación de la o las tablas utilizadas por la clase php.
C) Archivos adicionales que se pudieran considerar necesarios.
Plazo de Entrega: No definido