sistema/painel/paginas/manutencoes/salvar.php
Endpoint que grava manutenção, calcula próxima manutenção e guarda dados técnicos da aplicação.
Endpoint que grava manutenção, calcula próxima manutenção e guarda dados técnicos da aplicação.
Dependências observadas:
Conexão PDO / configurações globaisBanco de dados
Endpoint AJAX de persistência
Manutenções
148
| Linha | Código | Explicação técnica |
|---|---|---|
| 1 | <?php | Abre um bloco PHP. A partir daqui o arquivo passa a executar lógica no servidor. |
| 2 | require_once("../../../conexao.php"); | Importa `../../../conexao.php` para disponibilizar conexão, sessão, funções utilitárias ou validações necessárias ao restante do fluxo. |
| 3 | $tabela = 'manutencoes_protese'; | Centraliza o nome da tabela `manutencoes_protese` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 4 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 5 | $id = @$_POST['id']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 6 | $cliente = @$_POST['cliente']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 7 | $id_protese = @$_POST['id_protese']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 8 | $data_manutencao = @$_POST['data_manutencao']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 9 | $tipo = @$_POST['tipo']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 10 | $produtos_utilizados = @$_POST['produtos_utilizados']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 11 | $observacoes = @$_POST['observacoes']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 12 | $proxima_manutencao = @$_POST['proxima_manutencao']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 13 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 14 | $tipo_pele = @$_POST['tipo_pele']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 15 | $nivel_sudorese = @$_POST['nivel_sudorese']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 16 | $clima = @$_POST['clima']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 17 | $tipo_adesivo = @$_POST['tipo_adesivo']; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 18 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 19 | if($cliente == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 20 | echo 'Selecione um Cliente'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 21 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 22 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 23 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 24 | if($id_protese == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 25 | echo 'Selecione uma Prótese'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 26 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 27 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 28 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 29 | if($data_manutencao == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 30 | echo 'Informe a Data da Manutenção'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 31 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 32 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 33 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 34 | /* | Comentário do código. Serve para contextualizar o bloco seguinte para quem fizer manutenção. |
| 35 | Se a próxima manutenção vier em branco, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 36 | o sistema calcula automaticamente com base no perfil técnico | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 37 | */ | Comentário do código. Serve para contextualizar o bloco seguinte para quem fizer manutenção. |
| 38 | if($proxima_manutencao == "" && $data_manutencao != ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 39 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 40 | $dias_manutencao = 15; | Define a variável `$dias_manutencao`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 41 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 42 | // Tipo de pele | Comentário do código. Serve para contextualizar o bloco seguinte para quem fizer manutenção. |
| 43 | if($tipo_pele == 'Oleosa'){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 44 | $dias_manutencao -= 3; | Manipula uma variável PHP usada na construção do fluxo. |
| 45 | }else if($tipo_pele == 'Seca'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 46 | $dias_manutencao += 2; | Manipula uma variável PHP usada na construção do fluxo. |
| 47 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 48 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 49 | // Nível de sudorese | Comentário do código. Serve para contextualizar o bloco seguinte para quem fizer manutenção. |
| 50 | if($nivel_sudorese == '1'){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 51 | $dias_manutencao += 2; | Manipula uma variável PHP usada na construção do fluxo. |
| 52 | }else if($nivel_sudorese == '2'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 53 | $dias_manutencao += 1; | Manipula uma variável PHP usada na construção do fluxo. |
| 54 | }else if($nivel_sudorese == '4'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 55 | $dias_manutencao -= 2; | Manipula uma variável PHP usada na construção do fluxo. |
| 56 | }else if($nivel_sudorese == '5'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 57 | $dias_manutencao -= 4; | Manipula uma variável PHP usada na construção do fluxo. |
| 58 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 59 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 60 | // Clima | Comentário do código. Serve para contextualizar o bloco seguinte para quem fizer manutenção. |
| 61 | if($clima == 'Frio'){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 62 | $dias_manutencao += 2; | Manipula uma variável PHP usada na construção do fluxo. |
| 63 | }else if($clima == 'Quente'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 64 | $dias_manutencao -= 2; | Manipula uma variável PHP usada na construção do fluxo. |
| 65 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 66 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 67 | // Tipo de adesivo | Comentário do código. Serve para contextualizar o bloco seguinte para quem fizer manutenção. |
| 68 | if($tipo_adesivo == 'Ultra Hold'){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 69 | $dias_manutencao += 4; | Manipula uma variável PHP usada na construção do fluxo. |
| 70 | }else if($tipo_adesivo == 'Gold / Amarela'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 71 | $dias_manutencao += 2; | Manipula uma variável PHP usada na construção do fluxo. |
| 72 | }else if($tipo_adesivo == 'No-Shine'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 73 | $dias_manutencao += 1; | Manipula uma variável PHP usada na construção do fluxo. |
| 74 | }else if($tipo_adesivo == 'Fita Branca'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 75 | $dias_manutencao += 0; | Manipula uma variável PHP usada na construção do fluxo. |
| 76 | }else if($tipo_adesivo == 'Cola Acrílica'){ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 77 | $dias_manutencao += 3; | Manipula uma variável PHP usada na construção do fluxo. |
| 78 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 79 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 80 | // Limite mínimo para não gerar data muito curta | Comentário do código. Serve para contextualizar o bloco seguinte para quem fizer manutenção. |
| 81 | if($dias_manutencao < 5){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 82 | $dias_manutencao = 5; | Define a variável `$dias_manutencao`, que será usada pelo restante do arquivo para controlar dados, estado ou resposta. |
| 83 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 84 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 85 | $proxima_manutencao = date('Y-m-d', strtotime("+$dias_manutencao days", strtotime($data_manutencao))); | Inicializa `$proxima_manutencao` com uma data calculada em runtime, usada no controle temporal do fluxo. |
| 86 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 87 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 88 | $query = $pdo->prepare("SELECT * FROM $tabela WHERE cliente = :cliente AND id_protese = :id_protese AND data_manutencao = :data_manutencao"); | Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 89 | $query->bindValue(":cliente", $cliente); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 90 | $query->bindValue(":id_protese", $id_protese); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 91 | $query->bindValue(":data_manutencao", $data_manutencao); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 92 | $query->execute(); | Executa a query preparada no banco de dados. |
| 93 | $res = $query->fetchAll(PDO::FETCH_ASSOC); | Lê o resultado retornado pelo banco e o converte para uma estrutura PHP que o restante do arquivo consegue consumir. |
| 94 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 95 | if(@count($res) > 0 and $id != $res[0]['id']){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 96 | echo 'Registro já Cadastrado, escolha outro!!'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 97 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 98 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 99 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 100 | if($id == ""){ | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 101 | $query = $pdo->prepare("INSERT INTO $tabela SET | Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 102 | cliente = :cliente, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 103 | id_protese = :id_protese, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 104 | data_manutencao = :data_manutencao, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 105 | tipo = :tipo, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 106 | produtos_utilizados = :produtos_utilizados, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 107 | observacoes = :observacoes, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 108 | proxima_manutencao = :proxima_manutencao, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 109 | tipo_pele = :tipo_pele, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 110 | nivel_sudorese = :nivel_sudorese, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 111 | clima = :clima, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 112 | tipo_adesivo = :tipo_adesivo, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 113 | alerta_manutencao_enviado = 0, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 114 | data_alerta_manutencao = NULL"); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 115 | }else{ | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 116 | $query = $pdo->prepare("UPDATE $tabela SET | Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 117 | cliente = :cliente, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 118 | id_protese = :id_protese, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 119 | data_manutencao = :data_manutencao, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 120 | tipo = :tipo, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 121 | produtos_utilizados = :produtos_utilizados, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 122 | observacoes = :observacoes, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 123 | proxima_manutencao = :proxima_manutencao, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 124 | tipo_pele = :tipo_pele, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 125 | nivel_sudorese = :nivel_sudorese, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 126 | clima = :clima, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 127 | tipo_adesivo = :tipo_adesivo, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 128 | alerta_manutencao_enviado = 0, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 129 | data_alerta_manutencao = NULL | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 130 | WHERE id = :id"); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 131 | $query->bindValue(":id", $id); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 132 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 133 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 134 | $query->bindValue(":cliente", $cliente); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 135 | $query->bindValue(":id_protese", $id_protese); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 136 | $query->bindValue(":data_manutencao", $data_manutencao); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 137 | $query->bindValue(":tipo", $tipo); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 138 | $query->bindValue(":produtos_utilizados", $produtos_utilizados); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 139 | $query->bindValue(":observacoes", $observacoes); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 140 | $query->bindValue(":proxima_manutencao", $proxima_manutencao); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 141 | $query->bindValue(":tipo_pele", $tipo_pele); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 142 | $query->bindValue(":nivel_sudorese", $nivel_sudorese); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 143 | $query->bindValue(":clima", $clima); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 144 | $query->bindValue(":tipo_adesivo", $tipo_adesivo); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 145 | $query->execute(); | Executa a query preparada no banco de dados. |
| 146 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 147 | echo 'Salvo com Sucesso'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 148 | ?> | Fecha o bloco PHP atual para voltar à saída HTML. |