/** * Obtieene una lista con todos las herramientas que no tengan un distribuidor * excluyendo la herramienta que se desee * * @author Jonathan Sandoval <*****@*****.**> * @param Int $id ID de la herramienta a excluir * @return Array(Herramienta) Conjunto de Herramientas resultantes */ static function obtenerHerramientasSinDistribuidor($id = 0) { $tablaHerramienta = constant('TABLA_HERRAMIENTA'); $tablaRelacion = constant('TABLA_DISTRIBUIDOR_HERRAMIENTA'); $consulta = "SELECT * FROM {$tablaHerramienta} \n WHERE ID NOT IN (\n SELECT ID_Herramienta \n FROM {$tablaRelacion}\n WHERE ID_Distribuidor <> {$id}\n );"; $res = ControladorBaseDatos::query($consulta); $primera = new Herramienta(); $primera->setNombre('Sin Herramientas'); $primera->setID(0); $herramientas = array($primera); while ($row = $res->fetch_assoc()) { $herramienta = ControladorHerramienta::array_Herramienta($row); $herramientas[] = $herramienta; } return $herramientas; }
/** * Transforma un array asociativo a un objeto del tipo Herramienta * * @author Jonathan Sandoval <*****@*****.**> * @param Array $array Arreglo Asociativo con los datos de una Herramienta * @return Herramienta Objeto de tipo Herramienta con datos del array recibido **/ static function array_Herramienta($array = array()) { //Nombre de las tablas $tablaTipo = constant('TABLA_TIPOHERRAMIENTA'); $tablaMarca = constant('TABLA_MARCA'); $tablaCalidad = constant('TABLA_CALIDAD'); //Nombre de las abrebviaturas de cada objeto de la tabla $idtipo = $array["ID_Tipo"]; isset($array["ID_Marca"]) ? $idMarca = intval($array["ID_Marca"]) : ($idMarca = 0); isset($array["Calidad"]) ? $abrCalidad = $array["Calidad"] : ($abrCalidad = ""); //Objetos Provisionales $tipo = NULL; $marca = NULL; $calidad = NULL; $objeto = new Herramienta(); //Establece datos de la instancia del empleado $objeto->setID($array["ID"]); $objeto->setNombre($array["Nombre"]); $objeto->setPrecio($array["Precio"]); $objeto->setCantidad($array["CantidadExistente"]); $objeto->setPrecioCompra($array["PrecioCompra"]); if ($idtipo != "") { //Establece un objeto de tipo 'Tipo' $consulta = "SELECT *\n FROM {$tablaTipo}\n WHERE ID = '{$idtipo}' OR\n Nombre LIKE '%{$idtipo}%' \n LIMIT 1"; $res = ControladorBaseDatos::query($consulta); if ($row = $res->fetch_assoc()) { $tipo = new TipoHerramienta(); $tipo->setID($row["ID"]); $tipo->setNombre($row["Nombre"]); } } $objeto->setTipo($tipo); //Establece un objeto de tipo 'Marca' $consulta = "SELECT *\n FROM {$tablaMarca}\n WHERE ID = {$idMarca}\n LIMIT 1"; $res = ControladorBaseDatos::query($consulta); if ($row = $res->fetch_assoc()) { $marca = new Marca(); $marca->setID($row["ID"]); $marca->setAbreviatura($row["Abreviatura"]); $marca->setNombre($row["Nombre"]); } $objeto->setMarca($marca); //Establece un objeto de tipo 'Calidad' $consulta = "SELECT *\n FROM {$tablaCalidad}\n WHERE Abreviatura = '{$abrCalidad}'\n LIMIT 1"; $res = ControladorBaseDatos::query($consulta); if ($row = $res->fetch_assoc()) { $calidad = new Calidad(); $calidad->setAbreviatura($row["Abreviatura"]); $calidad->setNombre($row["Nombre"]); } $objeto->setCalidad($calidad); return $objeto; }