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/CSVCParray.php

<?php
require "../../Outils/co.php";
$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 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();
}
$DBPV = array();
$row = 0;
$i=0;
$count = 0;
if (($handle = fopen("../../../FICHIERS/ACC/Temp/CP.$IDsite.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');
    
    header("location:../Gestion_ACC/acc_config_sites.php?ID=$ID");

}
?>