diff options
| author | trisusilo48 <tri.susilo@altama.co.id> | 2025-02-07 15:07:01 +0700 |
|---|---|---|
| committer | trisusilo48 <tri.susilo@altama.co.id> | 2025-02-07 15:07:01 +0700 |
| commit | 0dbcd5eb060924a0860b2586776f65d5ce19b9ef (patch) | |
| tree | 9bded0399668761aa60644e3d959038953b54378 /indoteknik_api/controllers/api_v1 | |
| parent | d0647f4b4a0df94c7b51852823df37eeb5b89e3e (diff) | |
estimation delerivery date
Diffstat (limited to 'indoteknik_api/controllers/api_v1')
| -rw-r--r-- | indoteknik_api/controllers/api_v1/product.py | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/indoteknik_api/controllers/api_v1/product.py b/indoteknik_api/controllers/api_v1/product.py index 5d564ff9..93ef305c 100644 --- a/indoteknik_api/controllers/api_v1/product.py +++ b/indoteknik_api/controllers/api_v1/product.py @@ -9,6 +9,17 @@ import json _logger = logging.getLogger(__name__) +def get_days_until_next_business_day(start_date=None, *args, **kwargs): + today = start_date or datetime.today().date() + offset = 0 # Counter jumlah hari yang ditambahkan + + while today.weekday() >= 5 : + today += timedelta(days=1) + offset += 1 + + return offset + + class Product(controller.Controller): prefix = '/api/v1/' @@ -75,12 +86,17 @@ class Product(controller.Controller): if product_sla.sla_vendor_id.unit != 'jam': include_instant = False break + + start_date = datetime.today().date() + additional_days = get_days_until_next_business_day(start_date) # Jika semua loop selesai tanpa include_instant menjadi False return self.response({ 'include_instant': include_instant, 'sla_duration': sla_duration, - 'sla_unit': sla_unit + 'sla_additional_days': additional_days, + 'sla_total' : int(sla_duration) + int(additional_days), + 'sla_unit': 'Hari' if additional_days > 0 else sla_unit } ) |
