Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Owo Sugiana
/
sismiop-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 0ccddab7
authored
Jan 02, 2023
by
Owo Sugiana
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Discount 2023 Tangerang Selatan
2 parents
d639c18e
001fa49a
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
144 additions
and
68 deletions
CHANGES.txt
sismiop/models/tasik_kota.py
sismiop/services/bandung_kab.py
sismiop/services/banjar.py
sismiop/services/bekasi_kota.py
sismiop/services/bogor_kota.py
sismiop/services/cilegon.py
sismiop/services/cirebon_kab.py
sismiop/services/majalengka.py
sismiop/services/tangkota.py
sismiop/services/tasik_kota.py
CHANGES.txt
View file @
0ccddab
0.1.4
1
2022-12-30
0.1.4
7
2022-12-30
-----------------
- Discount 2023 untuk Tangerang Selatan
0.1.46 2022-10-29
-----------------
- Rumus discount denda Kota Bekasi
0.1.45 2022-10-9
----------------
- Rumus discount denda Kota Bogor
0.1.44 2022-10-1
----------------
- Tambah Kabupaten Bandung
- Rumus discount denda Kota Cilegon
- Rumus discount denda Kota Banjar
0.1.43 2022-9-17
----------------
- Rumus discount denda Majalengka
- Rumus tagihan pokok Kabupaten Cirebon
0.1.42 2022-8-18
----------------
- Rumus discount Kota Tasik
0.1.41 2022-8-16
----------------
- Rumus discount Kota Tangerang
0.1.40 2022-8-6
---------------
- Di Tangerang Selatan discount pokok tidak perlu memperhatikan nilai
...
...
sismiop/models/tasik_kota.py
View file @
0ccddab
...
...
@@ -2,6 +2,7 @@ from sqlalchemy import (
Column
,
Float
,
String
,
BigInteger
,
)
from
.tasik_kab
import
(
ObjekPajak
,
...
...
@@ -23,3 +24,4 @@ class Sppt(BaseSppt):
class
PembayaranSppt
(
BasePembayaranSppt
):
__table_args__
=
dict
(
extend_existing
=
True
)
denda_sblm_diskon
=
Column
(
Float
)
discount
=
Column
(
BigInteger
)
sismiop/services/bandung_kab.py
0 → 100644
View file @
0ccddab
from
datetime
import
date
from
.sumedang
import
(
AvailableInvoice
as
BaseAvailableInvoice
,
Inquiry
as
BaseInquiry
,
Reversal
,
get_db_session
,
)
AWAL_DISC
=
date
(
2022
,
10
,
1
)
AKHIR_DISC
=
date
(
2022
,
12
,
31
)
class
Inquiry
(
BaseInquiry
):
def
hitung_discount
(
self
):
# Override
if
self
.
tgl_bayar
<
AWAL_DISC
:
return
if
self
.
tgl_bayar
>
AKHIR_DISC
:
return
if
self
.
invoice
.
thn_pajak_sppt
<
'1994'
:
return
if
self
.
invoice
.
thn_pajak_sppt
>
'2022'
:
return
if
self
.
tahun_1993_dan_sebelumnya_belum_lunas
():
return
self
.
discount
=
self
.
denda
def
before_save
(
self
,
payment
):
# Override
payment
.
denda_sppt
=
self
.
denda
-
self
.
discount
def
tahun_1993_dan_sebelumnya_belum_lunas
(
self
):
DBSession
=
get_db_session
()
Sppt
=
self
.
get_invoice_model
()
q
=
DBSession
.
query
(
Sppt
)
q
=
self
.
get_filter_op
(
q
)
q
=
q
.
filter
(
Sppt
.
thn_pajak_sppt
<=
'1993'
)
q
=
q
.
filter_by
(
status_pembayaran_sppt
=
0
)
return
q
.
first
()
class
AvailableInvoice
(
BaseAvailableInvoice
):
def
get_inquiry_class
(
self
):
# Override
return
Inquiry
sismiop/services/banjar.py
View file @
0ccddab
# Keputusan Wali Kota Subang
# NOMOR 973/ /2022
# 1. Tanggal bayar Maret - Desember 2022
# 2. Tahun pajak hingga 2021
# 3. Discount denda 100%
from
datetime
import
date
from
.default
import
(
Inquiry
as
BaseInquiry
,
...
...
@@ -12,7 +6,9 @@ from .default import (
)
AWAL_DISC
=
date
(
2022
,
3
,
1
)
# Keputusan Wali Kota Banjar
# Nomor 973/323/2022
AWAL_DISC
=
date
(
2022
,
10
,
1
)
AKHIR_DISC
=
date
(
2022
,
12
,
31
)
...
...
@@ -22,7 +18,7 @@ class Inquiry(BaseInquiry):
return
if
self
.
tgl_bayar
>
AKHIR_DISC
:
return
if
self
.
invoice
.
thn_pajak_sppt
>
'2021
'
:
if
self
.
invoice
.
thn_pajak_sppt
!=
'2022
'
:
return
self
.
discount
=
self
.
denda
...
...
sismiop/services/bekasi_kota.py
View file @
0ccddab
...
...
@@ -14,8 +14,8 @@ from .binjai import (
)
AWAL_DISC
=
date
(
2022
,
3
,
10
)
AKHIR_DISC
=
date
(
2022
,
3
,
31
)
AWAL_DISC
=
date
(
2022
,
10
,
28
)
AKHIR_DISC
=
date
(
2022
,
11
,
28
)
class
Inquiry
(
BaseInquiry
):
...
...
@@ -27,12 +27,7 @@ class Inquiry(BaseInquiry):
def
hitung_discount
(
self
):
# Override
if
self
.
tgl_bayar
<
AWAL_DISC
or
self
.
tgl_bayar
>
AKHIR_DISC
:
return
if
self
.
invoice
.
faktor_pengurang_sppt
!=
0
:
return
if
self
.
invoice
.
thn_pajak_sppt
==
'2022'
:
self
.
discount
=
int
(
0.1
*
self
.
tagihan
)
else
:
self
.
discount
=
self
.
denda
self
.
discount
=
self
.
denda
def
before_save
(
self
,
payment
):
# Override
payment
.
denda_sppt
=
self
.
denda
-
self
.
discount
...
...
sismiop/services/bogor_kota.py
View file @
0ccddab
...
...
@@ -15,9 +15,8 @@ from .default import (
)
# Discount pokok berdasarkan bulan
DISC_POKOK_2022
=
{
2
:
0.15
,
3
:
0.1
,
4
:
0.05
}
DISC_POKOK_MAX_2017
=
{
2
:
0.2
,
3
:
0.2
,
4
:
0.2
}
AWAL_DISC
=
date
(
2022
,
10
,
10
)
AKHIR_DISC
=
date
(
2022
,
12
,
23
)
class
Common
(
Query
):
...
...
@@ -59,31 +58,25 @@ class Inquiry(BaseInquiry, Common):
pst
=
q
.
first
()
return
pst
and
pst
.
no_sk
and
pst
.
status_sk_peng_pst
!=
'2'
def
hitung_discount_pokok
(
self
):
if
self
.
invoice
.
thn_pajak_sppt
==
'2022'
:
potongan
=
DISC_POKOK_2022
[
self
.
tgl_bayar
.
month
]
elif
self
.
invoice
.
thn_pajak_sppt
<=
'2017'
:
potongan
=
DISC_POKOK_MAX_2017
[
self
.
tgl_bayar
.
month
]
else
:
return
self
.
discount_pokok
=
int
(
potongan
*
self
.
tagihan
)
def
hitung_discount_denda
(
self
):
if
self
.
invoice
.
thn_pajak_sppt
<=
'2021'
:
self
.
discount_denda
=
self
.
denda
self
.
discount_denda
=
self
.
denda
def
hitung_discount
(
self
):
# Override
self
.
discount_pokok
=
self
.
discount_denda
=
0
if
self
.
tgl_bayar
.
year
>
2022
:
if
self
.
tgl_bayar
<
AWAL_DISC
:
return
if
self
.
tgl_bayar
.
month
not
in
(
2
,
3
,
4
):
if
self
.
tgl_bayar
>
AKHIR_DISC
:
return
if
self
.
invoice
.
thn_pajak_sppt
>
'2022'
:
return
if
self
.
tgl_bayar
.
year
>
2022
:
return
if
not
self
.
is_e_sppt
():
return
if
self
.
denda
:
self
.
hitung_discount_denda
()
if
not
self
.
is_pst
():
self
.
hitung_discount_pokok
()
# if not self.is_pst(): # Sertakan ini bila ada discount pokok
#
self.hitung_discount_pokok()
self
.
discount
=
self
.
discount_pokok
+
self
.
discount_denda
def
before_save
(
self
,
bayar
):
# Override
...
...
sismiop/services/cilegon.py
View file @
0ccddab
# File ini berdasarkan Surat Keputusan Walikota Cilegon
# Nomor 973/kep. -BPKAD/2020
from
datetime
import
date
from
.default
import
(
Inquiry
as
BaseInquiry
,
...
...
@@ -9,15 +7,18 @@ from .default import (
from
..models.cilegon
import
PembayaranSppt
AWAL_DISC
=
date
(
2020
,
9
,
1
)
AKHIR_DISC
=
date
(
2020
,
11
,
30
)
# SK WALIKOTA CILEGON
# NOMOR 973/Kep.114-BPKAD/2022
# 19 SEPTEMBER 2022
AWAL_DISC
=
date
(
2022
,
10
,
1
)
AKHIR_DISC
=
date
(
2022
,
12
,
31
)
class
Inquiry
(
BaseInquiry
):
def
hitung_discount_denda
(
self
):
if
self
.
tgl_bayar
<
AWAL_DISC
or
self
.
tgl_bayar
>
AKHIR_DISC
or
\
self
.
invoice
.
thn_pajak_sppt
<
'1990'
or
\
self
.
invoice
.
thn_pajak_sppt
>
'202
0
'
:
self
.
invoice
.
thn_pajak_sppt
>
'202
2
'
:
return
0
return
self
.
denda
...
...
sismiop/services/cirebon_kab.py
View file @
0ccddab
from
datetime
import
date
from
sqlalchemy
import
func
from
opensipkd.hitung
import
round_up
from
..models.kuningan
import
PembayaranSppt
from
.base
import
(
get_db_session
,
Query
,
)
from
.base
import
get_db_session
from
.default
import
(
Inquiry
as
BaseInquiry
,
Reversal
as
BaseReversal
,
...
...
@@ -11,7 +10,7 @@ from .default import (
)
AKHIR_DISC_DENDA
=
date
(
2022
,
3
,
31
)
AKHIR_DISC_DENDA
=
date
(
2022
,
12
,
31
)
# Discount pokok berdasarkan bulan
NILAI_DISC_POKOK
=
{
...
...
@@ -31,6 +30,25 @@ class Inquiry(BaseInquiry):
def
get_payment_model
(
self
):
# Override
return
PembayaranSppt
def
hitung_pokok
(
self
):
# Override
DBSession
=
get_db_session
()
Payment
=
self
.
get_payment_model
()
q
=
DBSession
.
query
(
func
.
sum
(
Payment
.
jml_sppt_yg_dibayar
)
.
label
(
'jml_sppt_yg_dibayar'
),
func
.
sum
(
Payment
.
denda_sppt
)
.
label
(
'denda_sppt'
))
q
=
self
.
get_filter
(
q
)
bayar
=
q
.
first
()
self
.
total_bayar
=
bayar
.
jml_sppt_yg_dibayar
or
0
denda_lalu
=
bayar
.
denda_sppt
or
0
sisa
=
float
(
self
.
total_bayar
-
denda_lalu
)
tagihan
=
self
.
invoice
.
pbb_yg_harus_dibayar_sppt
-
sisa
if
tagihan
<
0
:
self
.
tagihan
=
0
else
:
self
.
tagihan
=
round_up
(
tagihan
)
def
hitung_discount
(
self
):
# Override
self
.
discount_pokok
=
self
.
discount_denda
=
0
if
self
.
invoice
.
thn_pajak_sppt
>=
'2009'
\
...
...
sismiop/services/majalengka.py
View file @
0ccddab
...
...
@@ -6,13 +6,13 @@ from .cilegon import (
)
AKHIR_DISC
=
date
(
202
0
,
12
,
31
)
AKHIR_DISC
=
date
(
202
2
,
12
,
31
)
class
Inquiry
(
BaseInquiry
):
def
hitung_discount_denda
(
self
):
if
self
.
tgl_bayar
>
AKHIR_DISC
or
\
self
.
invoice
.
thn_pajak_sppt
<
'2012'
or
\
self
.
invoice
.
thn_pajak_sppt
>
'20
19
'
:
self
.
invoice
.
thn_pajak_sppt
>
'20
22
'
:
return
0
return
self
.
denda
sismiop/services/tangkota.py
View file @
0ccddab
...
...
@@ -8,16 +8,8 @@ from .tangsel import (
from
..models.tangsel
import
PembayaranSppt
AWAL_DISC
=
date
(
2021
,
3
,
22
)
AKHIR_DISC
=
date
(
2021
,
6
,
30
)
TAHUN_PAJAK_DISC_POKOK
=
'2021'
BUKU_DISC_POKOK
=
[
(
100000
,
0
),
(
500000
,
0.2
),
(
2000000
,
0.15
),
(
5000000
,
0.1
),
(
None
,
0.05
)]
AWAL_DISC
=
date
(
2022
,
8
,
17
)
AKHIR_DISC
=
date
(
2022
,
8
,
31
)
class
Inquiry
(
BaseInquiry
):
...
...
@@ -27,21 +19,23 @@ class Inquiry(BaseInquiry):
def
hitung_discount
(
self
):
# Override
self
.
denda_sblm_diskon
=
self
.
denda
self
.
discount_denda
=
self
.
discount_pokok
=
0
self
.
discount
=
self
.
discount_pokok
=
self
.
hitung_discount_pokok
()
def
hitung_discount_pokok
(
self
):
if
self
.
tgl_bayar
>
AKHIR_DISC
:
return
0
return
if
self
.
tgl_bayar
<
AWAL_DISC
:
return
self
.
discount_pokok
=
self
.
hitung_discount_pokok
()
self
.
discount_denda
=
self
.
hitung_discount_denda
()
self
.
discount
=
self
.
discount_pokok
+
self
.
discount_denda
def
hitung_discount_pokok
(
self
):
if
self
.
invoice
.
thn_pajak_sppt
>
'2014'
:
return
0
if
self
.
invoice
.
thn_pajak_sppt
!=
TAHUN_PAJAK_DISC_POKOK
:
return
int
(
0.77
*
self
.
tagihan
)
def
hitung_discount_denda
(
self
):
if
self
.
invoice
.
thn_pajak_sppt
>
'2021'
:
return
0
for
max_tagihan
,
disc
in
BUKU_DISC_POKOK
:
if
max_tagihan
is
None
:
break
if
self
.
invoice
.
pbb_yg_harus_dibayar_sppt
<=
max_tagihan
:
break
return
int
(
disc
*
self
.
tagihan
)
return
self
.
denda
class
AvailableInvoice
(
BaseAvailableInvoice
):
...
...
sismiop/services/tasik_kota.py
View file @
0ccddab
...
...
@@ -10,6 +10,10 @@ 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
...
...
@@ -20,6 +24,9 @@ class Inquiry(BaseInquiry):
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
...
...
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