diff options
Diffstat (limited to 'indoteknik_custom/models/ged.py')
| -rw-r--r-- | indoteknik_custom/models/ged.py | 61 |
1 files changed, 52 insertions, 9 deletions
diff --git a/indoteknik_custom/models/ged.py b/indoteknik_custom/models/ged.py index a2e8bc3c..ef7b422a 100644 --- a/indoteknik_custom/models/ged.py +++ b/indoteknik_custom/models/ged.py @@ -124,6 +124,27 @@ class GedApi(models.Model): self.env['token.storage'].create([param]) return token + def get_tracking_awb_log(self, dunning_run): + token = self._get_token() + headers = { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + 'X-Ged-Key': x_ged_key, + 'X-Ged-Password': x_ged_password, + 'Authorization': 'Bearer ' + token + } + json_data = { + 'data': { + 'awb': dunning_run.resi_tukar_faktur + } + } + response = requests.post(url_tracking, headers=headers, json=json_data) + log = { + 'body': str(json_data), + 'responses': str(response.json()) + } + self.env['ged.tracking.log'].create(log) + def get_tracking_awb(self, dunning_run): # current_time = datetime.now() # current_time = current_time.strftime('%Y-%m-%d %H:%M:%S') @@ -235,6 +256,10 @@ class GedApi(models.Model): status_detail = line['status_detail'] status = line['status'] + if status == 'Received At Warehouse' and not dunning_run.date_kirim_tukar_faktur: + dunning_run.date_kirim_tukar_faktur = line.created_at + dunning_run.copy_date_faktur() + param_line = { 'ged_tracking_id': ged_tracking_id, 'user_input': user_input, @@ -257,21 +282,22 @@ class DunningRunGed(models.Model): ged_tracking = fields.One2many('ged.tracking', 'dunning_id', string='GED Tracking', auto_join=True) ged_tracking_line = fields.One2many('ged.tracking.line', 'dunning_id', string='GED Tracking Line', auto_join=True) - def _get_tracking_history(self, test_awb_number): - if test_awb_number > 0: + def _get_tracking_history(self, awb_number='all_data'): + if awb_number == 'all_data': query = [ ('last_status_awb', '!=', 'POD Return'), - ('resi_tukar_faktur', '=', test_awb_number), - ('shipper_faktur_id', '=', 123) + ('resi_tukar_faktur', '!=', False), + ('shipper_faktur_id', '=', 123), + ('date_terima_tukar_faktur', '=', False) ] else: query = [ ('last_status_awb', '!=', 'POD Return'), - ('resi_tukar_faktur', '!=', False), - ('shipper_faktur_id', '=', 123), - ('date_terima_tukar_faktur', '=', False) + ('resi_tukar_faktur', '=', awb_number), + ('shipper_faktur_id', '=', 123) ] - dunnings = self.env['dunning.run'].search(query, limit=50) + + dunnings = self.env['dunning.run'].search(query, limit=100) for dunning in dunnings: current_tracking = self.env['ged.tracking'].search([('awb_no', '=', dunning.resi_tukar_faktur)], limit=1) @@ -287,5 +313,22 @@ class DunningRunGed(models.Model): dunning.copy_date_faktur() return + def _get_tracking_history_log(self, awb_number='all_data'): + query = [ + ('last_status_awb', '!=', 'POD Return'), + ('resi_tukar_faktur', '=', awb_number), + ('shipper_faktur_id', '=', 123) + ] + + dunnings = self.env['dunning.run'].search(query, limit=1) + + for dunning in dunnings: + ged_api = self.env['ged.api'] + ged_api.get_tracking_awb_log(dunning) + return + def get_tracking_history_by_awb(self): - self._get_tracking_history(self.resi_tukar_faktur)
\ No newline at end of file + self._get_tracking_history(self.resi_tukar_faktur) + + def get_tracking_history_by_awb_log(self): + self._get_tracking_history_log(self.resi_tukar_faktur) |
