Beispiel #1
0
    def creation_annexes(sommes, clients, edition, livraisons, acces, machines, reservations, prestations, comptes,
                         dossier_annexe, plateforme, prefixe, coefprests, coefmachines, generaux, garde):
        """
        création des annexes techniques
        :param sommes: sommes calculées
        :param clients: clients importés
        :param edition: paramètres d'édition
        :param livraisons: livraisons importées
        :param acces: accès importés
        :param machines: machines importées
        :param reservations: réservations importées
        :param prestations: prestations importées
        :param comptes: comptes importés
        :param dossier_annexe: nom du dossier dans lequel enregistrer les annexes
        :param plateforme: OS utilisé
        :param prefixe: prefixe de nom des annexes
        :param coefprests: coefficients prestations importés
        :param coefmachines: coefficients machines importés
        :param generaux: paramètres généraux
        :param garde: titre page de garde
        """

        if sommes.calculees == 0:
            info = "Vous devez d'abord faire toutes les sommes avant de pouvoir créer les annexes"
            print(info)
            Outils.affiche_message(info)
            return

        for code_client in sommes.sommes_clients.keys():
            contenu = Latex.entete(plateforme)
            contenu += r'''\usepackage[margin=10mm, includefoot]{geometry}
                \usepackage{multirow}
                \usepackage{longtable}
                \usepackage{dcolumn}
                \usepackage{changepage}
                \usepackage[scriptsize]{caption}

                \begin{document}
                \renewcommand{\arraystretch}{1.5}
                '''
            contenu += r'''
                \vspace*{8cm}
                \begin{adjustwidth}{5cm}{}
                \Large\textsc{''' + garde + r'''}\newline\newline'''
            nom = Latex.echappe_caracteres(clients.donnees[code_client]['abrev_labo'])
            code_sap = clients.donnees[code_client]['code_sap']

            contenu += code_client + " - " + code_sap + " - " + nom + r'''\newpage
                \end{adjustwidth}'''
            contenu += Annexes.contenu_client(sommes, clients, code_client, edition, livraisons, acces, machines,
                                              reservations, prestations, comptes, coefprests, coefmachines, generaux)
            contenu += r'''\end{document}'''

            nom = prefixe + str(edition.annee) + "_" + Outils.mois_string(edition.mois) + "_" + \
                  str(edition.version) + "_" + code_client

            Latex.creer_latex_pdf(nom, contenu, dossier_annexe)
Beispiel #2
0
    def entete(edition):
        """
        création de l'entête latex
        :param edition: paramètres d'édition
        :return: entête latex
        """

        entete = Latex.entete()
        entete += r'''
            \usepackage[margin=12mm, includehead, includefoot]{geometry}
            \usepackage{multirow}
            \usepackage{graphicx}
            \usepackage{longtable}
            \usepackage{dcolumn}
            \usepackage{changepage}
            \usepackage[scriptsize]{caption}
            \captionsetup[table]{position=bottom}
            \usepackage{fancyhdr}\usepackage{float}
            \restylefloat{table}

            '''

        if edition.filigrane != "":
            entete += r'''
                \usepackage{draftwatermark}
                \SetWatermarkLightness{0.8}
                \SetWatermarkAngle{45}
                \SetWatermarkScale{2}
                \SetWatermarkFontSize{2cm}
                \SetWatermarkText{''' + edition.filigrane[:15] + r'''}
                '''

        entete += r'''
            \pagestyle{fancy}

            \fancyhead{}
            \fancyfoot{}

            \renewcommand{\headrulewidth}{0pt}
            \renewcommand{\footrulewidth}{0pt}
            \renewcommand{\arraystretch}{1.5}

            \fancyhead[L]{\leftmark}
            \fancyhead[R]{\thepage \\ \rightmark}

            \newcommand{\fakesection}[2]{
                \markboth{#1}{#2}
            }

            \begin{document}
            '''

        return entete
Beispiel #3
0
    def annexes(consolidation, plateforme, subgeneraux, subedition,
                dossier_annexe):
        """
        création des annexes de subsides
        :param consolidation: classe de consolidation des données des bilans
        :param plateforme: OS utilisé
        :param subgeneraux: paramètres généraux
        :param subedition: paramètres d'édition
        :param dossier_annexe: nom du dossier dans lequel enregistrer le dossier des annexes
        """
        for code_client, dcl in consolidation.clients.items():
            code_client = Latex.echappe_caracteres(code_client)

            contenu = Latex.entete(plateforme)
            contenu += r'''
                \usepackage[margin=10mm, includehead]{geometry}
                \usepackage{changepage}
                \usepackage{graphicx}
                \usepackage{longtable}
                \usepackage{dcolumn}
                \usepackage[scriptsize]{caption}
                \usepackage{fancyhdr}
                '''

            if subedition.filigrane != "":
                contenu += r'''
                    \usepackage{draftwatermark}
                    \SetWatermarkLightness{0.8}
                    \SetWatermarkAngle{45}
                    \SetWatermarkScale{2}
                    \SetWatermarkFontSize{2cm}
                    \SetWatermarkText{''' + subedition.filigrane[:15] + r'''}
                    '''

            contenu += r'''
                \pagestyle{fancy}

                \fancyhead{}
                \fancyfoot{}

                \renewcommand{\headrulewidth}{0pt}
                \renewcommand{\footrulewidth}{0pt}

                \fancyhead[L]{\leftmark \\ \rightmark}
                \fancyhead[R]{\thepage}

                \newcommand{\fakesection}[2]{
                    \markboth{#1}{#2}
                }
                
                \begin{document}
                \renewcommand{\arraystretch}{1.5}
                '''
            reference = "SUBS" + str(subedition.annee_fin_general)[2:] + \
                        Outils.mois_string(subedition.mois_fin_general) + "." + code_client

            contenu += r'''
                \begin{titlepage}
                \vspace*{8cm}
                \begin{adjustwidth}{5cm}{}
                \Large\textsc{Annexes subsides \newline Subsidies Appendices}\newline
                \Large\textsc{''' + reference + r'''}\newline\newline\newline
                '''

            debut = Outils.mois_nom(subedition.mois_debut_general) + " " + str(
                subedition.annee_debut_general)
            fin = Outils.mois_nom(subedition.mois_fin_general) + " " + str(
                subedition.annee_fin_general)
            dic_entete = {
                'code': code_client,
                'code_sap': Latex.echappe_caracteres(dcl['sap']),
                'nom': Latex.echappe_caracteres(dcl['abrev']),
                'debut': debut,
                'fin': fin
            }

            contenu += r'''Client %(code)s - %(code_sap)s - %(nom)s \newline
                 %(debut)s - %(fin)s
                \end{adjustwidth}
                \end{titlepage}    
                \clearpage
                ''' % dic_entete
            contenu += Annexes.contenu_client(code_client, consolidation,
                                              subgeneraux, subedition)
            contenu += r'''\end{document}'''

            nom = "subside_" + str(subedition.annee_fin_general) + "_" + \
                  Outils.mois_string(subedition.mois_fin_general) + "_" + code_client

            Latex.creer_latex_pdf(nom, contenu, dossier_annexe)
Beispiel #4
0
    def creation_annexes(sommes, clients, edition, livraisons, acces, machines,
                         reservations, prestations, comptes, dossier_annexe,
                         plateforme, prefixe, coefprests, coefmachines,
                         generaux, garde):
        """
        création des annexes techniques
        :param sommes: sommes calculées
        :param clients: clients importés
        :param edition: paramètres d'édition
        :param livraisons: livraisons importées
        :param acces: accès importés
        :param machines: machines importées
        :param reservations: réservations importées
        :param prestations: prestations importées
        :param comptes: comptes importés
        :param dossier_annexe: nom du dossier dans lequel enregistrer les annexes
        :param plateforme: OS utilisé
        :param prefixe: prefixe de nom des annexes
        :param coefprests: coefficients prestations importés
        :param coefmachines: coefficients machines importés
        :param generaux: paramètres généraux
        :param garde: titre page de garde
        """

        if sommes.calculees == 0:
            info = "Vous devez d'abord faire toutes les sommes avant de pouvoir créer les annexes"
            print(info)
            Outils.affiche_message(info)
            return

        for code_client in sommes.sommes_clients.keys():
            contenu = Latex.entete(plateforme)
            contenu += r'''\usepackage[margin=10mm, includefoot]{geometry}
                \usepackage{multirow}
                \usepackage{longtable}
                \usepackage{dcolumn}
                \usepackage{changepage}
                \usepackage[scriptsize]{caption}

                \begin{document}
                \renewcommand{\arraystretch}{1.5}
                '''
            contenu += r'''
                \vspace*{8cm}
                \begin{adjustwidth}{5cm}{}
                \Large\textsc{''' + garde + r'''}\newline\newline'''
            nom = Latex.echappe_caracteres(
                clients.donnees[code_client]['abrev_labo'])
            code_sap = clients.donnees[code_client]['code_sap']

            contenu += code_client + " - " + code_sap + " - " + nom + r'''\newpage
                \end{adjustwidth}'''
            contenu += Annexes.contenu_client(sommes, clients, code_client,
                                              edition, livraisons, acces,
                                              machines, reservations,
                                              prestations, comptes, coefprests,
                                              coefmachines, generaux)
            contenu += r'''\end{document}'''

            nom = prefixe + str(edition.annee) + "_" + Outils.mois_string(edition.mois) + "_" + \
                  str(edition.version) + "_" + code_client

            Latex.creer_latex_pdf(nom, contenu, dossier_annexe)