public function getRibelleReport($carica_id, $ramo, $gruppo, $data_inizio, $data_fine)
 {
     $esiti_gruppo = array();
     $count = 0;
     //determinazione voto esito gruppo nel periodo considerato
     $c = new Criteria();
     $c->clearSelectColumns();
     $c->addSelectColumn(OppVotazionePeer::ID);
     $c->addSelectColumn(OppSedutaPeer::DATA);
     $c->addSelectColumn(OppVotazioneHasCaricaPeer::VOTO);
     $c->addAsColumn('CONT', 'COUNT(*)');
     $c->addJoin(OppVotazionePeer::SEDUTA_ID, OppSedutaPeer::ID, Criteria::INNER_JOIN);
     $c->addJoin(OppVotazionePeer::ID, OppVotazioneHasCaricaPeer::VOTAZIONE_ID, Criteria::INNER_JOIN);
     $c->addJoin(OppVotazioneHasCaricaPeer::CARICA_ID, OppCaricaHasGruppoPeer::CARICA_ID, Criteria::INNER_JOIN);
     $c->addJoin(OppCaricaHasGruppoPeer::GRUPPO_ID, OppGruppoPeer::ID, Criteria::INNER_JOIN);
     $c->add(OppSedutaPeer::RAMO, $ramo, Criteria::EQUAL);
     $c->add(OppSedutaPeer::DATA, $data_inizio, Criteria::GREATER_EQUAL);
     if ($data_fine != '') {
         $c->add(OppSedutaPeer::DATA, $data_fine, Criteria::LESS_EQUAL);
     }
     $c->add(OppCaricaHasGruppoPeer::DATA_INIZIO, $data_inizio, Criteria::GREATER_EQUAL);
     if ($data_fine != '') {
         $c->add(OppCaricaHasGruppoPeer::DATA_FINE, $data_fine, Criteria::LESS_EQUAL);
     }
     $c->add(OppGruppoPeer::NOME, $gruppo, Criteria::EQUAL);
     $c->addGroupByColumn(OppVotazionePeer::ID);
     $c->addGroupByColumn(OppVotazioneHasCaricaPeer::VOTO);
     $c->addAscendingOrderByColumn(OppVotazionePeer::ID);
     $c->addDescendingOrderByColumn('CONT');
     $rs = OppVotazionePeer::doSelectRS($c);
     while ($rs->next()) {
         if (!isset($esiti_gruppo[$rs->getInt(1)])) {
             $esiti_gruppo[$rs->getInt(1)] = $rs->getString(3);
         }
     }
     $c = new Criteria();
     $c->clearSelectColumns();
     $c->addSelectColumn(OppVotazionePeer::ID);
     $c->addSelectColumn(OppVotazioneHasCaricaPeer::VOTO);
     $c->addJoin(OppVotazionePeer::SEDUTA_ID, OppSedutaPeer::ID, Criteria::INNER_JOIN);
     $c->addJoin(OppVotazionePeer::ID, OppVotazioneHasCaricaPeer::VOTAZIONE_ID, Criteria::INNER_JOIN);
     $c->addJoin(OppVotazioneHasCaricaPeer::CARICA_ID, OppCaricaHasGruppoPeer::CARICA_ID, Criteria::INNER_JOIN);
     $c->add(OppSedutaPeer::RAMO, $ramo, Criteria::EQUAL);
     $c->add(OppVotazioneHasCaricaPeer::CARICA_ID, $carica_id, Criteria::EQUAL);
     $c->add(OppCaricaHasGruppoPeer::DATA_INIZIO, $data_inizio, Criteria::GREATER_EQUAL);
     $c->add(OppSedutaPeer::DATA, $data_inizio, Criteria::GREATER_EQUAL);
     if ($data_fine != '') {
         $c->add(OppSedutaPeer::DATA, $data_fine, Criteria::LESS_EQUAL);
     }
     if ($data_fine != '') {
         $c->add(OppCaricaHasGruppoPeer::DATA_FINE, $data_fine, Criteria::LESS_EQUAL);
     }
     $c->addAscendingOrderByColumn(OppVotazionePeer::ID);
     $rs1 = OppVotazionePeer::doSelectRS($c);
     while ($rs1->next()) {
         if ($rs1->getString(2) == 'Astenuto' || $rs1->getString(2) == 'Contrario' || $rs1->getString(2) == 'Favorevole') {
             if ($esiti_gruppo[$rs1->getInt(1)] != '' && $rs1->getString(2) != $esiti_gruppo[$rs1->getInt(1)]) {
                 $count++;
             }
         }
     }
     return $count;
 }