Change devis' statut when transformed into commande

This commit is contained in:
Fanilo-Nantenaina 2025-12-07 07:16:00 +03:00
parent b7a8af5ed5
commit f763d70592

12
api.py
View file

@ -1147,14 +1147,25 @@ async def devis_vers_commande(id: str, session: AsyncSession = Depends(get_sessi
""" """
🔧 Transformation Devis Commande 🔧 Transformation Devis Commande
CORRECTION : Utilise les VRAIS types Sage (0 10) CORRECTION : Utilise les VRAIS types Sage (0 10)
Met à jour le statut du devis source à 5 (Transformé)
""" """
try: try:
# Étape 1: Transformation
resultat = sage_client.transformer_document( resultat = sage_client.transformer_document(
numero_source=id, numero_source=id,
type_source=settings.SAGE_TYPE_DEVIS, # = 0 type_source=settings.SAGE_TYPE_DEVIS, # = 0
type_cible=settings.SAGE_TYPE_BON_COMMANDE, # = 10 type_cible=settings.SAGE_TYPE_BON_COMMANDE, # = 10
) )
# Étape 2: Mettre à jour le statut du devis à 5 (Transformé)
try:
sage_client.changer_statut_devis(id, nouveau_statut=5)
logger.info(f"✅ Statut devis {id} mis à jour: 5 (Transformé)")
except Exception as e:
logger.warning(f"⚠️ Impossible de mettre à jour le statut du devis {id}: {e}")
# On continue même si la MAJ statut échoue
# Étape 3: Logger la transformation
workflow_log = WorkflowLog( workflow_log = WorkflowLog(
id=str(uuid.uuid4()), id=str(uuid.uuid4()),
document_source=id, document_source=id,
@ -1178,6 +1189,7 @@ async def devis_vers_commande(id: str, session: AsyncSession = Depends(get_sessi
"document_source": id, "document_source": id,
"document_cible": resultat["document_cible"], "document_cible": resultat["document_cible"],
"nb_lignes": resultat["nb_lignes"], "nb_lignes": resultat["nb_lignes"],
"statut_devis_mis_a_jour": True,
} }
except Exception as e: except Exception as e: