From 84a7a5fde0f5be9c24a5b324087b8726b1b8f01a Mon Sep 17 00:00:00 2001 From: it-fixcomart Date: Wed, 12 Mar 2025 16:59:54 +0700 Subject: add sorting dari yg terbaru --- indoteknik_api/models/sale_order.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/indoteknik_api/models/sale_order.py b/indoteknik_api/models/sale_order.py index 0b9881ec..6debf762 100644 --- a/indoteknik_api/models/sale_order.py +++ b/indoteknik_api/models/sale_order.py @@ -28,12 +28,19 @@ class SaleOrder(models.Model): 'date_order': self.env['rest.api'].datetime_to_str(sale_order.date_order, '%d/%m/%Y %H:%M:%S'), 'pickings': [] } - for picking in sale_order.picking_ids: + # Urutkan picking berdasarkan create_date descending + sorted_pickings = sale_order.picking_ids.sorted(key=lambda p: p.create_date, reverse=True) + + for picking in sorted_pickings: data['pickings'].append({ 'id': picking.id, 'name': picking.name, 'tracking_number': picking.delivery_tracking_no or '', + 'carrier_name': picking.carrier_id.name or '', 'delivered': picking.waybill_id.delivered or picking.driver_arrival_date != False or picking.sj_return_date != False, + 'date': self.env['rest.api'].datetime_to_str(picking.driver_departure_date, '%d/%m/%Y'), + 'eta': picking.generate_eta_delivery(), + 'service_type': sale_order.delivery_service_type or '', }) if sale_order.state == 'cancel': data['status'] = 'cancel' -- cgit v1.2.3