diff --git a/src/AeroDms.cpp b/src/AeroDms.cpp
index 678b1d0..7107d6f 100644
--- a/src/AeroDms.cpp
+++ b/src/AeroDms.cpp
@@ -34,7 +34,7 @@ along with this program. If not, see .
AeroDms::AeroDms(QWidget* parent) :QMainWindow(parent)
{
QApplication::setApplicationName("AeroDms");
- QApplication::setApplicationVersion("4.4");
+ QApplication::setApplicationVersion("4.5");
QApplication::setWindowIcon(QIcon("./ressources/shield-airplane.svg"));
mainTabWidget = new QTabWidget(this);
setCentralWidget(mainTabWidget);
@@ -556,7 +556,6 @@ AeroDms::AeroDms(QWidget* parent) :QMainWindow(parent)
connect(pdf, SIGNAL(mettreAJourNombreFacturesATraiter(int)), this, SLOT(ouvrirFenetreProgressionGenerationPdf(int)));
connect(pdf, SIGNAL(mettreAJourNombreFacturesTraitees(int)), this, SLOT(mettreAJourFenetreProgressionGenerationPdf(int)));
connect(pdf, SIGNAL(generationTerminee(QString)), this, SLOT(mettreAJourBarreStatusFinGenerationPdf(QString)));
-
//========================Menu Fichier
QMenu* menuFichier = menuBar()->addMenu(tr("Fichier"));
@@ -1011,13 +1010,13 @@ void AeroDms::peuplerTablePilotes()
vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_PRENOM, new QTableWidgetItem(subvention.prenom));
vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_ANNEE, new QTableWidgetItem(QString::number(subvention.annee)));
vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_HEURES_ENTRAINEMENT_SUBVENTIONNEES, new QTableWidgetItem(subvention.entrainement.heuresDeVol));
- vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_MONTANT_ENTRAINEMENT_SUBVENTIONNE, new QTableWidgetItem(QString::number(subvention.entrainement.montantRembourse).append(" €")));
+ vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_MONTANT_ENTRAINEMENT_SUBVENTIONNE, new QTableWidgetItem(QString::number(subvention.entrainement.montantRembourse, 'f', 2).append(" €")));
vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_HEURES_BALADES_SUBVENTIONNEES, new QTableWidgetItem(subvention.balade.heuresDeVol));
- vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_MONTANT_BALADES_SUBVENTIONNE, new QTableWidgetItem(QString::number(subvention.balade.montantRembourse).append(" €")));
+ vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_MONTANT_BALADES_SUBVENTIONNE, new QTableWidgetItem(QString::number(subvention.balade.montantRembourse, 'f', 2).append(" €")));
vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_HEURES_SORTIES_SUBVENTIONNEES, new QTableWidgetItem(subvention.sortie.heuresDeVol));
- vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_MONTANT_SORTIES_SUBVENTIONNE, new QTableWidgetItem(QString::number(subvention.sortie.montantRembourse).append(" €")));
+ vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_MONTANT_SORTIES_SUBVENTIONNE, new QTableWidgetItem(QString::number(subvention.sortie.montantRembourse, 'f', 2).append(" €")));
vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_HEURES_TOTALES_SUBVENTIONNEES, new QTableWidgetItem(subvention.totaux.heuresDeVol));
- vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_MONTANT_TOTAL_SUBVENTIONNE, new QTableWidgetItem(QString::number(subvention.totaux.montantRembourse).append(" €")));
+ vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_MONTANT_TOTAL_SUBVENTIONNE, new QTableWidgetItem(QString::number(subvention.totaux.montantRembourse, 'f', 2).append(" €")));
vuePilotes->setItem(i, AeroDmsTypes::PiloteTableElement_PILOTE_ID, new QTableWidgetItem(subvention.idPilote));
}
vuePilotes->resizeColumnsToContents();
@@ -1044,8 +1043,8 @@ void AeroDms::peuplerTableVols()
twSoumisCe->setIcon(AeroDmsServices::recupererIcone(vol.estSoumisCe));
vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_SOUMIS_CE, twSoumisCe);
vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_DUREE, new QTableWidgetItem(vol.duree));
- vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_COUT, new QTableWidgetItem(QString::number(vol.coutVol).append(" €")));
- vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_SUBVENTION, new QTableWidgetItem(QString::number(vol.montantRembourse).append(" €")));
+ vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_COUT, new QTableWidgetItem(QString::number(vol.coutVol, 'f', 2).append(" €")));
+ vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_SUBVENTION, new QTableWidgetItem(QString::number(vol.montantRembourse, 'f', 2).append(" €")));
vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_TYPE_DE_VOL, new QTableWidgetItem(vol.typeDeVol));
vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_REMARQUE, new QTableWidgetItem(vol.remarque));
vueVols->setItem(nbItems, AeroDmsTypes::VolTableElement_ACTIVITE, new QTableWidgetItem(vol.activite));
@@ -1077,7 +1076,7 @@ void AeroDms::peuplerTableVolsDetectes(const AeroDmsTypes::ListeDonneesFacture p
AeroDmsTypes::DonneesFacture facture = p_factures.at(i);
vueVolsDetectes->setItem(i, AeroDmsTypes::VolsDetectesTableElement_DATE, new QTableWidgetItem(facture.dateDuVol.toString("dd/MM/yyyy")));
vueVolsDetectes->setItem(i, AeroDmsTypes::VolsDetectesTableElement_DUREE, new QTableWidgetItem(facture.dureeDuVol.toString("hh:mm")));
- vueVolsDetectes->setItem(i, AeroDmsTypes::VolsDetectesTableElement_MONTANT, new QTableWidgetItem(QString::number(facture.coutDuVol).append(" €")));
+ vueVolsDetectes->setItem(i, AeroDmsTypes::VolsDetectesTableElement_MONTANT, new QTableWidgetItem(QString::number(facture.coutDuVol, 'f', 2).append(" €")));
vueVolsDetectes->setItem(i, AeroDmsTypes::VolsDetectesTableElement_IMMAT, new QTableWidgetItem(facture.immat));
//Par défaut => vol entrainement
vueVolsDetectes->setItem(i, AeroDmsTypes::VolsDetectesTableElement_TYPE, new QTableWidgetItem(typeDeVol->itemText(2)));
@@ -1095,7 +1094,7 @@ void AeroDms::peuplerTableFactures()
{
const AeroDmsTypes::DemandeRemboursementFacture facture = listeFactures.at(i);
vueFactures->setItem(i, AeroDmsTypes::FactureTableElement_INTITULE, new QTableWidgetItem(facture.intitule));
- vueFactures->setItem(i, AeroDmsTypes::FactureTableElement_MONTANT, new QTableWidgetItem(QString::number(facture.montant).append(" €")));
+ vueFactures->setItem(i, AeroDmsTypes::FactureTableElement_MONTANT, new QTableWidgetItem(QString::number(facture.montant, 'f', 2).append(" €")));
vueFactures->setItem(i, AeroDmsTypes::FactureTableElement_PAYEUR, new QTableWidgetItem(facture.payeur));
vueFactures->setItem(i, AeroDmsTypes::FactureTableElement_NOM_SORTIE, new QTableWidgetItem(facture.nomSortie));
vueFactures->setItem(i, AeroDmsTypes::FactureTableElement_TYPE_SORTIE, new QTableWidgetItem(facture.typeDeSortie));
@@ -1124,7 +1123,7 @@ void AeroDms::peuplerTableRecettes()
AeroDmsTypes::RecetteDetail recette = listeRecettesCotisations.at(i);
vueRecettes->setItem(i, AeroDmsTypes::RecetteTableElement_INTITULE, new QTableWidgetItem(recette.intitule));
vueRecettes->setItem(i, AeroDmsTypes::RecetteTableElement_ID, new QTableWidgetItem(recette.id));
- vueRecettes->setItem(i, AeroDmsTypes::RecetteTableElement_MONTANT, new QTableWidgetItem(QString::number(recette.montant) + " €"));
+ vueRecettes->setItem(i, AeroDmsTypes::RecetteTableElement_MONTANT, new QTableWidgetItem(QString::number(recette.montant, 'f', 2) + " €"));
vueRecettes->setItem(i, AeroDmsTypes::RecetteTableElement_DATE, new QTableWidgetItem(QString::number(recette.annee)));
vueRecettes->setItem(i, AeroDmsTypes::RecetteTableElement_TYPE_DE_RECETTE, new QTableWidgetItem(recette.typeDeRecette));
if (recette.estSoumisCe)
@@ -1141,7 +1140,7 @@ void AeroDms::peuplerTableRecettes()
vueRecettes->setItem(position, AeroDmsTypes::RecetteTableElement_INTITULE, new QTableWidgetItem(recette.intitule));
vueRecettes->setItem(position, AeroDmsTypes::RecetteTableElement_ID, new QTableWidgetItem(recette.id));
- vueRecettes->setItem(position, AeroDmsTypes::RecetteTableElement_MONTANT, new QTableWidgetItem(QString::number(recette.montant) + " €"));
+ vueRecettes->setItem(position, AeroDmsTypes::RecetteTableElement_MONTANT, new QTableWidgetItem(QString::number(recette.montant, 'f', 2) + " €"));
vueRecettes->setItem(position, AeroDmsTypes::RecetteTableElement_DATE, new QTableWidgetItem(QString::number(recette.annee)));
vueRecettes->setItem(position, AeroDmsTypes::RecetteTableElement_TYPE_DE_RECETTE, new QTableWidgetItem(recette.typeDeRecette));
if (recette.estSoumisCe)
@@ -1540,7 +1539,7 @@ void AeroDms::enregistrerUneFacture()
+ " du "
+ dateDeFacture->date().toString("dd/MM/yyyy")
+ " ("
- + QString::number(montantFacture->value())
+ + QString::number(montantFacture->value(), 'f', 2)
+ "€) ajoutée.");
montantFacture->setValue(0);
@@ -1668,13 +1667,13 @@ void AeroDms::enregistrerUnVol()
+ " ("
+ dureeDuVol->time().toString("hh:mm")
+ "/"
- + QString::number(prixDuVol->value())
+ + QString::number(prixDuVol->value(), 'f', 2)
+ "€) "
+ volAjouteModifie
+ ". Montant subvention : "
- + QString::number(montantSubventionne)
+ + QString::number(montantSubventionne, 'f', 2)
+ "€ / Subvention entrainement restante : "
- + QString::number(subventionRestante)
+ + QString::number(subventionRestante, 'f', 2)
+ "€");
//Et on supprime la vol de la liste des vols détectés si on en avait chargé un
@@ -2096,9 +2095,9 @@ void AeroDms::volsSelectionnes()
hdvTotales = hdvTotales + vueVols->item(numeroLigne, AeroDmsTypes::VolTableElement_DUREE_EN_MINUTES)->data(0).toInt();
statusBar()->showMessage("Vols sélectionnés : Coût total : "
- + QString::number(coutTotal)
+ + QString::number(coutTotal, 'f', 2)
+ " € / Montant subventionné total : "
- + QString::number(montantTotalSubventionne)
+ + QString::number(montantTotalSubventionne, 'f', 2)
+ " € / Nombres d'heures de vol totales : "
+ AeroDmsServices::convertirMinutesEnHeuresMinutes(hdvTotales));
}
diff --git a/src/AeroDms.h b/src/AeroDms.h
index 332dd7e..9ef3cf9 100644
--- a/src/AeroDms.h
+++ b/src/AeroDms.h
@@ -138,6 +138,7 @@ class AeroDms : public QMainWindow
//Barre de progression
QProgressDialog *progressionGenerationPdf;
QPushButton *boutonProgressionGenerationPdf;
+
AeroDmsTypes::ParametresMetier parametresMetiers;
//Bouttons
diff --git a/src/AeroDms.vcxproj b/src/AeroDms.vcxproj
index 13472ee..69f1591 100644
--- a/src/AeroDms.vcxproj
+++ b/src/AeroDms.vcxproj
@@ -43,7 +43,7 @@
true
- C:\Qt\6.6.1\msvc2019_64
+ C:\Qt\6.7.1\msvc2019_64
core;gui;widgets;printsupport;sql;webenginecore;charts;webenginewidgets;pdf;pdfwidgets
release
true
diff --git a/src/ManageDb.cpp b/src/ManageDb.cpp
index 969f74f..83440b7 100644
--- a/src/ManageDb.cpp
+++ b/src/ManageDb.cpp
@@ -1485,8 +1485,7 @@ QString ManageDb::recupererMailDerniereDemandeDeSubvention(const QString p_date)
QString date = "";
if (p_date == "")
- {
-
+ {
query.prepare("SELECT dateDemande FROM mailParDateDeDemandeDeSubvention GROUP BY dateDemande ORDER BY dateDemande DESC LIMIT 1");
query.exec();
if (query.next())
@@ -1525,7 +1524,7 @@ QString ManageDb::recupererMailDerniereDemandeDeSubvention(const QString p_date)
// -la structure de la BDD évolue
// -on souhaite empecher l'utilisation d'une version du logiciel avec laquelle
// un défaut peut avoir un impact sur la BDD (cela imposera de mette à jour
-// AeroDMS avant de pouvoir utiliser le logiciel en ecriture sur la BDD
+// AeroDMS avant de pouvoir utiliser le logiciel en ecriture sur la BDD)
const bool ManageDb::laBddEstALaVersionAttendue()
{
QSqlQuery query;
diff --git a/src/PdfRenderer.cpp b/src/PdfRenderer.cpp
index 4d16269..31ab1b6 100644
--- a/src/PdfRenderer.cpp
+++ b/src/PdfRenderer.cpp
@@ -483,42 +483,42 @@ void PdfRenderer::imprimerLeFichierPdfDeRecapAnnuel( const int p_annee,
QString item = templateTableItem;
item.replace("__pilote__", QString(p_listePilotesDeCetteAnnee.at(i).nom).append(" ").append(p_listePilotesDeCetteAnnee.at(i).prenom));
item.replace("__HdvEnt__", p_listePilotesDeCetteAnnee.at(i).entrainement.heuresDeVol);
- item.replace("__CouEnt__", QString::number(p_listePilotesDeCetteAnnee.at(i).entrainement.coutTotal));
- item.replace("__SubEnt__", QString::number(p_listePilotesDeCetteAnnee.at(i).entrainement.montantRembourse));
+ item.replace("__CouEnt__", QString::number(p_listePilotesDeCetteAnnee.at(i).entrainement.coutTotal, 'f', 2));
+ item.replace("__SubEnt__", QString::number(p_listePilotesDeCetteAnnee.at(i).entrainement.montantRembourse, 'f', 2));
item.replace("__HdVBal__", p_listePilotesDeCetteAnnee.at(i).balade.heuresDeVol);
- item.replace("__CouBal__", QString::number(p_listePilotesDeCetteAnnee.at(i).balade.coutTotal));
- item.replace("__SubBal__", QString::number(p_listePilotesDeCetteAnnee.at(i).balade.montantRembourse));
+ item.replace("__CouBal__", QString::number(p_listePilotesDeCetteAnnee.at(i).balade.coutTotal, 'f', 2));
+ item.replace("__SubBal__", QString::number(p_listePilotesDeCetteAnnee.at(i).balade.montantRembourse, 'f', 2));
item.replace("__HdVSor__", p_listePilotesDeCetteAnnee.at(i).sortie.heuresDeVol);
- item.replace("__CouSor__", QString::number(p_listePilotesDeCetteAnnee.at(i).sortie.coutTotal));
- item.replace("__SubSor__", QString::number(p_listePilotesDeCetteAnnee.at(i).sortie.montantRembourse));
+ item.replace("__CouSor__", QString::number(p_listePilotesDeCetteAnnee.at(i).sortie.coutTotal, 'f', 2));
+ item.replace("__SubSor__", QString::number(p_listePilotesDeCetteAnnee.at(i).sortie.montantRembourse, 'f', 2));
item.replace("__HdvTot__", p_listePilotesDeCetteAnnee.at(i).totaux.heuresDeVol);
- item.replace("__CouTot__", QString::number(p_listePilotesDeCetteAnnee.at(i).totaux.coutTotal));
- item.replace("__SubTot__", QString::number(p_listePilotesDeCetteAnnee.at(i).totaux.montantRembourse));
+ item.replace("__CouTot__", QString::number(p_listePilotesDeCetteAnnee.at(i).totaux.coutTotal, 'f', 2));
+ item.replace("__SubTot__", QString::number(p_listePilotesDeCetteAnnee.at(i).totaux.montantRembourse, 'f', 2));
templateTable.replace("", item);
}
templateTable.replace("__TotHdvEnt__", p_totaux.entrainement.heuresDeVol);
- templateTable.replace("__TotCouEnt__", QString::number(p_totaux.entrainement.coutTotal));
- templateTable.replace("__TotSubEnt__", QString::number(p_totaux.entrainement.montantRembourse));
+ templateTable.replace("__TotCouEnt__", QString::number(p_totaux.entrainement.coutTotal, 'f', 2));
+ templateTable.replace("__TotSubEnt__", QString::number(p_totaux.entrainement.montantRembourse, 'f', 2));
templateTable.replace("__TotHdVBal__", p_totaux.balade.heuresDeVol);
- templateTable.replace("__TotCouBal__", QString::number(p_totaux.balade.coutTotal));
- templateTable.replace("__TotSubBal__", QString::number(p_totaux.balade.montantRembourse));
+ templateTable.replace("__TotCouBal__", QString::number(p_totaux.balade.coutTotal, 'f', 2));
+ templateTable.replace("__TotSubBal__", QString::number(p_totaux.balade.montantRembourse, 'f', 2));
templateTable.replace("__TotHdVSor__", p_totaux.sortie.heuresDeVol);
- templateTable.replace("__TotCouSor__", QString::number(p_totaux.sortie.coutTotal));
- templateTable.replace("__TotSubSor__", QString::number(p_totaux.sortie.montantRembourse));
+ templateTable.replace("__TotCouSor__", QString::number(p_totaux.sortie.coutTotal, 'f', 2));
+ templateTable.replace("__TotSubSor__", QString::number(p_totaux.sortie.montantRembourse, 'f', 2));
templateTable.replace("__TotHdvTot__", p_totaux.totaux.heuresDeVol);
- templateTable.replace("__TotCouTot__", QString::number(p_totaux.totaux.coutTotal));
- templateTable.replace("__TotSubTot__", QString::number(p_totaux.totaux.montantRembourse));
+ templateTable.replace("__TotCouTot__", QString::number(p_totaux.totaux.coutTotal, 'f', 2));
+ templateTable.replace("__TotSubTot__", QString::number(p_totaux.totaux.montantRembourse, 'f', 2));
if (p_ajouterLesRecettes)
{
templateTable.replace("", templateTableRecettes);
const AeroDmsTypes::TotauxRecettes totaux = db->recupererTotauxRecettes(p_annee);
- templateTable.replace("_RecetteCotisation_", QString::number(totaux.cotisations) + " €");
- templateTable.replace("_RecetteBalade_", QString::number(totaux.balades) + " €");
- templateTable.replace("_RecetteSortie_", QString::number(totaux.sorties) + " €");
+ templateTable.replace("_RecetteCotisation_", QString::number(totaux.cotisations, 'f', 2) + " €");
+ templateTable.replace("_RecetteBalade_", QString::number(totaux.balades, 'f', 2) + " €");
+ templateTable.replace("_RecetteSortie_", QString::number(totaux.sorties, 'f', 2) + " €");
}
if ( demandeEnCours.mergerTousLesPdf
@@ -566,7 +566,7 @@ void PdfRenderer::produireFichierPdfGlobal()
void PdfRenderer::remplirLeChampMontant(QString &p_html, const float p_montant)
{
- QString montantARembourser = QString::number(p_montant);
+ QString montantARembourser = QString::number(p_montant, 'f', 2);
QString partieEntiere;
QString partieDecimale;
if (montantARembourser.contains("."))
diff --git a/src/StatistiqueDiagrammeCirculaireWidget.cpp b/src/StatistiqueDiagrammeCirculaireWidget.cpp
index 9e3247c..c5ddee4 100644
--- a/src/StatistiqueDiagrammeCirculaireWidget.cpp
+++ b/src/StatistiqueDiagrammeCirculaireWidget.cpp
@@ -40,6 +40,7 @@ StatistiqueDiagrammeCirculaireWidget::StatistiqueDiagrammeCirculaireWidget(Manag
QObject::connect(detailParPilote, &QPieSeries::clicked, chart, &StatistiqueDiagrammeCirculaire::handleSliceClicked);
*donneesTypeDeVolParPilote << new StatistiqueDiagrammeCirculairePartie(detailParPilote->sum(), subventionParPilote.at(i).prenom + " " + subventionParPilote.at(i).nom, detailParPilote);
+
}
QObject::connect(donneesTypeDeVolParPilote, &QPieSeries::clicked, chart, &StatistiqueDiagrammeCirculaire::handleSliceClicked);