git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk/src@22 e2b1556b-49f8-d141-9351-52d6861a72d9
180 lines
5.0 KiB
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");
|
|
|
|
?>
|