diff options
Diffstat (limited to 'indoteknik_api/models')
| -rw-r--r-- | indoteknik_api/models/sale_order.py | 26 |
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' |
