Ignore:
Timestamp:
Jun 4, 2014, 6:17:11 PM (10 years ago)
Author:
roby
Message:

client: modifica della funzione di proiezione del consiglio comunale, corretta la condizione per l'attribuzione del seggio al candidato sindaco non eletto in caso di seggi disponibili sia in maggioranza che in minoranza

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/client/modules/Elezioni/consiglieri.php

    r221 r224  
    320320  }
    321321 }
    322  if (!$sorteggio){
     322 if (!$sorteggio and $cand){
    323323        $eletti[$cand]++;
    324324        $ultimo=$cand;
     
    448448        $testseggio=calcoloseggi($elencog,floor($numcons*(100-$suppremio)/100),0);
    449449        foreach($testseggio as $testk=>$valk) {if($valk) $sindseggiopre[]=$testk; }
    450 #foreach ($gruppomin as $key=>$val) {if (($numcons*60/100)<$val) $nopremio=0;if($key!=$gruppo){echo "<br>gruppomin: $key -- $val";}}
    451450##################
    452451$descrsind=$desgruppi[$gruppo];
     
    524523        foreach($groups as $testk=>$valk) {if($testk!=$gruppo) $elencog[$testk]=$valk;}
    525524        $perdente[$gruppoperd]=$groups[$gruppoperd];
    526         $testseggio=calcoloseggi($perdente,floor($numcons*($suppremio)/100),0);
    527 #       foreach($testseggio as $testk=>$valk) echo "<br>testgruppo: $valk - $testk - $gruppoperd";
    528         foreach($sindseggiopre as $testk=>$valk){ if(!$testseggio[$valk]) $sindseggio[$valk]=$valk;}
     525        $testseggio=calcoloseggi($elencog,floor($numcons-$numcons*($suppremio)/100),0);
     526        foreach($testseggio as $testk=>$valk)
     527        foreach($sindseggiopre as $testk=>$valk){ if(isset($testseggio[$valk]) and $testseggio[$valk]) continue; $sindseggio[$valk]=$testk;}
    529528###########
    530529    $sindaco[$gruppo]=$groups[$gruppo]; $groups[$gruppo]=0;
     
    560559        foreach ($seggitmp as $keyl=>$vall){#echo "<br> lista: $vall - $keyl - $grp - $gruppo";
    561560        if($vall==0) continue;
    562 #       foreach ($sindseggio as $key=>$val){
    563 #               if (in_array($keyl,$collegate) and ! isset($tempo[$keyl])) $tempo[$keyl]=number_format($quozienti[$keyl][$vall-1],2);
    564561
    565562                $res = mysql_query("SELECT id_gruppo from ".$prefix."_ele_lista where num_lista='$keyl' and id_cons='$id_cons'",$dbi);
     
    567564                $res = mysql_query("SELECT num_gruppo from ".$prefix."_ele_gruppo where id_gruppo='$tempig' and id_cons='$id_cons'",$dbi);
    568565                list($tempng)=mysql_fetch_row($res);
    569                 if (in_array($tempng,$grpinc)) {$listdec[$tempng][]=$keyl;}
     566                if (in_array($tempng,$sindseggio)) {$listdec[$tempng][]=$keyl;}
    570567}
    571568}
    572 }               /*              while(){
    573                         if(isset($tempo[$tempnl])) echo "<br> tempnl: $tempnl -- key:$key".$tempo[$key];
    574                 }
    575 */
     569}
    576570##########
    577 #echo "<br> key: $key2 - $val2";
    578         $seggimag=calcoloseggi($listemag,$val,1);#foreach ($grpinc as $keyl=>$vall)
     571        $seggimag=calcoloseggi($listemag,$val,1);
    579572
    580573####cerca ultimo seggio assegnato per gruppo di liste collegate al primo turno
    581574        foreach ($seggimag as $key2=>$val2){ if($val2==0) continue;
    582 #       echo "<br>quozienti - $key2:".$quozienti[$key2][($val2)];
    583         if(!isset($ultquoz[($grpinc[$key2])]) and $grpinc[$key2]) {$ultquoz[($grpinc[$key2])]=$quozienti[$key2][($val2-1)];$lastlist[($grpinc[$key2])]=$key2;}
    584         elseif ($ultquoz[($grpinc[$key2])]>$quozienti[$key2][($val2-1)]) {$ultquoz[($grpinc[$key2])]=$quozienti[$key2][($val2-1)];$lastlist[($grpinc[$key2])]=$key2;}
    585         #       if(in_array($key,$listdec)) $val--;
    586 } #foreach($lastlist as $keyl=>$vall) echo "<br> seggi: $keyl - $vall";
    587         #####
    588         foreach ($seggimag as $key2=>$val2){
     575        if($arposiz=array_search($key2,$sindseggio)) {
     576foreach($listdec[$key2] as $ark=>$arv) {
     577                if(!isset($ultquoz[($sindseggio[$key2])]) and $sindseggio[$key2]) {$ultquoz[($sindseggio[$key2])]=$quozienti[$arv][($val2-1)];$lastlist[($sindseggio[$key2])]=$arv;}
     578                elseif ($ultquoz[($sindseggio[$key2])]>$quozienti[$arv][($val2-1)]) {$ultquoz[($sindseggio[$key2])]=$quozienti[$arv][($val2-1)];$lastlist[($sindseggio[$key2])]=$arv;
     579                }
     580        }}
     581
     582        }
     583        foreach ($seggimag as $key2=>$val2){
    589584        ## condizione per esclusione di un seggio da destinare al sindaco non eletto    in_array($key2,$lastlist)
     585        if(isset($lastlist))
    590586                foreach($lastlist as $key3=>$val3){
    591587                if($key2==$val3) {
    592                         $arappo=array_shift($arvin[$key2]);
    593                         foreach($listdec as $kk=>$vv) {foreach($vv as $vvk=>$vvv) if ($vvv==$key2) $tmpgrp=$kk; }
    594                         if($tmpgrp){
    595                         array_unshift($arvin[$key2],$desgruppi[$tmpgrp]); array_unshift($arvin[$key2],$arappo);array_unshift($cifra[$key2],"--");array_unshift($cifra[$key2],"--");
    596                         }
    597                         }}
    598                 #$val--;
     588                        $arappo=array_shift($arvin[$key2]);$tpmgrp=0;
     589                                        array_unshift($arvin[$key2],$desgruppi[$key3]); array_unshift($arvin[$key2],$arappo);array_unshift($cifra[$key2],"--");array_unshift($cifra[$key2],"--");
     590                        }
     591                }
    599592        ## fine condizione - impostare variabile in db per differenziare il comportamento per consultazioni diverse
    600593                for ($z=0;$z<$val2;$z++){
Note: See TracChangeset for help on using the changeset viewer.