Skip to content

feat: tela de novo parceiro, minuta de contrato em PDF, lotes na busca de item e menu Sanitização - #170

Merged
malacration merged 1 commit into
malacration:mainfrom
franciscoMarcello:feat/melhorias-comercial
Oct 26, 2026
Merged

malacration merged 1 commit into
malacration:mainfrom
franciscoMarcello:feat/melhorias-comercial

Conversation

@franciscoMarcello

@franciscoMarcello franciscoMarcello commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

O que muda

  • Busca (app-search) — não seleciona mais sozinha quando a busca volta um resultado só (proteção contra resposta atrasada mantida). Modal com título "Selecionar {nome}" (antes mostrava "Titulo" em todas as buscas; o title do item-search se perdia). Botões do app-modal-select com type="button" e campo standalone: dentro de um <form> a busca não envia o formulário nem compartilha controle com outra busca.
  • Menu Sanitização — Normalizar cadastros (/sanitizacao/cadastros) e Contratos de venda futura (/sanitizacao/contratos); rotas antigas em /configuracoes redirecionam.
  • Botão Lotes na busca de item da venda — modal só de leitura com os lotes do depósito padrão da filial e o total disponível (GET /batch-stock).
  • Tela Novo parceiro (botão em Clientes › Parceiro Negócio, rota clientes/parceiro-negocio/novo):
    • seções numeradas: identificação PF/PJ, contato e vendedor, endereço de entrega, cobrança (mesmo endereço ou outro), formas de pagamento, observação;
    • tipo de logradouro em lista fechada; busca de CEP no ViaCEP via HttpBackend (sem o token do app), município casado pelo código IBGE;
    • aviso antes de salvar sem vendedor; POST /business-partners/novo.
  • Minuta do contrato de venda futura (antes "CONTROLE DE PEDIDO"):
    • título MINUTA DE CONTRATO e cláusulas tratando o documento como contrato;
    • dados da negociação: produtos (saía em dólar), frete, total, forma de pagamento e parcelamento (GET /contrato-venda-futura/{id}/negociacao);
    • download direto em PDF de uma página, Minuta de contrato {número} - {cliente}.pdf (antes abria o HTML numa aba);
    • endereço de entrega e CPF/CNPJ do cliente preenchidos; botão bloqueado até os dados carregarem; erros em alerta.
  • StateService — URL montada no construtor (ficava presa em localhost:8080, já que serviço não roda ngOnInit).

Depende do PR irmão no sap-service: malacration/sap-service#301.

Testes

  • Specs das telas alteradas: busca, item/lotes, novo parceiro, CEP, minuta, PDF, menu e guards — todas passando; ng build ok.
  • Os 4 specs de CalculadoraStatementComponent já falham no main atual (sem relação).
  • Revisado com o Codex em várias rodadas até não restarem achados.

🤖 Generated with Claude Code

…a de item e menu Sanitizacao

- Busca (app-search): nao seleciona mais sozinha quando volta um resultado so; protecao contra
  resposta atrasada mantida. Modal com titulo "Selecionar {nome}" (antes "Titulo" em todas) e o
  title de item-search finalmente chega ao modal. Botoes do modal-select com type=button e input
  standalone: dentro de form, a busca nao envia o formulario nem divide controle com outra busca.
- Menu Sanitizacao: Normalizar cadastros e Contratos de venda futura; rotas antigas redirecionam.
- Botao Lotes na busca de item da venda: modal so de leitura com os lotes do deposito padrao da
  filial e o total disponivel (GET /batch-stock existente).
- Tela Novo parceiro (botao em Parceiro de Negocio): identificacao PF/PJ, contato e vendedor (aviso
  quando fica sem vendedor), endereco de entrega e cobranca opcional, tipo de logradouro, busca de
  CEP no ViaCEP (sem os interceptadores do app) casando o municipio pelo codigo IBGE, e formas de
  pagamento liberadas. POST /business-partners/novo.
- Minuta de contrato de venda futura: titulo MINUTA DE CONTRATO, clausulas como contrato, dados da
  negociacao (produtos, frete, total, forma de pagamento, parcelamento; produtos saia em dolar),
  download em PDF de uma pagina "Minuta de contrato {numero} - {cliente}.pdf", endereco de entrega e
  CPF/CNPJ do cliente preenchidos, botao bloqueado ate os dados carregarem e erro em alerta.
- StateService: URL montada no construtor (ficava presa em localhost:8080).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@malacration
malacration merged commit 13d230a into malacration:main Oct 26, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants