20.01.26
This commit is contained in:
@@ -68,12 +68,12 @@ class AutomationCron(ModelSQL, ModelView):
|
||||
t.FintradeBookingKey,
|
||||
))
|
||||
|
||||
# On prépare deux listes pour la sauvegarde en batch
|
||||
# Préparer les listes pour la sauvegarde et les données du shipment
|
||||
parties_to_save = []
|
||||
vessels_to_save = []
|
||||
locations_to_save = []
|
||||
shipments_data = [] # <-- nouvelle liste
|
||||
|
||||
# Dictionnaires pour éviter de recréer plusieurs fois le même objet
|
||||
parties_cache = {}
|
||||
vessels_cache = {}
|
||||
locations_cache = {}
|
||||
@@ -92,7 +92,7 @@ class AutomationCron(ModelSQL, ModelView):
|
||||
|
||||
logger.info("ROW_FROM_CRON: %s", row)
|
||||
|
||||
# ----- Fonctions pour créer ou récupérer les objets en mémoire -----
|
||||
# ----- Fonctions pour créer ou récupérer les objets -----
|
||||
def get_or_create_party(name):
|
||||
name_upper = name.upper()
|
||||
if name_upper in parties_cache:
|
||||
@@ -144,8 +144,8 @@ class AutomationCron(ModelSQL, ModelView):
|
||||
loc_from = get_or_create_location(loading_name, 'supplier')
|
||||
loc_to = get_or_create_location(destination_name, 'customer')
|
||||
|
||||
# Stocke toutes les infos du shipment pour la deuxième étape
|
||||
row_dict = {
|
||||
# Stocker les données pour la deuxième étape
|
||||
shipments_data.append({
|
||||
'si_number': si_number,
|
||||
'bl_number': bl_number,
|
||||
'bl_date': bl_date,
|
||||
@@ -154,9 +154,8 @@ class AutomationCron(ModelSQL, ModelView):
|
||||
'agent': agent,
|
||||
'vessel': vessel,
|
||||
'from_location': loc_from,
|
||||
'to_location': loc_to
|
||||
}
|
||||
row._shipment_data = row_dict # on attache les infos au row temporairement
|
||||
'to_location': loc_to,
|
||||
})
|
||||
|
||||
# ----- Étape 1 : sauvegarde des objets de référence -----
|
||||
if parties_to_save:
|
||||
@@ -170,8 +169,7 @@ class AutomationCron(ModelSQL, ModelView):
|
||||
Transaction().commit()
|
||||
|
||||
# ----- Étape 2 : création des shipments -----
|
||||
for row in rows:
|
||||
data = row._shipment_data
|
||||
for data in shipments_data:
|
||||
si_number = data['si_number']
|
||||
shipment = ShipmentIn.search([('reference', '=', si_number)], limit=1)
|
||||
if shipment:
|
||||
|
||||
Reference in New Issue
Block a user