Import initial du projet shipheart_cm5
This commit is contained in:
Executable
+541
@@ -0,0 +1,541 @@
|
||||
.pragma library
|
||||
|
||||
.import "fonctions.js" as Fonctions // Permet d'utiliser les fonctions classiques ci-dessous... (cf https://doc.qt.io/qt-5/qtqml-javascript-imports.html )
|
||||
|
||||
|
||||
|
||||
const LANGUE_FR = 0;
|
||||
const LANGUE_EN = 1;
|
||||
const LANGUE_DE = 2;
|
||||
const LANGUE_ES = 3;
|
||||
const LANGUE_PT = 4;
|
||||
const LANGUE_NL = 5;
|
||||
const LANGUE_IT = 6;
|
||||
const LANGUE_LV = 7; // Lettonie
|
||||
const LANGUE_CA = 8; // Catalan
|
||||
|
||||
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Renvoit le durée, en secondes, de l'une des périodes d'analyse prédéfinies.
|
||||
// Reçoit : La période d'analyse (0: 1 heure, 1: 24 heures, 2: 7 jours et 3: 30 jours)
|
||||
// Retour : La durée, en secondes
|
||||
//=====================================================================================
|
||||
function duree_periode_analyse(periode_analyse)
|
||||
{
|
||||
var duree;
|
||||
|
||||
switch(periode_analyse)
|
||||
{
|
||||
default:
|
||||
case 0 : // 1 heure
|
||||
duree = (1 * 1 * 60 * 60);
|
||||
break;
|
||||
|
||||
case 1 : // 24 heures
|
||||
duree = (1 * 24 * 60 * 60);
|
||||
break;
|
||||
|
||||
case 2 : // 7 jours
|
||||
duree = (7 * 24 * 60 * 60);
|
||||
break;
|
||||
|
||||
case 3 : // 30 jours
|
||||
duree = (30 * 24 * 60 * 60);
|
||||
break;
|
||||
}
|
||||
return(duree)
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Renvoit le nom de l'une des périodes d'analyse prédéfinies.
|
||||
// Reçoit : La période d'analyse (0: 1 heure, 1: 24 heures, 2: 7 jours et 3: 30 jours)
|
||||
// Retour : Le texte du nom
|
||||
//=====================================================================================
|
||||
function nom_periode_analyse(periode_analyse)
|
||||
{
|
||||
var nom;
|
||||
|
||||
switch(periode_analyse)
|
||||
{
|
||||
default:
|
||||
case 0 : // 1 heure
|
||||
nom = qsTr("1 heure");
|
||||
break;
|
||||
|
||||
case 1 : // 24 heures
|
||||
nom = qsTr("24 heures");
|
||||
break;
|
||||
|
||||
case 2 : // 7 jours
|
||||
nom = qsTr("7 jours");
|
||||
break;
|
||||
|
||||
case 3 : // 30 jours
|
||||
nom = qsTr("30 jours");
|
||||
break;
|
||||
}
|
||||
return(nom);
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Renvoit da date de début et de fin de l'intervalle en cours d'analyse.
|
||||
// Reçoit : La période d'analyse (0: 1 heure, 1: 24 heures, 2: 7 jours et 3: 30 jours)
|
||||
// La date de début et la date de fin en UTC au format JS
|
||||
// Le fuseau horaire et l'heure d'été en cours
|
||||
// Retour : La date de début et la date de fin en UTC au format JS mais ajustées à
|
||||
// la période en cours d'analyse.
|
||||
//=====================================================================================
|
||||
function ajustement_periode_analyse(periode_analyse, debut, fin, fuseau, heure_ete)
|
||||
{
|
||||
var date_debut, date_fin;
|
||||
|
||||
// Passage en heure LOCALE pour effectuer les traitements :
|
||||
date_debut = date_courante(debut, fuseau, heure_ete); // En LOCALE
|
||||
date_fin = date_courante(fin, fuseau, heure_ete); // EN LOCALE
|
||||
|
||||
// Ajustements à l'intervalle fini d'analyse :
|
||||
switch(periode_analyse)
|
||||
{
|
||||
default:
|
||||
case 0: // 1 heure
|
||||
date_debut.setMinutes(Math.trunc(date_debut.getMinutes() / 5) * 5);
|
||||
date_debut.setSeconds(0);
|
||||
date_fin.setMinutes(Math.trunc(date_fin.getMinutes() / 5) * 5);
|
||||
date_fin.setSeconds(0);
|
||||
break;
|
||||
|
||||
case 1: // 24 heures
|
||||
date_debut.setMinutes(0);
|
||||
date_debut.setSeconds(0);
|
||||
date_fin.setMinutes(0);
|
||||
date_fin.setSeconds(0);
|
||||
break;
|
||||
|
||||
case 2: // 7 jours
|
||||
date_debut.setHours(Math.trunc(date_debut.getHours() / 6) * 6);
|
||||
date_debut.setMinutes(0);
|
||||
date_debut.setSeconds(0);
|
||||
date_fin.setHours(Math.trunc(date_fin.getHours() / 6) * 6);
|
||||
date_fin.setMinutes(0);
|
||||
date_fin.setSeconds(0);
|
||||
break;
|
||||
|
||||
case 3: // 30 jours
|
||||
date_debut.setHours(0);
|
||||
date_debut.setMinutes(0);
|
||||
date_debut.setSeconds(0);
|
||||
date_fin.setHours(0);
|
||||
date_fin.setMinutes(0);
|
||||
date_fin.setSeconds(0);
|
||||
break;
|
||||
}
|
||||
|
||||
return {
|
||||
debut: date_utc(date_debut, fuseau, heure_ete), // Retour en UTC
|
||||
fin: date_utc(date_fin, fuseau, heure_ete) // Retour en UTC
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Génère une chaine de la forme "hh:mm" en heure locale à partir des
|
||||
// heures et minutes UTC reçues en paramètre
|
||||
// Reçoit : Valeur de heures et minutes, fuseau horaire
|
||||
// Retour : La chaine sur 5 caractères "hh:mm'
|
||||
//=====================================================================================
|
||||
function conversion_heure_minutes_locales(hr, mn, fuseau, heure_ete)
|
||||
{
|
||||
var retour;
|
||||
var today = new Date;
|
||||
var date = new Date(today.getFullYear(), today.getMonth(), today.getDate(), hr, mn, 0);
|
||||
|
||||
date = date_add_secondes(date, ((fuseau + heure_ete) * 60 * 60)); // Correction du fuseau horaire pour l'affichage
|
||||
|
||||
retour = Fonctions.format_deux_digits(date.getHours(), '0') + ":" + Fonctions.format_deux_digits(date.getMinutes(), '0');
|
||||
|
||||
//console.log("Valeur reçue Hr=" + hr + " et min=" + mn + " et chaine de retour =" + retour);
|
||||
return(retour)
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Génère la date du moment ou convertit une date existante en tenant
|
||||
// compte du fuseau horaire reçu
|
||||
// Reçoit : La date à convertir au format JS (ou NULL si on veut la date courante), le fuseau, et le décalage heure Eté/Hiver
|
||||
// Retour : La date dans le fuseau et avec décalage Eté/Hiver, au format JS
|
||||
//=====================================================================================
|
||||
function date_courante(dt, fuseau, heure_ete)
|
||||
{
|
||||
var date;
|
||||
|
||||
if (dt === null)
|
||||
{
|
||||
date = new Date;
|
||||
date = date_add_secondes(date, ((fuseau + heure_ete) * 60 * 60)); // Correction du fuseau horaire pour l'affichage
|
||||
return(date);
|
||||
}
|
||||
else
|
||||
{
|
||||
date = date_add_secondes(dt, ((fuseau + heure_ete) * 60 * 60)); // Correction du fuseau horaire pour l'affichage
|
||||
return(date);
|
||||
}
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une date existante en UTC
|
||||
// Reçoit : La date à convertir au format JS, le fuseau, et le décalage heure Eté/Hiver
|
||||
// Retour : La date UTC, au format JS
|
||||
//=====================================================================================
|
||||
function date_utc(dt, fuseau, heure_ete)
|
||||
{
|
||||
var date;
|
||||
|
||||
if (dt === null) return (null);
|
||||
|
||||
date = date_add_secondes(dt, -((fuseau + heure_ete) * 60 * 60)); // Correction du fuseau horaire et de l'heure Ete/Hiver
|
||||
|
||||
return(date);
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une valeur d'heure en une chaine dépendant de la langue
|
||||
// Reçoit : La valeur d'heure, entre 00 et 23, ou 24 (fin de nuit), 25 (aube nautique),
|
||||
// 26 (aube), 27 (lever du soleil), 28 (zénith), 29 (coucher du soleil),
|
||||
// 30 (crépuscule), 31 (crépuscule nautique) ou 32 (début de nuit).
|
||||
// Et la valeur de minutes, entre 00 et 59, ou 60 (aucune minute à retourner)
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function nom_heure(heure, minute)
|
||||
{
|
||||
var chaine_h;
|
||||
var chaine_m;
|
||||
|
||||
var texte_heures_speciales = [qsTr("Fin de nuit"), qsTr("Aube nautique"), qsTr("Aube"), qsTr("Lever du soleil"), qsTr("Zénith"), qsTr("Coucher du soleil"), qsTr("Crépuscule"), qsTr("Crépuscule nautique"), qsTr("Début de nuit")];
|
||||
|
||||
if ((heure < 0) || (heure > 32)) return("---");
|
||||
|
||||
if (heure < 24)
|
||||
{
|
||||
chaine_h = qsTr("%1h").arg(((heure<10) ? "0" + heure : "" + heure));
|
||||
chaine_m = "" + ((minute<10) ? "0" + minute : "" + minute); // On ne renvoit les minutes que si l'on n'est pas sur une heure spéciale.
|
||||
}
|
||||
else
|
||||
{
|
||||
chaine_h = texte_heures_speciales[heure - 24];
|
||||
chaine_m = "";
|
||||
}
|
||||
|
||||
return (chaine_h + chaine_m);
|
||||
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une date au format JS en une chaine au format 'hh:mm:ss'
|
||||
// Reçoit : La date à convertir
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function chaine_heure(date)
|
||||
{
|
||||
var retour;
|
||||
var heures = date.getHours();
|
||||
var minutes = date.getMinutes();
|
||||
var secondes = date.getSeconds();
|
||||
|
||||
retour = (heures <= 9) ? "0" + heures : heures;
|
||||
retour += ":";
|
||||
retour += (minutes <= 9) ? "0" + minutes : minutes;
|
||||
retour += ":";
|
||||
retour += (secondes <= 9) ? "0" + secondes : secondes;
|
||||
|
||||
return (retour);
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une date au format JS en une chaine au format 'hh:mm'
|
||||
// Reçoit : La date à convertir
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function chaine_heure_courte(date)
|
||||
{
|
||||
var retour;
|
||||
var heures = date.getHours();
|
||||
var minutes = date.getMinutes();
|
||||
|
||||
retour = (heures <= 9) ? "0" + heures : heures;
|
||||
retour += ":";
|
||||
retour += (minutes <= 9) ? "0" + minutes : minutes;
|
||||
|
||||
return (retour);
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une date au format JS en une chaine au format 'dd/MM hh:mm'
|
||||
// Reçoit : La date à convertir
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function chaine_date_heure_courte(date)
|
||||
{
|
||||
var retour;
|
||||
|
||||
var mois = date.getMonth() + 1; // Les mois commencent à 0
|
||||
var jour = date.getDate();
|
||||
var heures = date.getHours();
|
||||
var minutes = date.getMinutes();
|
||||
|
||||
retour = (jour <= 9) ? "0" + jour : jour;
|
||||
retour += "/";
|
||||
retour += (mois <= 9) ? "0" + mois : mois ;
|
||||
retour += " ";
|
||||
retour += (heures <= 9) ? "0" + heures : heures;
|
||||
retour += ":";
|
||||
retour += (minutes <= 9) ? "0" + minutes : minutes;
|
||||
|
||||
return (retour);
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une date au format JS en une chaine au format 'JJ/MM/AAAA'
|
||||
// Reçoit : La date à convertir
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function chaine_date(date)
|
||||
{
|
||||
var retour;
|
||||
|
||||
var annee = date.getFullYear();
|
||||
var mois = date.getMonth() + 1; // Les mois commencent à 0
|
||||
var jour = date.getDate();
|
||||
|
||||
retour = (jour <= 9) ? "0" + jour : jour;
|
||||
retour += "/";
|
||||
retour += (mois <= 9) ? "0" + mois : mois ;
|
||||
retour += "/";
|
||||
retour += annee;
|
||||
|
||||
return (retour);
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit un n° de jour (1=lundi, 7=dimanche, 8=tous les jours) en une
|
||||
// chaine de jour de la semaine dépendant de la langue
|
||||
// Reçoit : Le n° du jour
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function nom_jour_semaine(no)
|
||||
{
|
||||
var textes_jour_semaine = [qsTr("Lundi"), qsTr("Mardi"), qsTr("Mercredi"), qsTr("Jeudi"), qsTr("Vendredi"), qsTr("Samedi"), qsTr("Dimanche"), qsTr("Tous les jours")];
|
||||
|
||||
if ((no < 1) || (no > 8)) return("---");
|
||||
|
||||
return (textes_jour_semaine[(no - 1)]);
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une date au format JS en une chaine de jour de la seamine dépendant de la langue
|
||||
// Reçoit : La date
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function chaine_jour_semaine(date)
|
||||
{
|
||||
var jour_semaine = date.getDay();
|
||||
if (jour_semaine === 0) jour_semaine = 7;
|
||||
|
||||
return (nom_jour_semaine(jour_semaine));
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une date au format JS en une chaine au format 'JJ/MM/AAAA'
|
||||
// ou sa version correspondante au pays
|
||||
// Reçoit : La date à convertir, le code langue (de 1 à N - Cf 'fonctions_localisation.js')
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function chaine_date_longue(date, langue)
|
||||
{
|
||||
var retour = "";
|
||||
var texte_jour = "";
|
||||
|
||||
var annee = date.getFullYear();
|
||||
var mois = date.getMonth() + 1; // Les mois commencent à 0
|
||||
var jour = date.getDate();
|
||||
var jour_semaine = date.getDay();
|
||||
|
||||
var textes_mois = [qsTr("janvier"), qsTr("février"), qsTr("mars"), qsTr("avril"), qsTr("mai"), qsTr("juin"), qsTr("juillet"), qsTr("août"), qsTr("septembre"), qsTr("octobre"), qsTr("novembre"), qsTr("décembre")];
|
||||
|
||||
switch(langue)
|
||||
{
|
||||
//--------------------------------------------------------
|
||||
default:
|
||||
// Mise en forme n° du jour :
|
||||
if (jour === 1) texte_jour = "1<sup>er</sup>";
|
||||
else if ((jour > 1) && (jour <= 9)) texte_jour = "0" + jour;
|
||||
else texte_jour = jour;
|
||||
|
||||
retour += texte_jour;
|
||||
retour += ' ';
|
||||
retour += textes_mois[mois - 1];
|
||||
retour += ' ';
|
||||
retour += annee;
|
||||
|
||||
break;
|
||||
|
||||
//---------------------------------------------------------
|
||||
case LANGUE_EN:
|
||||
// Mise en forme n° du jour :
|
||||
if ((jour === 1) || (jour === 21) || (jour === 31)) texte_jour = jour + "<sup>st</sup>";
|
||||
else if ((jour === 1) || (jour === 22)) texte_jour = jour + "<sup>nd</sup>";
|
||||
else if ((jour === 3) || (jour === 23)) texte_jour = jour + "<sup>rd</sup>";
|
||||
else texte_jour = jour + "th";
|
||||
|
||||
retour += texte_jour;
|
||||
retour += ' ';
|
||||
retour += textes_mois[mois - 1];
|
||||
retour += ' ';
|
||||
retour += annee;
|
||||
|
||||
break;
|
||||
//---------------------------------------------------------
|
||||
case LANGUE_DE:
|
||||
// Mise en forme n° du jour :
|
||||
texte_jour = jour + ".";
|
||||
|
||||
retour += texte_jour;
|
||||
retour += ' ';
|
||||
retour += textes_mois[mois - 1];
|
||||
retour += ' ';
|
||||
retour += annee;
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return (retour);
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une date au format JS en une chaine au format 'YYY-MM-dd hh:mm:ss'
|
||||
// Reçoit : La date à convertir
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function chaine_date_heure_bdd(date)
|
||||
{
|
||||
var retour;
|
||||
|
||||
var annee = date.getFullYear();
|
||||
var mois = date.getMonth() + 1; // Les mois commencent à 0
|
||||
var jour = date.getDate();
|
||||
var heures = date.getHours();
|
||||
var minutes = date.getMinutes();
|
||||
var secondes = date.getSeconds();
|
||||
|
||||
retour = annee;
|
||||
retour += "-";
|
||||
retour += (mois <= 9) ? "0" + mois : mois;
|
||||
retour += "-";
|
||||
retour += (jour <= 9) ? "0" + jour : jour;
|
||||
retour += " ";
|
||||
retour += (heures <= 9) ? "0" + heures : heures;
|
||||
retour += ":";
|
||||
retour += (minutes <= 9) ? "0" + minutes : minutes;
|
||||
retour += ":";
|
||||
retour += (secondes <= 9) ? "0" + secondes : secondes;
|
||||
return (retour);
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit la date au format JS reçue en une chaine au format 'YYMMdd_hhmmss'
|
||||
// Reçoit : La date au format JS à convertir
|
||||
// Retour : La chaine
|
||||
//=====================================================================================
|
||||
function chaine_date_heure_fichier(date)
|
||||
{
|
||||
var retour;
|
||||
|
||||
var annee = date.getYear(); // Sur 2 digits
|
||||
var mois = date.getMonth() + 1; // Les mois commencent à 0
|
||||
var jour = date.getDate();
|
||||
var heures = date.getHours();
|
||||
var minutes = date.getMinutes();
|
||||
var secondes = date.getSeconds();
|
||||
|
||||
retour = annee;
|
||||
retour += (mois <= 9) ? "0" + mois : mois;
|
||||
retour += (jour <= 9) ? "0" + jour : jour;
|
||||
retour += "_";
|
||||
retour += (heures <= 9) ? "0" + heures : heures;
|
||||
retour += (minutes <= 9) ? "0" + minutes : minutes;
|
||||
retour += (secondes <= 9) ? "0" + secondes : secondes;
|
||||
return (retour);
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertit une chaine provenant de la BDD ('YYY-MM-ddThh:mm:ss.000') en
|
||||
// une date au format JS
|
||||
// Reçoit : La chaine à convertir
|
||||
// Retour : La date
|
||||
//=====================================================================================
|
||||
function chaine_bdd_date_heure(chaine_date)
|
||||
{
|
||||
var t, result = null;
|
||||
|
||||
if (typeof chaine_date === 'string')
|
||||
{
|
||||
t = chaine_date.split(/[-:.T ]/); // On coupe la chaine initiale en recherchant les '-', ':', '.', ' ' et 'T'
|
||||
// console.log(t[0] + "/" + t[1] + "/" + t[2] + "//" + t[3] + "/" + t[4] + "/" + t[5]);
|
||||
result = new Date(t[0], t[1] - 1, t[2], t[3] || 0, t[4] || 0, t[5] || 0); //when t[3], t[4] and t[5] are missing they defaults to zero
|
||||
}
|
||||
else console.log("Le type reçu dans la fonction 'chaine_bdd_date_heure' n'est pas correct");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Ajoute une quantité de secondes à une date. Si le nombre de secondes est
|
||||
// négatif, il s'agit d'une soustraction...
|
||||
// Reçoit : La date à convertir et le nombre de secondes à ajouter
|
||||
// Retour : La nouvelle date
|
||||
//=====================================================================================
|
||||
function date_add_secondes(date, secondes)
|
||||
{
|
||||
var date_retour = new Date();
|
||||
|
||||
date_retour.setTime(date.getTime() + (secondes *1000));
|
||||
|
||||
return(date_retour);
|
||||
}
|
||||
|
||||
//=====================================================================================
|
||||
// Fonctions : Convertir une valeur en ms en une chaine de durée (jour-heures-minutes-secondes)
|
||||
// Reçoit : Le nombre à convertir
|
||||
// Retour : La chaine de durée
|
||||
//=====================================================================================
|
||||
function chaine_duree(duree)
|
||||
{
|
||||
var x;
|
||||
|
||||
duree = Math.abs(duree); // Si la valeur est négative, on prend la valeur absolue (évite les erreurs...)
|
||||
var secondes = Math.trunc(duree / 1000); // Passage de ms en s
|
||||
var minutes = Math.trunc(secondes/60);
|
||||
var heures = Math.trunc(minutes/60);
|
||||
var jours = Math.trunc(heures/24);
|
||||
|
||||
secondes = secondes % 60;
|
||||
minutes = minutes % 60;
|
||||
heures = heures % 24;
|
||||
|
||||
if (jours !== 0) return(qsTr(jours + " jours," + heures + " heures"));
|
||||
else if (heures !== 0) return(qsTr(heures + " heures, " + minutes + " mins"));
|
||||
else if (minutes !== 0) return(qsTr(minutes + " mins, " + secondes + " secs"));
|
||||
else if (secondes !== 0) return(qsTr(secondes + " secondes"));
|
||||
else return("---")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user