예제 #1
0
 /**
  *
  *Obtener una lista de proveedores. Puede filtrarse por activo o inactivos, y puede ordenarse por sus atributos.
  *
  * @param activo bool Si el valor no es obtenido, se listaran los proveedores tanto activos como inactivos. Si su valor es true, se mostraran solo los proveedores activos, si es false, se mostraran solo los proveedores inactivos.
  * @param ordenar json Valor que determinara el orden de la lista.
  * @return proveedores json Objeto que contendra la lista de proveedores.
  **/
 public static function Lista($activo = null, $orden = null)
 {
     Logger::log("Listando los proveedores");
     $proveedores = array();
     //Solo se obtendran los usuarios cuya clasificacion de cliente no sea nula.
     $usuario_proveedores = UsuarioDAO::byRange(new Usuario(array("id_clasificacion_proveedor" => 0, "id_rol" => 6)), new Usuario(array("id_clasificacion_proveedor" => PHP_INT_MAX)), $orden);
     //Si no se reciben parametros, la lista final sera la variable usuario_clientes,
     //pero si se reciben parametros se hace una interseccion y se regresa lal ista
     if (!is_null($activo)) {
         $proveedores_rango = UsuarioDAO::search(new Usuario(array("activo" => $activo)), $orden);
         $proveedores = array_intersect($usuario_proveedores, $proveedores_rango);
     } else {
         $proveedores = $usuario_proveedores;
     }
     Logger::log("La lista de proveedores fue obtenida exitosamente con " . count($proveedores) . " elementos");
     return array("resultados" => $proveedores, "numero_de_resultados" => sizeof($proveedores));
 }
예제 #2
0
 /**
  *
  *Regresa una lista de clientes. Puede filtrarse por empresa, sucursal, activos, as?omo ordenarse seg?us atributs con el par?tro orden. Es posible que algunos clientes sean dados de alta por un admnistrador que no les asigne algun id_empresa, o id_sucursal.
  *Update :  �Es correcto que contenga el argumento id_sucursal? Ya que as?omo esta entiendo que solo te regresara los datos de los clientes de una sola sucursal.
  *
  * @param orden json Valor que definir la forma de ordenamiento de la lista. 
  * @param id_empresa int Filtrara los resultados solo para los clientes que se dieron de alta en la empresa dada.
  * @param id_sucursal int Filtrara los resultados solo para los clientes que se dieron de alta en la sucursal dada.
  * @param mostrar_inactivos bool Si el valor es obtenido, cuando sea true, mostrar solo los clientes que estn activos, false si solo mostrar clientes inactivos.
  * @return clientes json Arreglo de objetos que contendr� la informaci�n de los clientes.
  **/
 private static function Lista($activo = null, $id_clasificacion_cliente = null, $id_sucursal = null, $orden = null)
 {
     Logger::log("Listando clientes");
     //valida que el parametro orden sea valido
     if (!is_null($orden) && $orden != "id_usuario" && $orden != "id_direccion" && $orden != "id_direccion_alterna" && $orden != "id_sucursal" && $orden != "id_rol" && $orden != "id_clasificacion_cliente" && $orden != "id_clasificacion_proveedor" && $orden != "id_moneda" && $orden != "fecha_asignacion_rol" && $orden != "nombre" && $orden != "rfc" && $orden != "curp" && $orden != "comision_ventas" && $orden != "telefono_personal1" && $orden != "telefono_personal2" && $orden != "fecha_alta" && $orden != "fecha_baja" && $orden != "activo" && $orden != "limite_credito" && $orden != "descuento" && $orden != "password" && $orden != "last_login" && $orden != "consignatario" && $orden != "salario" && $orden != "correo_electronico" && $orden != "pagina_web" && $orden != "saldo_del_ejercicio" && $orden != "ventas_a_credito" && $orden != "representante_legal" && $orden != "facturar_a_terceros" && $orden != "dia_de_pago" && $orden != "mensajeria" && $orden != "intereses_moratorios" && $orden != "denominacion_comercial" && $orden != "dias_de_credito" && $orden != "cuenta_de_mensajeria" && $orden != "dia_de_revision" && $orden != "codigo_usuario" && $orden != "dias_de_embarque" && $orden != "tiempo_entrega" && $orden != "cuenta_bancaria" && $orden != "id_tarifa_compra" && $orden != "id_tarifa_venta") {
         Logger::error("La variable orden (" . $orden . ") no es valida");
         throw new Exception("La variable orden (" . $orden . ") no es valida", 901);
     }
     $clientes = array();
     //Solo se obtendran los usuarios cuya clasificacion de cliente no sea nula.
     $usuario_clientes = UsuarioDAO::byRange(new Usuario(array("id_clasificacion_cliente" => 1)), new Usuario(array("id_clasificacion_cliente" => PHP_INT_MAX)), $orden);
     //Si no se reciben parametros, la lista final sera la variable usuario_clientes,
     //pero si se reciben parametros se hace una interseccion y se regresa lal ista
     if (!is_null($id_sucursal) || !is_null($id_clasificacion_cliente) || !is_null($activo)) {
         $clientes_rango = UsuarioDAO::search(new Usuario(array("id_clasificacion_cliente" => $id_clasificacion_cliente, "id_sucursal" => $id_sucursal, "activo" => $activo)), $orden);
         $clientes = array_intersect($usuario_clientes, $clientes_rango);
     } else {
         $clientes = $usuario_clientes;
     }
     Logger::log("La lista de clientes fue obtenida exitosamente con " . count($clientes) . " elementos");
     return $clientes;
 }