Esempio n. 1
0
    def on_comboBox_annule_remplace_n_doc_activated(self, p0):
        """
        Slot documentation goes here.
        """

        n_document_selectionne = self.comboBox_annule_remplace_n_doc.currentText(
        )

        db = GestionBdd('db')
        db.reconnexion()
        id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(
            n_document_selectionne)
        donnees_campagne = db.recuperation_donnees_etalonnage_validation(
            id_campagne_etal)  #on recupere toute les donnees de la campagne

        donnees_n_document_selectionne = []
        for ele in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
            if ele["num_document"] == n_document_selectionne:
                donnees_n_document_selectionne.append(ele)

#
#        rapport = RapportSaisie()
#        rapport.mise_en_forme(donnees_n_document_selectionne, n_document_selectionne)
#
#        print("donnees passées par le menu annule et remplace {}".format(donnees_n_document_selectionne))
        self.gestion_fichier_pickler_saisie_etalonnage(
            donnees_n_document_selectionne)
        self.saisie = Saisie([4, n_document_selectionne, id_campagne_etal])
        self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
        self.saisie.show()
Esempio n. 2
0
    def on_radioButton_saisie_etal_clicked(self):
        """
        ouvre le qmainwindows saisie
        """
        reponse = QMessageBox.question(
            self, self.trUtf8("Information"),
            self.trUtf8("Voulez-vous saisir un nouvel étalonnage"),
            QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

        if reponse == QtGui.QMessageBox.Yes:
            self.saisie = Saisie([1])
            self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
            self.saisie.show()
        else:
            pass
Esempio n. 3
0
    def on_comboBox_annule_remplace_n_doc_activated(self, p0):
        """
        Slot documentation goes here.
        """

        n_document_selectionne = self.comboBox_annule_remplace_n_doc.currentText()

        db = GestionBdd("db")
        db.reconnexion()
        id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(n_document_selectionne)
        donnees_campagne = db.recuperation_donnees_etalonnage_validation(
            id_campagne_etal
        )  # on recupere toute les donnees de la campagne

        donnees_n_document_selectionne = []
        for (
            ele
        ) in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
            if ele["num_document"] == n_document_selectionne:
                donnees_n_document_selectionne.append(ele)

        #
        #        rapport = RapportSaisie()
        #        rapport.mise_en_forme(donnees_n_document_selectionne, n_document_selectionne)
        #
        #        print("donnees passées par le menu annule et remplace {}".format(donnees_n_document_selectionne))
        self.gestion_fichier_pickler_saisie_etalonnage(donnees_n_document_selectionne)
        self.saisie = Saisie([4, n_document_selectionne, id_campagne_etal])
        self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
        self.saisie.show()
Esempio n. 4
0
    def on_radioButton_saisie_etal_clicked(self):
        """
        ouvre le qmainwindows saisie
        """
        reponse = QMessageBox.question(
            self,
            self.trUtf8("Information"),
            self.trUtf8("Voulez-vous saisir un nouvel étalonnage"),
            QtGui.QMessageBox.Yes,
            QtGui.QMessageBox.No,
        )

        if reponse == QtGui.QMessageBox.Yes:
            self.saisie = Saisie([1])
            self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
            self.saisie.show()
        else:
            pass
Esempio n. 5
0
    def on_comboBox_validation_n_doc_activated(self, p0):
        """
        Appel la fct recuperation des donnees d etal de la classe bdd
        et export ces donnees dans un classeur excel class Rapport Saisie
        """

        valeur_selectionnee_combobox = self.comboBox_validation_n_doc.currentText()

        if (
            valeur_selectionnee_combobox[0] == "C"
        ):  # test pour savoir s'il s'agit d'un n° certificat ou de caompagne d'etalonnage
            nom_campagne_etal_particuliere = valeur_selectionnee_combobox[25 : len(valeur_selectionnee_combobox)]

            db = GestionBdd("db")
            db.reconnexion()

            id_campagne_etal = db.recherche_id_campagne_etal_particuliere(nom_campagne_etal_particuliere)

            donnees_campagne = db.recuperation_donnees_etalonnage_validation(id_campagne_etal)
            #           print(donnees_campagne)
            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_campagne, nom_campagne_etal_particuliere)

            reponse = QMessageBox.question(
                self,
                self.trUtf8("Information"),
                self.trUtf8("Voulez-vous archiver cette campagne d'étalonnage"),
                QtGui.QMessageBox.Yes,
                QtGui.QMessageBox.No,
            )

            if reponse == QtGui.QMessageBox.Yes:
                db.archivage_campage_etal(id_campagne_etal)
                db.archivage_etalonnage(id_campagne_etal)
                ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide()
                valeur_combobox = [nom for nom in ensemble_nom_campagne if bool(nom) != False]
                self.comboBox_validation_n_doc.clear()
                # effacement des fichiers temporaire (present dans le dossier AppData)

                path = os.path.abspath("AppData/")

                for ele in os.listdir(path):
                    path_total = str(path + "/" + str(ele))

                    if os.path.isfile(path_total):  # verification qu'il s'agit bien de fichier
                        os.remove(path_total)
            #                self.comboBox_validation_n_doc.addItems(valeur_combobox)

            else:
                reponse = QMessageBox.question(
                    self,
                    self.trUtf8("Information"),
                    self.trUtf8("Voulez-vous modifier les donnees?"),
                    QtGui.QMessageBox.Yes,
                    QtGui.QMessageBox.No,
                )

                if reponse == QtGui.QMessageBox.Yes:
                    rapport.fermeture()
                    instrument = []
                    #                    QMessageBox.information(self,
                    #                    self.trUtf8("Information"),
                    #                    self.trUtf8("Merci de fermer le rapport de saisie (fichier excel)"))

                    self.gestion_fichier_pickler_saisie_etalonnage(donnees_campagne)
                    self.saisie = Saisie([2, nom_campagne_etal_particuliere, id_campagne_etal])
                    self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
                    self.saisie.show()
        else:
            n_document_selectionne = valeur_selectionnee_combobox[14 : len(valeur_selectionnee_combobox)]

            db = GestionBdd("db")
            db.reconnexion()
            id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(n_document_selectionne)
            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal
            )  # on recupere toute les donnees de la campagne
            nom_campagne_etal_particuliere = db.recherche_nom_campagne_etal_id_campagne(id_campagne_etal)

            id_etalonnage = db.recherche_id_etalonnage_num_doc(n_document_selectionne)

            donnees_n_document_selectionne = []
            for (
                ele
            ) in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
                if ele["num_document"] == n_document_selectionne:
                    donnees_n_document_selectionne.append(ele)

            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_n_document_selectionne, n_document_selectionne)

            reponse = QMessageBox.question(
                self,
                self.trUtf8("Information"),
                self.trUtf8("Voulez-vous archiver cet d'étalonnage"),
                QtGui.QMessageBox.Yes,
                QtGui.QMessageBox.No,
            )

            if reponse == QtGui.QMessageBox.Yes:
                db.archivage_etalonnage_unique(id_etalonnage)
                ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide()
                self.comboBox_validation_n_doc.clear()
                #                self.comboBox_validation_n_doc.addItems(valeur_combobox)
                # effacement des fichiers temporaire (present dans le dossier AppData)

                path = os.path.abspath("AppData/")

                for ele in os.listdir(path):
                    path_total = str(path + "/" + str(ele))

                    if os.path.isfile(path_total):  # verification qu'il s'agit bien de fichier
                        os.remove(path_total)

            else:
                reponse = QMessageBox.question(
                    self,
                    self.trUtf8("Information"),
                    self.trUtf8("Voulez-vous modifier les donnees?"),
                    QtGui.QMessageBox.Yes,
                    QtGui.QMessageBox.No,
                )
                if reponse == QtGui.QMessageBox.Yes:
                    rapport.fermeture()
                    #                    QMessageBox.information(self,
                    #                    self.trUtf8("Information"),
                    #                    self.trUtf8("Merci de fermer le rapport de saisie (fichier excel)"))

                    self.gestion_fichier_pickler_saisie_etalonnage(donnees_n_document_selectionne)
                    self.saisie = Saisie([3, n_document_selectionne, nom_campagne_etal_particuliere])
                    self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
                    self.saisie.show()
Esempio n. 6
0
class Menu(QMainWindow, Ui_Menu):
    """
    Class documentation goes here.
    """

    def __init__(self, parent=None):
        """ Constructor @param parent reference to the parent widget (QWidget)
        """
        super().__init__(parent)
        self.setupUi(self)
        # acces à la BDD
        db = GestionBdd("db")
        #        db.premiere_connexion()
        db.reconnexion()

    @pyqtSlot()
    def on_buttonBox_accepted(self):
        """ Slot documentation goes here.
        """
        # TODO: not implemented yet
        raise NotImplementedError

    @pyqtSlot()
    def on_radioButton_saisie_etal_clicked(self):
        """
        ouvre le qmainwindows saisie
        """
        reponse = QMessageBox.question(
            self,
            self.trUtf8("Information"),
            self.trUtf8("Voulez-vous saisir un nouvel étalonnage"),
            QtGui.QMessageBox.Yes,
            QtGui.QMessageBox.No,
        )

        if reponse == QtGui.QMessageBox.Yes:
            self.saisie = Saisie([1])
            self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
            self.saisie.show()
        else:
            pass

    @pyqtSlot()
    def on_radioButton_reeimpression_clicked(self):
        """
        Slot documentation goes here.
        """
        # TODO: not implemented yet
        # Acces bdd
        db = GestionBdd("db")
        db.reconnexion()

        valeur_combobox = db.recuperation_n_ce()
        self.comboBox_reeimp_n_document.addItems(valeur_combobox["num_doc"])

    @pyqtSlot()
    def on_radioButton_annule_remplace_clicked(self):
        """
        Slot documentation goes here.
        """
        # TODO: not implemented yet
        # Acces bdd
        db = GestionBdd("db")
        db.reconnexion()

        valeur_combobox = db.recuperation_n_ce()
        self.comboBox_annule_remplace_n_doc.addItems(valeur_combobox["num_doc"])

    @pyqtSlot()
    def on_radioButton_validation_clicked(self):
        """
        Slot documentation goes here.
        """
        reponse = QMessageBox.question(
            self,
            self.trUtf8("Information"),
            self.trUtf8(
                "Voulez-vous rechercher par n° campagne d'étalonnage ? \n"
                + "Cliquer non pour rechercher par n° certificat"
            ),
            QtGui.QMessageBox.Yes,
            QtGui.QMessageBox.No,
        )

        if reponse == QtGui.QMessageBox.Yes:
            db = GestionBdd("db")
            db.reconnexion()
            ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide()

            valeur_combobox = []
            for ele in ensemble_nom_campagne:
                valeur_combobox.append("Campagne d'étalonnage n° {}".format(ele))
            self.comboBox_validation_n_doc.addItems(valeur_combobox)

        else:
            db = GestionBdd("db")
            db.reconnexion()
            ensemble_nom_etalonnage = (
                db.recuperation_n_ce_non_valide()
            )  # attention il s'agit d'un dico avec id_campagne_etal ,num_doc comme clef
            valeur_combobox = []
            for ele in ensemble_nom_etalonnage["num_doc"]:
                valeur_combobox.append("Etalonnage n° {}".format(ele))
            #            print(valeur_combobox)
            self.comboBox_validation_n_doc.addItems(valeur_combobox)

    @pyqtSlot(str)
    def on_comboBox_reeimp_n_document_activated(self, p0):
        """
       Fct qui recupere l'ensemble des donnees d'une etalonnage
        """
        # TODO: not implemented yet
        # Acces bdd
        db = GestionBdd("db")
        db.reconnexion()
        n_certificat = self.comboBox_reeimp_n_document.currentText()

        ce = db.recuperation_donnees_etalonnage(n_certificat)
        cv = db.recuperation_donnees_conformite(ce)
        rapport_etalonnage = dict(list(ce.items()) + list(cv.items()))

        list_etalon = list(set(rapport_etalonnage["etalon"]))
        list_generateur = list(set(rapport_etalonnage["generateur"]))
        rapport_etalonnage["etalon"] = list_etalon
        rapport_etalonnage["generateur"] = list_generateur

        # on choisit le dossier de sauvegarde
        dossier = QFileDialog.getExistingDirectory(None, "Selectionner le dossier de sauvegarde des Rapports")

        # gestion n_ mode operatoire
        if rapport_etalonnage["milieu"] == "LIQUIDE":
            rapport_etalonnage["n_mode_operatoire"] = "025"
        else:
            rapport_etalonnage["n_mode_operatoire"] = "030"

        date_etal = rapport_etalonnage["date_etalonnage"].toString("dd/MM/yyyy")
        rapport_etalonnage["date_etalonnage"] = date_etal

        if isinstance(rapport_etalonnage["renseignement_complementaire"], str):
            pass
        else:
            rapport_etalonnage["renseignement_complementaire"] = ""

        if not rapport_etalonnage["Annule_doc"]:
            certificat = RapportEtalonnage(rapport_etalonnage["CE"])  # appel à la classe RapportEtalonnage
            certificat.mise_en_forme_ce(rapport_etalonnage, dossier, rapport_etalonnage["n_certificat"])
        else:
            nom_fichier_ce = (
                rapport_etalonnage["n_certificat"]
                + " Annule et Remplace le document "
                + rapport_etalonnage["Annule_doc"]
            )
            nom_ce = (
                rapport_etalonnage["n_certificat"]
                + "\n Annule et Remplace le document "
                + rapport_etalonnage["Annule_doc"]
            )
            certificat = RapportEtalonnage(rapport_etalonnage["CE"])  # appel à la classe RapportEtalonnage
            certificat.mise_en_forme_ce_annule_remplace(rapport_etalonnage, dossier, nom_ce, nom_fichier_ce)

        if not cv["conformite"]:
            pass
        else:
            if not rapport_etalonnage["Annule_doc"]:
                nom_fichier_constat = str(rapport_etalonnage["n_certificat"]) + "V"
                constat = RapportEtalonnage(rapport_etalonnage["CE"])
                constat.mise_en_forme_cv(rapport_etalonnage, dossier, nom_fichier_constat)
            else:
                nom_cv = (
                    rapport_etalonnage["n_certificat"]
                    + "V"
                    + "\n Annule et Remplace le document "
                    + rapport_etalonnage["Annule_doc"]
                    + "V"
                )
                nom_fichier_cv = (
                    rapport_etalonnage["n_certificat"]
                    + "V"
                    + " Annule et Remplace le document "
                    + rapport_etalonnage["Annule_doc"]
                    + "V"
                )

                constat = RapportEtalonnage(rapport_etalonnage["CE"])
                constat.mise_en_forme_cv_annule_remplace(rapport_etalonnage, dossier, nom_cv, nom_fichier_cv)

        self.comboBox_reeimp_n_document.clear()

    @pyqtSlot(str)
    def on_comboBox_annule_remplace_n_doc_activated(self, p0):
        """
        Slot documentation goes here.
        """

        n_document_selectionne = self.comboBox_annule_remplace_n_doc.currentText()

        db = GestionBdd("db")
        db.reconnexion()
        id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(n_document_selectionne)
        donnees_campagne = db.recuperation_donnees_etalonnage_validation(
            id_campagne_etal
        )  # on recupere toute les donnees de la campagne

        donnees_n_document_selectionne = []
        for (
            ele
        ) in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
            if ele["num_document"] == n_document_selectionne:
                donnees_n_document_selectionne.append(ele)

        #
        #        rapport = RapportSaisie()
        #        rapport.mise_en_forme(donnees_n_document_selectionne, n_document_selectionne)
        #
        #        print("donnees passées par le menu annule et remplace {}".format(donnees_n_document_selectionne))
        self.gestion_fichier_pickler_saisie_etalonnage(donnees_n_document_selectionne)
        self.saisie = Saisie([4, n_document_selectionne, id_campagne_etal])
        self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
        self.saisie.show()

    @pyqtSlot(str)
    def on_comboBox_validation_n_doc_activated(self, p0):
        """
        Appel la fct recuperation des donnees d etal de la classe bdd
        et export ces donnees dans un classeur excel class Rapport Saisie
        """

        valeur_selectionnee_combobox = self.comboBox_validation_n_doc.currentText()

        if (
            valeur_selectionnee_combobox[0] == "C"
        ):  # test pour savoir s'il s'agit d'un n° certificat ou de caompagne d'etalonnage
            nom_campagne_etal_particuliere = valeur_selectionnee_combobox[25 : len(valeur_selectionnee_combobox)]

            db = GestionBdd("db")
            db.reconnexion()

            id_campagne_etal = db.recherche_id_campagne_etal_particuliere(nom_campagne_etal_particuliere)

            donnees_campagne = db.recuperation_donnees_etalonnage_validation(id_campagne_etal)
            #           print(donnees_campagne)
            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_campagne, nom_campagne_etal_particuliere)

            reponse = QMessageBox.question(
                self,
                self.trUtf8("Information"),
                self.trUtf8("Voulez-vous archiver cette campagne d'étalonnage"),
                QtGui.QMessageBox.Yes,
                QtGui.QMessageBox.No,
            )

            if reponse == QtGui.QMessageBox.Yes:
                db.archivage_campage_etal(id_campagne_etal)
                db.archivage_etalonnage(id_campagne_etal)
                ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide()
                valeur_combobox = [nom for nom in ensemble_nom_campagne if bool(nom) != False]
                self.comboBox_validation_n_doc.clear()
                # effacement des fichiers temporaire (present dans le dossier AppData)

                path = os.path.abspath("AppData/")

                for ele in os.listdir(path):
                    path_total = str(path + "/" + str(ele))

                    if os.path.isfile(path_total):  # verification qu'il s'agit bien de fichier
                        os.remove(path_total)
            #                self.comboBox_validation_n_doc.addItems(valeur_combobox)

            else:
                reponse = QMessageBox.question(
                    self,
                    self.trUtf8("Information"),
                    self.trUtf8("Voulez-vous modifier les donnees?"),
                    QtGui.QMessageBox.Yes,
                    QtGui.QMessageBox.No,
                )

                if reponse == QtGui.QMessageBox.Yes:
                    rapport.fermeture()
                    instrument = []
                    #                    QMessageBox.information(self,
                    #                    self.trUtf8("Information"),
                    #                    self.trUtf8("Merci de fermer le rapport de saisie (fichier excel)"))

                    self.gestion_fichier_pickler_saisie_etalonnage(donnees_campagne)
                    self.saisie = Saisie([2, nom_campagne_etal_particuliere, id_campagne_etal])
                    self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
                    self.saisie.show()
        else:
            n_document_selectionne = valeur_selectionnee_combobox[14 : len(valeur_selectionnee_combobox)]

            db = GestionBdd("db")
            db.reconnexion()
            id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(n_document_selectionne)
            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal
            )  # on recupere toute les donnees de la campagne
            nom_campagne_etal_particuliere = db.recherche_nom_campagne_etal_id_campagne(id_campagne_etal)

            id_etalonnage = db.recherche_id_etalonnage_num_doc(n_document_selectionne)

            donnees_n_document_selectionne = []
            for (
                ele
            ) in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
                if ele["num_document"] == n_document_selectionne:
                    donnees_n_document_selectionne.append(ele)

            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_n_document_selectionne, n_document_selectionne)

            reponse = QMessageBox.question(
                self,
                self.trUtf8("Information"),
                self.trUtf8("Voulez-vous archiver cet d'étalonnage"),
                QtGui.QMessageBox.Yes,
                QtGui.QMessageBox.No,
            )

            if reponse == QtGui.QMessageBox.Yes:
                db.archivage_etalonnage_unique(id_etalonnage)
                ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide()
                self.comboBox_validation_n_doc.clear()
                #                self.comboBox_validation_n_doc.addItems(valeur_combobox)
                # effacement des fichiers temporaire (present dans le dossier AppData)

                path = os.path.abspath("AppData/")

                for ele in os.listdir(path):
                    path_total = str(path + "/" + str(ele))

                    if os.path.isfile(path_total):  # verification qu'il s'agit bien de fichier
                        os.remove(path_total)

            else:
                reponse = QMessageBox.question(
                    self,
                    self.trUtf8("Information"),
                    self.trUtf8("Voulez-vous modifier les donnees?"),
                    QtGui.QMessageBox.Yes,
                    QtGui.QMessageBox.No,
                )
                if reponse == QtGui.QMessageBox.Yes:
                    rapport.fermeture()
                    #                    QMessageBox.information(self,
                    #                    self.trUtf8("Information"),
                    #                    self.trUtf8("Merci de fermer le rapport de saisie (fichier excel)"))

                    self.gestion_fichier_pickler_saisie_etalonnage(donnees_n_document_selectionne)
                    self.saisie = Saisie([3, n_document_selectionne, nom_campagne_etal_particuliere])
                    self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
                    self.saisie.show()

    def gestion_fichier_pickler_saisie_etalonnage(self, donnees_campagne):
        """'fonction qui gere la creation des fichiers pickler en vue de les modifier
        dans Saisie_Etalonnage"""

        # config:
        db = GestionBdd("db")
        db.reconnexion()
        fichier_configuration = []
        config_etal = {}
        fichier_saisie = {}

        nbr_instrum = len(donnees_campagne)
        config_etal["nbr_instrum"] = nbr_instrum

        nbr_pt_etal = donnees_campagne[0]["nbr_pt_etalonnage"]
        config_etal["nbr_pts_temp"] = nbr_pt_etal

        date_1 = donnees_campagne[0]["date_etalonnage"]

        #        date = QtCore.QDate.fromString(date_1, "yyyy-MM-dd")

        config_etal["Date"] = date_1

        fichier_configuration.append(config_etal)

        i = 0
        while i < nbr_instrum:
            instrument = {}
            resolution = []

            instrum = db.gestion_remplissage_onglet_config_2(donnees_campagne[i]["identification_instrument"])
            instrument["nom_instrum"] = donnees_campagne[i]["identification_instrument"]

            instrument["n_serie"] = instrum[0]
            instrument["constructeur"] = instrum[1]
            instrument["Type"] = instrum[2]

            #            resolution.append(instrum[3])
            instrument["resolution"] = donnees_campagne[i]["resolution_instrument"]

            if isinstance(instrum[4], str):
                instrument["renseignement_complementaire"] = instrum[4]
            else:
                instrument["renseignement_complementaire"] = ""

            if donnees_campagne[i]["CE"] == "COFRAC":
                instrument["Type_etalonnage"] = "Cofrac"
            else:
                instrument["Type_etalonnage"] = "Non Cofrac"

            instrument["Etat_reception"] = donnees_campagne[i]["Etat_reception"]
            instrument["immersion"] = donnees_campagne[i]["immersion"]
            fichier_configuration.append(instrument)

            i += 1

        sauvegarde_onglet_saisie(fichier_configuration, "configuration")

        # gestion fichiers saisies
        # pt 1
        i = 1
        while i <= nbr_pt_etal:
            j = 0
            while j < nbr_instrum:

                fichier_saisie["mesures_inst_" + str(j + 1)] = donnees_campagne[j]["mesure_instrum_pt" + str(i)]
                fichier_saisie["mesures_etal_brute"] = donnees_campagne[j]["mesure_etal_non_corri_pt" + str(i)]
                fichier_saisie["mesures_etal_corri"] = donnees_campagne[j]["mesure_etal_corri_pt" + str(i)]
                fichier_saisie["corrections_instrum_" + str(j + 1)] = numpy.array(
                    donnees_campagne[j]["mesure_instrum_pt" + str(i)]
                )
                fichier_saisie["nb_acquisition"] = len(donnees_campagne[j]["mesure_instrum_pt" + str(i)])

                # recherche id operteur
                operateur = []

                for ele in donnees_campagne[j]["operateur"].split():
                    operateur.append(ele)
                prenom = operateur[0]
                nom = operateur[1]
                id_operateur = db.recuperation_id_operateur(prenom, nom)

                fichier_saisie["operateur"] = id_operateur - 1  # combobox partent à 0

                fichier_saisie["auto_echauffement_instrum_" + str(j)] = donnees_campagne[j]["autoechauffement"][i - 1]

                if donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 003":
                    fichier_saisie["etalon"] = 0  # attention il nous faut un numero
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 004":
                    fichier_saisie["etalon"] = 1
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 005":
                    fichier_saisie["etalon"] = 2
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 006":
                    fichier_saisie["etalon"] = 3
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 007":
                    fichier_saisie["etalon"] = 4
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 008":
                    fichier_saisie["etalon"] = 5

                if donnees_campagne[j]["nom_generateur"][i - 1] == "BGF":
                    fichier_saisie["generateur"] = 0  # attention il nous faut un numero
                elif donnees_campagne[j]["nom_generateur"][i - 1] == "HART_1":
                    fichier_saisie["generateur"] = 1
                elif donnees_campagne[j]["nom_generateur"][i - 1] == "HART_2":
                    fichier_saisie["generateur"] = 2
                elif donnees_campagne[j]["nom_generateur"][i - 1] == "ESPEC_1":
                    fichier_saisie["generateur"] = 3
                elif donnees_campagne[j]["nom_generateur"][i - 1] == "ESPEC_2":
                    fichier_saisie["generateur"] = 4

                fichier_saisie["moyenne_instrum_" + str(j + 1)] = donnees_campagne[j]["moyenne_instrum"][i - 1]
                fichier_saisie["ecartype_corrections_instrum_" + str(j + 1)] = donnees_campagne[j]["ecart_type"][i - 1]
                fichier_saisie["temp_consig"] = donnees_campagne[j]["temp_consigne"][i - 1]
                fichier_saisie["moyenne_corrections_instrum_" + str(j)] = donnees_campagne[j]["moyenne_correction"][
                    i - 1
                ]
                fichier_saisie["moyenne_etal_corri"] = donnees_campagne[j]["moyenne_etalon_c"][i - 1]
                fichier_saisie["fuite_thermique_instrum_" + str(j + 1)] = donnees_campagne[j]["fuite_thermique"][i - 1]

                j += 1

            fichier_saisie["pt_etalonnag_n"] = i
            fichier_saisie["chemin_fichier_etalon"] = "Neant"
            sauvegarde_onglet_saisie(fichier_saisie, i)
            i += 1

    @pyqtSlot()
    def on_radioButton_consultation_clicked(self):
        """
        Slot documentation goes here.
        """
        reponse = QMessageBox.question(
            self,
            self.trUtf8("Information"),
            self.trUtf8(
                "Voulez-vous rechercher par n° campagne d'étalonnage ? \n"
                + "Cliquer non pour rechercher par n° certificat"
            ),
            QtGui.QMessageBox.Yes,
            QtGui.QMessageBox.No,
        )

        if reponse == QtGui.QMessageBox.Yes:
            db = GestionBdd("db")
            db.reconnexion()
            ensemble_nom_campagne = db.recuperation_nom_campagne_etal_all()

            valeur_combobox = []
            for ele in ensemble_nom_campagne:
                valeur_combobox.append("Campagne d'étalonnage n° {}".format(ele))
            self.comboBox_consultation.addItems(valeur_combobox)

        else:
            db = GestionBdd("db")
            db.reconnexion()
            ensemble_nom_etalonnage = (
                db.recuperation_n_ce_all()
            )  # attention il s'agit d'un dico avec id_campagne_etal ,num_doc comme clef
            valeur_combobox = []
            for ele in ensemble_nom_etalonnage["num_doc"]:
                valeur_combobox.append("Etalonnage n° {}".format(ele))
            #            print(valeur_combobox)
            self.comboBox_consultation.addItems(valeur_combobox)

    @pyqtSlot(str)
    def on_comboBox_consultation_activated(self, p0):
        """
        Slot documentation goes here.
        """

        valeur_selectionnee_combobox = self.comboBox_consultation.currentText()

        if (
            valeur_selectionnee_combobox[0] == "C"
        ):  # test pour savoir s'il s'agit d'un n° certificat ou de caompagne d'etalonnage
            nom_campagne_etal_particuliere = valeur_selectionnee_combobox[25 : len(valeur_selectionnee_combobox)]

            db = GestionBdd("db")
            db.reconnexion()

            id_campagne_etal = db.recherche_id_campagne_etal_particuliere(nom_campagne_etal_particuliere)

            donnees_campagne = db.recuperation_donnees_etalonnage_validation(id_campagne_etal)
            #        print(donnees_campagne)
            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_campagne, nom_campagne_etal_particuliere)

        else:
            n_document_selectionne = valeur_selectionnee_combobox[14 : len(valeur_selectionnee_combobox)]

            db = GestionBdd("db")
            db.reconnexion()
            id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(n_document_selectionne)
            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal
            )  # on recupere toute les donnees de la campagne
            nom_campagne = db.recherche_nom_campagne_etal_id_campagne(id_campagne_etal)
            donnees_n_document_selectionne = []
            for (
                ele
            ) in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
                if ele["num_document"] == n_document_selectionne:
                    donnees_n_document_selectionne.append(ele)

            rapport = RapportSaisie(nom_campagne)
            rapport.mise_en_forme(donnees_n_document_selectionne, n_document_selectionne)
Esempio n. 7
0
    def on_comboBox_validation_n_doc_activated(self, p0):
        """
        Appel la fct recuperation des donnees d etal de la classe bdd
        et export ces donnees dans un classeur excel class Rapport Saisie
        """

        valeur_selectionnee_combobox = self.comboBox_validation_n_doc.currentText(
        )

        if valeur_selectionnee_combobox[
                0] == "C":  #test pour savoir s'il s'agit d'un n° certificat ou de caompagne d'etalonnage
            nom_campagne_etal_particuliere = valeur_selectionnee_combobox[
                25:len(valeur_selectionnee_combobox)]

            db = GestionBdd('db')
            db.reconnexion()

            id_campagne_etal = db.recherche_id_campagne_etal_particuliere(
                nom_campagne_etal_particuliere)

            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal)
            #           print(donnees_campagne)
            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_campagne,
                                  nom_campagne_etal_particuliere)

            reponse = QMessageBox.question(
                self, self.trUtf8("Information"),
                self.trUtf8(
                    "Voulez-vous archiver cette campagne d'étalonnage"),
                QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

            if reponse == QtGui.QMessageBox.Yes:
                db.archivage_campage_etal(id_campagne_etal)
                db.archivage_etalonnage(id_campagne_etal)
                ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide(
                )
                valeur_combobox = [
                    nom for nom in ensemble_nom_campagne if bool(nom) != False
                ]
                self.comboBox_validation_n_doc.clear()
                #effacement des fichiers temporaire (present dans le dossier AppData)

                path = os.path.abspath("AppData/")

                for ele in os.listdir(path):
                    path_total = str(path + "/" + str(ele))

                    if os.path.isfile(
                            path_total
                    ):  # verification qu'il s'agit bien de fichier
                        os.remove(path_total)
#                self.comboBox_validation_n_doc.addItems(valeur_combobox)

            else:
                reponse = QMessageBox.question(
                    self, self.trUtf8("Information"),
                    self.trUtf8("Voulez-vous modifier les donnees?"),
                    QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

                if reponse == QtGui.QMessageBox.Yes:
                    rapport.fermeture()
                    instrument = []
                    #                    QMessageBox.information(self,
                    #                    self.trUtf8("Information"),
                    #                    self.trUtf8("Merci de fermer le rapport de saisie (fichier excel)"))

                    self.gestion_fichier_pickler_saisie_etalonnage(
                        donnees_campagne)
                    self.saisie = Saisie(
                        [2, nom_campagne_etal_particuliere, id_campagne_etal])
                    self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
                    self.saisie.show()
        else:
            n_document_selectionne = valeur_selectionnee_combobox[
                14:len(valeur_selectionnee_combobox)]

            db = GestionBdd('db')
            db.reconnexion()
            id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(
                n_document_selectionne)
            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal
            )  #on recupere toute les donnees de la campagne
            nom_campagne_etal_particuliere = db.recherche_nom_campagne_etal_id_campagne(
                id_campagne_etal)

            id_etalonnage = db.recherche_id_etalonnage_num_doc(
                n_document_selectionne)

            donnees_n_document_selectionne = []
            for ele in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
                if ele["num_document"] == n_document_selectionne:
                    donnees_n_document_selectionne.append(ele)

            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_n_document_selectionne,
                                  n_document_selectionne)

            reponse = QMessageBox.question(
                self, self.trUtf8("Information"),
                self.trUtf8("Voulez-vous archiver cet d'étalonnage"),
                QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

            if reponse == QtGui.QMessageBox.Yes:
                db.archivage_etalonnage_unique(id_etalonnage)
                ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide(
                )
                self.comboBox_validation_n_doc.clear()
                #                self.comboBox_validation_n_doc.addItems(valeur_combobox)
                #effacement des fichiers temporaire (present dans le dossier AppData)

                path = os.path.abspath("AppData/")

                for ele in os.listdir(path):
                    path_total = str(path + "/" + str(ele))

                    if os.path.isfile(
                            path_total
                    ):  # verification qu'il s'agit bien de fichier
                        os.remove(path_total)

            else:
                reponse = QMessageBox.question(
                    self, self.trUtf8("Information"),
                    self.trUtf8("Voulez-vous modifier les donnees?"),
                    QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
                if reponse == QtGui.QMessageBox.Yes:
                    rapport.fermeture()
                    #                    QMessageBox.information(self,
                    #                    self.trUtf8("Information"),
                    #                    self.trUtf8("Merci de fermer le rapport de saisie (fichier excel)"))

                    self.gestion_fichier_pickler_saisie_etalonnage(
                        donnees_n_document_selectionne)
                    self.saisie = Saisie([
                        3, n_document_selectionne,
                        nom_campagne_etal_particuliere
                    ])
                    self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
                    self.saisie.show()
Esempio n. 8
0
class Menu(QMainWindow, Ui_Menu):
    """
    Class documentation goes here.
    """
    def __init__(self, parent=None):
        """ Constructor @param parent reference to the parent widget (QWidget)
        """
        super().__init__(parent)
        self.setupUi(self)
        # acces à la BDD
        db = GestionBdd('db')
        #        db.premiere_connexion()
        db.reconnexion()

    @pyqtSlot()
    def on_buttonBox_accepted(self):
        """ Slot documentation goes here.
        """
        # TODO: not implemented yet
        raise NotImplementedError

    @pyqtSlot()
    def on_radioButton_saisie_etal_clicked(self):
        """
        ouvre le qmainwindows saisie
        """
        reponse = QMessageBox.question(
            self, self.trUtf8("Information"),
            self.trUtf8("Voulez-vous saisir un nouvel étalonnage"),
            QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

        if reponse == QtGui.QMessageBox.Yes:
            self.saisie = Saisie([1])
            self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
            self.saisie.show()
        else:
            pass

    @pyqtSlot()
    def on_radioButton_reeimpression_clicked(self):
        """
        Slot documentation goes here.
        """
        # TODO: not implemented yet
        #Acces bdd
        db = GestionBdd('db')
        db.reconnexion()

        valeur_combobox = db.recuperation_n_ce()
        self.comboBox_reeimp_n_document.addItems(valeur_combobox["num_doc"])

    @pyqtSlot()
    def on_radioButton_annule_remplace_clicked(self):
        """
        Slot documentation goes here.
        """
        # TODO: not implemented yet
        #Acces bdd
        db = GestionBdd('db')
        db.reconnexion()

        valeur_combobox = db.recuperation_n_ce()
        self.comboBox_annule_remplace_n_doc.addItems(
            valeur_combobox["num_doc"])

    @pyqtSlot()
    def on_radioButton_validation_clicked(self):
        """
        Slot documentation goes here.
        """
        reponse = QMessageBox.question(self,
        self.trUtf8("Information"),
        self.trUtf8("Voulez-vous rechercher par n° campagne d'étalonnage ? \n"\
                        +"Cliquer non pour rechercher par n° certificat"),
        QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

        if reponse == QtGui.QMessageBox.Yes:
            db = GestionBdd('db')
            db.reconnexion()
            ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide(
            )

            valeur_combobox = []
            for ele in ensemble_nom_campagne:
                valeur_combobox.append(
                    "Campagne d'étalonnage n° {}".format(ele))
            self.comboBox_validation_n_doc.addItems(valeur_combobox)

        else:
            db = GestionBdd('db')
            db.reconnexion()
            ensemble_nom_etalonnage = db.recuperation_n_ce_non_valide(
            )  #attention il s'agit d'un dico avec id_campagne_etal ,num_doc comme clef
            valeur_combobox = []
            for ele in ensemble_nom_etalonnage["num_doc"]:
                valeur_combobox.append("Etalonnage n° {}".format(ele))
#            print(valeur_combobox)
            self.comboBox_validation_n_doc.addItems(valeur_combobox)

    @pyqtSlot(str)
    def on_comboBox_reeimp_n_document_activated(self, p0):
        """
       Fct qui recupere l'ensemble des donnees d'une etalonnage
        """
        # TODO: not implemented yet
        #Acces bdd
        db = GestionBdd('db')
        db.reconnexion()
        n_certificat = self.comboBox_reeimp_n_document.currentText()

        ce = db.recuperation_donnees_etalonnage(n_certificat)
        cv = db.recuperation_donnees_conformite(ce)
        rapport_etalonnage = dict(list(ce.items()) + list(cv.items()))

        list_etalon = list(set(rapport_etalonnage["etalon"]))
        list_generateur = list(set(rapport_etalonnage["generateur"]))
        rapport_etalonnage["etalon"] = list_etalon
        rapport_etalonnage["generateur"] = list_generateur

        #on choisit le dossier de sauvegarde
        dossier = QFileDialog.getExistingDirectory(
            None, "Selectionner le dossier de sauvegarde des Rapports")

        #gestion n_ mode operatoire
        if rapport_etalonnage["milieu"] == "LIQUIDE":
            rapport_etalonnage["n_mode_operatoire"] = "025"
        else:
            rapport_etalonnage["n_mode_operatoire"] = "030"

        date_etal = rapport_etalonnage["date_etalonnage"].toString(
            'dd/MM/yyyy')
        rapport_etalonnage["date_etalonnage"] = date_etal

        if isinstance(rapport_etalonnage["renseignement_complementaire"], str):
            pass
        else:
            rapport_etalonnage["renseignement_complementaire"] = ""

        if not rapport_etalonnage["Annule_doc"]:
            certificat = RapportEtalonnage(
                rapport_etalonnage["CE"])  #appel à la classe RapportEtalonnage
            certificat.mise_en_forme_ce(rapport_etalonnage, dossier,
                                        rapport_etalonnage["n_certificat"])
        else:
            nom_fichier_ce = rapport_etalonnage[
                "n_certificat"] + " Annule et Remplace le document " + rapport_etalonnage[
                    "Annule_doc"]
            nom_ce = rapport_etalonnage[
                "n_certificat"] + "\n Annule et Remplace le document " + rapport_etalonnage[
                    "Annule_doc"]
            certificat = RapportEtalonnage(
                rapport_etalonnage["CE"])  #appel à la classe RapportEtalonnage
            certificat.mise_en_forme_ce_annule_remplace(
                rapport_etalonnage, dossier, nom_ce, nom_fichier_ce)

        if not cv["conformite"]:
            pass
        else:
            if not rapport_etalonnage["Annule_doc"]:
                nom_fichier_constat = str(
                    rapport_etalonnage["n_certificat"]) + "V"
                constat = RapportEtalonnage(rapport_etalonnage["CE"])
                constat.mise_en_forme_cv(rapport_etalonnage, dossier,
                                         nom_fichier_constat)
            else:
                nom_cv = rapport_etalonnage[
                    "n_certificat"] + "V" + "\n Annule et Remplace le document " + rapport_etalonnage[
                        "Annule_doc"] + "V"
                nom_fichier_cv = rapport_etalonnage[
                    "n_certificat"] + "V" + " Annule et Remplace le document " + rapport_etalonnage[
                        "Annule_doc"] + "V"

                constat = RapportEtalonnage(rapport_etalonnage["CE"])
                constat.mise_en_forme_cv_annule_remplace(
                    rapport_etalonnage, dossier, nom_cv, nom_fichier_cv)

        self.comboBox_reeimp_n_document.clear()

    @pyqtSlot(str)
    def on_comboBox_annule_remplace_n_doc_activated(self, p0):
        """
        Slot documentation goes here.
        """

        n_document_selectionne = self.comboBox_annule_remplace_n_doc.currentText(
        )

        db = GestionBdd('db')
        db.reconnexion()
        id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(
            n_document_selectionne)
        donnees_campagne = db.recuperation_donnees_etalonnage_validation(
            id_campagne_etal)  #on recupere toute les donnees de la campagne

        donnees_n_document_selectionne = []
        for ele in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
            if ele["num_document"] == n_document_selectionne:
                donnees_n_document_selectionne.append(ele)

#
#        rapport = RapportSaisie()
#        rapport.mise_en_forme(donnees_n_document_selectionne, n_document_selectionne)
#
#        print("donnees passées par le menu annule et remplace {}".format(donnees_n_document_selectionne))
        self.gestion_fichier_pickler_saisie_etalonnage(
            donnees_n_document_selectionne)
        self.saisie = Saisie([4, n_document_selectionne, id_campagne_etal])
        self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
        self.saisie.show()

    @pyqtSlot(str)
    def on_comboBox_validation_n_doc_activated(self, p0):
        """
        Appel la fct recuperation des donnees d etal de la classe bdd
        et export ces donnees dans un classeur excel class Rapport Saisie
        """

        valeur_selectionnee_combobox = self.comboBox_validation_n_doc.currentText(
        )

        if valeur_selectionnee_combobox[
                0] == "C":  #test pour savoir s'il s'agit d'un n° certificat ou de caompagne d'etalonnage
            nom_campagne_etal_particuliere = valeur_selectionnee_combobox[
                25:len(valeur_selectionnee_combobox)]

            db = GestionBdd('db')
            db.reconnexion()

            id_campagne_etal = db.recherche_id_campagne_etal_particuliere(
                nom_campagne_etal_particuliere)

            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal)
            #           print(donnees_campagne)
            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_campagne,
                                  nom_campagne_etal_particuliere)

            reponse = QMessageBox.question(
                self, self.trUtf8("Information"),
                self.trUtf8(
                    "Voulez-vous archiver cette campagne d'étalonnage"),
                QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

            if reponse == QtGui.QMessageBox.Yes:
                db.archivage_campage_etal(id_campagne_etal)
                db.archivage_etalonnage(id_campagne_etal)
                ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide(
                )
                valeur_combobox = [
                    nom for nom in ensemble_nom_campagne if bool(nom) != False
                ]
                self.comboBox_validation_n_doc.clear()
                #effacement des fichiers temporaire (present dans le dossier AppData)

                path = os.path.abspath("AppData/")

                for ele in os.listdir(path):
                    path_total = str(path + "/" + str(ele))

                    if os.path.isfile(
                            path_total
                    ):  # verification qu'il s'agit bien de fichier
                        os.remove(path_total)
#                self.comboBox_validation_n_doc.addItems(valeur_combobox)

            else:
                reponse = QMessageBox.question(
                    self, self.trUtf8("Information"),
                    self.trUtf8("Voulez-vous modifier les donnees?"),
                    QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

                if reponse == QtGui.QMessageBox.Yes:
                    rapport.fermeture()
                    instrument = []
                    #                    QMessageBox.information(self,
                    #                    self.trUtf8("Information"),
                    #                    self.trUtf8("Merci de fermer le rapport de saisie (fichier excel)"))

                    self.gestion_fichier_pickler_saisie_etalonnage(
                        donnees_campagne)
                    self.saisie = Saisie(
                        [2, nom_campagne_etal_particuliere, id_campagne_etal])
                    self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
                    self.saisie.show()
        else:
            n_document_selectionne = valeur_selectionnee_combobox[
                14:len(valeur_selectionnee_combobox)]

            db = GestionBdd('db')
            db.reconnexion()
            id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(
                n_document_selectionne)
            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal
            )  #on recupere toute les donnees de la campagne
            nom_campagne_etal_particuliere = db.recherche_nom_campagne_etal_id_campagne(
                id_campagne_etal)

            id_etalonnage = db.recherche_id_etalonnage_num_doc(
                n_document_selectionne)

            donnees_n_document_selectionne = []
            for ele in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
                if ele["num_document"] == n_document_selectionne:
                    donnees_n_document_selectionne.append(ele)

            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_n_document_selectionne,
                                  n_document_selectionne)

            reponse = QMessageBox.question(
                self, self.trUtf8("Information"),
                self.trUtf8("Voulez-vous archiver cet d'étalonnage"),
                QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

            if reponse == QtGui.QMessageBox.Yes:
                db.archivage_etalonnage_unique(id_etalonnage)
                ensemble_nom_campagne = db.recuperation_nom_campagne_etal_non_valide(
                )
                self.comboBox_validation_n_doc.clear()
                #                self.comboBox_validation_n_doc.addItems(valeur_combobox)
                #effacement des fichiers temporaire (present dans le dossier AppData)

                path = os.path.abspath("AppData/")

                for ele in os.listdir(path):
                    path_total = str(path + "/" + str(ele))

                    if os.path.isfile(
                            path_total
                    ):  # verification qu'il s'agit bien de fichier
                        os.remove(path_total)

            else:
                reponse = QMessageBox.question(
                    self, self.trUtf8("Information"),
                    self.trUtf8("Voulez-vous modifier les donnees?"),
                    QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
                if reponse == QtGui.QMessageBox.Yes:
                    rapport.fermeture()
                    #                    QMessageBox.information(self,
                    #                    self.trUtf8("Information"),
                    #                    self.trUtf8("Merci de fermer le rapport de saisie (fichier excel)"))

                    self.gestion_fichier_pickler_saisie_etalonnage(
                        donnees_n_document_selectionne)
                    self.saisie = Saisie([
                        3, n_document_selectionne,
                        nom_campagne_etal_particuliere
                    ])
                    self.saisie.setWindowModality(QtCore.Qt.ApplicationModal)
                    self.saisie.show()

    def gestion_fichier_pickler_saisie_etalonnage(self, donnees_campagne):
        ''''fonction qui gere la creation des fichiers pickler en vue de les modifier
        dans Saisie_Etalonnage'''

        #config:
        db = GestionBdd('db')
        db.reconnexion()
        fichier_configuration = []
        config_etal = {}
        fichier_saisie = {}

        nbr_instrum = len(donnees_campagne)
        config_etal["nbr_instrum"] = nbr_instrum

        nbr_pt_etal = donnees_campagne[0]["nbr_pt_etalonnage"]
        config_etal["nbr_pts_temp"] = nbr_pt_etal

        date_1 = donnees_campagne[0]["date_etalonnage"]

        #        date = QtCore.QDate.fromString(date_1, "yyyy-MM-dd")

        config_etal["Date"] = date_1

        fichier_configuration.append(config_etal)

        i = 0
        while i < nbr_instrum:
            instrument = {}
            resolution = []

            instrum = db.gestion_remplissage_onglet_config_2(
                donnees_campagne[i]["identification_instrument"])
            instrument["nom_instrum"] = donnees_campagne[i][
                "identification_instrument"]

            instrument["n_serie"] = instrum[0]
            instrument["constructeur"] = instrum[1]
            instrument["Type"] = instrum[2]

            #            resolution.append(instrum[3])
            instrument["resolution"] = donnees_campagne[i][
                "resolution_instrument"]

            if isinstance(instrum[4], str):
                instrument["renseignement_complementaire"] = instrum[4]
            else:
                instrument["renseignement_complementaire"] = ""

            if donnees_campagne[i]["CE"] == "COFRAC":
                instrument["Type_etalonnage"] = "Cofrac"
            else:
                instrument["Type_etalonnage"] = "Non Cofrac"

            instrument["Etat_reception"] = donnees_campagne[i][
                "Etat_reception"]
            instrument["immersion"] = donnees_campagne[i]["immersion"]
            fichier_configuration.append(instrument)

            i += 1

        sauvegarde_onglet_saisie(fichier_configuration, "configuration")

        #gestion fichiers saisies
        #pt 1
        i = 1
        while i <= nbr_pt_etal:
            j = 0
            while j < nbr_instrum:

                fichier_saisie["mesures_inst_" +
                               str(j + 1)] = donnees_campagne[j][
                                   "mesure_instrum_pt" + str(i)]
                fichier_saisie["mesures_etal_brute"] = donnees_campagne[j][
                    "mesure_etal_non_corri_pt" + str(i)]
                fichier_saisie["mesures_etal_corri"] = donnees_campagne[j][
                    "mesure_etal_corri_pt" + str(i)]
                fichier_saisie["corrections_instrum_" +
                               str(j + 1)] = numpy.array(
                                   donnees_campagne[j]["mesure_instrum_pt" +
                                                       str(i)])
                fichier_saisie["nb_acquisition"] = len(
                    donnees_campagne[j]["mesure_instrum_pt" + str(i)])

                #recherche id operteur
                operateur = []

                for ele in donnees_campagne[j]["operateur"].split():
                    operateur.append(ele)
                prenom = operateur[0]
                nom = operateur[1]
                id_operateur = db.recuperation_id_operateur(prenom, nom)

                fichier_saisie[
                    "operateur"] = id_operateur - 1  #combobox partent à 0

                fichier_saisie[
                    "auto_echauffement_instrum_" +
                    str(j)] = donnees_campagne[j]["autoechauffement"][i - 1]

                if donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 003":
                    fichier_saisie[
                        "etalon"] = 0  #attention il nous faut un numero
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 004":
                    fichier_saisie["etalon"] = 1
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 005":
                    fichier_saisie["etalon"] = 2
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 006":
                    fichier_saisie["etalon"] = 3
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 007":
                    fichier_saisie["etalon"] = 4
                elif donnees_campagne[j]["nom_etalon"][i - 1] == "THE REF 008":
                    fichier_saisie["etalon"] = 5

                if donnees_campagne[j]["nom_generateur"][i - 1] == "BGF":
                    fichier_saisie[
                        "generateur"] = 0  #attention il nous faut un numero
                elif donnees_campagne[j]["nom_generateur"][i - 1] == "HART_1":
                    fichier_saisie["generateur"] = 1
                elif donnees_campagne[j]["nom_generateur"][i - 1] == "HART_2":
                    fichier_saisie["generateur"] = 2
                elif donnees_campagne[j]["nom_generateur"][i - 1] == "ESPEC_1":
                    fichier_saisie["generateur"] = 3
                elif donnees_campagne[j]["nom_generateur"][i - 1] == "ESPEC_2":
                    fichier_saisie["generateur"] = 4

                fichier_saisie[
                    "moyenne_instrum_" +
                    str(j + 1)] = donnees_campagne[j]["moyenne_instrum"][i - 1]
                fichier_saisie["ecartype_corrections_instrum_" +
                               str(j +
                                   1)] = donnees_campagne[j]["ecart_type"][i -
                                                                           1]
                fichier_saisie["temp_consig"] = donnees_campagne[j][
                    "temp_consigne"][i - 1]
                fichier_saisie[
                    "moyenne_corrections_instrum_" +
                    str(j)] = donnees_campagne[j]["moyenne_correction"][i - 1]
                fichier_saisie["moyenne_etal_corri"] = donnees_campagne[j][
                    "moyenne_etalon_c"][i - 1]
                fichier_saisie[
                    "fuite_thermique_instrum_" +
                    str(j + 1)] = donnees_campagne[j]["fuite_thermique"][i - 1]

                j += 1

            fichier_saisie["pt_etalonnag_n"] = i
            fichier_saisie["chemin_fichier_etalon"] = "Neant"
            sauvegarde_onglet_saisie(fichier_saisie, i)
            i += 1

    @pyqtSlot()
    def on_radioButton_consultation_clicked(self):
        """
        Slot documentation goes here.
        """
        reponse = QMessageBox.question(self,
        self.trUtf8("Information"),
        self.trUtf8("Voulez-vous rechercher par n° campagne d'étalonnage ? \n"\
                        +"Cliquer non pour rechercher par n° certificat"),
        QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)

        if reponse == QtGui.QMessageBox.Yes:
            db = GestionBdd('db')
            db.reconnexion()
            ensemble_nom_campagne = db.recuperation_nom_campagne_etal_all()

            valeur_combobox = []
            for ele in ensemble_nom_campagne:
                valeur_combobox.append(
                    "Campagne d'étalonnage n° {}".format(ele))
            self.comboBox_consultation.addItems(valeur_combobox)

        else:
            db = GestionBdd('db')
            db.reconnexion()
            ensemble_nom_etalonnage = db.recuperation_n_ce_all(
            )  #attention il s'agit d'un dico avec id_campagne_etal ,num_doc comme clef
            valeur_combobox = []
            for ele in ensemble_nom_etalonnage["num_doc"]:
                valeur_combobox.append("Etalonnage n° {}".format(ele))
#            print(valeur_combobox)
            self.comboBox_consultation.addItems(valeur_combobox)

    @pyqtSlot(str)
    def on_comboBox_consultation_activated(self, p0):
        """
        Slot documentation goes here.
        """

        valeur_selectionnee_combobox = self.comboBox_consultation.currentText()

        if valeur_selectionnee_combobox[
                0] == "C":  #test pour savoir s'il s'agit d'un n° certificat ou de caompagne d'etalonnage
            nom_campagne_etal_particuliere = valeur_selectionnee_combobox[
                25:len(valeur_selectionnee_combobox)]

            db = GestionBdd('db')
            db.reconnexion()

            id_campagne_etal = db.recherche_id_campagne_etal_particuliere(
                nom_campagne_etal_particuliere)

            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal)
            #        print(donnees_campagne)
            rapport = RapportSaisie(nom_campagne_etal_particuliere)
            rapport.mise_en_forme(donnees_campagne,
                                  nom_campagne_etal_particuliere)

        else:
            n_document_selectionne = valeur_selectionnee_combobox[
                14:len(valeur_selectionnee_combobox)]

            db = GestionBdd('db')
            db.reconnexion()
            id_campagne_etal = db.recherche_id_campagne_etal_n_etalonnage(
                n_document_selectionne)
            donnees_campagne = db.recuperation_donnees_etalonnage_validation(
                id_campagne_etal
            )  #on recupere toute les donnees de la campagne
            nom_campagne = db.recherche_nom_campagne_etal_id_campagne(
                id_campagne_etal)
            donnees_n_document_selectionne = []
            for ele in donnees_campagne:  # on trie les données de la campagne pour ne garder que le n°certificat selectionné
                if ele["num_document"] == n_document_selectionne:
                    donnees_n_document_selectionne.append(ele)

            rapport = RapportSaisie(nom_campagne)
            rapport.mise_en_forme(donnees_n_document_selectionne,
                                  n_document_selectionne)