249 lines
6.1 KiB
PHP
Executable File
249 lines
6.1 KiB
PHP
Executable File
<?php
|
|
|
|
$empresa->AuthUser();
|
|
|
|
if($_POST['type'] == 'saveEditProducto'){
|
|
|
|
$productoId = $_POST['productoId'];
|
|
$codigoBarra = $_POST['codigoBarra'];
|
|
$precioVentaIva = $_POST['precioVentaIva'];
|
|
$costo = $_POST['costo'];
|
|
|
|
//Calculamos el Precio de Venta
|
|
$precioVenta = 0;
|
|
if($precioVentaIva != ''){
|
|
$precioVenta = $precioVentaIva / 1.16;
|
|
$precioVenta = number_format($precioVenta,2,'.','');
|
|
}
|
|
|
|
//Calculamos la Utilidad
|
|
$utilidad = $precioVenta - $costo;
|
|
$porcUtilidad = ($utilidad * 100) / $costo;
|
|
|
|
$producto->setProductoId($productoId);
|
|
$producto->setProveedorId($_POST['proveedorId']);
|
|
$producto->setProdCatId($_POST['prodCatId']);
|
|
$producto->setProdSubcatId($_POST['prodSubcatId']);
|
|
$producto->setConTallaId($_POST['conTallaId']);
|
|
$producto->setModelo($_POST['modelo']);
|
|
$producto->setCodigoBarra($codigoBarra);
|
|
$producto->setDescripcion($_POST['descripcion']);
|
|
$producto->setTemporadaId($_POST['temporadaId']);
|
|
$producto->setCosto($costo);
|
|
$producto->setPrecioVentaIva($precioVentaIva);
|
|
$producto->setPrecioVenta($precioVenta);
|
|
$producto->setUtilidad($utilidad);
|
|
|
|
$infP = $producto->Info();
|
|
|
|
$producto->Update();
|
|
|
|
//Actualizamos los ProdItems
|
|
$producto->UpdateProdItems();
|
|
|
|
//Actualizamos los Precios en Inventario
|
|
$producto->UpdatePriceInv();
|
|
|
|
//Guardamos los Materiales
|
|
|
|
$producto->setProductoId($productoId);
|
|
$producto->DeleteMateriales();
|
|
|
|
if(count($_POST['materialId']) == 0)
|
|
$_POST['materialId'] = array();
|
|
|
|
foreach($_POST['materialId'] as $k => $materialId){
|
|
$producto->setMaterialId($materialId);
|
|
$producto->setPorcentaje($_POST['porcentaje'][$k]);
|
|
|
|
$producto->SaveMaterial();
|
|
}
|
|
|
|
//Eliminamos el archivo
|
|
|
|
$producto->setProductoId($productoId);
|
|
if($_POST['delImage']){
|
|
$infP = $producto->Info();
|
|
@unlink(DOC_ROOT.'/images/productos/'.$infP['imagen']);
|
|
|
|
$producto->setImagen('');
|
|
$producto->UpdateImagen();
|
|
}
|
|
|
|
//Guardamos el archivo
|
|
|
|
$ruta = DOC_ROOT.'/images/productos';
|
|
|
|
// obtenemos los datos del archivo
|
|
$tamano = $_FILES["imagen"]['size'];
|
|
$tipo = $_FILES["imagen"]['type'];
|
|
$archivo = $_FILES["imagen"]['name'];
|
|
|
|
$nom = explode('.',$archivo);
|
|
|
|
$prefijo = substr(md5(uniqid(rand())),0,3);
|
|
$time = time();
|
|
|
|
if($archivo != "") {
|
|
|
|
$fileName = $productoId.'_'.$time.'.'.$nom[1];
|
|
|
|
$destino = $ruta.'/'.$fileName;
|
|
if (move_uploaded_file($_FILES['imagen']['tmp_name'],$destino)) {
|
|
|
|
//Eliminamos el archivo anterior
|
|
|
|
$infP = $producto->Info();
|
|
@unlink(DOC_ROOT.'/images/productos/'.$infP['imagen']);
|
|
|
|
$producto->setImagen('');
|
|
$producto->UpdateImagen();
|
|
|
|
//Actualizamos con el nuevo archivo
|
|
|
|
$producto->setProductoId($productoId);
|
|
$producto->setImagen($fileName);
|
|
$producto->UpdateImagen();
|
|
|
|
}
|
|
|
|
}//if
|
|
|
|
$_SESSION['msgP'] = 'Updated';
|
|
|
|
header('Location: '.WEB_ROOT.'/productos');
|
|
exit;
|
|
|
|
}//if
|
|
|
|
$productoId = $_GET['id'];
|
|
|
|
$producto->setProductoId($productoId);
|
|
$info = $producto->Info();
|
|
//$info = $util->DecodeRow($info);
|
|
|
|
$proveedor->setProveedorId($info['proveedorId']);
|
|
$info['proveedor'] = $proveedor->GetNameById();
|
|
|
|
$porcUtilidad = ($info['utilidad'] * 100) / $info['costo'];
|
|
$info['porcUtilidad'] = number_format($porcUtilidad,2,'.',',');
|
|
|
|
$categorias = $prodCat->EnumerateAll();
|
|
$proveedores = $proveedor->EnumerateAll();
|
|
$temporadas = $temporada->EnumerateAll();
|
|
$materiales = $material->EnumerateAll();
|
|
|
|
//Obtenemos las Tallas
|
|
|
|
$conValor->setConTallaId($info['conTallaId']);
|
|
$resTallas = $conValor->EnumerateAll();
|
|
|
|
$tallas = array();
|
|
foreach($resTallas as $res){
|
|
|
|
$atribVal->setAtribValId($res['tallaId']);
|
|
$res['nombre'] = $atribVal->GetNameById();
|
|
|
|
$producto->setTallaId($res['tallaId']);
|
|
if($producto->ExistTalla())
|
|
$res['checked'] = 1;
|
|
else
|
|
$res['checked'] = 0;
|
|
|
|
$tallas[] = $res;
|
|
}
|
|
|
|
$atribVal->setAtributoId(2);
|
|
$resColores = $atribVal->EnumerateAll();
|
|
|
|
$conTallas = $conTalla->EnumerateAll();
|
|
|
|
//Obtenemos los Colores
|
|
|
|
$colores = array();
|
|
foreach($resColores as $res){
|
|
|
|
$producto->setColorId($res['atribValId']);
|
|
if($producto->ExistColor())
|
|
$res['exist'] = 1;
|
|
else
|
|
$res['exist'] = 0;
|
|
|
|
$colores[] = $res;
|
|
}
|
|
|
|
//Obtenemos los Atributos
|
|
|
|
$prodSubcat->setProdSubcatId($info['prodSubcatId']);
|
|
$resAtributos = $prodSubcat->EnumAtributos();
|
|
|
|
$atributos = array();
|
|
foreach($resAtributos as $res){
|
|
|
|
$atributo->setAtributoId($res['atributoId']);
|
|
$res['nombre'] = $atributo->GetNameById();
|
|
|
|
$atribVal->setAtributoId($res['atributoId']);
|
|
$resValores = $atribVal->EnumerateAll();
|
|
|
|
$valores = array();
|
|
foreach($resValores as $val){
|
|
|
|
$producto->setAtribValId($val['atribValId']);
|
|
if($producto->ExistAtributo())
|
|
$val['exist'] = 1;
|
|
else
|
|
$val['exist'] = 0;
|
|
|
|
$valores[] = $val;
|
|
}
|
|
|
|
$res['valores'] = $valores;
|
|
|
|
$atributos[] = $res;
|
|
}
|
|
|
|
//Obtenemos los Codigos de Barra
|
|
|
|
$resCodigos = $producto->GetCodigosBarra();
|
|
foreach($resCodigos as $res){
|
|
|
|
$card = $res;
|
|
|
|
$atribVal->setAtribValId($res['tallaId']);
|
|
$nomTalla = $atribVal->GetNameById();
|
|
|
|
$atribVal->setAtribValId($res['colorId']);
|
|
$card['nombre'] = $nomTalla.' '.$atribVal->GetNameById();
|
|
$card['codigo'] = $res['codigoBarra'];
|
|
|
|
$codigos[] = $card;
|
|
|
|
}
|
|
|
|
//Obtenemos las subcategorias
|
|
|
|
$prodSubcat->setProdCatId($info['prodCatId']);
|
|
$subcategorias = $prodSubcat->EnumerateAll();
|
|
|
|
//Obtenemos los materiales del Producto
|
|
|
|
$producto->setProductoId($productoId);
|
|
$prodMats = $producto->GetMaterials();
|
|
|
|
$_SESSION['prodMats'] = $prodMats;
|
|
|
|
$smarty->assign('info', $info);
|
|
$smarty->assign('tallas', $tallas);
|
|
$smarty->assign('conTallas', $conTallas);
|
|
$smarty->assign('colores', $colores);
|
|
$smarty->assign('codigos', $codigos);
|
|
$smarty->assign('prodMats', $prodMats);
|
|
$smarty->assign('atributos', $atributos);
|
|
$smarty->assign('categorias', $categorias);
|
|
$smarty->assign('subcategorias', $subcategorias);
|
|
$smarty->assign('temporadas', $temporadas);
|
|
$smarty->assign('proveedores', $proveedores);
|
|
$smarty->assign('materiales', $materiales);
|
|
|
|
?>
|