diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2025-03-12 16:59:54 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2025-03-12 16:59:54 +0700 |
| commit | 84a7a5fde0f5be9c24a5b324087b8726b1b8f01a (patch) | |
| tree | 7032ef9e4afa9b71a5c11ce13d5618bf71066544 | |
| parent | 61fc24442212691483873fa85dc3eacad8b253be (diff) | |
<iman> add sorting dari yg terbaru
| -rw-r--r-- | indoteknik_api/models/sale_order.py | 9 |
1 files changed, 8 insertions, 1 deletions
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' |
