$c->add(OppVotazionePeer::ID, $argv[1], Criteria::EQUAL);
 $votazione = OppVotazionePeer::doSelectOne($c);
 if ($votazione) {
     $c = new Criteria();
     $c->add(OppSedutaPeer::ID, $votazione->getSedutaId(), Criteria::EQUAL);
     $seduta = OppSedutaPeer::doSelectOne($c);
     $c = new Criteria();
     $crit0 = $c->getNewCriterion(OppGruppoRamoPeer::RAMO, $seduta->getRamo());
     $crit1 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_INIZIO, $seduta->getData(), Criteria::LESS_EQUAL);
     $crit2 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_FINE, $seduta->getData(), Criteria::GREATER_THAN);
     $crit3 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_FINE, NULL, Criteria::ISNULL);
     $crit2->addOr($crit3);
     $crit0->addAnd($crit1);
     $crit0->addAnd($crit2);
     $c->add($crit0);
     $gruppi_votazione = OppGruppoRamoPeer::doSelect($c);
     foreach ($gruppi_votazione as $gruppo) {
         $gr = OppGruppoPeer::retrieveByPk($gruppo->getGruppoId());
         $voto_gruppo = OppVotazionePeer::doSelectVotoGruppo($votazione->getId(), $gr->getNome());
         $c = new Criteria();
         $c->add(OppVotazioneHasGruppoPeer::VOTAZIONE_ID, $votazione->getId());
         $c->add(OppVotazioneHasGruppoPeer::GRUPPO_ID, $gr->getId());
         $result = OppVotazioneHasGruppoPeer::doSelectOne($c);
         if ($result) {
             $result->setVoto($voto_gruppo);
             $result->save();
             print $gr->getNome() . ": " . $voto_gruppo . "\n";
         } else {
             $insert = new OppVotazioneHasGruppo();
             $insert->setVotazioneId($votazione->getId());
             $insert->setGruppoId($gr->getId());
 public static function isMaggioranzaUnitaSuVotazione($votazione_id)
 {
     $votazione = OppVotazionePeer::retrieveByPk($votazione_id);
     $gruppi = OppGruppoRamoPeer::getGruppiRamo($votazione->getOppSeduta()->getRamo(), $votazione->getOppSeduta()->getData());
     $array_gruppi = array();
     foreach ($gruppi as $gruppo) {
         // controlla se il gruppo alla data faceva parte della maggioranza
         if (OppGruppoIsMaggioranzaPeer::isGruppoMaggioranza($gruppo->getGruppoId(), $votazione->getOppSeduta()->getData())) {
             $array_gruppi[] = $gruppo->getGruppoId();
         }
     }
     $voto_magg = "";
     foreach ($array_gruppi as $k => $g) {
         $c = new Criteria();
         $c->add(OppVotazioneHasGruppoPeer::GRUPPO_ID, $g);
         $c->add(OppVotazioneHasGruppoPeer::VOTAZIONE_ID, $votazione_id);
         $voto_gruppo = OppVotazioneHasGruppoPeer::doSelectOne($c);
         if ($voto_magg == "" && $voto_gruppo->getVoto() != 'nv') {
             $voto_magg = $voto_gruppo->getVoto();
         } elseif ($voto_gruppo->getVoto() != 'nv') {
             if ($voto_gruppo->getVoto() != $voto_magg) {
                 return false;
             }
         }
     }
     return true;
 }
 public function executeTagsSenatori()
 {
     $this->groups = OppGruppoRamoPeer::getGruppiRamo('S');
     $this->tagsParlamentari('S');
 }
    $c = new Criteria();
    $c->add(OppVotazionePeer::ID, $argv[2]);
    $c->add(OppVotazionePeer::IS_MAGGIORANZA_SOTTO_SALVA, 1);
    $votazioni = OppVotazionePeer::doSelect($c);
}
echo count($votazioni) . "\n\n";
if (count($votazioni) > 0) {
    foreach ($votazioni as $v) {
        echo $v->getOppSeduta()->getRamo() . $v->getOppSeduta()->getData() . "\n\n";
        //controlla come ha votato la PD (gruppo id=71)
        $c = new Criteria();
        $c->add(OppVotazioneHasGruppoPeer::GRUPPO_ID, 71);
        $c->add(OppVotazioneHasGruppoPeer::VOTAZIONE_ID, $v->getId());
        $voto_magg = OppVotazioneHasGruppoPeer::doSelectOne($c);
        //prendi i gruppi attivi alla data della votazione nel ramo della votazione
        $gruppi_ramo = OppGruppoRamoPeer::getGruppiRamo($v->getOppSeduta()->getRamo(), $v->getOppSeduta()->getData());
        foreach ($gruppi_ramo as $gruppo) {
            echo $gruppo->getGruppoId() . "\n";
            // controlla se il gruppo alla data faceva parte della maggioranza
            if (OppGruppoIsMaggioranzaPeer::isGruppoMaggioranza($gruppo->getGruppoId(), $v->getOppSeduta()->getData())) {
                //ctrl i voti dei componenti i gruppi di maggioranza
                $c = new Criteria();
                $c->addJoin(OppCaricaPeer::ID, OppCaricaHasGruppoPeer::CARICA_ID);
                $c->addJoin(OppCaricaPeer::ID, OppVotazioneHasCaricaPeer::CARICA_ID);
                $c->addJoin(OppVotazionePeer::ID, OppVotazioneHasCaricaPeer::VOTAZIONE_ID);
                $c->addJoin(OppVotazionePeer::SEDUTA_ID, OppSedutaPeer::ID);
                //ctrl se fa parte del gruppo alla data della votazione
                $crit0 = $c->getNewCriterion(OppCaricaHasGruppoPeer::GRUPPO_ID, $gruppo->getGruppoId());
                $crit1 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_INIZIO, $v->getOppSeduta()->getData(), Criteria::LESS_EQUAL);
                $crit2 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, $v->getOppSeduta()->getData(), Criteria::GREATER_EQUAL);
                $crit3 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, null, Criteria::ISNULL);