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 t_pessoa_representante_endpoint
|
||||||
from packages.v1.administrativo.endpoints import g_calculo_endpoint
|
from packages.v1.administrativo.endpoints import g_calculo_endpoint
|
||||||
from packages.v1.servicos.balcao.endpoints import (
|
from packages.v1.servicos.balcao.endpoints import (
|
||||||
|
t_ato_endpoint,
|
||||||
t_pessoa_cartao_endpoint,
|
t_pessoa_cartao_endpoint,
|
||||||
t_servico_itempedido_endpoint,
|
t_servico_itempedido_endpoint,
|
||||||
t_servico_pedido_endpoint,
|
t_servico_pedido_endpoint,
|
||||||
|
|
@ -369,6 +370,13 @@ api_router.include_router(
|
||||||
tags=["Pessoa Cartao"],
|
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
|
# Inclui as rotas de g_emolumento periodo
|
||||||
api_router.include_router(
|
api_router.include_router(
|
||||||
t_biometria_pessoa_endpoint.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):
|
class TServicoPedidoIdSchema(BaseModel):
|
||||||
servico_pedido_id: Decimal
|
servico_pedido_id: Decimal
|
||||||
|
|
||||||
model_config = ConfigDict(from_attributes=True)
|
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