Browse Source

NEW Ajout de analytique2facture

olivier.massot 7 năm trước cách đây
mục cha
commit
2a100f030a
1 tập tin đã thay đổi với 60 bổ sung0 xóa
  1. 60 0
      analytique2facture.py

+ 60 - 0
analytique2facture.py

@@ -0,0 +1,60 @@
+'''
+
+    Génère des factures dans la base Factures à partir des données de Tarification de Analytique
+
+    @author: olivier.massot, févr. 2018
+'''
+import logging
+import sys
+
+from path import Path
+
+from core import logconf
+from core.pde import FacturesDb, AnalytiqueDb, CommunDb
+
+
+logger = logging.getLogger("analytique2facture")
+logconf.start("analytique2facture", logging.DEBUG)
+
+# # POUR TESTER, décommenter les lignes suivantes
+##-----------------------------------------------
+
+logger.warning("<<<<<<<<<<<<<<   Mode TEST   >>>>>>>>>>>>>>>>>")
+AnalytiqueDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\Db_analytique.mdb")
+FacturesDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\Facture_data.mdb")
+CommunDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\Commun_Data.mdb")
+
+##-----------------------------------------------
+
+# Connexion à Analytique
+analytique_db = AnalytiqueDb(autocommit=False)
+
+# Connexion à Controles
+facture_db = FacturesDb(autocommit=False)
+
+# Connexion à CommunDb
+commun_db = CommunDb(autocommit=False)
+
+mois_facturation = input("Veuillez renseigner le mois de facturation ('q' pour quitter): ")  # Format: voir avec jacky
+if mois_facturation == 'q':
+    sys.exit(1)
+
+sql = """SELECT * FROM tbl_Tarification
+        WHERE strStatut='A facturer'
+        ORDER BY DblAffaireId, DblTarifId DESC;
+        """
+
+if not analytique_db.exists(sql):
+    logger.info("Aucune facture à créer - Opération annulée")
+    sys.exit(1)
+
+
+# On va créer une facture commune à toutes les interventions 'à facturer' d'une même affaire (cad qui ont un numéro de pièce commun)
+# > Pour chaque facture, on va ajouter une ligne dans tblPieceEntete, et une ligne par intervention dans tblPieceLigne
+# > NB: On ne touche pas aux interventions de cette affaire qui ont déja été facturées
+
+for tarif in analytique_db.read(sql):
+    pass
+
+
+