/**
  * Retorna o objeto relativo a compentĂȘncia do contribuinte
  *
  * @param Contribuinte_Model_ContribuinteAbstract $oContribuinte
  * @return Contribuinte_Model_Competencia[]
  */
 public static function getByContribuinte(Contribuinte_Model_ContribuinteAbstract $oContribuinte)
 {
     $oEntityManager = self::getEm();
     $sSql = 'SELECT DISTINCT
                           nota.ano_comp, nota.mes_comp,
                           SUM(nota.s_vl_iss) as s_vl_iss , SUM(nota.s_vl_servicos) as s_vl_servicos
                      FROM Contribuinte\\Nota nota
                     WHERE nota.id_contribuinte    in(:id_contribuinte) AND
                           nota.cancelada          = false AND
                           nota.s_vl_iss           > 0 AND
                           nota.s_dados_iss_retido = 1 AND
                           nota.emite_guia         = true AND
                           nota.importada          = false
                  GROUP BY nota.ano_comp, nota.mes_comp
                  ORDER BY nota.ano_comp DESC,
                           nota.mes_comp DESC';
     $oQuery = $oEntityManager->createQuery($sSql);
     $oQuery->setParameter('id_contribuinte', $oContribuinte->getContribuintes());
     $aResultados = $oQuery->getResult();
     $aRetorno = array();
     foreach ($aResultados as $aCompetencia) {
         $oCompetencia = new self($aCompetencia['ano_comp'], $aCompetencia['mes_comp'], $oContribuinte);
         $oCompetencia->setTotalIss($aCompetencia['s_vl_iss']);
         $oCompetencia->setTotalServico($aCompetencia['s_vl_servicos']);
         $lExisteGuia = Contribuinte_Model_Guia::existeGuia($oContribuinte, $aCompetencia['mes_comp'], $aCompetencia['ano_comp'], 10);
         $oCompetencia->setExisteGuia($lExisteGuia);
         $aRetorno[] = $oCompetencia;
     }
     return $aRetorno;
 }