| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- '''
- Script d'import des données de facturation depuis la base de données ASTRE-GF
- vers les tables de la base Analytique du Parc Départemental d'Erstein
- @author: olivier.massot, juin 2017
- '''
- from datetime import datetime
- import logging
- from core import logconf
- from core.pde import FacturesDb
- from core.webservice import GfWebservice
- logger = logging.getLogger("gf2factures")
- logconf.start("gf2factures", logging.INFO)
- logger.info("Initialization")
- # Connect to factures.mdb
- factures_db = FacturesDb(autocommit=True)
- # Connect to the astre gf webservice
- ws = GfWebservice("GetPDETitres")
- analysed = 0
- updated = 0
- for titre in ws:
- if not titre:
- continue
- analysed += 1
- strfilter = "[lngDocId]={} AND [bytTypeDocumentId]=50".format(titre["docId"])
- record = factures_db.first("SELECT memobsinterne FROM tblPieceEntete WHERE {}".format(strfilter))
- if not record:
- logger.warning("(!) no record found where '{}'".format(strfilter))
- continue
- memobs = record.memobsinterne if record.memobsinterne else ""
- if "Titre n° : {}".format(titre["titreId"]) in memobs:
- # already imported
- continue
- logger.info("import: {}".format(titre["docId"]))
- if memobs:
- memobs += "\r\n"
- dt = datetime.strptime(titre["dateTitre"][:10], "%Y-%m-%d").strftime("%d/%m/%Y")
- memobs += r"Titre n° : {} le {}".format(titre["titreId"], dt)
- factures_db.execute("UPDATE tblPieceEntete SET [memObsInterne]='{}' WHERE {}".format(memobs, strfilter))
- updated += 1
- logger.info("Operation ended: {} lines analysed, {} updated".format(analysed, updated))
|