Skip to content

Commit

Permalink
Merge pull request #974 from guivaloz/guivaloz/exhortos-correcciones
Browse files Browse the repository at this point in the history
Correcciones en modelos de exhortos
  • Loading branch information
guivaloz authored Apr 29, 2024
2 parents 600e901 + 720884e commit d2fcf7a
Show file tree
Hide file tree
Showing 3 changed files with 67 additions and 18 deletions.
34 changes: 26 additions & 8 deletions plataforma_web/blueprints/exh_exhortos/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
from plataforma_web.extensions import db
from lib.universal_mixin import UniversalMixin


class ExhExhorto(db.Model, UniversalMixin):
"""Exhorto Exhorto"""

Expand All @@ -20,8 +21,7 @@ class ExhExhorto(db.Model, UniversalMixin):
exhorto_origen_id = db.Column(db.String(64), nullable=False, unique=True)

# Identificador INEGI del Municipio del Estado del PJ exhortado al que se quiere enviar el Exhorto
# municipio_destino_id = db.Column(db.Integer, db.ForeignKey("municipios.id"), index=True, nullable=False)
# municipio_destino = db.relationship("Municipio", back_populates="exh_exhortos_destinos")
municipio_destino_id = db.Column(db.Integer, nullable=False)

# Clave de la materia (el que se obtuvo en la consulta de materias del PJ exhortado) al que el Exhorto hace referencia
materia_id = db.Column(db.Integer, db.ForeignKey("materias.id"), index=True, nullable=False)
Expand All @@ -37,25 +37,43 @@ class ExhExhorto(db.Model, UniversalMixin):

# Identificador propio del Juzgado/Área que envía el Exhorto
juzgado_origen_id = db.Column(db.String(64))

# Nombre del Juzgado/Área que envía el Exhorto
juzgado_origen_nombre = db.Column(db.String(256), nullable=False)

# El número de expediente (o carpeta procesal, carpeta...) que tiene el asunto en el Juzgado de Origen
numero_expediente_origen = db.Column(db.String(256), nullable=False)

# El número del oficio con el que se envía el exhorto, el que corresponde al control interno del Juzgado de origen
numero_oficio_origen = db.Column(db.String(256))

# 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
tipo_juicio_asunto_delitos = db.Column(db.String(256), nullable=False)

# Nombre completo del Juez del Juzgado o titular del Área que envía el Exhorto
juez_exhortante = db.Column(db.String(256))

# Número de fojas que contiene el exhorto. El valor 0 significa "No Especificado"
fojas = db.Column(db.Integer, nullable=False)

# 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"
dias_responder = db.Column(db.Integer, nullable=False)

# Nombre del tipo de diligenciación que le corresponde al exhorto enviado. Este puede contener valores como "Oficio", "Petición de Parte"
tipo_diligenciacion_nombre = db.Column(db.String(256))

# 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.
fecha_origen = db.Column(db.DateTime, server_default=func.now())

# Texto simple que contenga información extra o relevante sobre el exhorto.
observaciones = db.Column(db.String(1024))

# Hijos
# partes PersonaParte[] NO
exh_exhortos_partes = db.relationship('ExhExhortoParte', back_populates='exh_exhorto', lazy='noload')
# archivos ArchivoARecibir[] SI
exh_exhortos_archivos = db.relationship('ExhExhortoArchivo', back_populates='exh_exhorto', lazy='noload')
# PersonaParte[] NO Contiene la definición de las partes del Expediente
exh_exhortos_partes = db.relationship("ExhExhortoParte", back_populates="exh_exhorto", lazy="noload")
# ArchivoARecibir[] SI Colección de los datos referentes a los archivos que se van a recibir el Poder Judicial exhortado en el envío del Exhorto.
exh_exhortos_archivos = db.relationship("ExhExhortoArchivo", back_populates="exh_exhorto", lazy="noload")

def __repr__(self):
"""Representación"""
return f"<Exhorto {self.id}>"
return f"<Exhorto {self.exhorto_origen_id}>"
23 changes: 18 additions & 5 deletions plataforma_web/blueprints/exh_exhortos_archivos/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
from plataforma_web.extensions import db
from lib.universal_mixin import UniversalMixin


class ExhExhortoArchivo(db.Model, UniversalMixin):
"""Exhorto Archivo"""

Expand All @@ -15,15 +16,27 @@ class ExhExhortoArchivo(db.Model, UniversalMixin):
id = db.Column(db.Integer, primary_key=True)

# Clave foránea
exh_exhorto_id = db.Column(db.Integer, db.ForeignKey('exh_exhortos.id'), index=True, nullable=False)
exh_exhorto = db.relationship('ExhExhorto', back_populates='exh_exhortos_archivos')
exh_exhorto_id = db.Column(db.Integer, db.ForeignKey("exh_exhortos.id"), index=True, nullable=False)
exh_exhorto = db.relationship("ExhExhorto", back_populates="exh_exhortos_archivos")

# Columnas
# Nombre del archivo, como se enviará. Este debe incluir el la extensión del archivo.
nombre_archivo = db.Column(db.String(256), nullable=False)

# Hash SHA1 en hexadecimal que corresponde al archivo a recibir. Esto para comprobar la integridad del archivo.
hash_sha1 = db.Column(db.String(256))

# Hash SHA256 en hexadecimal que corresponde al archivo a recibir. Esto apra comprobar la integridad del archivo.
hash_sha256 = db.Column(db.String(256))
tipo_documento = db.Column(db.Integer(), nullable=False) # 1=Oficio, 2=Acuerdo, 3=Anexo

# Identificador del tipo de documento que representa el archivo:
# 1 = Oficio
# 2 = Acuerdo
# 3 = Anexo
tipo_documento = db.Column(db.Integer, nullable=False)

# URL del archivo en Google Storage
url = db.Column(db.String(512), nullable=False, default="", server_default="")

def __repr__(self):
"""Representación"""
return f"<ExhExhortoArchivo {self.nombre_archivo}>"
return f"<ExhExhortoArchivo {self.id}>"
28 changes: 23 additions & 5 deletions plataforma_web/blueprints/exh_exhortos_partes/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from plataforma_web.extensions import db
from lib.universal_mixin import UniversalMixin


class ExhExhortoParte(db.Model, UniversalMixin):
"""Exhorto Parte"""

Expand All @@ -23,18 +24,35 @@ class ExhExhortoParte(db.Model, UniversalMixin):
id = db.Column(db.Integer, primary_key=True)

# Clave foránea
exh_exhorto_id = db.Column(db.Integer, db.ForeignKey('exh_exhortos.id'), index=True, nullable=False)
exh_exhorto = db.relationship('ExhExhorto', back_populates='exh_exhortos_partes')
exh_exhorto_id = db.Column(db.Integer, db.ForeignKey("exh_exhortos.id"), index=True, nullable=False)
exh_exhorto = db.relationship("ExhExhorto", back_populates="exh_exhortos_partes")

# Columnas
# Nombre de la parte, en el caso de persona moral, solo en nombre de la empresa o razón social.
nombre = db.Column(db.String(256), nullable=False)

# Apellido paterno de la parte. Solo cuando no sea persona moral.
apellido_paterno = db.Column(db.String(256))

# Apellido materno de la parte, si es que aplica para la persona. Solo cuando no sea persona moral.
apellido_materno = db.Column(db.String(256))

# 'M' = Masculino,
# 'F' = Femenino.
# Solo cuando aplique y se quiera especificar (que se tenga el dato). NO aplica para persona moral.
genero = db.Column(db.Enum(*GENEROS, name="tipos_generos", native_enum=False), nullable=True)

# Valor que indica si la parte es una persona moral.
es_persona_moral = db.Column(db.Boolean, nullable=False)
tipo_parte = db.Column(db.Integer(), nullable=False, default=0) # 1 = Actor, Promovente, Ofendido; 2 = Demandado, Inculpado, Imputado; 0 = No definido

# Indica el tipo de parte:
# 1 = Actor, Promovente, Ofendido;
# 2 = Demandado, Inculpado, Imputado;
# 0 = No definido o se especifica en tipoParteNombre
tipo_parte = db.Column(db.Integer, nullable=False, default=0)

# Aquí se puede especificar el nombre del tipo de parte.
tipo_parte_nombre = db.Column(db.String(256))

def __repr__(self):
"""Representación"""
return f"<ExhExhortoParte {self.nombre}>"
return f"<ExhExhortoParte {self.id}>"

0 comments on commit d2fcf7a

Please sign in to comment.