Skip to content

Commit

Permalink
Merge pull request #26 from guivaloz:guivaloz/consultar-exhorto
Browse files Browse the repository at this point in the history
Por probar
  • Loading branch information
guivaloz authored Jul 2, 2024
2 parents 6e28a7c + 808e201 commit 8aa0e8f
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 8 deletions.
28 changes: 26 additions & 2 deletions carina/core/exh_exhortos/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class ExhExhorto(Base, UniversalMixin):
"CANCELADO": "Cancelado",
"POR ENVIAR": "Por enviar",
"INTENTOS AGOTADOS": "Intentos agotados",
"RECIBIDO CON EXITO": "Recibido con exito",
"RECIBIDO CON EXITO": "Recibido con éxito",
"NO FUE RESPONDIDO": "No fue respondido",
"RESPONDIDO": "Respondido",
}
Expand Down Expand Up @@ -65,7 +65,7 @@ class ExhExhorto(Base, UniversalMixin):
# UUID identificador con el que el PJ exhortante identifica el exhorto que envía
exhorto_origen_id: Mapped[str] = mapped_column(Uuid, unique=True)

# Identificador INEGI del Municipio del Estado del PJ exhortado al que se quiere enviar el Exhorto
# ID de la tabla Municipios: Para el payload es el Identificador INEGI del Municipio del Estado del PJ exhortado al que se quiere enviar el Exhorto
municipio_destino_id: Mapped[int]

# Identificador propio del Juzgado/Área que envía el Exhorto, opcional
Expand Down Expand Up @@ -129,6 +129,30 @@ class ExhExhorto(Base, UniversalMixin):
# Y se lleva un contador de intentos
por_enviar_intentos: Mapped[int] = mapped_column(Integer, default=0)

# Acuse fecha hora local en el que el Poder Judicial exhortado marca que se recibió el Exhorto
acuse_fecha_hora_recepcion: Mapped[Optional[datetime]]

# Acuse Identificador del muncipio en donde se recibió o turnó el exhorto.
# Puede dar el caso que el exhorto se turne directamente al Juzgado, por lo que este dato seria
# el identificador del municipio donde está el Juzgado.
# En caso que se tenga una "Oficialía Virtual", no es necesario especificar este dato.
# NOTA: este dato corresponde al catálogo de municipios del INEGI.
acuse_municipio_area_recibe_id: Mapped[Optional[int]]

# Acuse Identificador del área o Juzgado turnado en donde se recibe el Exhorto.
# En caso que todavía no esté turnado o se disponga de una "Oficialía Virtual",
# este dato puede no ir en la respuesta.
acuse_area_recibe_id: Mapped[Optional[str]] = mapped_column(String(256))

# Acuse Nombre del área o Juzgado turnado en donde se encuentra el Exhorto.
# En caso de tener una "Oficialía Virtual", este dato puede omitirse
acuse_area_recibe_nombre: Mapped[Optional[str]] = mapped_column(String(256))

# Acuse Contiene una URL para abrir una página con la información referente a la recepción del exhorto que se realizó.
# Esta página el Juzgado que envió el exhorto la puede imprimir como acuse de recibido y evidencia de que el exhorto
# fue enviado correctamente al Poder Judicial exhortado o también una página que muestre el estatus del exhorto.
acuse_url_info: Mapped[Optional[str]] = mapped_column(String(256))

def __repr__(self):
"""Representación"""
return f"<ExhExhorto {self.id}>"
83 changes: 82 additions & 1 deletion carina/v4/exh_exhortos/schemas.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,52 +4,133 @@

from datetime import datetime

from pydantic import BaseModel, ConfigDict
from pydantic import BaseModel

from lib.schemas_base import OneBaseOut

from ..exh_exhortos_archivos.schemas import ExhExhortoArchivoIn
from ..exh_exhortos_partes.schemas import ExhExhortoParteIn


class ExhExhortoIn(BaseModel):
"""Esquema para recibir exhortos"""

# exhortoOrigenId: Es el identificador con el que el Poder Judicial exhortante identifica el exhorto que envía.
# Este dato puede ser un número consecutivo si así el Poder Judicial exhortante (de origen) identifica
# el registro del Exhorto, también puede ser un GUID/UUID u otro valor que sea único para el Poder Judicial exhortante.
# Este dato es importante porque se utilizará para poder hacer la devolución/respuesta del exhorto por el Juzgado exhortado.
exhortoOrigenId: str | None = None

# municipioDestinoId: Identificador del municipio del Estado del Poder Judical exhortado al que se quiere enviar el Exhorto.
# Este debe corresponder al identificador definido por el catálogo de municipios y estados del INEGI
municipioDestinoId: int | None = None

# materiaClave string SI Clave de la materia (el que se obtuvo en la consulta de materias del Poder Judicial exhortado)
# al que el Exhorto hace referencia. Este contiene la materia actuál del registro del Exhorto
materiaClave: str | None = None

# estadoOrigenId: Identificador del estado de origen del municipio donde se ubica el Juzgado del Poder Judicial exhortante.
# Este dato debe ser uno de los valores correspondientes al catálogo de estados del INEGI.
estadoOrigenId: int | None = None

# municipioOrigenId int SI Identificador del municipio donde está localizado el Juzgado/Área del Poder Judicial exhortante.
# Este identificador debe coincidir con el del catálogo del INEGI de municipios y estados.
municipioOrigenId: int | None = None

# juzgadoOrigenId: Identificador propio del Juzgado/Área que envía el Exhorto.
# Identificador con el que el Poder Judicial exhortante identifica al Juzgado/Área
juzgadoOrigenId: str | None = None

# juzgadoOrigenNombre: Nombre del Juzgado/Área que envía el Exhorto.
juzgadoOrigenNombre: str | None = None

# numeroExpedienteOrigen: El número de expediente (o carpeta procesal, carpeta...)
# que tiene el asunto en el Juzgado de Origen.
numeroExpedienteOrigen: str | None = None

# numeroOficioOrigen: El número del oficio con el que se envía el exhorto,
# el que corresponde al control interno del Juzgado de origen
numeroOficioOrigen: str | None = None

# tipoJuicioAsuntoDelitos: Nombre del tipo de Juicio, o asunto, listado de los delitos (para materia Penal)
# que corresponde al Expediente del cual el Juzgado envía el Exhorto
tipoJuicioAsuntoDelitos: str | None = None

# juezExhortante: Nombre completo del Juez del Juzgado o titular del Área que envía el Exhorto
juezExhortante: str | None = None

# partes: Contiene la definición de las partes del Expediente
partes: list[ExhExhortoParteIn] | None = None

# fojas: Número de fojas que contiene el exhorto. El valor 0 significa "No Especificado".
fojas: int | None = None

# diasResponder: Cantidad de dias a partir del día que se recibió en el Poder Judicial exhortado que se tiene para
# responder el Exhorto. El valor de 0 significa "No Especificado".
diasResponder: int | None = None

# tipoDiligenciacionNombre: Nombre del tipo de diligenciación que le corresponde al exhorto enviado.
# Este puede contener valores como "Oficio", "Petición de Parte"
tipoDiligenciacionNombre: str | None = None

# fechaOrigen: Fecha y hora en que el Poder Judicial exhortante registró que se envió el exhorto en su hora local.
# En caso de no enviar este dato, el Poder Judicial exhortado puede tomar su fecha hora local.
fechaOrigen: datetime | None = None

# observaciones: Texto simple que contenga información extra o relevante sobre el exhorto.
observaciones: str | None = None

# archivos: Colección de los datos correspondientes a los archivos recibidos del Exhorto
archivos: list[ExhExhortoArchivoIn] | None = None


class ExhExhortoOut(ExhExhortoIn):
"""Esquema para entregar exhortos"""

# folioSeguimiento: Folio de seguimiento generado para el Exhorto que recibió el Poder Judicial Exhortado
folioSeguimiento: str | None = None

# estadoDestinoId: Identificador del estado de destino del Exhorto
estadoDestinoId: int | None = None

# estadoDestinoNombre: Nombre del estado de destino del Exhorto
estadoDestinoNombre: str | None = None

# municipioDestinoNombre: Nombre del municipio de destino al que se envió el Exhorto
municipioDestinoNombre: str | None = None

# materiaNombre: Nombre de la materia
materiaNombre: str | None = None

# estadoOrigenNombre: Nombre del Estado de origen del Exhorto
estadoOrigenNombre: str | None = None

# municipioOrigenNombre: Nombre del municipio de origen del Juzgado/Área que envió el Exhorto
municipioOrigenNombre: str | None = None

# fechaHoraRecepcion: Fecha hora local en el que el Poder Judicial exhortado marca que se recibió el Exhorto.
fechaHoraRecepcion: datetime | None = None

# municipioTurnadoId: Identificador del municipio que corresponde al Juzgado/Área al que se turnó el Exhorto
municipioTurnadoId: int | None = None

# municipioTurnadoNombre: Nombre del municipio del Juzgado/Área al que se turnó el Exhorto
municipioTurnadoNombre: str | None = None

# areaTurnadoId: Identificador propio del Poder Judicial Exhortado que corresponde al Juzgado/Área al que se turna el
# Exhorto y hará el correspondiente proceso de este.
areaTurnadoId: str | None = None

# areaTurnadoNombre: Nombre del Juzgado/Área al Exhorto y hará el correspondiente proceso de este.
areaTurnadoNombre: str | None = None

# numeroExhorto: Número de Exhorto con el que se radica en el Juzgado/Área que se turnó el exhorto.
# Este número sirve para que el usuario pueda indentificar su exhorto dentro del Juzgado/Área donde se turnó.
numeroExhorto: str | None = None

# urlInfo: Contiene una URL para abrir una página con la información referente a la recepción del exhorto que se realizó.
# Esta página el Juzgado que envió el exhorto la puede imprimir como acuse de recibido y evidencia de que el exhorto fue
# enviado correctamente al Poder Judicial exhortado o también una página que muestre el estatus del exhorto.
urlInfo: str | None = None


Expand Down
6 changes: 1 addition & 5 deletions carina/v4/exh_exhortos_archivos/paths.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,24 +8,20 @@
from typing import Annotated

from fastapi import APIRouter, Depends, HTTPException, UploadFile, status
from fastapi_pagination.ext.sqlalchemy import paginate

from carina.core.permisos.models import Permiso
from carina.v4.exh_exhortos.crud import get_exh_exhorto_by_exhorto_origen_id, update_set_exhorto
from carina.v4.exh_exhortos_archivos.crud import get_exh_exhorto_archivo, get_exh_exhortos_archivos, update_set_exhorto_archivo
from carina.v4.exh_exhortos_archivos.crud import get_exh_exhortos_archivos, update_set_exhorto_archivo
from carina.v4.exh_exhortos_archivos.schemas import (
ExhExhortoArchivoFileDataAcuseOut,
ExhExhortoArchivoFileDataArchivoOut,
ExhExhortoArchivoFileDataOut,
ExhExhortoArchivoFileOut,
ExhExhortoArchivoOut,
OneExhExhortoArchivoOut,
)
from carina.v4.usuarios.authentications import UsuarioInDB, get_current_active_user
from config.settings import get_settings
from lib.database import Session, get_db
from lib.exceptions import MyAnyError
from lib.fastapi_pagination_custom_page import CustomPage
from lib.google_cloud_storage import upload_file_to_gcs

exh_exhortos_archivos = APIRouter(prefix="/v4/exh_exhortos_archivos", tags=["exhortos archivos"])
Expand Down

0 comments on commit 8aa0e8f

Please sign in to comment.