Commit ed7e0f9a by Owo Sugiana

Kota Bekasi menerapkan persen denda ganda untuk jatuh tempo sebelum 1 Januari 2024

1 parent 5ef55738
0.3.2 2024-06-12
----------------
- Kota Bekasi menerapkan persen denda ganda untuk jatuh tempo sebelum 1 Januari 2024
0.3.1 2024-01-06 0.3.1 2024-01-06
---------------- ----------------
- Jatuh tempo 2023 ke bawah persen denda ambil dari file konfigurasi, sedangkan - Jatuh tempo 2023 ke bawah persen denda ambil dari file konfigurasi, sedangkan
......
from datetime import date from datetime import (
date,
datetime,
)
from opensipkd.hitung import (
bulan_tunggakan_berdasarkan_tgl,
round_up,
)
from ..models.bekasi_kota import ( from ..models.bekasi_kota import (
ObjekPajak, ObjekPajak,
Sppt, Sppt,
...@@ -19,12 +26,35 @@ AWAL_DISC_DENDA = date(2023, 12, 4) ...@@ -19,12 +26,35 @@ AWAL_DISC_DENDA = date(2023, 12, 4)
AKHIR_DISC_DENDA = date(2023, 12, 26) AKHIR_DISC_DENDA = date(2023, 12, 26)
def hitung_denda(tagihan, jatuh_tempo, tgl_hitung):
if jatuh_tempo >= tgl_hitung:
return 0, 0
jatuh_tempo_januari = date(2024, 1, jatuh_tempo.day)
bulan2persen = bulan_tunggakan_berdasarkan_tgl(
jatuh_tempo, jatuh_tempo_januari)
bulan1persen = bulan_tunggakan_berdasarkan_tgl(
jatuh_tempo_januari, tgl_hitung)
persen = bulan2persen * 2 + bulan1persen
bulan = bulan2persen + bulan1persen
denda = float(persen) / 100 * tagihan
return bulan, denda
class Inquiry(BaseInquiry): class Inquiry(BaseInquiry):
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
if self.invoice and self.invoice.status_pembayaran_sppt == '1': if self.invoice and self.invoice.status_pembayaran_sppt == '1':
self.tagihan = self.denda = self.discount = self.total = 0 self.tagihan = self.denda = self.discount = self.total = 0
def hitung_denda(self): # Override
if isinstance(self.tgl_bayar, datetime):
tgl_bayar = self.tgl_bayar.date()
else:
tgl_bayar = self.tgl_bayar
self.bln_tunggakan, denda = hitung_denda(
self.tagihan, self.get_jatuh_tempo(), tgl_bayar)
self.denda = round_up(denda)
def hitung_discount(self): # Override def hitung_discount(self): # Override
self.discount_denda = self.discount_pokok = 0 self.discount_denda = self.discount_pokok = 0
if AWAL_DISC_DENDA <= self.tgl_bayar <= AKHIR_DISC_DENDA: if AWAL_DISC_DENDA <= self.tgl_bayar <= AKHIR_DISC_DENDA:
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!