368 lines
9.2 KiB
PHP
Executable File
368 lines
9.2 KiB
PHP
Executable File
<?php
|
|
|
|
include_once('../init.php');
|
|
include_once('../config.php');
|
|
include_once(DOC_ROOT.'/libraries.php');
|
|
|
|
session_start();
|
|
|
|
$Usr = $user->Info();
|
|
|
|
switch($_POST["type"]){
|
|
|
|
case 'uploadFile':
|
|
|
|
if($_POST['sucursalId'] == ''){
|
|
|
|
$util->setError(30015,'error');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
|
|
}elseif($_SESSION['xlsFile'] == ''){
|
|
|
|
if($_POST['xlsFile'] == ''){
|
|
|
|
$util->setError(20094,'error');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
|
|
}//elseif
|
|
|
|
}else{
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'delXlsFile':
|
|
|
|
$xlsFile = DOC_ROOT.'/temp/'.$_SESSION['xlsFile'];
|
|
|
|
@unlink($xlsFile);
|
|
|
|
$_SESSION['xlsFile'] = '';
|
|
$_SESSION['identificador'] = '';
|
|
|
|
$util->setError(20093,'complete');
|
|
$util->PrintErrors();
|
|
|
|
echo 'ok[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadProds':
|
|
|
|
$csvFile = DOC_ROOT.'/temp/'.$_SESSION['xlsFile'];
|
|
$identificador = $_SESSION['identificador'];
|
|
|
|
if(!file_exists($csvFile)){
|
|
echo 'fail[#]';
|
|
echo 'No se encuentra el archivo '.$csvFile;
|
|
exit;
|
|
}//if
|
|
|
|
$file = fopen($csvFile, 'r');
|
|
|
|
if(!$file){
|
|
echo 'fail[#]';
|
|
echo 'Error al abrir el archivo';
|
|
exit;
|
|
}//if
|
|
|
|
$size = filesize($csvFile);
|
|
|
|
if(!$size){
|
|
echo 'fail[#]';
|
|
echo 'El archivo esta vacio, verifique';
|
|
exit;
|
|
}//if
|
|
|
|
$db = $util->DBSelect(15);
|
|
|
|
$lines = 0;
|
|
|
|
while (( $field = fgetcsv($file,2048,",")) !== false ) { // Mientras hay líneas que leer...
|
|
|
|
if($lines >= 1){
|
|
|
|
$codigoBarra = trim($field[0]);
|
|
$stock = trim($field[1]);
|
|
|
|
if($stock > 0){
|
|
|
|
$sql = 'SELECT productoId FROM producto WHERE codigoBarra = "'.$codigoBarra.'"';
|
|
$db->setQuery($sql);
|
|
$productoId = $db->GetSingle();
|
|
|
|
if($productoId){
|
|
|
|
$sql = 'SELECT proveedorId FROM producto WHERE codigoBarra = "'.$codigoBarra.'"';
|
|
$db->setQuery($sql);
|
|
$proveedorId = $db->GetSingle();
|
|
|
|
$sql = 'INSERT INTO
|
|
_tablaTemp
|
|
(
|
|
proveedorId,
|
|
codigoBarra,
|
|
productoId,
|
|
stock,
|
|
identificador
|
|
)
|
|
VALUES
|
|
(
|
|
|
|
"'.$proveedorId.'",
|
|
"'.$codigoBarra.'",
|
|
"'.$productoId.'",
|
|
"'.$stock.'",
|
|
"'.$identificador.'"
|
|
)';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
|
|
$found++;
|
|
|
|
}//if
|
|
|
|
$regs++;
|
|
|
|
}//if
|
|
|
|
}//if
|
|
|
|
$lines++;
|
|
|
|
}//while
|
|
|
|
$sucursalId = $_SESSION['wizSucId'];
|
|
$identificador = $_SESSION['identificador'];
|
|
|
|
//Obtenemos el Sig. No de Pedido
|
|
$sql = 'SELECT MAX(noPedido) FROM pedido';
|
|
$db->setQuery($sql);
|
|
$noPedido = $db->GetSingle();
|
|
|
|
$noPedido++;
|
|
|
|
//Guardamos Registro en la tabla InventarioWizard
|
|
|
|
$sql = 'INSERT INTO inventarioWizard
|
|
(
|
|
sucursalId,
|
|
fecha,
|
|
usuarioId
|
|
)VALUES(
|
|
"'.$sucursalId.'",
|
|
"'.date('Y-m-d H:i:s').'",
|
|
"'.$Usr['usuarioId'].'"
|
|
)';
|
|
$db->setQuery($sql);
|
|
$invWizardId = $db->InsertData();
|
|
|
|
//CARGAMOS LOS PRODUCTOS
|
|
|
|
$sql = 'SELECT * FROM _tablaTemp
|
|
WHERE identificador = "'.$identificador.'"
|
|
GROUP BY proveedorId';
|
|
$db->setQuery($sql);
|
|
$result = $db->GetResult();
|
|
|
|
foreach($result as $res){
|
|
|
|
$proveedorId = $res['proveedorId'];
|
|
|
|
$sql = 'INSERT INTO pedido
|
|
(
|
|
proveedorId,
|
|
folioProv,
|
|
noPedido,
|
|
fecha,
|
|
fechaEntrega,
|
|
metodoCompra,
|
|
resurtido,
|
|
usuarioId,
|
|
fechaAprobacion,
|
|
userIdAprobacion,
|
|
|
|
fechaDistribucion,
|
|
userIdDistribucion,
|
|
|
|
fechaAutorizacion,
|
|
userIdAutorizacion,
|
|
|
|
fechaOrdenCompEnv,
|
|
userIdOrdenCompEnv,
|
|
|
|
fechaOrdenCompIng,
|
|
userIdOrdenCompIng,
|
|
status,
|
|
wizUserId
|
|
)VALUES(
|
|
"'.$proveedorId.'",
|
|
"FOLIO'.$noPedido.'",
|
|
"'.$noPedido.'",
|
|
"'.date('Y-m-d H:i:s').'",
|
|
"'.date('Y-m-d').'",
|
|
"conIva",
|
|
"0",
|
|
"2",
|
|
"'.date('Y-m-d H:i:s').'",
|
|
"3",
|
|
"'.date('Y-m-d H:i:s').'",
|
|
"6",
|
|
"'.date('Y-m-d H:i:s').'",
|
|
"3",
|
|
"'.date('Y-m-d H:i:s').'",
|
|
"2",
|
|
"'.date('Y-m-d H:i:s').'",
|
|
"4",
|
|
"EnvSuc",
|
|
"'.$Usr['usuarioId'].'"
|
|
)';
|
|
$db->setQuery($sql);
|
|
$pedidoId = $db->InsertData();
|
|
|
|
$sql = 'SELECT productoId FROM _tablaTemp
|
|
WHERE proveedorId = '.$proveedorId.'
|
|
AND identificador = "'.$identificador.'"
|
|
GROUP BY productoId';
|
|
$db->setQuery($sql);
|
|
$productos = $db->GetResult();
|
|
|
|
//Checamos los productos
|
|
|
|
foreach($productos as $val){
|
|
|
|
$productoId = $val['productoId'];
|
|
|
|
$sql = 'SELECT SUM(stock) FROM _tablaTemp
|
|
WHERE productoId = '.$productoId.'
|
|
AND identificador = "'.$identificador.'"';
|
|
$db->setQuery($sql);
|
|
$cantidad = $db->GetSingle();
|
|
|
|
$sql = 'SELECT * FROM producto
|
|
WHERE productoId = '.$productoId;
|
|
$db->setQuery($sql);
|
|
$infP = $db->GetRow();
|
|
|
|
$sql = 'INSERT INTO pedidoColor (pedidoId, productoId, colorId, cantidad)
|
|
VALUES ("'.$pedidoId.'","'.$productoId.'", 2, '.$cantidad.')';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
|
|
$sql = 'INSERT INTO pedidoTalla (pedidoId, productoId, tallaId, cantidad)
|
|
VALUES ("'.$pedidoId.'","'.$productoId.'", 1, 1)';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
|
|
$sql = 'INSERT INTO pedidoDistribucion (pedidoId, productoId, sucursalId, cantidad, status)
|
|
VALUES ("'.$pedidoId.'","'.$productoId.'", "'.$sucursalId.'", "'.$cantidad.'", "Enviado")';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
|
|
$sql = 'INSERT INTO pedidoProducto (pedidoId, productoId, prodCatId, prodSubcatId, totalLote,
|
|
cantLotes, cantPrendas, prendasComp, costo, precioVenta, status)
|
|
VALUES ("'.$pedidoId.'","'.$productoId.'", "'.$infP['prodCatId'].'", "'.$infP['prodSubcatId'].'", "'.$cantidad.'",
|
|
1, "'.$cantidad.'","1","'.$infP['costo'].'", "'.$infP['precioVentaIva'].'" ,"Aprobado")';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
|
|
//Guardamos los Productos en la Tabla
|
|
|
|
$sql = 'INSERT INTO inventarioWizardProd
|
|
(
|
|
invWizardId,
|
|
pedidoId,
|
|
productoId,
|
|
cantidad
|
|
)VALUES(
|
|
"'.$invWizardId.'",
|
|
"'.$pedidoId.'",
|
|
"'.$productoId.'",
|
|
"'.$cantidad.'"
|
|
)';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
|
|
}//foreach
|
|
|
|
//Actualizamos los Totales
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->UpdateTotalesByPedido();
|
|
|
|
//Envios
|
|
|
|
$sql = 'INSERT INTO envio (sucursalId, fecha, usuarioId, fechaRecibido, userIdRecibido, tipo, status)
|
|
VALUES ("'.$sucursalId.'","'.date('Y-m-d H:i:s').'", 4, "'.date('Y-m-d H:i:s').'", 5, "CT", "Recibido")';
|
|
$db->setQuery($sql);
|
|
$envioId = $db->InsertData();
|
|
|
|
$sql = 'INSERT INTO envioPedido (envioId, pedidoId, noCajas)
|
|
VALUES ("'.$envioId.'", "'.$pedidoId.'", 1)';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
|
|
foreach($productos as $val){
|
|
|
|
$productoId = $val['productoId'];
|
|
|
|
$sql = 'SELECT SUM(stock) FROM _tablaTemp
|
|
WHERE productoId = '.$productoId.'
|
|
AND identificador = "'.$identificador.'"';
|
|
$db->setQuery($sql);
|
|
$cantidad = $db->GetSingle();
|
|
|
|
$sql = 'INSERT INTO envioRecibir (envioId, pedidoId, productoId, noPrendas, completo)
|
|
VALUES ("'.$envioId.'", "'.$pedidoId.'", "'.$productoId.'", "'.$cantidad.'", "1")';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
|
|
$sql = 'SELECT * FROM producto
|
|
WHERE productoId = '.$productoId;
|
|
$db->setQuery($sql);
|
|
$infP = $db->GetRow();
|
|
|
|
for($k=0; $k<$cantidad; $k++){
|
|
|
|
$sql = 'INSERT INTO inventario (envioId, pedidoId, sucursalId, productoId, prodItemId, precioVenta, cantidad, status)
|
|
VALUES ("'.$envioId.'", "'.$pedidoId.'", "'.$sucursalId.'", "'.$productoId.'", "'.$productoId.'", "'.$infP['precioVentaIva'].'", "1", "Disponible")';
|
|
$db->setQuery($sql);
|
|
$db->InsertData();
|
|
}
|
|
|
|
}
|
|
|
|
$noPedido++;
|
|
|
|
$regs++;
|
|
|
|
}//foreach
|
|
|
|
//Eliminamos los datos de la tablatemp
|
|
|
|
$sql = 'DELETE FROM _tablaTemp WHERE identificador = "'.$identificador.'"';
|
|
$db->setQuery($sql);
|
|
$db->DeleteData();
|
|
|
|
//Eliminamos Todos
|
|
|
|
@unlink($csvFile);
|
|
$_SESSION['xlsFile'] = '';
|
|
$_SESSION['wizSucId'] = '';
|
|
$_SESSION['identificador'] = '';
|
|
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
}//switch
|
|
|
|
?>
|