From 69114ba0c348f75245833020ee05762dd8ee3647 Mon Sep 17 00:00:00 2001 From: fanilo Date: Mon, 5 Jan 2026 17:48:31 +0100 Subject: [PATCH] name of enrichisment function refactored --- sage_connector.py | 120 ++++++++++++---------------- utils/articles/articles_data_sql.py | 68 ++++++++-------- utils/functions/data/create_doc.py | 4 +- 3 files changed, 88 insertions(+), 104 deletions(-) diff --git a/sage_connector.py b/sage_connector.py index 983ab57..5eec384 100644 --- a/sage_connector.py +++ b/sage_connector.py @@ -5,30 +5,29 @@ from typing import Dict, List, Optional import threading import time import logging -from config import settings import pyodbc from contextlib import contextmanager import pywintypes from utils.articles.articles_data_sql import ( - _enrichir_stock_emplacements, - _enrichir_gammes_articles, - _enrichir_tarifs_clients, - _enrichir_nomenclature, - _enrichir_compta_articles, - _enrichir_fournisseurs_multiples, - _enrichir_depots_details, - _enrichir_emplacements_details, - _enrichir_gammes_enumeres, - _enrichir_references_enumerees, - _enrichir_medias_articles, - _enrichir_prix_gammes, - _enrichir_conditionnements, + enrichir_stock_emplacements, + enrichir_gammes_articles, + enrichir_tarifs_clients, + enrichir_nomenclature, + enrichir_compta_articles, + enrichir_fournisseurs_multiples, + enrichir_depots_details, + enrichir_emplacements_details, + enrichir_gammes_enumeres, + enrichir_references_enumerees, + enrichir_medias_articles, + enrichir_prix_gammes, + enrichir_conditionnements, _mapper_article_depuis_row, - _enrichir_stocks_articles, - _enrichir_fournisseurs_articles, - _enrichir_familles_articles, - _enrichir_tva_articles, + enrichir_stocks_articles, + enrichir_fournisseurs_articles, + enrichir_familles_articles, + enrichir_tva_articles, ) from utils.tiers.clients.clients_data import ( @@ -45,7 +44,6 @@ from utils.functions.functions import ( _safe_int, _clean_str, _try_set_attribute, - normaliser_date, _get_type_libelle, ) @@ -56,24 +54,17 @@ from utils.functions.items_to_dict import ( ) from utils.functions.sage_utilities import ( - _verifier_devis_non_transforme, peut_etre_transforme, lire_erreurs_sage, ) from utils.documents.documents_data_sql import ( - _afficher_etat_document, - _compter_lignes_document, _rechercher_devis_par_numero, _lire_document_sql, _lister_documents_avec_lignes_sql, ) -from utils.documents.devis.devis_extraction import _extraire_infos_devis -from utils.documents.devis.devis_check import ( - _recuperer_numero_devis, - _rechercher_devis_dans_liste, -) +from utils.documents.devis.devis_check import _rechercher_devis_dans_liste from utils.tiers.contacts.contacts import ( _get_contacts, @@ -83,14 +74,7 @@ from utils.tiers.contacts.contacts import ( from utils import ( valider_donnees_creation, - mapper_champ_api_vers_sage, - CHAMPS_STOCK_INITIAL, - CHAMPS_ASSIGNABLES_CREATION, - CHAMPS_ASSIGNABLES_MODIFICATION, - CHAMPS_OBJETS_SPECIAUX, - valider_champ, valider_donnees_modification, - obtenir_champs_assignables, ) from schemas.documents.doc_config import TypeDocumentVente @@ -943,24 +927,24 @@ class SageConnector: article_data = _mapper_article_depuis_row(row_data, colonnes_config) articles.append(article_data) - articles = _enrichir_stocks_articles(articles, cursor) - articles = _enrichir_familles_articles(articles, cursor) - articles = _enrichir_fournisseurs_articles(articles, cursor) - articles = _enrichir_tva_articles(articles, cursor) + articles = enrichir_stocks_articles(articles, cursor) + articles = enrichir_familles_articles(articles, cursor) + articles = enrichir_fournisseurs_articles(articles, cursor) + articles = enrichir_tva_articles(articles, cursor) - articles = _enrichir_stock_emplacements(articles, cursor) - articles = _enrichir_gammes_articles(articles, cursor) - articles = _enrichir_tarifs_clients(articles, cursor) - articles = _enrichir_nomenclature(articles, cursor) - articles = _enrichir_compta_articles(articles, cursor) - articles = _enrichir_fournisseurs_multiples(articles, cursor) - articles = _enrichir_depots_details(articles, cursor) - articles = _enrichir_emplacements_details(articles, cursor) - articles = _enrichir_gammes_enumeres(articles, cursor) - articles = _enrichir_references_enumerees(articles, cursor) - articles = _enrichir_medias_articles(articles, cursor) - articles = _enrichir_prix_gammes(articles, cursor) - articles = _enrichir_conditionnements(articles, cursor) + articles = enrichir_stock_emplacements(articles, cursor) + articles = enrichir_gammes_articles(articles, cursor) + articles = enrichir_tarifs_clients(articles, cursor) + articles = enrichir_nomenclature(articles, cursor) + articles = enrichir_compta_articles(articles, cursor) + articles = enrichir_fournisseurs_multiples(articles, cursor) + articles = enrichir_depots_details(articles, cursor) + articles = enrichir_emplacements_details(articles, cursor) + articles = enrichir_gammes_enumeres(articles, cursor) + articles = enrichir_references_enumerees(articles, cursor) + articles = enrichir_medias_articles(articles, cursor) + articles = enrichir_prix_gammes(articles, cursor) + articles = enrichir_conditionnements(articles, cursor) return articles @@ -1110,23 +1094,23 @@ class SageConnector: article ] # Liste d'un seul article pour les fonctions d'enrichissement - articles = _enrichir_stocks_articles(articles, cursor) - articles = _enrichir_familles_articles(articles, cursor) - articles = _enrichir_fournisseurs_articles(articles, cursor) - articles = _enrichir_tva_articles(articles, cursor) - articles = _enrichir_stock_emplacements(articles, cursor) - articles = _enrichir_gammes_articles(articles, cursor) - articles = _enrichir_tarifs_clients(articles, cursor) - articles = _enrichir_nomenclature(articles, cursor) - articles = _enrichir_compta_articles(articles, cursor) - articles = _enrichir_fournisseurs_multiples(articles, cursor) - articles = _enrichir_depots_details(articles, cursor) - articles = _enrichir_emplacements_details(articles, cursor) - articles = _enrichir_gammes_enumeres(articles, cursor) - articles = _enrichir_references_enumerees(articles, cursor) - articles = _enrichir_medias_articles(articles, cursor) - articles = _enrichir_prix_gammes(articles, cursor) - articles = _enrichir_conditionnements(articles, cursor) + articles = enrichir_stocks_articles(articles, cursor) + articles = enrichir_familles_articles(articles, cursor) + articles = enrichir_fournisseurs_articles(articles, cursor) + articles = enrichir_tva_articles(articles, cursor) + articles = enrichir_stock_emplacements(articles, cursor) + articles = enrichir_gammes_articles(articles, cursor) + articles = enrichir_tarifs_clients(articles, cursor) + articles = enrichir_nomenclature(articles, cursor) + articles = enrichir_compta_articles(articles, cursor) + articles = enrichir_fournisseurs_multiples(articles, cursor) + articles = enrichir_depots_details(articles, cursor) + articles = enrichir_emplacements_details(articles, cursor) + articles = enrichir_gammes_enumeres(articles, cursor) + articles = enrichir_references_enumerees(articles, cursor) + articles = enrichir_medias_articles(articles, cursor) + articles = enrichir_prix_gammes(articles, cursor) + articles = enrichir_conditionnements(articles, cursor) logger.info(f"✓ Article {reference} lu avec tous les enrichissements") return articles[0] diff --git a/utils/articles/articles_data_sql.py b/utils/articles/articles_data_sql.py index 857b469..1eb7c81 100644 --- a/utils/articles/articles_data_sql.py +++ b/utils/articles/articles_data_sql.py @@ -13,7 +13,7 @@ from utils import ( logger = logging.getLogger(__name__) -def _enrichir_stock_emplacements(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_stock_emplacements(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement stock emplacements...") @@ -76,7 +76,7 @@ def _enrichir_stock_emplacements(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_gammes_articles(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_gammes_articles(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement gammes articles...") @@ -135,7 +135,7 @@ def _enrichir_gammes_articles(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_tarifs_clients(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_tarifs_clients(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement tarifs clients...") @@ -226,7 +226,7 @@ def _enrichir_tarifs_clients(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_nomenclature(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_nomenclature(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement nomenclature...") @@ -307,7 +307,7 @@ def _enrichir_nomenclature(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_compta_articles(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_compta_articles(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement comptabilité articles...") @@ -396,7 +396,7 @@ def _enrichir_compta_articles(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_fournisseurs_multiples(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_fournisseurs_multiples(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement fournisseurs multiples...") @@ -493,7 +493,7 @@ def _enrichir_fournisseurs_multiples(articles: List[Dict], cursor) -> List[Dict] return articles -def _enrichir_depots_details(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_depots_details(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement détails dépôts...") @@ -564,7 +564,7 @@ def _enrichir_depots_details(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_emplacements_details(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_emplacements_details(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement détails emplacements...") @@ -617,7 +617,7 @@ def _enrichir_emplacements_details(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_gammes_enumeres(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_gammes_enumeres(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement énumérés gammes...") @@ -683,7 +683,7 @@ def _enrichir_gammes_enumeres(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_references_enumerees(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_references_enumerees(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement références énumérées...") @@ -752,7 +752,7 @@ def _enrichir_references_enumerees(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_medias_articles(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_medias_articles(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement médias articles...") @@ -815,7 +815,7 @@ def _enrichir_medias_articles(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_prix_gammes(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_prix_gammes(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement prix par gammes...") @@ -876,7 +876,7 @@ def _enrichir_prix_gammes(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_conditionnements(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_conditionnements(articles: List[Dict], cursor) -> List[Dict]: try: logger.info(" → Enrichissement conditionnements...") @@ -1140,7 +1140,7 @@ def _mapper_article_depuis_row(row_data: Dict, colonnes_config: Dict) -> Dict: return article -def _enrichir_stocks_articles(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_stocks_articles(articles: List[Dict], cursor) -> List[Dict]: """Enrichit les articles avec les données de stock depuis F_ARTSTOCK""" try: logger.info(f" → Enrichissement stocks pour {len(articles)} articles...") @@ -1196,7 +1196,7 @@ def _enrichir_stocks_articles(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_fournisseurs_articles(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_fournisseurs_articles(articles: List[Dict], cursor) -> List[Dict]: """Enrichit les articles avec le nom du fournisseur principal""" try: logger.info(" → Enrichissement fournisseurs...") @@ -1278,7 +1278,7 @@ def _enrichir_fournisseurs_articles(articles: List[Dict], cursor) -> List[Dict]: return articles -def _enrichir_familles_articles(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_familles_articles(articles: List[Dict], cursor) -> List[Dict]: """Enrichit les articles avec les informations de famille depuis F_FAMILLE""" try: logger.info(f" → Enrichissement familles pour {len(articles)} articles...") @@ -1435,7 +1435,7 @@ def _init_champs_famille_vides(article: Dict): article["famille_pays"] = None -def _enrichir_tva_articles(articles: List[Dict], cursor) -> List[Dict]: +def enrichir_tva_articles(articles: List[Dict], cursor) -> List[Dict]: """Enrichit les articles avec le taux de TVA""" try: logger.info(" → Enrichissement TVA...") @@ -1504,24 +1504,24 @@ def _cast_article(persist_obj): __all__ = [ - "_enrichir_stock_emplacements", - "_enrichir_gammes_articles", - "_enrichir_tarifs_clients", - "_enrichir_nomenclature", - "_enrichir_compta_articles", - "_enrichir_fournisseurs_multiples", - "_enrichir_depots_details", - "_enrichir_emplacements_details", - "_enrichir_gammes_enumeres", - "_enrichir_references_enumerees", - "_enrichir_medias_articles", - "_enrichir_prix_gammes", - "_enrichir_conditionnements", + "enrichir_stock_emplacements", + "enrichir_gammes_articles", + "enrichir_tarifs_clients", + "enrichir_nomenclature", + "enrichir_compta_articles", + "enrichir_fournisseurs_multiples", + "enrichir_depots_details", + "enrichir_emplacements_details", + "enrichir_gammes_enumeres", + "enrichir_references_enumerees", + "enrichir_medias_articles", + "enrichir_prix_gammes", + "enrichir_conditionnements", "_mapper_article_depuis_row", - "_enrichir_stocks_articles", - "_enrichir_fournisseurs_articles", - "_enrichir_familles_articles", + "enrichir_stocks_articles", + "enrichir_fournisseurs_articles", + "enrichir_familles_articles", "_init_champs_famille_vides", - "_enrichir_tva_articles", + "enrichir_tva_articles", "_cast_article", ] diff --git a/utils/functions/data/create_doc.py b/utils/functions/data/create_doc.py index c673f43..2f1729b 100644 --- a/utils/functions/data/create_doc.py +++ b/utils/functions/data/create_doc.py @@ -546,7 +546,7 @@ def modifier_document_vente( # 🔥 CONFIGURATION SPÉCIFIQUE FACTURE if type_document == TypeDocumentVente.FACTURE: - self._configurer_facture(doc) + _configurer_facture(self, doc) doc.Write() logger.info(" ✓ Modifications appliquées") @@ -572,7 +572,7 @@ def modifier_document_vente( # 🔥 CONFIGURATION SPÉCIFIQUE FACTURE (avant lignes) if type_document == TypeDocumentVente.FACTURE: - self._configurer_facture(doc) + _configurer_facture(doc) nouvelles_lignes = doc_data["lignes"] nb_nouvelles = len(nouvelles_lignes)