summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/dunning_run.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2024-05-20 16:30:43 +0700
committerstephanchrst <stephanchrst@gmail.com>2024-05-20 16:30:43 +0700
commit92f33f2851a76bf391c0cfdee8fc0d4047e22a1d (patch)
treedb1dd312b0c8e770f3eb05762bdbfae5010468d0 /indoteknik_custom/models/dunning_run.py
parent8cb1d5045542d120a65a610b6f9bb4b99c43adf4 (diff)
sync dunning to ged
Diffstat (limited to 'indoteknik_custom/models/dunning_run.py')
-rw-r--r--indoteknik_custom/models/dunning_run.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/indoteknik_custom/models/dunning_run.py b/indoteknik_custom/models/dunning_run.py
index abfd68be..b5b8acb5 100644
--- a/indoteknik_custom/models/dunning_run.py
+++ b/indoteknik_custom/models/dunning_run.py
@@ -3,6 +3,7 @@ from odoo.exceptions import AccessError, UserError, ValidationError
from datetime import timedelta
import logging
+
_logger = logging.getLogger(__name__)
@@ -25,6 +26,7 @@ class DunningRun(models.Model):
shipper_faktur_id = fields.Many2one('delivery.carrier', string='Shipper Faktur')
is_validated = fields.Boolean(string='Validated')
notification = fields.Char(string='Notification')
+ last_status_awb = fields.Char(string='Last Status AWB')
def copy_date_faktur(self):
if not self.is_validated:
@@ -105,6 +107,33 @@ class DunningRun(models.Model):
result = super(DunningRun, self).create(vals)
return result
+ def _get_tracking_history(self, test_awb_number):
+ if test_awb_number:
+ query = [
+ ('last_status', '!=', 'POD Return'),
+ ('resi_tukar_faktur', '=', test_awb_number),
+ ('shipper_faktur_id', '=', 123)
+ ]
+ else:
+ query = [
+ ('last_status', '!=', 'POD Return'),
+ ('resi_tukar_faktur', '!=', False),
+ ('shipper_faktur_id', '=', 123)
+ ]
+ dunnings = self.env['dunning.run'].search(query)
+
+ for dunning in dunnings:
+ current_tracking = self.env['ged.tracking'].search([('awb_no', '=', dunning.resi_tukar_faktur)], limit=1)
+ if current_tracking:
+ current_tracking.unlink()
+ else:
+ ged_api = self.env['ged.api']
+ last_status = ged_api.get_tracking_awb(dunning.id)
+ if not last_status:
+ dunning.last_status_awb = last_status
+ return
+
+
class DunningRunLine(models.Model):
_name = 'dunning.run.line'