public function executeCambioGruppo()
 {
     $c = new Criteria();
     $c->addSelectColumn(OppPoliticoPeer::ID);
     $c->addSelectColumn(OppPoliticoPeer::COGNOME);
     $c->addSelectColumn(OppPoliticoPeer::NOME);
     $c->addSelectColumn(OppGruppoPeer::NOME);
     $c->addSelectColumn(OppCaricaHasGruppoPeer::DATA_INIZIO);
     $c->addSelectColumn(OppCaricaPeer::TIPO_CARICA_ID);
     $c->addSelectColumn(OppCaricaPeer::DATA_INIZIO);
     $c->addSelectColumn(OppCaricaPeer::ID);
     $c->addJoin(OppCaricaPeer::ID, OppCaricaHasGruppoPeer::CARICA_ID);
     $c->addJoin(OppGruppoPeer::ID, OppCaricaHasGruppoPeer::GRUPPO_ID);
     $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::ID);
     //$c->add(OppCaricaPeer::DATA_INIZIO,OppCaricaHasGruppoPeer::DATA_INIZIO, Criteria::NOT_EQUAL);
     $c->add(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL);
     $c->addDescendingOrderByColumn(OppCaricaHasGruppoPeer::DATA_INIZIO);
     $c->setLimit(20);
     $parlamentari = OppCaricaHasGruppoPeer::doSelectRS($c);
     $this->parlamentari = $parlamentari;
 }
 /**
  * si differenzia dalla doSelectGruppiPerCarica in quanto prende TUTTI i gruppi anche quelli
  * in cui un parlamentare è uscito e poi rientrato.
  *
  * @param string $section 
  * @param string $field - the field to sum
  * @return void
  * @author Guglielmo Celata
  */
 public static function doSelectTuttiGruppiPerCarica($carica_id, $order = 0)
 {
     $gruppi = array();
     $c = new Criteria();
     $c->clearSelectColumns();
     $c->addSelectColumn(OppGruppoPeer::ACRONIMO);
     $c->addSelectColumn(OppCaricaHasGruppoPeer::DATA_INIZIO);
     $c->addSelectColumn(OppCaricaHasGruppoPeer::DATA_FINE);
     $c->addSelectColumn(OppCaricaHasGruppoPeer::GRUPPO_ID);
     $c->addSelectColumn(OppCaricaHasGruppoPeer::RIBELLE);
     $c->addSelectColumn(OppCaricaHasGruppoPeer::PRESENZE);
     $c->add(OppCaricaHasGruppoPeer::CARICA_ID, $carica_id, Criteria::EQUAL);
     $c->addJoin(OppCaricaHasGruppoPeer::GRUPPO_ID, OppGruppoPeer::ID, Criteria::LEFT_JOIN);
     if ($order == 0) {
         $c->addAscendingOrderByColumn(OppCaricaHasGruppoPeer::DATA_FINE);
     } elseif ($order == 1) {
         $c->addAscendingOrderByColumn(OppCaricaHasGruppoPeer::DATA_INIZIO);
     } elseif ($order == 2) {
         $c->addDescendingOrderByColumn(OppCaricaHasGruppoPeer::DATA_INIZIO);
     }
     $rs = OppCaricaHasGruppoPeer::doSelectRS($c);
     while ($rs->next()) {
         $gruppi[] = array('data_inizio' => $rs->getDate(2, 'Y-m-d'), 'data_fine' => $rs->getDate(3, 'Y-m-d'), 'gruppo_id' => $rs->getInt(4), 'ribelle' => $rs->getInt(5), 'acronimo' => $rs->getString(1), 'presenze' => $rs->getInt(6) > 0 ? $rs->getInt(6) : 0);
     }
     return $gruppi;
 }