diff options
| author | Miqdad <ahmadmiqdad27@gmail.com> | 2025-09-09 11:49:54 +0700 |
|---|---|---|
| committer | Miqdad <ahmadmiqdad27@gmail.com> | 2025-09-09 11:49:54 +0700 |
| commit | 7f49cfa92bed67bea8359433ff5c08cb069f284e (patch) | |
| tree | 0a37b5727832d4f3e16653167d113348d01633f9 | |
| parent | 76676d8b0c41672d11ae392500dfb5a6db1cfd91 (diff) | |
<Miqdad> add tanggal kirim sj
| -rw-r--r-- | indoteknik_custom/models/sj_tele.py | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/indoteknik_custom/models/sj_tele.py b/indoteknik_custom/models/sj_tele.py index c00279ec..8864a313 100644 --- a/indoteknik_custom/models/sj_tele.py +++ b/indoteknik_custom/models/sj_tele.py @@ -4,6 +4,7 @@ import requests import json import logging, subprocess import time +from collections import OrderedDict _logger = logging.getLogger(__name__) @@ -17,6 +18,7 @@ class SjTele(models.Model): picking_name = fields.Char(string='Picking Name') sale_name = fields.Char(string='Sale Name') create_date = fields.Datetime(string='Create Date') + date_doc_kirim = fields.Datetime(string='Tanggal Kirim SJ') # @api.model # def run_pentaho_carte(self): @@ -62,13 +64,32 @@ class SjTele(models.Model): _logger.exception("Gagal kirim Telegram (no data): %s", e) return True + lines = [] + groups = OrderedDict() + for rec in data: name = rec.picking_name or (rec.picking_id.name if rec.picking_id else '') pid = rec.picking_id.id if rec.picking_id else '' - so = rec.sale_id.name or rec.sale_name or '' + so = rec.sale_id.name or rec.sale_name or '' + dttm = (rec.picking_id.date_doc_kirim if (rec.picking_id and rec.picking_id.date_doc_kirim) + else getattr(rec, 'date_doc_kirim', None)) + + # format header tanggal (string), tanpa konversi Waktu/WIB + if dttm: + date_header = dttm if isinstance(dttm, str) else fields.Datetime.to_string(dttm) + date_header = date_header[:10] + else: + date_header = '(Tidak ada tanggal kirim SJ)' + if name: - lines.append(f"{name} - {so} ({pid})") + groups.setdefault(date_header, []).append(f"- ({pid}) - {name} - {so}") + + # build output berurutan per tanggal + for header_date, items in groups.items(): + lines.append(header_date) + lines.extend(items) + header = "Berikut merupakan nomor BU/OUT yang belum ada di Logbook SJ report:\n" text = header + "\n".join(lines) |
