[MVPTN-126] fix(Importação): Corrige a importação de pacotes
This commit is contained in:
parent
4485488ef4
commit
42d76991b0
32 changed files with 136 additions and 69 deletions
|
|
@ -1,7 +1,10 @@
|
|||
from typing import Tuple, Dict, Any
|
||||
from pydantic import BaseModel
|
||||
|
||||
def prepare_update_data(schema: BaseModel, exclude_fields: list[str] = None, id_field: str = "id") -> Tuple[Dict[str, Any], str]:
|
||||
|
||||
def prepare_update_data(
|
||||
schema: BaseModel, exclude_fields: list[str] = None, id_field: str = "id"
|
||||
) -> Tuple[Dict[str, Any], str]:
|
||||
"""
|
||||
Gera dinamicamente os dados e SQL para update com base em um schema Pydantic.
|
||||
|
||||
|
|
@ -21,11 +24,7 @@ def prepare_update_data(schema: BaseModel, exclude_fields: list[str] = None, id_
|
|||
data_dict = schema.model_dump(exclude_unset=True)
|
||||
|
||||
# Monta lista dinâmica de campos para o SET
|
||||
update_fields = [
|
||||
f"{k} = :{k}"
|
||||
for k in data_dict.keys()
|
||||
if k not in exclude_fields
|
||||
]
|
||||
update_fields = [f"{k} = :{k}" for k in data_dict.keys() if k not in exclude_fields]
|
||||
|
||||
update_sql = ", ".join(update_fields)
|
||||
return data_dict, update_sql
|
||||
return data_dict, update_sql
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from api.abstracts.action import BaseAction
|
||||
from abstracts.action import BaseAction
|
||||
from packages.v1.administrativo.repositories.t_pessoa_representante.t_pessoa_representante_index_repository import (
|
||||
TPessoaRepresentanteIndexRepository,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from api.abstracts.action import BaseAction
|
||||
from abstracts.action import BaseAction
|
||||
from packages.v1.administrativo.repositories.t_pessoa_representante.t_pessoa_representante_update_repository import (
|
||||
TPessoaRepresentanteUpdateRepository,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.generate_insert_sql import generate_insert_sql
|
||||
from actions.data.generate_insert_sql import generate_insert_sql
|
||||
from packages.v1.administrativo.schemas.g_cartorio_schema import GCartorioSaveSchema
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.g_cartorio_schema import GCartorioUpdateSchema
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.generate_insert_sql import generate_insert_sql
|
||||
from actions.data.generate_insert_sql import generate_insert_sql
|
||||
from packages.v1.administrativo.schemas.g_emolumento_schema import GEmolumentoSaveSchema
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.g_emolumento_schema import (
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.generate_insert_sql import generate_insert_sql
|
||||
from actions.data.generate_insert_sql import generate_insert_sql
|
||||
from packages.v1.administrativo.schemas.g_emolumento_item_schema import (
|
||||
GEmolumentoItemSaveSchema,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.g_emolumento_item_schema import (
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.generate_insert_sql import generate_insert_sql
|
||||
from actions.data.generate_insert_sql import generate_insert_sql
|
||||
from packages.v1.administrativo.schemas.g_emolumento_periodo_schema import (
|
||||
GEmolumentoPeriodoSaveSchema,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.g_emolumento_periodo_schema import (
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.generate_insert_sql import generate_insert_sql
|
||||
from actions.data.generate_insert_sql import generate_insert_sql
|
||||
from packages.v1.administrativo.schemas.g_gramatica_schema import GGramaticaSaveSchema
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.g_gramatica_schema import GGramaticaUpdateSchema
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.generate_insert_sql import generate_insert_sql
|
||||
from actions.data.generate_insert_sql import generate_insert_sql
|
||||
from packages.v1.administrativo.schemas.g_natureza_titulo_schema import (
|
||||
GNaturezaTituloSaveSchema,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.g_natureza_titulo_schema import (
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.generate_insert_sql import generate_insert_sql
|
||||
from actions.data.generate_insert_sql import generate_insert_sql
|
||||
from packages.v1.administrativo.schemas.g_selo_grupo_schema import GSeloGrupoSaveSchema
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.g_selo_grupo_schema import (
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from packages.v1.administrativo.schemas.t_ato_partetipo_schema import TAtoParteTipoUpdateSchema
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from packages.v1.administrativo.schemas.t_ato_partetipo_schema import (
|
||||
TAtoParteTipoUpdateSchema,
|
||||
)
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
|
||||
|
|
@ -9,11 +11,11 @@ class TAtoParteTipoUpdateRepository(BaseRepository):
|
|||
def execute(self, t_ato_partetipo_update_schema: TAtoParteTipoUpdateSchema):
|
||||
|
||||
try:
|
||||
|
||||
|
||||
params, update_columns = prepare_update_data(
|
||||
t_ato_partetipo_update_schema,
|
||||
exclude_fields=["ato_partipo_id"],
|
||||
id_field="ato_partipo_id"
|
||||
id_field="ato_partipo_id",
|
||||
)
|
||||
|
||||
sql = f"""
|
||||
|
|
@ -38,5 +40,5 @@ class TAtoParteTipoUpdateRepository(BaseRepository):
|
|||
except Exception as e:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail=f"Erro ao atualizar o imóvel: {str(e)}"
|
||||
detail=f"Erro ao atualizar o imóvel: {str(e)}",
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
from packages.v1.administrativo.schemas.t_censec_qualidadeato_schema import (
|
||||
TCensecQualidadeAtoUpdateSchema,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.t_censec_tipoato_schema import (
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
from packages.v1.administrativo.schemas.t_censec_tiponatureza_schema import (
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from packages.v1.administrativo.schemas.t_imovel_schema import TImovelUpdateSchema
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
|
|
@ -9,11 +9,11 @@ class TImovelUpdateRepository(BaseRepository):
|
|||
def execute(self, t_imovel_update_schema: TImovelUpdateSchema):
|
||||
|
||||
try:
|
||||
|
||||
|
||||
params, update_columns = prepare_update_data(
|
||||
t_imovel_update_schema,
|
||||
exclude_fields=["imovel_id"],
|
||||
id_field="imovel_id"
|
||||
id_field="imovel_id",
|
||||
)
|
||||
|
||||
sql = f"""
|
||||
|
|
@ -31,5 +31,5 @@ class TImovelUpdateRepository(BaseRepository):
|
|||
except Exception as e:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail=f"Erro ao atualizar o imóvel: {str(e)}"
|
||||
detail=f"Erro ao atualizar o imóvel: {str(e)}",
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
from abstracts.repository import BaseRepository
|
||||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from packages.v1.administrativo.schemas.t_imovel_unidade_schema import TImovelUnidadeUpdateSchema
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from packages.v1.administrativo.schemas.t_imovel_unidade_schema import (
|
||||
TImovelUnidadeUpdateSchema,
|
||||
)
|
||||
from fastapi import HTTPException, status
|
||||
|
||||
|
||||
class TImovelUnidadeUpdateRepository(BaseRepository):
|
||||
"""
|
||||
Repositório para a operação de atualização na tabela T_CENSEC_QUALIDADE.
|
||||
|
|
@ -11,39 +14,39 @@ class TImovelUnidadeUpdateRepository(BaseRepository):
|
|||
def execute(self, t_imovel_unidade_update_schema: TImovelUnidadeUpdateSchema):
|
||||
"""
|
||||
Executa a atualização de um registro na tabela.
|
||||
|
||||
|
||||
Args:
|
||||
t_imovel_unidade_id (int): O ID do registro a ser atualizado.
|
||||
t_imovel_unidade_schema (TImovelUnidadeUpdateSchema): O esquema com os dados a serem atualizados.
|
||||
|
||||
Returns:
|
||||
O registro atualizado.
|
||||
|
||||
|
||||
Raises:
|
||||
HTTPException: Se o registro não for encontrado ou ocorrer um erro na atualização.
|
||||
"""
|
||||
try:
|
||||
|
||||
|
||||
params, update_columns = prepare_update_data(
|
||||
t_imovel_unidade_update_schema,
|
||||
exclude_fields=["imovel_unidade_id"],
|
||||
id_field="imovel_unidade_id"
|
||||
id_field="imovel_unidade_id",
|
||||
)
|
||||
|
||||
sql = f"""
|
||||
UPDATE T_IMOVEL_UNIDADE
|
||||
SET {update_columns}
|
||||
WHERE IMOVEL_UNIDADE_ID = :imovel_unidade_id
|
||||
RETURNING IMOVEL_UNIDADE_ID
|
||||
RETURNING IMOVEL_UNIDADE_ID
|
||||
"""
|
||||
|
||||
# Executa o update
|
||||
|
||||
# Executa o update
|
||||
response = self.run_and_return(sql, params)
|
||||
|
||||
return response
|
||||
|
||||
|
||||
except Exception as e:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
detail=f"Erro ao atualizar o imóvel unidade: {str(e)}"
|
||||
)
|
||||
detail=f"Erro ao atualizar o imóvel unidade: {str(e)}",
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from api.actions.data.prepare_update_data import prepare_update_data
|
||||
from actions.data.prepare_update_data import prepare_update_data
|
||||
from packages.v1.administrativo.schemas.t_pessoa_schema import TPessoaSaveSchema
|
||||
from fastapi import HTTPException, status
|
||||
from abstracts.repository import BaseRepository
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from api.actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from packages.v1.administrativo.actions.t_censec_qualidadeato.t_censec_qualidadeato_save_action import (
|
||||
TCensecQualidadeAtoSaveAction,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
from api.actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from packages.v1.administrativo.actions.t_censec_tipoato.t_censec_tipoato_save_action import (
|
||||
TCensecTipoAtoSaveAction,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
from datetime import datetime
|
||||
from api.actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from actions.dynamic_import.dynamic_import import DynamicImport
|
||||
from packages.v1.administrativo.actions.t_imovel.t_imovel_save_action import (
|
||||
TImovelSaveAction,
|
||||
)
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ class TServicoPedidoUpdateRepository(BaseRepository):
|
|||
# ----------------------------------------------------
|
||||
params, update_columns = prepare_update_data(
|
||||
t_servico_pedido_update_schema,
|
||||
exclude_fields=["servico_pedido_id"],
|
||||
exclude_fields=["servico_pedido_id", "itens"],
|
||||
id_field="servico_pedido_id",
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,33 @@
|
|||
from pydantic import BaseModel
|
||||
from typing import Optional, List
|
||||
from typing import Annotated, Optional, List
|
||||
from decimal import Decimal
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic.functional_validators import BeforeValidator
|
||||
|
||||
from packages.v1.servicos.balcao.schemas.t_servico_itempedido_schema import (
|
||||
TServicoItemPedidoSchema,
|
||||
)
|
||||
|
||||
|
||||
# ---------- Utilidades ----------
|
||||
def _zero_to_none(v):
|
||||
# Trate 0, 0.0, "0", "" como None
|
||||
return None if v in (0, 0.0, "0", "", None) else v
|
||||
|
||||
|
||||
def _to_decimal(v):
|
||||
if v in (None, "", "0", 0, 0.0):
|
||||
return Decimal("0") # ou None, se preferir
|
||||
# Sempre usar str para evitar floating point issues
|
||||
return Decimal(str(v))
|
||||
|
||||
|
||||
ZeroNoneInt = Annotated[Optional[int], BeforeValidator(_zero_to_none)]
|
||||
Money = Annotated[Optional[Decimal], BeforeValidator(_to_decimal)]
|
||||
Fk = ZeroNoneInt # só para semântica
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Schema base - representa a tabela T_SERVICO_PEDIDO
|
||||
# ----------------------------------------------------
|
||||
|
|
@ -51,13 +71,13 @@ class TServicoPedidoSaveSchema(BaseModel):
|
|||
valor_pago: Optional[Decimal] = None
|
||||
usuario_id: Optional[Decimal] = None
|
||||
data_pedido: Optional[datetime] = None
|
||||
mensalista_livrocaixa_id: Optional[Decimal] = None
|
||||
mensalista_livrocaixa_id: Fk = None
|
||||
observacao: Optional[str] = None
|
||||
escrevente_id: Optional[Decimal] = None
|
||||
situacao: Optional[str] = None
|
||||
estornado: Optional[str] = None
|
||||
apresentante: Optional[str] = None
|
||||
nfse_id: Optional[Decimal] = None
|
||||
nfse_id: Fk = None
|
||||
chave_importacao: Optional[Decimal] = None
|
||||
cpfcnpj_apresentante: Optional[str] = None
|
||||
itens: Optional[List[TServicoItemPedidoSchema]] = None
|
||||
|
|
@ -76,15 +96,16 @@ class TServicoPedidoUpdateSchema(BaseModel):
|
|||
valor_pago: Optional[Decimal] = None
|
||||
usuario_id: Optional[Decimal] = None
|
||||
data_pedido: Optional[datetime] = None
|
||||
mensalista_livrocaixa_id: Optional[Decimal] = None
|
||||
mensalista_livrocaixa_id: Fk = None
|
||||
observacao: Optional[str] = None
|
||||
escrevente_id: Optional[Decimal] = None
|
||||
situacao: Optional[str] = None
|
||||
estornado: Optional[str] = None
|
||||
apresentante: Optional[str] = None
|
||||
nfse_id: Optional[Decimal] = None
|
||||
nfse_id: Fk = None
|
||||
chave_importacao: Optional[Decimal] = None
|
||||
cpfcnpj_apresentante: Optional[str] = None
|
||||
itens: Optional[List[TServicoItemPedidoSchema]] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class TServicoItemPedidoSaveService:
|
|||
# Geração automática de ID (sequência)
|
||||
# ----------------------------------------------------
|
||||
if not t_servico_itempedido_save_schema.servico_itempedido_id:
|
||||
|
||||
# Cria o schema de sequência
|
||||
sequencia_schema = GSequenciaSchema()
|
||||
sequencia_schema.tabela = "T_SERVICO_ITEMPEDIDO"
|
||||
|
|
|
|||
|
|
@ -47,11 +47,6 @@ class TServicoPedidoSaveService:
|
|||
# Atualiza o ID no schema
|
||||
t_servico_pedido_save_schema.servico_pedido_id = sequencia.sequencia
|
||||
|
||||
# Verifica se tem a data do pedido
|
||||
if not t_servico_pedido_save_schema.data_pedido:
|
||||
|
||||
t_servico_pedido_save_schema.data_pedido = datetime.now()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Instanciamento e execução da Action de salvamento
|
||||
# ----------------------------------------------------
|
||||
|
|
@ -60,21 +55,26 @@ class TServicoPedidoSaveService:
|
|||
# Obtenho a resposta da operação
|
||||
response = t_servico_pedido_save_action.execute(t_servico_pedido_save_schema)
|
||||
|
||||
# Verifica se tem a data do pedido
|
||||
if not t_servico_pedido_save_schema.data_pedido:
|
||||
|
||||
t_servico_pedido_save_schema.data_pedido = datetime.now()
|
||||
|
||||
# Verifica se o pedido foi salvo
|
||||
if (
|
||||
response.servico_pedido_id > 0
|
||||
and len(t_servico_pedido_save_schema.itens) > 0
|
||||
):
|
||||
|
||||
# Import a classe de salvar os intes
|
||||
t_servico_itempedido_service = TServicoItemPedidoSaveService()
|
||||
|
||||
# Percorre todos os itens salvos
|
||||
for item in t_servico_pedido_save_schema.itens:
|
||||
|
||||
# Define o id do item do serviço
|
||||
item.servico_pedido_id = response.servico_pedido_id
|
||||
|
||||
# Import a classe de salvar os intes
|
||||
t_servico_itempedido_service = TServicoItemPedidoSaveService()
|
||||
|
||||
# Salva o item do pedido
|
||||
t_servico_itempedido_service.execute(item)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,16 @@
|
|||
from datetime import datetime
|
||||
from packages.v1.servicos.balcao.actions.t_servico_pedido.t_servico_pedido_update_action import (
|
||||
TServicoPedidoUpdateAction,
|
||||
)
|
||||
from packages.v1.servicos.balcao.schemas.t_servico_pedido_schema import (
|
||||
TServicoPedidoUpdateSchema,
|
||||
)
|
||||
from packages.v1.servicos.balcao.services.t_servico_itempedido.go.t_servico_itempedido_save_service import (
|
||||
TServicoItemPedidoSaveService,
|
||||
)
|
||||
from packages.v1.servicos.balcao.services.t_servico_itempedido.go.t_servico_itempedido_update_service import (
|
||||
TServicoItemPedidoUpdateService,
|
||||
)
|
||||
|
||||
|
||||
class TServicoPedidoUpdateService:
|
||||
|
|
@ -28,7 +35,41 @@ class TServicoPedidoUpdateService:
|
|||
# ----------------------------------------------------
|
||||
t_servico_pedido_update_action = TServicoPedidoUpdateAction()
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Execução da ação e retorno do resultado
|
||||
# ----------------------------------------------------
|
||||
return t_servico_pedido_update_action.execute(t_servico_pedido_update_schema)
|
||||
# Obtenho a resposta da operação
|
||||
response = t_servico_pedido_update_action.execute(
|
||||
t_servico_pedido_update_schema
|
||||
)
|
||||
|
||||
# Verifica se tem a data do pedido
|
||||
if not t_servico_pedido_update_schema.data_pedido:
|
||||
|
||||
t_servico_pedido_update_schema.data_pedido = datetime.now()
|
||||
|
||||
# Verifica se o pedido foi salvo
|
||||
if (
|
||||
response.servico_pedido_id > 0
|
||||
and len(t_servico_pedido_update_schema.itens) > 0
|
||||
):
|
||||
|
||||
# Percorre todos os itens salvos
|
||||
for item in t_servico_pedido_update_schema.itens:
|
||||
|
||||
# Define o id do item do serviço
|
||||
item.servico_pedido_id = response.servico_pedido_id
|
||||
|
||||
t_servico_itempedido_service = None
|
||||
|
||||
if item.servico_itempedido_id:
|
||||
|
||||
# Import a classe de salvar os intes
|
||||
t_servico_itempedido_service = TServicoItemPedidoUpdateService()
|
||||
|
||||
else:
|
||||
|
||||
# Import a classe de atualizar os itens
|
||||
t_servico_itempedido_service = TServicoItemPedidoSaveService()
|
||||
|
||||
# Salva o item do pedido
|
||||
t_servico_itempedido_service.execute(item)
|
||||
|
||||
return response
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue