File "registroComputadores-20260419173817.php"
Full Path: C:/wamp64/www/RegistroEquipos2/backend/computador/registroComputadores-20260419173817.php
File size: 4.73 KB
MIME-type: text/x-php
Charset: utf-8
<?php
session_start();
header('Content-Type: application/json');
// Configuración de conexión a la base de datos
$host = '192.200.100.40';
$db = 'sistemas';
$user = 'SANMARINO';
$pass = 'sanmarino2021*';
$charset = 'utf8mb4';
try {
$usuario = $_SESSION['DIGITA'] ?? 'Desconocido';
// Conectar a la base de datos usando PDO
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
]);
// Obtener los datos del formulario
$marca = $_POST['marca'] ?? '';
$referencia = $_POST['referencia'] ?? '';
$tipoEquipo = $_POST['tipo'] ?? '';
$serial = $_POST['serial'] ?? '';
$ram = $_POST['ram'] ?? '';
$tipo = $_POST['tipo_dd'] ?? '';
$procesador = $_POST['procesador'] ?? '';
$area = $_POST['area_trabajo'] ?? '';
$nombre = $_POST['nombreRecibe'] ?? '';
$cedula = $_POST['cedula'] ?? '';
$observaciones = $_POST['observaciones'] ?? '';
$firmaBase64 = $_POST['firmaComputadores'] ?? '';
$regional = $_POST['regional'] ?? '';
$windows = $_POST['windows'] ?? '';
$Idproducto = $_POST['Idproducto'] ?? '';
$office = $_POST['office'] ?? '';
$usuario1 = $_POST['usuario1'] ?? '';
$contrasena = $_POST['contrasena'] ?? '';
$software = $_POST['software'] ?? '';
$red = $_POST['red'] ?? '';
$telefono = $_POST['telefono'] ?? '';
$cargo = $_POST['cargo'] ?? '';
$id_inventario = $_POST['id_inventario'] ?? '';
$imagenBase64 = $_POST['base64Computadores'] ?? '';
// NUEVO: recibir la segunda imagen
$imagenBase64_2 = $_POST['base64pc'] ?? '';
// Validación básica
if (!$marca || !$referencia || !$tipoEquipo || !$serial || !$ram || !$tipo || !$procesador || !$area || !$nombre || !$cedula || !$observaciones || !$regional || !$windows || !$Idproducto || !$office || !$usuario1 || !$contrasena || !$software || !$red) {
echo json_encode([
'status' => 'warning',
'mensaje' => 'Por favor, completa los campos obligatorios.',
]);
exit();
}
// Procesar firma
$firmaTexto = null;
if (strpos($firmaBase64, 'data:image/') === 0) {
$firmaTexto = $firmaBase64;
}
// Procesar primera imagen
$imagen_a_guardar = null;
if ($imagenBase64 && strpos($imagenBase64, 'data:image/') === 0) {
$imagen_a_guardar = $imagenBase64;
}
// NUEVO: procesar segunda imagen
$imagen_a_guardar_2 = null;
if ($imagenBase64_2 && strpos($imagenBase64_2, 'data:image/') === 0) {
$imagen_a_guardar_2 = $imagenBase64_2;
}
// MODIFICADO: se añade la columna imagen_2 y su marcador :imagen2
$sql = "INSERT INTO registroComputers
(fecha, marca, referencia, tipo, serial, ram, tipoDD, procesador, areaTrabajo, nombreRecibe, cedula, quienEntrega, observaciones, firma, estado, regional, windows, idproducto, office, usuario1, contrasena, software, red, telefono, cargo, id_inventario, imagen, imagen_2)
VALUES (CURRENT_DATE(), :marca, :referencia, :tipo, :serial, :ram, :tipoDD, :procesador, :areaTrabajo, :nombreRecibe, :cedula, :quienEntrega, :observaciones, :firma, 'entregado', :regional, :windows, :idproducto, :office, :usuario1, :contrasena, :software, :red, :telefono, :cargo, :id_inventario, :imagen, :imagen2)";
$stmt = $pdo->prepare($sql);
$stmt->execute([
':marca' => $marca,
':referencia' => $referencia,
':tipo' => $tipoEquipo,
':serial' => $serial,
':ram' => $ram,
':tipoDD' => $tipo,
':procesador' => $procesador,
':areaTrabajo' => $area,
':nombreRecibe' => $nombre,
':cedula' => $cedula,
':quienEntrega' => $usuario,
':observaciones' => $observaciones,
':firma' => $firmaTexto,
':regional' => $regional,
':windows' => $windows,
':idproducto' => $Idproducto,
':office' => $office,
':usuario1' => $usuario1,
':contrasena' => $contrasena,
':software' => $software,
':red' => $red,
':telefono' => $telefono,
':cargo' => $cargo,
':id_inventario' => $id_inventario,
':imagen' => $imagen_a_guardar,
':imagen2' => $imagen_a_guardar_2, // NUEVO
]);
$idRegistro = $pdo->lastInsertId();
// Si se usó un equipo de inventario, actualizamos su estado y contador
if ($id_inventario) {
$sqlUpdateLinea = "UPDATE inventario_computadores SET estado_inventario = 'asignado', veces_asignado = veces_asignado + 1 WHERE id = :id";
$stmtUpdateLinea = $pdo->prepare($sqlUpdateLinea);
$stmtUpdateLinea->execute([':id' => $id_inventario]);
}
echo json_encode([
'status' => 'success',
'mensaje' => 'Registro Guardado.',
]);
} catch (PDOException $e) {
echo json_encode([
'status' => 'error',
'mensaje' => 'Error en base de datos: ' . $e->getMessage(),
]);
} catch (Exception $e) {
echo json_encode([
'status' => 'error',
'mensaje' => 'Error general: ' . $e->getMessage(),
]);
}
?>