/**
  * 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;
 }
예제 #2
0
 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;
 }