<?php  session_start();
if (!isset($_SESSION['id'])) { header("Location: ../index/index.php"); exit(); }
?>


<?php
/**
 * ARQUIVO: processar_orc.php
 * Atualizado com o nome correto: orc_itens_nat_oper
 */
include '../config.php';
include '../configuracao/conexao.php';
$datem = date('d/m/y/h/m/s');
$enumvai="orc".$_SERVER["REMOTE_ADDR"]."-".$datem.time();
$V = "orc";

// --- 1. AÇÃO DE EXCLUSÃO ---
if (isset($_GET['acao']) && $_GET['acao'] === 'excluir' && isset($_GET['id'])) {
    $id_excluir = intval($_GET['id']);
    $mysqli->begin_transaction();
    try {
        $mysqli->query("DELETE FROM orc_itens WHERE orc_itens_orc_cab = $id_excluir");
        $mysqli->query("DELETE FROM orc_cab WHERE codigo = $id_excluir");
        $mysqli->commit();
        header("Location: busca_orc.php?msg=excluido");
        exit;
    } catch (Exception $e) {
        $mysqli->rollback();
        die("Erro ao excluir: " . $e->getMessage());
    }
}

// --- 2. AÇÃO DE SALVAR / ATUALIZAR ---
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $mysqli->begin_transaction();
    try {
        $id         = intval($_POST['codigo'] ?? 0);
        $part       = $_POST['orc_cab_cod_part'] ?? '';
        $nome       = $_POST['orc_cab_nome'] ?? '';
        $data_emi   = $_POST['orc_cab_dt_emi'] ?? date('Y-m-d');
        $status     = $_POST['orc_cab_status'] ?? 'A';
        $cod_ve     = $_POST['orc_cab_cod_veiculo'] ?? '?';
        $desc_ve    = $_POST['orc_cab_desc_veiculo'] ?? '';
        $orc_cab_c_v = $_POST['orc_cab_c_v'] ?? ''; 

        $itens_para_salvar = [];
        $soma_total_geral  = 0;

        if (isset($_POST['item_cod'])) {
            foreach ($_POST['item_cod'] as $k => $cod_item) {
                if (empty($cod_item)) continue;
                
                $qtd   = floatval($_POST['item_qtd'][$k]); 
                $valor = floatval($_POST['item_vl'][$k]);
                $desc  = floatval($_POST['item_desc'][$k]);
                $total_item = ($qtd * $valor) - $desc;
                $soma_total_geral += $total_item;

                            $itens_para_salvar[] = [
                    'cod'      => $cod_item,
                    'descr'    => $_POST['item_descr'][$k],
                    'qtd'      => $qtd,
                    'vl'       => $valor,
                    'desc'     => $desc,
                    'tot'      => $total_item,
                    'marca'    => $_POST['orc_itens_marca_item'][$k],
                    'unid'     => $_POST['item_unid'][$k],
                    'tipo'     => $_POST['orc_itens_tipo_item'][$k],
                    
					
			  ];
            }
        }

        // --- GRAVAÇÃO DO CABEÇALHO ---
        if ($id > 0) {
            $sql_cab = "UPDATE orc_cab SET orc_cab_cod_part=?, orc_cab_nome=?, orc_cab_dt_emi=?, orc_cab_tot_orc=?, orc_cab_status=?, orc_cab_cod_veiculo=?, orc_cab_desc_veiculo=?, orc_cab_c_v=? ,enumsistema =? WHERE codigo=?";
            $stmt = $mysqli->prepare($sql_cab);
            $stmt->bind_param("sssssissss", $part, $nome, $data_emi, $soma_total_geral, $status, $cod_ve, $desc_ve, $orc_cab_c_v, $enumvai,$id);
            $stmt->execute();
            
            $mysqli->query("DELETE FROM orc_itens WHERE orc_itens_orc_cab = $id");
            $id_vincular = $id;
        } else {
            $sql_cab = "INSERT INTO orc_cab (ativo, data, orc_cab_cod_part, orc_cab_nome, orc_cab_dt_emi, orc_cab_tot_orc, orc_cab_status, orc_cab_cod_veiculo, orc_cab_desc_veiculo, orc_cab_c_v,enumsistema) VALUES ('S', NOW(), ?, ?, ?, ?, ?, ?, ?, ?,?)";
            $stmt = $mysqli->prepare($sql_cab);
            $stmt->bind_param("sssssssss", $part, $nome, $data_emi, $soma_total_geral, $status, $cod_ve, $desc_ve, $orc_cab_c_v,$enumvai);
            $stmt->execute();
            $id_vincular = $mysqli->insert_id; 
        }

        // --- GRAVAÇÃO DOS ITENS COM O CAMPO orc_itens_nat_oper ---
        $sql_item = "INSERT INTO orc_itens (ativo, data, orc_itens_orc_cab, orc_itens_cod_item, orc_itens_descr_item, orc_itens_qtd_item, orc_itens_vl_item, orc_itens_desc_item_vl, orc_itens_tot_item, orc_itens_marca_item, orc_itens_unid, orc_itens_tipo_item,enumsistema
				
			
			) VALUES 
		('S', NOW(),?,?,?,?,?,?,?,?,?,?,? )";
        $stmt_item = $mysqli->prepare($sql_item);

        
        foreach ($itens_para_salvar as $it) {
            // 1. Grava o Item (11 campos + 2 gerados automaticamente: ativo, data)
            // Tipagem: i (int), s (string), s (string), d (double), d, d, d, s, s, s, s
            $stmt_item->bind_param("issddddssss", 
                $id_vincular, 
                $it['cod'], 
                $it['descr'], 
                $it['qtd'], 
                $it['vl'], 
                $it['desc'], 
                $it['tot'], 
                $it['marca'], 
                $it['unid'], 
                $it['tipo'], 
				$enumvai
			
		
            );
            $stmt_item->execute();

 

        }

        $mysqli->commit();
       echo $id_vincular; 
        exit;
    } catch (Exception $e) {
        $mysqli->rollback();
        die("Erro Crítico: " . $e->getMessage());
    }
}
?>