Browse Source

FIX correction sync etancheite

olivier.massot 7 years ago
parent
commit
1e64bc0d82
1 changed files with 16 additions and 9 deletions
  1. 16 9
      qgis_sync_etancheite.py

+ 16 - 9
qgis_sync_etancheite.py

@@ -31,11 +31,11 @@ IMPORT_DEPUIS = 24  # Ne cherche des données à importer que sur les X derniers
 # # POUR TESTER, décommenter les lignes suivantes
 ##-----------------------------------------------
 
-ControlesDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\cg67Parc_data.mdb")
-CSigDb.server = "TR-POSTGIS-02"
-CSigDb.pwd = "Am5VOMkdFHU7WwrfVOs9"
-logger.handlers = [h for h in logger.handlers if (type(h) == logging.StreamHandler)]
-logger.warning("<<<<<<<<<<<<<<   Mode TEST   >>>>>>>>>>>>>>>>>")
+# ControlesDb._path = Path(r"\\h2o\local\4-transversal\BDD\mdb_test\cg67Parc_data.mdb")
+# CSigDb.server = "TR-POSTGIS-02"
+# CSigDb.pwd = "Am5VOMkdFHU7WwrfVOs9"
+# logger.handlers = [h for h in logger.handlers if (type(h) == logging.StreamHandler)]
+# logger.warning("<<<<<<<<<<<<<<   Mode TEST   >>>>>>>>>>>>>>>>>")
 
 ##-----------------------------------------------
 
@@ -56,8 +56,17 @@ date_min = datetime.today() - relativedelta(months=IMPORT_DEPUIS) if IMPORT_DEPU
 logger.info("Loading data")
 
 # NB: utiliser une erquête access pré-enregistrée permet d'améliorer les perfs (la requete est pré-compilée)
-qessais = controles_db.read(Sql.format("""SELECT lngChantierId, bytIntervId, strTrcRegard, strResSigne, strObjetEssai
-                                          FROM csig_etancheite_results WHERE dtmEssai > {:date}""", date_min))
+qessais = controles_db.read(Sql.format("""SELECT tblEtancheiteResultats.lngChantierId, tblEtancheitePartChantiers.strTrcRegard, tblTypeEssais.strObjetEssai, tblEtancheiteResultats.strResSigne, tblEtancheiteResultats.dtmEssai
+                                            FROM ((tblTypeEssais INNER JOIN tblEtancheitePartChantiers ON tblTypeEssais.bytTypeEssaiId = tblEtancheitePartChantiers.bytTypeEssai) INNER JOIN
+                                                   tblEtancheiteResultats ON (tblEtancheitePartChantiers.bytPartChantierId = tblEtancheiteResultats.bytPartChantierId) AND
+                                                   (tblEtancheitePartChantiers.lngChantierId = tblEtancheiteResultats.lngChantierId)) INNER JOIN (SELECT tblEtancheiteResultats.lngChantierId, Max(tblEtancheiteResultats.bytIntervId) AS MaxDebytIntervId, tblEtancheiteResultats.bytPartChantierId
+                                            FROM tblEtancheiteResultats
+                                            GROUP BY tblEtancheiteResultats.lngChantierId, tblEtancheiteResultats.bytPartChantierId) as filter_intervs ON
+                                                   (tblEtancheiteResultats.bytPartChantierId = filter_intervs.bytPartChantierId) AND
+                                                   (tblEtancheiteResultats.bytIntervId = filter_intervs.MaxDebytIntervId) AND
+                                                   (tblEtancheiteResultats.lngChantierId = filter_intervs.lngChantierId)
+                                            WHERE tblEtancheiteResultats.dtmEssai>{:date};
+                                            """, date_min))
 
 nb_r, nb_t = 0, 0
 
@@ -73,7 +82,6 @@ for essai in qessais:
                                     """, essai.strTrcRegard, essai.lngChantierId))
 
         if not regard:
-            logger.info("Le regard n'existe pas dans CSig: {}, {}".format(essai.lngChantierId, essai.strTrcRegard))
             continue
 
         if regard.res_ce != essai.strResSigne:
@@ -106,7 +114,6 @@ for essai in qessais:
                                     """, r1=r1, r2=r2, num_chantier=essai.lngChantierId))
 
         if not troncon:
-            logger.info("Le tronçon n'existe pas dans CSig: {}, {}".format(essai.lngChantierId, essai.strTrcRegard))
             continue
 
         if troncon.res_ce != essai.strResSigne: