D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
www
/
html
/
crsys
/
adm
/
vendor
/
api
/
Filename :
gravaAutorizacao_1.php
back
Copy
<?php header('Content-Type: application/json'); include_once "ConectaPdo.php"; try { /* =============================== RECEBE POST ================================ */ $empr_id = $_POST['empr_id'] ?? null; $orca_id = $_POST['orca_id'] ?? null; $num_revisao = $_POST['num_revisao'] ?? null; $usu_id = $_POST['usu_id'] ?? null; $usu_nome = $_POST['usu_nome'] ?? null; $vlr_solicitado = $_POST['vlr_solicitado'] ?? null; if ($empr_id === null || $orca_id === null || $num_revisao === null) { throw new Exception('Parâmetros obrigatórios não informados'); } /* =============================== VERIFICA SE JÁ EXISTE SOLICITAÇÃO ================================ */ $sqlExiste = " SELECT 1 FROM gre_pedido_autorizacao WHERE empr_id = :empr_id AND orca_id = :orca_id AND num_revisao = :num_revisao LIMIT 1 "; $stmtExiste = $pdo->prepare($sqlExiste); $stmtExiste->execute([ ':empr_id' => $empr_id, ':orca_id' => $orca_id, ':num_revisao' => $num_revisao ]); if ($stmtExiste->fetch()) { echo json_encode([ 'status' => 'exists', 'msg' => 'Já existe solicitação pendente' ]); exit; } /* =============================== BUSCA CABEÇALHO ================================ */ $sqlCab = " SELECT empr_id, orca_id, num_revisao, nome_cliente, vend AS vend_id, obra, vlr_desc AS vlr_desc_atual, vlr_total FROM gre_cab_orcamento WHERE empr_id = :empr_id AND orca_id = :orca_id AND num_revisao = :num_revisao LIMIT 1 "; $stmtCab = $pdo->prepare($sqlCab); $stmtCab->execute([ ':empr_id' => $empr_id, ':orca_id' => $orca_id, ':num_revisao' => $num_revisao ]); $cab = $stmtCab->fetch(PDO::FETCH_ASSOC); if (!$cab) { throw new Exception('Orçamento não encontrado'); } /* =============================== DADOS AUXILIARES ================================ */ date_default_timezone_set("America/Sao_Paulo"); $data_solicitacao = date('Y-m-d H:i:s'); if ($vlr_solicitado !== null) { $vlr_solicitado = str_replace(['.', ','], ['', '.'], $vlr_solicitado); } $chave = md5( $cab['empr_id'] . $cab['orca_id'] . $cab['num_revisao'] . $data_solicitacao . uniqid() ); /* =============================== INSERT ================================ */ $sqlInsert = " INSERT INTO gre_pedido_autorizacao ( empr_id, orca_id, num_revisao, nome_cliente, vend_id, obra, vlr_desc_atual, vlr_total, vlr_solicitado, usu_id, usu_nome, data_solicitacao, chave ) VALUES ( :empr_id, :orca_id, :num_revisao, :nome_cliente, :vend_id, :obra, :vlr_desc_atual, :vlr_total, :vlr_solicitado, :usu_id, :usu_nome, :data_solicitacao, :chave ) "; $stmtInsert = $pdo->prepare($sqlInsert); $ok = $stmtInsert->execute([ ':empr_id' => $cab['empr_id'], ':orca_id' => $cab['orca_id'], ':num_revisao' => $cab['num_revisao'], ':nome_cliente' => $cab['nome_cliente'], ':vend_id' => $cab['vend_id'], ':obra' => $cab['obra'], ':vlr_desc_atual' => $cab['vlr_desc_atual'], ':vlr_total' => $cab['vlr_total'], ':vlr_solicitado' => $vlr_solicitado, ':usu_id' => $usu_id, ':usu_nome' => $usu_nome, ':data_solicitacao' => $data_solicitacao, ':chave' => $chave ]); if (!$ok) { $erro = $stmtInsert->errorInfo(); throw new Exception('Erro no INSERT: ' . implode(' | ', $erro)); } echo json_encode([ 'status' => 'success', 'msg' => 'Solicitação de autorização gravada com sucesso', 'chave' => $chave ]); exit; } catch (Throwable $e) { echo json_encode([ 'status' => 'error', 'msg' => $e->getMessage() ]); exit; }