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 ?>