Commit 42a20fea by Taufikyu

perbaiki hitung denda

1 parent 0a536d63
...@@ -12,31 +12,55 @@ from ..models.isipkd import Param ...@@ -12,31 +12,55 @@ from ..models.isipkd import Param
from ..models.isipkd import( from ..models.isipkd import(
Wilayah, Jabatan, Unit, Rekening, SubjekPajak, Pajak, ObjekPajak Wilayah, Jabatan, Unit, Rekening, SubjekPajak, Pajak, ObjekPajak
) )
from math import ceil
############################# #############################
## Untuk perhitungan bunga ## ## Untuk perhitungan bunga ##
############################# #############################
def hitung_bunga(pokok, jatuh_tempo): def hitung_bunga(pokok, jatuh_tempo, tanggal=None, max_denda=24):
#row = DBSession.query(Param.denda).first() ##row = DBSession.query(Param.denda).first()
#if row: ##if row:
# persen_denda = row.denda ## persen_denda = row.denda
#else: ##else:
# return 0 ## return 0
#persen_denda = 1
#kini = date.today()
#denda = bln_tunggakan = 0
#jatuh_tempo = jatuh_tempo
#x = (kini.year - jatuh_tempo.year) * 12
#y = kini.month - jatuh_tempo.month
#bln_tunggakan = x + y + 1
#if kini.day <= jatuh_tempo.day:
# bln_tunggakan -= 1
#if bln_tunggakan < 1:
# bln_tunggakan = 0
#if bln_tunggakan > 24:
# bln_tunggakan = 24
#denda = bln_tunggakan * persen_denda / 100 * pokok
#print('kini',kini)
#print('jatuh_tempo',jatuh_tempo)
#print('pokok',pokok)
#print('denda',denda)
#return denda
persen_denda = 1 persen_denda = 1
kini = date.today() if not tanggal:
denda = bln_tunggakan = 0 tanggal = datetime.now().date()
jatuh_tempo = jatuh_tempo if tanggal <= jatuh_tempo: # + timedelta(days=1):
x = (kini.year - jatuh_tempo.year) * 12 return 0
y = kini.month - jatuh_tempo.month
x = (tanggal.year - jatuh_tempo.year) * 12
y = tanggal.month - jatuh_tempo.month
bln_tunggakan = x + y + 1 bln_tunggakan = x + y + 1
if kini.day <= jatuh_tempo.day: if tanggal.day <= jatuh_tempo.day:
bln_tunggakan -= 1 bln_tunggakan -= 1
if bln_tunggakan < 1: if bln_tunggakan < 1:
bln_tunggakan = 0 bln_tunggakan = 0
if bln_tunggakan > 24: if bln_tunggakan > max_denda:
bln_tunggakan = 24 bln_tunggakan = max_denda
denda = bln_tunggakan * persen_denda / 100 * pokok denda = int(ceil(bln_tunggakan * persen_denda / 100.0 * pokok))
return denda return denda
################################### ###################################
## Untuk validasi struktur email ## ## Untuk validasi struktur email ##
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!