Your IP : 216.73.216.65


Current Path : /home/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/
Upload File :
Current File : /home/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/CSVCP.php

<?php
if(isset($type)){}else{
require "../../Outils/co.php";}
if(isset($_GET['ID'])){
$IDsite = $_GET['ID']; }


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

$list0 = $dbco->prepare("SELECT ID_pmo, nbo FROM gest_acc_sites WHERE ID_acc_site='$IDsite'"); 
$list0->execute();
$R0 = $list0->fetch(PDO::FETCH_OBJ);


$ID = $R0->ID_pmo;

if(isset($R1->ID_acc_conso)){
    $del=$dbco->prepare("DELETE FROM `gest_acc_prod_heures` WHERE ID_acc_site='$IDsite'");
    $del->execute();
}

if($R0->nbo==1){

$DBPV = array();
$row = 0;
$i=0;
$count = 0;
if (($handle = fopen("../../../FICHIERS/ACC/Temp/CP.$IDsite.1.csv", "r")) !== FALSE) {

$chemin ="../../../FICHIERS/ACC/$ID/Sites/$IDsite/CP";
// Vérifie si le répertoire existe :
if (!is_dir($chemin)) {mkdir($chemin, 0777,true);}

$csvj = new SplFileObject('../../../FICHIERS/ACC/'.$ID.'/Sites/'.$IDsite.'/CP/CPJ.'.$IDsite.'.csv', 'w');


    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        //$num = count($data);
        //echo "<p> $num champs à la ligne $row: <br /></p>\n";
        $row++;
        
            if($row > 1){
            //echo $data[$c] . "<br />\n";
            $i++;
            $date = $data[0];
            $modifjour = explode(":", $date);    //Separer la date et l'heure
             
            $jourcomplet = $modifjour[0];
            $jourcomplet2 = substr_replace($jourcomplet, '-', 4, 0);
            $jour = substr_replace($jourcomplet2, '-', 7, 0);
            $modifheure = $modifjour[1];
            $heure1 = substr($modifheure, 0, -2);
            
            if($heure1=="00"){$heure=0;}elseif($heure1=="01"){$heure=1;}elseif($heure1=="02"){$heure=2;}elseif($heure1=="03"){$heure=3;}elseif($heure1=="04"){$heure=4;}elseif($heure1=="05"){$heure=5;}elseif($heure1=="06"){$heure=6;}elseif($heure1=="07"){$heure=7;}elseif($heure1=="08"){$heure=8;}elseif($heure1=="09"){$heure=9;}else{
            $heure = (int)$heure1;}
            $puissance = $data[1];
            //$pfloat = str_replace(".", ",", $ppoint);
            $pf = (int)$puissance;
            $prod = $pf/1000;

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

            $DBPV[$i][1]=$jour;
            $DBPV[$i][2]=$heure;
            $DBPV[$i][3]=$pf;
            $DBPV[$i][4]=$prod;

            $csvj->fputcsv($DBPV[$i], ';');
            }
        
    }

    //Variables index
    $i2020=1;
    $i2021=8785;
    $i2022=17545;
    $i2023=26305;
    $l=1;
    $lmax=8785;
    $csvmj = new SplFileObject('../../../FICHIERS/ACC/'.$ID.'/Sites/'.$IDsite.'/CP/CPMJ.'.$IDsite.'.csv', 'w');

    foreach ($DBPV as $DB) {
    
    $Date2024 = str_replace("2020", "2024", $DBPV[$l][1]);
    $heure2024 = $DBPV[$l][2];

    if($Date2024 == "2024-02-29"){
    $puissance2024 = $DBPV[$l][3];
    $prod2024 = $DBPV[$l][4];

    }else{
    $puissance2024 = (($DBPV[$l][3]+$DBPV[$i2021][3]+$DBPV[$i2022][3]+$DBPV[$i2023][3])/4);
    $prod2024 = (($DBPV[$l][4]+$DBPV[$i2021][4]+$DBPV[$i2022][4]+$DBPV[$i2023][4])/4);
    $i2021++; $i2022++; $i2023++;
    }

    $DBPVJ[$l][1]=$Date2024;
    $DBPVJ[$l][2]=$heure2024;
    $DBPVJ[$l][3]=$puissance2024;
    $DBPVJ[$l][4]=$prod2024;

    $csvmj->fputcsv($DBPVJ[$l], ';');
    $l++; 
    
    if($l == ($lmax)){break;}

    if($puissance2024>0){
    $UP3 = $dbco->prepare("INSERT INTO gest_acc_prod_heures (ID_acc_site, prod_jour, prod_heure, prod_puissance, prod_kwh) VALUES (:ID_acc_site, :prod_jour, :prod_heure, :prod_puissance, :prod_kwh)");
    $UP3->bindparam(':ID_acc_site',$IDsite);
    $UP3->bindparam(':prod_jour',$Date2024);
    $UP3->bindparam(':prod_heure',$heure2024);
    $UP3->bindparam(':prod_puissance',$puissance2024);
    $UP3->bindparam(':prod_kwh',$prod2024);
    $UP3->execute();
    $count++;
    }

    }
    
    fclose($handle);

    $req1 = $dbco->query("SELECT SUM(Prod_kwh) AS Prod_total FROM gest_acc_prod_heures WHERE ID_acc_site = '$IDsite' AND prod_jour LIKE '2024-%%-%%'");
    $totalprods = $req1->fetch();
    $req1->closeCursor();

    $UP6 = $dbco->prepare('UPDATE gest_acc_sites SET CP = :CP, Prods = :Prods, Etat = :Etat WHERE ID_acc_site = :ID_acc_site');
    $UP6->bindvalue('CP','Oui');
    $UP6->bindvalue('Prods',$totalprods['Prod_total']);
    $UP6->bindvalue('Etat','Complet');
    $UP6->bindvalue('ID_acc_site',$IDsite);
    $UP6->execute();

    require('acc_calcul_journalier_PR.php');
    require('acc_calcul_mois_PR.php');
    
    if(isset($type)){}else{
    header("location:../Gestion_ACC/acc_config_sites.php?IDpmo=$ID");}

}
}


// PASSAGE A 2 CENTRALES DE PRODUCTION SUR LE MEME SITE

if($R0->nbo==2){

    $DBPV = array();
    $row = 0;
    $i=0;
    $count = 0;

    if (($handle = fopen("../../../FICHIERS/ACC/Temp/CP.$IDsite.1.csv", "r")) !== FALSE) {
    
        $handle2 = fopen("../../../FICHIERS/ACC/Temp/CP.$IDsite.2.csv", "r");

    $chemin ="../../../FICHIERS/ACC/$ID/Sites/$IDsite/CP";
    // Vérifie si le répertoire existe :
    if (!is_dir($chemin)) {mkdir($chemin, 0777,true);}
    
    $csvj = new SplFileObject('../../../FICHIERS/ACC/'.$ID.'/Sites/'.$IDsite.'/CP/CPJ.'.$IDsite.'.csv', 'w');
    
    
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

            $data2 = fgetcsv($handle2, 1000, ",");
            //$num = count($data);
            //echo "<p> $num champs à la ligne $row: <br /></p>\n";
            $row++;
            
                if($row > 1){
                //echo $data[$c] . "<br />\n";
                $i++;
                $date = $data[0]; 
                $modifjour = explode(":", $date);    //Separer la date et l'heure
                 
                $jourcomplet = $modifjour[0];
                $jourcomplet2 = substr_replace($jourcomplet, '-', 4, 0);
                $jour = substr_replace($jourcomplet2, '-', 7, 0);
                $modifheure = $modifjour[1];
                $heure1 = substr($modifheure, 0, -2);
                
                if($heure1=="00"){$heure=0;}elseif($heure1=="01"){$heure=1;}elseif($heure1=="02"){$heure=2;}elseif($heure1=="03"){$heure=3;}elseif($heure1=="04"){$heure=4;}elseif($heure1=="05"){$heure=5;}elseif($heure1=="06"){$heure=6;}elseif($heure1=="07"){$heure=7;}elseif($heure1=="08"){$heure=8;}elseif($heure1=="09"){$heure=9;}else{
                $heure = (int)$heure1;}
                $puissance = $data[1];
                $puissance2 = $data2[1];
                //$pfloat = str_replace(".", ",", $ppoint);
                $pf = (int)$puissance;
                $pf2 = (int)$puissance2;
                $prod = $pf/1000;
                $prod2 = $pf2/1000;
                //echo $jour . " / Date du jour <br />\n";
                //echo $heure . " / Heure du jour <br />\n";
                //echo $puissance . " / Puissance en wh <br />\n";
                //echo $prod . " / Production en kwh <br />\n";
    
                $DBPV[$i][1]=$jour;
                $DBPV[$i][2]=$heure;
                $DBPV[$i][3]=$pf+$pf2;
                $DBPV[$i][4]=$prod+$prod2;
    
                $csvj->fputcsv($DBPV[$i], ';');
                }
            
        }
    
        //Variables index
        $i2020=1;
        $i2021=8785;
        $i2022=17545;
        $i2023=26305;
        $l=1;
        $lmax=8785;
        $csvmj = new SplFileObject('../../../FICHIERS/ACC/'.$ID.'/Sites/'.$IDsite.'/CP/CPMJ.'.$IDsite.'.csv', 'w');
    
        foreach ($DBPV as $DB) {
        
        $Date2024 = str_replace("2020", "2024", $DBPV[$l][1]);
        $heure2024 = $DBPV[$l][2];
    
        if($Date2024 == "2024-02-29"){
        $puissance2024 = $DBPV[$l][3];
        $prod2024 = $DBPV[$l][4];
    
        }else{
        $puissance2024 = (($DBPV[$l][3]+$DBPV[$i2021][3]+$DBPV[$i2022][3]+$DBPV[$i2023][3])/4);
        $prod2024 = (($DBPV[$l][4]+$DBPV[$i2021][4]+$DBPV[$i2022][4]+$DBPV[$i2023][4])/4);
        $i2021++; $i2022++; $i2023++;
        }
    
        $DBPVJ[$l][1]=$Date2024;
        $DBPVJ[$l][2]=$heure2024;
        $DBPVJ[$l][3]=$puissance2024;
        $DBPVJ[$l][4]=$prod2024;
    
        $csvmj->fputcsv($DBPVJ[$l], ';');
        $l++; 
        
        if($l == ($lmax)){break;}
    
        if($puissance2024>0){
        $UP3 = $dbco->prepare("INSERT INTO gest_acc_prod_heures (ID_acc_site, prod_jour, prod_heure, prod_puissance, prod_kwh) VALUES (:ID_acc_site, :prod_jour, :prod_heure, :prod_puissance, :prod_kwh)");
        $UP3->bindparam(':ID_acc_site',$IDsite);
        $UP3->bindparam(':prod_jour',$Date2024);
        $UP3->bindparam(':prod_heure',$heure2024);
        $UP3->bindparam(':prod_puissance',$puissance2024);
        $UP3->bindparam(':prod_kwh',$prod2024);
        $UP3->execute();
        $count++;
        }
    
        }
        
        fclose($handle);
    
        $req1 = $dbco->query("SELECT SUM(Prod_kwh) AS Prod_total FROM gest_acc_prod_heures WHERE ID_acc_site = '$IDsite' AND prod_jour LIKE '2024-%%-%%'");
        $totalprods = $req1->fetch();
        $req1->closeCursor();
    
        $UP6 = $dbco->prepare('UPDATE gest_acc_sites SET CP = :CP, Prods = :Prods, Etat = :Etat WHERE ID_acc_site = :ID_acc_site');
        $UP6->bindvalue('CP','Oui');
        $UP6->bindvalue('Prods',$totalprods['Prod_total']);
        $UP6->bindvalue('Etat','Complet');
        $UP6->bindvalue('ID_acc_site',$IDsite);
        $UP6->execute();
    
        require('acc_calcul_journalier_PR.php');
        require('acc_calcul_mois_PR.php');
        
        if(isset($type)){}else{
        header("location:../Gestion_ACC/acc_config_sites.php?IDpmo=$ID");}
    
    }
    }
    
// PASSAGE A 2 CENTRALES DE PRODUCTION SUR LE MEME SITE

if($R0->nbo==3){

    $DBPV = array();
    $row = 0;
    $i=0;
    $count = 0;

    if (($handle = fopen("../../../FICHIERS/ACC/Temp/CP.$IDsite.1.csv", "r")) !== FALSE) {
    
        $handle2 = fopen("../../../FICHIERS/ACC/Temp/CP.$IDsite.2.csv", "r");
        $handle3 = fopen("../../../FICHIERS/ACC/Temp/CP.$IDsite.3.csv", "r");

    $chemin ="../../../FICHIERS/ACC/$ID/Sites/$IDsite/CP";
    // Vérifie si le répertoire existe :
    if (!is_dir($chemin)) {mkdir($chemin, 0777,true);}
    
    $csvj = new SplFileObject('../../../FICHIERS/ACC/'.$ID.'/Sites/'.$IDsite.'/CP/CPJ.'.$IDsite.'.csv', 'w');
    
    
        while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {

            $data2 = fgetcsv($handle2, 1000, ",");
            $data3 = fgetcsv($handle3, 1000, ",");
            //$num = count($data);
            //echo "<p> $num champs à la ligne $row: <br /></p>\n";
            $row++;
            
                if($row > 1){
                //echo $data[$c] . "<br />\n";
                $i++;
                $date = $data[0]; 
                $modifjour = explode(":", $date);    //Separer la date et l'heure
                 
                $jourcomplet = $modifjour[0];
                $jourcomplet2 = substr_replace($jourcomplet, '-', 4, 0);
                $jour = substr_replace($jourcomplet2, '-', 7, 0);
                $modifheure = $modifjour[1];
                $heure1 = substr($modifheure, 0, -2);
                
                if($heure1=="00"){$heure=0;}elseif($heure1=="01"){$heure=1;}elseif($heure1=="02"){$heure=2;}elseif($heure1=="03"){$heure=3;}elseif($heure1=="04"){$heure=4;}elseif($heure1=="05"){$heure=5;}elseif($heure1=="06"){$heure=6;}elseif($heure1=="07"){$heure=7;}elseif($heure1=="08"){$heure=8;}elseif($heure1=="09"){$heure=9;}else{
                $heure = (int)$heure1;}
                $puissance = $data[1];
                $puissance2 = $data2[1];
                $puissance3 = $data3[1];
                //$pfloat = str_replace(".", ",", $ppoint);
                $pf = (int)$puissance;
                $pf2 = (int)$puissance2;
                $pf3 = (int)$puissance3;
                $prod = $pf/1000;
                $prod2 = $pf2/1000;
                $prod3 = $pf3/1000;
                //echo $jour . " / Date du jour <br />\n";
                //echo $heure . " / Heure du jour <br />\n";
                //echo $puissance . " / Puissance en wh <br />\n";
                //echo $prod . " / Production en kwh <br />\n";
    
                $DBPV[$i][1]=$jour;
                $DBPV[$i][2]=$heure;
                $DBPV[$i][3]=$pf+$pf2+$pf3;
                $DBPV[$i][4]=$prod+$prod2+$prod3;
    
                $csvj->fputcsv($DBPV[$i], ';');
                }
            
        }
    
        //Variables index
        $i2020=1;
        $i2021=8785;
        $i2022=17545;
        $i2023=26305;
        $l=1;
        $lmax=8785;
        $csvmj = new SplFileObject('../../../FICHIERS/ACC/'.$ID.'/Sites/'.$IDsite.'/CP/CPMJ.'.$IDsite.'.csv', 'w');
    
        foreach ($DBPV as $DB) {
        
        $Date2024 = str_replace("2020", "2024", $DBPV[$l][1]);
        $heure2024 = $DBPV[$l][2];
    
        if($Date2024 == "2024-02-29"){
        $puissance2024 = $DBPV[$l][3];
        $prod2024 = $DBPV[$l][4];
    
        }else{
        $puissance2024 = (($DBPV[$l][3]+$DBPV[$i2021][3]+$DBPV[$i2022][3]+$DBPV[$i2023][3])/4);
        $prod2024 = (($DBPV[$l][4]+$DBPV[$i2021][4]+$DBPV[$i2022][4]+$DBPV[$i2023][4])/4);
        $i2021++; $i2022++; $i2023++;
        }
    
        $DBPVJ[$l][1]=$Date2024;
        $DBPVJ[$l][2]=$heure2024;
        $DBPVJ[$l][3]=$puissance2024;
        $DBPVJ[$l][4]=$prod2024;
    
        $csvmj->fputcsv($DBPVJ[$l], ';');
        $l++; 
        
        if($l == ($lmax)){break;}
    
        if($puissance2024>0){
        $UP3 = $dbco->prepare("INSERT INTO gest_acc_prod_heures (ID_acc_site, prod_jour, prod_heure, prod_puissance, prod_kwh) VALUES (:ID_acc_site, :prod_jour, :prod_heure, :prod_puissance, :prod_kwh)");
        $UP3->bindparam(':ID_acc_site',$IDsite);
        $UP3->bindparam(':prod_jour',$Date2024);
        $UP3->bindparam(':prod_heure',$heure2024);
        $UP3->bindparam(':prod_puissance',$puissance2024);
        $UP3->bindparam(':prod_kwh',$prod2024);
        $UP3->execute();
        $count++;
        }
    
        }
        
        fclose($handle);
    
        $req1 = $dbco->query("SELECT SUM(Prod_kwh) AS Prod_total FROM gest_acc_prod_heures WHERE ID_acc_site = '$IDsite' AND prod_jour LIKE '2024-%%-%%'");
        $totalprods = $req1->fetch();
        $req1->closeCursor();
    
        $UP6 = $dbco->prepare('UPDATE gest_acc_sites SET CP = :CP, Prods = :Prods, Etat = :Etat WHERE ID_acc_site = :ID_acc_site');
        $UP6->bindvalue('CP','Oui');
        $UP6->bindvalue('Prods',$totalprods['Prod_total']);
        $UP6->bindvalue('Etat','Complet');
        $UP6->bindvalue('ID_acc_site',$IDsite);
        $UP6->execute();
    
        require('acc_calcul_journalier_PR.php');
        require('acc_calcul_mois_PR.php');
        
        if(isset($type)){}else{
        header("location:../Gestion_ACC/acc_config_sites.php?IDpmo=$ID");}
    
    }
    }
    




?>