refactor(sage_connector): remove redundant section comments and clean up code

This commit is contained in:
Fanilo-Nantenaina 2025-12-17 11:27:19 +03:00
parent 99eda1c127
commit b799efef75

View file

@ -8860,9 +8860,6 @@ class SageConnector:
with self._get_sql_connection() as conn:
cursor = conn.cursor()
# ========================================
# ÉTAPE 1 : DÉTECTER LES COLONNES DISPONIBLES
# ========================================
logger.info("[SQL] Détection des colonnes de F_FAMILLE...")
# Requête de test pour récupérer les métadonnées
@ -8871,9 +8868,6 @@ class SageConnector:
logger.info(f"[SQL] Colonnes trouvées : {len(colonnes_disponibles)}")
# ========================================
# ÉTAPE 2 : DÉFINIR LES COLONNES PRIORITAIRES
# ========================================
colonnes_souhaitees = [
"FA_CodeFamille",
"FA_Intitule",
@ -8898,9 +8892,6 @@ class SageConnector:
logger.info(f"[SQL] Colonnes sélectionnées : {len(colonnes_a_lire)}")
# ========================================
# ÉTAPE 3 : CONSTRUIRE LA REQUÊTE AVEC FILTRE TYPE
# ========================================
colonnes_str = ", ".join(colonnes_a_lire)
query = f"""
@ -8911,7 +8902,6 @@ class SageConnector:
params = []
# ✅ CRITIQUE : Filtrer par type (défaut = seulement Détail)
if "FA_Type" in colonnes_disponibles:
if not inclure_totaux:
query += " AND FA_Type = 0" # ✅ Seulement Détail
@ -8940,15 +8930,9 @@ class SageConnector:
elif "FA_CodeFamille" in colonnes_a_lire:
query += " ORDER BY FA_CodeFamille"
# ========================================
# ÉTAPE 4 : EXÉCUTER LA REQUÊTE
# ========================================
cursor.execute(query, params)
rows = cursor.fetchall()
# ========================================
# ÉTAPE 5 : CONSTRUCTION DE LA LISTE
# ========================================
familles = []
for row in rows:
@ -8963,10 +8947,6 @@ class SageConnector:
famille[colonne] = valeur
# ========================================
# CHAMPS CALCULÉS & ALIAS
# ========================================
# Alias
if "FA_CodeFamille" in famille:
famille["code"] = famille["FA_CodeFamille"]
@ -8986,7 +8966,7 @@ class SageConnector:
famille["est_total"] = False
# Autres champs
famille["unite_vente"] = famille.get("FA_UniteVen", "")
famille["unite_vente"] = str(famille.get("FA_UniteVen", ""))
famille["coef"] = (
float(famille.get("FA_Coef", 0.0))
if famille.get("FA_Coef") is not None
@ -9022,9 +9002,6 @@ class SageConnector:
code_recherche = code.upper().strip()
# ========================================
# ÉTAPE 1 : VÉRIFICATION SQL (RAPIDE)
# ========================================
famille_existe_sql = False
famille_code_exact = None
famille_type_sql = None
@ -9078,9 +9055,6 @@ class SageConnector:
logger.warning(f" [SQL] Erreur : {e}")
# Continuer quand même avec COM
# ========================================
# ÉTAPE 2 : CHARGEMENT VIA COM (SCANNER)
# ========================================
if not famille_code_exact:
famille_code_exact = code_recherche
@ -9140,9 +9114,6 @@ class SageConnector:
logger.error(f" [COM] Erreur scanner : {e}")
raise RuntimeError(f"Erreur chargement famille : {str(e)}")
# ========================================
# ÉTAPE 3 : EXTRACTION COMPLÈTE
# ========================================
logger.info("[FAMILLE] Extraction des informations...")
famille_obj.Read()
@ -9252,9 +9223,6 @@ class SageConnector:
except:
resultat["compte_vente"] = ""
# ========================================
# INFORMATIONS TECHNIQUES
# ========================================
# Index de lecture
resultat["index_com"] = index_trouve
@ -9275,9 +9243,6 @@ class SageConnector:
except:
resultat["date_modification"] = ""
# ========================================
# STATISTIQUES (NOMBRE D'ARTICLES)
# ========================================
# Compter les articles de cette famille via SQL
try:
with self._get_sql_connection() as conn:
@ -9338,9 +9303,6 @@ class SageConnector:
pass
try:
# ========================================
# ÉTAPE 1 : CRÉER LE DOCUMENT
# ========================================
factory = self.cial.FactoryDocumentStock
persist = factory.CreateType(180) # 180 = Entrée
doc = win32com.client.CastTo(persist, "IBODocumentStock3")
@ -9366,9 +9328,6 @@ class SageConnector:
f"[STOCK] Document créé : {getattr(doc, 'DO_Piece', '?')}"
)
# ========================================
# ÉTAPE 2 : FACTORY LIGNES
# ========================================
try:
factory_lignes = doc.FactoryDocumentLigne
logger.info(f"[STOCK] Factory lignes : FactoryDocumentLigne")
@ -9381,9 +9340,6 @@ class SageConnector:
factory_article = self.cial.FactoryArticle
stocks_mis_a_jour = []
# ========================================
# ÉTAPE 3 : TRAITER CHAQUE LIGNE
# ========================================
for idx, ligne_data in enumerate(entree_data["lignes"], 1):
article_ref = ligne_data["article_ref"].upper()
quantite = ligne_data["quantite"]