| Current Path : /home/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/ |
| 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");}
}
}
?>