Your IP : 216.73.216.212


Current Path : /home/a/t/a/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/save/
Upload File :
Current File : /home/a/t/a/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/save/CSVCC.php

<?php
require "../../Outils/co.php";
$IDsite = $_GET['ID'];
$IDpmo = $_GET['IDpmo'];

$list1 = $dbco->prepare("SELECT ID_acc_conso FROM gest_acc_conso_heures WHERE ID_acc_site='$IDsite'"); 
$list1->execute();
$R1 = $list1->fetch(PDO::FETCH_OBJ);


if(isset($R1->ID_acc_conso)){

    $del=$dbco->prepare("DELETE FROM `gest_acc_conso_bdd` WHERE ID_acc_site='$IDsite'");
    $del->execute();

    $del=$dbco->prepare("DELETE FROM `gest_acc_conso_heures` WHERE ID_acc_site='$IDsite'");
    $del->execute();
    
}

//Identifier le module du tableau
$ligne = 0;$c = 1; $jour=array(); $stop=1; $count=0;
if (($handle = fopen("../../../FICHIERS/ACC/$IDpmo/Sites/$IDsite/CC/CC.$IDsite.csv", "r")) !== FALSE) {
    while ((($data = fgetcsv($handle, 1000, ";")) && ($stop == 1)) !== FALSE) {
        $ligne++;
        if($ligne > 1){
        $modifdate = $data[1];
        $modifjour = explode("T", $modifdate);    //Separer la date et l'heure
        $date = $modifjour[0];

        if($c==1){$jour2 = $date;}
        $jour[$c] = $date;
        $test = $jour[$c];
        $c++;

        if (strcmp($test, $jour2) !== 0) {
            $count = $ligne-2;
            $stop = 0; 
        }
    }

}}
    $tempo = ((24*60)/$count);
    $coefh = 60/$tempo;
//echo $count . " boucles, soit ".$tempo." minutes. <br />\n<br />\n";
//echo $coefh . " de coef multiplicateur. <br />\n<br />\n";

    fclose($handle);

$row = 0;
$rowmax = $coefh*24*366*4;
$rowb = 0;
$DB = array();

//echo $rowmax . " max de ligne a importer. <br />\n<br />\n";



if (($handle = fopen("../../../FICHIERS/ACC/$IDpmo/Sites/$IDsite/CC/CC.$IDsite.csv", "r")) !== FALSE) {

    while ((($data = fgetcsv($handle, 1000, ";"))&&($row < $rowmax)) !== FALSE) {
        //$num = count($data);
        //echo "<p> $num champs à la ligne $row: <br /></p>\n";
        $row++;
        
            if($row > 1){
            $rowb++;
            //echo $data[$c] . "<br />\n";
            $DB[$rowb]['Num']= $rowb;

            $modifdate = $data[1];
            $modifjour = explode("T", $modifdate);    //Separer la date et l'heure
            $jour = $modifjour[0];
            $DB[$rowb]['Jour'] = $modifjour[0];
            $Var_année = explode("T", $jour);
            $année = $Var_année[0];

            $modifheure = $modifjour[1];
            //echo $modifheure. " modifheure. <br />\n";

            $modifheure2 = str_replace("Z", "", $modifheure);
            //$modifheure2 = explode("Z", $modifjour[1]);
            //echo $modifheure2 . " modifheure2. <br />\n";
            

            $heure1 = explode(":", $modifheure2);
            //echo $heure1[0] . " heure1. <br />\n";

            $heure2 = $heure1[0];
            //echo $heure2 . " heure2. <br />\n";

            $DB[$rowb]['Heure'] = $heure2;
            $ppoint = $data[3];
            //$pfloat = str_replace(".", ",", $ppoint);
            $puissance = $ppoint*1000;
            $pf = (int)$puissance;
            
            $DB[$rowb]['Puissance'] = (int)$puissance;

            $conso = ($pf/(1000*$coefh));

            $DB[$rowb]['Conso'] = $conso;

            //echo $jour . " / Date du jour <br />\n";
            //echo $heure . " / Heure du jour <br />\n";
            //echo $puissance . " / Puissance en wh <br />\n";
            //echo $conso . " / Conso en kwh <br />\n";

            if($rowb == $coefh){
            
            $RecupPuissance = array_column($DB, 'Puissance');
            $PuissanceHeure=(array_sum($RecupPuissance)/$coefh);
            $RecupConso = array_column($DB, 'Conso');
            $ConsoHeure=array_sum($RecupConso);
            
            $PDOjour = $DB[1]['Jour'];
            $PDOheure = $DB[1]['Heure'];
            
            $rowb = 0;

            $UP3 = $dbco->prepare("INSERT INTO gest_acc_conso_heures (ID_acc_site, conso_jour, conso_heure, conso_puissance, conso_kwh) VALUES (:ID_acc_site, :conso_jour, :conso_heure, :conso_puissance, :conso_kwh)");
            $UP3->bindparam(':ID_acc_site',$IDsite);
            $UP3->bindparam(':conso_jour',$PDOjour);
            $UP3->bindparam(':conso_heure',$PDOheure);
            $UP3->bindparam(':conso_puissance',$PuissanceHeure);
            $UP3->bindparam(':conso_kwh',$ConsoHeure);
            $UP3->execute();
            
            //echo "Enregistrement de la journée du ".$PDOjour." et de l'heure N° ".$PDOheure." pour une puissance instant de ".$PuissanceHeure." et une conso de ".$ConsoHeure.". <br />";
            }
            
            }
    }
}
    fclose($handle);

    $req1 = $dbco->query("SELECT SUM(Conso_kwh) AS Consos_total FROM gest_acc_conso_heures WHERE ID_acc_site = '$IDsite' AND conso_jour LIKE '2024-%%-%%'");
    $totalconsos = $req1->fetch();
    $req1->closeCursor();

    $UP6 = $dbco->prepare('UPDATE gest_acc_sites SET CC = :CC, Consos = :Consos, Etat = :Etat WHERE ID_acc_site = :ID_acc_site');
    $UP6->bindvalue('CC','Oui');
    $UP6->bindvalue('Consos',$totalconsos['Consos_total']);
    $UP6->bindvalue('Etat','Complet');
    $UP6->bindvalue('ID_acc_site',$IDsite);
    $UP6->execute();

    $del=$dbco->prepare("DELETE FROM `gest_acc_conso_bdd` WHERE ID_acc_site='$IDsite'");
    $del->execute();

    require('acc_calcul_journalier_CC.php');
    require('acc_calcul_mois_CC.php');
    
    
    header("location:../Gestion_ACC/acc_config_sites.php?ID=$IDpmo");


?>