/** * Genera un array con la informacion necesaria para imprimir el documento * Recibe el id del presupuesto * * @param array $idsDocumento Array con los ids de presupuestos * @return array Array con dos elementos: master es un objeto presupuesto y detail es un array de objetos lineas de presupuesto */ protected function getDatosDocumento(array $idsDocumento) { $master = array(); $detail = array(); // Recorro el array de los albaranes a imprimir foreach ($idsDocumento as $key => $idDocumento) { // Instancio la cabecera del albaran $master[$key] = new PstoCab($idDocumento); // LLeno el array con objetos de lineas de presupuesto $lineas = array(); $pstoLineas = new PstoLineas(); $rows = $pstoLineas->cargaCondicion('IDLinea', "IDPsto='{$idDocumento}'", "IDPsto ASC"); foreach ($rows as $row) { $lineas[] = new PstoLineas($row['IDLinea']); } $detail[$key] = $lineas; } return array('master' => $master, 'detail' => $detail); }
/** * Calcula el beneficio del presupuesto * * Devuelve un array con el precio de venta, el costo (bases imponibles) * y el beneficio del presupuesto * * array ( * 'Venta' => Importe total del presupuesto base imponible, * 'Costo' => Importe total del costo del presupuesto base imponible * 'Beneficio' => Venta - Costo * ) * * @param integer Id del presupuesto * @return array */ public function getBeneficio($idPsto = '') { if ($idPsto == '') { $idPsto = $this->getIDPsto(); } $lineas = new PstoLineas(); $rows = $lineas->cargaCondicion("sum(ImporteCosto) as Costo", "IDPsto='{$idPsto}'"); unset($lineas); $beneficio = array('Venta' => $this->TotalBases, 'Costo' => $rows[0]['Costo'], 'Beneficio' => $this->TotalBases - $rows[0]['Costo']); return $beneficio; }