Commit cd2fc093 by Owo Sugiana

Kabupaten Cirebon denda 1% sejak Agustus

1 parent 56b8d89b
0.5.10 2024-08-01
-----------------
- Kabupaten Cirebon denda 1% sejak Agustus.
0.5.9 2024-07-28 0.5.9 2024-07-28
---------------- ----------------
- Kota Serang discount denda 100% periode 1 Agustus - 31 Agustus 2024. - Kota Serang discount denda 100% periode 1 Agustus - 31 Agustus 2024.
......
from datetime import date from datetime import date
from opensipkd.hitung import hitung_denda
from ..models.cirebon_kab import Kohir from ..models.cirebon_kab import Kohir
from ..models.subang import Payment
from .banjar import ( from .banjar import (
Inquiry as BaseInquiry, Inquiry as BaseInquiry,
Reversal as BaseReversal, Reversal as BaseReversal,
...@@ -15,6 +15,8 @@ INVOICE_ID = [ ...@@ -15,6 +15,8 @@ INVOICE_ID = [
('SptNo', 5, 'N'), ('SptNo', 5, 'N'),
] ]
AKHIR_MARET = date(2024, 3, 31)
AKHIR_JULI = date(2024, 7, 31)
AWAL_DISC = date(2024, 1, 15) AWAL_DISC = date(2024, 1, 15)
AKHIR_DISC = date(2024, 12, 31) AKHIR_DISC = date(2024, 12, 31)
...@@ -23,22 +25,31 @@ AKHIR_DISC = date(2024, 12, 31) ...@@ -23,22 +25,31 @@ AKHIR_DISC = date(2024, 12, 31)
class Inquiry(BaseInquiry): class Inquiry(BaseInquiry):
invoice_id_structure = INVOICE_ID invoice_id_structure = INVOICE_ID
def hitung_denda_waktu(self): # Override
tahun_terbit = self.get_jatuh_tempo().year
tgl_bayar = self.tgl_bayar.date()
if tahun_terbit > 2023:
persen_denda = 1
elif tgl_bayar <= AKHIR_JULI:
persen_denda = 2
else:
persen_denda = 1
self.bln_tunggakan, self.denda_waktu = hitung_denda(
self.tagihan, self.invoice.jatuhtempotgl, persen_denda, tgl_bayar)
def get_discount_denda(self): # Override def get_discount_denda(self): # Override
tgl_bayar = self.tgl_bayar.date() tgl_bayar = self.tgl_bayar.date()
if AWAL_DISC <= tgl_bayar <= AKHIR_DISC: if AWAL_DISC <= tgl_bayar <= AKHIR_DISC:
tgl = self.get_tgl_kohir() tgl = self.get_tgl_kohir()
if not tgl: if not tgl:
tgl = self.invoice.masadari.date() tgl = self.invoice.masadari.date()
if tgl.year < 2024: if tgl <= AKHIR_MARET:
return self.denda return self.denda
return 0 return 0
def get_kohir_model(self): # Override def get_kohir_model(self): # Override
return Kohir return Kohir
def get_payment_model(self): # Override
return Payment
class Reversal(BaseReversal): class Reversal(BaseReversal):
invoice_id_structure = INVOICE_ID invoice_id_structure = INVOICE_ID
...@@ -46,9 +57,6 @@ class Reversal(BaseReversal): ...@@ -46,9 +57,6 @@ class Reversal(BaseReversal):
def get_kohir_model(self): # Override def get_kohir_model(self): # Override
return Kohir return Kohir
def get_payment_model(self): # Override
return Payment
class AvailableInvoice(BaseAvailableInvoice): class AvailableInvoice(BaseAvailableInvoice):
invoice_id_structure = INVOICE_ID invoice_id_structure = INVOICE_ID
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!