/**
  * Devuelve todas las direcciones de entrega del cliente
  * indicado en el parámetro $idCliente o en su defecto
  * en la posicion 2 del request.
  *
  * @param string Codigo de cliente
  * @return array
  */
 public function listAction($idCliente = '')
 {
     if ($idCliente == '') {
         $idCliente = $this->request[2];
     }
     $direc = new ClientesDentrega();
     $tabla = $direc->getDataBaseName() . "." . $direc->getTableName();
     unset($direc);
     $filtro = $tabla . ".IDCliente='" . $idCliente . "'";
     $this->values['linkBy']['value'] = $idCliente;
     return parent::listAction($filtro);
 }
 /**
  * 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');
     }
 }
Example #3
0
 /**
  * Devuelve un array de objetos direcciones de entrega
  * del cliente en curso
  * 
  * @return \ClientesDentrega array de objetos Direcciones de entrega
  */
 public function getDireccionesEntrega()
 {
     $direc = new ClientesDentrega();
     $rows = $direc->cargaCondicion("IDDirec", "IDCliente='{$this->IDCliente}'");
     unset($direc);
     $array = array();
     foreach ($rows as $row) {
         $array[] = new ClientesDentrega($row['IDDirec']);
     }
     return $array;
 }
Example #4
0
/**
 * Construye un tag html <select> con todas las direcciones de entrega de un cliente dado.
 * @param integer $idCliente ID del cliente
 * @param string $nameSelect El Name del select
 * @param string $idSelect El Id del select
 * @return string Codigo html con el tag select
 */
function dEntregaCliente($idCliente, $nameSelect = '', $idSelect = '')
{
    $dEntrega = new ClientesDentrega();
    $rows = $dEntrega->fetchAll($idCliente);
    unset($dEntrega);
    if ($nameSelect == '') {
        $nameSelect = $_GET['nameselect'];
    }
    if ($idSelect == '') {
        $idSelect = $_GET['idselect'];
    }
    $ch = "<div class='Etiqueta'>Dirección de Entrega</div>";
    $ch .= "<select name='" . $nameSelect . "' id='" . $idSelect . "' class='Select350'>";
    foreach ($rows as $row) {
        $ch .= "<option value='" . $row['Id'] . "'>" . $row['Value'] . "</option>";
    }
    $ch .= "</select>";
    return $ch;
}
 /**
  * Inserta direcciones de entrega a la ruta (repartidor-dia).
  * Puede insertar una sola direccion o bien todas las de una zona dada.
  * Esto depende de la 'accion' que venga en el request
  * @return <type>
  */
 public function newAction()
 {
     if ($this->values['permisos']['permisosModulo']['IN']) {
         switch ($this->request['accion']) {
             case 'direccion':
                 //CREAR NUEVO REGISTRO
                 if ($this->request['IDDirec'] != '') {
                     $direc = new ClientesDentrega($this->request['IDDirec']);
                     $datos = new $this->entity();
                     $datos->setIDRuta($this->request['IDRuta']);
                     $datos->setIDRepartidor($this->request['IDRepartidor']);
                     $datos->setDia($this->request['dia']);
                     $datos->setIDDirec($this->request['IDDirec']);
                     $datos->setIDZona($direc->getIDZona()->getIDZona());
                     $datos->create();
                     unset($datos);
                     unset($direc);
                     //$this->values['datos'] = $datos;
                 }
                 break;
             case 'zona':
                 //INSERTAR TODOS LAS DIRECCIONES DE ESA ZONA
                 if ($this->request['IDZona'] != '') {
                     $direc = new ClientesDentrega();
                     $rows = $direc->cargaCondicion("IDDirec", "IDZona='{$this->request['IDZona']}'");
                     unset($direc);
                     foreach ($rows as $key => $value) {
                         $datos = new $this->entity();
                         $datos->setIDRuta($this->request['IDRuta']);
                         $datos->setIDRepartidor($this->request['IDRepartidor']);
                         $datos->setDia($this->request['dia']);
                         $datos->setIDZona($this->request['IDZona']);
                         $datos->setIDDirec($value['IDDirec']);
                         $datos->create();
                     }
                     unset($datos);
                 }
                 break;
         }
         return $this->listAction($this->request['IDRuta'], $this->request['dia']);
     } else {
         return array('template' => '_global/forbiden.html.twig');
     }
 }