diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2024-11-20 01:27:19 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2024-11-20 01:27:19 +0000 |
| commit | 0b18f8b67d8c4d4642d85f372555e638b3afa253 (patch) | |
| tree | 59d16fed3c8f1b9b3a2b5b5a4c6e87d61749928b | |
| parent | cc3b79a25e277bd360fdcf34eed1f26bdc44204e (diff) | |
| parent | d64eccc538c5eb130efddb4d1b6c5bfc441957e8 (diff) | |
Merged in CR/shipment (pull request #250)
<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 464e728a..4dce9e4c 100644 --- a/indoteknik_custom/models/stock_picking.py +++ b/indoteknik_custom/models/stock_picking.py @@ -280,9 +280,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 @@ -656,13 +656,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)) @@ -689,7 +689,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 |
