Commit 969ae60b by Owo Sugiana

Discount Pokok Kabupaten Bekasi

1 parent 934b46a4
0.3.7 2024-02-28
----------------
- Untuk Kabupaten Bekasi, Kota Tasik, dan Kabupaten Subang untuk Tahun Pajak
2023 ke bawah dendanya 2 persen, selain itu 1 persen. persen_denda pada file
konfigurasi tidak digunakan.
- Discount Pokok Kabupaten Bekasi
0.3.6 2024-02-26
----------------
- Discount Pokok dan Discount Denda Kota Tangerang
......
......@@ -158,14 +158,16 @@ class Inquiry(Query):
if not self.is_available():
self.invoice = None
return
if self.get_jatuh_tempo().year < 2024:
self.persen_denda = persen_denda
else:
self.persen_denda = 1
self.persen_denda = self.get_persen_denda()
# Digunakan untuk ISO8583
self.tagihan = self.denda = self.discount = self.total = 0
self.hitung()
def get_persen_denda(self):
if self.get_jatuh_tempo().year < 2024:
return 2
return 1
def get_kelurahan_model(self):
pass
......
......@@ -7,35 +7,38 @@ from .default import (
from ..models.bekasi_kab import PembayaranSppt
AWAL_DISC = date(2023, 8, 17)
AKHIR_DISC = date(2023, 11, 30)
AWAL_DISC = date(2024, 3, 1)
AKHIR_DISC = date(2024, 8, 31)
BULAN_DISC = {
3: 0.2,
4: 0.15,
5: 0.15,
6: 0.15,
7: 0.05,
8: 0.05}
class Inquiry(BaseInquiry):
def get_payment_model(self): # Override
return PembayaranSppt
def hitung_discount_denda(self):
if self.denda < 1 or self.invoice.thn_pajak_sppt > '2022':
return 0
return self.denda
def get_persen_denda(self): # Override
if self.invoice.thn_pajak_sppt < '2024':
return 2
return 1
def hitung_discount_pokok(self):
if self.invoice.thn_pajak_sppt <= '2013':
potongan = 0.5
elif '2014' <= self.invoice.thn_pajak_sppt <= '2019':
potongan = 0.2
else:
potongan = 0
if self.invoice.thn_pajak_sppt == '2024':
potongan = BULAN_DISC.get(self.tgl_bayar.month, 0)
return int(potongan * self.tagihan)
return 0
def hitung_discount(self): # Override
self.discount_denda = self.discount_pokok = 0
if AWAL_DISC <= self.tgl_bayar <= AKHIR_DISC:
self.discount_denda = self.hitung_discount_denda()
self.discount_pokok = self.hitung_discount_pokok()
self.discount = self.discount_denda + self.discount_pokok
else:
self.discount_denda = self.discount_pokok = 0
def before_save(self, payment): # Override
payment.denda_sppt = self.denda - self.discount_denda # Netto
......
......@@ -16,6 +16,11 @@ class Inquiry(BaseInquiry):
def get_payment_model(self): # Override
return PembayaranSppt
def get_persen_denda(self): # Override
if self.invoice.thn_pajak_sppt < '2024':
return 2
return 1
def hitung_pokok(self): # Override
q = self.get_payment_sum()
q = self.get_filter(q)
......
......@@ -10,10 +10,6 @@ from .tasik_kab import (
)
AWAL_DISC = date(2022, 8, 19)
AKHIR_DISC = date(2022, 12, 31)
class Inquiry(BaseInquiry):
def get_invoice_model(self): # Override
return Sppt
......@@ -21,12 +17,14 @@ class Inquiry(BaseInquiry):
def get_payment_model(self): # Override
return PembayaranSppt
def get_persen_denda(self): # Override
if self.invoice.thn_pajak_sppt < '2024':
return 2
return 1
def hitung_discount(self): # Override
if self.invoice.denda_status == '1':
self.discount = int(self.invoice.denda_pbb or 0)
elif self.tgl_bayar >= AWAL_DISC and self.tgl_bayar <= AKHIR_DISC:
if self.invoice.thn_pajak_sppt < '2022':
self.discount = self.denda
def before_save(self, payment): # Override
payment.denda_sppt = self.denda - self.discount
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!