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