removed "date_expedition" handling
This commit is contained in:
parent
f0c84c9cb6
commit
5257be0680
2 changed files with 28 additions and 294 deletions
5
main.py
5
main.py
|
|
@ -64,7 +64,6 @@ class DevisRequest(BaseModel):
|
||||||
client_id: str
|
client_id: str
|
||||||
date_devis: Optional[date] = None
|
date_devis: Optional[date] = None
|
||||||
date_livraison: Optional[date] = None
|
date_livraison: Optional[date] = None
|
||||||
date_expedition: Optional[date] = None
|
|
||||||
reference: Optional[str] = None
|
reference: Optional[str] = None
|
||||||
lignes: List[Dict]
|
lignes: List[Dict]
|
||||||
|
|
||||||
|
|
@ -148,7 +147,6 @@ class CommandeCreateRequest(BaseModel):
|
||||||
client_id: str
|
client_id: str
|
||||||
date_commande: Optional[date] = None
|
date_commande: Optional[date] = None
|
||||||
date_livraison: Optional[date] = None
|
date_livraison: Optional[date] = None
|
||||||
date_expedition: Optional[date] = None
|
|
||||||
reference: Optional[str] = None
|
reference: Optional[str] = None
|
||||||
lignes: List[Dict]
|
lignes: List[Dict]
|
||||||
|
|
||||||
|
|
@ -166,7 +164,6 @@ class LivraisonCreateGatewayRequest(BaseModel):
|
||||||
client_id: str
|
client_id: str
|
||||||
date_livraison: Optional[date] = None
|
date_livraison: Optional[date] = None
|
||||||
date_livraison_prevue: Optional[date] = None
|
date_livraison_prevue: Optional[date] = None
|
||||||
date_expedition: Optional[date] = None
|
|
||||||
lignes: List[Dict]
|
lignes: List[Dict]
|
||||||
reference: Optional[str] = None
|
reference: Optional[str] = None
|
||||||
|
|
||||||
|
|
@ -184,7 +181,6 @@ class AvoirCreateGatewayRequest(BaseModel):
|
||||||
client_id: str
|
client_id: str
|
||||||
date_avoir: Optional[date] = None
|
date_avoir: Optional[date] = None
|
||||||
date_livraison: Optional[date] = None
|
date_livraison: Optional[date] = None
|
||||||
date_expedition: Optional[date] = None
|
|
||||||
lignes: List[Dict]
|
lignes: List[Dict]
|
||||||
reference: Optional[str] = None
|
reference: Optional[str] = None
|
||||||
|
|
||||||
|
|
@ -202,7 +198,6 @@ class FactureCreateGatewayRequest(BaseModel):
|
||||||
client_id: str
|
client_id: str
|
||||||
date_facture: Optional[date] = None
|
date_facture: Optional[date] = None
|
||||||
date_livraison: Optional[date] = None
|
date_livraison: Optional[date] = None
|
||||||
date_expedition: Optional[date] = None
|
|
||||||
lignes: List[Dict]
|
lignes: List[Dict]
|
||||||
reference: Optional[str] = None
|
reference: Optional[str] = None
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3116,16 +3116,6 @@ class SageConnector:
|
||||||
def creer_devis_enrichi(self, devis_data: dict, forcer_brouillon: bool = False):
|
def creer_devis_enrichi(self, devis_data: dict, forcer_brouillon: bool = False):
|
||||||
"""
|
"""
|
||||||
Crée un devis dans Sage avec support de la référence et des dates.
|
Crée un devis dans Sage avec support de la référence et des dates.
|
||||||
|
|
||||||
Args:
|
|
||||||
devis_data: dict contenant:
|
|
||||||
- client: {code: str}
|
|
||||||
- date_devis: str ou date
|
|
||||||
- date_expedition: str ou date (optionnel)
|
|
||||||
- date_livraison: str ou date (optionnel)
|
|
||||||
- reference: str (optionnel)
|
|
||||||
- lignes: list[dict]
|
|
||||||
forcer_brouillon: bool, force le statut brouillon
|
|
||||||
"""
|
"""
|
||||||
if not self.cial:
|
if not self.cial:
|
||||||
raise RuntimeError("Connexion Sage non établie")
|
raise RuntimeError("Connexion Sage non établie")
|
||||||
|
|
@ -3162,21 +3152,27 @@ class SageConnector:
|
||||||
self.normaliser_date(devis_data.get("date_devis"))
|
self.normaliser_date(devis_data.get("date_devis"))
|
||||||
)
|
)
|
||||||
|
|
||||||
if (
|
|
||||||
"date_expedition" in devis_data
|
|
||||||
and devis_data["date_expedition"]
|
|
||||||
):
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(devis_data["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f"📅 Date expédition: {devis_data['date_expedition']}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if "date_livraison" in devis_data and devis_data["date_livraison"]:
|
if "date_livraison" in devis_data and devis_data["date_livraison"]:
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
try:
|
||||||
self.normaliser_date(devis_data["date_livraison"])
|
if hasattr(doc, 'DO_DateLivr'):
|
||||||
)
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
|
self.normaliser_date(devis_data["date_livraison"])
|
||||||
|
)
|
||||||
|
logger.info(
|
||||||
|
f"📅 Date livraison: {devis_data['date_livraison']}"
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
logger.warning(
|
||||||
|
"⚠️ DO_DateLivr non disponible dans l'API COM Sage"
|
||||||
|
)
|
||||||
|
except AttributeError as e:
|
||||||
|
logger.warning(
|
||||||
|
f"⚠️ Impossible de définir DO_DateLivr: {e}"
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
logger.warning(
|
||||||
|
f"⚠️ Erreur lors de la définition de la date livraison: {e}"
|
||||||
|
)
|
||||||
|
|
||||||
# ===== CLIENT =====
|
# ===== CLIENT =====
|
||||||
factory_client = self.cial.CptaApplication.FactoryClient
|
factory_client = self.cial.CptaApplication.FactoryClient
|
||||||
|
|
@ -3332,7 +3328,6 @@ class SageConnector:
|
||||||
|
|
||||||
# ===== ATTENTE POUR STABILISATION =====
|
# ===== ATTENTE POUR STABILISATION =====
|
||||||
import time
|
import time
|
||||||
|
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
|
||||||
# ===== RÉFÉRENCE (RECHARGER D'ABORD LE DOCUMENT) =====
|
# ===== RÉFÉRENCE (RECHARGER D'ABORD LE DOCUMENT) =====
|
||||||
|
|
@ -3353,7 +3348,6 @@ class SageConnector:
|
||||||
doc_reload.Write()
|
doc_reload.Write()
|
||||||
|
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
|
||||||
doc_reload.Read()
|
doc_reload.Read()
|
||||||
|
|
||||||
logger.info(f"✅ Référence définie: {nouvelle_reference}")
|
logger.info(f"✅ Référence définie: {nouvelle_reference}")
|
||||||
|
|
@ -3388,6 +3382,7 @@ class SageConnector:
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"❌ ERREUR CRÉATION DEVIS: {e}", exc_info=True)
|
logger.error(f"❌ ERREUR CRÉATION DEVIS: {e}", exc_info=True)
|
||||||
raise RuntimeError(f"Échec création devis: {str(e)}")
|
raise RuntimeError(f"Échec création devis: {str(e)}")
|
||||||
|
|
||||||
|
|
||||||
def _recuperer_numero_devis(self, process, doc):
|
def _recuperer_numero_devis(self, process, doc):
|
||||||
"""Récupère le numéro du devis créé via plusieurs méthodes."""
|
"""Récupère le numéro du devis créé via plusieurs méthodes."""
|
||||||
|
|
@ -3441,16 +3436,8 @@ class SageConnector:
|
||||||
reference_final = getattr(doc_final, "DO_Ref", "")
|
reference_final = getattr(doc_final, "DO_Ref", "")
|
||||||
|
|
||||||
# Dates
|
# Dates
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_final = None
|
date_livraison_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc_final, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -3466,7 +3453,6 @@ class SageConnector:
|
||||||
total_ttc = round(total_calcule * 1.20, 2)
|
total_ttc = round(total_calcule * 1.20, 2)
|
||||||
statut_final = 0 if forcer_brouillon else 2
|
statut_final = 0 if forcer_brouillon else 2
|
||||||
reference_final = devis_data.get("reference", "")
|
reference_final = devis_data.get("reference", "")
|
||||||
date_expedition_final = devis_data.get("date_expedition")
|
|
||||||
date_livraison_final = devis_data.get("date_livraison")
|
date_livraison_final = devis_data.get("date_livraison")
|
||||||
|
|
||||||
logger.info(f"💰 Total HT: {total_ht}€")
|
logger.info(f"💰 Total HT: {total_ht}€")
|
||||||
|
|
@ -3474,8 +3460,6 @@ class SageConnector:
|
||||||
logger.info(f"📊 Statut final: {statut_final}")
|
logger.info(f"📊 Statut final: {statut_final}")
|
||||||
if reference_final:
|
if reference_final:
|
||||||
logger.info(f"🔖 Référence: {reference_final}")
|
logger.info(f"🔖 Référence: {reference_final}")
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f"📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_final:
|
if date_livraison_final:
|
||||||
logger.info(f"📅 Date livraison: {date_livraison_final}")
|
logger.info(f"📅 Date livraison: {date_livraison_final}")
|
||||||
|
|
||||||
|
|
@ -3486,7 +3470,6 @@ class SageConnector:
|
||||||
"nb_lignes": len(devis_data["lignes"]),
|
"nb_lignes": len(devis_data["lignes"]),
|
||||||
"client_code": devis_data["client"]["code"],
|
"client_code": devis_data["client"]["code"],
|
||||||
"date_devis": str(devis_data.get("date_devis", "")),
|
"date_devis": str(devis_data.get("date_devis", "")),
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison": date_livraison_final,
|
"date_livraison": date_livraison_final,
|
||||||
"reference": reference_final,
|
"reference": reference_final,
|
||||||
"statut": statut_final,
|
"statut": statut_final,
|
||||||
|
|
@ -3730,19 +3713,6 @@ class SageConnector:
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.warning(f"⚠️ Impossible de modifier la date: {e}")
|
logger.warning(f"⚠️ Impossible de modifier la date: {e}")
|
||||||
|
|
||||||
# DATE EXPÉDITION - Modifier et sauvegarder immédiatement
|
|
||||||
if "date_expedition" in devis_data:
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(devis_data["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(f"📅 Date expédition modifiée: {devis_data['date_expedition']}")
|
|
||||||
|
|
||||||
doc.Write()
|
|
||||||
doc.Read()
|
|
||||||
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
# DATE LIVRAISON - Modifier et sauvegarder immédiatement
|
|
||||||
if "date_livraison" in devis_data:
|
if "date_livraison" in devis_data:
|
||||||
try:
|
try:
|
||||||
if devis_data["date_livraison"]:
|
if devis_data["date_livraison"]:
|
||||||
|
|
@ -4053,16 +4023,8 @@ class SageConnector:
|
||||||
reference = getattr(doc, "DO_Ref", "")
|
reference = getattr(doc, "DO_Ref", "")
|
||||||
|
|
||||||
# Extraction des dates
|
# Extraction des dates
|
||||||
date_expedition = None
|
|
||||||
date_livraison = None
|
date_livraison = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc, "DO_DateLivr", None)
|
date_livr = getattr(doc, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -4075,7 +4037,6 @@ class SageConnector:
|
||||||
"total_ht": total_ht,
|
"total_ht": total_ht,
|
||||||
"total_ttc": total_ttc,
|
"total_ttc": total_ttc,
|
||||||
"reference": reference,
|
"reference": reference,
|
||||||
"date_expedition": date_expedition,
|
|
||||||
"date_livraison": date_livraison,
|
"date_livraison": date_livraison,
|
||||||
"champs_modifies": champs_modifies,
|
"champs_modifies": champs_modifies,
|
||||||
"statut": statut,
|
"statut": statut,
|
||||||
|
|
@ -5890,7 +5851,6 @@ class SageConnector:
|
||||||
commande_data: dict contenant:
|
commande_data: dict contenant:
|
||||||
- client: {code: str}
|
- client: {code: str}
|
||||||
- date_commande: str ou date
|
- date_commande: str ou date
|
||||||
- date_expedition: str ou date (optionnel)
|
|
||||||
- date_livraison: str ou date (optionnel)
|
- date_livraison: str ou date (optionnel)
|
||||||
- reference: str (optionnel)
|
- reference: str (optionnel)
|
||||||
- lignes: list[dict]
|
- lignes: list[dict]
|
||||||
|
|
@ -5931,21 +5891,7 @@ class SageConnector:
|
||||||
self.normaliser_date(commande_data.get("date_commande"))
|
self.normaliser_date(commande_data.get("date_commande"))
|
||||||
)
|
)
|
||||||
|
|
||||||
if (
|
if ("date_livraison" in commande_data and commande_data["date_livraison"]):
|
||||||
"date_expedition" in commande_data
|
|
||||||
and commande_data["date_expedition"]
|
|
||||||
):
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(commande_data["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f"📅 Date expédition: {commande_data['date_expedition']}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if (
|
|
||||||
"date_livraison" in commande_data
|
|
||||||
and commande_data["date_livraison"]
|
|
||||||
):
|
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
self.normaliser_date(commande_data["date_livraison"])
|
self.normaliser_date(commande_data["date_livraison"])
|
||||||
)
|
)
|
||||||
|
|
@ -6158,17 +6104,8 @@ class SageConnector:
|
||||||
total_ttc = float(getattr(doc_final, "DO_TotalTTC", 0.0))
|
total_ttc = float(getattr(doc_final, "DO_TotalTTC", 0.0))
|
||||||
reference_finale = getattr(doc_final, "DO_Ref", "")
|
reference_finale = getattr(doc_final, "DO_Ref", "")
|
||||||
|
|
||||||
# Dates
|
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_final = None
|
date_livraison_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc_final, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -6179,14 +6116,11 @@ class SageConnector:
|
||||||
total_ht = 0.0
|
total_ht = 0.0
|
||||||
total_ttc = 0.0
|
total_ttc = 0.0
|
||||||
reference_finale = commande_data.get("reference", "")
|
reference_finale = commande_data.get("reference", "")
|
||||||
date_expedition_final = commande_data.get("date_expedition")
|
|
||||||
date_livraison_final = commande_data.get("date_livraison")
|
date_livraison_final = commande_data.get("date_livraison")
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
f"✅✅✅ COMMANDE CRÉÉE: {numero_commande} - {total_ttc}€ TTC ✅✅✅"
|
f"✅✅✅ COMMANDE CRÉÉE: {numero_commande} - {total_ttc}€ TTC ✅✅✅"
|
||||||
)
|
)
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f"📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_final:
|
if date_livraison_final:
|
||||||
logger.info(f"📅 Date livraison: {date_livraison_final}")
|
logger.info(f"📅 Date livraison: {date_livraison_final}")
|
||||||
|
|
||||||
|
|
@ -6199,7 +6133,6 @@ class SageConnector:
|
||||||
"date_commande": str(
|
"date_commande": str(
|
||||||
self.normaliser_date(commande_data.get("date_commande"))
|
self.normaliser_date(commande_data.get("date_commande"))
|
||||||
),
|
),
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison": date_livraison_final,
|
"date_livraison": date_livraison_final,
|
||||||
"reference": reference_finale,
|
"reference": reference_finale,
|
||||||
}
|
}
|
||||||
|
|
@ -6224,7 +6157,6 @@ class SageConnector:
|
||||||
numero: Numéro de la commande
|
numero: Numéro de la commande
|
||||||
commande_data: dict contenant les champs à modifier:
|
commande_data: dict contenant les champs à modifier:
|
||||||
- date_commande: str ou date (optionnel)
|
- date_commande: str ou date (optionnel)
|
||||||
- date_expedition: str ou date (optionnel)
|
|
||||||
- date_livraison: str ou date (optionnel)
|
- date_livraison: str ou date (optionnel)
|
||||||
- reference: str (optionnel)
|
- reference: str (optionnel)
|
||||||
- statut: int (optionnel)
|
- statut: int (optionnel)
|
||||||
|
|
@ -6312,7 +6244,6 @@ class SageConnector:
|
||||||
champs_modifies = []
|
champs_modifies = []
|
||||||
|
|
||||||
modif_date = "date_commande" in commande_data
|
modif_date = "date_commande" in commande_data
|
||||||
modif_date_expedition = "date_expedition" in commande_data
|
|
||||||
modif_date_livraison = "date_livraison" in commande_data
|
modif_date_livraison = "date_livraison" in commande_data
|
||||||
modif_statut = "statut" in commande_data
|
modif_statut = "statut" in commande_data
|
||||||
modif_ref = "reference" in commande_data
|
modif_ref = "reference" in commande_data
|
||||||
|
|
@ -6322,7 +6253,6 @@ class SageConnector:
|
||||||
|
|
||||||
logger.info(f"📋 Modifications demandées:")
|
logger.info(f"📋 Modifications demandées:")
|
||||||
logger.info(f" Date commande: {modif_date}")
|
logger.info(f" Date commande: {modif_date}")
|
||||||
logger.info(f" Date expédition: {modif_date_expedition}")
|
|
||||||
logger.info(f" Date livraison: {modif_date_livraison}")
|
logger.info(f" Date livraison: {modif_date_livraison}")
|
||||||
logger.info(f" Statut: {modif_statut}")
|
logger.info(f" Statut: {modif_statut}")
|
||||||
logger.info(f" Référence: {modif_ref}")
|
logger.info(f" Référence: {modif_ref}")
|
||||||
|
|
@ -6384,7 +6314,6 @@ class SageConnector:
|
||||||
# ========================================
|
# ========================================
|
||||||
if not modif_lignes and (
|
if not modif_lignes and (
|
||||||
modif_date
|
modif_date
|
||||||
or modif_date_expedition
|
|
||||||
or modif_date_livraison
|
or modif_date_livraison
|
||||||
or modif_statut
|
or modif_statut
|
||||||
or modif_ref
|
or modif_ref
|
||||||
|
|
@ -6400,13 +6329,6 @@ class SageConnector:
|
||||||
)
|
)
|
||||||
champs_modifies.append("date")
|
champs_modifies.append("date")
|
||||||
|
|
||||||
if modif_date_expedition:
|
|
||||||
logger.info(" 📅 Modification date expédition...")
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(commande_data_temp["date_expedition"])
|
|
||||||
)
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
if modif_date_livraison:
|
if modif_date_livraison:
|
||||||
logger.info(" 📅 Modification date livraison...")
|
logger.info(" 📅 Modification date livraison...")
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
|
|
@ -6483,13 +6405,6 @@ class SageConnector:
|
||||||
champs_modifies.append("date")
|
champs_modifies.append("date")
|
||||||
logger.info(" 📅 Date commande modifiée")
|
logger.info(" 📅 Date commande modifiée")
|
||||||
|
|
||||||
if modif_date_expedition:
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(commande_data_temp["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(" 📅 Date expédition modifiée")
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
if modif_date_livraison:
|
if modif_date_livraison:
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
self.normaliser_date(commande_data_temp["date_livraison"])
|
self.normaliser_date(commande_data_temp["date_livraison"])
|
||||||
|
|
@ -6708,17 +6623,8 @@ class SageConnector:
|
||||||
total_ttc = float(getattr(doc, "DO_TotalTTC", 0.0))
|
total_ttc = float(getattr(doc, "DO_TotalTTC", 0.0))
|
||||||
reference_finale = getattr(doc, "DO_Ref", "")
|
reference_finale = getattr(doc, "DO_Ref", "")
|
||||||
|
|
||||||
# Extraire les dates
|
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_final = None
|
date_livraison_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc, "DO_DateLivr", None)
|
date_livr = getattr(doc, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -6730,8 +6636,6 @@ class SageConnector:
|
||||||
logger.info(f" 💰 Totaux: {total_ht}€ HT / {total_ttc}€ TTC")
|
logger.info(f" 💰 Totaux: {total_ht}€ HT / {total_ttc}€ TTC")
|
||||||
logger.info(f" 👤 Client final: {client_final}")
|
logger.info(f" 👤 Client final: {client_final}")
|
||||||
logger.info(f" 🔖 Référence: {reference_finale}")
|
logger.info(f" 🔖 Référence: {reference_finale}")
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f" 📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_final:
|
if date_livraison_final:
|
||||||
logger.info(f" 📅 Date livraison: {date_livraison_final}")
|
logger.info(f" 📅 Date livraison: {date_livraison_final}")
|
||||||
logger.info(f" 📝 Champs modifiés: {champs_modifies}")
|
logger.info(f" 📝 Champs modifiés: {champs_modifies}")
|
||||||
|
|
@ -6741,7 +6645,6 @@ class SageConnector:
|
||||||
"total_ht": total_ht,
|
"total_ht": total_ht,
|
||||||
"total_ttc": total_ttc,
|
"total_ttc": total_ttc,
|
||||||
"reference": reference_finale,
|
"reference": reference_finale,
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison": date_livraison_final,
|
"date_livraison": date_livraison_final,
|
||||||
"champs_modifies": champs_modifies,
|
"champs_modifies": champs_modifies,
|
||||||
"statut": getattr(doc, "DO_Statut", 0),
|
"statut": getattr(doc, "DO_Statut", 0),
|
||||||
|
|
@ -6776,7 +6679,6 @@ class SageConnector:
|
||||||
livraison_data: dict contenant:
|
livraison_data: dict contenant:
|
||||||
- client: {code: str}
|
- client: {code: str}
|
||||||
- date_livraison: str ou date (date du document)
|
- date_livraison: str ou date (date du document)
|
||||||
- date_expedition: str ou date (optionnel - date prévue expédition)
|
|
||||||
- date_livraison_prevue: str ou date (optionnel - date prévue livraison client)
|
- date_livraison_prevue: str ou date (optionnel - date prévue livraison client)
|
||||||
- reference: str (optionnel)
|
- reference: str (optionnel)
|
||||||
- lignes: list[dict]
|
- lignes: list[dict]
|
||||||
|
|
@ -6818,18 +6720,6 @@ class SageConnector:
|
||||||
self.normaliser_date(livraison_data.get("date_livraison"))
|
self.normaliser_date(livraison_data.get("date_livraison"))
|
||||||
)
|
)
|
||||||
|
|
||||||
# Date d'expédition prévue (DO_DateExpedition)
|
|
||||||
if (
|
|
||||||
"date_expedition" in livraison_data
|
|
||||||
and livraison_data["date_expedition"]
|
|
||||||
):
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(livraison_data["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f"📅 Date expédition: {livraison_data['date_expedition']}"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Date de livraison prévue chez le client (DO_DateLivr)
|
# Date de livraison prévue chez le client (DO_DateLivr)
|
||||||
if (
|
if (
|
||||||
"date_livraison_prevue" in livraison_data
|
"date_livraison_prevue" in livraison_data
|
||||||
|
|
@ -7031,16 +6921,8 @@ class SageConnector:
|
||||||
reference_finale = getattr(doc_final, "DO_Ref", "")
|
reference_finale = getattr(doc_final, "DO_Ref", "")
|
||||||
|
|
||||||
# Dates
|
# Dates
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_prevue_final = None
|
date_livraison_prevue_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc_final, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -7053,7 +6935,6 @@ class SageConnector:
|
||||||
total_ht = 0.0
|
total_ht = 0.0
|
||||||
total_ttc = 0.0
|
total_ttc = 0.0
|
||||||
reference_finale = livraison_data.get("reference", "")
|
reference_finale = livraison_data.get("reference", "")
|
||||||
date_expedition_final = livraison_data.get("date_expedition")
|
|
||||||
date_livraison_prevue_final = livraison_data.get(
|
date_livraison_prevue_final = livraison_data.get(
|
||||||
"date_livraison_prevue"
|
"date_livraison_prevue"
|
||||||
)
|
)
|
||||||
|
|
@ -7061,8 +6942,6 @@ class SageConnector:
|
||||||
logger.info(
|
logger.info(
|
||||||
f"✅✅✅ LIVRAISON CRÉÉE: {numero_livraison} - {total_ttc}€ TTC ✅✅✅"
|
f"✅✅✅ LIVRAISON CRÉÉE: {numero_livraison} - {total_ttc}€ TTC ✅✅✅"
|
||||||
)
|
)
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f"📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_prevue_final:
|
if date_livraison_prevue_final:
|
||||||
logger.info(
|
logger.info(
|
||||||
f"📅 Date livraison prévue: {date_livraison_prevue_final}"
|
f"📅 Date livraison prévue: {date_livraison_prevue_final}"
|
||||||
|
|
@ -7077,7 +6956,6 @@ class SageConnector:
|
||||||
"date_livraison": str(
|
"date_livraison": str(
|
||||||
self.normaliser_date(livraison_data.get("date_livraison"))
|
self.normaliser_date(livraison_data.get("date_livraison"))
|
||||||
),
|
),
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison_prevue": date_livraison_prevue_final,
|
"date_livraison_prevue": date_livraison_prevue_final,
|
||||||
"reference": reference_finale,
|
"reference": reference_finale,
|
||||||
}
|
}
|
||||||
|
|
@ -7102,7 +6980,6 @@ class SageConnector:
|
||||||
numero: Numéro de la livraison
|
numero: Numéro de la livraison
|
||||||
livraison_data: dict contenant les champs à modifier:
|
livraison_data: dict contenant les champs à modifier:
|
||||||
- date_livraison: str ou date (optionnel - date du document)
|
- date_livraison: str ou date (optionnel - date du document)
|
||||||
- date_expedition: str ou date (optionnel - date prévue expédition)
|
|
||||||
- date_livraison_prevue: str ou date (optionnel - date prévue livraison client)
|
- date_livraison_prevue: str ou date (optionnel - date prévue livraison client)
|
||||||
- reference: str (optionnel)
|
- reference: str (optionnel)
|
||||||
- statut: int (optionnel)
|
- statut: int (optionnel)
|
||||||
|
|
@ -7178,7 +7055,6 @@ class SageConnector:
|
||||||
champs_modifies = []
|
champs_modifies = []
|
||||||
|
|
||||||
modif_date = "date_livraison" in livraison_data
|
modif_date = "date_livraison" in livraison_data
|
||||||
modif_date_expedition = "date_expedition" in livraison_data
|
|
||||||
modif_date_livraison_prevue = "date_livraison_prevue" in livraison_data
|
modif_date_livraison_prevue = "date_livraison_prevue" in livraison_data
|
||||||
modif_statut = "statut" in livraison_data
|
modif_statut = "statut" in livraison_data
|
||||||
modif_ref = "reference" in livraison_data
|
modif_ref = "reference" in livraison_data
|
||||||
|
|
@ -7188,7 +7064,6 @@ class SageConnector:
|
||||||
|
|
||||||
logger.info(f"📋 Modifications demandées:")
|
logger.info(f"📋 Modifications demandées:")
|
||||||
logger.info(f" Date livraison: {modif_date}")
|
logger.info(f" Date livraison: {modif_date}")
|
||||||
logger.info(f" Date expédition: {modif_date_expedition}")
|
|
||||||
logger.info(f" Date livraison prévue: {modif_date_livraison_prevue}")
|
logger.info(f" Date livraison prévue: {modif_date_livraison_prevue}")
|
||||||
logger.info(f" Statut: {modif_statut}")
|
logger.info(f" Statut: {modif_statut}")
|
||||||
logger.info(f" Référence: {modif_ref}")
|
logger.info(f" Référence: {modif_ref}")
|
||||||
|
|
@ -7219,7 +7094,6 @@ class SageConnector:
|
||||||
# ========================================
|
# ========================================
|
||||||
if not modif_lignes and (
|
if not modif_lignes and (
|
||||||
modif_date
|
modif_date
|
||||||
or modif_date_expedition
|
|
||||||
or modif_date_livraison_prevue
|
or modif_date_livraison_prevue
|
||||||
or modif_statut
|
or modif_statut
|
||||||
or modif_ref
|
or modif_ref
|
||||||
|
|
@ -7235,16 +7109,6 @@ class SageConnector:
|
||||||
)
|
)
|
||||||
champs_modifies.append("date")
|
champs_modifies.append("date")
|
||||||
|
|
||||||
if modif_date_expedition:
|
|
||||||
logger.info(" 📅 Modification date expédition...")
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(livraison_data_temp["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f" ✅ Date expédition: {livraison_data_temp['date_expedition']}"
|
|
||||||
)
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
if modif_date_livraison_prevue:
|
if modif_date_livraison_prevue:
|
||||||
logger.info(" 📅 Modification date livraison prévue...")
|
logger.info(" 📅 Modification date livraison prévue...")
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
|
|
@ -7293,14 +7157,7 @@ class SageConnector:
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
champs_modifies.append("date")
|
champs_modifies.append("date")
|
||||||
logger.info(" 📅 Date livraison modifiée")
|
logger.info(" 📅 Date livraison modifiée")
|
||||||
|
|
||||||
if modif_date_expedition:
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(livraison_data_temp["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(" 📅 Date expédition modifiée")
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
if modif_date_livraison_prevue:
|
if modif_date_livraison_prevue:
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
|
|
@ -7507,16 +7364,8 @@ class SageConnector:
|
||||||
statut_final = getattr(doc, "DO_Statut", 0)
|
statut_final = getattr(doc, "DO_Statut", 0)
|
||||||
|
|
||||||
# Extraire les dates
|
# Extraire les dates
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_prevue_final = None
|
date_livraison_prevue_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc, "DO_DateLivr", None)
|
date_livr = getattr(doc, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -7528,8 +7377,7 @@ class SageConnector:
|
||||||
logger.info(f" 💰 Totaux: {total_ht}€ HT / {total_ttc}€ TTC")
|
logger.info(f" 💰 Totaux: {total_ht}€ HT / {total_ttc}€ TTC")
|
||||||
logger.info(f" 🔖 Référence: {reference_finale}")
|
logger.info(f" 🔖 Référence: {reference_finale}")
|
||||||
logger.info(f" 📊 Statut: {statut_final}")
|
logger.info(f" 📊 Statut: {statut_final}")
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f" 📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_prevue_final:
|
if date_livraison_prevue_final:
|
||||||
logger.info(
|
logger.info(
|
||||||
f" 📅 Date livraison prévue: {date_livraison_prevue_final}"
|
f" 📅 Date livraison prévue: {date_livraison_prevue_final}"
|
||||||
|
|
@ -7541,7 +7389,6 @@ class SageConnector:
|
||||||
"total_ht": total_ht,
|
"total_ht": total_ht,
|
||||||
"total_ttc": total_ttc,
|
"total_ttc": total_ttc,
|
||||||
"reference": reference_finale,
|
"reference": reference_finale,
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison_prevue": date_livraison_prevue_final,
|
"date_livraison_prevue": date_livraison_prevue_final,
|
||||||
"champs_modifies": champs_modifies,
|
"champs_modifies": champs_modifies,
|
||||||
"statut": statut_final,
|
"statut": statut_final,
|
||||||
|
|
@ -7575,7 +7422,6 @@ class SageConnector:
|
||||||
avoir_data: dict contenant:
|
avoir_data: dict contenant:
|
||||||
- client: {code: str}
|
- client: {code: str}
|
||||||
- date_avoir: str ou date
|
- date_avoir: str ou date
|
||||||
- date_expedition: str ou date (optionnel)
|
|
||||||
- date_livraison: str ou date (optionnel)
|
- date_livraison: str ou date (optionnel)
|
||||||
- reference: str (optionnel)
|
- reference: str (optionnel)
|
||||||
- lignes: list[dict]
|
- lignes: list[dict]
|
||||||
|
|
@ -7616,17 +7462,6 @@ class SageConnector:
|
||||||
self.normaliser_date(avoir_data.get("date_avoir"))
|
self.normaliser_date(avoir_data.get("date_avoir"))
|
||||||
)
|
)
|
||||||
|
|
||||||
if (
|
|
||||||
"date_expedition" in avoir_data
|
|
||||||
and avoir_data["date_expedition"]
|
|
||||||
):
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(avoir_data["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f"📅 Date expédition: {avoir_data['date_expedition']}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if "date_livraison" in avoir_data and avoir_data["date_livraison"]:
|
if "date_livraison" in avoir_data and avoir_data["date_livraison"]:
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
self.normaliser_date(avoir_data["date_livraison"])
|
self.normaliser_date(avoir_data["date_livraison"])
|
||||||
|
|
@ -7820,16 +7655,8 @@ class SageConnector:
|
||||||
reference_finale = getattr(doc_final, "DO_Ref", "")
|
reference_finale = getattr(doc_final, "DO_Ref", "")
|
||||||
|
|
||||||
# Dates
|
# Dates
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_final = None
|
date_livraison_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc_final, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -7840,14 +7667,12 @@ class SageConnector:
|
||||||
total_ht = 0.0
|
total_ht = 0.0
|
||||||
total_ttc = 0.0
|
total_ttc = 0.0
|
||||||
reference_finale = avoir_data.get("reference", "")
|
reference_finale = avoir_data.get("reference", "")
|
||||||
date_expedition_final = avoir_data.get("date_expedition")
|
|
||||||
date_livraison_final = avoir_data.get("date_livraison")
|
date_livraison_final = avoir_data.get("date_livraison")
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
f"✅✅✅ AVOIR CRÉÉ: {numero_avoir} - {total_ttc}€ TTC ✅✅✅"
|
f"✅✅✅ AVOIR CRÉÉ: {numero_avoir} - {total_ttc}€ TTC ✅✅✅"
|
||||||
)
|
)
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f"📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_final:
|
if date_livraison_final:
|
||||||
logger.info(f"📅 Date livraison: {date_livraison_final}")
|
logger.info(f"📅 Date livraison: {date_livraison_final}")
|
||||||
|
|
||||||
|
|
@ -7860,7 +7685,6 @@ class SageConnector:
|
||||||
"date_avoir": str(
|
"date_avoir": str(
|
||||||
self.normaliser_date(avoir_data.get("date_avoir"))
|
self.normaliser_date(avoir_data.get("date_avoir"))
|
||||||
),
|
),
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison": date_livraison_final,
|
"date_livraison": date_livraison_final,
|
||||||
"reference": reference_finale,
|
"reference": reference_finale,
|
||||||
}
|
}
|
||||||
|
|
@ -7885,7 +7709,6 @@ class SageConnector:
|
||||||
numero: Numéro de l'avoir
|
numero: Numéro de l'avoir
|
||||||
avoir_data: dict contenant les champs à modifier:
|
avoir_data: dict contenant les champs à modifier:
|
||||||
- date_avoir: str ou date (optionnel)
|
- date_avoir: str ou date (optionnel)
|
||||||
- date_expedition: str ou date (optionnel)
|
|
||||||
- date_livraison: str ou date (optionnel)
|
- date_livraison: str ou date (optionnel)
|
||||||
- reference: str (optionnel)
|
- reference: str (optionnel)
|
||||||
- statut: int (optionnel)
|
- statut: int (optionnel)
|
||||||
|
|
@ -7980,7 +7803,6 @@ class SageConnector:
|
||||||
champs_modifies = []
|
champs_modifies = []
|
||||||
|
|
||||||
modif_date = "date_avoir" in avoir_data
|
modif_date = "date_avoir" in avoir_data
|
||||||
modif_date_expedition = "date_expedition" in avoir_data
|
|
||||||
modif_date_livraison = "date_livraison" in avoir_data
|
modif_date_livraison = "date_livraison" in avoir_data
|
||||||
modif_statut = "statut" in avoir_data
|
modif_statut = "statut" in avoir_data
|
||||||
modif_ref = "reference" in avoir_data
|
modif_ref = "reference" in avoir_data
|
||||||
|
|
@ -7990,7 +7812,6 @@ class SageConnector:
|
||||||
|
|
||||||
logger.info(f"📋 Modifications demandées:")
|
logger.info(f"📋 Modifications demandées:")
|
||||||
logger.info(f" Date avoir: {modif_date}")
|
logger.info(f" Date avoir: {modif_date}")
|
||||||
logger.info(f" Date expédition: {modif_date_expedition}")
|
|
||||||
logger.info(f" Date livraison: {modif_date_livraison}")
|
logger.info(f" Date livraison: {modif_date_livraison}")
|
||||||
logger.info(f" Statut: {modif_statut}")
|
logger.info(f" Statut: {modif_statut}")
|
||||||
logger.info(f" Référence: {modif_ref}")
|
logger.info(f" Référence: {modif_ref}")
|
||||||
|
|
@ -8052,7 +7873,6 @@ class SageConnector:
|
||||||
# ========================================
|
# ========================================
|
||||||
if not modif_lignes and (
|
if not modif_lignes and (
|
||||||
modif_date
|
modif_date
|
||||||
or modif_date_expedition
|
|
||||||
or modif_date_livraison
|
or modif_date_livraison
|
||||||
or modif_statut
|
or modif_statut
|
||||||
or modif_ref
|
or modif_ref
|
||||||
|
|
@ -8066,16 +7886,6 @@ class SageConnector:
|
||||||
)
|
)
|
||||||
champs_modifies.append("date")
|
champs_modifies.append("date")
|
||||||
|
|
||||||
if modif_date_expedition:
|
|
||||||
logger.info(" 📅 Modification date expédition...")
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(avoir_data_temp["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f" ✅ Date expédition: {avoir_data_temp['date_expedition']}"
|
|
||||||
)
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
if modif_date_livraison:
|
if modif_date_livraison:
|
||||||
logger.info(" 📅 Modification date livraison...")
|
logger.info(" 📅 Modification date livraison...")
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
|
|
@ -8150,13 +7960,6 @@ class SageConnector:
|
||||||
champs_modifies.append("date")
|
champs_modifies.append("date")
|
||||||
logger.info(" 📅 Date avoir modifiée")
|
logger.info(" 📅 Date avoir modifiée")
|
||||||
|
|
||||||
if modif_date_expedition:
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(avoir_data_temp["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(" 📅 Date expédition modifiée")
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
if modif_date_livraison:
|
if modif_date_livraison:
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
self.normaliser_date(avoir_data_temp["date_livraison"])
|
self.normaliser_date(avoir_data_temp["date_livraison"])
|
||||||
|
|
@ -8381,16 +8184,8 @@ class SageConnector:
|
||||||
statut_final = getattr(doc, "DO_Statut", 0)
|
statut_final = getattr(doc, "DO_Statut", 0)
|
||||||
|
|
||||||
# Extraire les dates
|
# Extraire les dates
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_final = None
|
date_livraison_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc, "DO_DateLivr", None)
|
date_livr = getattr(doc, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -8403,8 +8198,7 @@ class SageConnector:
|
||||||
logger.info(f" 👤 Client final: {client_final}")
|
logger.info(f" 👤 Client final: {client_final}")
|
||||||
logger.info(f" 🔖 Référence: {reference_finale}")
|
logger.info(f" 🔖 Référence: {reference_finale}")
|
||||||
logger.info(f" 📊 Statut: {statut_final}")
|
logger.info(f" 📊 Statut: {statut_final}")
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f" 📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_final:
|
if date_livraison_final:
|
||||||
logger.info(f" 📅 Date livraison: {date_livraison_final}")
|
logger.info(f" 📅 Date livraison: {date_livraison_final}")
|
||||||
logger.info(f" 📝 Champs modifiés: {champs_modifies}")
|
logger.info(f" 📝 Champs modifiés: {champs_modifies}")
|
||||||
|
|
@ -8414,7 +8208,6 @@ class SageConnector:
|
||||||
"total_ht": total_ht,
|
"total_ht": total_ht,
|
||||||
"total_ttc": total_ttc,
|
"total_ttc": total_ttc,
|
||||||
"reference": reference_finale,
|
"reference": reference_finale,
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison": date_livraison_final,
|
"date_livraison": date_livraison_final,
|
||||||
"champs_modifies": champs_modifies,
|
"champs_modifies": champs_modifies,
|
||||||
"statut": statut_final,
|
"statut": statut_final,
|
||||||
|
|
@ -8449,7 +8242,6 @@ class SageConnector:
|
||||||
facture_data: dict contenant:
|
facture_data: dict contenant:
|
||||||
- client: {code: str}
|
- client: {code: str}
|
||||||
- date_facture: str ou date
|
- date_facture: str ou date
|
||||||
- date_expedition: str ou date (optionnel)
|
|
||||||
- date_livraison: str ou date (optionnel)
|
- date_livraison: str ou date (optionnel)
|
||||||
- reference: str (optionnel)
|
- reference: str (optionnel)
|
||||||
- lignes: list[dict]
|
- lignes: list[dict]
|
||||||
|
|
@ -8490,17 +8282,6 @@ class SageConnector:
|
||||||
self.normaliser_date(facture_data.get("date_facture"))
|
self.normaliser_date(facture_data.get("date_facture"))
|
||||||
)
|
)
|
||||||
|
|
||||||
if (
|
|
||||||
"date_expedition" in facture_data
|
|
||||||
and facture_data["date_expedition"]
|
|
||||||
):
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(facture_data["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f"📅 Date expédition: {facture_data['date_expedition']}"
|
|
||||||
)
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
"date_livraison" in facture_data
|
"date_livraison" in facture_data
|
||||||
and facture_data["date_livraison"]
|
and facture_data["date_livraison"]
|
||||||
|
|
@ -8755,16 +8536,8 @@ class SageConnector:
|
||||||
reference_finale = getattr(doc_final, "DO_Ref", "")
|
reference_finale = getattr(doc_final, "DO_Ref", "")
|
||||||
|
|
||||||
# Dates
|
# Dates
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_final = None
|
date_livraison_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc_final, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
date_livr = getattr(doc_final, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -8775,14 +8548,12 @@ class SageConnector:
|
||||||
total_ht = 0.0
|
total_ht = 0.0
|
||||||
total_ttc = 0.0
|
total_ttc = 0.0
|
||||||
reference_finale = facture_data.get("reference", "")
|
reference_finale = facture_data.get("reference", "")
|
||||||
date_expedition_final = facture_data.get("date_expedition")
|
|
||||||
date_livraison_final = facture_data.get("date_livraison")
|
date_livraison_final = facture_data.get("date_livraison")
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
f"✅✅✅ FACTURE CRÉÉE: {numero_facture} - {total_ttc}€ TTC ✅✅✅"
|
f"✅✅✅ FACTURE CRÉÉE: {numero_facture} - {total_ttc}€ TTC ✅✅✅"
|
||||||
)
|
)
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f"📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_final:
|
if date_livraison_final:
|
||||||
logger.info(f"📅 Date livraison: {date_livraison_final}")
|
logger.info(f"📅 Date livraison: {date_livraison_final}")
|
||||||
|
|
||||||
|
|
@ -8795,7 +8566,6 @@ class SageConnector:
|
||||||
"date_facture": str(
|
"date_facture": str(
|
||||||
self.normaliser_date(facture_data.get("date_facture"))
|
self.normaliser_date(facture_data.get("date_facture"))
|
||||||
),
|
),
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison": date_livraison_final,
|
"date_livraison": date_livraison_final,
|
||||||
"reference": reference_finale,
|
"reference": reference_finale,
|
||||||
}
|
}
|
||||||
|
|
@ -8821,7 +8591,6 @@ class SageConnector:
|
||||||
numero: Numéro de la facture
|
numero: Numéro de la facture
|
||||||
facture_data: dict contenant les champs à modifier:
|
facture_data: dict contenant les champs à modifier:
|
||||||
- date_facture: str ou date (optionnel)
|
- date_facture: str ou date (optionnel)
|
||||||
- date_expedition: str ou date (optionnel)
|
|
||||||
- date_livraison: str ou date (optionnel)
|
- date_livraison: str ou date (optionnel)
|
||||||
- reference: str (optionnel)
|
- reference: str (optionnel)
|
||||||
- statut: int (optionnel)
|
- statut: int (optionnel)
|
||||||
|
|
@ -8916,7 +8685,6 @@ class SageConnector:
|
||||||
champs_modifies = []
|
champs_modifies = []
|
||||||
|
|
||||||
modif_date = "date_facture" in facture_data
|
modif_date = "date_facture" in facture_data
|
||||||
modif_date_expedition = "date_expedition" in facture_data
|
|
||||||
modif_date_livraison = "date_livraison" in facture_data
|
modif_date_livraison = "date_livraison" in facture_data
|
||||||
modif_statut = "statut" in facture_data
|
modif_statut = "statut" in facture_data
|
||||||
modif_ref = "reference" in facture_data
|
modif_ref = "reference" in facture_data
|
||||||
|
|
@ -8926,7 +8694,6 @@ class SageConnector:
|
||||||
|
|
||||||
logger.info(f"📋 Modifications demandées:")
|
logger.info(f"📋 Modifications demandées:")
|
||||||
logger.info(f" Date facture: {modif_date}")
|
logger.info(f" Date facture: {modif_date}")
|
||||||
logger.info(f" Date expédition: {modif_date_expedition}")
|
|
||||||
logger.info(f" Date livraison: {modif_date_livraison}")
|
logger.info(f" Date livraison: {modif_date_livraison}")
|
||||||
logger.info(f" Statut: {modif_statut}")
|
logger.info(f" Statut: {modif_statut}")
|
||||||
logger.info(f" Référence: {modif_ref}")
|
logger.info(f" Référence: {modif_ref}")
|
||||||
|
|
@ -8988,7 +8755,6 @@ class SageConnector:
|
||||||
# ========================================
|
# ========================================
|
||||||
if not modif_lignes and (
|
if not modif_lignes and (
|
||||||
modif_date
|
modif_date
|
||||||
or modif_date_expedition
|
|
||||||
or modif_date_livraison
|
or modif_date_livraison
|
||||||
or modif_statut
|
or modif_statut
|
||||||
or modif_ref
|
or modif_ref
|
||||||
|
|
@ -9002,16 +8768,6 @@ class SageConnector:
|
||||||
)
|
)
|
||||||
champs_modifies.append("date")
|
champs_modifies.append("date")
|
||||||
|
|
||||||
if modif_date_expedition:
|
|
||||||
logger.info(" 📅 Modification date expédition...")
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(facture_data_temp["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(
|
|
||||||
f" ✅ Date expédition: {facture_data_temp['date_expedition']}"
|
|
||||||
)
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
if modif_date_livraison:
|
if modif_date_livraison:
|
||||||
logger.info(" 📅 Modification date livraison...")
|
logger.info(" 📅 Modification date livraison...")
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
|
|
@ -9086,13 +8842,6 @@ class SageConnector:
|
||||||
champs_modifies.append("date")
|
champs_modifies.append("date")
|
||||||
logger.info(" 📅 Date facture modifiée")
|
logger.info(" 📅 Date facture modifiée")
|
||||||
|
|
||||||
if modif_date_expedition:
|
|
||||||
doc.DO_DateExpedition = pywintypes.Time(
|
|
||||||
self.normaliser_date(facture_data_temp["date_expedition"])
|
|
||||||
)
|
|
||||||
logger.info(" 📅 Date expédition modifiée")
|
|
||||||
champs_modifies.append("date_expedition")
|
|
||||||
|
|
||||||
if modif_date_livraison:
|
if modif_date_livraison:
|
||||||
doc.DO_DateLivr = pywintypes.Time(
|
doc.DO_DateLivr = pywintypes.Time(
|
||||||
self.normaliser_date(facture_data_temp["date_livraison"])
|
self.normaliser_date(facture_data_temp["date_livraison"])
|
||||||
|
|
@ -9317,16 +9066,8 @@ class SageConnector:
|
||||||
statut_final = getattr(doc, "DO_Statut", 0)
|
statut_final = getattr(doc, "DO_Statut", 0)
|
||||||
|
|
||||||
# Extraire les dates
|
# Extraire les dates
|
||||||
date_expedition_final = None
|
|
||||||
date_livraison_final = None
|
date_livraison_final = None
|
||||||
|
|
||||||
try:
|
|
||||||
date_exped = getattr(doc, "DO_DateExpedition", None)
|
|
||||||
if date_exped:
|
|
||||||
date_expedition_final = date_exped.strftime("%Y-%m-%d")
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
date_livr = getattr(doc, "DO_DateLivr", None)
|
date_livr = getattr(doc, "DO_DateLivr", None)
|
||||||
if date_livr:
|
if date_livr:
|
||||||
|
|
@ -9339,8 +9080,7 @@ class SageConnector:
|
||||||
logger.info(f" 👤 Client final: {client_final}")
|
logger.info(f" 👤 Client final: {client_final}")
|
||||||
logger.info(f" 🔖 Référence: {reference_finale}")
|
logger.info(f" 🔖 Référence: {reference_finale}")
|
||||||
logger.info(f" 📊 Statut: {statut_final}")
|
logger.info(f" 📊 Statut: {statut_final}")
|
||||||
if date_expedition_final:
|
|
||||||
logger.info(f" 📅 Date expédition: {date_expedition_final}")
|
|
||||||
if date_livraison_final:
|
if date_livraison_final:
|
||||||
logger.info(f" 📅 Date livraison: {date_livraison_final}")
|
logger.info(f" 📅 Date livraison: {date_livraison_final}")
|
||||||
logger.info(f" 📝 Champs modifiés: {champs_modifies}")
|
logger.info(f" 📝 Champs modifiés: {champs_modifies}")
|
||||||
|
|
@ -9350,7 +9090,6 @@ class SageConnector:
|
||||||
"total_ht": total_ht,
|
"total_ht": total_ht,
|
||||||
"total_ttc": total_ttc,
|
"total_ttc": total_ttc,
|
||||||
"reference": reference_finale,
|
"reference": reference_finale,
|
||||||
"date_expedition": date_expedition_final,
|
|
||||||
"date_livraison": date_livraison_final,
|
"date_livraison": date_livraison_final,
|
||||||
"champs_modifies": champs_modifies,
|
"champs_modifies": champs_modifies,
|
||||||
"statut": statut_final,
|
"statut": statut_final,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue