summaryrefslogtreecommitdiff
path: root/indoteknik_api/models
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_api/models')
-rw-r--r--indoteknik_api/models/sale_order.py26
1 files changed, 15 insertions, 11 deletions
diff --git a/indoteknik_api/models/sale_order.py b/indoteknik_api/models/sale_order.py
index 4fc96386..5427ed07 100644
--- a/indoteknik_api/models/sale_order.py
+++ b/indoteknik_api/models/sale_order.py
@@ -30,20 +30,24 @@ class SaleOrder(models.Model):
'payment_type': sale_order.payment_type,
'pickings': []
}
- # 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:
+ for picking in sale_order.picking_ids:
+ picking_model = self.env['stock.picking'].sudo().search([('id', '=', picking.id), ('name', 'like', '%BU/OUT/%')], limit=1)
+ if not picking_model:
+ continue
+ response = picking_model.get_tracking_detail()
+
data['pickings'].append({
+ 'waybill_number' : response['waybill_number'] or '',
+ 'delivered_date': response['delivered_date'],
+ 'delivery_order' : {
+ 'carrier' : response['delivery_order']['carrier'] or '',
+ 'service' : response['delivery_order']['service'] or ''
+ },
+ 'eta' : response['eta'],
'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 '',
- 'weight_total': picking.weight or 0,
+ # 'tracking_number': picking.delivery_tracking_no or '',
+ # 'delivered': picking.waybill_id.delivered or picking.driver_arrival_date != False or picking.sj_return_date != False,
})
if sale_order.state == 'cancel':
data['status'] = 'cancel'