summaryrefslogtreecommitdiff
path: root/indoteknik_custom/models/ged.py
diff options
context:
space:
mode:
Diffstat (limited to 'indoteknik_custom/models/ged.py')
-rw-r--r--indoteknik_custom/models/ged.py61
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)