summaryrefslogtreecommitdiff
path: root/indoteknik_api/models
diff options
context:
space:
mode:
authorit-fixcomart <it@fixcomart.co.id>2025-03-12 16:59:54 +0700
committerit-fixcomart <it@fixcomart.co.id>2025-03-12 16:59:54 +0700
commit84a7a5fde0f5be9c24a5b324087b8726b1b8f01a (patch)
tree7032ef9e4afa9b71a5c11ce13d5618bf71066544 /indoteknik_api/models
parent61fc24442212691483873fa85dc3eacad8b253be (diff)
<iman> add sorting dari yg terbaru
Diffstat (limited to 'indoteknik_api/models')
-rw-r--r--indoteknik_api/models/sale_order.py9
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'