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