/** * torna il numero di interventi sugli atti con un certo tag * tutti gli atti degli argomenti * * @return void * @author Guglielmo Celata */ public function executeQuantodiscusso() { $interventi_max = sfSupra::getVariable('numero_interventi_max'); $c = new Criteria(); $c->addJoin(OppInterventoPeer::ATTO_ID, OppAttoPeer::ID); $c->addJoin(TaggingPeer::TAGGABLE_ID, OppAttoPeer::ID); $c->add(TaggingPeer::TAGGABLE_MODEL, 'OppAtto'); $c->add(TaggingPeer::TAG_ID, $this->tag->getId()); $this->interventi = OppInterventoPeer::doCount($c); $this->interventi_perc = 100 * $this->interventi / $interventi_max; $this->interventi_avg = sfSupra::getVariable('numero_interventi_avg'); $this->interventi_avg_perc = 100 * $this->interventi_avg / $interventi_max; }
public function getInterventiCount() { $c = new Criteria(); $c->clearSelectColumns(); $c->addSelectColumn(OppInterventoPeer::ID); $c->addJoin(OppInterventoPeer::CARICA_ID, OppCaricaPeer::ID, Criteria::LEFT_JOIN); $c->addJoin(OppCaricaPeer::POLITICO_ID, OppPoliticoPeer::ID, Criteria::LEFT_JOIN); $c->addJoin(OppInterventoPeer::SEDE_ID, OppSedePeer::ID, Criteria::LEFT_JOIN); $c->add(OppInterventoPeer::ATTO_ID, $this->getId(), Criteria::EQUAL); $c->addDescendingOrderByColumn(OppInterventoPeer::DATA); $c->addAscendingOrderByColumn(OppPoliticoPeer::COGNOME); $count = OppInterventoPeer::doCount($c); return $count; }
define('SF_DEBUG', false); require_once SF_ROOT_DIR . DIRECTORY_SEPARATOR . 'apps' . DIRECTORY_SEPARATOR . SF_APP . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'config.php'; sfContext::getInstance(); echo "starting\n"; $con = Propel::getConnection(TagPeer::DATABASE_NAME); $c = new Criteria(TagPeer::DATABASE_NAME); $argomenti = TagPeer::doSelect($c, $con); $ninterventi_tot = 0; $ninterventi_max = 0; foreach ($argomenti as $a) { echo $a->getTripleValue() . ": "; $c = new Criteria(TagPeer::DATABASE_NAME); $c->addJoin(OppInterventoPeer::ATTO_ID, OppAttoPeer::ID); $c->addJoin(TaggingPeer::TAGGABLE_ID, OppAttoPeer::ID); $c->add(TaggingPeer::TAGGABLE_MODEL, 'OppAtto'); $c->add(TaggingPeer::TAG_ID, $a->getId()); $ninterventi = OppInterventoPeer::doCount($c, $con); $ninterventi_tot += $ninterventi; if ($ninterventi > $ninterventi_max) { $ninterventi_max = $ninterventi; } echo " {$ninterventi} ({$ninterventi_max})\n"; } $ninterventi_avg = $ninterventi_tot / count($argomenti); echo "found:\n"; printf("n_interventi_max: {$ninterventi_max}, n_interventi_tot: {$ninterventi_tot}, n_interventi_avg: {$ninterventi_avg}\n"); echo "storing in the supra storage\n"; sfSupra::setVariable('numero_interventi_max', $ninterventi_max); sfSupra::setVariable('numero_interventi_tot', $ninterventi_tot); sfSupra::setVariable('numero_interventi_avg', $ninterventi_avg); echo "done\n";
public function executeLavoroCommissioni() { $c = new Criteria(); $c->add(OppSedePeer::RAMO, $this->ramo); $c->add(OppSedePeer::TIPOLOGIA, 'Commissione permanente'); $comms = OppSedePeer::doSelect($c); foreach ($comms as $comm) { $c = new Criteria(); $c->addJoin(OppAttoPeer::ID, OppAttoHasSedePeer::ATTO_ID); $c->add(OppAttoPeer::LEGISLATURA, $this->leg); $c->add(OppAttoPeer::TIPO_ATTO_ID, 1); $c->add(OppAttoHasSedePeer::SEDE_ID, $comm->getId()); $c->add(OppAttoHasSedePeer::TIPO, 'Referente'); $ref = OppAttoHasSedePeer::doCount($c); $c = new Criteria(); $c->addJoin(OppAttoPeer::ID, OppAttoHasSedePeer::ATTO_ID); $c->add(OppAttoPeer::LEGISLATURA, $this->leg); $c->add(OppAttoPeer::TIPO_ATTO_ID, 1); $c->add(OppAttoHasSedePeer::SEDE_ID, $comm->getId()); $c->add(OppAttoHasSedePeer::TIPO, 'Consultiva'); $con = OppAttoHasSedePeer::doCount($c); $c = new Criteria(); $c->addJoin(OppAttoPeer::ID, OppAttoHasSedePeer::ATTO_ID); $c->add(OppAttoPeer::LEGISLATURA, $this->leg); $c->add(OppAttoPeer::TIPO_ATTO_ID, 1, Criteria::NOT_EQUAL); $c->add(OppAttoHasSedePeer::SEDE_ID, $comm->getId()); $atti_non_leg = OppAttoHasSedePeer::doCount($c); $c = new Criteria(); $c->add(OppResocontoPeer::LEGISLATURA, $this->leg); $c->add(OppResocontoPeer::SEDE_ID, $comm->getId()); $sedute = OppResocontoPeer::doCount($c); $c = new Criteria(); $c->addJoin(OppAttoPeer::ID, OppInterventoPeer::ATTO_ID); $c->add(OppAttoPeer::LEGISLATURA, $this->leg); $c->add(OppInterventoPeer::SEDE_ID, $comm->getId()); $interventi = OppInterventoPeer::doCount($c); $compara_comm[$comm->getId()] = array($ref, $con, $atti_non_leg, $sedute, $interventi); } $this->compara_comm = $compara_comm; }