|
|
@@ -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
|
|
|
+
|
|
|
+
|
|
|
+
|