1046 lines
27 KiB
PHP
Executable File
1046 lines
27 KiB
PHP
Executable File
<?php
|
|
|
|
include_once('../init.php');
|
|
include_once('../config.php');
|
|
include_once(DOC_ROOT.'/libraries.php');
|
|
|
|
session_start();
|
|
|
|
$Usr = $user->Info();
|
|
$smarty->assign('Usr', $Usr);
|
|
|
|
if(isset($_POST['action']))
|
|
$_POST['type'] = $_POST['action'];
|
|
|
|
switch($_POST['type']){
|
|
|
|
case 'updateEnvioDevolucion':
|
|
|
|
if($Usr['type'] == "gerente")
|
|
$envio->setStatus("Enviado");
|
|
|
|
if($Usr['type'] == "almacen")
|
|
$envio->setStatus("Autorizado");
|
|
|
|
$envioId = $_POST['envioId'];
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$info = $envio->Info();
|
|
|
|
$envio->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
if(!$envio->AutorizarD()){
|
|
|
|
$util->setError(20069,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
|
|
}else{
|
|
if($Usr['type'] == 'gerente'){
|
|
$envio->setSucursalId($_SESSION['idSuc']);
|
|
$resEnvios = $envio->EnumBySucD();
|
|
|
|
$sucursal->setSucursalId($_SESSION['idSuc']);
|
|
$nomSuc = utf8_decode(urldecode($sucursal->GetNameById()));
|
|
|
|
}else{
|
|
$resEnvios = $envio->EnumerateD();
|
|
}
|
|
|
|
$envios = array();
|
|
$proveedores = array();
|
|
$provInfo = array();
|
|
|
|
foreach($resEnvios['items'] as $res){
|
|
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombreSucursal'] = utf8_decode(urldecode($sucursal->GetNameById()));
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$res['nombreProducto'] = utf8_decode(urldecode($producto->GetModeloById()));
|
|
|
|
$prov = array();
|
|
if(!in_array($res['proveedorId'],$proveedores))
|
|
{
|
|
$proveedores[] = $res['proveedorId'];
|
|
$prov['proveedorId'] = $res['proveedorId'];
|
|
$proveedor->setProveedorId($res['proveedorId']);
|
|
$prov['nombreProveedor'] = utf8_decode(urldecode($proveedor->GetNameById()));
|
|
$provInfo[] = $prov;
|
|
}
|
|
|
|
$fecha = date('d-m-Y',strtotime($res['fecha']));
|
|
//$hora = date('H:i:s',strtotime($res['fecha']));
|
|
//$fecha = $util->FormatDateDMMMY($fecha);
|
|
$res['fecha'] = $fecha;//.' '.$hora;
|
|
|
|
$fechaRecibido = date('d-m-Y',strtotime($res['fecha']));
|
|
if($fechaRecibido != "00-00-0000")
|
|
$res['fechaRecibido'] = $fechaRecibido;
|
|
else
|
|
$res['fechaRecibido'] = "";
|
|
|
|
$res['total'] = number_format($res['total'],2);
|
|
|
|
$envios[] = $res;
|
|
}
|
|
$envios['items'] = $envio->Util()->EncodeResult($envios);
|
|
|
|
$msg = $_SESSION['msgEnv'];
|
|
$_SESSION['msgEnv'] = '';
|
|
|
|
$resSuc = $sucursal->GetSucursalesByEmpresaId();
|
|
$resSuc2 = $util->DecodeUrlResult($resSuc);
|
|
$sucursales = $util->DecodeResult($resSuc2);
|
|
|
|
//print_r($provInfo);
|
|
|
|
$smarty->assign('provInfo',$provInfo);
|
|
$smarty->assign('proveedores',$proveedores);
|
|
$smarty->assign('msg', $msg);
|
|
$smarty->assign('nomSuc', $nomSuc);
|
|
$smarty->assign('envios',$envios);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
|
|
echo 'ok[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
echo '[#]';
|
|
$smarty->assign('envios', $envios);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios-tienda-cedis.tpl');
|
|
}//else
|
|
|
|
break;
|
|
|
|
case 'autorizarEnvio':
|
|
|
|
$envioId = $_POST['envioId'];
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$info = $envio->Info();
|
|
|
|
$envio->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
if(!$envio->Autorizar()){
|
|
|
|
$util->setError(20069,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
|
|
}else{
|
|
|
|
//Enviar Correo al Gerente
|
|
|
|
$envio->setSucursalId($info['sucOrigen']);
|
|
$envio->SendMsgGte();
|
|
|
|
$_SESSION['msgEnv'] = 'Autorizado';
|
|
echo 'ok[#]';
|
|
|
|
}//else
|
|
|
|
break;
|
|
|
|
case 'autorizarEnvioSuc':
|
|
|
|
$envioId = $_POST['envioId'];
|
|
$noCajas = $_POST['noCajas'];
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$envio->setNoCajas($noCajas);
|
|
|
|
if(!$envio->SaveTemp()){
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
$noCajas = intval($noCajas);
|
|
|
|
if($noCajas <= 0){
|
|
$util->setError(20083,'','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
$envio->setNoCajas($noCajas);
|
|
$envio->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
if(!$envio->AutorizarSuc()){
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
}else{
|
|
|
|
$_SESSION['msgEnv'] = 'Autorizado';
|
|
echo 'ok[#]';
|
|
|
|
}//else
|
|
|
|
break;
|
|
|
|
case 'rechazarEnvioPopup':
|
|
|
|
$envioId = $_POST['envioId'];
|
|
|
|
$motivos = $motivo->EnumerateAll();
|
|
$motivos = $util->EncodeResult($motivos);
|
|
|
|
$smarty->assign('envioId', $envioId);
|
|
$smarty->assign('motivos', $motivos);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/rechazar-envio-popup.tpl');
|
|
|
|
break;
|
|
|
|
case 'rechazarEnvio':
|
|
|
|
$motivoId = $_POST['motivoId'];
|
|
|
|
$envio->setEnvioId($_POST['envioId']);
|
|
$envio->setUsuarioId($_SESSION['loginKey']);
|
|
$envio->setMotivoId($motivoId);
|
|
|
|
if($motivoId == 3)
|
|
$envio->setOtroMotivo($_POST['otroMotivo']);
|
|
|
|
if(!$envio->Rechazar())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
//Liberamos los Productos de Inventario que fueron bloqueados
|
|
$envio->DesbloquearProductos();
|
|
|
|
$_SESSION['msgEnv'] = 'Rechazado';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'deleteEnvio':
|
|
|
|
$envioId = $_POST['envioId'];
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$info = $envio->Info();
|
|
$pedidos = $envio->GetPedidos();
|
|
|
|
if(!$envio->Delete())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
//Liberamos los Productos de Inventario que fueron bloqueados si aplica
|
|
$envio->DesbloquearProductos();
|
|
|
|
foreach($pedidos as $res){
|
|
|
|
$envio->setSucursalId($info['sucursalId']);
|
|
$envio->setPedidoId($res['pedidoId']);
|
|
$envio->setStatus('Pendiente');
|
|
$envio->UpdateProdsDist();
|
|
|
|
//Actualizamos el status del Pedido
|
|
|
|
$pedido->setPedidoId($res['pedidoId']);
|
|
$pedido->setStatus('OrdenCompIng');
|
|
$pedido->UpdateStatus();
|
|
|
|
}
|
|
|
|
$resEnvios = $envio->Enumerate();
|
|
|
|
$envios = array();
|
|
foreach($resEnvios['items'] as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['sucursal'] = urldecode($sucursal->GetNameById());
|
|
|
|
$envio->setEnvioId($res['envioId']);
|
|
$res['noCajas'] = $envio->GetTotalCajas();
|
|
|
|
$fecha = date('d-m-Y',strtotime($res['fecha']));
|
|
$hora = date('H:i:s',strtotime($res['fecha']));
|
|
$fecha = $util->FormatDateDMMMY($fecha);
|
|
$res['fecha'] = $fecha.' '.$hora;
|
|
|
|
$envios[] = $res;
|
|
}
|
|
$envios['items'] = $envios;
|
|
|
|
echo 'ok[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
echo '[#]';
|
|
$smarty->assign('envios', $envios);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios.tpl');
|
|
}
|
|
|
|
break;
|
|
|
|
case 'addProductos':
|
|
|
|
$sucursalId = $_POST['sucursalId'];
|
|
|
|
$idProds = $util->CheckArray($_POST['idProds']);
|
|
|
|
if(!isset($_SESSION['envProds']))
|
|
$productos = array();
|
|
else
|
|
$productos = $_SESSION['envProds'];
|
|
|
|
foreach($productos as $res){
|
|
$prodItemId = $res['prodItemId'];
|
|
|
|
if(in_array($prodItemId, $idProds)){
|
|
|
|
$util->setError(20073,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
|
|
}//if
|
|
|
|
}//foreach
|
|
|
|
foreach($idProds as $prodItemId){
|
|
|
|
$card['cantidad'] = intval($_POST['cantidad_'.$prodItemId]);
|
|
|
|
$producto->setProdItemId($prodItemId);
|
|
$info = $producto->GetInfoItemById();
|
|
|
|
$card['productoId'] = $info['productoId'];
|
|
|
|
$producto->setProductoId($info['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$nombre = $infP['modelo'];
|
|
$card['nombre'] = utf8_encode($nombre);
|
|
$card['codigoBarra'] = $infP['codigoBarra'];
|
|
$card['prodItemId'] = $prodItemId;
|
|
|
|
//Checamos si a cantidad no es mayor que el disponible
|
|
|
|
$inventario->setSucursalId($sucursalId);
|
|
$inventario->setProdItemId($info['productoId']);
|
|
$card['disponible'] = $inventario->GetDisponible();
|
|
|
|
if($card['cantidad'] <= 0){
|
|
$util->setError(20082,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
if($card['cantidad'] > $card['disponible']){
|
|
$util->setError(20081,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
$productos[] = $card;
|
|
|
|
}//foreach
|
|
|
|
$_SESSION['envProds'] = $productos;
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('productos', $productos);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios-tienda-prods2.tpl');
|
|
|
|
echo '[#]';
|
|
|
|
$smarty->assign('productos', array());
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios-tienda-prods.tpl');
|
|
|
|
break;
|
|
|
|
case 'deleteProducto':
|
|
|
|
$k = $_POST['k'];
|
|
|
|
$productos = $_SESSION['envProds'];
|
|
|
|
unset($productos[$k]);
|
|
|
|
$_SESSION['envProds'] = $productos;
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('productos', $productos);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios-tienda-prods2.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadOrdenesCompra':
|
|
|
|
$sucursalId = $_POST['sucursalId'];
|
|
|
|
$sucursal->setSucursalId($sucursalId);
|
|
$nomSuc = urldecode($sucursal->GetNameById());
|
|
$nomSuc = strtoupper($nomSuc);
|
|
|
|
//$pedido->setStatus('OrdenCompIng');
|
|
$resOrdenes = $pedido->EnumParciales('ASC');
|
|
|
|
$ordenes = array();
|
|
foreach($resOrdenes['items'] as $res){
|
|
|
|
$pedido->setPedidoId($res['pedidoId']);
|
|
$pedido->setSucursalId($sucursalId);
|
|
if($pedido->ExistDistSuc()){
|
|
|
|
$pedido->setStatus('Pendiente');
|
|
$items = $pedido->GetItemsDistSuc();
|
|
|
|
$total = 0;
|
|
$prendas = 0;
|
|
$cajas = 0;
|
|
$productos = array();
|
|
foreach($items as $val){
|
|
|
|
$producto->setProductoId($val['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$pedido->setProductoId($val['productoId']);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['recibido'] == 0)
|
|
continue;
|
|
|
|
if($infPP['prendasComp'] == 0)
|
|
$val['cantidad'] = $val['prendas'];
|
|
|
|
$prendasT = $val['cantidad'];
|
|
$prendas += $prendasT;
|
|
|
|
$total += $prendasT * $infP['costo'];
|
|
|
|
$cajas += $val['cajas'];
|
|
|
|
//Informacion del Producto
|
|
|
|
if($val['cantidad']){
|
|
$card['codigoBarra'] = $infP['codigoBarra'];
|
|
$card['modelo'] = utf8_encode($infP['modelo']);
|
|
$card['cantidad'] = $val['cantidad'];
|
|
$card['cajas'] = $val['cajas'];
|
|
|
|
$productos[] = $card;
|
|
}
|
|
|
|
}//foreach
|
|
|
|
if(count($productos) == 0)
|
|
continue;
|
|
|
|
$cajas = $pedido->GetTotalCajasBySucAndPed();
|
|
|
|
$res['total'] = $total;
|
|
$res['prendas'] = $prendas;
|
|
$res['cajas'] = $cajas;
|
|
$res['productos'] = $productos;
|
|
|
|
$proveedor->setProveedorId($res['proveedorId']);
|
|
$res['proveedor'] = $proveedor->GetNameById();
|
|
$res['noProv'] = $proveedor->GetNoProv();
|
|
|
|
$res['total'] = number_format($res['total'],2);
|
|
|
|
|
|
$ordenes[] = $res;
|
|
|
|
}//if
|
|
|
|
}//foreach
|
|
|
|
//$ordenes = $util->EncodeResult($ordenes);
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('nomSuc', $nomSuc);
|
|
$smarty->assign('ordenes', $ordenes);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios-ordenes-comp.tpl');
|
|
|
|
break;
|
|
|
|
case 'sendMercancia':
|
|
|
|
$idPedido = $_POST['idPedido'];
|
|
$sucursalId = $_POST['sucursalId'];
|
|
|
|
if(count($idPedido) == 0){
|
|
$util->setError(20065,'error','','');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}//if
|
|
|
|
$envio->setSucursalId($sucursalId);
|
|
$envio->setUsuarioId($_SESSION['loginKey']);
|
|
$envio->setTipo('CT');
|
|
$envio->setStatus('Pendiente');
|
|
$envioId = $envio->Save();
|
|
|
|
foreach($idPedido as $pedidoId){
|
|
|
|
$noCajas = trim($_POST['noCajas_'.$pedidoId]);
|
|
|
|
if($noCajas == ''){
|
|
$util->setError(20066,'error','',$pedidoId);
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}//if
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$envio->setPedidoId($pedidoId);
|
|
$envio->setNoCajas($noCajas);
|
|
$envio->SavePedido();
|
|
|
|
//Actualizamos los Productos de Distribucion a Enviado
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setStatus('Pendiente');
|
|
$items = $pedido->GetItemsDistSuc();
|
|
|
|
foreach($items as $val){
|
|
|
|
$pedido->setProductoId($val['productoId']);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['recibido'] == 1){
|
|
$envio->setStatus('Enviado');
|
|
$envio->setProductoId($val['productoId']);
|
|
$envio->UpdateProdsDist();
|
|
}
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
//Checamos si ya fueron enviados todos los productos de cada pedido
|
|
//para cambiar el status de dicho pedido
|
|
|
|
$pedido->setStatus('OrdenCompIng');
|
|
$resOrdenes = $pedido->EnumByStatus2();
|
|
|
|
foreach($resOrdenes['items'] as $res){
|
|
|
|
$pedido->setPedidoId($res['pedidoId']);
|
|
|
|
if(!$pedido->ExistDistPte()){
|
|
$pedido->setStatus('EnvSuc');
|
|
$pedido->UpdateStatus();
|
|
}
|
|
|
|
}//foreach
|
|
|
|
$_SESSION['msgEnv'] = 'Saved';
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
case 'recibirMercancia':
|
|
|
|
$envioId = $_POST['envioId'];
|
|
$idProds = $_POST['idProds'];
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$infE = $envio->Info();
|
|
|
|
$sucursalId = $infE['sucursalId'];
|
|
|
|
$continue = true;
|
|
foreach($idProds as $val){
|
|
|
|
$inf = explode('_',$val);
|
|
|
|
$pedidoId = $inf[0];
|
|
$productoId = $inf[1];
|
|
|
|
$cantPrendas = trim($_POST['cantPrendas_'.$pedidoId.'_'.$productoId]);
|
|
$noPrendasEnv = $_POST['noPrendasEnv_'.$pedidoId.'_'.$productoId];
|
|
$faltantes = intval($_POST['faltantes_'.$pedidoId.'_'.$productoId]);
|
|
|
|
if($cantPrendas == ''){
|
|
$util->setError(20100,'error','','');
|
|
$util->PrintErrors();
|
|
$continue = false;
|
|
break;
|
|
}
|
|
|
|
$cantPrendas = intval($cantPrendas);
|
|
$restante = $noPrendasEnv - $cantPrendas;
|
|
|
|
if($cantPrendas < 0){
|
|
$util->setError(20101,'error','','');
|
|
$util->PrintErrors();
|
|
$continue = false;
|
|
break;
|
|
/*
|
|
}elseif($cantPrendas > $noPrendasEnv){
|
|
$util->setError(20102,'error','','');
|
|
$util->PrintErrors();
|
|
$continue = false;
|
|
break;
|
|
*/
|
|
}elseif($faltantes < 0){
|
|
$util->setError(20079,'error','','');
|
|
$util->PrintErrors();
|
|
$continue = false;
|
|
break;
|
|
}
|
|
/*
|
|
elseif($faltantes > $restante){
|
|
$util->setError(20077,'error','','');
|
|
$util->PrintErrors();
|
|
$continue = false;
|
|
break;
|
|
}
|
|
*/
|
|
|
|
}//foreach
|
|
|
|
if(!$continue){
|
|
echo 'fail[#]';
|
|
echo $smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
foreach($idProds as $val){
|
|
|
|
$inf = explode('_',$val);
|
|
|
|
$pedidoId = $inf[0];
|
|
$productoId = $inf[1];
|
|
|
|
$cantPrendas = $_POST['cantPrendas_'.$pedidoId.'_'.$productoId];
|
|
$noPrendasEnv = $_POST['noPrendasEnv_'.$pedidoId.'_'.$productoId];
|
|
|
|
$completo = 0;
|
|
if($cantPrendas == $noPrendasEnv)
|
|
$completo = 1;
|
|
|
|
$envio->setPedidoId($pedidoId);
|
|
$envio->setProductoId($productoId);
|
|
$envio->setPrendas($cantPrendas);
|
|
$envio->setCompleto($completo);
|
|
$envio->setFaltantes($_POST['faltantes_'.$pedidoId.'_'.$productoId]);
|
|
|
|
$envio->SaveMercancia();
|
|
|
|
//Obtenemos la informacion del Producto
|
|
$producto->setProductoId($productoId);
|
|
$infProd = $producto->Info();
|
|
|
|
$inventario->setEnvioId($envioId);
|
|
$inventario->setPedidoId($pedidoId);
|
|
$inventario->setProductoId($productoId);
|
|
$inventario->setSucursalId($sucursalId);
|
|
$inventario->setProdItemId($productoId);
|
|
$inventario->setPrecioVenta($infProd['precioVentaIva']);
|
|
$inventario->setRebajado(0);
|
|
$inventario->setCantidad(1);
|
|
|
|
for($i=1; $i<=$cantPrendas; $i++)
|
|
$inventario->SaveProducto();
|
|
|
|
}//foreach
|
|
|
|
//Actualizamos el status del pedido a Recibido
|
|
$envio->setUsuarioId($_SESSION['loginKey']);
|
|
$envio->UpdateRecibido();
|
|
|
|
//Eliminamos productos duplicados en el envio
|
|
$envio->setEnvioId($envioId);
|
|
$envio->AjustarEnvio();
|
|
|
|
$_SESSION['msgEnv'] = 'Recibido';
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
case 'sendMercanciaTienda':
|
|
|
|
$sucursalId = $_POST['sucursalId'];
|
|
$sucursalId2 = $_POST['sucursalId2'];
|
|
|
|
$continue = true;
|
|
|
|
if($sucursalId == ''){
|
|
|
|
$util->setError(20067,'error','','');
|
|
$util->PrintErrors();
|
|
$continue = false;
|
|
|
|
}elseif($sucursalId2 == ''){
|
|
|
|
$util->setError(20068,'error','','');
|
|
$util->PrintErrors();
|
|
$continue = false;
|
|
|
|
}else{
|
|
|
|
$envProds = $_SESSION['envProds'];
|
|
if(count($envProds) == 0){
|
|
$util->setError(30028,'error','','');
|
|
$util->PrintErrors();
|
|
$continue = false;
|
|
}//if
|
|
|
|
}//else
|
|
|
|
if(!$continue)
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
//Checamos los Productos del Envio para ver si aun hay disponible
|
|
|
|
foreach($envProds as $res){
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$envio->setProductoId($res['productoId']);
|
|
$envio->setProdItemId($res['prodItemId']);
|
|
$envio->setCantidad($res['cantidad']);
|
|
|
|
//Obtenemos el Disponible
|
|
|
|
$inventario->setSucursalId($sucursalId);
|
|
$inventario->setProdItemId($res['productoId']);
|
|
$disponible = $inventario->GetDisponible();
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$nombre = $infP['modelo'];
|
|
$nombre = utf8_encode($nombre);
|
|
|
|
/*
|
|
if($res['cantidad'] > $disponible){
|
|
$util->setError(20072,'error','','<br>'.$nombre);
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}//if
|
|
*/
|
|
|
|
}//foreach
|
|
|
|
//Guardamos el Envio
|
|
|
|
$envio->setSucOrigen($sucursalId);
|
|
$envio->setSucursalId($sucursalId2);
|
|
$envio->setUsuarioId($_SESSION['loginKey']);
|
|
$envio->setTipo('TT');
|
|
$envio->setStatus('Pendiente');
|
|
|
|
$envioId = $envio->Save();
|
|
|
|
//Guardamos los Productos del Envio
|
|
|
|
foreach($envProds as $res){
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$envio->setProductoId($res['productoId']);
|
|
$envio->setProdItemId($res['prodItemId']);
|
|
$envio->setCantidad($res['cantidad']);
|
|
|
|
//Obtenemos el Disponible
|
|
|
|
$inventario->setSucursalId($sucursalId);
|
|
$inventario->setProdItemId($res['productoId']);
|
|
$disponible = $inventario->GetDisponible();
|
|
|
|
if($res['cantidad'] > $disponible)
|
|
$envio->setCantidad($disponible);
|
|
|
|
$envio->SaveProducto();
|
|
|
|
//Bloqueamos productos en Inventario
|
|
$envio->BloquearProductos();
|
|
|
|
}//foreach
|
|
|
|
$total = $envio->GetValorProdsBloq();
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$envio->setTotal($total);
|
|
$envio->UpdateTotal();
|
|
|
|
//Autorizamos el Envio de una vez.
|
|
$envio->setEnvioId($envioId);
|
|
$envio->Autorizar();
|
|
|
|
$_SESSION['msgEnv'] = 'Saved';
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
case 'recibirMercanciaT':
|
|
|
|
$envioId = $_POST['envioId'];
|
|
$idEnvProds = $_POST['idEnvProds'];
|
|
$noCajas = $_POST['noCajasRec'];
|
|
|
|
$envio->setNoCajas($noCajas);
|
|
if(!$envio->SaveTemp()){
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
$noCajas = intval($noCajas);
|
|
|
|
if($noCajas <= 0){
|
|
$util->setError(20083,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$infE = $envio->Info();
|
|
|
|
//Actualizamos la cantidad recibida de cada producto
|
|
foreach($idEnvProds as $envProdId){
|
|
|
|
$envio->setEnvProdId($envProdId);
|
|
$envio->setCantidad($_POST['cantidad_'.$envProdId]);
|
|
$envio->UpdateProdRec();
|
|
|
|
$envio->setSucursalId($infE['sucOrigen']);
|
|
$envio->setProdItemId($_POST['idProdItem_'.$envProdId]);
|
|
$envio->setSucursalId2($infE['sucursalId']);
|
|
$envio->UpdateProdT();
|
|
}
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$envio->setCantidad($noCajas);
|
|
$envio->UpdateNoCajasRec();
|
|
|
|
$envio->setEnvioId($envioId);
|
|
$envio->setUsuarioId($_SESSION['loginKey']);
|
|
$envio->UpdateRecibido();
|
|
|
|
//Desbloqueamos productos en caso de que aun se encuentren bloqueado
|
|
$envio->setEnvioId($envioId);
|
|
$envio->DesbProdRecT();
|
|
|
|
$_SESSION['msgEnv'] = 'Recibido';
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
case 'loadProductos':
|
|
|
|
$productoId = $_POST['productoId'];
|
|
$sucursalId = $_POST['sucursalId'];
|
|
|
|
$producto->setProductoId($productoId);
|
|
$infP = $producto->Info();
|
|
|
|
$card['nombre'] = $infP['modelo'];
|
|
$card['codigoBarra'] = $infP['codigoBarra'];
|
|
|
|
$producto->setCodigoBarra($infP['codigoBarra']);
|
|
$prodItemId = $producto->GetProductByCodigo2();
|
|
|
|
$card['prodItemId'] = $prodItemId;
|
|
|
|
$inventario->setSucursalId($sucursalId);
|
|
$inventario->setProdItemId($productoId);
|
|
$card['disponible'] = $inventario->GetDisponible();
|
|
|
|
$productos[] = $card;
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('productos', $productos);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios-tienda-prods.tpl');
|
|
|
|
break;
|
|
|
|
case 'search':
|
|
|
|
$sucursalId = $_POST['sucursalId2'];
|
|
$status = $_POST['status2'];
|
|
$fechaEnvio = $_POST['fechaEnvio2'];
|
|
$ordenCompra = $_POST['ordenCompra2'];
|
|
|
|
$envio->setSucursalId($sucursalId);
|
|
$envio->setNoPedido($ordenCompra);
|
|
$envio->setStatus($status);
|
|
|
|
if($fechaEnvio)
|
|
$envio->setFecha(date('Y-m-d',strtotime($fechaEnvio)));
|
|
|
|
if($Usr['type'] == 'gerente')
|
|
$envio->setSucursalId($_SESSION['idSuc']);
|
|
|
|
$resEnvios = $envio->Search();
|
|
|
|
$envios = array();
|
|
foreach($resEnvios as $res){
|
|
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['sucursal'] = urldecode($sucursal->GetNameById());
|
|
|
|
$envio->setEnvioId($res['envioId']);
|
|
$res['noCajas'] = $envio->GetTotalCajas();
|
|
|
|
$fecha = date('d-m-Y',strtotime($res['fecha']));
|
|
$hora = date('H:i:s',strtotime($res['fecha']));
|
|
$fecha = $util->FormatDateDMMMY($fecha);
|
|
$res['fecha'] = $fecha.' '.$hora;
|
|
|
|
$total = $envio->GetValorTotal();
|
|
$res['total'] = number_format($total,2);
|
|
|
|
$res['prendas'] = $envio->GetTotalPrendas();
|
|
|
|
$envios[] = $res;
|
|
}
|
|
$envios['items'] = $envios;
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('envios', $envios);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios.tpl');
|
|
|
|
break;
|
|
|
|
case 'searchT':
|
|
|
|
$sucOrigen = $_POST['sucOrigen2'];
|
|
$sucursalId = $_POST['sucursalId2'];
|
|
$status = $_POST['status2'];
|
|
$fechaEnvio = $_POST['fechaEnvio2'];
|
|
|
|
$envio->setSucOrigen($sucOrigen);
|
|
$envio->setSucursalId($sucursalId);
|
|
$envio->setStatus($status);
|
|
|
|
if($fechaEnvio)
|
|
$envio->setFecha(date('Y-m-d',strtotime($fechaEnvio)));
|
|
|
|
if($Usr['type'] == 'gerente')
|
|
$envio->setSucOrigen($_SESSION['idSuc']);
|
|
|
|
$resEnvios = $envio->SearchT();
|
|
|
|
$envios = array();
|
|
foreach($resEnvios as $res){
|
|
|
|
$sucursal->setSucursalId($res['sucOrigen']);
|
|
$res['sucursalO'] = urldecode($sucursal->GetNameById());
|
|
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['sucursal'] = urldecode($sucursal->GetNameById());
|
|
|
|
$fecha = date('d-m-Y',strtotime($res['fecha']));
|
|
$hora = date('H:i:s',strtotime($res['fecha']));
|
|
$fecha = $util->FormatDateDMMMY($fecha);
|
|
$res['fecha'] = $fecha.' '.$hora;
|
|
|
|
//Obtenemos los Productos del Envio
|
|
|
|
$envio->setEnvioId($res['envioId']);
|
|
$resProds = $envio->GetProdsTienda();
|
|
|
|
$prendas = 0;
|
|
foreach($resProds as $val)
|
|
$prendas += $val['cantidad'];
|
|
|
|
$res['prendas'] = $prendas;
|
|
|
|
$res['total'] = number_format($res['total'],2);
|
|
|
|
$envios[] = $res;
|
|
}
|
|
$envios['items'] = $envios;
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('envios', $envios);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios-tienda.tpl');
|
|
|
|
break;
|
|
|
|
case 'searchTraspasos':
|
|
|
|
$sucursalId = $_POST['sucursalId2'];
|
|
$status = $_POST['status2'];
|
|
$fechaEnvio = $_POST['fechaEnvio2'];
|
|
$ordenCompra = $_POST['ordenCompra2'];
|
|
|
|
$envio->setSucursalId($sucursalId);
|
|
$envio->setNoPedido($ordenCompra);
|
|
$envio->setStatus($status);
|
|
|
|
if($fechaEnvio)
|
|
$envio->setFecha(date('Y-m-d',strtotime($fechaEnvio)));
|
|
|
|
if($Usr['type'] == 'gerente')
|
|
$envio->setSucursalId($_SESSION['idSuc']);
|
|
|
|
$resEnvios = $envio->Search();
|
|
|
|
$envios = array();
|
|
foreach($resEnvios as $res){
|
|
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['sucursal'] = urldecode($sucursal->GetNameById());
|
|
|
|
$fecha = date('d-m-Y',strtotime($res['fecha']));
|
|
$res['fecha'] = $util->FormatDateDMMMY($fecha);
|
|
|
|
$envio->setEnvioId($res['envioId']);
|
|
$res['enviaron'] = $envio->GetTotalPrendas();
|
|
$res['recibieron'] = $envio->GetTotalRec();
|
|
|
|
$res['diferencia'] = $res['enviaron'] - $res['recibieron'];
|
|
|
|
$envios[] = $res;
|
|
}
|
|
$envios['items'] = $envios;
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('envios', $envios);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/envios-traspasos.tpl');
|
|
|
|
break;
|
|
|
|
}//switch
|
|
|
|
?>
|