$ramo = 'camera'; } else { $ramo = 'senato'; } $arr_opposizione = array(); $c = new Criteria(); $c->addJoin(OppGruppoPeer::ID, OppGruppoRamoPeer::GRUPPO_ID); $c->add(OppGruppoRamoPeer::DATA_INIZIO, $votazione->getOppSeduta()->getData(), Criteria::LESS_EQUAL); $crit0 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_FINE, NULL, Criteria::ISNULL); $crit1 = $c->getNewCriterion(OppGruppoRamoPeer::DATA_FINE, $votazione->getOppSeduta()->getData(), Criteria::GREATER_EQUAL); $crit0->addOr($crit1); $c->add($crit0); $c->add(OppGruppoRamoPeer::RAMO, $votazione->getOppSeduta()->getRamo()); $gruppi = OppGruppoPeer::doSelect($c); foreach ($gruppi as $g) { if (!OppGruppoIsMaggioranzaPeer::isGruppoMaggioranza($g->getId(), $votazione->getOppSeduta()->getData()) and $g->getNome() != 'Gruppo Misto') { $voto_gruppo = OppVotazioneHasGruppoPeer::getVotoGruppoVotazione($g->getId(), $votazione->getId()); if ($votazione->getEsito() == 'APPROVATA' && $voto_gruppo == 'Contrario' && $ramo == 'camera' || $votazione->getEsito() == 'RESPINTA' && $voto_gruppo == 'Favorevole' && $ramo == 'camera' || $votazione->getEsito() == 'APPROVATA' && ($voto_gruppo == 'Contrario' || $voto_gruppo == 'Astenuto') && $ramo == 'senato' || $votazione->getEsito() == 'RESPINTA' && $voto_gruppo == 'Favorevole' && $ramo == 'senato') { $c = new Criteria(); $c->add(OppCaricaHasGruppoPeer::GRUPPO_ID, $g->getId()); $c->add(OppCaricaHasGruppoPeer::DATA_INIZIO, $votazione->getOppSeduta()->getData(), Criteria::LESS_EQUAL); $crit0 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, NULL, Criteria::ISNULL); $crit1 = $c->getNewCriterion(OppCaricaHasGruppoPeer::DATA_FINE, $votazione->getOppSeduta()->getData(), Criteria::GREATER_EQUAL); $crit0->addOr($crit1); $c->add($crit0); $parlamentari = OppCaricaHasGruppoPeer::doSelect($c); //$parlamentari = OppCaricaHasGruppoPeer::getParlamentariGruppoData($g->getId(),$votazione->getOppSeduta()->getData()); foreach ($parlamentari as $p) { $arr_opposizione[] = $p->getCaricaId(); } }
</table> <br/> <div><span style="background-color:#022468; color:white; padding: 3px; margin-right:10px; font-size:10px;">maggioranza</span><span style="background-color:#766d04; color:white; padding: 3px; margin-right:10px; font-size:10px">opposizione</span></div> <br/> </div> <div class="sevencol last"> <?php $perc_magg = array(); $perc_min = array(); $perc_neutral = array(); $num_totale = 0; foreach ($gruppi_all as $k => $gruppo) { $valore = OppGruppoIsMaggioranzaPeer::isGruppoMaggioranza($k, date('Y-m-d')); if ($valore === null) { $perc_neutral[$k] = $gruppo; } elseif ($valore == 1) { $perc_magg[$k] = $gruppo; } elseif ($valore == 0) { $perc_min[$k] = $gruppo; } $num_totale = $num_totale + $gruppo; } $perc_grafico = "50,"; $label_grafico = "|"; $color_grafico = "FFFFFF|"; foreach ($perc_magg as $k => $perc) { $perc_grafico = $perc_grafico . number_format($perc * 100 / $num_totale / 2, 2) . ","; $label_grafico = $label_grafico . OppGruppoPeer::retrieveByPk($k)->getAcronimo() . " [" . $perc . "]|";
/** * controlla se la carica è di maggioranza o no * * @param integer $carica_id * @param string $data * @param integer $gruppo_id * @return boolean * @author Guglielmo Celata */ public static function inMaggioranza($carica_id, $data, $gruppo_id = null) { $carica = self::retrieveByPK($carica_id); // ministri, viceministri e sottosegretari, sono sempre in maggioranza if ($carica->getOppTipoCarica()->getNome() == 'Ministro' || $carica->getOppTipoCarica()->getNome() == 'Sottosegretario' || $carica->getOppTipoCarica()->getNome() == 'Viceministro') { return true; } if (is_null($gruppo_id)) { $gruppo_ar = self::getGruppo($carica_id, $data); $gruppo_id = $gruppo_ar['id']; } if ($gruppo_id) { return OppGruppoIsMaggioranzaPeer::isGruppoMaggioranza($gruppo_id, $data); } else { return null; // impossibile } }
/** * controlla se il gruppo, alla data specificata, è nella maggioranza o no * * @param string $date * @return boolean * @author Guglielmo Celata */ public function isMaggioranza($date) { return OppGruppoIsMaggioranzaPeer::isGruppoMaggioranza($this->getId(), $date); }
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; }
} 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); $crit2->addOr($crit3); $crit0->addAnd($crit1); $crit0->addAnd($crit2); $c->add($crit0);