setProveedorId($_POST['proveedorId']); $producto->setProdCatId($_POST['prodCatId']); $producto->setProdSubcatId($_POST['prodSubcatId']); $producto->setModelo($_POST['modelo']); $producto->setCodigoBarra($codigoBarra); $producto->setConTallaId($_POST['conTallaId']); $producto->setDescripcion(urldecode($_POST['descripcion'])); $producto->setTemporadaId($_POST['temporadaId']); $producto->setCosto($_POST['costo']); $producto->setPrecioVentaIva($_POST['precioVentaIva']); $producto->setUtilidad($_POST['utilidad']); $producto->setTmpImg($_POST['tmpImg']); if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); }else{ //Checamos los materiales if(count($_POST['materialId']) == 0) $_POST['materialId'] = array(); $totalPorc = 0; foreach($_POST['materialId'] as $k => $materialId){ $porcentaje = $_POST['porcentaje'][$k]; $producto->setMaterialId($materialId); $producto->setPorcentaje($porcentaje); if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; } $totalPorc += $porcentaje; } //Checamos el porcentaje total de los materiales if($totalPorc > 100){ $util->setError(20052, 'error', '', ''); $util->PrintErrors(); echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; }elseif($totalPorc < 100){ $util->setError(20053, 'error', '', ''); $util->PrintErrors(); echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; } //Guardamos los Codigos de Barra $codigo = $_POST['codigo']; if(count($codigo) == 0) $codigo = array(); if(count($_POST['tallas']) == 0){ //$producto->setTallas(''); $_POST['tallas'] = array(); } if(count($_POST['colores']) == 0){ //$producto->setColores(''); $_POST['colores'] = array(); } if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; } $codigos = array(); foreach($_POST['tallas'] as $tallaId){ $atribVal->setAtribValId($tallaId); $nomTalla = $atribVal->GetNameById(); foreach($_POST['colores'] as $colorId){ $codigoBarra = trim($codigo[$tallaId][$colorId]); $producto->setCodigoBarra($codigoBarra); $codigos[] = strtoupper($codigoBarra); if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; }//if }//foreach }//foreach //Verificamos si existen algun codigo dentro de los productos $producto->setCodigoBarra($codigoBarra); if($producto->GetProductIdByCodigo()){ $util->setError(20061, 'error', '', $code); $util->PrintErrors(); echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; }//if echo 'ok[#]'; }//else break; case "saveEditProducto": $productoId = $_POST['productoId']; $codigoBarra = trim($_POST['codigoBarra']); $producto->setProveedorId($_POST['proveedorId']); $producto->setProdCatId($_POST['prodCatId']); $producto->setProdSubcatId($_POST['prodSubcatId']); $producto->setModelo($_POST['modelo']); $producto->setCodigoBarra($codigoBarra); $producto->setConTallaId($_POST['conTallaId']); $producto->setTemporadaId($_POST['temporadaId']); $producto->setDescripcion(urldecode($_POST['descripcion'])); $producto->setCosto($_POST['costo']); $producto->setPrecioVentaIva($_POST['precioVentaIva']); $producto->setUtilidad($_POST['utilidad']); if($productoId > 11236) $producto->setTmpImg($_POST['tmpImg']); if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); }else{ //Checamos los materiales if(count($_POST['materialId']) == 0) $_POST['materialId'] = array(); $totalPorc = 0; foreach($_POST['materialId'] as $k => $materialId){ $porcentaje = $_POST['porcentaje'][$k]; $producto->setMaterialId($materialId); $producto->setPorcentaje($porcentaje); if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; } $totalPorc += $porcentaje; } //Checamos el porcentaje total de los materiales if($totalPorc > 100){ $util->setError(20052, 'error', '', ''); $util->PrintErrors(); echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; } //Guardamos los Codigos de Barra $codigo = $_POST['codigo']; if(count($codigo) == 0) $codigo = array(); if(count($_POST['tallas']) == 0){ //$producto->setTallas(''); $_POST['tallas'] = array(); } if(count($_POST['colores']) == 0){ //$producto->setColores(''); $_POST['colores'] = array(); } if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; } $codigos = array(); foreach($_POST['tallas'] as $tallaId){ $atribVal->setAtribValId($tallaId); $nomTalla = $atribVal->GetNameById(); foreach($_POST['colores'] as $colorId){ $codigoBarra = trim($codigo[$tallaId][$colorId]); $producto->setCodigoBarra($codigoBarra); $codigos[] = strtoupper($codigoBarra); if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; }//if }//foreach }//foreach //Verificamos si existen algun codigo dentro de los productos $producto->setCodigoBarra($codigoBarra); $idProd = $producto->GetProductIdByCodigo(); if($idProd > 0 && $productoId != $idProd){ $util->setError(20061, 'error', '', $code); $util->PrintErrors(); echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; }//if echo 'ok[#]'; }//else break; case "deleteProducto": $producto->setProductoId($_POST['productoId']); $infP = $producto->Info(); if($producto->Baja()){ if($infP['imagen'] != '') @unlink(DOC_ROOT.'/images/productos/'.$infP['imagen']); echo 'ok[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status.tpl'); echo '[#]'; $productos = $producto->Enumerate(); $items = array(); foreach($productos['items'] as $res){ $res['modelo'] = utf8_encode($res['modelo']); $proveedor->setProveedorId($res['proveedorId']); $infPv = $proveedor->Info(); $res['proveedor'] = utf8_encode($infPv['nombre']); $res['noProv'] = $infPv['noProv']; $prodCat->setProdCatId($res['prodCatId']); $res['departamento'] = utf8_encode($prodCat->GetNameById()); if($res['prodSubcatId']){ $prodSubcat->setProdSubcatId($res['prodSubcatId']); $res['linea'] = utf8_encode($prodSubcat->GetNameById()); } $items[] = $res; } $productos['items'] = $items; $smarty->assign('productos', $productos); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/productos.tpl'); } break; case 'loadSubcats': $prodSubcat->setProdCatId($_POST['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/enumProdSubcat.tpl'); break; case 'loadTallas': $conTallaId = $_POST['conTallaId']; $conValor->setConTallaId($conTallaId); $resTallas = $conValor->EnumerateAll(); $tallas = array(); foreach($resTallas as $res){ $atribVal->setAtribValId($res['tallaId']); $res['nombre'] = utf8_encode($atribVal->GetNameById()); $tallas[] = $res; } echo 'ok[#]'; $smarty->assign('tallas', $tallas); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/enumTallasProd.tpl'); break; case "search": $producto->setNoProveedor($_POST['noProveedor']); $producto->setProveedorId($_POST['proveedorId2']); $producto->setDescripcion($_POST['word']); $producto->setProdCatId($_POST['prodCatId']); $producto->setCodigoBarra($_POST['codigoBarra']); $productos = $producto->Search(); $items = array(); foreach($productos['items'] as $res){ $proveedor->setProveedorId($res['proveedorId']); $infPv = $proveedor->Info(); $res['proveedor'] = $infPv['nombre']; $res['noProv'] = utf8_encode($infPv['noProv']); $prodCat->setProdCatId($res['prodCatId']); $res['departamento'] = utf8_encode($prodCat->GetNameById()); if($res['prodSubcatId']){ $prodSubcat->setProdSubcatId($res['prodSubcatId']); $res['linea'] = utf8_encode($prodSubcat->GetNameById()); } $res['modelo'] = utf8_encode($res['modelo']); $items[] = $res; } $productos['items'] = $items; $smarty->assign('productos', $productos ); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/productos.tpl'); break; case "searchDuplicados": $producto->setNoProveedor($_POST['noProveedor']); $producto->setProveedorId($_POST['proveedorId2']); $producto->setDescripcion($_POST['word']); $producto->setProdCatId($_POST['prodCatId']); $producto->setCodigoBarra($_POST['codigoBarra']); $productos = $producto->SearchDuplicados(); $items = array(); foreach($productos['items'] as $res){ $proveedor->setProveedorId($res['proveedorId']); $infPv = $proveedor->Info(); $res['proveedor'] = $infPv['nombre']; $res['noProv'] = utf8_encode($infPv['noProv']); $prodCat->setProdCatId($res['prodCatId']); $res['departamento'] = utf8_encode($prodCat->GetNameById()); if($res['prodSubcatId']){ $prodSubcat->setProdSubcatId($res['prodSubcatId']); $res['linea'] = utf8_encode($prodSubcat->GetNameById()); } $res['modelo'] = utf8_encode($res['modelo']); $items[] = $res; } $productos['items'] = $items; $smarty->assign('productos', $productos ); $smarty->assign('DOC_ROOT', DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/productos-duplicados.tpl'); break; case 'loadBarCodes': $productoId = $_POST['productoId']; $codigoBarra = trim($_POST['codigoBarra']); if(count($_POST['tallas']) == 0) $_POST['tallas'] = array(); if(count($_POST['colores']) == 0) $_POST['colores'] = array(); $codigos = array(); foreach($_POST['tallas'] as $tallaId){ $atribVal->setAtribValId($tallaId); $nomTalla = $atribVal->GetNameById(); foreach($_POST['colores'] as $colorId){ $atribVal->setAtribValId($colorId); $card['tallaId'] = $tallaId; $card['colorId'] = $colorId; $card['nombre'] = utf8_encode($nomTalla.' '.$atribVal->GetNameById()); $code = ''; if($productoId){ $producto->setProductoId($productoId); $producto->setTallaId($tallaId); $producto->setColorId($colorId); $code = $producto->GetCodigoBarra(); } $card['codigo'] = $codigoBarra; $codigos[] = $card; }//foreach }//foreach echo 'ok[#]'; $smarty->assign('codigos', $codigos); $smarty->assign("DOC_ROOT", DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/productos-codigos.tpl'); break; case 'checkMaterials': if(count($_POST['materialId']) == 0) $_POST['materialId'] = array(); $totalPorc = 0; foreach($_POST['materialId'] as $k => $materialId){ $porcentaje = $_POST['porcentaje'][$k]; $producto->setMaterialId($materialId); $producto->setPorcentaje($porcentaje); if(!$producto->SaveTemp()){ echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; } $totalPorc += $porcentaje; } //Checamos el porcentaje total de los materiales if($totalPorc > 100){ $util->setError(20052, 'error', '', ''); $util->PrintErrors(); echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; }elseif($totalPorc < 100){ $util->setError(20053, 'error', '', ''); $util->PrintErrors(); echo 'fail[#]'; $smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl'); exit; } break; case 'loadAtributos': $prodSubcat->setProdSubcatId($_POST['prodSubcatId']); $resAtributos = $prodSubcat->EnumAtributos(); $atributos = array(); foreach($resAtributos as $res){ $card = $res; $atributo->setAtributoId($res['atributoId']); $card['nombre'] = utf8_encode($atributo->GetNameById()); $atribVal->setAtributoId($res['atributoId']); $valores = $atribVal->EnumerateAll(); $card['valores'] = $util->EncodeResult($valores); $atributos[] = $card; } echo 'ok[#]'; $smarty->assign('atributos', $atributos); $smarty->assign("DOC_ROOT", DOC_ROOT); $smarty->display(DOC_ROOT.'/templates/lists/enumAtributos.tpl'); break; case 'calcUtilidad': $precioVenta = $_POST['precioVenta']; $costo = $_POST['costo']; $utilidad = $precioVenta - $costo; $porcUtilidad = ($utilidad * 100) / $costo; echo 'ok[#]'; echo number_format($utilidad,2,'.',''); echo '[#]'; echo number_format($porcUtilidad,2,'.',','); break; case 'calcPrecioSinIva': $precioVentaIva = $_POST['precioVentaIva']; $precioVenta = 0; if($precioVentaIva != ''){ $precioVenta = $precioVentaIva / 1.16; $precioVenta = number_format($precioVenta,2,'.',''); } echo 'ok[#]'; echo $precioVenta; break; case 'fillInfoProd': $producto->setProductoId($_POST['productoId']); $info = $producto->Info(); echo 'ok[#]'; echo $info['productoId']; echo '[#]'; echo utf8_encode($info['modelo']); break; case 'fillInfoProdFact': $producto->setProdItemId($_POST['prodItemId']); $info = $producto->GetInfoItemById(); $producto->setProductoId($info['productoId']); $infP = $producto->Info(); $atribVal->setAtribValId($info['tallaId']); $res['talla'] = $atribVal->GetNameById(); $atribVal->setAtribValId($info['colorId']); $res['color'] = $atribVal->GetNameById(); $descripcion = $infP['modelo'].' '.$res['talla'].' '.$res['color']; echo 'ok[#]'; echo $info['codigoBarra']; echo '[#]'; echo 'Pieza'; echo '[#]'; echo $infP['precioVentaIva']; echo '[#]'; echo utf8_encode($descripcion); break; }//switch ?>