name of enrichisment function refactored

This commit is contained in:
fanilo 2026-01-05 17:48:31 +01:00
parent 57103d406d
commit 69114ba0c3
3 changed files with 88 additions and 104 deletions

View file

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

View file

@ -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",
]

View file

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