| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 |
- '''
- Configuration des scripts
- '''
- from datetime import datetime
- from path import Path
- from core.db import AccessSDb
- from core.model import Model
- MAIN = Path(__file__).parent.parent.abspath()
- # Web url of the WsPde web service
- # PDE_WS_URL = r"http://localhost:2890/public/WsPDE.asmx"
- PDE_WS_URL = r"http://webservices-t.bas-rhin.fr/CG67.AstreGF.WebServices/public/WsPDE.asmx"
- # Chemin d'acces au fichier de secu Access, et login/mdp
- MDW_PATH = r"\\h2o\local\4-transversal\BDD\mda\cg67Parc.mdw"
- UID = "olivier"
- PWD = "massot"
- # Dirs
- WRKDIR = MAIN / "work"
- RSCDIR = MAIN / "resources"
- DEFAULT_LOG_DIR = MAIN / "log"
- LOG_CONFIG_FILE = MAIN / "logging.yaml"
- PDA_FILES_DEST = Path(r"\\h2o\LOCAL\4-transversal\BDD\mdb\PDA\Fichiers_PDA")
- FACTURES_DB_PATH = Path(r"\\h2o\local\4-transversal\BDD\mdb\Facture_data.mdb")
- CONTROLES_DB_PATH = Path(r"\\h2o\local\4-transversal\BDD\mdb\cg67Parc_data.mdb")
- WINCAN_DB_PATH = Path(r"\\h2o\local\4-transversal\BDD\mdb\Wincan\parc_2007\DB\PARC_2007.mdb")
- COMMUN_DB_PATH = Path(r"\\h2o\local\4-transversal\BDD\mdb\Commun_Data.mdb")
- ANALYTIQUE_DB_PATH = Path(r"\\h2o\local\4-transversal\BDD\mdb\Db_analytique.mdb")
- BO_DB_PATH = Path(r"\\h2o\local\4-transversal\BDD\mdb\dbBO.mdb")
- AGRHUM_DB_PATH = Path(r"\\h2o\local\4-transversal\BDD\mdb\BDD_ParcRH.mdb")
- PDA_DB_PATH = Path(r"\\h2o\local\4-transversal\BDD\mdb\PDA\db_PDA.mdb")
- ### *********** Ne pas modifier en dessous *************** ###
- DEFAULT_LOG_DIR.mkdir_p()
- WRKDIR.mkdir_p()
- def mk_workdir(name):
- """ créé le répertoire de travail pour le script 'name' """
- workdir = WRKDIR / name
- workdir.mkdir_p()
- return workdir
- # ## Bases du PDE
- class ParcDb(AccessSDb):
- _path = ""
- def __init__(self, **kwargs):
- super(AccessSDb, self).__init__(self._path, systemdb=MDW_PATH, uid=UID, pwd=PWD, **kwargs)
- class FacturesDb(ParcDb):
- _path = FACTURES_DB_PATH
- class ControlesDb(ParcDb):
- _path = CONTROLES_DB_PATH
- class WincanDb(ParcDb):
- _path = COMMUN_DB_PATH
- class CommunDb(ParcDb):
- _path = FACTURES_DB_PATH
- class AnalytiqueDb(ParcDb):
- _path = ANALYTIQUE_DB_PATH
- class BoDb(ParcDb):
- _path = BO_DB_PATH
- class AgrhumDb(ParcDb):
- _path = AGRHUM_DB_PATH
- class PdaDb(ParcDb):
- _path = PDA_DB_PATH
- # ## Modèles
- class EnTete(Model):
- """ En-tête d'une facture dans FacturesDb """
- def __init__(self):
- self.lngPieceId = 0
- self.lngDocId = 0
- self.lngTiersId = 0
- self.lngASTRE = None
- self.strCodeProduit = None
- self.bytTitreId = 0
- self.strCodeAdresse = None
- self.strAdresse1 = None
- self.strAdresse2 = None
- self.strAdresse3 = None
- self.strAdresse4 = None
- self.strAdresse5 = None
- self.strPaysIdIso3166 = None # (!) le nom réel du champ est '[strPaysIdIso3166-A2]'
- self.bytTVATiersId = 0
- self.strTelephone = None
- self.strTelecopie = None
- self.strPortable = None
- self.strEMail = None
- self.strWeb = None
- self.strLangueIdIso639 = None
- self.strCompteComptable = None
- self.strDeviseIdIso4217 = None
- self.bytReglementId = 0
- self.strReglement = None
- self.bytClasseTarifId = 0
- self.bytClasseRemiseTiersId = 0
- self.bytNbExFacture = 1
- self.strStatTiers = None
- self.bytSituationIdPrincipale = 0
- self.bytSituationIdSecondaire = 0
- self.memObsEntete = None
- self.memObsPied = None
- self.memObsInterne = None
- self.bytTypeDocumentId = 0
- self.strStatDocEntete = None
- self.dblCoursDevise = 1
- self.dtmCoursDevise = datetime.now()
- self.dtmCreation = datetime.now()
- self.strUserIdCreation = None
- self.dtmLastMod = datetime.now()
- self.strUserIdLastMod = None
- self.dtmPiece = datetime.now()
- self.dtmFirstPrint = None
- self.dtmLastPrint = None
- self.dtmCompta = None
- self.dtmLivraison = None
- self.dtmEcheance = None
- self.bytTypeTarif = 1
- self.idEtatEmission = None
- class Ligne(Model):
- """ Ligne d'une facture dans FacturesDb """
- def __init__(self):
- self.lngPieceId = 0
- self.intLigneId = 0
- self.strArticleId = None
- self.strArticle = None
- self.bytTVAArticleId = 0
- self.bytTVAId = 0
- self.dblTVATaux = 0
- self.dblQte = 0
- self.bytUniteIdQuantite = 0
- self.bytNbDecQuantite = 2
- self.bytUniteIdPrix = 0
- self.dblCnvUniteCoef = 1
- self.bytNbDecQuantiteConvertie = 2
- self.dblPUhtBrutDev = 0
- self.dblPUttcBrutDev = 0
- self.dblPUhtNetDev = 0
- self.dblPUttcNetDev = 0
- self.bytNbDecPU = 2
- self.dblPThtBrutDev = 0
- self.dblPTttcBrutDev = 0
- self.dblPThtNetDev = 0
- self.dblPTttcNetDev = 0
- self.strStatArticle = None
- self.strStatDocLigne = None
- self.dblTauxRemise1 = 0
- self.dblTauxRemise2 = 0
- self.dblTauxRemise3 = 0
- self.blnPrestation = False
- self.strCompteComptable = None
- self.memObs = None
- self.memObsInterne = None
- self.bytLigneSousTotal = 1
- self.intLigneIdRattachement = 0
- self.blnLigneVisible = True
- self.blnLigneGeneree = False
- self.bytGenerateurId = 0
- self.dblPUhtBrut = 0
- self.dblPUttcBrut = 0
- self.dblPUhtNet = 0
- self.dblPUttcNet = 0
- self.dblPThtBrut = 0
- self.dblPTttcBrut = 0
- self.dblPThtNet = 0
- self.dblPTttcNet = 0
- self.bytClasseRemiseArticleId = 0
- self.dblPUSaisie = 0
- self.strPUAff = ""
- self.strQteAff = ""
- if __name__ == "__main__":
- for cls in (FacturesDb, ControlesDb, WincanDb, CommunDb, AnalytiqueDb, BoDb, AgrhumDb):
- db = cls()
- db.assert_connected()
- print("connections ok")
|