Faircot cron
This commit is contained in:
@@ -219,6 +219,48 @@ class AutomationCron(ModelSQL, ModelView):
|
|||||||
|
|
||||||
rows2 = cursor2.fetchall()
|
rows2 = cursor2.fetchall()
|
||||||
|
|
||||||
|
def normalize_bl_number(value):
|
||||||
|
value = str(value or '').strip()
|
||||||
|
if value.lower() in {'none', 'null'}:
|
||||||
|
return ''
|
||||||
|
return value
|
||||||
|
|
||||||
|
def sync_shipment_from_booking(shipment, bl_number, bl_date, etd_date,
|
||||||
|
controller):
|
||||||
|
changed = False
|
||||||
|
booking_bl_number = normalize_bl_number(bl_number)
|
||||||
|
shipment_bl_number = normalize_bl_number(shipment.bl_number)
|
||||||
|
if booking_bl_number and booking_bl_number != shipment_bl_number:
|
||||||
|
logger.info(
|
||||||
|
"FREIGHT_BOOKING_SYNC_BL shipment=%s reference=%s "
|
||||||
|
"old_bl=%s new_bl=%s",
|
||||||
|
shipment.id, shipment.reference,
|
||||||
|
shipment.bl_number, booking_bl_number)
|
||||||
|
shipment.bl_number = booking_bl_number
|
||||||
|
changed = True
|
||||||
|
if bl_date and shipment.bl_date != bl_date:
|
||||||
|
logger.info(
|
||||||
|
"FREIGHT_BOOKING_SYNC_BL_DATE shipment=%s reference=%s "
|
||||||
|
"old_bl_date=%s new_bl_date=%s",
|
||||||
|
shipment.id, shipment.reference,
|
||||||
|
shipment.bl_date, bl_date)
|
||||||
|
shipment.bl_date = bl_date
|
||||||
|
changed = True
|
||||||
|
if etd_date and shipment.etd != etd_date:
|
||||||
|
logger.info(
|
||||||
|
"FREIGHT_BOOKING_SYNC_ETD shipment=%s reference=%s "
|
||||||
|
"old_etd=%s new_etd=%s",
|
||||||
|
shipment.id, shipment.reference,
|
||||||
|
shipment.etd, etd_date)
|
||||||
|
shipment.etd = etd_date
|
||||||
|
changed = True
|
||||||
|
if controller and shipment.controller_target != controller:
|
||||||
|
shipment.controller_target = controller
|
||||||
|
changed = True
|
||||||
|
if changed:
|
||||||
|
ShipmentIn.save([shipment])
|
||||||
|
return changed
|
||||||
|
|
||||||
for i, row in enumerate(rows2, 1):
|
for i, row in enumerate(rows2, 1):
|
||||||
(
|
(
|
||||||
si_number, si_date, si_quantity, si_unit,
|
si_number, si_date, si_quantity, si_unit,
|
||||||
@@ -242,9 +284,13 @@ class AutomationCron(ModelSQL, ModelView):
|
|||||||
|
|
||||||
if existing_shipment:
|
if existing_shipment:
|
||||||
shipment = existing_shipment[0]
|
shipment = existing_shipment[0]
|
||||||
|
sync_shipment_from_booking(
|
||||||
|
shipment, bl_number, bl_date, etd_date,
|
||||||
|
controller)
|
||||||
if shipment.incoming_moves:
|
if shipment.incoming_moves:
|
||||||
logger.info(
|
logger.info(
|
||||||
"Shipment %s existe deja avec lots, ignore",
|
"Shipment %s existe deja avec lots, "
|
||||||
|
"booking data synchronized",
|
||||||
si_number)
|
si_number)
|
||||||
trans_shipment.commit()
|
trans_shipment.commit()
|
||||||
continue
|
continue
|
||||||
|
|||||||
Reference in New Issue
Block a user