/**
  * Genera un listado en formato PDF en base a los parametros obtenidos
  * del fichero listados.yml de cada controlador y los datos filtrados
  * segun el request
  * @return array Template y valores
  */
 public function listadoAction($idAlmacen = '', $idDia = '', $idPeriodo = '', $idEstado = '', $idRuta = '')
 {
     if ($idAlmacen == '') {
         $idAlmacen = $this->request[2];
     }
     if ($idDia == '') {
         $idDia = $this->request[3];
     }
     if ($idPeriodo == '') {
         $idPeriodo = $this->request[4];
     }
     if ($idEstado == '') {
         $idEstado = $this->request[5];
     }
     if ($idRuta == '') {
         $idRuta = $this->request[6];
     }
     $fecha = new Fecha();
     $fechaDesde = $fecha->sumaDias(-1 * $idPeriodo);
     unset($fecha);
     $almacen = new Almacenes($idAlmacen);
     $dia = new DiasSemana($idDia);
     $ruta = new RutasReparto($idRuta);
     $opciones = array('almacen' => $almacen->getNombre(), 'dia' => $dia->getDescripcion(), 'ruta' => $ruta->getDescripcion());
     unset($almacen);
     unset($dia);
     unset($ruta);
     $albaran = new AlbaranesCab();
     $ruta = new RutasRepartoDetalle();
     $em = new EntityManager($albaran->getConectionName());
     if ($em->getDbLink()) {
         $query = "SELECT a.IDAlbaran\n                            FROM \n                                {$albaran->getDataBaseName()}.{$albaran->getTableName()} as a, \n                                {$ruta->getDataBaseName()}.{$ruta->getTableName()} as r\n                            WHERE a.Fecha>'{$fechaDesde}'\n                            AND a.IDEstado='{$idEstado}'\n                            AND a.IDAlmacen='{$idAlmacen}'\n                            AND a.IDSucursal='{$_SESSION['suc']}'\n                            AND a.DiaReparto='{$idDia}'\n                            AND a.IDDirec=r.IDDirec\n                            AND r.IDRuta = '{$idRuta}'\n                            ORDER BY r.OrdenDirec DESC;";
         $em->query($query);
         $rows = $em->fetchResult();
         $em->desConecta();
     }
     unset($albaran);
     unset($ruta);
     $pdf = new listadoOrdenRepartoPDF("L", 'mm', "A4", $opciones);
     $pdf->SetTopMargin(15);
     $pdf->SetLeftMargin(10);
     $pdf->AliasNbPages();
     $pdf->AddPage();
     $repartidor = "";
     foreach ($rows as $orden => $row) {
         $albaran = new AlbaranesCab($row['IDAlbaran']);
         $cliente = $albaran->getIDCliente();
         if ($repartidor != $albaran->getIDRepartidor()) {
             $repartidor = $albaran->getIDRepartidor();
             $pdf->SetFont('Arial', 'B', 10);
             $pdf->Cell(0, 4, $repartidor, 0, 1);
             $pdf->SetFont('Arial', '', 9);
         }
         $pdf->Cell(15, 4, "", 0, 0, "R");
         $pdf->Cell(15, 4, "", 0, 0, "C");
         $pdf->Cell(150, 4, $cliente->getNombreComercial() . " " . $cliente->getRazonSocial(), 0, 0, "L");
         $pdf->Cell(50, 4, $albaran->getIDComercial()->getNombre(), 0, 0, "L");
         $pdf->Ln();
         $pdf->Cell(30, 4, "", 0, 0, "C");
         $pdf->Cell(150, 4, $albaran->getIDDirec()->getDireccion() . " - " . $albaran->getIDDirec()->getIDPoblacion, 0, 0, "L");
         $pdf->Ln();
         $pdf->Ln();
         $pdf->Line($pdf->GetX(), $pdf->GetY(), 290, $pdf->GetY());
     }
     unset($cliente);
     unset($albaran);
     $archivo = Archivo::getTemporalFileName();
     $pdf->Output($archivo, 'F');
     unset($pdf);
     $this->values['archivo'] = $archivo;
     $template = '_global/listadoPdf.html.twig';
     return array('template' => $template, 'values' => $this->values);
 }
 /**
  * Genera un listado en PDF con todos clientes del comercial
  * separados por dia (el rutero)
  */
 public function HojaLlamadasAction()
 {
     if ($this->values['permisos']['permisosModulo']['LI']) {
         $idComercial = $this->request[2];
         $comercial = new Agentes($idComercial);
         $dia = $this->request[3];
         $dias = new DiasSemana($dia);
         $opciones = array('title' => 'Hoja de llamadas para el ' . strtoupper($dias->getDescripcion()) . ' del comercial ' . strtoupper($comercial->getNombre()));
         unset($comercial);
         unset($dias);
         //CREAR EL DOCUMENTO-------------------------------------------------------------
         $pdf = new HojaLlamadasPDF('L', 'mm', 'A4', $opciones);
         //$pdf->SetTopMargin($MEDIDAS['MargenSup']);
         //$pdf->SetLeftMargin($MEDIDAS['MargenIzq']);
         $pdf->SetAuthor("Informatica ALBATRONIC, SL");
         $pdf->SetTitle('Hoja de llamadas Ventas');
         $pdf->AliasNbPages();
         $pdf->SetFillColor(210);
         $pdf->AddPage();
         $pdf->SetAutoPageBreak(1, 15);
         $lis = new $this->entity();
         $rows = $lis->cargaCondicion("Id", "IDComercial='{$idComercial}' and Dia='{$dia}'", "OrdenCliente,IDZona ASC");
         unset($lis);
         //CUERPO-------------------------------------------------------------------------
         $pdf->SetFont('Courier', '', 8);
         foreach ($rows as $value) {
             $datos = new $this->entity($value['Id']);
             $pdf->Cell(10, 6, "", 0, 0);
             $pdf->Cell(100, 6, $pdf->DecodificaTexto($datos->getIDCliente()->getRazonSocial() . " - " . $datos->getIDCliente()->getNombreComercial(), 59), 0, 0);
             $pdf->Cell(20, 6, $pdf->DecodificaTexto($datos->getIDCliente()->getIDPoblacion()->getMunicipio(), 11), 0, 0);
             $pdf->Cell(45, 6, trim($datos->getIDCliente()->getTelefono() . " " . $datos->getIDCliente()->getMovil()), 0, 0);
             $pdf->Cell(10, 6, $datos->getIDCliente()->getLimiteRiesgo(), 0, 0, "R");
             $pdf->Ln();
             $dEntrega = new ClientesDentrega();
             $direcciones = $dEntrega->cargaCondicion("IDDirec", "IDCliente='{$datos->getIDCliente()->getIDCliente()}' and IDZona='{$datos->getIDZona()->getIDZona()}'");
             foreach ($direcciones as $direccion) {
                 $dEntrega = new ClientesDentrega($direccion['IDDirec']);
                 $pdf->Cell(15, 4, $dEntrega->getHorarioLlamadas(), 0, 0);
                 $pdf->Cell(0, 4, $dEntrega->getDireccion(), 0, 1);
             }
             unset($dEntrega);
             $pdf->Cell(0, 3, str_repeat("-", 159), 0, 1);
         }
         unset($datos);
         $archivo = "docs/docs" . $_SESSION['emp'] . "/pdfs/" . md5(date('d-m-Y H:i:s')) . ".pdf";
         $pdf->Output($archivo, 'F');
         unset($pdf);
         $this->values['archivo'] = $archivo;
         return array('template' => '_global/listadoPdf.html.twig', 'values' => $this->values);
     } else {
         return array('template' => '_global/forbiden.html.twig');
     }
 }
 public function __construct($request)
 {
     $dias = new DiasSemana();
     $this->values['dias'] = $dias->fetchAll();
     parent::__construct($request);
 }