Files
ventas_php/modules/productos-editar.php

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