<?php define("BYPASS_INSTANCE_CHECK", false); require_once "../../../server/bootstrap.php"; $page = new GerenciaTabPage(); // Parametros necesarios $page->requireParam("pid", "GET", "Este producto no existe."); $este_producto = ProductoDAO::getByPK($_GET["pid"]); if (is_null($este_producto)) { $page->render(); exit; } $nexistencias = ProductoDAO::ExistenciasTotales($este_producto->getIdProducto()); $precios = TarifasController::_CalcularTarifa($este_producto, "venta"); $html = "<table><tr><td colspan=2><h3>Tarifas</h3></td></tr>\t"; for ($i = 0; $i < sizeof($precios); $i++) { $html .= "<tr><td>" . $precios[$i]["descripcion"] . "</td><td>" . FormatMoney($precios[$i]["precio"]) . "</td>"; } $um = UnidadMedidaDAO::getByPK($este_producto->getIdUnidad()); if (!is_null($um)) { $html .= sprintf("<tr><td colspan=2><h3>Existencias</h3></td></tr><tr><td> %.3f " . $um->getDescripcion() . "</td></tr></tr>", $nexistencias); } else { $html .= "<tr><td colspan=2><h3>Existencias</h3></td></tr><tr><td> </td></tr></tr>"; } $html .= "</table>"; if (is_null($este_producto->getFotoDelProducto())) { //$page->addComponent(" ¿ Es esta una imagen descriptiva de su producto?"); } $page->addComponent("\n\t<table class=\"\">\n\n\t <tr>\n\t <td rowspan=2><div id=\"gimg\"></div></td>\n\t <td><h2>" . $este_producto->getNombreProducto() . "</h2></td>\n\t </tr>\n\t <tr>\n\t <td>" . $html . "</td>\n\t </tr>\n\t</table>\n\t<script type=\"text/javascript\">\n\t function gimgcb(a,b,c){\n\t if(a.responseData.results.length > 0)\n\t document.getElementById(\"gimg\").innerHTML = \"<img src='\" + a.responseData.results[0].tbUrl + \"'>\";\n\t }\n\t</script>\n\t<script \n\t type=\"text/javascript\" \n\t src=\"https://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=" . $este_producto->getCodigoProducto() . "&callback=gimgcb\">\n\t</script>"); $page->nextTab("General"); //
/** * * Buscar productos por codigo_producto, nombre_producto, descripcion_producto. * * @param query string Buscar productos por codigo_producto, nombre_producto, descripcion_producto. * @param id_producto int Si estoy buscando un producto del cual ya tengo conocido su id. Si se envia `id_producto` todos los demas campos seran ignorados. * @param id_sucursal int Buscar las existencias de este producto en una sucursal especifica. * @return resultados json * @return numero_de_resultados int **/ public static function Buscar($query, $id_producto = null, $id_sucursal = null) { if (!is_null($id_producto)) { Logger::log("Buscando producto por id_producto = {$id_producto}.... "); $p = ProductoDAO::getByPK($id_producto); if (is_null($p)) { return array("resultados" => array(), "numero_de_resultados" => 0); } return array("resultados" => array($p->asArray()), "numero_de_resultados" => 1); } //!is_null($id_producto) if (!is_null($id_sucursal)) { Logger::log("Buscando producto por id_sucursal = {$id_sucursal}.... "); $empresas = SucursalEmpresaDAO::search(new SucursalEmpresa(array("id_sucursal" => $id_sucursal))); if (empty($empresas)) { Logger::log("no results"); return array("resultados" => array(), "numero_de_resultados" => 0); } $results = array(); foreach ($empresas as $e) { Logger::log("suc {$id_sucursal} pertenece a empresa:" . $e->getIdEmpresa()); $productos_e = ProductoEmpresaDAO::search(new ProductoEmpresa(array("id_empresa" => $e->getIdEmpresa()))); foreach ($productos_e as $p_e) { $p = ProductoDAO::getByPK($p_e->getIdProducto()); if (is_null($p)) { throw new BusinessLogicException("el producto " . $p_e->getIdProducto() . " no existe"); } array_push($results, $p->asArray()); } } if (sizeof($results) == 0) { array_push($results, array("nombre_producto" => "lksadjfklaj", "descripcion" => "asdf")); } return array("numero_de_resultados" => sizeof($results), "resultados" => $results); } //if (!is_null($id_sucursal)) $productos = ProductoDAO::buscarProductos($query); $resultado = array(); foreach ($productos as $p) { $r = $p->asArray(); //una vez que tengo los productos vamos a agergarle sus //precios tarifarios $r["tarifas"] = TarifasController::_CalcularTarifa($p, "venta"); //buscar sus existencias $existencias = InventarioController::Existencias(null, null, $p->getIdProducto(), null); $r["existencias"] = $existencias["resultados"]; array_push($resultado, $r); } //$productos as $p if (strlen($query) > 0 && sizeof($resultado) == 0) { array_push($resultado, array("nombre_producto" => "El producto <i>{$query}</i> no se encuentra.", "descripcion" => "¿ Desea agregarlo ahora ?", "id_producto" => -99, "query" => $query)); } return array("resultados" => $resultado, "numero_de_resultados" => sizeof($resultado)); }