Incam_Intranet/busqueda_pedidos_multiple.php

180 lines
5.0 KiB
PHP

<?php
include("seguridad.php");
include("functions.php");
if(!$usuario->tieneRol("4")
&& !$usuario->tieneRol("1")
&& !$usuario->tieneRol("3")){
header("Location: aplicacion.php?e=permiso");
exit;
}
include_once("html/cabecera.php");
include_once("Objects/HTML.php");
$html = new HTML($locale);
/* BUSQUEDA.PHP */
echo $html->menuPedidos($usuario,"");
echo "<h2>".$locale['808']."</h2>";
$order = stripinput($_GET["order"]);
$order_by = stripinput($order);
$orden = stripinput($_GET["orden"]);
$offset = stripinput($_GET["offset"]);
if ($order_by == "")
$order_by = "nombre";
else if ($orden != "")
$order_by .= " DESC";
if(!isset($offset)){
$offset = 0;
}
include_once("campos_pedido.php");
$where = "";
$tabla = "";
if ($nombre != ""){
$condicion .= "pedidos.nombre like '%".$nombre."%',";
}
if ($gerente != ""){
$condicion .= "pedidos.gerente = '".$gerente."',";
}
if ($cliente != ""){
$condicion .= "pedidos.cliente = '".$cliente."',";
}
if ($estado != ""){
$condicion .= "pedidos.estado = '".$estado."',";
}
if ($procedencia != ""){
$condicion .= "pedidos.procedencia = '".$procedencia."',";
}
$puesto_perfil = false;
if ($perfil != ""){
foreach($perfil as $per)
if ($per != "") {
if(!$puesto_perfil)
$tabla .= ",perfil_pedido";
$puesto_perfil = true;
$condicion .= "perfil_pedido.perfil = '".$per."' and perfil_pedido.oid_i = pedidos.oid or ";
}
}
$puesto_tecno = false;
if($tecnologia != ""){
foreach($tecnologia as $tecno)
if ($tecno != ""){
if(!$puesto_tecno)
$tabla .= ",tecnologia_pedido";
$puesto_tecno = true;
$condicion .= "tecnologia_pedido.tecnologia = '".$tecno."' and tecnologia_pedido.oid_i = pedidos.oid or ";
}
}
//Quitamos el último or y ponemos una coma
if (($condicion{strlen($condicion) - 3} == "o") && ($condicion{strlen($condicion) - 2} == "r")){
$condicion = substr($condicion,0,strlen($condicion) - 3);
$condicion .= ",";
}
$puesto_provincia = false;
if($provincias != ""){
foreach($provincias as $provincia)
if ($provincia != ""){
if(!$puesto_provincia)
$tabla .= ",provincia_pedido";
$puesto_provincia = true;
$condicion .= "provincia_pedido.provincia = '".$provincia."' and provincia_pedido.oid_i = pedidos.oid or ";
}
}
//Quitamos el último or y ponemos una coma
if (($condicion{strlen($condicion) - 3} == "o") && ($condicion{strlen($condicion) - 2} == "r")){
$condicion = substr($condicion,0,strlen($condicion) - 3);
$condicion .= ",";
}
$puesto_idioma = false;
if($idiomas != ""){
foreach($idiomas as $idioma){
if ($idioma != ""){
if(!$puesto_idioma)
$tabla .= ",idioma_pedido";
$puesto_idioma = true;
$condicion .= "idioma_pedido.idioma = '".$idioma."' and idioma_pedido.oid_i = pedidos.oid or ";
}
}
}
//Quitamos el último or y ponemos una coma
if (($condicion{strlen($condicion) - 3} == "o") && ($condicion{strlen($condicion) - 2} == "r")){
$condicion = substr($condicion,0,strlen($condicion) - 3);
$condicion .= ",";
}
// Mostramos sólo los del gerente o si es admin todos
if(!$usuario->tieneRol("1")){
$condicion.=" gerente='".$usuario->getValor("oid")."',";
}
// Agregamos el estado de los pedidos que queremos mostrar
if(($_GET['byEstado']!="") && ($_GET['byEstado']!="0")){
$tipoPedidos=$_GET['byEstado'];
$whereTipo=" and estado=".$tipoPedidos;
} else {
$tipoPedidos="0";
$whereTipo="";
}
if ($condicion != "") $where = " where ";
//Quitamos la última coma
if ($condicion{strlen($condicion) - 1} == ",")
$condicion = substr($condicion,0,strlen($condicion) - 1);
//Reemplazamos las comas por "and"
$condicion = str_replace(","," and ",$condicion);
$limit = constante("lista");;
$link = conectar();
$consulta = "select DISTINCT pedidos.oid as codigo, pedidos.* from pedidos".$tabla.$where.$condicion;
// Creamos el objeto ListaPedidos
// Variables por si es una ordenacion
$order_by="";
if($_GET["order"]!=""){
$order_by = " ORDER by ".stripinput($_GET["order"])." ".$_GET["modo"];
}
$where="";
$modo = stripinput($_GET["modo"]);
// Comprobamos si nos están buscando de nuevo o símplemente quieren ordenar
if($_GET['reutilizar']=="si"){
$listaPedidos = unserialize($_SESSION["ultimaBusquedaPedidos"]);
// creamos el nuevo objeto con el orden
$sql=$listaPedidos->getSQL();
$listaPedidos=new ListaPedido($usuario,$order_by,$sql,$tipoPedidos);
}else{
$listaPedidos=new ListaPedido($usuario,$order_by,$consulta,$tipoPedidos);
}
// Metemos el objeto a la sesion
$s = serialize($listaPedidos);
$_SESSION["ultimaBusquedaPedidos"]=$s;
$variablesExtra="reutilizar=si";
include_once("ver_lista_pedidos.php");
include_once("html/pie.php");
?>