Fluxo: cadastrar prótese

Da abertura do modal até a gravação em `proteses` e recarga da listagem.

Entrada: sistema/painel/paginas/proteses.php Tabelas: proteses, clientes, fornecedores Ator: Profissional logado no painel administrativo.

Cadeia de chamada

proteses.php -> listarProteses() -> paginas/proteses/listar.php
proteses.php -> inserir() -> modal #modalForm
submit #form_protese -> paginas/proteses/salvar.php
sucesso -> listarProteses() -> paginas/proteses/listar.php
Esta seção responde à pergunta central de manutenção: qual arquivo chama qual arquivo dentro deste fluxo.

Arquivos envolvidos

ArquivoPapel dentro do fluxo
sistema/painel/paginas/proteses.phpTela principal, modal de cadastro, JS de listagem e submit.
sistema/painel/paginas/proteses/listar.phpConsulta SQL, paginação e HTML da tabela.
sistema/painel/paginas/proteses/salvar.phpValidação e INSERT/UPDATE em `proteses`.
sistema/painel/paginas/proteses/excluir.phpExclusão direta do registro.

Passo a passo

EtapaO que acontece
1. Entrada na telaO painel carrega `proteses.php`, valida sessão/permissão e renderiza botão, busca e `<div id="listar">`.
2. Listagem inicialNo `$(document).ready`, a função `listarProteses()` dispara AJAX para `paginas/proteses/listar.php`.
3. Abertura do cadastroAo clicar em “Nova Prótese”, `inserir()` limpa campos, ajusta o título e abre o modal `#modalForm`.
4. Envio do formulárioO submit de `#form_protese` monta `FormData` e envia para `paginas/proteses/salvar.php`.
5. Persistência`salvar.php` valida campos obrigatórios, verifica duplicidade e decide entre INSERT ou UPDATE na tabela `proteses`.
6. Pós-sucessoSe a resposta for `Salvo com Sucesso`, o modal fecha e a listagem é recarregada chamando `listarProteses(pagina)`.
7. ExclusãoNa tabela listada, a ação de excluir envia `id` para `paginas/proteses/excluir.php` e recarrega a grade.

Entradas

EntradaOrigem/uso
clienteID do cliente
modeloModelo da prótese
corCódigo/cor textual
densidadeDensidade técnica
tamanhoMedida
fornecedorID do fornecedor
observacoesNotas livres

Saídas

SaídaDestino
Sucesso textual`Salvo com Sucesso` ou `Excluído com Sucesso`
HTMLListagem paginada renderizada por `listar.php`

Pontos críticos de manutenção

  • Em `proteses.php` ainda existe `qs_loja`, resquício de outra lógica. Em domínio único ele pode ser removido para evitar confusão.
  • `excluir.php` usa interpolação direta do `id` no DELETE, o que merece endurecimento com `prepare`.
  • O CRUD depende do retorno textual exato `Salvo com Sucesso`; se isso mudar no backend, o frontend quebra silenciosamente.

Abrir a camada linha por linha

Use estes links quando já souber qual arquivo do fluxo precisa ser alterado e quiser leitura minuciosa do código.