| Current Path : /home/a/t/a/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/ |
| Current File : /home/a/t/a/ataenra/www/ATA/INTRANET/Admin/Gestion_ACC/acc_calcul_journalier_ACC_sites.php |
<?php
//Preparer la liste des sites en Conso
$list0 = $dbco->prepare("SELECT ID_acc_site FROM gest_acc_sites WHERE ID_pmo='$IDpmo' AND site_type = 'Conso' ");
$list0->execute();
//Boucle de la liste des sites conso
while ($R0 = $list0->fetch(PDO::FETCH_OBJ)){
$IDsite=$R0->ID_acc_site;
//Verifier si la table JOURS est déja présente et suppression
$requete = "DROP TABLE IF EXISTS `gest_acc_pmo_site_".$IDsite."_jours`";
$dbco->prepare($requete)->execute();
//Verifier si la table MOIS est déja présente et suppression
$requete = "DROP TABLE IF EXISTS `gest_acc_pmo_site_".$IDsite."_mois`";
$dbco->prepare($requete)->execute();
//création de la table JOURS
$C3 = $dbco->prepare("CREATE TABLE `ataenradi4lz`.`gest_acc_pmo_site_".$IDsite."_jours` (`ID` INT NOT NULL AUTO_INCREMENT ,`jour` VARCHAR(20) NOT NULL , `autoconso_cor_kwh` FLOAT NOT NULL , PRIMARY KEY (`ID`)) ENGINE = InnoDB;");
$C3->execute();
//création de la table MOIS
$C3 = $dbco->prepare("CREATE TABLE `ataenradi4lz`.`gest_acc_pmo_site_".$IDsite."_mois` (`ID` INT NOT NULL AUTO_INCREMENT ,`mois` INT NOT NULL , `autoconso_cor_kwh` FLOAT NOT NULL , PRIMARY KEY (`ID`)) ENGINE = InnoDB;");
$C3->execute();
//Selection une liste de jours
$list1 = $dbco->prepare("SELECT DISTINCT jour FROM `gest_acc_pmo_site_".$IDsite."_heures`");
$list1->execute();
//Listes des jours 1 par 1
while ($R1 = $list1->fetch(PDO::FETCH_OBJ)) {
$jour=$R1->jour;
//Addition des valeurs autoncso_cor jour par jour
$list2 = $dbco->prepare("SELECT SUM(autoconso_cor_kwh) AS accor FROM gest_acc_pmo_site_".$IDsite."_heures WHERE jour='$jour'");
$list2->execute();
$R2 = $list2->fetch(PDO::FETCH_OBJ);
$autoconso_cor = round(($R2->accor),2);
//Insertion dans la table JOUR
$UP3 = $dbco->prepare("INSERT INTO gest_acc_pmo_site_".$IDsite."_jours (jour, autoconso_cor_kwh) VALUES (:jour, :autoconso_cor_kwh)");
$UP3->bindparam(':jour',$jour);
$UP3->bindparam(':autoconso_cor_kwh',$autoconso_cor);
$UP3->execute();
}
//LISTE DES JOURS
$list1 = $dbco->prepare("SELECT DISTINCT jour FROM `gest_acc_pmo_site_".$IDsite."_jours` WHERE jour LIKE '2024-%%-01'");
$list1->execute();
while ($R1 = $list1->fetch(PDO::FETCH_OBJ)) {
$jour = $R1->jour;
$jour1 = explode("-", $jour);
$jour2 = $jour1[1];
$list2 = $dbco->prepare("SELECT SUM(autoconso_cor_kwh) AS accor FROM gest_acc_pmo_site_".$IDsite."_jours WHERE jour LIKE '2024-".$jour2."-%%'");
$list2->execute();
$R2 = $list2->fetch(PDO::FETCH_OBJ);
$UP3 = $dbco->prepare("INSERT INTO gest_acc_pmo_site_".$IDsite."_mois (mois, autoconso_cor_kwh) VALUES (:mois, :autoconso_cor_kwh)");
$UP3->bindparam(':mois',$jour2);
$UP3->bindparam(':autoconso_cor_kwh',$R2->accor);
$UP3->execute();
}
}
//LISTE DES SITES EN PRODUCTION
$list0 = $dbco->prepare("SELECT ID_acc_site FROM gest_acc_sites WHERE ID_pmo='$IDpmo' AND site_type = 'Prod' ");
$list0->execute();
while ($R0 = $list0->fetch(PDO::FETCH_OBJ)){
$IDsite=$R0->ID_acc_site;
$requete = "DROP TABLE IF EXISTS `gest_acc_pmo_site_".$IDsite."_jours`";
$dbco->prepare($requete)->execute();
//Verifier si la table MOIS est déja présente et suppression
$requete = "DROP TABLE IF EXISTS `gest_acc_pmo_site_".$IDsite."_mois`";
$dbco->prepare($requete)->execute();
$C3 = $dbco->prepare("CREATE TABLE `ataenradi4lz`.`gest_acc_pmo_site_".$IDsite."_jours` (`ID` INT NOT NULL AUTO_INCREMENT ,`jour` VARCHAR(20) NOT NULL , `autoprod_cor_kwh` FLOAT NOT NULL , PRIMARY KEY (`ID`)) ENGINE = InnoDB;");
$C3->execute();
//création de la table MOIS
$C3 = $dbco->prepare("CREATE TABLE `ataenradi4lz`.`gest_acc_pmo_site_".$IDsite."_mois` (`ID` INT NOT NULL AUTO_INCREMENT ,`mois` INT NOT NULL , `autoprod_cor_kwh` FLOAT NOT NULL , PRIMARY KEY (`ID`)) ENGINE = InnoDB;");
$C3->execute();
$list1 = $dbco->prepare("SELECT DISTINCT jour FROM `gest_acc_pmo_site_".$IDsite."_heures`");
$list1->execute();
while ($R1 = $list1->fetch(PDO::FETCH_OBJ)) {
$jour=$R1->jour;
$list2 = $dbco->prepare("SELECT SUM(autoprod_cor_kwh) AS acpr FROM gest_acc_pmo_site_".$IDsite."_heures WHERE jour='$jour'");
$list2->execute();
$R2 = $list2->fetch(PDO::FETCH_OBJ);
$autoprod = round(($R2->acpr),2);
$UP3 = $dbco->prepare("INSERT INTO gest_acc_pmo_site_".$IDsite."_jours (jour, autoprod_cor_kwh) VALUES (:jour, :autoprod_cor_kwh)");
$UP3->bindparam(':jour',$jour);
$UP3->bindparam(':autoprod_cor_kwh',$autoprod);
$UP3->execute();
}
//LISTE DES JOURS
$list1 = $dbco->prepare("SELECT DISTINCT jour FROM `gest_acc_pmo_site_".$IDsite."_jours` WHERE jour LIKE '2024-%%-01'");
$list1->execute();
while ($R1 = $list1->fetch(PDO::FETCH_OBJ)) {
$jour = $R1->jour;
$jour1 = explode("-", $jour);
$jour2 = $jour1[1];
$list2 = $dbco->prepare("SELECT SUM(autoprod_cor_kwh) AS acpr FROM gest_acc_pmo_site_".$IDsite."_jours WHERE jour LIKE '2024-".$jour2."-%%'");
$list2->execute();
$R2 = $list2->fetch(PDO::FETCH_OBJ);
$UP3 = $dbco->prepare("INSERT INTO gest_acc_pmo_site_".$IDsite."_mois (mois, autoprod_cor_kwh) VALUES (:mois, :autoprod_cor_kwh)");
$UP3->bindparam(':mois',$jour2);
$UP3->bindparam(':autoprod_cor_kwh',$R2->acpr);
$UP3->execute();
}
}
//LISTE DES SITES EN AUTOCONSO
$list0 = $dbco->prepare("SELECT ID_acc_site FROM gest_acc_sites WHERE ID_pmo='$IDpmo' AND site_type = 'AutoConso' ");
$list0->execute();
while ($R0 = $list0->fetch(PDO::FETCH_OBJ)){
$IDsite=$R0->ID_acc_site;
//Verifier si la table JOURS est déja présente et suppression
$requete = "DROP TABLE IF EXISTS `gest_acc_pmo_site_".$IDsite."_jours`";
$dbco->prepare($requete)->execute();
//Verifier si la table MOIS est déja présente et suppression
$requete = "DROP TABLE IF EXISTS `gest_acc_pmo_site_".$IDsite."_mois`";
$dbco->prepare($requete)->execute();
//Création de la table JOURS du site
$C3 = $dbco->prepare("CREATE TABLE `ataenradi4lz`.`gest_acc_pmo_site_".$IDsite."_jours` (`ID` INT NOT NULL AUTO_INCREMENT ,`jour` VARCHAR(20) NOT NULL , `autoconso_cor_kwh` FLOAT NOT NULL , `autoprod_cor_kwh` FLOAT NOT NULL , PRIMARY KEY (`ID`)) ENGINE = InnoDB;");
$C3->execute();
//création de la table MOIS
$C3 = $dbco->prepare("CREATE TABLE `ataenradi4lz`.`gest_acc_pmo_site_".$IDsite."_mois` (`ID` INT NOT NULL AUTO_INCREMENT ,`mois` INT NOT NULL , `autoconso_cor_kwh` FLOAT NOT NULL , `autoprod_cor_kwh` FLOAT NOT NULL , PRIMARY KEY (`ID`)) ENGINE = InnoDB;");
$C3->execute();
//Liste de chaque JOUR
$list1 = $dbco->prepare("SELECT DISTINCT jour FROM `gest_acc_pmo_site_".$IDsite."_heures`");
$list1->execute();
//Boucle des jours
while ($R1 = $list1->fetch(PDO::FETCH_OBJ)) {
$jour=$R1->jour;
$list2 = $dbco->prepare("SELECT SUM(autoconso_cor_kwh) AS accor, SUM(autoprod_cor_kwh) AS acpr FROM gest_acc_pmo_site_".$IDsite."_heures WHERE jour='$jour'");
$list2->execute();
$R2 = $list2->fetch(PDO::FETCH_OBJ);
//INSERTION dans la table jour des additions
$autoconso=round(($R2->accor),2);
$autoprod=round(($R2->acpr),2);
$UP3 = $dbco->prepare("INSERT INTO gest_acc_pmo_site_".$IDsite."_jours (jour, autoconso_cor_kwh, autoprod_cor_kwh) VALUES (:jour, :autoconso_cor_kwh, :autoprod_cor_kwh)");
$UP3->bindparam(':jour',$jour);
$UP3->bindparam(':autoconso_cor_kwh',$autoconso);
$UP3->bindparam(':autoprod_cor_kwh',$autoprod);
$UP3->execute();
}
//LISTE DES JOURS
$list1 = $dbco->prepare("SELECT DISTINCT jour FROM `gest_acc_pmo_site_".$IDsite."_jours` WHERE jour LIKE '2024-%%-01'");
$list1->execute();
while ($R1 = $list1->fetch(PDO::FETCH_OBJ)) {
$jour = $R1->jour;
$jour1 = explode("-", $jour);
$jour2 = $jour1[1];
$list2 = $dbco->prepare("SELECT SUM(autoconso_cor_kwh) AS accor , SUM(autoprod_cor_kwh) AS acpr FROM gest_acc_pmo_site_".$IDsite."_jours WHERE jour LIKE '2024-".$jour2."-%%'");
$list2->execute();
$R2 = $list2->fetch(PDO::FETCH_OBJ);
$UP3 = $dbco->prepare("INSERT INTO gest_acc_pmo_site_".$IDsite."_mois (mois, autoconso_cor_kwh, autoprod_cor_kwh) VALUES (:mois, :autoconso_cor_kwh, :autoprod_cor_kwh)");
$UP3->bindparam(':mois',$jour2);
$UP3->bindparam(':autoconso_cor_kwh',$R2->accor);
$UP3->bindparam(':autoprod_cor_kwh',$R2->acpr);
$UP3->execute();
}
}