diff options
| author | it-fixcomart <it@fixcomart.co.id> | 2024-11-19 17:29:27 +0700 |
|---|---|---|
| committer | it-fixcomart <it@fixcomart.co.id> | 2024-11-19 17:29:27 +0700 |
| commit | d64eccc538c5eb130efddb4d1b6c5bfc441957e8 (patch) | |
| tree | 44c3a20858b4f5955cc44bb9efb43f35bdf673d9 | |
| parent | acc0b8e9f9d6121a072561ac55768ea0f29910fa (diff) | |
<imam> shipment
| -rw-r--r-- | indoteknik_api/controllers/api_v1/stock_picking.py | 10 | ||||
| -rw-r--r-- | indoteknik_api/models/sale_order.py | 2 | ||||
| -rw-r--r-- | indoteknik_custom/models/stock_picking.py | 10 |
3 files changed, 12 insertions, 10 deletions
diff --git a/indoteknik_api/controllers/api_v1/stock_picking.py b/indoteknik_api/controllers/api_v1/stock_picking.py index ea8c6400..110cde8a 100644 --- a/indoteknik_api/controllers/api_v1/stock_picking.py +++ b/indoteknik_api/controllers/api_v1/stock_picking.py @@ -32,7 +32,9 @@ class StockPicking(controller.Controller): pending_domain = [('driver_departure_date', '=', False), ('driver_arrival_date', '=', False)] shipment_domain = [('driver_departure_date', '!=', False), ('driver_arrival_date', '=', False)] - completed_domain = [('driver_departure_date', '!=', False), ('driver_arrival_date', '!=', False)] + shipment_domain2 = [('driver_departure_date', '!=', False), ('sj_return_date', '=', False)] + completed_domain = [('driver_departure_date', '!=', False),'|', ('driver_arrival_date', '!=', False), ('sj_return_date', '!=', False)] + completed_domain2 = [('driver_departure_date', '!=', False), ('sj_return_date', '!=', False)] picking_model = request.env['stock.picking'] domain = [ @@ -74,7 +76,7 @@ class StockPicking(controller.Controller): 'name': picking.sale_id.name, 'client_order_ref': picking.sale_id.client_order_ref or '' }, - 'delivered': picking.waybill_id.delivered or picking.driver_arrival_date != False, + 'delivered': picking.waybill_id.delivered or picking.driver_arrival_date != False or picking.sj_return_date != False, 'status': picking.shipping_status, 'carrier_name': picking.carrier_id.name or '', 'last_manifest': next(iter(manifests), None) @@ -83,8 +85,8 @@ class StockPicking(controller.Controller): return self.response({ 'summary': { 'pending_count': picking_model.search_count(default_domain + pending_domain), - 'shipment_count': picking_model.search_count(default_domain + shipment_domain), - 'completed_count': picking_model.search_count(default_domain + completed_domain) + 'shipment_count': picking_model.search_count(default_domain + shipment_domain + shipment_domain2), + 'completed_count': picking_model.search_count(default_domain + completed_domain ) }, 'picking_total': picking_model.search_count(domain), 'pickings': res_pickings diff --git a/indoteknik_api/models/sale_order.py b/indoteknik_api/models/sale_order.py index 8e0371a3..54e1fd40 100644 --- a/indoteknik_api/models/sale_order.py +++ b/indoteknik_api/models/sale_order.py @@ -33,7 +33,7 @@ class SaleOrder(models.Model): 'id': picking.id, 'name': picking.name, 'tracking_number': picking.delivery_tracking_no or '', - 'delivered': picking.waybill_id.delivered or picking.driver_arrival_date != False, + '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' diff --git a/indoteknik_custom/models/stock_picking.py b/indoteknik_custom/models/stock_picking.py index 430c54f3..0bcb591e 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -281,9 +281,9 @@ class StockPicking(models.Model): def _compute_shipping_status(self): for rec in self: status = 'pending' - if rec.driver_departure_date and not rec.driver_arrival_date: + if rec.driver_departure_date and not (rec.sj_return_date or rec.driver_arrival_date): status = 'shipment' - elif rec.driver_departure_date and rec.driver_arrival_date: + elif rec.driver_departure_date and (rec.sj_return_date or rec.driver_arrival_date): status = 'completed' rec.shipping_status = status @@ -657,13 +657,13 @@ class StockPicking(models.Model): manifest_datas = [] departure_date = self.driver_departure_date - arrival_date = self.driver_arrival_date + arrival_date = self.sj_return_date if self.sj_return_date else self.driver_arrival_date status = status_mapping.get(status_key) if not status: return manifest_datas - if arrival_date: + if arrival_date or self.sj_return_date: manifest_datas.append(self.create_manifest_data(status['arrival'], arrival_date)) if departure_date: manifest_datas.append(self.create_manifest_data(status['departure'], departure_date)) @@ -690,7 +690,7 @@ class StockPicking(models.Model): } if not self.waybill_id or len(self.waybill_id.manifest_ids) == 0: - response['delivered'] = self.driver_arrival_date != False + response['delivered'] = self.sj_return_date != False or self.driver_arrival_date != False return response response['delivery_order']['receiver_name'] = self.waybill_id.receiver_name |
