Changeset 303 for trunk


Ignore:
Timestamp:
May 11, 2019, 12:35:30 AM (5 years ago)
Author:
roby
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/admin/modules/Elezioni/ele_controlli.php

    r302 r303  
    237237}
    238238
     239function controllo_votic($id_cons,$id_sez,$id_lista){
     240        global $prefix,$dbi,$id_sede,$id_cons_gen,$validi;
     241                ##############################
     242        $err=0;
     243        $sql="SELECT preferenze,disgiunto,solo_gruppo,id_fascia FROM ".$prefix."_ele_cons_comune where id_cons='$id_cons'";
     244        $res = $dbi->prepare("$sql");
     245        $res->execute();
     246        list($prefs,$disg,$solog,$fascia)=$res->fetch(PDO::FETCH_NUM);
     247
     248        if($fascia){
     249                $sql="select id_gruppo from ".$prefix."_ele_lista where id_lista='$id_lista'";
     250                $res = $dbi->prepare("$sql");
     251                $res->execute();
     252                list($id_gruppo)=$res->fetch(PDO::FETCH_NUM);
     253                $sql="select voti from ".$prefix."_ele_voti_gruppo where id_gruppo='$id_gruppo' and id_sez='$id_sez'";         
     254        } else  $sql="select voti from ".$prefix."_ele_voti_lista where id_lista='$id_lista' and id_sez='$id_sez'";
     255        $res = $dbi->prepare("$sql");
     256        $res->execute();
     257        list($votil)=$res->fetch(PDO::FETCH_NUM);
     258        $sql="SELECT sum(voti),max(voti) FROM ".$prefix."_ele_voti_candidati where id_sez='$id_sez' and id_cand in (select id_cand from ".$prefix."_ele_candidati where id_lista='$id_lista')";
     259        $res = $dbi->prepare("$sql");
     260        $res->execute();
     261        list($votic,$mvc)=$res->fetch(PDO::FETCH_NUM);
     262        if(($votic)>($votil*$prefs) || $mvc>$votil)
     263        {$err=1;}
     264
     265        return $err;
     266}
     267
     268
    239269
    240270function controllo_votil($id_cons,$id_sez,$id_lista){
    241271        global $prefix,$dbi,$id_sede,$id_cons_gen,$validi;
    242272                ##############################
    243         $err=0; $err2=0;
     273        $err=0;
     274        $tipo='lista';
     275        $sql="SELECT genere FROM ".$prefix."_ele_tipo as t1 left join ".$prefix."_ele_consultazione as t2 on t1.tipo_cons=t2.tipo_cons where id_cons_gen='$id_cons_gen'";
     276        $res = $dbi->prepare("$sql");
     277        $res->execute();
     278        list($genere)=$res->fetch(PDO::FETCH_NUM);
    244279        $sql="SELECT preferenze,disgiunto,solo_gruppo,id_fascia FROM ".$prefix."_ele_cons_comune where id_cons='$id_cons'";
    245280        $res = $dbi->prepare("$sql");
     
    247282        list($prefs,$disg,$solog,$fascia)=$res->fetch(PDO::FETCH_NUM);
    248283        if($id_lista){
    249                 if($fascia){
    250                         $sql="select id_gruppo from ".$prefix."_ele_lista where id_lista='$id_lista'";
    251                         $res = $dbi->prepare("$sql");
    252                         $res->execute();
    253                         list($id_gruppo)=$res->fetch(PDO::FETCH_NUM);
    254                         $sql="select voti from ".$prefix."_ele_voti_gruppo where id_gruppo='$id_gruppo' and id_sez='$id_sez'";         
    255                 } else  $sql="select voti from ".$prefix."_ele_voti_lista where id_lista='$id_lista' and id_sez='$id_sez'";
    256                 $res = $dbi->prepare("$sql");
    257                 $res->execute();
    258                 list($votil)=$res->fetch(PDO::FETCH_NUM);
    259                 $sql="SELECT sum(voti),max(voti) FROM ".$prefix."_ele_voti_candidati where id_sez='$id_sez' and id_cand in (select id_cand from ".$prefix."_ele_candidati where id_lista='$id_lista')";
    260                 $res = $dbi->prepare("$sql");
    261                 $res->execute();
    262                 list($votic,$mvc)=$res->fetch(PDO::FETCH_NUM);
    263                 if(($votic)>($votil*$prefs) || $mvc>$votil)
    264                         $err=1;
     284                $err=controllo_votic($id_cons,$id_sez,$id_lista);
     285                $tipo='lista';
    265286        }else{
    266                 $sql="select id_gruppo from ".$prefix."_ele_lista where id_lista='$id_lista'";
    267                 $res = $dbi->prepare("$sql");
    268                 $res->execute();
    269                 list($idg)=$res->fetch(PDO::FETCH_NUM);
    270                 $sql="SELECT id_gruppo, voti, solo_gruppo FROM ".$prefix."_ele_voti_gruppo where id_sez='$id_sez'";
     287
     288                if($genere==4)
     289                        $sql="SELECT id_lista, voti, '0' FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez'";
     290                else
     291                        $sql="SELECT id_gruppo, voti, solo_gruppo FROM ".$prefix."_ele_voti_gruppo where id_sez='$id_sez'";
    271292                $resref = $dbi->prepare("$sql");
    272293                $resref->execute();
     
    276297                $totsl=0;
    277298                $tnl=0;
    278         $sql="SELECT sum(voti),sum(nulli_lista),sum(solo_lista) FROM ".$prefix."_ele_voti_lista where id_cons='$id_cons' and id_sez='$id_sez'";
    279                 $resl = $dbi->prepare("$sql");
    280                 $resl->execute();
     299
    281300        $sql="SELECT validi,validi_lista,contestati_lista,voti_nulli_lista,solo_lista FROM ".$prefix."_ele_sezioni where id_cons='$id_cons' and id_sez='$id_sez'";
    282301                $res = $dbi->prepare("$sql");
    283302                $res->execute();
    284303        list($votiv,$validil,$contestatil,$nullil,$solol) = $res->fetch(PDO::FETCH_NUM);
    285                 while (list($idg,$votig,$svg)=$resref->fetch(PDO::FETCH_NUM)) {
    286                         $sql="SELECT sum(voti), sum(nulli_lista),sum(solo_lista) FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista in (select id_lista from ".$prefix."_ele_lista where id_gruppo='$idg')";
    287                         $res2 = $dbi->prepare("$sql");
    288                         $res2->execute();
    289                         $totgru+=$votig;
    290                         $totsg+=$svg;
    291                         if($res2->rowCount()){
    292                                 list($votil,$nl,$svl)=$res2->fetch(PDO::FETCH_NUM);
    293                                 $totlis+=$votil;
    294                                 $totsl+=$svl;
    295                                 $tnl+=$nl;
    296                                 if(($votig+$svl)<($votil+$svg+$nl))
    297                                         $err=1;
     304                if($genere==4)
     305                        while (list($idg,$votig,$svg)=$resref->fetch(PDO::FETCH_NUM)) {
     306                                $err=controllo_votic($id_cons,$id_sez,$idg);
     307                                if($err){ $tipo='lista'; $id_lista=$idg; break; }
     308                                        $sql="SELECT sum(voti), sum(nulli_lista),sum(solo_lista) FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista='$idg'";
     309                                $res2 = $dbi->prepare("$sql");
     310                                $res2->execute();
     311                                $totgru+=$votig;
     312                                $totsg+=$svg;
     313                                if($res2->rowCount()){
     314                                        list($votil,$nl,$svl)=$res2->fetch(PDO::FETCH_NUM);
     315                                        $totlis+=$votil;
     316                                        $totsl+=$svl;
     317                                        $tnl+=$nl;
     318                                        if(($votig+$svl)<($votil+$svg+$nl))
     319                                        { $err=1; $tipo='lista';$id_lista=$idg; break; }
     320                                }                               
    298321                        }
    299                        
    300                 }
    301                 if ($validil+$contestatil+$nullil+$totsg!=$votiv and $validil+$contestatil+$nullil+$solol>0) $err=1;
    302                 if(($solog && !$disg && $tnl!=$nullil) || $totsl!=$solol) $err=1;
    303         }
    304 
    305         $tipo='lista';
    306         $sql="select id from ".$prefix."_ele_controlli where tipo='$tipo' and id_sez='$id_sez'";
    307         $res = $dbi->prepare("$sql");
    308         $res->execute();
    309         $righe=$res->rowCount();
    310         if($righe){
     322                else
     323                        while (list($idg,$votig,$svg)=$resref->fetch(PDO::FETCH_NUM)) {
     324                                $sql="SELECT id_lista FROM ".$prefix."_ele_lista where id_sez='$id_sez' and id_gruppo='$idg'";
     325                                $res2 = $dbi->prepare("$sql");
     326                                $res2->execute();
     327                                while(list($id_lista)=$res2->fetch(PDO::FETCH_NUM)){
     328                                        $err=controllo_votic($id_cons,$id_sez,$id_lista);
     329                                        if($err){ $tipo='lista'; break; }                               
     330                                }
     331                                $sql="SELECT sum(voti), sum(nulli_lista),sum(solo_lista) FROM ".$prefix."_ele_voti_lista where id_sez='$id_sez' and id_lista in (select id_lista from ".$prefix."_ele_lista where id_gruppo='$idg')";
     332                                $res2 = $dbi->prepare("$sql");
     333                                $res2->execute();
     334                                $totgru+=$votig;
     335                                $totsg+=$svg;
     336                                if($res2->rowCount()){
     337                                        list($votil,$nl,$svl)=$res2->fetch(PDO::FETCH_NUM);
     338                                        $totlis+=$votil;
     339                                        $totsl+=$svl;
     340                                        $tnl+=$nl;
     341                                        if(($votig+$svl)<($votil+$svg+$nl))
     342                                        { $err=1; $tipo=$lista; break; }
     343                                }
     344                               
     345                        }
     346                if ($validil+$contestatil+$nullil+$totsg!=$votiv and $validil+$contestatil+$nullil+$solol>0) {$err=1;$tipo='lista';}
     347                if(($solog && !$disg && $tnl!=$nullil) || $totsl!=$solol) {$err=1;$tipo='lista';}
     348               
     349        }
     350
    311351                if(!$err){
    312                         $sql="delete from ".$prefix."_ele_controlli where tipo='$tipo' and id='$id_sez' ";
     352                        $sql="delete from ".$prefix."_ele_controlli where tipo='lista' and id_sez='$id_sez' "; include("$sql");
    313353                        $res = $dbi->prepare("$sql");
    314354                        $res->execute();
    315                 }
    316                 $err=0;
    317         }
     355                }
     356
    318357        if($err){
    319                 $sql="insert into ".$prefix."_ele_controlli value('$id_cons','$id_sez','$tipo','$id_sez')";
     358                $sql="insert into ".$prefix."_ele_controlli value('$id_cons','$id_sez','$tipo','$id_lista')";
    320359                $res = $dbi->prepare("$sql");
    321360                $res->execute();               
Note: See TracChangeset for help on using the changeset viewer.