Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Owo Sugiana
/
opensipkd-pad-models
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 68374631
authored
May 15, 2024
by
Owo Sugiana
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Persen denda ganda pada Kabupaten Tangerang
1 parent
ca6d69bd
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
2 deletions
CHANGES.txt
opensipkd/pad/services/tangerang_kab.py
CHANGES.txt
View file @
6837463
0.5.8 2024-05-15
----------------
- Kabupaten Tangerang menerapkan persen denda ganda: jatuh tempo sebelum April
2024 2%, selain itu 1%
0.5.7 2024-03-14
----------------
- Tambah Kota Tangerang
...
...
opensipkd/pad/services/tangerang_kab.py
View file @
6837463
from
datetime
import
date
from
opensipkd.hitung
import
(
bulan_tunggakan_berdasarkan_tgl
,
round_up
,
)
from
..models.tangerang_kab
import
(
Kecamatan
,
Kelurahan
,
...
...
@@ -23,6 +27,22 @@ def dmy(tgl):
return
tgl
.
strftime
(
'
%
d-
%
m-
%
Y'
)
def
hitung_denda
(
tagihan
,
jatuh_tempo
,
tgl_hitung
):
if
jatuh_tempo
>=
tgl_hitung
:
return
0
,
0
jatuh_tempo_batas
=
date
(
2024
,
3
,
jatuh_tempo
.
day
)
bulan2persen
=
bulan_tunggakan_berdasarkan_tgl
(
jatuh_tempo
,
jatuh_tempo_batas
)
bulan1persen
=
bulan_tunggakan_berdasarkan_tgl
(
jatuh_tempo_batas
,
tgl_hitung
)
persen
=
bulan2persen
*
2
+
bulan1persen
if
persen
>
48
:
persen
=
48
bulan
=
bulan2persen
+
bulan1persen
denda
=
float
(
persen
)
/
100
*
tagihan
return
bulan
,
denda
PERIODE_BAYAR
=
[
(
date
(
2023
,
8
,
15
),
date
(
2023
,
8
,
31
)),
(
date
(
2023
,
10
,
1
),
date
(
2023
,
10
,
31
)),
...
...
@@ -32,13 +52,15 @@ NOTE_TGL_BAYAR = 'Tanggal bayar {awal} <= {tgl_bayar} <= {akhir}'
class
Inquiry
(
BaseInquiry
):
def
hitung_denda_waktu
(
self
):
# Override
super
()
.
hitung_denda_waktu
()
self
.
bln_tunggakan
,
self
.
denda_waktu
=
hitung_denda
(
self
.
tagihan
,
self
.
invoice
.
jatuhtempotgl
.
date
(),
self
.
tgl_bayar
.
date
())
if
self
.
invoice
.
bunga
<
1
or
self
.
bln_tunggakan
<
1
:
return
denda_per_bln
=
self
.
denda_waktu
/
self
.
bln_tunggakan
max_denda
=
24
*
denda_per_bln
denda
=
self
.
denda_waktu
+
self
.
invoice
.
bunga
if
denda
>=
max_denda
:
if
max_denda
>
0
and
denda
>=
max_denda
:
self
.
bln_tunggakan
=
24
self
.
denda_waktu
=
max_denda
-
self
.
invoice
.
bunga
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment