Changeset 100 for trunk/client/modules/Elezioni/consiglieri.php
- Timestamp:
- May 19, 2011, 10:12:43 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/client/modules/Elezioni/consiglieri.php
r94 r100 417 417 418 418 #$res_val = mysql_query("SELECT sum(validi_lista) from ".$prefix."_ele_sezioni where id_cons='$id_cons'",$dbi); 419 $res_val = mysql_query("SELECT sum(voti) from ".$prefix."_ele_voti_ listawhere id_cons='$id_cons'",$dbi);419 $res_val = mysql_query("SELECT sum(voti) from ".$prefix."_ele_voti_gruppo where id_cons='$id_cons'",$dbi); 420 420 list($validi) = mysql_fetch_row($res_val); 421 421 … … 435 435 $lists[$num_lista]=$voti; 436 436 $groups[($num_gruppo)]+=$voti; 437 }else $validi-=$voti; 437 }else $validi-=$voti; //maggio 2011: verificare questa sottrazione, non mi convince 438 438 } 439 439 $descrsind=$desgruppi[$gruppo]; … … 465 465 $groups[$gruppo]+=$lists[$lst]; 466 466 } 467 ////da qui 468 469 foreach ($collperd as $lst) 470 if (isset($lists[$lst])){ 471 $oldlstgrp[$lst]=$listagruppo[$lst]; 472 $listagruppo[$lst]=$gruppoperd; 473 $oldlists[$lst]=$lists[$lst]; 474 $groups[$gruppoperd]+=$lists[$lst]; 475 $groups[$oldlstgrp[$lst]]-=$lists[$lst]; 476 } 477 478 ////a qui va tolto se non vanno sommati i voti delle liste collegate al secondo turno con quelli del gruppo che perde il ballottaggio, se non si collegano viene favorita l'elezione del candidato sindaco con cui era collegata al primo turno mentre se si collegano viene favorito il principio di aggregazione. Per ora i perdenti sono considerati con la situazione al primo turno. Implementiamo cosï¿œ: il 50% deve essere superato dalla minoranza nel primo turno, quindo senza somma dei voti delle liste aggiunte nel secondo turno - la suddivisione dei seggi viene fatta considerando i collegamenti al secondo turno, le liste collegate partecipano alla suddivisione dei seggi con questo gruppo quindi si confronta con le liste del gruppo in cui era al primo turno e valutando i coefficienti si stabilisce quale lista cede il seggio al candidato sindaco non acceduto al ballottaggio. 479 480 #controlla se la percentuale del gruppo vincente e' tra il 40 e il 60% o il sindaco e' eletto al secondo turno 481 #e se nessun altro gruppo ha superato il 50% assegna il premio di maggioranza 482 #e se nessun altro gruppo ha superato il 50% e nessuno ha ottenuto piu' del 60% dei seggi, assegna il premio di maggioranza 483 467 ////maggio 2011: da qui 484 468 $consmin=$numcons; 485 469 $gruppomin=calcoloseggi($groups,$consmin,0); … … 493 477 494 478 $candidati=array(); 479 //maggio 2011: a qui viene spostato in modo da aggiungere i voti di lista delle collegate per il perdente solo dopo aver controllato se supera il 50%, in questo modo si evita che il collegamento tra perdenti faccia decadere il premio di maggioranza se solo insieme superano il 50% 480 //maggio 2011: da qui 481 if(!isset($groups[$gruppoperd])) $groups[$gruppoperd]=0; 482 foreach ($collperd as $lst) 483 if (isset($lists[$lst])){ 484 $oldlstgrp[$lst]=$listagruppo[$lst]; 485 $listagruppo[$lst]=$gruppoperd; 486 $oldlists[$lst]=$lists[$lst]; 487 $groups[$gruppoperd]+=$lists[$lst]; 488 $groups[$oldlstgrp[$lst]]-=$lists[$lst]; 489 } 490 491 ////maggio 2011: a qui (mettendolo dopo Ú come se l'avessi tolto ma possono esserci altre implicazioni visto che si modificano le percentuali del gruppo, così per ora non lo tolgo) va tolto se non vanno sommati i voti delle liste collegate al secondo turno con quelli del gruppo che perde il ballottaggio, se non si collegano viene favorita l'elezione del candidato sindaco con cui era collegata al primo turno mentre se si collegano viene favorito il principio di aggregazione. Per ora i perdenti sono considerati con la situazione al primo turno. Implementiamo cosï¿œ: il 50% deve essere superato dalla minoranza nel primo turno, quindo senza somma dei voti delle liste aggiunte nel secondo turno - la suddivisione dei seggi viene fatta considerando i collegamenti al secondo turno, le liste collegate partecipano alla suddivisione dei seggi con questo gruppo quindi si confronta con le liste del gruppo in cui era al primo turno e valutando i coefficienti si stabilisce quale lista cede il seggio al candidato sindaco non acceduto al ballottaggio. 492 493 #controlla se la percentuale del gruppo vincente e' tra il 40 e il 60% o il sindaco e' eletto al secondo turno 494 #e se nessun altro gruppo ha superato il 50% assegna il premio di maggioranza 495 #e se nessun altro gruppo ha superato il 50% e nessuno ha ottenuto piu' del 60% dei seggi, assegna il premio di maggioranza 496 497 495 498 if ($premio) { 496 499 $sindaco[$gruppo]=$groups[$gruppo]; $groups[$gruppo]=0; … … 598 601 foreach($oldlists as $lst=>$vot) 599 602 { 600 if ($oldlstgrp[$lst]!= $key or $oldseggi[$lst]==0) continue;603 if ($oldlstgrp[$lst]!= $key or !isset($oldseggi[$lst]) or $oldseggi[$lst]==0) continue; 601 604 if($ultimo=='') $ultimo=$lst; 602 605 if($quozienti[$ultimo][($val-1)]==$last[$lst]) … … 634 637 { 635 638 $tt[$lista]=(count($conselb)-1); 636 $last[$lista]=$quozienti[$lista][($z-1)];639 if($z) $last[$lista]=$quozienti[$lista][($z-1)]; else $last[$lista]=0; 637 640 638 641 }
Note:
See TracChangeset
for help on using the changeset viewer.