3695 lines
97 KiB
PHP
Executable File
3695 lines
97 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 'savePedido':
|
|
|
|
$metodoCompra = $_POST['metodoCompra'];
|
|
$resurtido = ($_POST['resurtido'] == 1) ? '1':'0';
|
|
|
|
$porcPub = $_POST['porcPub'];
|
|
$porcFlete = $_POST['porcFlete'];
|
|
$porcDes = $_POST['porcDes'];
|
|
$porcEsp = $_POST['porcEsp'];
|
|
|
|
$products = $_SESSION['prodsPed'];
|
|
|
|
if($_POST['fechaEntrega'])
|
|
$fechaEntrega = date('Y-m-d',strtotime($_POST['fechaEntrega']));
|
|
if($_POST['fechaEntregaF'])
|
|
$fechaEntregaF = date('Y-m-d',strtotime($_POST['fechaEntregaF']));
|
|
|
|
$noPedido = $pedido->GetNextNoPedido();
|
|
|
|
$pedido->setProveedorId($_POST['proveedorId']);
|
|
$pedido->setNoPedido($noPedido);
|
|
$pedido->setFecha(date('Y-m-d H:i:s',strtotime($_POST['fechaPedido'])));
|
|
$pedido->setFechaEntrega($fechaEntrega);
|
|
$pedido->setFechaEntregaF($fechaEntregaF);
|
|
$pedido->setMetodoCompra($metodoCompra);
|
|
$pedido->setResurtido($resurtido);
|
|
$pedido->setStatus('Pendiente');
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
$pedido->setPorcPub($porcPub);
|
|
$pedido->setPorcFlete($porcFlete);
|
|
$pedido->setPorcDes($porcDes);
|
|
$pedido->setPorcEsp($porcEsp);
|
|
|
|
if($pedido->SaveTemp()){
|
|
|
|
if($fechaEntregaF <= $fechaEntrega){
|
|
$util->setError(20092, 'error', '', '');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(count($products) == 0){
|
|
$util->setError(20054, 'error', '', '');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
}else{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
//*** Si es RESURTIDO -> Checar Distribucion ***//
|
|
|
|
if($resurtido){
|
|
|
|
$sucursales = $sucursal->GetSucursalesByEmpresaId();
|
|
|
|
$dist = array();
|
|
foreach($products as $res){
|
|
|
|
$productoId = $res['productoId'];
|
|
$cantPrendas = $res['cantPrendas'];
|
|
|
|
$producto->setProductoId($productoId);
|
|
$nomProducto = $producto->GetModeloById();
|
|
|
|
$totPrendas = 0;
|
|
foreach($sucursales as $suc){
|
|
|
|
$sucursalId = $suc['sucursalId'];
|
|
$prendasSuc = $_POST['cant_'.$productoId.'_'.$sucursalId];
|
|
|
|
$card['productoId'] = $productoId;
|
|
$card['sucursalId'] = $sucursalId;
|
|
$card['cantidad'] = $prendasSuc;
|
|
|
|
$dist[] = $card;
|
|
|
|
$totPrendas += $prendasSuc;
|
|
|
|
}//foreach
|
|
|
|
$continue = true;
|
|
if($totPrendas > $cantPrendas){
|
|
$util->setError(20103,'error','',strtoupper($nomProducto));
|
|
$continue = false;
|
|
}elseif($totPrendas < $cantPrendas){
|
|
$util->setError(20104,'error','',strtoupper($nomProducto));
|
|
$continue = false;
|
|
}
|
|
|
|
if(!$continue){
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
}//foreach
|
|
|
|
}//if
|
|
|
|
//*** Fin Checar Distribucion ***//
|
|
|
|
$pedido->Save();
|
|
$pedidoId = $pedido->GetInsertId();
|
|
|
|
//Guardamos los Productos
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
|
|
$subtotal = 0;
|
|
foreach($products as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$precioVenta = $infP['precioVentaIva'];
|
|
|
|
$res['totalLote'] = $res['cantPrendas'];
|
|
|
|
$pedido->setProductoId($res['productoId']);
|
|
$pedido->setProdCatId($res['prodCatId']);
|
|
$pedido->setProdSubcatId($res['prodSubcatId']);
|
|
$pedido->setTotalLote($res['totalLote']);
|
|
$pedido->setCantLotes($res['cantLotes']);
|
|
$pedido->setCantPrendas($res['cantPrendas']);
|
|
$pedido->setCosto($infP['costo']);
|
|
$pedido->setPrecioVenta($precioVenta);
|
|
|
|
$pedProdId = $pedido->SaveProducto();
|
|
|
|
//Guardamos Proporcion de Tallas
|
|
|
|
$proporcionT = $res['proporcionT'];
|
|
$proporcionNT = $res['proporcionNT'];
|
|
$proporcionIT = $res['proporcionIT'];
|
|
|
|
$tallas = array();
|
|
foreach($proporcionT as $kT => $cantidad){
|
|
$tallaId = $proporcionIT[$kT];
|
|
|
|
if($cantidad > 0){
|
|
|
|
//Sino existe la talla la guardamos
|
|
if($tallaId == ''){
|
|
|
|
$atribVal->setAtributoId(1);
|
|
$atribVal->setNombre(strtoupper($proporcionNT[$kT]));
|
|
|
|
//Checamos si existe la Talla en la BD.
|
|
$tallaId = $atribVal->ExistValor();
|
|
|
|
if(!$tallaId)
|
|
$tallaId = $atribVal->Save();
|
|
|
|
//Guardamos en el Conjunto de Tallas
|
|
$conValor->setConTallaId($infP['conTallaId']);
|
|
$conValor->setTallaId($tallaId);
|
|
$conValor->Save();
|
|
|
|
}//if
|
|
|
|
$pedido->setTallaId($tallaId);
|
|
$pedido->setCantidad($cantidad);
|
|
|
|
$pedido->SaveTalla();
|
|
|
|
$tallas[] = $tallaId;
|
|
|
|
}//if
|
|
|
|
}//foreach
|
|
|
|
//Guardamos Proporcion de Colores
|
|
|
|
$proporcionC = $res['proporcionC'];
|
|
$proporcionNC = $res['proporcionNC'];
|
|
$proporcionIC = $res['proporcionIC'];
|
|
|
|
$colores = array();
|
|
foreach($proporcionC as $kC => $cantidad){
|
|
$colorId = $proporcionIC[$kC];
|
|
|
|
if($cantidad > 0){
|
|
|
|
//Sino existe el color lo guardamos
|
|
if($colorId == ''){
|
|
|
|
$atribVal->setAtributoId(2);
|
|
$atribVal->setNombre(strtoupper($proporcionNC[$kC]));
|
|
|
|
//Checamos si existe la Talla en la BD.
|
|
$colorId = $atribVal->ExistValor();
|
|
|
|
if(!$colorId)
|
|
$colorId = $atribVal->Save();
|
|
|
|
}//if
|
|
|
|
$pedido->setColorId($colorId);
|
|
$pedido->setCantidad($cantidad);
|
|
|
|
$pedido->SaveColor();
|
|
|
|
$colores[] = $colorId;
|
|
|
|
}//if
|
|
|
|
}//foreach
|
|
|
|
//Guardamos los productoItem por cada Talla y Color
|
|
|
|
foreach($tallas as $tallaId){
|
|
|
|
foreach($colores as $colorId){
|
|
|
|
$codigoBarra = $infP['codigoBarra'];
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$producto->setTallaId($tallaId);
|
|
$producto->setColorId($colorId);
|
|
$producto->setCodigoBarra($codigoBarra);
|
|
|
|
if(!$producto->ExistProdItem())
|
|
$producto->SaveItem();
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
$subtotal += $infP['costo'] * $res['totalLote'] * $res['cantLotes'];
|
|
|
|
}//foreach
|
|
|
|
$ivaTotal = 0;
|
|
if($metodoCompra == 'conIva'){
|
|
$iva = $config->GetIva();
|
|
$ivaTotal = ($iva/100) * $subtotal;
|
|
$total = $subtotal + $ivaTotal;
|
|
}else{
|
|
$total = $subtotal;
|
|
}
|
|
|
|
$totalPub = 0;
|
|
$totalFlete = 0;
|
|
$totalDes = 0;
|
|
$totalEsp = 0;
|
|
|
|
if($porcPub){
|
|
$totalPub = $total * ($porcPub / 100);
|
|
$totalPub = number_format($totalPub,2,'.','');
|
|
}
|
|
if($porcFlete){
|
|
$totalFlete = $total * ($porcFlete / 100);
|
|
$totalFlete = number_format($totalFlete,2,'.','');
|
|
}
|
|
if($porcDes){
|
|
$totalDes = $total * ($porcDes / 100);
|
|
$totalDes = number_format($totalDes,2,'.','');
|
|
}
|
|
if($porcEsp){
|
|
$totalEsp = $total * ($porcEsp / 100);
|
|
$totalEsp = number_format($totalEsp,2,'.','');
|
|
}
|
|
|
|
$totalDesc = $total - $totalPub - $totalFlete - $totalDes - $totalEsp;
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setSubtotal($subtotal);
|
|
$pedido->setIva($ivaTotal);
|
|
$pedido->setTotal($total);
|
|
|
|
$pedido->setTotalPub($totalPub);
|
|
$pedido->setTotalFlete($totalFlete);
|
|
$pedido->setTotalDes($totalDes);
|
|
$pedido->setTotalEsp($totalEsp);
|
|
$pedido->setTotalDesc($totalDesc);
|
|
|
|
$pedido->UpdateTotales();
|
|
|
|
/*** Si es RESURTIDO -> Guardamos las Distribuciones ***/
|
|
|
|
if($resurtido){
|
|
|
|
foreach($dist as $res){
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($res['productoId']);
|
|
$pedido->setSucursalId($res['sucursalId']);
|
|
$pedido->setCantidad($res['cantidad']);
|
|
|
|
$pedido->SaveDistribucion();
|
|
|
|
}//foreach
|
|
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
$pedido->Distribucion();
|
|
|
|
}//if
|
|
|
|
/*** Fin Guardar Distribuciones ***/
|
|
|
|
//Eliminamos productos repetidos en distribucion
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->DeleteProdRepetidos();
|
|
|
|
$_SESSION['msgPed'] = 'Saved';
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
case 'saveEditPedido':
|
|
|
|
$products = $_SESSION['prodsEdit'];
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$metodoCompra = $_POST['metodoCompra'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$infP = $pedido->Info();
|
|
|
|
$fechaEntrega = date('Y-m-d',strtotime($_POST['fechaEntrega']));
|
|
|
|
if($_POST['fechaEntrega'])
|
|
$fechaEntrega = date('Y-m-d',strtotime($_POST['fechaEntrega']));
|
|
if($_POST['fechaEntregaF'])
|
|
$fechaEntregaF = date('Y-m-d',strtotime($_POST['fechaEntregaF']));
|
|
|
|
$porcPub = $_POST['porcPub'];
|
|
$porcFlete = $_POST['porcFlete'];
|
|
$porcDes = $_POST['porcDes'];
|
|
$porcEsp = $_POST['porcEsp'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setFechaEntrega($fechaEntrega);
|
|
$pedido->setFechaEntregaF($fechaEntregaF);
|
|
$pedido->setMetodoCompra($metodoCompra);
|
|
$pedido->setPorcPub($porcPub);
|
|
$pedido->setPorcFlete($porcFlete);
|
|
$pedido->setPorcDes($porcDes);
|
|
$pedido->setPorcEsp($porcEsp);
|
|
|
|
if($pedido->SaveTemp()){
|
|
|
|
if(count($products) == 0){
|
|
$util->setError(20054, 'error', '', '');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
//Checamos los Productos
|
|
|
|
$productos = array();
|
|
foreach($products as $k => $res){
|
|
|
|
$res['pedProdId'] = $_POST['idPedProd'][$k];
|
|
$res['cantPrendas'] = trim($_POST['cantPrend'][$k]);
|
|
$res['costo'] = trim($_POST['costo'][$k]);
|
|
$res['precioVenta'] = trim($_POST['precioVenta'][$k]);
|
|
|
|
if($res['cantPrendas'] == ''){
|
|
$util->setError(10056,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if($res['costo'] == ''){
|
|
$util->setError(10054,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if($res['precioVenta'] == ''){
|
|
$util->setError(10055,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
$productos[] = $res;
|
|
|
|
}
|
|
|
|
}else{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}//else
|
|
|
|
$pedido->Update();
|
|
|
|
//Eliminamos los Productos
|
|
|
|
$products = $_SESSION['prodsDel'];
|
|
|
|
if(count($products) == 0)
|
|
$products = array();
|
|
|
|
foreach($products as $res){
|
|
|
|
$pedido->setPedProdId($res['pedProdId']);
|
|
$infP = $pedido->InfoProd();
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($infP['productoId']);
|
|
$pedido->DelProducto();
|
|
|
|
}
|
|
|
|
//Guardamos / Actualizamos los productos
|
|
|
|
$subtotal = 0;
|
|
foreach($productos as $res){
|
|
|
|
if($res['pedProdId']){
|
|
|
|
$pedido->setPedProdId($res['pedProdId']);
|
|
$pedido->setCantPrendas($res['cantPrendas']);
|
|
$pedido->setCosto($res['costo']);
|
|
$pedido->setPrecioVenta($res['precioVenta']);
|
|
|
|
$pedido->UpdateProduct();
|
|
|
|
}else{
|
|
|
|
//***********************
|
|
|
|
$pedido->setProductoId($res['productoId']);
|
|
$pedido->setProdCatId($res['prodCatId']);
|
|
$pedido->setProdSubcatId($res['prodSubcatId']);
|
|
$pedido->setTotalLote($res['cantPrendas']);
|
|
$pedido->setCantLotes($res['cantLotes']);
|
|
$pedido->setCantPrendas($res['cantPrendas']);
|
|
$pedido->setCosto($res['costo']);
|
|
$pedido->setPrecioVenta($res['precioVenta']);
|
|
|
|
$pedProdId = $pedido->SaveProducto();
|
|
|
|
//Guardamos Proporcion de Tallas
|
|
|
|
$proporcionT = $res['proporcionT'];
|
|
$proporcionNT = $res['proporcionNT'];
|
|
$proporcionIT = $res['proporcionIT'];
|
|
|
|
$tallas = array();
|
|
foreach($proporcionT as $kT => $cantidad){
|
|
$tallaId = $proporcionIT[$kT];
|
|
|
|
if($cantidad > 0){
|
|
|
|
//Sino existe la talla la guardamos
|
|
if($tallaId == ''){
|
|
|
|
$atribVal->setAtributoId(1);
|
|
$atribVal->setNombre(strtoupper($proporcionNT[$kT]));
|
|
|
|
//Checamos si existe la Talla en la BD.
|
|
$tallaId = $atribVal->ExistValor();
|
|
|
|
if(!$tallaId)
|
|
$tallaId = $atribVal->Save();
|
|
|
|
//Guardamos en el Conjunto de Tallas
|
|
$conValor->setConTallaId($infP['conTallaId']);
|
|
$conValor->setTallaId($tallaId);
|
|
$conValor->Save();
|
|
|
|
}//if
|
|
|
|
$pedido->setTallaId($tallaId);
|
|
$pedido->setCantidad($cantidad);
|
|
|
|
$pedido->SaveTalla();
|
|
|
|
$tallas[] = $tallaId;
|
|
|
|
}//if
|
|
|
|
}//foreach
|
|
|
|
//Guardamos Proporcion de Colores
|
|
|
|
$proporcionC = $res['proporcionC'];
|
|
$proporcionNC = $res['proporcionNC'];
|
|
$proporcionIC = $res['proporcionIC'];
|
|
|
|
$colores = array();
|
|
foreach($proporcionC as $kC => $cantidad){
|
|
$colorId = $proporcionIC[$kC];
|
|
|
|
if($cantidad > 0){
|
|
|
|
//Sino existe el color lo guardamos
|
|
if($colorId == ''){
|
|
|
|
$atribVal->setAtributoId(2);
|
|
$atribVal->setNombre(strtoupper($proporcionNC[$kC]));
|
|
|
|
//Checamos si existe la Talla en la BD.
|
|
$colorId = $atribVal->ExistValor();
|
|
|
|
if(!$colorId)
|
|
$colorId = $atribVal->Save();
|
|
|
|
}//if
|
|
|
|
$pedido->setColorId($colorId);
|
|
$pedido->setCantidad($cantidad);
|
|
|
|
$pedido->SaveColor();
|
|
|
|
$colores[] = $colorId;
|
|
|
|
}//if
|
|
|
|
}//foreach
|
|
|
|
//Guardamos los productoItem por cada Talla y Color
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
foreach($tallas as $tallaId){
|
|
|
|
foreach($colores as $colorId){
|
|
|
|
$codigoBarra = $infP['codigoBarra'];
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$producto->setTallaId($tallaId);
|
|
$producto->setColorId($colorId);
|
|
$producto->setCodigoBarra($codigoBarra);
|
|
|
|
if(!$producto->ExistProdItem())
|
|
$producto->SaveItem();
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
//***********************
|
|
|
|
}//else
|
|
|
|
$subtotal += $res['costo'] * $res['cantPrendas'];
|
|
|
|
}//foreach
|
|
|
|
$ivaTotal = 0;
|
|
if($metodoCompra == 'conIva'){
|
|
$iva = $config->GetIva();
|
|
$ivaTotal = ($iva/100) * $subtotal;
|
|
$total = $subtotal + $ivaTotal;
|
|
}else{
|
|
$total = $subtotal;
|
|
}
|
|
|
|
$totalPub = 0;
|
|
$totalFlete = 0;
|
|
$totalDes = 0;
|
|
$totalEsp = 0;
|
|
|
|
if($porcPub){
|
|
$totalPub = $total * ($porcPub / 100);
|
|
$totalPub = number_format($totalPub,2,'.','');
|
|
}
|
|
if($porcFlete){
|
|
$totalFlete = $total * ($porcFlete / 100);
|
|
$totalFlete = number_format($totalFlete,2,'.','');
|
|
}
|
|
if($porcDes){
|
|
$totalDes = $total * ($porcDes / 100);
|
|
$totalDes = number_format($totalDes,2,'.','');
|
|
}
|
|
if($porcEsp){
|
|
$totalEsp = $total * ($porcEsp / 100);
|
|
$totalEsp = number_format($totalEsp,2,'.','');
|
|
}
|
|
|
|
$totalDesc = $total - $totalPub - $totalFlete - $totalDes - $totalEsp;
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setSubtotal($subtotal);
|
|
$pedido->setIva($ivaTotal);
|
|
$pedido->setTotal($total);
|
|
|
|
$pedido->setTotalPub($totalPub);
|
|
$pedido->setTotalFlete($totalFlete);
|
|
$pedido->setTotalDes($totalDes);
|
|
$pedido->setTotalEsp($totalEsp);
|
|
$pedido->setTotalDesc($totalDesc);
|
|
|
|
$pedido->UpdateTotales();
|
|
|
|
$_SESSION['prodsEdit'] = array();
|
|
unset($_SESSION['prodsEdit']);
|
|
|
|
$_SESSION['prodsDel'] = array();
|
|
unset($_SESSION['prodsDel']);
|
|
|
|
$_SESSION['msgPed'] = 'Updated';
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
case 'saveEditPedido2':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$metodoCompra = $_POST['metodoCompra'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$infP = $pedido->Info();
|
|
|
|
$fechaEntrega = date('Y-m-d',strtotime($_POST['fechaEntrega']));
|
|
|
|
if($_POST['fechaEntrega'])
|
|
$fechaEntrega = date('Y-m-d',strtotime($_POST['fechaEntrega']));
|
|
if($_POST['fechaEntregaF'])
|
|
$fechaEntregaF = date('Y-m-d',strtotime($_POST['fechaEntregaF']));
|
|
|
|
$porcPub = $_POST['porcPub'];
|
|
$porcFlete = $_POST['porcFlete'];
|
|
$porcDes = $_POST['porcDes'];
|
|
$porcEsp = $_POST['porcEsp'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setFechaEntrega($fechaEntrega);
|
|
$pedido->setFechaEntregaF($fechaEntregaF);
|
|
$pedido->setMetodoCompra($metodoCompra);
|
|
$pedido->setPorcPub($porcPub);
|
|
$pedido->setPorcFlete($porcFlete);
|
|
$pedido->setPorcDes($porcDes);
|
|
$pedido->setPorcEsp($porcEsp);
|
|
|
|
if(!$pedido->SaveTemp()){
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}//if
|
|
|
|
$pedido->Update();
|
|
|
|
$sqlAdd = '';
|
|
for($k=1; $k<=5; $k++){
|
|
|
|
$folio = $_POST['folioProv_'.$k];
|
|
$fecha = $_POST['fechaFolioProv_'.$k];
|
|
|
|
$k2 = ($k == 1) ? '' : $k;
|
|
|
|
if($fecha != '')
|
|
$fecha = date('Y-m-d',strtotime($fecha));
|
|
|
|
$sqlAdd .= 'folioProv'.$k2.' = "'.$folio.'", fechaFolio'.$k2.' = "'.$fecha.'"';
|
|
|
|
if($k < 5)
|
|
$sqlAdd .= ',';
|
|
}//fork
|
|
|
|
$pedido->UpdateFolios($sqlAdd);
|
|
|
|
//Actualizamos Totales
|
|
|
|
if($infP['subtotal2'] > 0){
|
|
$subtotal = $infP['subtotal2'];
|
|
$completo = 0;
|
|
}else{
|
|
$subtotal = $infP['subtotal'];
|
|
$completo = 1;
|
|
}
|
|
|
|
$ivaTotal = 0;
|
|
if($metodoCompra == 'conIva'){
|
|
$iva = $config->GetIva();
|
|
$ivaTotal = ($iva/100) * $subtotal;
|
|
$total = $subtotal + $ivaTotal;
|
|
}else{
|
|
$total = $subtotal;
|
|
}
|
|
|
|
$totalPub = 0;
|
|
$totalFlete = 0;
|
|
$totalDes = 0;
|
|
$totalEsp = 0;
|
|
|
|
if($porcPub){
|
|
$totalPub = $total * ($porcPub / 100);
|
|
$totalPub = number_format($totalPub,2,'.','');
|
|
}
|
|
if($porcFlete){
|
|
$totalFlete = $total * ($porcFlete / 100);
|
|
$totalFlete = number_format($totalFlete,2,'.','');
|
|
}
|
|
if($porcDes){
|
|
$totalDes = $total * ($porcDes / 100);
|
|
$totalDes = number_format($totalDes,2,'.','');
|
|
}
|
|
if($porcEsp){
|
|
$totalEsp = $total * ($porcEsp / 100);
|
|
$totalEsp = number_format($totalEsp,2,'.','');
|
|
}
|
|
|
|
$totalDesc = $total - $totalPub - $totalFlete - $totalDes - $totalEsp;
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setSubtotal($subtotal);
|
|
$pedido->setIva($ivaTotal);
|
|
$pedido->setTotal($total);
|
|
|
|
$pedido->setTotalPub($totalPub);
|
|
$pedido->setTotalFlete($totalFlete);
|
|
$pedido->setTotalDes($totalDes);
|
|
$pedido->setTotalEsp($totalEsp);
|
|
$pedido->setTotalDesc($totalDesc);
|
|
|
|
if($completo)
|
|
$pedido->UpdateTotales();
|
|
else
|
|
$pedido->UpdateTotales2();
|
|
|
|
$_SESSION['msgPed'] = 'Updated';
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
case "deletePedido":
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
|
|
if(!$pedido->Delete())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
echo 'ok[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
echo '[#]';
|
|
|
|
$pedidos = $pedido->Enumerate();
|
|
|
|
$items = array();
|
|
foreach($pedidos['items'] as $res){
|
|
|
|
$pedido->setPedidoId($res['pedidoId']);
|
|
$productos = $pedido->GetProductos();
|
|
|
|
$costoCompra = 0;
|
|
$precioVenta = 0;
|
|
foreach($productos as $val){
|
|
$totalProds = $val['totalLote'] * $val['cantLotes'];
|
|
|
|
$costoCompra += $val['costo'] * $totalProds;
|
|
$precioVenta += $val['precioVenta'] * $totalProds;
|
|
}
|
|
|
|
$res['costoCompra'] = number_format($costoCompra,2,'.',',');
|
|
$res['precioVenta'] = number_format($precioVenta,2,'.',',');
|
|
|
|
//Obtenemos el Porcentaje de Utilidad
|
|
$utilidad = $precioVenta - $costoCompra;
|
|
|
|
$porcUtilidad = ($utilidad * 100) / $costoCompra;
|
|
$res['utilidad'] = number_format($porcUtilidad,2,'.',',');
|
|
|
|
$proveedor->setProveedorId($res['proveedorId']);
|
|
$res['proveedor'] = utf8_encode($proveedor->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;
|
|
|
|
$fechaEntrega = date('d-m-Y',strtotime($res['fechaEntrega']));
|
|
$res['fechaEntrega'] = $util->FormatDateDMMMY($fechaEntrega);
|
|
|
|
$items[] = $res;
|
|
}
|
|
$pedidos['items'] = $items;
|
|
|
|
$smarty->assign('pedidos', $pedidos);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos.tpl');
|
|
}
|
|
|
|
break;
|
|
|
|
case 'loadLineas':
|
|
|
|
$prodCatId = $_POST['prodCatId'];
|
|
|
|
$prodSubcat->setProdCatId($prodCatId);
|
|
$subcategorias = $prodSubcat->EnumerateAll();
|
|
$subcategorias = $util->EncodeResult($subcategorias);
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('subcategorias', $subcategorias);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/enumProdSubcatPed.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadModelos':
|
|
|
|
$producto->setProveedorId($_POST['proveedorId']);
|
|
$producto->setProdCatId($_POST['prodCatId']);
|
|
$producto->setProdSubcatId($_POST['prodSubcatId']);
|
|
|
|
$productos = $producto->Search2();
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('productos', $productos);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/enumModelos.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadAtributos':
|
|
|
|
$producto->setProductoId($_POST['productoId']);
|
|
$atributos = $producto->GetAtributosAll();
|
|
|
|
echo 'ok[#]';
|
|
echo utf8_encode($atributos);
|
|
|
|
break;
|
|
|
|
case 'loadProporciones':
|
|
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$_SESSION['colores'] = array();
|
|
$_SESSION['tallas'] = array();
|
|
|
|
//Colores
|
|
|
|
$atribVal->setAtributoId(2);
|
|
$resColores = $atribVal->EnumerateAll();
|
|
|
|
$colores = array();
|
|
foreach($resColores as $res){
|
|
$res['id'] = $res['atribValId'];
|
|
$res['nombre'] = strtoupper($res['nombre']);
|
|
$res['cantidad'] = 0;
|
|
$colores[] = $res;
|
|
}
|
|
|
|
$_SESSION['colores'] = $colores;
|
|
|
|
//Tallas
|
|
|
|
$atribVal->setAtributoId(1);
|
|
$resTallas = $atribVal->EnumerateAll();
|
|
|
|
$tallas = array();
|
|
foreach($resTallas as $res){
|
|
$res['id'] = $res['atribValId'];
|
|
$res['nombre'] = strtoupper($res['nombre']);
|
|
$res['cantidad'] = 0;
|
|
$tallas[] = $res;
|
|
}
|
|
|
|
$_SESSION['tallas'] = $tallas;
|
|
|
|
//Obtenemos Totales
|
|
|
|
foreach($tallas as $idT => $t){
|
|
|
|
foreach($colores as $idC => $c)
|
|
$subtotales[$idT][$idC] = 0;
|
|
|
|
$totales[$idT] = 0;
|
|
|
|
}//foreach
|
|
|
|
$totalLote = 0;
|
|
|
|
if($productoId){
|
|
|
|
$smarty->assign('tallas', $tallas);
|
|
$smarty->assign('colores', $colores);
|
|
$smarty->assign('totales', $totales);
|
|
$smarty->assign('totalLote', $totalLote);
|
|
$smarty->assign('productoId', $productoId);
|
|
$smarty->assign('subtotales', $subtotales);
|
|
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-proporciones.tpl');
|
|
|
|
break;
|
|
|
|
case 'updateProporcion':
|
|
|
|
$productoId = $_POST['productoId'];
|
|
$proporcionNT = $_POST['proporcionNT'];
|
|
$proporcionIT = $_POST['proporcionIT'];
|
|
$proporcionT = $_POST['proporcionT'];
|
|
$proporcionNC = $_POST['proporcionNC'];
|
|
$proporcionIC = $_POST['proporcionIC'];
|
|
$proporcionC = $_POST['proporcionC'];
|
|
|
|
$tallas = array();
|
|
foreach($proporcionNT as $k => $nombre){
|
|
$res['id'] = $proporcionIT[$k];
|
|
$res['nombre'] = $nombre;
|
|
$res['cantidad'] = $proporcionT[$k];
|
|
$tallas[] = $res;
|
|
}
|
|
|
|
$_SESSION['tallas'] = $tallas;
|
|
|
|
$colores = array();
|
|
foreach($proporcionNC as $k => $nombre){
|
|
$res['id'] = $proporcionIC[$k];
|
|
$res['nombre'] = $nombre;
|
|
$res['cantidad'] = $proporcionC[$k];
|
|
$colores[] = $res;
|
|
}
|
|
|
|
$_SESSION['colores'] = $colores;
|
|
|
|
//Obtenemos Totales
|
|
|
|
$totalLote = 0;
|
|
$totales = array();
|
|
$subtotales = array();
|
|
foreach($tallas as $idT => $t){
|
|
|
|
$cantT = $t['cantidad'];
|
|
|
|
$total = 0;
|
|
foreach($colores as $idC => $c){
|
|
|
|
$cantC = $c['cantidad'];
|
|
|
|
$subtotal = $cantC * $cantT;
|
|
$total += $subtotal;
|
|
|
|
$subtotales[$idT][$idC] = $subtotal;
|
|
}
|
|
|
|
$totales[$idT] = $total;
|
|
$totalLote += $total;
|
|
|
|
}//foreach
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('tallas', $tallas);
|
|
$smarty->assign('colores', $colores);
|
|
$smarty->assign('totales', $totales);
|
|
$smarty->assign('totalLote', $totalLote);
|
|
$smarty->assign('productoId', $productoId);
|
|
$smarty->assign('subtotales', $subtotales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-proporciones.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadTallasColores':
|
|
|
|
$k = $_POST['id'];
|
|
|
|
$producto->setProductoId($_POST['productoId']);
|
|
$resTallas = $producto->GetTallas();
|
|
|
|
$tallas = array();
|
|
foreach($resTallas as $res){
|
|
$res['atribValId'] = $res['tallaId'];
|
|
|
|
$atribVal->setAtribValId($res['atribValId']);
|
|
$res['nombre'] = utf8_encode($atribVal->GetNameById());
|
|
|
|
$tallas[] = $res;
|
|
}
|
|
|
|
$resColores = $producto->GetColores();
|
|
|
|
$colores = array();
|
|
foreach($resColores as $res){
|
|
$res['atribValId'] = $res['colorId'];
|
|
|
|
$atribVal->setAtribValId($res['atribValId']);
|
|
$res['nombre'] = utf8_encode($atribVal->GetNameById());
|
|
|
|
$colores[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$p['tallas'] = $tallas;
|
|
|
|
$smarty->assign('p', $p);
|
|
$smarty->assign('k', $k);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/enumTallas2.tpl');
|
|
|
|
echo '[#]';
|
|
|
|
$p['colores'] = $colores;
|
|
|
|
$smarty->assign('p', $p);
|
|
$smarty->assign('k', $k);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/enumColores2.tpl');
|
|
|
|
break;
|
|
|
|
case 'checkProdProv':
|
|
|
|
$proveedorId = $_POST['proveedorId'];
|
|
|
|
$products = $_SESSION['prodsPed'];
|
|
|
|
if(count($products) == 0){
|
|
echo 'ok[#]';
|
|
exit;
|
|
}
|
|
|
|
foreach($products as $res){
|
|
$productoId = $res['productoId'];
|
|
break;
|
|
}
|
|
|
|
$producto->setProductoId($productoId);
|
|
$info = $producto->Info();
|
|
|
|
if($proveedorId != $info['proveedorId']){
|
|
$util->setError(20076,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
break;
|
|
|
|
case 'search':
|
|
|
|
$status = $_POST['status2'];
|
|
$resurtido = $_POST['resurtido2'];
|
|
|
|
if($status == 'Distribucion2'){
|
|
$status = 'Distribucion';
|
|
$resurtido = '1';
|
|
}elseif($status == 'Rechazado2'){
|
|
$status = 'Rechazado';
|
|
$resurtido = '1';
|
|
}elseif($status == 'Distribucion' || $status == 'Rechazado')
|
|
$resurtido = '0';
|
|
|
|
$pedido->setProveedorId($_POST['proveedorId2']);
|
|
$pedido->setMetodoCompra($_POST['metodoCompra2']);
|
|
$pedido->setStatus($status);
|
|
$pedido->setResurtido($resurtido);
|
|
$pedido->setNoPedido($_POST['noPedido2']);
|
|
$pedido->setAjuste($_POST['ajuste2']);
|
|
|
|
if($_POST['fechaIni2']){
|
|
$fechaIni2 = date('Y-m-d',strtotime($_POST['fechaIni2']));
|
|
$pedido->setFecha($fechaIni2);
|
|
}
|
|
|
|
$resPedidos = $pedido->Search();
|
|
|
|
$items = array();
|
|
foreach($resPedidos as $res){
|
|
|
|
$pedido->setPedidoId($res['pedidoId']);
|
|
$productos = $pedido->GetProductos();
|
|
|
|
$costoCompra = 0;
|
|
$precioVenta = 0;
|
|
foreach($productos as $val){
|
|
$totalProds = ($val['prendasComp'] == 1) ? $val['cantPrendas'] : $val['prendasRec'];
|
|
$precioVenta += $val['precioVenta'] * $totalProds;
|
|
}
|
|
|
|
if($res['total2'] > 0)
|
|
$costoCompra = $res['total2'];
|
|
else
|
|
$costoCompra = $res['total'];
|
|
|
|
$res['costoCompra'] = number_format($costoCompra,2,'.',',');
|
|
$res['precioVenta'] = number_format($precioVenta,2,'.',',');
|
|
|
|
//Obtenemos el Porcentaje de Utilidad
|
|
if($costoCompra > 0){
|
|
$porcUtilidad = (($costoCompra / $precioVenta) - 1) * -1 * 100;
|
|
$res['utilidad'] = number_format($porcUtilidad,2,'.',',');
|
|
}else{
|
|
$res['utilidad'] = 0;
|
|
}
|
|
|
|
$proveedor->setProveedorId($res['proveedorId']);
|
|
$res['proveedor'] = utf8_encode($proveedor->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;
|
|
|
|
$fechaEntrega = date('d-m-Y',strtotime($res['fechaEntrega']));
|
|
$res['fechaEntrega'] = $util->FormatDateDMMMY($fechaEntrega);
|
|
|
|
if($res['fechaEntregaF']){
|
|
$fechaEntregaF = date('d-m-Y',strtotime($res['fechaEntregaF']));
|
|
$res['fechaEntregaF'] = $util->FormatDateDMMMY($fechaEntregaF);
|
|
}
|
|
|
|
if($res['status'] == 'Autorizado' || $res['status'] == 'OrdenCompEnv')
|
|
$res['distComp'] = $pedido->DistCompleta();
|
|
else
|
|
$res['distComp'] = 1;
|
|
|
|
$items[] = $res;
|
|
}
|
|
$pedidos['items'] = $items;
|
|
|
|
$smarty->assign('pedidos', $pedidos);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos.tpl');
|
|
|
|
break;
|
|
|
|
//PRODUCTOS
|
|
|
|
case 'addProducto':
|
|
|
|
$products = $_SESSION['prodsPed'];
|
|
|
|
$prodCatId = $_POST['prodCatId'];
|
|
$prodSubcatId = $_POST['prodSubcatId'];
|
|
$productoId = $_POST['productoId'];
|
|
$proporcionT = $_POST['proporcionT'];
|
|
$proporcionIT = $_POST['proporcionIT'];
|
|
$proporcionNT = $_POST['proporcionNT'];
|
|
$proporcionC = $_POST['proporcionC'];
|
|
$proporcionIC = $_POST['proporcionIC'];
|
|
$proporcionNC = $_POST['proporcionNC'];
|
|
|
|
$card['totalLote'] = $_POST['totalLote'];
|
|
$card['cantLotes'] = $_POST['cantLotes'];
|
|
|
|
//Checamos si es el mismo Proveedor
|
|
|
|
$producto->setProductoId($productoId);
|
|
$info = $producto->Info();
|
|
|
|
$proveedorId = $info['proveedorId'];
|
|
|
|
$difProv = false;
|
|
if(count($products) > 0){
|
|
|
|
foreach($products as $res){
|
|
$idProd = $res['productoId'];
|
|
$producto->setProductoId($idProd);
|
|
$info = $producto->Info();
|
|
|
|
if($proveedorId != $info['proveedorId']){
|
|
$difProv = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if($difProv){
|
|
$util->setError(20129,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
echo '[#]';
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos.tpl');
|
|
exit;
|
|
}
|
|
|
|
}
|
|
|
|
//Checamos si ya se encuentra el producto agregado
|
|
|
|
$error = 0;
|
|
if($prodCatId == '')
|
|
$error = 20056;
|
|
elseif($prodSubcatId == '')
|
|
$error = 20057;
|
|
elseif($productoId == '')
|
|
$error = 20058;
|
|
|
|
if(count($products) == 0)
|
|
$products = array();
|
|
|
|
$prodFound = 0;
|
|
if($productoId){
|
|
foreach($products as $res){
|
|
if($res['productoId'] == $productoId){
|
|
$prodFound = 1;
|
|
$error = 20060;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if($prodFound == 0){
|
|
|
|
if($card['totalLote'] == 0)
|
|
$error = 20059;
|
|
elseif(intval($_POST['cantPrendas']) == 0)
|
|
$error = 40005;
|
|
/*
|
|
elseif(intval($card['cantLotes']) == 0)
|
|
$error = 20055;
|
|
*/
|
|
|
|
}
|
|
|
|
//Checamos las Cant. de Prendas a Recibir
|
|
|
|
$totalLote = $_POST['totalLote'];
|
|
$cantPrendas = $_POST['cantPrendas'];
|
|
/*
|
|
$cantLotes = $cantPrendas / $totalLote;
|
|
|
|
$num = explode('.',$cantLotes);
|
|
|
|
if($num[1] > 0)
|
|
$error = 20095;
|
|
*/
|
|
//Checamos si tienen nombre asignado las Tallas y Colores
|
|
|
|
foreach($proporcionNT as $nomT){
|
|
if(trim($nomT) == ''){
|
|
$error = 20118;
|
|
break;
|
|
}
|
|
}
|
|
|
|
foreach($proporcionNC as $nomC){
|
|
if(trim($nomC) == ''){
|
|
$error = 20119;
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Checamos si hay nombres repetido en las Tallas y Colores
|
|
|
|
$nomTallas = array();
|
|
foreach($proporcionNT as $nomT){
|
|
$nomT = strtoupper(trim($nomT));
|
|
if(in_array($nomT, $nomTallas)){
|
|
$error = 20120;
|
|
break;
|
|
}else{
|
|
$nomTallas[] = $nomT;
|
|
}
|
|
}
|
|
|
|
$nomColores = array();
|
|
foreach($proporcionNC as $nomC){
|
|
$nomC = strtoupper(trim($nomC));
|
|
if(in_array($nomC,$nomColores)){
|
|
$error = 20121;
|
|
break;
|
|
}else{
|
|
$nomColores[] = $nomC;
|
|
}
|
|
}
|
|
|
|
//Colores
|
|
$existColor = false;
|
|
foreach($proporcionNC as $k => $nombre){
|
|
$res1['cantidad'] = $proporcionC[$k];
|
|
if($res1['cantidad'] > 0)
|
|
$existColor = true;
|
|
}
|
|
|
|
if(!$existColor)
|
|
$error = 20125;
|
|
|
|
//Tallas
|
|
|
|
$existTalla = false;
|
|
foreach($proporcionNT as $k => $nombre){
|
|
$res2['cantidad'] = $proporcionT[$k];
|
|
if($res2['cantidad'] > 0)
|
|
$existTalla = true;
|
|
}
|
|
|
|
if(!$existTalla)
|
|
$error = 20124;
|
|
|
|
if($error){
|
|
$util->setError($error, 'error', '', '');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
echo '[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos.tpl');
|
|
|
|
exit;
|
|
}
|
|
|
|
$card['cantPrendas'] = $cantPrendas;
|
|
|
|
$card['productoId'] = $productoId;
|
|
$card['prodCatId'] = $prodCatId;
|
|
$card['prodSubcatId'] = $prodSubcatId;
|
|
$card['proporcionNT'] = $proporcionNT;
|
|
$card['proporcionIT'] = $proporcionIT;
|
|
$card['proporcionT'] = $proporcionT;
|
|
$card['proporcionNC'] = $proporcionNC;
|
|
$card['proporcionIC'] = $proporcionIC;
|
|
$card['proporcionC'] = $proporcionC;
|
|
|
|
$prodCat->setProdCatId($prodCatId);
|
|
$card['departamento'] = utf8_encode($prodCat->GetNameById());
|
|
|
|
$prodSubcat->setProdSubcatId($prodSubcatId);
|
|
$card['linea'] = utf8_encode($prodSubcat->GetNameById());
|
|
|
|
$producto->setProductoId($productoId);
|
|
$infP = $producto->Info();
|
|
$card['modelo'] = utf8_encode($infP['modelo']);
|
|
$card['codigoBarra'] = $infP['codigoBarra'];
|
|
|
|
$card['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
//PROPORCIONES
|
|
|
|
//Colores
|
|
|
|
$colores = array();
|
|
foreach($proporcionNC as $k => $nombre){
|
|
$res1['id'] = $proporcionIC[$k];
|
|
$res1['nombre'] = strtoupper($nombre);
|
|
$res1['cantidad'] = $proporcionC[$k];
|
|
$colores[] = $res1;
|
|
}
|
|
|
|
//Tallas
|
|
|
|
$tallas = array();
|
|
foreach($proporcionNT as $k => $nombre){
|
|
$res2['id'] = $proporcionIT[$k];
|
|
$res2['nombre'] = strtoupper($nombre);
|
|
$res2['cantidad'] = $proporcionT[$k];
|
|
$tallas[] = $res2;
|
|
}
|
|
|
|
//Obtenemos Totales
|
|
|
|
$totales = array();
|
|
$subtotales = array();
|
|
foreach($tallas as $idT => $t){
|
|
|
|
$cantT = $t['cantidad'];
|
|
|
|
$total = 0;
|
|
foreach($colores as $idC => $c){
|
|
|
|
$cantC = $c['cantidad'];
|
|
|
|
$subtotal = $cantC * $cantT;
|
|
$total += $subtotal;
|
|
|
|
$subtotales[$idT][$idC] = $subtotal;
|
|
}
|
|
|
|
$totales[$idT] = $total;
|
|
|
|
}//foreach
|
|
|
|
$card['tallas'] = $tallas;
|
|
$card['colores'] = $colores;
|
|
$card['totales'] = $totales;
|
|
$card['subtotales'] = $subtotales;
|
|
|
|
//FIN PROPORCIONES
|
|
|
|
$products[] = $card;
|
|
|
|
$_SESSION['prodsPed'] = $products;
|
|
|
|
$resSuc = $sucursal->GetSucursalesByEmpresaId();
|
|
$sucursales = $util->DecodeUrlResult($resSuc);
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos.tpl');
|
|
|
|
echo '[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-resurtido.tpl');
|
|
|
|
break;
|
|
|
|
case 'addProdEdit':
|
|
|
|
$products = $_SESSION['prodsEdit'];
|
|
|
|
$prodCatId = $_POST['prodCatId'];
|
|
$prodSubcatId = $_POST['prodSubcatId'];
|
|
$productoId = $_POST['productoId'];
|
|
$proporcionT = $_POST['proporcionT'];
|
|
$proporcionIT = $_POST['proporcionIT'];
|
|
$proporcionNT = $_POST['proporcionNT'];
|
|
$proporcionC = $_POST['proporcionC'];
|
|
$proporcionIC = $_POST['proporcionIC'];
|
|
$proporcionNC = $_POST['proporcionNC'];
|
|
|
|
$card['totalLote'] = $_POST['totalLote'];
|
|
$card['cantLotes'] = $_POST['cantLotes'];
|
|
|
|
//Checamos si es el mismo Proveedor
|
|
|
|
$producto->setProductoId($productoId);
|
|
$info = $producto->Info();
|
|
|
|
$proveedorId = $info['proveedorId'];
|
|
|
|
$difProv = false;
|
|
if(count($products) > 0){
|
|
|
|
foreach($products as $res){
|
|
$idProd = $res['productoId'];
|
|
$producto->setProductoId($idProd);
|
|
$info = $producto->Info();
|
|
|
|
if($proveedorId != $info['proveedorId']){
|
|
$difProv = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if($difProv){
|
|
$util->setError(20129,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
echo '[#]';
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos.tpl');
|
|
exit;
|
|
}
|
|
|
|
}
|
|
|
|
//Checamos si ya se encuentra el producto agregado
|
|
|
|
$error = 0;
|
|
if($prodCatId == '')
|
|
$error = 20056;
|
|
elseif($prodSubcatId == '')
|
|
$error = 20057;
|
|
elseif($productoId == '')
|
|
$error = 20058;
|
|
|
|
if(count($products) == 0)
|
|
$products = array();
|
|
|
|
$prodFound = 0;
|
|
if($productoId){
|
|
foreach($products as $res){
|
|
if($res['productoId'] == $productoId){
|
|
$prodFound = 1;
|
|
$error = 20060;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
if($prodFound == 0){
|
|
|
|
if($card['totalLote'] == 0)
|
|
$error = 20059;
|
|
elseif(intval($_POST['cantPrendas']) == 0)
|
|
$error = 40005;
|
|
/*
|
|
elseif(intval($card['cantLotes']) == 0)
|
|
$error = 20055;
|
|
*/
|
|
|
|
}
|
|
|
|
//Checamos las Cant. de Prendas a Recibir
|
|
|
|
$totalLote = $_POST['totalLote'];
|
|
$cantPrendas = $_POST['cantPrendas'];
|
|
/*
|
|
$cantLotes = $cantPrendas / $totalLote;
|
|
|
|
$num = explode('.',$cantLotes);
|
|
|
|
if($num[1] > 0)
|
|
$error = 20095;
|
|
*/
|
|
//Checamos si tienen nombre asignado las Tallas y Colores
|
|
|
|
foreach($proporcionNT as $res){
|
|
if(trim($res['nombre']) == ''){
|
|
$error = 20118;
|
|
break;
|
|
}
|
|
}
|
|
|
|
foreach($proporcionNC as $res){
|
|
if(trim($res['nombre']) == ''){
|
|
$error = 20119;
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Checamos si hay nombres repetido en las Tallas y Colores
|
|
|
|
$nomTallas = array();
|
|
foreach($proporcionNT as $nomT){
|
|
$nomT = strtoupper(trim($nomT));
|
|
if(in_array($nomT, $nomTallas)){
|
|
$error = 20120;
|
|
break;
|
|
}else{
|
|
$nomTallas[] = $nomT;
|
|
}
|
|
}
|
|
|
|
$nomColores = array();
|
|
foreach($proporcionNC as $nomC){
|
|
$nomC = strtoupper(trim($nomC));
|
|
if(in_array($nomC,$nomColores)){
|
|
$error = 20121;
|
|
break;
|
|
}else{
|
|
$nomColores[] = $nomC;
|
|
}
|
|
}
|
|
|
|
//Colores
|
|
$existColor = false;
|
|
foreach($proporcionNC as $k => $nombre){
|
|
$res1['cantidad'] = $proporcionC[$k];
|
|
if($res1['cantidad'] > 0)
|
|
$existColor = true;
|
|
}
|
|
|
|
if(!$existColor)
|
|
$error = 20125;
|
|
|
|
//Tallas
|
|
|
|
$existTalla = false;
|
|
foreach($proporcionNT as $k => $nombre){
|
|
$res2['cantidad'] = $proporcionT[$k];
|
|
if($res2['cantidad'] > 0)
|
|
$existTalla = true;
|
|
}
|
|
|
|
if(!$existTalla)
|
|
$error = 20124;
|
|
|
|
if($error){
|
|
$util->setError($error, 'error', '', '');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
echo '[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos.tpl');
|
|
|
|
exit;
|
|
}
|
|
|
|
$card['cantPrendas'] = $cantPrendas;
|
|
|
|
$card['productoId'] = $productoId;
|
|
$card['prodCatId'] = $prodCatId;
|
|
$card['prodSubcatId'] = $prodSubcatId;
|
|
$card['proporcionNT'] = $proporcionNT;
|
|
$card['proporcionIT'] = $proporcionIT;
|
|
$card['proporcionT'] = $proporcionT;
|
|
$card['proporcionNC'] = $proporcionNC;
|
|
$card['proporcionIC'] = $proporcionIC;
|
|
$card['proporcionC'] = $proporcionC;
|
|
|
|
$prodCat->setProdCatId($prodCatId);
|
|
$card['departamento'] = utf8_encode($prodCat->GetNameById());
|
|
|
|
$prodSubcat->setProdSubcatId($prodSubcatId);
|
|
$card['linea'] = utf8_encode($prodSubcat->GetNameById());
|
|
|
|
$producto->setProductoId($productoId);
|
|
$infP = $producto->Info();
|
|
$card['modelo'] = utf8_encode($infP['modelo']);
|
|
$card['codigoBarra'] = $infP['codigoBarra'];
|
|
$card['costo'] = $infP['costo'];
|
|
$card['precioVenta'] = $infP['precioVentaIva'];
|
|
|
|
$card['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
//PROPORCIONES
|
|
|
|
//Colores
|
|
|
|
$colores = array();
|
|
foreach($proporcionNC as $k => $nombre){
|
|
$res1['id'] = $proporcionIC[$k];
|
|
$res1['nombre'] = strtoupper($nombre);
|
|
$res1['cantidad'] = $proporcionC[$k];
|
|
$colores[] = $res1;
|
|
}
|
|
|
|
//Tallas
|
|
|
|
$tallas = array();
|
|
foreach($proporcionNT as $k => $nombre){
|
|
$res2['id'] = $proporcionIT[$k];
|
|
$res2['nombre'] = strtoupper($nombre);
|
|
$res2['cantidad'] = $proporcionT[$k];
|
|
$tallas[] = $res2;
|
|
}
|
|
|
|
//Obtenemos Totales
|
|
|
|
$totales = array();
|
|
$subtotales = array();
|
|
foreach($tallas as $idT => $t){
|
|
|
|
$cantT = $t['cantidad'];
|
|
|
|
$total = 0;
|
|
foreach($colores as $idC => $c){
|
|
|
|
$cantC = $c['cantidad'];
|
|
|
|
$subtotal = $cantC * $cantT;
|
|
$total += $subtotal;
|
|
|
|
$subtotales[$idT][$idC] = $subtotal;
|
|
}
|
|
|
|
$totales[$idT] = $total;
|
|
|
|
}//foreach
|
|
|
|
$card['tallas'] = $tallas;
|
|
$card['colores'] = $colores;
|
|
$card['totales'] = $totales;
|
|
$card['subtotales'] = $subtotales;
|
|
|
|
//FIN PROPORCIONES
|
|
|
|
$products[] = $card;
|
|
|
|
$_SESSION['prodsEdit'] = $products;
|
|
|
|
$resSuc = $sucursal->GetSucursalesByEmpresaId();
|
|
$sucursales = $util->DecodeUrlResult($resSuc);
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-edit.tpl');
|
|
|
|
echo '[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-resurtido.tpl');
|
|
|
|
break;
|
|
|
|
case 'deleteProducto':
|
|
|
|
$k = $_POST['k'];
|
|
|
|
$products = $_SESSION['prodsPed'];
|
|
|
|
unset($products[$k]);
|
|
|
|
$_SESSION['prodsPed'] = $products;
|
|
|
|
$resSuc = $sucursal->GetSucursalesByEmpresaId();
|
|
$sucursales = $util->DecodeUrlResult($resSuc);
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos.tpl');
|
|
|
|
echo '[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-resurtido.tpl');
|
|
|
|
break;
|
|
|
|
case 'deleteProdEdit':
|
|
|
|
$k = $_POST['k'];
|
|
|
|
$products = $_SESSION['prodsEdit'];
|
|
|
|
$card = $products[$k];
|
|
|
|
if($card['pedProdId'])
|
|
$_SESSION['prodsDel'][] = $card;
|
|
|
|
unset($products[$k]);
|
|
|
|
$_SESSION['prodsEdit'] = $products;
|
|
|
|
$resSuc = $sucursal->GetSucursalesByEmpresaId();
|
|
$sucursales = $util->DecodeUrlResult($resSuc);
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-edit.tpl');
|
|
|
|
echo '[#]';
|
|
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-resurtido.tpl');
|
|
|
|
break;
|
|
|
|
case 'aprobarPedido':
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
if(!$pedido->Aprobar())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
$_SESSION['msgPed'] = 'Aprobado';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'autorizarPedido':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
$infP = $pedido->Info();
|
|
|
|
//Verificamos si todos los productos fueron aprobados
|
|
|
|
$products = $pedido->GetProductos();
|
|
|
|
$pendientes = 0;
|
|
foreach($products as $res){
|
|
|
|
//Aprobamos todos los productos
|
|
if($infP['resurtido']){
|
|
|
|
$pedido->setProductoId($res['productoId']);
|
|
$pedido->setStatus('Aprobado');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
}elseif($res['status'] == 'Pendiente'){
|
|
$pendientes++;
|
|
}
|
|
|
|
}//foreach
|
|
|
|
if($pendientes > 0){
|
|
$util->setError(20064,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(!$pedido->Autorizar())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
$_SESSION['msgPed'] = 'Autorizado';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'rechazarPedidoPopup':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$info = $pedido->Info();
|
|
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $card){
|
|
|
|
$prodCatId = $card['prodCatId'];
|
|
$prodSubcatId = $card['prodSubcatId'];
|
|
$productoId = $card['productoId'];
|
|
|
|
$card['productoId'] = $productoId;
|
|
$card['prodCatId'] = $prodCatId;
|
|
$card['prodSubcatId'] = $prodSubcatId;
|
|
|
|
$prodCat->setProdCatId($prodCatId);
|
|
$card['departamento'] = $prodCat->GetNameById();
|
|
|
|
$prodSubcat->setProdSubcatId($prodSubcatId);
|
|
$card['linea'] = $prodSubcat->GetNameById();
|
|
|
|
$producto->setProductoId($productoId);
|
|
$infP = $producto->Info();
|
|
$card['modelo'] = strtoupper($infP['modelo']);
|
|
|
|
$card['cantidad'] = $card['totalLote'] * $card['cantLotes'];
|
|
$totalP = $card['costo'] * $card['cantidad'];
|
|
$card['total'] = number_format($totalP,2);
|
|
|
|
$products[] = $card;
|
|
|
|
}//foreach
|
|
|
|
$info['subtotal'] = number_format($info['subtotal'],2);
|
|
$info['iva'] = number_format($info['iva'],2);
|
|
$info['total'] = number_format($info['total'],2);
|
|
|
|
$motivos = $motivo->EnumerateAll();
|
|
$motivos = $util->EncodeResult($motivos);
|
|
|
|
$smarty->assign('info', $info);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('motivos', $motivos);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/rechazar-pedido-popup.tpl');
|
|
|
|
break;
|
|
|
|
case 'rechazarPedido':
|
|
|
|
$motivoId = $_POST['motivoId'];
|
|
$idProd = $_POST['idProd'];
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
$pedido->setMotivoId($motivoId);
|
|
|
|
if($motivoId == 3)
|
|
$pedido->setOtroMotivo($_POST['otroMotivo']);
|
|
|
|
if(count($idProd) == 0)
|
|
$idProd = array();
|
|
|
|
if($motivoId != 4)
|
|
$idProd = array();
|
|
|
|
if(!$pedido->Rechazar())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
|
|
foreach($idProd as $productoId){
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->CheckAsRemove();
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
$_SESSION['msgPed'] = 'Rechazado';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'updateSaldoPrendas':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['idProd'];
|
|
|
|
$sucursales = $sucursal->GetSucursalesByEmpresaId();
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
foreach($resProducts as $res){
|
|
|
|
if($res['productoId'] != $productoId)
|
|
continue;
|
|
|
|
$productoId = $res['productoId'];
|
|
$cantPrendas = $res['cantPrendas'];
|
|
|
|
$totPrendas = 0;
|
|
foreach($sucursales as $suc){
|
|
|
|
$sucursalId = $suc['sucursalId'];
|
|
$prendasSuc = $_POST['cant_'.$productoId.'_'.$sucursalId];
|
|
|
|
$totPrendas += $prendasSuc;
|
|
|
|
}//foreach
|
|
|
|
$saldoPrendas = $cantPrendas - $totPrendas;
|
|
|
|
}//foreach
|
|
|
|
|
|
echo 'ok[#]';
|
|
echo $saldoPrendas;
|
|
|
|
break;
|
|
|
|
case 'distribucionPedido':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
|
|
$sucursales = $sucursal->GetSucursalesByEmpresaId();
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$productoId = $res['productoId'];
|
|
$cantPrendas = $res['cantPrendas'];
|
|
|
|
$producto->setProductoId($productoId);
|
|
$nomProducto = utf8_encode($producto->GetModeloById());
|
|
|
|
$totPrendas = 0;
|
|
foreach($sucursales as $suc){
|
|
|
|
$sucursalId = $suc['sucursalId'];
|
|
$prendasSuc = $_POST['cant_'.$productoId.'_'.$sucursalId];
|
|
|
|
$card['productoId'] = $productoId;
|
|
$card['sucursalId'] = $sucursalId;
|
|
$card['cantidad'] = $prendasSuc;
|
|
|
|
$dist[] = $card;
|
|
|
|
$totPrendas += $prendasSuc;
|
|
|
|
}//foreach
|
|
|
|
$continue = true;
|
|
if($totPrendas > $cantPrendas){
|
|
$util->setError(20096,'error','',strtoupper($nomProducto));
|
|
$continue = false;
|
|
}elseif($totPrendas < $cantPrendas){
|
|
$util->setError(20097,'error','',strtoupper($nomProducto));
|
|
$continue = false;
|
|
}
|
|
|
|
if(!$continue){
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
}//foreach
|
|
|
|
//Guardamos las Distribuciones
|
|
|
|
foreach($dist as $res){
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($res['productoId']);
|
|
$pedido->setSucursalId($res['sucursalId']);
|
|
$pedido->setCantidad($res['cantidad']);
|
|
|
|
$pedido->SaveDistribucion();
|
|
|
|
}//foreach
|
|
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
$pedido->Distribucion();
|
|
|
|
//Eliminamos productos repetidos en distribucion
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->DeleteProdRepetidos();
|
|
|
|
echo 'ok[#]';
|
|
$_SESSION['msgPed'] = 'Distribucion';
|
|
|
|
//Autorizar Pedido Automatico
|
|
|
|
foreach($resProducts as $res){
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($res['productoId']);
|
|
$pedido->setStatus('Aprobado');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
}//foreach
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
if($pedido->Autorizar()){
|
|
$_SESSION['msgPed'] = 'Autorizado';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'distribucionPedido2':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
|
|
//Verificamos si todos los productos fueron aprobados
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$products = $pedido->GetProductos();
|
|
|
|
$pendientes = 0;
|
|
foreach($products as $res){
|
|
if($res['status'] == 'Aprobado' || $res['status'] == 'Sugerencia')
|
|
$pendientes++;
|
|
}
|
|
|
|
if($pendientes > 0){
|
|
$util->setError(20064,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
foreach($products as $res){
|
|
|
|
$productoId = $res['productoId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
|
|
if($res['status'] == 'Aprobado2'){
|
|
|
|
//Eliminamos los Productos de Distribucion
|
|
$pedido->DeleteDistribucion();
|
|
|
|
//Copiamos los Productos de Sugerencia a Distribucion
|
|
$pedido->setUsuario('Directivo');
|
|
$prodSug = $pedido->GetDistSug();
|
|
|
|
foreach($prodSug as $val){
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($val['productoId']);
|
|
$pedido->setSucursalId($val['sucursalId']);
|
|
$pedido->setCantidad($val['cantidad']);
|
|
|
|
$pedido->SaveDistribucion();
|
|
|
|
}//foreach
|
|
|
|
//Eliminamos los Productos de Sugerencia
|
|
$pedido->setUsuario('Directivo');
|
|
$pedido->DeleteSugerencia();
|
|
|
|
}elseif($res['status'] == 'Sugerencia2' || $res['status'] == 'Sugerencia3'){
|
|
|
|
//Eliminamos los Productos de Distribucion
|
|
$pedido->DeleteDistribucion();
|
|
|
|
//Copiamos los Productos de Sugerencia2 a Distribucion
|
|
$pedido->setUsuario('Distribucion');
|
|
$prodSug = $pedido->GetDistSug();
|
|
|
|
foreach($prodSug as $val){
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($val['productoId']);
|
|
$pedido->setSucursalId($val['sucursalId']);
|
|
$pedido->setCantidad($val['cantidad']);
|
|
|
|
$pedido->SaveDistribucion();
|
|
|
|
}//foreach
|
|
|
|
//Eliminamos los Productos de Sugerencia
|
|
$pedido->setUsuario('Directivo');
|
|
$pedido->DeleteSugerencia();
|
|
|
|
//Eliminamos los Productos de Sugerencia2
|
|
$pedido->setUsuario('Distribucion');
|
|
$pedido->DeleteSugerencia();
|
|
|
|
|
|
}//if
|
|
|
|
//Actualizamos el Status del Producto a Pendiente
|
|
$pedido->setStatus('Pendiente');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
}//foreach
|
|
|
|
//Eliminamos productos repetidos en distribucion
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->DeleteProdRepetidos();
|
|
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
if(!$pedido->Distribucion())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
$_SESSION['msgPed'] = 'Distribucion';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'sugerenciasPedido':
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
//Verificamos si todos los productos fueron aprobados
|
|
|
|
$products = $pedido->GetProductos();
|
|
|
|
$pendientes = 0;
|
|
foreach($products as $res){
|
|
if($res['status'] == 'Pendiente')
|
|
$pendientes++;
|
|
}
|
|
|
|
if($pendientes > 0){
|
|
$util->setError(20064,'error','','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(!$pedido->Sugerir())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
$_SESSION['msgPed'] = 'Sugerencia';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'enviarOrdenCompra':
|
|
|
|
$aprobado = $_POST['aprobado'];
|
|
$enviar = $_POST['enviar'];
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
$info = $pedido->Info();
|
|
|
|
if($info['piezasCaja'] == 0 && $aprobado == 0){
|
|
echo 'noPzas[#]';
|
|
exit;
|
|
}
|
|
|
|
if(!$pedido->EnviarOrdenCompra()){
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if($enviar == 0){
|
|
$_SESSION['msgPed'] = 'OrdenCompEnv2';
|
|
echo 'ok2[#]';
|
|
}else{
|
|
$_SESSION['msgPed'] = 'OrdenCompEnv';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'cancelarOrdenCompraEnv':
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
|
|
if(!$pedido->CancelarOrdenCompraEnv())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
$_SESSION['msgPed'] = 'OrdenCompEnvCan';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'continuarPedido':
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
|
|
if(!$pedido->ContinuarPedido())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
$_SESSION['msgPed'] = 'PedidoActivado';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'ingresarOrdenCompra':
|
|
|
|
$fechaEntExp = $_POST['fechaEntExp'];
|
|
$pedidoId = $_POST['pedidoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setFolioProv($_POST['folio']);
|
|
$pedido->setUsuarioId($_SESSION['loginKey']);
|
|
$pedido->setFechaFolio($_POST['fechaFolio']);
|
|
|
|
if(count($_POST['pedDistIds']) == 0)
|
|
$_POST['pedDistIds'] = array();
|
|
|
|
$arrCajas = array();
|
|
foreach($_POST['pedDistIds'] as $key => $resPedDistId){
|
|
$arrCajas[$key]["pedDistId"] = $resPedDistId;
|
|
$cantPrendas = $_POST['prendas_'.$resPedDistId];
|
|
$arrCajas[$key]["cantidad"] = $_POST['cajas_'.$resPedDistId];
|
|
}
|
|
|
|
$cantProds = array();
|
|
$arrPrendas = array();
|
|
foreach($_POST['pedDistIds'] as $key => $resPedDistId){
|
|
$cantPrendas = $_POST['prendas_'.$resPedDistId];
|
|
$arrPrendas[$key]["pedDistId"] = $resPedDistId;
|
|
$arrPrendas[$key]["cantidad"] = $cantPrendas;
|
|
|
|
$pedido->setPedDistId($resPedDistId);
|
|
$infPD = $pedido->InfoPedDistById();
|
|
|
|
$idProd = $infPD['productoId'];
|
|
|
|
$cantProds[$idProd] += $cantPrendas;
|
|
}
|
|
|
|
$pedido->setCajas($arrCajas);
|
|
$pedido->setPrendas($arrPrendas);
|
|
|
|
$resProducts = $pedido->GetProdsNoRec();
|
|
|
|
$prodsRec = false;
|
|
$pedidoComp = 1;
|
|
$subtotal2 = 0;
|
|
$prods = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$prodId = $res['productoId'];
|
|
|
|
$card['productoId'] = $prodId;
|
|
|
|
//Se marco como Recibido
|
|
if($_POST['prodRec_'.$prodId] == 1){
|
|
|
|
$prodsRec = true;
|
|
$card['prodRecibido'] = 1;
|
|
|
|
$completo = $_POST['prodsComp_'.$prodId];
|
|
$recibido = $_POST['prodsRecibidos_'.$prodId];
|
|
|
|
$producto->setProductoId($prodId);
|
|
$nomProd = $producto->GetModeloById();
|
|
|
|
if($completo == 0)
|
|
$pedidoComp = 0;
|
|
|
|
if($completo == 0 && $recibido == ''){
|
|
$util->setError('20098','error','',$nomProd);
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
$prodCant = intval($cantProds[$prodId]);
|
|
|
|
if($completo == 0 && $recibido != $prodCant){
|
|
$util->setError('20112','error','',$nomProd);
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
if($completo == 1 && $prodCant != $res['cantPrendas']){
|
|
$util->setError('20112','error','',$nomProd);
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
$card['pedProdId'] = $res['pedProdId'];
|
|
$card['completo'] = $completo;
|
|
$card['recibido'] = $recibido;
|
|
|
|
$subtotal2 += $prodCant * $res['costo'];
|
|
|
|
}else{
|
|
|
|
$card['pedProdId'] = $res['pedProdId'];
|
|
|
|
if($fechaEntExp == 1){
|
|
$card['completo'] = 0;
|
|
$card['recibido'] = 0;
|
|
$card['prodRecibido'] = 1;
|
|
}else{
|
|
$card['completo'] = 1;
|
|
$card['recibido'] = 0;
|
|
$card['prodRecibido'] = 0;
|
|
}
|
|
|
|
}//else
|
|
|
|
$prods[] = $card;
|
|
|
|
}//foreach
|
|
|
|
if($fechaEntExp)
|
|
$prodsRec = true;
|
|
|
|
if($prodsRec == false){
|
|
$util->setError(10064,'error');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
//Obtenemos el No. de Cajas por Sucursal
|
|
|
|
$sucursal->setRfcId(1);
|
|
$sucursales = $sucursal->GetSucursalesByRfc();
|
|
|
|
$nCajas = array();
|
|
$card = array();
|
|
foreach($sucursales as $res){
|
|
$sucursalId = $res['sucursalId'];
|
|
$card['sucursalId'] = $sucursalId;
|
|
$cantidad = intval($_POST['numCajas_'.$sucursalId]);
|
|
$card['cantidad'] = $cantidad;
|
|
|
|
if($cantidad > 0)
|
|
$nCajas[] = $card;
|
|
}
|
|
|
|
if(!$pedido->IngresarOrdenCompra())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
}else
|
|
{
|
|
$pedidoComp = 1;
|
|
//Guardamos los Productos
|
|
foreach($prods as $res){
|
|
|
|
if($res['prodRecibido']){
|
|
$pedido->setPedProdId($res['pedProdId']);
|
|
$pedido->setPrendasComp($res['completo']);
|
|
$pedido->setPrendasRec($res['recibido']);
|
|
$pedido->setRecibido($res['prodRecibido']);
|
|
$pedido->UpdatePedProd();
|
|
|
|
//Si la Fecha de Entrega Expiro entonces se resetea la distribucion
|
|
if($fechaEntExp){
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setCantidad(0);
|
|
$pedido->setProductoId($res['productoId']);
|
|
$pedido->UpdateDistByProd();
|
|
|
|
$pedidoComp = 0;
|
|
}
|
|
|
|
}//if
|
|
|
|
}//foreach
|
|
|
|
//Sino se entrego completo se actualizan los totales
|
|
if($pedidoComp == 0 && $fechaEntExp == 1){
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->UpdateTotalesByPedido2();
|
|
}
|
|
|
|
//Guardamos el No. de Cajas Global
|
|
$pedido->setPedidoId($pedidoId);
|
|
foreach($nCajas as $res){
|
|
$pedido->setSucursalId($res['sucursalId']);
|
|
$pedido->setCantidad($res['cantidad']);
|
|
$pedido->SaveNoCajas();
|
|
}
|
|
|
|
//Checamos si se recibieron todos los productos para actualizar el status el pedido OrdenCompIng
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$prodsComp = $pedido->ProdRecComp();
|
|
|
|
if($prodsComp > 0){
|
|
$pedido->setStatus('OrdenCompIngP');
|
|
$pedido->UpdateStatus();
|
|
}else{
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->UpdateTotalesByPedido2();
|
|
}
|
|
|
|
$_SESSION['msgPed'] = 'OrdenCompIng';
|
|
echo 'ok[#]';
|
|
}
|
|
|
|
break;
|
|
|
|
//PRODUCTOS SUGERENCIAS
|
|
|
|
case 'aprobarProd':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
//Actualizamos el status del producto a Aprobado
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->setStatus('Aprobado');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
//Cargamos los Datos de la Distribucion
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['noSuc'] = urldecode($sucursal->GetNoSucById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist2.tpl');
|
|
|
|
break;
|
|
|
|
case 'aprobarProd2':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
//Actualizamos el status del producto a Aprobado
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
|
|
$infP = $pedido->GetInfoProd();
|
|
|
|
if($infP['status'] == 'Aprobado')
|
|
$pedido->setStatus('Aprobado3');
|
|
else
|
|
$pedido->setStatus('Aprobado2');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
//Cargamos los Datos de la Distribucion
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia3'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia' || $infPP['status'] == 'Aprobado2'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
}else{
|
|
$cantSug = $res['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['sugerencia'] = $cantSug;
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist3.tpl');
|
|
|
|
break;
|
|
|
|
case 'cancelProd':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
//Actualizamos el status del producto a Pendiente
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->setStatus('Pendiente');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist2.tpl');
|
|
|
|
break;
|
|
|
|
case 'cancelProd2':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
//Actualizamos el status del producto a Pendiente
|
|
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
|
|
$infP = $pedido->GetInfoProd();
|
|
|
|
if($infP['status'] == 'Aprobado3')
|
|
$pedido->setStatus('Aprobado');
|
|
else
|
|
$pedido->setStatus('Sugerencia');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia3'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia' || $infPP['status'] == 'Aprobado2'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
}else{
|
|
$cantSug = $res['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['sugerencia'] = $cantSug;
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist3.tpl');
|
|
|
|
break;
|
|
|
|
case 'sugerirProd':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$sugProdId = $productoId;
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('sugProdId', $sugProdId);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist2.tpl');
|
|
|
|
break;
|
|
|
|
case 'sugerirProd2':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$sugProdId = $productoId;
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia3'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia' || $infPP['status'] == 'Aprobado2'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
}else{
|
|
$cantSug = $res['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['sugerencia'] = $cantSug;
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('sugProdId', $sugProdId);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist3.tpl');
|
|
|
|
break;
|
|
|
|
case 'saveSug':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$totPrendas = 0;
|
|
$lotes = array();
|
|
foreach($resSuc as $res){
|
|
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$card['cantidad'] = $_POST['cantidad_'.$sucursalId];
|
|
$card['pedDistId'] = $_POST['idPedDist_'.$sucursalId];
|
|
|
|
$totPrendas += $card['cantidad'];
|
|
|
|
$lotes[$sucursalId] = $card;
|
|
}
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
$infP = $pedido->GetInfoProd();
|
|
|
|
$cantPrendas = $infP['cantPrendas'];
|
|
|
|
$continue = true;
|
|
if($totPrendas > $cantPrendas){
|
|
$util->setError(20096,'error','','');
|
|
$continue = false;
|
|
}elseif($totPrendas < $cantPrendas){
|
|
$util->setError(20097,'error','','');
|
|
$continue = false;
|
|
}
|
|
|
|
if(!$continue){
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
//Guardamos las Sugerencias del Producto
|
|
|
|
foreach($lotes as $sucursalId => $res){
|
|
|
|
$pedido->setPedDistId($res['pedDistId']);
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setCantidad($res['cantidad']);
|
|
$pedido->setUsuario('Directivo');
|
|
|
|
$pedido->SaveSugerencia();
|
|
|
|
}
|
|
|
|
//Actualizamos el status del producto a Sugerencia
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->setStatus('Sugerencia');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
//Cargamos los Datos de la Distribucion
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist2.tpl');
|
|
|
|
break;
|
|
|
|
case 'saveSug2':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$totLotes = 0;
|
|
$lotes = array();
|
|
foreach($resSuc as $res){
|
|
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$card['cantidad'] = $_POST['cantidad_'.$sucursalId];
|
|
$card['pedDistId'] = $_POST['idPedDist_'.$sucursalId];
|
|
|
|
$totLotes += $card['cantidad'];
|
|
|
|
$lotes[$sucursalId] = $card;
|
|
}
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
$infP = $pedido->GetInfoProd();
|
|
|
|
$cantLotes = $infP['cantLotes'];
|
|
|
|
$continue = true;
|
|
if($totLotes > $cantLotes){
|
|
$util->setError(20062,'error','','');
|
|
$continue = false;
|
|
}elseif($totLotes < $cantLotes){
|
|
$util->setError(20063,'error','','');
|
|
$continue = false;
|
|
}
|
|
|
|
if(!$continue){
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
//Guardamos las Sugerencias del Producto
|
|
|
|
foreach($lotes as $sucursalId => $res){
|
|
|
|
$pedido->setPedDistId($res['pedDistId']);
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setCantidad($res['cantidad']);
|
|
$pedido->setUsuario('Distribucion');
|
|
|
|
$pedido->SaveSugerencia();
|
|
|
|
}
|
|
|
|
//Actualizamos el status del producto a Sugerencia
|
|
|
|
$pedido->setProductoId($productoId);
|
|
|
|
if($infP['status'] == 'Aprobado')
|
|
$pedido->setStatus('Sugerencia3');
|
|
else
|
|
$pedido->setStatus('Sugerencia2');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
//Cargamos los Datos de la Distribucion
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia3'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia' || $infPP['status'] == 'Aprobado2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}else{
|
|
$cantSug = $res['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['sugerencia'] = $cantSug;
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist3.tpl');
|
|
|
|
break;
|
|
|
|
case 'deleteSug':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->setUsuario('Directivo');
|
|
$pedido->DeleteSugerencia();
|
|
|
|
//Actualizamos el status del producto a Sugerencia
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->setStatus('Pendiente');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist2.tpl');
|
|
|
|
break;
|
|
|
|
case 'deleteSug2':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->setProductoId($productoId);
|
|
$pedido->setUsuario('Distribucion');
|
|
$pedido->DeleteSugerencia();
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infP = $pedido->GetInfoProd();
|
|
|
|
//Actualizamos el status del producto a Sugerencia
|
|
|
|
$pedido->setProductoId($productoId);
|
|
|
|
if($infP['status'] == 'Sugerencia3')
|
|
$pedido->setStatus('Aprobado');
|
|
else
|
|
$pedido->setStatus('Sugerencia');
|
|
$pedido->UpdateStatusProd();
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia3'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia' || $infPP['status'] == 'Aprobado2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}else{
|
|
$cantSug = $res['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['sugerencia'] = $cantSug;
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist3.tpl');
|
|
|
|
break;
|
|
|
|
case 'cancelSug':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist2.tpl');
|
|
|
|
break;
|
|
|
|
case 'cancelSug2':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
$productoId = $_POST['productoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
$products = array();
|
|
foreach($resProducts as $res){
|
|
|
|
$producto->setProductoId($res['productoId']);
|
|
$infP = $producto->Info();
|
|
|
|
$res['modelo'] = utf8_encode($infP['modelo']);
|
|
$res['atributos'] = utf8_encode($producto->GetAtributosAll());
|
|
|
|
$products[] = $res;
|
|
}
|
|
|
|
$resProducts = $pedido->GetProdsDistribucion();
|
|
|
|
$dist = array();
|
|
foreach($resProducts as $res){
|
|
$productoId = $res['productoId'];
|
|
$sucursalId = $res['sucursalId'];
|
|
|
|
$pedido->setProductoId($productoId);
|
|
$infPP = $pedido->GetInfoProd();
|
|
|
|
if($infPP['status'] == 'Sugerencia3'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia2'){
|
|
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
|
|
$res['cantidad'] = $infPS['cantidad'];
|
|
|
|
$pedido->setUsuario('Distribucion');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
|
|
}elseif($infPP['status'] == 'Sugerencia' || $infPP['status'] == 'Aprobado2'){
|
|
$pedido->setSucursalId($sucursalId);
|
|
$pedido->setUsuario('Directivo');
|
|
$infPS = $pedido->GetInfoProdSug();
|
|
$cantSug = $infPS['cantidad'];
|
|
}else{
|
|
$cantSug = $res['cantidad'];
|
|
}
|
|
|
|
$dist[$productoId][$sucursalId]['cantidad'] = $res['cantidad'];
|
|
$dist[$productoId][$sucursalId]['sugerencia'] = $cantSug;
|
|
$dist[$productoId][$sucursalId]['pedDistId'] = $res['pedDistId'];
|
|
}
|
|
|
|
$resSuc = $pedido->GetSucursales();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$sucursal->setSucursalId($res['sucursalId']);
|
|
$res['nombre'] = urldecode($sucursal->GetNameById());
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('dist', $dist);
|
|
$smarty->assign('pedidoId', $pedidoId);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('products', $products);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/pedidos-productos-dist3.tpl');
|
|
|
|
break;
|
|
|
|
case 'showBtnSug':
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
|
|
//Verificamos si todos los productos fueron aprobados
|
|
|
|
$products = $pedido->GetProductos();
|
|
|
|
$sugerencias = 0;
|
|
foreach($products as $res){
|
|
if($res['status'] == 'Sugerencia')
|
|
$sugerencias++;
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
echo $sugerencias;
|
|
|
|
break;
|
|
|
|
case 'updateFrecuente':
|
|
|
|
$status = ($_POST['status'] == 1) ? '1':'0';
|
|
|
|
$pedido->setPedidoId($_POST['pedidoId']);
|
|
$pedido->setFrecuente($status);
|
|
$pedido->UpdateFrecuente();
|
|
|
|
break;
|
|
|
|
case 'calcCantLotes':
|
|
|
|
$totalLote = $_POST['totalLote'];
|
|
$cantPrendas = $_POST['cantPrendas'];
|
|
|
|
$cantLotes = $cantPrendas / $totalLote;
|
|
|
|
$cantLotes = 1;
|
|
|
|
$num = explode('.',$cantLotes);
|
|
|
|
if($num[1] > 0){
|
|
$util->setError(20095,'error');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
}else{
|
|
echo 'ok[#]';
|
|
echo $cantLotes;
|
|
}
|
|
|
|
break;
|
|
|
|
case 'savePzasCaja':
|
|
|
|
$pedidoId = $_POST['pedidoId'];
|
|
|
|
$pedido->setPedidoId($pedidoId);
|
|
$resProducts = $pedido->GetProductos();
|
|
|
|
//Verificamos las cantidades
|
|
foreach($resProducts as $res){
|
|
|
|
$pedProdId = $res['pedProdId'];
|
|
|
|
$piezas = intval($_POST['pzasCaja_'.$pedProdId]);
|
|
|
|
if($piezas == 0){
|
|
$util->setError(20136,'error');
|
|
$util->PrintErrors();
|
|
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status.tpl');
|
|
exit;
|
|
}
|
|
|
|
}//foreach
|
|
|
|
//Guardamos las cantidades
|
|
foreach($resProducts as $res){
|
|
|
|
$pedProdId = $res['pedProdId'];
|
|
$piezas = intval($_POST['pzasCaja_'.$pedProdId]);
|
|
|
|
$pedido->setPedProdId($pedProdId);
|
|
$pedido->setCantidad($piezas);
|
|
$pedido->UpdatePzasCaja();
|
|
|
|
}
|
|
|
|
//Actualizamos el Pedido indicando que ya se agregaron las piezas
|
|
$pedido->setPedidoId($pedidoId);
|
|
$pedido->UpdatePedidoPzasCaja();
|
|
|
|
echo 'ok[#]';
|
|
$_SESSION['msgPed'] = 'UpdPzasCaja';
|
|
|
|
break;
|
|
|
|
}//switch
|
|
|
|
?>
|