. * */ class InformeInventario { private $bdd; public function __construct($baseDatos) { $this->bdd = $baseDatos; } public function ejecuta() { $opc = $_GET['opc']; switch ($opc) { case 'Ubicacion':return $this->formularioUbicacion(); case 'listarUbicacion':return $this->listarUbicacion(); case 'listarArticulo':return $this->listarArticulo(); case 'Articulo':return $this->formularioArticulo(); case 'Total':return $this->inventarioTotal(); } } private function listarUbicacion() { $fichero = "xml/inventarioUbicacion.xml"; $salida = "tmp/inventarioUbicacion.xml"; $plantilla = file_get_contents($fichero) or die('Fallo en la apertura de la plantilla ' . $fichero); $id = $_POST['id'] == NULL ? $_GET['id'] : $_POST['id']; $comando = "select * from Ubicaciones where id='" . $id . "';"; $resultado = $this->bdd->ejecuta($comando); if (!$resultado) { return $this->bdd->mensajeError($comando); } $fila = $this->bdd->procesaResultado(); $plantilla = str_replace("{id}", $id, $plantilla); $plantilla = str_replace("{Descripcion}", utf8_encode($fila['Descripcion']), $plantilla); file_put_contents($salida, $plantilla) or die('Fallo en la escritura de la plantilla ' . $salida); $informe = new InformePDF($this->bdd, $salida, true); $informe->crea($salida); $informe->cierraPDF(); $informe->guardaArchivo("tmp/Informe.pdf"); echo ''; } private function listarArticulo() { $fichero = "xml/inventarioArticulo.xml"; $salida = "tmp/inventarioArticulo.xml"; $plantilla = file_get_contents($fichero) or die('Fallo en la apertura de la plantilla ' . $fichero); $id = $_POST['id'] == NULL ? $_GET['id'] : $_POST['id']; $comando = "select * from Articulos where id='" . $id . "';"; $resultado = $this->bdd->ejecuta($comando); if (!$resultado) { return $this->bdd->mensajeError($comando); } $fila = $this->bdd->procesaResultado(); $plantilla = str_replace("{id}", $id, $plantilla); $plantilla = str_replace("{Descripcion}", utf8_encode($fila['descripcion']), $plantilla); $plantilla = str_replace("{Marca}", utf8_encode($fila['marca']), $plantilla); $plantilla = str_replace("{Modelo}", utf8_encode($fila['modelo']), $plantilla); file_put_contents($salida, $plantilla) or die('Fallo en la escritura de la plantilla ' . $salida); $informe = new InformePDF($this->bdd, $salida, true); $informe->crea($salida); $informe->cierraPDF(); $informe->guardaArchivo("tmp/Informe.pdf"); echo ''; } private function listaUbicaciones() { $salida = "\n"; return $salida; } private function listaArticulos() { $salida = "\n"; return $salida; } private function formulario($accion, $etiqueta, $lista) { $salida = '