public function IndexAction()
 {
     $firma = new Firmas();
     $firmas = $firma->fetchAll('RazonSocial', false);
     unset($firma);
     $this->values['firmas'] = $firmas;
     return parent::IndexAction();
 }
 public function getRelacionFirmas()
 {
     $array = array();
     // Coger todas las firmas definidas
     $firmas = new Firmas();
     $rows = $firmas->cargaCondicion("Id,RazonSocial", "Vigente='1'", "RazonSocial ASC");
     unset($firmas);
     foreach ($rows as $row) {
         $array[$row['Id']]['Nombre'] = $row["RazonSocial"];
     }
     // Coger el código de cada firma para el cliente
     $relacion = new Relaciones();
     $rows = $relacion->cargaCondicion("IdEntidadDestino,Observations", "EntidadOrigen='Clientes' and IdEntidadOrigen='{$this->Id}' and EntidadDestino='Firmas'");
     foreach ($rows as $row) {
         if ($array[$row['IdEntidadDestino']]['Nombre']) {
             $array[$row['IdEntidadDestino']]['Codigo'] = $row['Observations'];
         }
     }
     return $array;
 }
<?php

/*
 * DEVUELVE LAS FAMILIAS DE UNA FIRMA EN EL FORMATO
 * INDICADO EN EL PARÁMETRO 'formato'
 *
 * Es llamado por AJAX
 *
 * @author Sergio Perez <*****@*****.**>
 * @copyright Informatica ALBATRONIC
 * @since 19.06.2015
 */
include_once "../bin/albatronic/autoloader.inc.php";
$v = $_GET;
$formato = strtoupper($v['formato']);
$firma = new Firmas($v['idFirma']);
$rows = $firma->getFamilias();
unset($firma);
switch ($formato) {
    case '':
    case 'JSON':
        $tag = json_encode($rows);
        break;
    default:
        $tag = "";
        break;
}
echo $tag;
 static function getTopFirmas($periodo = 3, $nItems = 10)
 {
     // Construir la parte del filtro que depende del periodo
     switch ($periodo) {
         case '':
             $periodo = 0;
         case '0':
             // Ultimo mes
             $diferenciaDias = -30;
             $titlePeriodo = "Último mes";
             break;
         case '1':
             // Ultimo Trimestre
             $diferenciaDias = -90;
             $titlePeriodo = "Últime trimestre";
             break;
         case '2':
             // Ultimo Semestre
             $diferenciaDias = -180;
             $titlePeriodo = "Último Semestre";
             break;
         case '3':
             // Ultimo año
             $diferenciaDias = -365;
             $titlePeriodo = "Últimos 12 meses";
             break;
         case '4':
             // Todo, 20 años hacia atrás
             $diferenciaDias = -7300;
             $titlePeriodo = "Todos los datos";
             break;
     }
     $fecha = new Fecha();
     $desdeFecha = $fecha->sumaDias($diferenciaDias);
     unset($fecha);
     $firma = new Firmas();
     $clienteTabla = $firma->getDataBaseName() . "." . $firma->getTableName();
     $pedidos = new PedidosCab();
     $pedidosTabla = $pedidos->getDataBaseName() . "." . $pedidos->getTableName();
     unset($pedidos);
     $em = new EntityManager($firma->getConectionName());
     if ($em->getDbLink()) {
         $query = "SELECT t2.RazonSocial as name, SUM(t1.TotalBases) as y\n                FROM {$pedidosTabla} as t1, {$clienteTabla} as t2\n                WHERE t1.IdFirma=t2.Id AND t1.Fecha>='{$desdeFecha}' \n                GROUP BY t1.IdFirma\n                ORDER BY SUM(t1.TotalBases) DESC LIMIT {$nItems}";
         //echo $query;
         $em->query($query);
         $rows = $em->fetchResult();
         $em->desConecta();
     }
     unset($firma);
     return array('title' => "TOP-{$nItems} Firmas. {$titlePeriodo}", 'serieName' => "Ventas", 'serie' => $rows);
 }
 private function importFirmas()
 {
     $file = getcwd() . "/docs/docs1/import/FIRMAS.txt";
     $array = $this->leeCsv($file);
     $obj = new Firmas();
     $obj->truncate();
     foreach ($array as $item) {
         //print_r($item);
         $idProvincia = $this->getProvincia($item['PROVINCIA']);
         $idPoblacion = $this->getPoblacion($item['POBLACION']);
         $obj = new Firmas();
         $obj->setId($item['IDFIRMA']);
         $obj->setRazonSocial(utf8_encode($item['RAZON_SOCIAL']));
         $obj->setCif($item['NIF']);
         $obj->setDireccion(utf8_encode($item['DOMICILIO']));
         $obj->setCodigoPostal($item['COD_POSTAL']);
         $obj->setApdoCorreos($item['APDO_CORREOS']);
         $obj->setIdProvincia($idProvincia);
         $obj->setIdPoblacion($idPoblacion);
         $obj->setTelefono(utf8_encode($item['TELEFONOS']));
         $obj->setFax($item['FAX']);
         $obj->setWeb($item['WEB']);
         $obj->setEmailGerente($item['EMAILGERENTE']);
         $obj->setEmailPedidos($item['EMAILPEDIDOS']);
         $obj->setEmailSoporteTecnico($item['EMAILSOPORTETECNICO']);
         $obj->setGerente(utf8_encode($item['GERENTE']));
         $obj->setDirectorComercial(utf8_encode($item['DIRECTOR COMERCIAL']));
         $obj->setPlazoEntrega($item['PLAZO_ENTREGA']);
         $obj->setSinPortes(utf8_encode($item['SIN PORTES']));
         $obj->setAgencia(utf8_encode($item['AGENCIATTE']));
         $obj->setObservations(utf8_encode($item['OBSERVACIONES']));
         $obj->setVigente($item['VIGENTE']);
         $id = $obj->create();
         if (!$id) {
             print_r($obj->getErrores());
         }
     }
 }