private function getTitulosAgrupados($type)
 {
     $em = $this->getDoctrine()->getManager();
     $repoTituloTesouro = $em->getRepository('RafaelSantiagoTesouroDiretoBundle:TituloTesouro');
     $repoTitulo = $em->getRepository('RafaelSantiagoTesouroDiretoBundle:Titulo');
     $arrTitulosTesouro = $repoTituloTesouro->findByType($type);
     $arrTitulosCarteira = $repoTitulo->findByTitulo($arrTitulosTesouro);
     $arrTitulosAgrupados = array();
     $calculador = new CalculadorHelper($em);
     foreach ($arrTitulosCarteira as $objTitulo) {
         /** @var Titulo $objTitulo */
         /** @var TituloTesouro $objTituloTesouro */
         $objTituloTesouro = $objTitulo->getTitulo();
         if (!isset($arrTitulosAgrupados[$objTituloTesouro->getId()])) {
             $arrTitulosAgrupados[$objTituloTesouro->getId()] = array('tituloTesouroId' => $objTituloTesouro->getId(), 'descricao' => $objTituloTesouro->getDescricao(), 'quantidade' => $objTitulo->getQuantidade(), 'valorCompra' => $objTitulo->getValorInvestido(), 'valorAtual' => $objTitulo->getValorAtualizado(), 'valorVencimento' => $calculador->calculaPrecoFinalTitulo($objTitulo));
         } else {
             $arrTitulosAgrupados[$objTituloTesouro->getId()]['quantidade'] += $objTitulo->getQuantidade();
             $arrTitulosAgrupados[$objTituloTesouro->getId()]['valorCompra'] += $objTitulo->getValorInvestido();
             $arrTitulosAgrupados[$objTituloTesouro->getId()]['valorAtual'] += $objTitulo->getValorAtualizado();
             $arrTitulosAgrupados[$objTituloTesouro->getId()]['valorVencimento'] += $calculador->calculaPrecoFinalTitulo($objTitulo);
         }
     }
     return $arrTitulosAgrupados;
 }
예제 #2
0
 public function getPrevisaoValorVencimento()
 {
     $objCalculador = new CalculadorHelper();
     $objCalculador->calculaPrecoFinalTitulo($this);
 }