<?php
require '../conexao/conexao.php';
require '../sessao.php';

$id_lancamento = $_POST['id_lancamento'] ?? null;
$id_funcionario = $_POST['id_funcionario'] ?? null;
$id_erro = $_POST['id_erro'] ?? null;
$codigo_etapa = $_POST['codigo_etapa'] ?? null;
$obs_erro = $_POST['obs_erro'] ?? null;
$codidentificador = $_POST['codidentificador'] ?? null;
if (!empty($codidentificador)) {
    $funcionario = explode(' - ', $codidentificador)[0];
    $nome_funcionario = explode(' - ', $codidentificador)[1];
} else {
    $funcionario = null;
}
//die(var_dump($_POST));
if (is_null($id_lancamento) || $id_lancamento == '0') {
    $data_lancamento = date('Y-m-d H:i:s');

    $stmt_insercao = $connectionmysql->prepare("INSERT INTO mapa_erros_lancados (id_erro, id_funcionario, data_lancamento, obs_erro, codigo_etapa,id_usuario,identificador) VALUES (?, ?, ?, ?, ?,?,?)");

    // Note que "s" é usado para $codigo_etapa para garantir que seja tratado como string
    $stmt_insercao->bind_param("iisssii", $id_erro, $id_funcionario, $data_lancamento, $obs_erro, $codigo_etapa, $_SESSION['CodUsuario'], $funcionario);

    $stmt_insercao->execute();

    if ($stmt_insercao->affected_rows > 0) {
        $filtros = isset($_SESSION['filtros']) ? http_build_query($_SESSION['filtros']) : '';
        $location = 'index.php?status=sucesso';
        if (!empty($filtros)) {
            $location .= '&' . $filtros;
        }
        header("Location: $location");
        exit;
    } else {
        $filtros = isset($_SESSION['filtros']) ? http_build_query($_SESSION['filtros']) : '';
        $location = 'index.php?status=erro&message=Erro ao inserir os dados.';
        if (!empty($filtros)) {
            $location .= '&' . $filtros;
        }
        header("Location: $location");
        exit;
    }

    $stmt_insercao->close();
} else {
    $stmt_atualizacao = $connectionmysql->prepare("UPDATE mapa_erros_lancados SET id_erro = ?, obs_erro = ?, codigo_etapa = ?,identificador = ? WHERE id_lancamento = ?");

    $stmt_atualizacao->bind_param("issii", $id_erro, $obs_erro, $codigo_etapa, $funcionario,  $id_lancamento);

    $stmt_atualizacao->execute();

    if ($stmt_atualizacao->affected_rows > 0) {
        $filtros = isset($_SESSION['filtros']) ? http_build_query($_SESSION['filtros']) : '';
        $location = './detalha_erros.php?status=sucesso';
        if (!empty($filtros)) {
            $location .= '&' . $filtros;
        }
        header("Location: $location");
        exit;
    } else {
        $filtros = isset($_SESSION['filtros']) ? http_build_query($_SESSION['filtros']) : '';
        $location = './detalha_erros.php?status=erro&message=Erro ja atualizado antes';
        if (!empty($filtros)) {
            $location .= '&' . $filtros;
        }
        header("Location: $location");
        exit;
    }

    $stmt_atualizacao->close();
}

$connectionmysql->close();
