feat(TAto): Implementação inicial da listagem dos dados
This commit is contained in:
parent
9b784f8d1a
commit
2223db9d75
8 changed files with 305 additions and 1 deletions
|
|
@ -48,6 +48,7 @@ from packages.v1.administrativo.endpoints import t_pessoa_endpoint
|
|||
from packages.v1.administrativo.endpoints import t_pessoa_representante_endpoint
|
||||
from packages.v1.administrativo.endpoints import g_calculo_endpoint
|
||||
from packages.v1.servicos.balcao.endpoints import (
|
||||
t_ato_endpoint,
|
||||
t_pessoa_cartao_endpoint,
|
||||
t_servico_itempedido_endpoint,
|
||||
t_servico_pedido_endpoint,
|
||||
|
|
@ -369,6 +370,13 @@ api_router.include_router(
|
|||
tags=["Pessoa Cartao"],
|
||||
)
|
||||
|
||||
# Inclui as rotas de g_emolumento periodo
|
||||
api_router.include_router(
|
||||
t_ato_endpoint.router,
|
||||
prefix="/servicos/atos/t_ato",
|
||||
tags=["Atos"],
|
||||
)
|
||||
|
||||
# Inclui as rotas de g_emolumento periodo
|
||||
api_router.include_router(
|
||||
t_biometria_pessoa_endpoint.router,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
from packages.v1.servicos.balcao.repositories.t_ato.t_ato_index_repository import (
|
||||
TAtoIndexRepository,
|
||||
)
|
||||
from packages.v1.servicos.balcao.schemas.t_ato_schema import TAtoIndexSchema
|
||||
|
||||
|
||||
class TAtoIndexAction:
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de listagem de todos os registros na tabela g_tb_regimebens.
|
||||
"""
|
||||
|
||||
def execute(self, t_ato_index_schema: TAtoIndexSchema):
|
||||
"""
|
||||
Executa a operação de listagem no banco de dados.
|
||||
|
||||
Returns:
|
||||
A lista de todos os registros.
|
||||
"""
|
||||
# Instanciamento do repositório
|
||||
t_ato_index_repository = TAtoIndexRepository()
|
||||
|
||||
# Execução do repositório
|
||||
response = t_ato_index_repository.execute(t_ato_index_schema)
|
||||
|
||||
# Retorno da informação
|
||||
return response
|
||||
34
packages/v1/servicos/balcao/controllers/t_ato_controller.py
Normal file
34
packages/v1/servicos/balcao/controllers/t_ato_controller.py
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
from actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from packages.v1.servicos.balcao.schemas.t_ato_schema import TAtoIndexSchema
|
||||
from packages.v1.servicos.balcao.services.t_ato.t_ato_index_service import (
|
||||
TAtoIndexService,
|
||||
)
|
||||
|
||||
|
||||
class TAtoController:
|
||||
"""
|
||||
Controller responsável por orquestrar as operações CRUD da tabela T_PESSOA_CARTAO,
|
||||
utilizando carregamento dinâmico de serviços via DynamicImport.
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
# ----------------------------------------------------
|
||||
# Inicialização do DynamicImport
|
||||
# ----------------------------------------------------
|
||||
self.dynamic_import = DynamicImport()
|
||||
self.dynamic_import.set_package("servicos.balcao")
|
||||
self.dynamic_import.set_table("t_ato")
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Lista todos os registros de T_PESSOA_CARTAO
|
||||
# ----------------------------------------------------
|
||||
def index(self, t_ato_index_schema: TAtoIndexSchema):
|
||||
|
||||
# Instância da classe service
|
||||
self.index_service = TAtoIndexService()
|
||||
|
||||
# Execução da listagem
|
||||
return {
|
||||
"message": "Registros de T_ATO localizados com sucesso.",
|
||||
"data": self.index_service.execute(t_ato_index_schema),
|
||||
}
|
||||
34
packages/v1/servicos/balcao/endpoints/t_ato_endpoint.py
Normal file
34
packages/v1/servicos/balcao/endpoints/t_ato_endpoint.py
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
# Importação de bibliotecas
|
||||
from fastapi import APIRouter, Depends, status
|
||||
from actions.data.get_url_params import get_url_params
|
||||
from actions.jwt.get_current_user import get_current_user
|
||||
from packages.v1.servicos.balcao.controllers.t_ato_controller import TAtoController
|
||||
from packages.v1.servicos.balcao.schemas.t_ato_schema import TAtoIndexSchema
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Inicializa o roteador para as rotas da tabela T_ATO
|
||||
# ----------------------------------------------------
|
||||
router = APIRouter()
|
||||
|
||||
# Instanciamento do controller
|
||||
t_ato_controller = TAtoController()
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Lista todos os registros de T_ATO
|
||||
# ----------------------------------------------------
|
||||
@router.get(
|
||||
"/",
|
||||
status_code=status.HTTP_200_OK,
|
||||
summary="Lista todos os registros de T_ATO cadastrados",
|
||||
response_description="Lista todos os registros de T_ATO cadastrados",
|
||||
)
|
||||
async def index(
|
||||
current_user: dict = Depends(get_current_user), url_params=Depends(get_url_params)
|
||||
):
|
||||
|
||||
# Busca todos os usuários cadastrados
|
||||
response = t_ato_controller.index(TAtoIndexSchema(**url_params))
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from packages.v1.servicos.balcao.schemas.t_ato_schema import TAtoIndexSchema
|
||||
|
||||
|
||||
class TAtoIndexRepository(BaseRepository):
|
||||
"""
|
||||
Repositório para a operação de listagem de todos os registros
|
||||
na tabela T_ATO.
|
||||
"""
|
||||
|
||||
def execute(self, t_ato_index_schema: TAtoIndexSchema):
|
||||
"""
|
||||
Executa a consulta SQL para buscar todos os registros.
|
||||
|
||||
Returns:
|
||||
Uma lista de dicionários contendo os dados dos registros.
|
||||
"""
|
||||
# Montagem do SQL
|
||||
sql = """ SELECT
|
||||
ta.ato_id,
|
||||
ta.PROTOCOLO ,
|
||||
ta.DATA_LAVRATURA,
|
||||
ta.FOLHA_INICIAL ,
|
||||
ta.FOLHA_FINAL
|
||||
FROM
|
||||
t_ato ta
|
||||
ORDER BY TA.ATO_ID ASC """
|
||||
|
||||
# Execução do sql
|
||||
response = self.fetch_all(sql)
|
||||
|
||||
# Retorna os dados localizados
|
||||
return response
|
||||
124
packages/v1/servicos/balcao/schemas/t_ato_schema.py
Normal file
124
packages/v1/servicos/balcao/schemas/t_ato_schema.py
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
from decimal import Decimal
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic.config import ConfigDict
|
||||
|
||||
|
||||
class TAtoIndexSchema(BaseModel):
|
||||
|
||||
class Config:
|
||||
extra = "allow"
|
||||
|
||||
|
||||
class TAtoSchema(BaseModel):
|
||||
ato_id: Optional[Decimal] = None
|
||||
ato_tipo_id: Optional[Decimal] = None
|
||||
escrevente_ato_id: Optional[Decimal] = None
|
||||
escrevente_assina_id: Optional[Decimal] = None
|
||||
livro_andamento_id: Optional[Decimal] = None
|
||||
|
||||
data_abertura: Optional[datetime] = None
|
||||
data_lavratura: Optional[datetime] = None
|
||||
data_protocolo: Optional[datetime] = None
|
||||
data_prevista_entrega: Optional[datetime] = None
|
||||
|
||||
usuario_id: Optional[Decimal] = None
|
||||
usuario_id_lavratura: Optional[Decimal] = None
|
||||
|
||||
protocolo: Optional[Decimal] = None
|
||||
|
||||
alienacao_data: Optional[datetime] = None
|
||||
alienacao_datalavratura: Optional[str] = None
|
||||
alienacao_forma: Optional[Decimal] = None
|
||||
|
||||
qualificacao_imovel_id: Optional[Decimal] = None
|
||||
|
||||
folha_inicial: Optional[Decimal] = None
|
||||
folha_final: Optional[Decimal] = None
|
||||
folha_total: Optional[Decimal] = None
|
||||
folha_letra: Optional[str] = None
|
||||
lado_folha_fim: Optional[str] = None
|
||||
|
||||
grs_numero: Optional[str] = None
|
||||
|
||||
texto: Optional[bytes] = None
|
||||
texto_finalizacao: Optional[bytes] = None
|
||||
texto_imovel_geral: Optional[bytes] = None
|
||||
texto_assinatura: Optional[bytes] = None
|
||||
|
||||
natureza_id: Optional[Decimal] = None
|
||||
valor_pagamento: Optional[Decimal] = None
|
||||
|
||||
situacao_ato: Optional[str] = None
|
||||
|
||||
cancelado_data: Optional[datetime] = None
|
||||
cancelado_motivo: Optional[str] = None
|
||||
cancelado_observacao: Optional[str] = None
|
||||
cancelado_usuario_id: Optional[Decimal] = None
|
||||
data_cancelamento: Optional[datetime] = None
|
||||
|
||||
ato_antigo: Optional[str] = None
|
||||
ato_antigo_ocorrencia: Optional[str] = None
|
||||
ato_antigo_protocolo: Optional[Decimal] = None
|
||||
|
||||
ato_anterior_origem: Optional[str] = None
|
||||
ato_anterior_livro: Optional[Decimal] = None
|
||||
ato_anterior_inicial: Optional[str] = None
|
||||
ato_anterior_ffinal: Optional[str] = None
|
||||
ato_anterior_tb_cartorio_id: Optional[Decimal] = None
|
||||
ato_anterior_outorgante: Optional[str] = None
|
||||
ato_anterior_observacao: Optional[str] = None
|
||||
ato_anterior_ato_id: Optional[Decimal] = None
|
||||
ato_anterior_data: Optional[datetime] = None
|
||||
ato_anterior_anotacao_adicional: Optional[bytes] = None
|
||||
ato_anterior_ato_tipo_id: Optional[Decimal] = None
|
||||
ato_anterior_valor_documento: Optional[Decimal] = None
|
||||
|
||||
cadastrar_imovel: Optional[str] = None
|
||||
qtd_imovel: Optional[Decimal] = None
|
||||
|
||||
minuta_protegida: Optional[str] = None
|
||||
havido_marcacao_id: Optional[Decimal] = None
|
||||
observacao: Optional[str] = None
|
||||
|
||||
selo_livro_id: Optional[Decimal] = None
|
||||
usar_tabela_auxiliar: Optional[str] = None
|
||||
|
||||
fonte_tamanho: Optional[Decimal] = None
|
||||
selo_recuo: Optional[Decimal] = None
|
||||
|
||||
filho_maior_qtd: Optional[Decimal] = None
|
||||
filho_maior_descricao: Optional[bytes] = None
|
||||
filho_menor_qtd: Optional[Decimal] = None
|
||||
filho_menor_descricao: Optional[bytes] = None
|
||||
|
||||
casamento_data: Optional[datetime] = None
|
||||
casamento_tb_regime_id: Optional[Decimal] = None
|
||||
|
||||
resp_filhos_maiores: Optional[str] = None
|
||||
resp_filhos_menores: Optional[str] = None
|
||||
|
||||
censec_naturezalitigio_id: Optional[Decimal] = None
|
||||
censec_acordo: Optional[str] = None
|
||||
|
||||
nlote: Optional[Decimal] = None
|
||||
especie_pagamento: Optional[str] = None
|
||||
fora_cartorio: Optional[str] = None
|
||||
|
||||
nfse_id: Optional[Decimal] = None
|
||||
acao: Optional[Decimal] = None
|
||||
|
||||
frente_verso: Optional[str] = None
|
||||
chave_importacao: Optional[Decimal] = None
|
||||
lavratura_online: Optional[str] = None
|
||||
|
||||
ativo: Optional[str] = None
|
||||
convalidacao: Optional[str] = None
|
||||
ato_oneroso: Optional[str] = None
|
||||
eh_restrito: Optional[str] = None
|
||||
|
||||
mne: Optional[str] = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
|
@ -52,7 +52,6 @@ class TServicoPedidoSchema(BaseModel):
|
|||
|
||||
class TServicoPedidoIdSchema(BaseModel):
|
||||
servico_pedido_id: Decimal
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
from fastapi import HTTPException, status
|
||||
from packages.v1.servicos.balcao.actions.t_ato.t_ato_index_action import TAtoIndexAction
|
||||
from packages.v1.servicos.balcao.schemas.t_ato_schema import TAtoIndexSchema
|
||||
|
||||
|
||||
class TAtoIndexService:
|
||||
"""
|
||||
Serviço responsável por encapsular a lógica de negócio para a operação
|
||||
de listagem de registros na tabela T_PESSOA_CARTAO.
|
||||
"""
|
||||
|
||||
def execute(self, t_ato_index_schema: TAtoIndexSchema):
|
||||
"""
|
||||
Executa a operação de busca de todos os registros no banco de dados.
|
||||
|
||||
Args:
|
||||
t_ato_index_schema (TAtoIndexSchema):
|
||||
Esquema que pode conter filtros ou parâmetros de busca.
|
||||
|
||||
Returns:
|
||||
A lista de registros encontrados.
|
||||
"""
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento da ação
|
||||
# ----------------------------------------------------
|
||||
t_ato_index_action = TAtoIndexAction()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução da ação
|
||||
# ----------------------------------------------------
|
||||
data = t_ato_index_action.execute(t_ato_index_schema)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Verificação de retorno
|
||||
# ----------------------------------------------------
|
||||
if not data:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail="Não foi possível localizar registros de T_PESSOA_CARTAO.",
|
||||
)
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Retorno da informação
|
||||
# ----------------------------------------------------
|
||||
return data
|
||||
Loading…
Add table
Reference in a new issue