184 lines
4.2 KiB
PHP
Executable File
184 lines
4.2 KiB
PHP
Executable File
<?php
|
|
|
|
$empresa->AuthUser();
|
|
|
|
$sucursalId = $_SESSION['idSuc'];
|
|
|
|
$step = intval($_GET['step']);
|
|
|
|
if($step == 0)
|
|
$step++;
|
|
|
|
if($_POST['type'] == 'uploadFile'){
|
|
|
|
$sucursalId = $_POST['sucursalId'];
|
|
$_SESSION['wizSucId'] = $sucursalId;
|
|
|
|
if($_SESSION['xlsFile'] != ''){
|
|
header('Location: '.WEB_ROOT.'/inventario-wizard/step/2');
|
|
exit;
|
|
}
|
|
|
|
$tempFile = $_FILES['excelFile']['tmp_name'];
|
|
|
|
if($tempFile == ''){
|
|
|
|
$errMsg = 'Por favor, seleccione un archivo.';
|
|
|
|
}else{
|
|
|
|
$fileParts = pathinfo($_FILES['excelFile']['name']);
|
|
|
|
if($fileParts['extension'] != 'csv'){
|
|
|
|
$errMsg = 'Tipo de archivo invalido. Debe ser .csv';
|
|
|
|
}else{
|
|
|
|
$targetFolder = DOC_ROOT.'/temp';
|
|
$timestamp = time();
|
|
$_SESSION['identificador'] = $timestamp;
|
|
|
|
$targetPath = $targetFolder;
|
|
|
|
$nomFile = 'excel_'.$timestamp.'.'.$fileParts['extension'];
|
|
|
|
$targetFile = rtrim($targetPath,'/').'/'.$nomFile;
|
|
|
|
if(move_uploaded_file($_FILES['excelFile']['tmp_name'], $targetFile)){
|
|
|
|
$_SESSION['xlsFile'] = $nomFile;
|
|
|
|
header('Location: '.WEB_ROOT.'/inventario-wizard/step/2');
|
|
exit;
|
|
|
|
}else{
|
|
|
|
$errMsg = 'Ocurrio un error al subir el archivo.';
|
|
|
|
}//else
|
|
|
|
}//else
|
|
|
|
}//else
|
|
|
|
}//if
|
|
|
|
if($step == 1){
|
|
|
|
if($_SESSION['wizSucId'])
|
|
$sucursalId = $_SESSION['wizSucId'];
|
|
|
|
$sucursal->setSucursalId($sucursalId);
|
|
$nomSuc = $sucursal->GetNameById($sucursalId);
|
|
$nomSuc = utf8_decode(urldecode($nomSuc));
|
|
|
|
$xlsFile = $_SESSION['xlsFile'];
|
|
|
|
$sucursal->setRfcId(1);
|
|
$resSucursales = $sucursal->GetSucursalesByRfc();
|
|
|
|
$sucursales = array();
|
|
foreach($resSucursales as $res){
|
|
|
|
$res['nombre'] = utf8_decode(urldecode($res['nombre']));
|
|
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
}elseif($step == 2){
|
|
|
|
$sucursalId = $_SESSION['wizSucId'];
|
|
|
|
$sucursal->setSucursalId($sucursalId);
|
|
$nomSuc = $sucursal->GetNameById($sucursalId);
|
|
$nomSuc = utf8_decode(urldecode($nomSuc));
|
|
|
|
$csvFile = DOC_ROOT.'/temp/'.$_SESSION['xlsFile'];
|
|
|
|
$file = @fopen($csvFile, 'r');
|
|
|
|
if($_SESSION['xlsFile'] == ''){
|
|
$errMsg = 'No se ha cargado ningún archivo. Por favor, verifique.';
|
|
}elseif(!$file){
|
|
$errMsg = 'Ocurrio un error al abrir el archivo';
|
|
}else{
|
|
|
|
$size = filesize($csvFile);
|
|
|
|
if(!$size){
|
|
$errMsg = 'El archivo esta vacio, verifique';
|
|
}else{
|
|
|
|
$db = $util->DBSelect(15);
|
|
|
|
$cantProdExisten = 0;
|
|
$cantProdFaltan = 0;
|
|
$prodExisten = array();
|
|
$prodFaltan = array();
|
|
|
|
while (( $field = fgetcsv($file,2048,",")) !== false ) { // Mientras hay líneas que leer...
|
|
|
|
if($lines >= 1){
|
|
|
|
$codigoBarra = trim($field[0]);
|
|
$stock = trim($field[1]);
|
|
|
|
$card['codigoBarra'] = $codigoBarra;
|
|
$card['stock'] = $stock;
|
|
|
|
if($codigoBarra){
|
|
|
|
$sql = 'SELECT productoId FROM producto WHERE codigoBarra = "'.$codigoBarra.'"';
|
|
$db->setQuery($sql);
|
|
$productoId = $db->GetSingle();
|
|
|
|
if($productoId){
|
|
|
|
$prodExisten[] = $card;
|
|
$cantProdExisten += $stock;
|
|
|
|
}else{
|
|
|
|
$prodFaltan[] = $card;
|
|
$cantProdFaltan += $stock;
|
|
|
|
}//if
|
|
|
|
$regs++;
|
|
|
|
}//if
|
|
|
|
}//if
|
|
|
|
$lines++;
|
|
|
|
}//while
|
|
|
|
if(count($prodFaltan)){
|
|
$errMsg = 'Debido a que hay productos que no se encuentran en el sistema,
|
|
<br>primero debe dar da alta esos productos para poder continuar con el proceso.';
|
|
@unlink($csvFile);
|
|
$_SESSION['xlsFile'] = '';
|
|
$_SESSION['wizSucId'] = '';
|
|
$_SESSION['identificador'] = '';
|
|
}
|
|
|
|
}//else
|
|
|
|
}//else
|
|
|
|
}//if
|
|
|
|
$smarty->assign('errMsg', $errMsg);
|
|
$smarty->assign('step', $step);
|
|
$smarty->assign('xlsFile', $xlsFile);
|
|
$smarty->assign('sucursalId', $sucursalId);
|
|
$smarty->assign('nomSuc', $nomSuc);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('cantProdExisten', $cantProdExisten);
|
|
$smarty->assign('cantProdFaltan', $cantProdFaltan);
|
|
$smarty->assign('prodExisten', $prodExisten);
|
|
$smarty->assign('prodFaltan', $prodFaltan);
|
|
|
|
?>
|