Skip to content

Commit

Permalink
Merge pull request #6 from guivaloz:guivaloz/correciones
Browse files Browse the repository at this point in the history
Correcciones listas
  • Loading branch information
guivaloz authored Jan 24, 2024
2 parents f59de37 + 287def9 commit 7ac8f36
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 13 deletions.
20 changes: 10 additions & 10 deletions perseo/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,21 +46,21 @@ def create_app() -> FastAPI:
)

# Rutas
app.include_router(autoridades)
app.include_router(bitacoras)
app.include_router(distritos)
app.include_router(entradas_salidas)
app.include_router(modulos)
app.include_router(autoridades, include_in_schema=False)
app.include_router(bitacoras, include_in_schema=False)
app.include_router(distritos, include_in_schema=False)
app.include_router(entradas_salidas, include_in_schema=False)
app.include_router(modulos, include_in_schema=False)
app.include_router(nominas)
app.include_router(permisos)
app.include_router(permisos, include_in_schema=False)
app.include_router(personas)
app.include_router(puestos)
app.include_router(roles)
app.include_router(roles, include_in_schema=False)
app.include_router(tabuladores)
app.include_router(tareas)
app.include_router(tareas, include_in_schema=False)
app.include_router(timbrados)
app.include_router(usuarios)
app.include_router(usuarios_roles)
app.include_router(usuarios, include_in_schema=False)
app.include_router(usuarios_roles, include_in_schema=False)

# Paginación
add_pagination(app)
Expand Down
14 changes: 14 additions & 0 deletions perseo/core/nominas/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,23 @@ class Nomina(Base, UniversalMixin):
persona = relationship("Persona", back_populates="nominas")

# Columnas
fecha_pago = Column(Date(), nullable=False)
tipo = Column(Enum(*TIPOS, name="nominas_tipos"), nullable=False, index=True)
timbrado_id = Column(Integer()) # Pueder ser nulo o el ID del Timbrado

# Hijos
timbrados = relationship("Timbrado", back_populates="nomina")

@property
def persona_curp(self):
"""CURP de la persona"""
return self.persona.curp

@property
def persona_rfc(self):
"""RFC de la persona"""
return self.persona.rfc

def __repr__(self):
"""Representación"""
return f"<Nomina {self.id}>"
2 changes: 1 addition & 1 deletion perseo/core/personas/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class Persona(Base, UniversalMixin):
modelo = Column(Integer, nullable=False, index=True)

# Hijos
nominas = relationship("Nomina", back_populates="personas")
nominas = relationship("Nomina", back_populates="persona")

@property
def nombre_completo(self):
Expand Down
15 changes: 15 additions & 0 deletions perseo/core/timbrados/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,21 @@ class Timbrado(Base, UniversalMixin):
archivo_xml = Column(String(256), nullable=False, default="", server_default="")
url_xml = Column(String(512), nullable=False, default="", server_default="")

@property
def nomina_fecha_pago(self):
"""Fecha de pago de la nómina"""
return self.nomina.fecha_pago

@property
def persona_curp(self):
"""CURP de la persona"""
return self.nomina.persona.curp

@property
def persona_rfc(self):
"""RFC de la persona"""
return self.nomina.persona.rfc

def __repr__(self):
"""Representación"""
return f"<Timbrado {self.id}>"
2 changes: 1 addition & 1 deletion perseo/v4/nominas/crud.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ def get_nominas(
if rfc is not None:
persona = get_persona_with_rfc(database, rfc)
consulta = consulta.filter_by(persona_id=persona.id)
return consulta.filter_by(estatus="A").order_by(Nomina.id)
return consulta.filter_by(estatus="A").order_by(Nomina.id.desc())


def get_nomina(database: Session, nomina_id: int) -> Nomina:
Expand Down
3 changes: 3 additions & 0 deletions perseo/v4/nominas/schemas.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
"""
Nominas v4, esquemas de pydantic
"""
from datetime import date

from pydantic import BaseModel, ConfigDict

from lib.schemas_base import OneBaseOut
Expand All @@ -13,6 +15,7 @@ class NominaOut(BaseModel):
persona_id: int | None = None
persona_curp: str | None = None
persona_rfc: str | None = None
fecha_pago: date | None = None
tipo: str | None = None
timbrado_id: int | None = None
model_config = ConfigDict(from_attributes=True)
Expand Down
2 changes: 1 addition & 1 deletion perseo/v4/timbrados/crud.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ def get_timbrados(
if rfc is not None:
persona = get_persona_with_rfc(database, rfc)
consulta = consulta.filter(Nomina.persona_id == persona.id)
return consulta.filter_by(estatus="A").order_by(Timbrado.id)
return consulta.filter_by(estatus="A").order_by(Timbrado.id.desc())


def get_timbrado(database: Session, timbrado_id: int) -> Timbrado:
Expand Down
3 changes: 3 additions & 0 deletions perseo/v4/timbrados/schemas.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
"""
Timbrados v4, esquemas de pydantic
"""
from datetime import date

from pydantic import BaseModel, ConfigDict

from lib.schemas_base import OneBaseOut
Expand All @@ -11,6 +13,7 @@ class TimbradoOut(BaseModel):

id: int | None = None
nomina_id: int | None = None
nomina_fecha_pago: date | None = None
persona_rfc: str | None = None
persona_curp: str | None = None
estado: str | None = None
Expand Down

0 comments on commit 7ac8f36

Please sign in to comment.