Commit 62824e1a by Owo Sugiana

Perbaikan discount pokok Kota Bekasi terkait faktor pengurang

1 parent f57f3c47
0.3.53 2026-03-07
-----------------
- Perbaikan discount pokok Kota Bekasi terkait faktor pengurang
0.3.52 2026-02-28
-----------------
- Discount denda Kota Sukabumi
......
......@@ -3,7 +3,7 @@ requires = ['setuptools >= 64']
[project]
name = 'sismiop-models'
version = '0.3.52'
version = '0.3.53'
dependencies = [
'sqlalchemy',
'zope.sqlalchemy',
......
......@@ -39,9 +39,15 @@ BUKU_DISC_POKOK = [
TAHUN_LUNAS = [str(x) for x in range(2021, 2027)]
def hitung_denda(tagihan, jatuh_tempo, tgl_hitung):
def hitung_denda(
tagihan: int, jatuh_tempo: date, tgl_hitung: date,
tahun: str) -> tuple:
if jatuh_tempo >= tgl_hitung:
return 0, 0
if '2019' <= tahun <= '2023':
bulan = 15
denda = bulan * 0.02 * tagihan
return bulan, denda
jatuh_tempo_batas = date(2024, 1, jatuh_tempo.day)
bulan2persen = bulan_tunggakan_berdasarkan_tgl(
jatuh_tempo, jatuh_tempo_batas)
......@@ -83,18 +89,23 @@ class Inquiry(BaseInquiry):
row = q.first()
return row and row.status_pembayaran_sppt == '1'
def get_tagihan_pokok(self): # Override
pengurang = self.invoice.faktor_pengurang_sppt or 0
if pengurang > 0:
return self.invoice.pbb_terhutang_sppt
return super().get_tagihan_pokok()
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.tagihan, self.get_jatuh_tempo(), tgl_bayar,
self.invoice.thn_pajak_sppt)
self.denda = round_up(denda)
def hitung_discount_pokok(self):
if self.invoice.faktor_pengurang_sppt:
return
disc = 0
if self.invoice.thn_pajak_sppt == '2026':
for max_tagihan, disc in BUKU_DISC_POKOK:
......
......@@ -32,7 +32,7 @@ class Inquiry(BaseInquiry):
self.total_bayar = 0
denda_lalu = bayar.denda_sppt or 0
sisa = float(self.total_bayar - denda_lalu)
tagihan = self.invoice.pbb_yg_harus_dibayar_sppt - sisa
tagihan = self.get_tagihan_pokok() - sisa
if tagihan < 0:
self.tagihan = 0
else:
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!