| Current Path : /home/a/t/a/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/AC/ |
| Current File : /home/a/t/a/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/AC/CalculAutoConsoarray.php |
<?php
require "../../../Outils/co.php";
$IDsite = $_GET['ID'];
$IDpmo = $_GET['IDpmo'];
$list0 = $dbco->prepare("SELECT ID_acc_site FROM gest_acc_autoconso_heures WHERE ID_acc_site='$IDsite'");
$list0->execute();
$R0 = $list0->fetch(PDO::FETCH_OBJ);
if(isset($R0->ID_acc_site)){
$del=$dbco->prepare("DELETE FROM `gest_acc_autoconso_heures` WHERE ID_acc_site='$IDsite'");
$del->execute();
}
//Nouveau fichier
$count =1;
if (($handle = fopen("../../../../FICHIERS/ACC/$IDpmo/Sites/$IDsite/CC/CCJ.$IDsite.csv", "r")) !== FALSE) {
$i=0;
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
$DBCC[$i][1] = $data[0];
$DBCC[$i][2] = $data[1];
$DBCC[$i][3] = $data[2];
$i++;
$count++;
}
}
fclose($handle);
if (($handle1 = fopen("../../../../FICHIERS/ACC/$IDpmo/Sites/$IDsite/CP/CPMJ.$IDsite.csv", "r")) !== FALSE) {
$i=0;
if($i<$count){
while (($data = fgetcsv($handle1, 1000, ";")) !== FALSE) {
$DBPV[$i][1] = $data[0];
$DBPV[$i][2] = $data[1];
$DBPV[$i][3] = $data[2];
$i++;
}}
}
fclose($handle1);
$chemin ="../../../../FICHIERS/ACC/$IDpmo/Sites/$IDsite/AC";
if (!is_dir($chemin)) {mkdir($chemin, 0777,true);}
$csvj = new SplFileObject('../../../../FICHIERS/ACC/'.$IDpmo.'/Sites/'.$IDsite.'/AC/CCAC.'.$IDsite.'.csv', 'w');
$i=0;
foreach($DBCC as $DB){
$DBAC[$i][1]=$DBCC[$i][1];
$DBAC[$i][2]=$DBCC[$i][2];
$Pconso = $DBCC[$i][3];
$Pprod = $DBPV[$i][3];
$Pcalc = $Pconso-$Pprod;
if($Pcalc > 0){
$Pfinal = $Pcalc;
$Efinal = $Pfinal/1000;
$Pautoconso=$Pprod;
$Eautoconso=$Pprod/1000;
$Pexc =0;
$Eexc =0;
}
//Si conso = la production => Reste de la Conso
if($Pcalc == 0){
$Pfinal = 0;
$Efinal = 0;
$Pautoconso=$Pconso;
$Eautoconso=$Pautoconso/1000;
$Pexc = 0;
$Eexc = 0;
}
//Si conso inférieure à la production => Conso = 0 + Autoconsommation = Conso de base + Excedent.
if($Pcalc < 0){
$Pfinal = 0;
$Efinal = 0;
$Pautoconso=$Pconso;
$Eautoconso=$Pautoconso/1000;
$Pexc =($Pcalc*-1);
$Eexc = $Pexc/1000;
}
$DBAC[$i][3] = $Pfinal;
$DBAC[$i][4] = $Efinal;
$DBAC[$i][5] = $Pautoconso;
$DBAC[$i][6] = $Eautoconso;
$DBAC[$i][7] = $Pexc;
$DBAC[$i][8] = $Eexc;
$csvj->fputcsv($DBAC[$i], ';');
$i++;
}
$i=0;
foreach($DBAC as $DB1){
$UP3 = $dbco->prepare("INSERT INTO gest_acc_autoconso_heures (ID_acc_site, Autoconso_jour, Autoconso_heure, Puissance_Finale, Conso_kwh, Puissance_AutoConso, AutoConso_kwh, injection_Puissance, injection_kwh) VALUES (:ID_acc_site, :Autoconso_jour, :Autoconso_heure, :Puissance_Finale, :Conso_kwh, :Puissance_AutoConso, :AutoConso_kwh, :injection_Puissance, :injection_kwh)");
$UP3->bindparam(':ID_acc_site',$IDsite);
$UP3->bindparam(':Autoconso_jour',$DBAC[$i][1]);
$UP3->bindparam(':Autoconso_heure',$DBAC[$i][2]);
$UP3->bindparam(':Puissance_Finale',$DBAC[$i][3]);
$UP3->bindparam(':Conso_kwh',$DBAC[$i][4]);
$UP3->bindparam(':Puissance_AutoConso',$DBAC[$i][5]);
$UP3->bindparam(':AutoConso_kwh',$DBAC[$i][6]);
$UP3->bindparam(':injection_Puissance',$DBAC[$i][7]);
$UP3->bindparam(':injection_kwh',$DBAC[$i][8]);
$UP3->execute();
$i++;
}
$UP6 = $dbco->prepare('UPDATE gest_acc_sites SET AC = :AC WHERE ID_acc_site = :ID_acc_site');
$UP6->bindvalue('AC','Oui');
$UP6->bindvalue('ID_acc_site',$IDsite);
$UP6->execute();
header("location:../../Gestion_ACC/acc_config_sites.php?IDpmo=$IDpmo");
?>