<!DOCTYPE html>
<html lang="en">

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Ejercicio 05</title>
        <style>
            * {
                font-family: sans-serif;
            }

            body {
                justify-content: center;
                justify-items: center;
            }
            table{
                border-collapse:collapse;
            }
            #titulotabla{
                text-align: center;
                background-color: lightskyblue;
                font-weight: bold;
            }
            td{
                padding: 5px;
                border: 1px solid black;
            }
        </style>
    </head>

    <body>
        <?php
        /*  @author Cristian Mateos Vega
         *  @since 10/11/2025
         */
        require_once '../config/confDBPDO.php';
        $aInserts = [
            "sql" => "INSERT INTO `T02_Departamento` 
        (`T02_CodDepartamento`, `T02_DescDepartamento`, `T02_FechaCreacionDepartamento`, `T02_VolumenDeNegocio`, `T02_FechaBajaDepartamento`) 
        VALUES ('OIS','Departamento de Música',NOW(),1234.25,NULL)",
            "sql2" => "INSERT INTO `T02_Departamento` 
        (`T02_CodDepartamento`, `T02_DescDepartamento`, `T02_FechaCreacionDepartamento`, `T02_VolumenDeNegocio`, `T02_FechaBajaDepartamento`) 
        VALUES ('OOS','Departamento de Plastica',NOW(),452.12,NULL)",
            "sql3" => "INSERT INTO `T02_Departamento` 
        (`T02_CodDepartamento`, `T02_DescDepartamento`, `T02_FechaCreacionDepartamento`, `T02_VolumenDeNegocio`, `T02_FechaBajaDepartamento`) 
        VALUES ('OAS','Departamento de Tecnología',NOW(),1523.25,NULL)"
        ];
        $miDB = new PDO(DSN, USERNAME, PASSWORD);
        try {
            $miDB->beginTransaction();
            echo '<h3>Conexión a BBDD correctamente: </h3>';
            foreach ($aInserts as $nombreInsert => $instruccionInsert) {
                $resultadoConsulta = $miDB->exec($instruccionInsert);
            }

            $miDB->commit(); // Si todo fue bien confirma los cambios
            $sql2 = $miDB->query("SELECT * FROM T02_Departamento WHERE T02_CodDepartamento IN ('LIS','LOS','MAS')")->fetchAll(PDO::FETCH_OBJ);
            echo '<h3 style="color:green;">Departamentos insertados correctamente</h3>';
            echo '<table>';
            echo '<tr id="titulotabla"><td>Codigo de Departamento</td><td>Descripción</td><td>Fecha de Creación</td><td>Volumen de Negocio</td><td>Fecha de Baja</td></tr>';
            foreach ($sql2 as $registro) {
                echo '<tr>';
                foreach (get_object_vars($registro) as $campo => $valor) {
                    if (!is_null($valor)) {
                        echo "<td>$valor</td>";
                    } else {
                        echo "<td>No Determinado</td>";
                    }
                }
                echo "</tr>";
            }
            echo '</table>';
            
        } catch (PDOException $miExceptionPDO) {
            $miDB->rollback(); //Si algo no ha ido bien revierte los cambios
            echo '<h3 style="color:red;">Departamentos no insertados</h3>';
            echo 'Error: ' . $miExceptionPDO->getMessage();
            echo '<br>';
            echo 'Código de error: ' . $miExceptionPDO->getCode();
        } finally {
            unset($miDB);
        }
        ?>
    </body>

</html>