/** * 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'); } }
/** * 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; }
/** * 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'); } }