Пример #1
0
 /**
  * Devuelve un array con el dashboard de los presupuestos
  * 
  * Si el rol es super o admin devuelve todo, en caso contrario
  * filtra con el usuario en curso
  * 
  * @param integer $desdeDias Los días hacia atrás a tener en cuenta desde la fecha actual
  * @return array detalle,resumen
  */
 static function getPresupuestos($desdeDias = 365)
 {
     $idRol = $_SESSION['usuarioPortal']['IdRol'];
     if ($idRol != '0' and $idRol != '9') {
         $filtro = "IDComercial='{$_SESSION['usuarioPortal']['Id']}'";
     } else {
         $filtro = "1";
     }
     $hoy = new Fecha();
     $desde = $hoy->sumaDias(-$desdeDias);
     $filtro .= " AND (Fecha>='{$desde}')";
     $psto = new PstoCab();
     $rows = $psto->cargaCondicion("DATE_FORMAT(Fecha,'%Y-%m') as Mes,IDEstado as Estado,count(IDPsto) as N,sum(TotalBases) as Importe", "{$filtro} GROUP BY DATE_FORMAT(Fecha,'%Y-%m'),IDEstado", "Fecha,IDEstado");
     $detalle = array();
     foreach ($rows as $row) {
         $detalle[$row['Mes']][$row['Estado']] = array("N" => $row['N'], 'importe' => $row['Importe']);
     }
     $rows = $psto->cargaCondicion("IDEstado as Estado,count(IDPsto) as N,sum(TotalBases) as Importe", "{$filtro} GROUP BY IDEstado", "IDEstado");
     $resumen = array();
     foreach ($rows as $row) {
         $resumen[$row['Estado']] = array("N" => $row['N'], 'importe' => $row['Importe']);
     }
     unset($psto);
     return array('detalle' => $detalle, 'resumen' => $resumen);
 }
Пример #2
0
 public function PstoCab()
 {
     $nItems = 0;
     $nErrores = 0;
     $dbLink = mysql_connect("localhost", "root", "albatronic");
     $query = "TRUNCATE {$this->dbDestino}.ErpPstoCab";
     mysql_query($query);
     $query = "select * from {$this->dbOrigen}.psto_cab";
     $result = mysql_query($query, $dbLink);
     while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
         $c = new PstoCab();
         $c->setIDPsto($row['IDPsto']);
         $c->setIDContador(1);
         //$c->setNumeroPsto($row['IDPsto']);
         $c->setIDSucursal($row['IDSucursal']);
         $c->setIDAlmacen(1);
         $c->setIDAgente(2);
         $c->setIDComercial(2);
         $c->setFecha($row['Fecha']);
         $c->setIDCliente($row['IDCliente']);
         $c->setIDDirec(0);
         $c->setImporte($row['Importe']);
         $c->setDescuento($row['Descuento']);
         if ($this->dbOrigen != 'albatro_gestion001') {
             $c->setBaseImponible1($row['BaseImponible1']);
             $c->setIva1($row['Iva1']);
             $c->setCuotaIva1($row['CuotaIva1']);
             $c->setRecargo1($row['Recargo1']);
             $c->setCuotaRecargo1($row['CuotaRecargo1']);
             $c->setBaseImponible2($row['BaseImponible2']);
             $c->setIva2($row['Iva2']);
             $c->setCuotaIva2($row['CuotaIva2']);
             $c->setRecargo2($row['Recargo2']);
             $c->setCuotaRecargo2($row['CuotaRecargo2']);
             $c->setBaseImponible3($row['BaseImponible3']);
             $c->setIva3($row['Iva3']);
             $c->setCuotaIva3($row['CuotaIva3']);
             $c->setRecargo3($row['Recargo3']);
             $c->setCuotaRecargo3($row['CuotaRecargo3']);
             $c->setTotalBases($row['TotalBases']);
             $c->setTotalIva($row['TotalIva']);
             $c->setTotalRecargo($row['TotalRecargo']);
         } else {
             $c->setBaseImponible1($row['BaseImponible']);
             $c->setIva1($row['Iva']);
             $c->setCuotaIva1($row['CuotaIva']);
             $c->setRecargo1($row['Recargo']);
             $c->setCuotaRecargo1($row['CuotaRecargo']);
             $c->setTotalBases($row['BaseImponible']);
             $c->setTotalIva($row['CuotaIva']);
             $c->setTotalRecargo($row['CuotaRecargo']);
         }
         $c->setTotal($row['Total']);
         $c->setIDEstado($row['Estado']);
         $c->setObservaciones($row['Observaciones']);
         $c->setIDAgencia($row['IDAgencia']);
         $c->setIDFP($row['IDFP']);
         $c->setPrimaryKeyMD5(md5($row['IDPsto']));
         if (!$c->create()) {
             $errores[] = $c->getErrores();
             $nErrores++;
         } else {
             $nItems++;
         }
     }
     //mysql_close($dbLink);
     echo "Presupuestos {$nItems}<br/>";
     if (count($errores)) {
         echo "<pre>";
         print_r($errores);
         echo "</pre>";
     }
 }
Пример #3
0
 /**
  * Envia por email el presupuesto en formato PDF
  * @return <type>
  */
 public function enviarAction()
 {
     switch ($this->request['accion']) {
         case 'Enviar':
             $para = $this->request['Para'];
             $de = $this->request['De'];
             $deNombre = $this->request['DeNombre'];
             $conCopia = $this->request['Cc'];
             $conCopiaOculta = $this->request['Cco'];
             $asunto = $this->request['Asunto'];
             $mensaje = $this->request['Mensaje'];
             $adjuntos = array($this->request['Adjunto']);
             $envio = new Mail();
             $ok = $envio->send($para, $de, $deNombre, $conCopia, $conCopiaOculta, $asunto, $mensaje, $adjuntos);
             if ($ok) {
                 $entidad = new $this->entity($this->request['PstoCab']['IDPsto']);
                 $entidad->auditaEmail();
                 unset($entidad);
                 $this->values['resultadoEnvio'][] = "Envío con éxito";
             } else {
                 $this->values['resultadoEnvio'] = $envio->getMensaje();
             }
             unset($envio);
             break;
         case 'CambioFormato':
             $datos = new PstoCab($this->request['PstoCab']['IDPsto']);
             $formatos = DocumentoPdf::getFormatos($this->entity);
             $formato = $this->request['Formato'];
             if ($formato == '') {
                 $formato = 0;
             }
             $this->values['archivo'] = $this->generaPdf($this->entity, array('0' => $datos->getIDPsto()), $formato);
             $this->values['email'] = array('Para' => $this->request['Para'], 'De' => $this->request['De'], 'DeNombre' => $this->request['DeNombre'], 'Cc' => $this->request['Cc'], 'Cco' => $this->request['Cco'], 'Asunto' => $this->request['Asunto'], 'Formatos' => $formatos, 'Formato' => $formato, 'Mensaje' => $this->request['Mensaje'], 'idAlbaran' => $datos->getIDPsto());
             break;
         default:
             $datos = new PstoCab($this->request['PstoCab']['IDPsto']);
             $formatos = DocumentoPdf::getFormatos($this->entity);
             $formato = $this->request['Formato'];
             if ($formato == '') {
                 $formato = 0;
             }
             $this->values['archivo'] = $this->generaPdf($this->entity, array('0' => $datos->getIDPsto()), $formato);
             $this->values['email'] = array('Para' => $datos->getIDCliente()->getEMail(), 'De' => $_SESSION['usuarioPortal']['email'], 'DeNombre' => $datos->getIDComercial()->getNombre(), 'Cco' => $_SESSION['usuarioPortal']['email'], 'Asunto' => 'Presupuesto n. ' . $datos->getIDPsto(), 'Formatos' => $formatos, 'Formato' => $formato, 'Mensaje' => 'Le adjunto el presupuesto ' . $datos->getIDPsto() . "\n\nUn saludo.", 'idPsto' => $datos->getIDPsto());
             break;
     }
     return parent::enviarAction();
 }