- Se corrigieron las advertencias 'Undefined array key "checked"' en 'enumProvPromo.tpl', 'enumSucPromo.tpl' y 'enumProdCatPromo.tpl'. - Se resolvieron las advertencias 'Trying to access array offset on null' en 'enumTiposPromo.tpl', 'enumDesctosPromo.tpl', 'enumStatusPromo.tpl', 'enumVigenciaPromo.tpl' y 'enumPromoAplicar.tpl'. - Se corrigió el error 'Call to undefined method Util::DecodeUrlRow()' en 'ajax/sucursales.php' reemplazándolo por 'DecodeUrlResult()'. - Se modificó 'templates/lists/sucursales.tpl' para evitar la inclusión de 'pages_ajax.tpl' cuando la variable '$pages' es nula. - Se eliminaron archivos de log y temporales.
1052 lines
31 KiB
PHP
Executable File
1052 lines
31 KiB
PHP
Executable File
<?php
|
|
|
|
include_once('../init.php');
|
|
include_once('../config.php');
|
|
include_once(DOC_ROOT.'/libraries.php');
|
|
|
|
switch($_POST["type"]){
|
|
|
|
case 'addPromocion':
|
|
|
|
$categorias = $prodCat->EnumerateAll();
|
|
$categorias = $util->EncodeResult($categorias);
|
|
|
|
$proveedores = $proveedor->EnumerateAll();
|
|
$proveedores = $util->EncodeResult($proveedores);
|
|
|
|
$resSuc = $sucursal->GetSucursalesByEmpresaId();
|
|
$sucursales = $util->DecodeUrlResult($resSuc);
|
|
|
|
$smarty->assign('categorias', $categorias);
|
|
$smarty->assign('proveedores', $proveedores);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/agregar-promocion-popup.tpl');
|
|
|
|
break;
|
|
|
|
case 'savePromocion':
|
|
|
|
$aplica = $_POST['aplica'];
|
|
$aplicaTodos = $_POST['aplicaTodos'];
|
|
$tipo = $_POST['tipo'];
|
|
$vigencia = $_POST['vigencia'];
|
|
$idSucursal = $_POST['idSucursal'];
|
|
$idProdCat = $_POST['idProdCat'];
|
|
$idProdSubcat = $_POST['idProdSubcat'];
|
|
$idProveedor = $_POST['idProveedor'];
|
|
$idProducto = $_POST['idProducto'];
|
|
|
|
$promocion->setNombre($_POST['name']);
|
|
$promocion->setVigencia($vigencia);
|
|
$promocion->setAplicaTodos($aplicaTodos);
|
|
|
|
if($vigencia == 'Periodo'){
|
|
|
|
if(trim($_POST['fechaIni']) != '')
|
|
$fechaIni = date('Y-m-d',strtotime($_POST['fechaIni']));
|
|
if(trim($_POST['fechaFin']) != '')
|
|
$fechaFin = date('Y-m-d',strtotime($_POST['fechaFin']));
|
|
|
|
$promocion->setFechaIni($fechaIni);
|
|
$promocion->setFechaFin($fechaFin);
|
|
|
|
}
|
|
|
|
if($_POST['rebajado'])
|
|
$promocion->setRebajado(1);
|
|
else
|
|
$promocion->setRebajado(0);
|
|
|
|
if(!$promocion->SaveTemp()){
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(count($idSucursal) == 0){
|
|
$util->setError(20084,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if($aplicaTodos == 0){
|
|
|
|
if(count($idProdCat) == 0){
|
|
$util->setError(20085,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(count($idProdSubcat) == 0){
|
|
$util->setError(20086,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(count($idProveedor) == 0){
|
|
$util->setError(20087,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
}//if
|
|
|
|
$promocion->setTipo($tipo);
|
|
$promocion->setAplica($aplica);
|
|
|
|
if($aplica == 'XxY'){
|
|
$promocion->setValorX($_POST['valorX']);
|
|
$promocion->setValorY($_POST['valorY']);
|
|
}elseif($aplica == 'N1Desc'){
|
|
$promocion->setTipoDesc($_POST['tipoDesc']);
|
|
$promocion->setValorDesc($_POST['valorDesc']);
|
|
$promocion->setValorN($_POST['valorN']);
|
|
}elseif($aplica == 'CompraX'){
|
|
$promocion->setTotalCompra($_POST['totalCompra2']);
|
|
$promocion->setCantArtRegalo($_POST['cantArtRegalo']);
|
|
$promocion->setProductoId($_POST['prodId']);
|
|
}elseif($aplica == 'CompraXabonoM'){
|
|
$promocion->setTotalCompra($_POST['totalCompraM']);
|
|
$promocion->setTipoDesc('Porcentaje');
|
|
$promocion->setValorDesc($_POST['porcentajeM']);
|
|
}elseif($aplica == 'DescCuenta'){
|
|
$promocion->setTipoDesc($_POST['tipoDesc']);
|
|
$promocion->setValorDesc($_POST['valorDesc']);
|
|
$promocion->setTotalCompra($_POST['totalCompra']);
|
|
}elseif($aplica == 'ArtConDesc'){
|
|
$promocion->setTipoDesc($_POST['tipoDesc']);
|
|
$promocion->setValorDesc($_POST['valorDesc']);
|
|
$promocion->setTotalCompra($_POST['totalCompra']);
|
|
}
|
|
|
|
$promocion->setStatus($_POST['status']);
|
|
|
|
$promocionId = $promocion->Save();
|
|
|
|
if(!$promocionId)
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
//Guardamos las Sucursales
|
|
foreach($idSucursal as $id){
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setSucursalId($id);
|
|
$promocion->SaveSucursal();
|
|
|
|
}
|
|
|
|
if($aplicaTodos == 0){
|
|
|
|
$idProdCat = $util->CheckArray($idProdCat);
|
|
|
|
//Guardamos los Departamentos
|
|
foreach($idProdCat as $id){
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProdCatId($id);
|
|
$promocion->SaveDepto();
|
|
|
|
}
|
|
|
|
$idProdSubcat = $util->CheckArray($idProdSubcat);
|
|
|
|
//Guardamos las Lineas
|
|
foreach($idProdSubcat as $id){
|
|
|
|
$prodSubcat->setProdSubcatId($id);
|
|
$infS = $prodSubcat->Info();
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProdCatId($infS['prodCatId']);
|
|
$promocion->setProdSubcatId($id);
|
|
$promocion->SaveLinea();
|
|
|
|
}
|
|
|
|
$idProveedor = $util->CheckArray($idProveedor);
|
|
|
|
//Guardamos los Proveedores
|
|
foreach($idProveedor as $id){
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProveedorId($id);
|
|
$promocion->SaveProveedor();
|
|
|
|
}
|
|
|
|
$idProducto = $util->CheckArray($idProducto);
|
|
|
|
//Guardamos los Productos
|
|
foreach($idProducto as $id){
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProductoId($id);
|
|
$promocion->SaveProducto();
|
|
|
|
}
|
|
|
|
}//if
|
|
|
|
echo 'ok[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
echo '[#]';
|
|
|
|
$promociones = $promocion->Enumerate();
|
|
$promociones["items"] = $util->EncodeResult($promociones["items"]);
|
|
|
|
$smarty->assign('promociones', $promociones);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/promociones.tpl');
|
|
}
|
|
|
|
break;
|
|
|
|
case 'editPromocion':
|
|
|
|
$promocionId = $_POST['promocionId'];
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$info = $promocion->Info();
|
|
$info['nombre'] = utf8_encode($info['nombre']);
|
|
|
|
$info['fechaIni'] = date('d-m-Y',strtotime($info['fechaIni']));
|
|
$info['fechaFin'] = date('d-m-Y',strtotime($info['fechaFin']));
|
|
|
|
if($info['productoId']){
|
|
$producto->setProductoId($info['productoId']);
|
|
$infP = $producto->Info();
|
|
$info['nomProd'] = utf8_decode($infP['modelo']);
|
|
$info['codigoBarra'] = $infP['codigoBarra'];
|
|
}
|
|
|
|
//Sucursales
|
|
|
|
$resSuc = $sucursal->GetSucursalesByEmpresaId();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
|
|
$res['nombre'] = urldecode($res['nombre']);
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setSucursalId($res['sucursalId']);
|
|
|
|
if($promocion->ExistSucursal())
|
|
$res['checked'] = 1;
|
|
else
|
|
$res['checked'] = 0;
|
|
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
|
|
|
|
//Departamentos
|
|
|
|
$resCats = $prodCat->EnumerateAll();
|
|
|
|
$categorias = array();
|
|
foreach($resCats as $res){
|
|
|
|
$res['nombre'] = utf8_encode($res['nombre']);
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProdCatId($res['prodCatId']);
|
|
|
|
if($promocion->ExistDepto())
|
|
$res['checked'] = 1;
|
|
else
|
|
$res['checked'] = 0;
|
|
|
|
$categorias[] = $res;
|
|
}
|
|
|
|
//Proveedores
|
|
|
|
$resProv = $proveedor->EnumerateAll();
|
|
|
|
$idProveedor = array();
|
|
$proveedores = array();
|
|
foreach($resProv as $res){
|
|
|
|
$res['nombre'] = utf8_encode($res['nombre']);
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProveedorId($res['proveedorId']);
|
|
|
|
if($promocion->ExistProveedor()){
|
|
$res['checked'] = 1;
|
|
$idProveedor[] = $res['proveedorId'];
|
|
}else{
|
|
$res['checked'] = 0;
|
|
}
|
|
|
|
|
|
$proveedores[] = $res;
|
|
}
|
|
|
|
if($info['aplicaTodos'] == 0){
|
|
|
|
//Lineas
|
|
|
|
$subcategorias = array();
|
|
foreach($categorias as $res){
|
|
|
|
if($res['checked']){
|
|
|
|
$prodSubcat->setProdCatId($res['prodCatId']);
|
|
$resSubcats = $prodSubcat->EnumerateAll();
|
|
|
|
$nomCat = $res['nombre'];
|
|
|
|
foreach($resSubcats as $val){
|
|
|
|
$val['nombre'] = $nomCat.' - '.utf8_encode($val['nombre']);
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProdCatId($res['prodCatId']);
|
|
$promocion->setProdSubcatId($val['prodSubcatId']);
|
|
|
|
if($promocion->ExistLinea())
|
|
$val['checked'] = 1;
|
|
else
|
|
$val['checked'] = 0;
|
|
|
|
$subcategorias[] = $val;
|
|
|
|
}//foreach
|
|
|
|
}//if
|
|
|
|
}//foreach
|
|
|
|
//Productos
|
|
|
|
$productos = array();
|
|
foreach($subcategorias as $val){
|
|
|
|
if($val['checked'] == false)
|
|
continue;
|
|
|
|
$prodSubcatId = $val['prodSubcatId'];
|
|
|
|
$prodSubcat->setProdSubcatId($prodSubcatId);
|
|
$infS = $prodSubcat->Info();
|
|
|
|
$producto->setProdCatId($infS['prodCatId']);
|
|
$producto->setProdSubcatId($prodSubcatId);
|
|
$resProds = $producto->SearchPromo();
|
|
|
|
foreach($resProds as $res){
|
|
|
|
if(!in_array($res['proveedorId'], $idProveedor))
|
|
continue;
|
|
|
|
$prodCat->setProdCatId($res['prodCatId']);
|
|
$nomCat = $prodCat->GetNameById();
|
|
|
|
$prodSubcat->setProdSubcatId($res['prodSubcatId']);
|
|
$nomSubcat = $prodSubcat->GetNameById();
|
|
|
|
$proveedor->setProveedorId($res['proveedorId']);
|
|
$nomProv = $proveedor->GetNameById();
|
|
|
|
$res['descripcion'] = $res['codigoBarra'].' :: '.utf8_encode($nomCat.' - '.$nomSubcat.' - '.$nomProv.' - '.$res['modelo']);
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProductoId($res['productoId']);
|
|
|
|
if($promocion->ExistProducto())
|
|
$res['checked'] = 1;
|
|
else
|
|
$res['checked'] = 0;
|
|
|
|
if(in_array($res['proveedorId'], $idProveedor))
|
|
$productos[] = $res;
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
}//if
|
|
|
|
$smarty->assign('info', $info);
|
|
$smarty->assign('tipo', $info['tipo']);
|
|
$smarty->assign('categorias', $categorias);
|
|
$smarty->assign('subcategorias', $subcategorias);
|
|
$smarty->assign('proveedores', $proveedores);
|
|
$smarty->assign('productos', $productos);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/editar-promocion-popup.tpl');
|
|
|
|
break;
|
|
|
|
case 'saveEditPromocion':
|
|
|
|
$promocionId = $_POST['promocionId'];
|
|
$aplica = $_POST['aplica'];
|
|
$aplicaTodos = $_POST['aplicaTodos'];
|
|
$tipo = $_POST['tipo'];
|
|
$vigencia = $_POST['vigencia'];
|
|
$idSucursal = $_POST['idSucursal'];
|
|
$idProdCat = $_POST['idProdCat'];
|
|
$idProdSubcat = $_POST['idProdSubcat'];
|
|
$idProveedor = $_POST['idProveedor'];
|
|
$idProducto = $_POST['idProducto'];
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setNombre($_POST['name']);
|
|
$promocion->setVigencia($vigencia);
|
|
$promocion->setAplicaTodos($aplicaTodos);
|
|
|
|
if($vigencia == 'Periodo'){
|
|
|
|
if(trim($_POST['fechaIni']) != '')
|
|
$fechaIni = date('Y-m-d',strtotime($_POST['fechaIni']));
|
|
if(trim($_POST['fechaFin']) != '')
|
|
$fechaFin = date('Y-m-d',strtotime($_POST['fechaFin']));
|
|
|
|
$promocion->setFechaIni($fechaIni);
|
|
$promocion->setFechaFin($fechaFin);
|
|
|
|
}
|
|
|
|
if($_POST['rebajado'])
|
|
$promocion->setRebajado(1);
|
|
else
|
|
$promocion->setRebajado(0);
|
|
|
|
if(!$promocion->SaveTemp()){
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(count($idSucursal) == 0){
|
|
$util->setError(20084,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if($aplicaTodos == 0){
|
|
|
|
if(count($idProdCat) == 0){
|
|
$util->setError(20085,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(count($idProdSubcat) == 0){
|
|
$util->setError(20086,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
if(count($idProveedor) == 0){
|
|
$util->setError(20087,'','');
|
|
$util->PrintErrors();
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
exit;
|
|
}
|
|
|
|
}//if
|
|
|
|
$promocion->setTipo($tipo);
|
|
$promocion->setAplica($aplica);
|
|
$promocion->setStatus($_POST['status']);
|
|
|
|
if($aplica == 'XxY'){
|
|
$promocion->setValorX($_POST['valorX']);
|
|
$promocion->setValorY($_POST['valorY']);
|
|
}elseif($aplica == 'N1Desc'){
|
|
$promocion->setTipoDesc($_POST['tipoDesc']);
|
|
$promocion->setValorDesc($_POST['valorDesc']);
|
|
$promocion->setValorN($_POST['valorN']);
|
|
}elseif($aplica == 'CompraX'){
|
|
$promocion->setTotalCompra($_POST['totalCompra2']);
|
|
$promocion->setCantArtRegalo($_POST['cantArtRegalo']);
|
|
$promocion->setProductoId($_POST['prodId']);
|
|
}elseif($aplica == 'CompraXabonoM'){
|
|
$promocion->setTotalCompra($_POST['totalCompraM']);
|
|
$promocion->setTipoDesc('Porcentaje');
|
|
$promocion->setValorDesc($_POST['porcentajeM']);
|
|
}elseif($aplica == 'DescCuenta'){
|
|
$promocion->setTipoDesc($_POST['tipoDesc']);
|
|
$promocion->setValorDesc($_POST['valorDesc']);
|
|
$promocion->setTotalCompra($_POST['totalCompra']);
|
|
}elseif($aplica == 'ArtConDesc'){
|
|
$promocion->setTipoDesc($_POST['tipoDesc']);
|
|
$promocion->setValorDesc($_POST['valorDesc']);
|
|
$promocion->setTotalCompra($_POST['totalCompra']);
|
|
}
|
|
|
|
if(!$promocion->Update())
|
|
{
|
|
echo 'fail[#]';
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
}else
|
|
{
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->DeleteExtraInfo();
|
|
|
|
//Guardamos las Sucursales
|
|
foreach($idSucursal as $id){
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setSucursalId($id);
|
|
$promocion->SaveSucursal();
|
|
|
|
}
|
|
|
|
if($aplicaTodos == 0){
|
|
|
|
$idProdCat = $util->CheckArray($idProdCat);
|
|
|
|
//Guardamos los Departamentos
|
|
foreach($idProdCat as $id){
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProdCatId($id);
|
|
$promocion->SaveDepto();
|
|
|
|
}
|
|
|
|
$idProdSubcat = $util->CheckArray($idProdSubcat);
|
|
|
|
//Guardamos las Lineas
|
|
foreach($idProdSubcat as $id){
|
|
|
|
$prodSubcat->setProdSubcatId($id);
|
|
$infS = $prodSubcat->Info();
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProdCatId($infS['prodCatId']);
|
|
$promocion->setProdSubcatId($id);
|
|
$promocion->SaveLinea();
|
|
|
|
}
|
|
|
|
$idProveedor = $util->CheckArray($idProveedor);
|
|
|
|
//Guardamos los Proveedores
|
|
foreach($idProveedor as $id){
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProveedorId($id);
|
|
$promocion->SaveProveedor();
|
|
|
|
}
|
|
|
|
$idProducto = $util->CheckArray($idProducto);
|
|
|
|
//Guardamos los Productos
|
|
foreach($idProducto as $id){
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$promocion->setProductoId($id);
|
|
$promocion->SaveProducto();
|
|
|
|
}
|
|
|
|
}//if
|
|
|
|
echo 'ok[#]';
|
|
$util->setError(30061,'complete','');
|
|
$util->PrintErrors();
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/status_on_popup.tpl');
|
|
echo '[#]';
|
|
|
|
$promociones = $promocion->Enumerate();
|
|
$promociones["items"] = $util->EncodeResult($promociones["items"]);
|
|
|
|
$smarty->assign('promociones', $promociones);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/promociones.tpl');
|
|
}
|
|
|
|
break;
|
|
|
|
case 'deletePromocion':
|
|
|
|
$promocionId = $_POST['promocionId'];
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
|
|
if(!$promocion->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 '[#]';
|
|
|
|
$promociones = $promocion->Enumerate();
|
|
$promociones["items"] = $util->EncodeResult($promociones["items"]);
|
|
|
|
$smarty->assign('promociones', $promociones);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/promociones.tpl');
|
|
}
|
|
|
|
break;
|
|
|
|
case 'viewPromocion':
|
|
|
|
$promocionId = $_POST['promocionId'];
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$info = $promocion->Info();
|
|
$info['nombre'] = utf8_encode($info['nombre']);
|
|
|
|
$info['fechaIni'] = date('d-m-Y',strtotime($info['fechaIni']));
|
|
$info['fechaFin'] = date('d-m-Y',strtotime($info['fechaFin']));
|
|
|
|
$producto->setProductoId($info['productoId']);
|
|
$infP = $producto->Info();
|
|
if ($infP) {
|
|
$info['producto'] = utf8_encode($infP['codigoBarra'].'<br>'.$infP['modelo']);
|
|
} else {
|
|
$info['producto'] = 'Producto no encontrado';
|
|
}
|
|
|
|
//Sucursales
|
|
|
|
$sql = 'SELECT s.nombre FROM promocionSuc p, sucursal s
|
|
WHERE p.sucursalId = s.sucursalId
|
|
AND p.promocionId = "'.$promocionId.'"';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$resSuc = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$sucursales = array();
|
|
foreach($resSuc as $res){
|
|
$res['nombre'] = urldecode($res['nombre']);
|
|
|
|
$sucursales[] = $res;
|
|
}
|
|
|
|
$categorias = array();
|
|
$subcategorias = array();
|
|
$proveedores = array();
|
|
$productos = array();
|
|
|
|
if($info['aplicaTodos'] == 0){
|
|
|
|
//Departamentos
|
|
|
|
$sql = 'SELECT c.nombre FROM productoCategoria c, promocionDepto p
|
|
WHERE c.prodCatId = p.prodCatId
|
|
AND p.promocionId = "'.$promocionId.'"
|
|
ORDER BY c.nombre ASC';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$resCats = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$categorias = array();
|
|
foreach($resCats as $res){
|
|
$res['nombre'] = utf8_encode($res['nombre']);
|
|
$categorias[] = $res;
|
|
}
|
|
|
|
//Lineas
|
|
|
|
$sql = 'SELECT s.nombre, c.nombre AS nomCat
|
|
FROM productoCategoria c, productoSubcategoria s, promocionLinea p
|
|
WHERE c.prodCatId = s.prodCatId
|
|
AND s.prodSubcatId = p.prodSubcatId
|
|
AND p.promocionId = "'.$promocionId.'"
|
|
ORDER BY s.nombre ASC';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$resSubcats = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$subcategorias = array();
|
|
foreach($resSubcats as $res){
|
|
$res['nombre'] = utf8_encode($res['nomCat'].' - '.$res['nombre']);
|
|
$subcategorias[] = $res;
|
|
}//foreach
|
|
|
|
//Proveedores
|
|
|
|
$sql = 'SELECT prov.nombre FROM proveedor prov, promocionProv promo
|
|
WHERE prov.proveedorId = promo.proveedorId
|
|
AND promo.promocionId = "'.$promocionId.'"
|
|
ORDER BY prov.nombre ASC';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$resProv = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$proveedores = array();
|
|
foreach($resProv as $res){
|
|
$res['nombre'] = utf8_encode($res['nombre']);
|
|
$proveedores[] = $res;
|
|
}
|
|
|
|
//Productos
|
|
|
|
$sql = 'SELECT p.productoId, p.modelo, p.codigoBarra, p.prodCatId, p.prodSubcatId, p.proveedorId
|
|
FROM producto p, promocionProd
|
|
WHERE p.productoId = promocionProd.productoId
|
|
AND promocionProd.promocionId = "'.$promocionId.'"
|
|
ORDER BY p.modelo ASC';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$resProds = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$productos = array();
|
|
foreach($resProds as $res){
|
|
|
|
$prodCat->setProdCatId($res['prodCatId']);
|
|
$nomCat = $prodCat->GetNameById();
|
|
|
|
$prodSubcat->setProdSubcatId($res['prodSubcatId']);
|
|
$nomSubcat = $prodSubcat->GetNameById();
|
|
|
|
$proveedor->setProveedorId($res['proveedorId']);
|
|
$nomProv = $proveedor->GetNameById();
|
|
|
|
$res['descripcion'] = $res['codigoBarra'].' :: '.utf8_encode($nomCat.' - '.$nomSubcat.' - '.$nomProv.' - '.$res['modelo']);
|
|
|
|
$productos[] = $res;
|
|
|
|
}//foreach
|
|
|
|
}//if
|
|
|
|
$smarty->assign('info', $info);
|
|
$smarty->assign('tipo', $info['tipo']);
|
|
$smarty->assign('categorias', $categorias);
|
|
$smarty->assign('subcategorias', $subcategorias);
|
|
$smarty->assign('proveedores', $proveedores);
|
|
$smarty->assign('productos', $productos);
|
|
$smarty->assign('sucursales', $sucursales);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/detalles-promocion-popup.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadSubcats':
|
|
|
|
$idProdCat = $_POST['idProdCat'];
|
|
|
|
$idProdCat = $util->CheckArray($idProdCat);
|
|
|
|
$subcategorias = array();
|
|
foreach($idProdCat as $prodCatId){
|
|
|
|
$prodSubcat->setProdCatId($prodCatId);
|
|
$subcats = $prodSubcat->EnumerateAll();
|
|
|
|
$prodCat->setProdCatId($prodCatId);
|
|
$nomCat = $prodCat->GetNameById();
|
|
|
|
foreach($subcats as $res){
|
|
|
|
$res['nombre'] = utf8_encode($nomCat.' - '.$res['nombre']);
|
|
|
|
$subcategorias[] = $res;
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('subcategorias', $subcategorias);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/enumProdSubcatPromo.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadProductos':
|
|
|
|
$idProdSubcat = $_POST['idProdSubcat'];
|
|
$idProveedor = $_POST['idProveedor'];
|
|
|
|
$idProdSubcat = $util->CheckArray($idProdSubcat);
|
|
$idProveedor = $util->CheckArray($idProveedor);
|
|
|
|
$productos = array();
|
|
foreach($idProdSubcat as $prodSubcatId){
|
|
|
|
$prodSubcat->setProdSubcatId($prodSubcatId);
|
|
$info = $prodSubcat->Info();
|
|
|
|
$producto->setProdCatId($info['prodCatId']);
|
|
$producto->setProdSubcatId($prodSubcatId);
|
|
$resProds = $producto->SearchPromo();
|
|
|
|
foreach($resProds as $res){
|
|
|
|
$prodCat->setProdCatId($res['prodCatId']);
|
|
$nomCat = $prodCat->GetNameById();
|
|
|
|
$prodSubcat->setProdSubcatId($res['prodSubcatId']);
|
|
$nomSubcat = $prodSubcat->GetNameById();
|
|
|
|
$proveedor->setProveedorId($res['proveedorId']);
|
|
$nomProv = $proveedor->GetNameById();
|
|
|
|
$res['descripcion'] = $res['codigoBarra'].' :: '.utf8_encode($nomCat.' - '.$nomSubcat.' - '.$nomProv.' - '.$res['modelo']);
|
|
|
|
if(in_array($res['proveedorId'], $idProveedor))
|
|
$productos[] = $res;
|
|
|
|
}//foreach
|
|
|
|
}//foreach
|
|
|
|
echo 'ok[#]';
|
|
echo count($productos);
|
|
echo '[#]';
|
|
$smarty->assign('productos', $productos);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/enumProdPromo.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadAplica':
|
|
|
|
$tipo = $_POST['tipo'];
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('tipo', $tipo);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/enumAplicarPromo.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadInfoProd':
|
|
|
|
$codigo = trim($_POST['codigo']);
|
|
|
|
$producto->setCodigoBarra($codigo);
|
|
$productoId = $producto->GetProductByCodigo();
|
|
|
|
$producto->setProductoId($productoId);
|
|
$info = $producto->Info();
|
|
|
|
if($productoId){
|
|
$modelo = utf8_encode($info['modelo']);
|
|
}else{
|
|
$modelo = 'No se encontró el producto';
|
|
$productoId = '';
|
|
}
|
|
|
|
echo 'ok[#]';
|
|
echo $modelo;
|
|
echo '[#]';
|
|
echo $productoId;
|
|
|
|
break;
|
|
|
|
case 'excluirPromocion':
|
|
|
|
$promocionId = $_POST['promocionId'];
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$info = $promocion->Info();
|
|
|
|
if($info['aplicaTodos'] == 0)
|
|
$sql = 'SELECT prov.nombre, prov.proveedorId
|
|
FROM proveedor prov, promocionProv promo
|
|
WHERE promo.proveedorId = prov.proveedorId
|
|
AND promo.promocionId = "'.$promocionId.'"';
|
|
else
|
|
$sql = 'SELECT nombre, proveedorId FROM proveedor
|
|
ORDER BY nombre ASC';
|
|
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$proveedores = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
if($info['aplicaTodos'] == 0)
|
|
$sql = 'SELECT cat.nombre, cat.prodCatId
|
|
FROM productoCategoria cat, promocionDepto promo
|
|
WHERE promo.prodCatId = cat.prodCatId
|
|
AND promo.promocionId = "'.$promocionId.'"';
|
|
else
|
|
$sql = 'SELECT nombre, prodCatId FROM productoCategoria
|
|
ORDER BY nombre ASC';
|
|
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$categorias = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$sql = 'SELECT p.productoId, p.modelo, promo.promoProdExcId, p.codigoBarra
|
|
FROM promocionProdExc promo, producto p
|
|
WHERE promo.productoId = p.productoId
|
|
AND promo.promocionId = "'.$promocionId.'"';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productosExc = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$smarty->assign('info', $info);
|
|
$smarty->assign('proveedores', $proveedores);
|
|
$smarty->assign('categorias', $categorias);
|
|
$smarty->assign('productosExc', $productosExc);
|
|
$smarty->assign('DOC_ROOT', DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/boxes/excluir-promocion-popup.tpl');
|
|
|
|
break;
|
|
|
|
case 'loadSubcatsExc':
|
|
|
|
$prodCatId = $_POST['prodCatId'];
|
|
$promocionId = $_POST['promocionId'];
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$info = $promocion->Info();
|
|
|
|
if($info['aplicaTodos'] == 0)
|
|
$sql = 'SELECT s.prodSubcatId, s.nombre FROM productoSubcategoria s, promocionLinea p
|
|
WHERE s.prodSubcatId = p.prodSubcatId
|
|
AND p.prodCatId = "'.$prodCatId.'"
|
|
AND p.promocionId = "'.$promocionId.'"';
|
|
else
|
|
$sql = 'SELECT prodSubcatId, nombre FROM productoSubcategoria
|
|
WHERE prodCatId = "'.$prodCatId.'"';
|
|
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$subcats = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
$x = '<select name="prodSubcatId" id="prodSubcatId" class="largeInput wide2">
|
|
<option value="">Seleccione</option>';
|
|
|
|
foreach($subcats as $res)
|
|
$x .= '<option value="'.$res['prodSubcatId'].'">'.utf8_encode($res['nombre']).'</option>';
|
|
|
|
$x .= '</select>';
|
|
|
|
echo 'ok[#]';
|
|
echo $x;
|
|
|
|
break;
|
|
|
|
case 'loadProdsExc':
|
|
|
|
$proveedorId = $_POST['proveedorId'];
|
|
$prodCatId = $_POST['prodCatId'];
|
|
$prodSubcatId = $_POST['prodSubcatId'];
|
|
$promocionId = $_POST['promocionId'];
|
|
|
|
$sqlFilter = '';
|
|
|
|
if($proveedorId)
|
|
$sqlFilter .= ' AND p.proveedorId = "'.$proveedorId.'"';
|
|
if($prodCatId)
|
|
$sqlFilter .= ' AND p.prodCatId = "'.$prodCatId.'"';
|
|
if($prodSubcatId)
|
|
$sqlFilter .= ' AND p.prodSubcatId = "'.$prodSubcatId.'"';
|
|
|
|
$promocion->setPromocionId($promocionId);
|
|
$info = $promocion->Info();
|
|
|
|
if($info['aplicaTodos'] == 0)
|
|
$sql = 'SELECT p.productoId, p.modelo, p.codigoBarra FROM producto p, promocionProd promo
|
|
WHERE p.productoId = promo.productoId
|
|
'.$sqlFilter.'
|
|
AND promo.promocionId = "'.$promocionId.'"';
|
|
else
|
|
$sql = 'SELECT p.productoId, p.modelo, p.codigoBarra FROM producto p
|
|
WHERE 1 '.$sqlFilter;
|
|
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
echo 'ok[#]';
|
|
echo count($productos);
|
|
echo '[#]';
|
|
foreach($productos as $res){
|
|
echo '<input type="checkbox" name="idProducto[]" value="'.$res['productoId'].'">';
|
|
echo $res['codigoBarra'].' :: '.$res['modelo'];
|
|
echo '<br>';
|
|
}
|
|
|
|
break;
|
|
|
|
case 'saveExcluirProds':
|
|
|
|
$promocionId = $_POST['promocionId'];
|
|
$prodIds = $_POST['idProducto'];
|
|
|
|
if(count($prodIds) > 0){
|
|
|
|
foreach($prodIds as $productoId){
|
|
|
|
$sql = 'SELECT promocionId FROM promocionProdExc
|
|
WHERE productoId = "'.$productoId.'"
|
|
AND promocionId = "'.$promocionId.'"
|
|
LIMIT 1';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$existe = $util->DBSelect($_SESSION["empresaId"])->GetSingle();
|
|
|
|
if(!$existe){
|
|
$sql = 'INSERT INTO promocionProdExc (productoId, promocionId)
|
|
VALUES ("'.$productoId.'","'.$promocionId.'")';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$util->DBSelect($_SESSION["empresaId"])->InsertData();
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$sql = 'SELECT p.productoId, p.modelo, promo.promoProdExcId, p.codigoBarra
|
|
FROM promocionProdExc promo, producto p
|
|
WHERE promo.productoId = p.productoId
|
|
AND promo.promocionId = "'.$promocionId.'"';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('productosExc',$productos);
|
|
$smarty->assign('DOC_ROOT',DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/promociones-productos.tpl');
|
|
|
|
break;
|
|
|
|
case 'deleteProdExc':
|
|
|
|
$promocionId = $_POST['promocionId'];
|
|
$promoProdExcId = $_POST['promoProdExcId'];
|
|
|
|
$sql = 'DELETE FROM promocionProdExc WHERE promoProdExcId = "'.$promoProdExcId.'"';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$util->DBSelect($_SESSION["empresaId"])->DeleteData();
|
|
|
|
|
|
$sql = 'SELECT p.productoId, p.modelo, promo.promoProdExcId, p.codigoBarra
|
|
FROM promocionProdExc promo, producto p
|
|
WHERE promo.productoId = p.productoId
|
|
AND promo.promocionId = "'.$promocionId.'"';
|
|
$util->DBSelect($_SESSION["empresaId"])->setQuery($sql);
|
|
$productos = $util->DBSelect($_SESSION["empresaId"])->GetResult();
|
|
|
|
echo 'ok[#]';
|
|
|
|
$smarty->assign('productosExc',$productos);
|
|
$smarty->assign('DOC_ROOT',DOC_ROOT);
|
|
$smarty->display(DOC_ROOT.'/templates/lists/promociones-productos.tpl');
|
|
|
|
break;
|
|
|
|
}//switch
|
|
|
|
?>
|