1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152
|
//--------------------------------------------------------
$rapport = "<html><head><title>Rapport kilometre fin de mois</title></head><body>Bonjour,<br><br>Veuillez trouver ci aprés le rapport de mise à jour des kilomètres dans SIP2.<br>Merci de contrôler les véhicules en echec.<br><br><table border='1'><tr><td>Filiale</td><td>Client</td><td>Parc</td><td>réservation</td><td>date km</td><td>compteur</td><td>Résultat</td></tr>";
//Connexion à la base SIP2 TEST
$connect_sip2 = OCILogon("XXXX","XXXXX","XXXXXX/XXXXXX");
if($connect_sip2)
{
$savefil = "";
while($row = oci_fetch_array($queryveh, OCI_NUM))
{
$kmend = "";
$datekm = "";
//reinitialisation variable
$nbjourecart = "";
$daterapport="";
//Récupération donnée requete oracle
$idres = $row[0];
$numres = $row[1];
$idveh = $row[2];
$parc = $row[3];
$idchgtcpt = $row[4];
$fil = $row[5];
$clients = $row[6];
//Création rapport par filiale
if($savefil!=$fil)
{
if($savefil!="")
{
//fermeture du tableau
$rapportfil["'".$savefil."'"] .= "</table><br>Bien cordialement.<br><br>Le service de récupération et d'insertion des compteurs</body></html>";
//Récupération de l'email du responsable maintenance
$mailresp = recup_email($savefil);
//Envoie du rapport
envoiemail($mailresp,$rapportfil["'".$savefil."'"],$savefil);
$rapportfil["'".$savefil."'"] = "";
}
$savefil = $fil;
$rapportfil["'".$fil."'"] = "<html><head><title>Rapport kilometre fin de mois</title></head><body>Bonjour,<br><br>Veuillez trouver ci aprés le rapport de mise à jour des kilomètres dans SIP2.<br>Merci de contrôler les véhicules en echec.<br><br><table border='1'><tr><td>Filiale</td><td>Client</td><td>Parc</td><td>réservation</td><td>date km</td><td>compteur</td><td>Résultat</td></tr>";
}
//Création de la date insertion
$jourajout = rand(1,3);
$heureajout = rand(10,17);
$minuteajout = rand(10,59);
$secajout = rand(10,59);
$dateajout = "0".$jourajout."/".date("m/Y")." ".$heureajout.":".$minuteajout.":".$secajout;
//Récupérration du kilométrage
//Construction de la requete Webservices
$VehicleSelection = new stdclass();
$vehicules = array();
$IdentifierVehicle = new stdclass();
$IdentifierVehicle -> IdentifierVehicleType = "ID";
$IdentifierVehicle -> Id = $parc;
$vehicules[] = $IdentifierVehicle;
$VehicleSelection->Identifiers=$vehicules;
$sender = new stdClass();
$sender->Login = $login;
$sender->VehicleSelection =$VehicleSelection;
try {
$return = $client->Get_Vehicles_V7($sender);
if($return)
{
$kmend = $return -> Get_Vehicles_V7Result -> Vehicles -> InterfaceVehicleResult_V7 -> CurrentKms;
$datekm = $return -> Get_Vehicles_V7Result -> Vehicles -> InterfaceVehicleResult_V7 -> Modified;
echo $parc." : KM=".$kmend." ,date=".$datekm."<br><br>";
}
} catch (Exception $e) {
echo "ERREUR PARC ".$parc."<br><br><br>";
}
//Récupération de la diférence entre Date KM et date de récupération attendue
if($datekm!="")
{
$tabdkm = explode("T",$datekm);
$tabdatekm = explode("-",$tabdkm[0]);
$ankm = $tabdatekm[0];
$moiskm = $tabdatekm[1];
$jourkm = $tabdatekm[2];
$tabheurekm = explode(":",$tabdkm[1]);
$heurekm = $tabheurekm[0];
$minkm = $tabheurekm[1];
$seckm = "00";
//convertion en timestamp UNIX
$drecupkm = mktime($heurekm,$minkm,$seckm,$moiskm,$jourkm,$ankm);
$nbjourecart = ($datecompare-$drecupkm)/3600/24;
$daterapport = $jourkm."/".$moiskm."/".$ankm." ".$heurekm.":".$minkm.":".$seckm;
}
//Génération du rapport
$rapport .= "<tr><td>".$fil."</td><td>".$clients."</td><td>".$parc."</td><td>".$numres."</td><td>".$daterapport." </td><td>".$kmend." </td>";
$rapportfil["'".$fil."'"] .= "<tr><td>".$fil."</td><td>".$clients."</td><td>".$parc."</td><td>".$numres."</td><td>".$daterapport."</td><td>".$kmend."</td>";
//Récupération de id activite max
$recupid = "select max(id_activite) from t_activite";
$recupid = ociparse($connect_sip2,$recupid);
ociexecute($recupid,OCI_COMMIT_ON_SUCCESS);
$maxid = oci_fetch_array($recupid, OCI_NUM);
$ida = $maxid[0]+1;
oci_free_statement($recupid);
//insertion en base de donnée dans leur petit cul
if($nbjourecart == '' || $kmend=='' || $kmend == null)
{
$rapport .= "<td>Echec de récupération du compteur</td>";
$rapportfil["'".$fil."'"] .= "<td>Echec de récupération du compteur</td>";
}else if ($nbjourecart<=3)
{
//Il faut vérifier si un compteur existe pour la date heure et faire une mise a jour si c est le cas
$qtest = "select id_activite,COMPTEUR_RELEVE from t_activite where id_origine_compteur=345 and id_type_objet_sip=56 and id_objet='".$idres."' and DATEHEURE_EVENEMENT=to_date('".$dateins." 23:59:00','DD/MM/YYYY HH24:MI:SS')";
$res = ociparse($connect_sip2,$qtest);
ociexecute($res,OCI_COMMIT_ON_SUCCESS);
$re = oci_fetch_array($res, OCI_NUM);
if($re[0]==null)
{
$rapport .= "<td>Insertion du compteur</td>";
$rapportfil["'".$fil."'"] .= "<td>Insertion du compteur</td>";
$insert = "insert into t_activite(ID_ACTIVITE, ID_VEHICULE, ID_ORIGINE_COMPTEUR, FIABILITE,ID_TYPE_OBJET_SIP, ID_OBJET, DATEHEURE_CREATION, DATEHEURE_EVENEMENT, COMPTEUR_RELEVE, COMPTEUR_AFFICHE , ACTIVITE, CALCULEE, ID_MOTIF_REJET_COMPTEUR, CHANGEMENT_COMPTEUR, ID_CHANGEMENT_COMPTEUR,REJET_ILLEGITIME ) values ('".$ida."', '".$idveh."','345', '3','56', '".$idres."',to_date('".$dateajout."','DD/MM/YYYY HH24:MI:SS'), to_date('".$dateins." 23:59:00','DD/MM/YYYY HH24:MI:SS'), '".$kmend."', '".$kmend."' , '".$kmend."', '0', '1', '0', '".$idchgtcpt."','0')";
$insert = ociparse($connect_sip2,$insert);
ociexecute($insert,OCI_COMMIT_ON_SUCCESS);
$redo .= "delete from t_activite where ID_ACTIVITE='".$ida."';<br>";
}else
{
$rapport .= "<td>Mise à jour du compteur</td>";
$rapportfil["'".$fil."'"] .= "<td>Mise à jour du compteur</td>";
$update = "update t_activite set COMPTEUR_RELEVE='".$kmend."',COMPTEUR_AFFICHE='".$kmend."' ,ACTIVITE='".$kmend."' where id_activite='".$re[0]."'";
$update = ociparse($connect_sip2,$update);
ociexecute($update,OCI_COMMIT_ON_SUCCESS);
}
}else if ($nbjourecart>3)
{
$rapport .= "<td>Non traité compteur supèrieur à trois jours</td>";
$rapportfil["'".$fil."'"].= "<td>Non traité compteur supèrieur à trois jours</td>";
}
$rapport .= "</tr>";
$rapportfil["'".$fil."'"].= "</tr>";
}
$rapport .= "</table><br>Bien cordialement.<br><br>Le service de récupération et d'insertion des compteurs</body></html>";
} |
Partager