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
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
142 additions
and
66 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
- 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
0.1.40 2022-8-6
---------------
---------------
- Di Tangerang Selatan discount pokok tidak perlu memperhatikan nilai
- Di Tangerang Selatan discount pokok tidak perlu memperhatikan nilai
...
...
sismiop/models/tasik_kota.py
View file @
0ccddab
...
@@ -2,6 +2,7 @@ from sqlalchemy import (
...
@@ -2,6 +2,7 @@ from sqlalchemy import (
Column
,
Column
,
Float
,
Float
,
String
,
String
,
BigInteger
,
)
)
from
.tasik_kab
import
(
from
.tasik_kab
import
(
ObjekPajak
,
ObjekPajak
,
...
@@ -23,3 +24,4 @@ class Sppt(BaseSppt):
...
@@ -23,3 +24,4 @@ class Sppt(BaseSppt):
class
PembayaranSppt
(
BasePembayaranSppt
):
class
PembayaranSppt
(
BasePembayaranSppt
):
__table_args__
=
dict
(
extend_existing
=
True
)
__table_args__
=
dict
(
extend_existing
=
True
)
denda_sblm_diskon
=
Column
(
Float
)
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
datetime
import
date
from
.default
import
(
from
.default
import
(
Inquiry
as
BaseInquiry
,
Inquiry
as
BaseInquiry
,
...
@@ -12,7 +6,9 @@ from .default import (
...
@@ -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
)
AKHIR_DISC
=
date
(
2022
,
12
,
31
)
...
@@ -22,7 +18,7 @@ class Inquiry(BaseInquiry):
...
@@ -22,7 +18,7 @@ class Inquiry(BaseInquiry):
return
return
if
self
.
tgl_bayar
>
AKHIR_DISC
:
if
self
.
tgl_bayar
>
AKHIR_DISC
:
return
return
if
self
.
invoice
.
thn_pajak_sppt
>
'2021
'
:
if
self
.
invoice
.
thn_pajak_sppt
!=
'2022
'
:
return
return
self
.
discount
=
self
.
denda
self
.
discount
=
self
.
denda
...
...
sismiop/services/bekasi_kota.py
View file @
0ccddab
...
@@ -14,8 +14,8 @@ from .binjai import (
...
@@ -14,8 +14,8 @@ from .binjai import (
)
)
AWAL_DISC
=
date
(
2022
,
3
,
10
)
AWAL_DISC
=
date
(
2022
,
10
,
28
)
AKHIR_DISC
=
date
(
2022
,
3
,
31
)
AKHIR_DISC
=
date
(
2022
,
11
,
28
)
class
Inquiry
(
BaseInquiry
):
class
Inquiry
(
BaseInquiry
):
...
@@ -27,11 +27,6 @@ class Inquiry(BaseInquiry):
...
@@ -27,11 +27,6 @@ class Inquiry(BaseInquiry):
def
hitung_discount
(
self
):
# Override
def
hitung_discount
(
self
):
# Override
if
self
.
tgl_bayar
<
AWAL_DISC
or
self
.
tgl_bayar
>
AKHIR_DISC
:
if
self
.
tgl_bayar
<
AWAL_DISC
or
self
.
tgl_bayar
>
AKHIR_DISC
:
return
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
def
before_save
(
self
,
payment
):
# Override
...
...
sismiop/services/bogor_kota.py
View file @
0ccddab
...
@@ -15,9 +15,8 @@ from .default import (
...
@@ -15,9 +15,8 @@ from .default import (
)
)
# Discount pokok berdasarkan bulan
AWAL_DISC
=
date
(
2022
,
10
,
10
)
DISC_POKOK_2022
=
{
2
:
0.15
,
3
:
0.1
,
4
:
0.05
}
AKHIR_DISC
=
date
(
2022
,
12
,
23
)
DISC_POKOK_MAX_2017
=
{
2
:
0.2
,
3
:
0.2
,
4
:
0.2
}
class
Common
(
Query
):
class
Common
(
Query
):
...
@@ -59,31 +58,25 @@ class Inquiry(BaseInquiry, Common):
...
@@ -59,31 +58,25 @@ class Inquiry(BaseInquiry, Common):
pst
=
q
.
first
()
pst
=
q
.
first
()
return
pst
and
pst
.
no_sk
and
pst
.
status_sk_peng_pst
!=
'2'
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
):
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
def
hitung_discount
(
self
):
# Override
self
.
discount_pokok
=
self
.
discount_denda
=
0
self
.
discount_pokok
=
self
.
discount_denda
=
0
if
self
.
tgl_bayar
.
year
>
2022
:
if
self
.
tgl_bayar
<
AWAL_DISC
:
return
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
return
if
not
self
.
is_e_sppt
():
if
not
self
.
is_e_sppt
():
return
return
if
self
.
denda
:
if
self
.
denda
:
self
.
hitung_discount_denda
()
self
.
hitung_discount_denda
()
if
not
self
.
is_pst
():
# if not self.is_pst(): # Sertakan ini bila ada discount pokok
self
.
hitung_discount_pokok
()
#
self.hitung_discount_pokok()
self
.
discount
=
self
.
discount_pokok
+
self
.
discount_denda
self
.
discount
=
self
.
discount_pokok
+
self
.
discount_denda
def
before_save
(
self
,
bayar
):
# Override
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
datetime
import
date
from
.default
import
(
from
.default
import
(
Inquiry
as
BaseInquiry
,
Inquiry
as
BaseInquiry
,
...
@@ -9,15 +7,18 @@ from .default import (
...
@@ -9,15 +7,18 @@ from .default import (
from
..models.cilegon
import
PembayaranSppt
from
..models.cilegon
import
PembayaranSppt
AWAL_DISC
=
date
(
2020
,
9
,
1
)
# SK WALIKOTA CILEGON
AKHIR_DISC
=
date
(
2020
,
11
,
30
)
# NOMOR 973/Kep.114-BPKAD/2022
# 19 SEPTEMBER 2022
AWAL_DISC
=
date
(
2022
,
10
,
1
)
AKHIR_DISC
=
date
(
2022
,
12
,
31
)
class
Inquiry
(
BaseInquiry
):
class
Inquiry
(
BaseInquiry
):
def
hitung_discount_denda
(
self
):
def
hitung_discount_denda
(
self
):
if
self
.
tgl_bayar
<
AWAL_DISC
or
self
.
tgl_bayar
>
AKHIR_DISC
or
\
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
<
'1990'
or
\
self
.
invoice
.
thn_pajak_sppt
>
'202
0
'
:
self
.
invoice
.
thn_pajak_sppt
>
'202
2
'
:
return
0
return
0
return
self
.
denda
return
self
.
denda
...
...
sismiop/services/cirebon_kab.py
View file @
0ccddab
from
datetime
import
date
from
datetime
import
date
from
sqlalchemy
import
func
from
opensipkd.hitung
import
round_up
from
..models.kuningan
import
PembayaranSppt
from
..models.kuningan
import
PembayaranSppt
from
.base
import
(
from
.base
import
get_db_session
get_db_session
,
Query
,
)
from
.default
import
(
from
.default
import
(
Inquiry
as
BaseInquiry
,
Inquiry
as
BaseInquiry
,
Reversal
as
BaseReversal
,
Reversal
as
BaseReversal
,
...
@@ -11,7 +10,7 @@ from .default import (
...
@@ -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
# Discount pokok berdasarkan bulan
NILAI_DISC_POKOK
=
{
NILAI_DISC_POKOK
=
{
...
@@ -31,6 +30,25 @@ class Inquiry(BaseInquiry):
...
@@ -31,6 +30,25 @@ class Inquiry(BaseInquiry):
def
get_payment_model
(
self
):
# Override
def
get_payment_model
(
self
):
# Override
return
PembayaranSppt
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
def
hitung_discount
(
self
):
# Override
self
.
discount_pokok
=
self
.
discount_denda
=
0
self
.
discount_pokok
=
self
.
discount_denda
=
0
if
self
.
invoice
.
thn_pajak_sppt
>=
'2009'
\
if
self
.
invoice
.
thn_pajak_sppt
>=
'2009'
\
...
...
sismiop/services/majalengka.py
View file @
0ccddab
...
@@ -6,13 +6,13 @@ from .cilegon import (
...
@@ -6,13 +6,13 @@ from .cilegon import (
)
)
AKHIR_DISC
=
date
(
202
0
,
12
,
31
)
AKHIR_DISC
=
date
(
202
2
,
12
,
31
)
class
Inquiry
(
BaseInquiry
):
class
Inquiry
(
BaseInquiry
):
def
hitung_discount_denda
(
self
):
def
hitung_discount_denda
(
self
):
if
self
.
tgl_bayar
>
AKHIR_DISC
or
\
if
self
.
tgl_bayar
>
AKHIR_DISC
or
\
self
.
invoice
.
thn_pajak_sppt
<
'2012'
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
0
return
self
.
denda
return
self
.
denda
sismiop/services/tangkota.py
View file @
0ccddab
...
@@ -8,16 +8,8 @@ from .tangsel import (
...
@@ -8,16 +8,8 @@ from .tangsel import (
from
..models.tangsel
import
PembayaranSppt
from
..models.tangsel
import
PembayaranSppt
AWAL_DISC
=
date
(
2021
,
3
,
22
)
AWAL_DISC
=
date
(
2022
,
8
,
17
)
AKHIR_DISC
=
date
(
2021
,
6
,
30
)
AKHIR_DISC
=
date
(
2022
,
8
,
31
)
TAHUN_PAJAK_DISC_POKOK
=
'2021'
BUKU_DISC_POKOK
=
[
(
100000
,
0
),
(
500000
,
0.2
),
(
2000000
,
0.15
),
(
5000000
,
0.1
),
(
None
,
0.05
)]
class
Inquiry
(
BaseInquiry
):
class
Inquiry
(
BaseInquiry
):
...
@@ -27,21 +19,23 @@ class Inquiry(BaseInquiry):
...
@@ -27,21 +19,23 @@ class Inquiry(BaseInquiry):
def
hitung_discount
(
self
):
# Override
def
hitung_discount
(
self
):
# Override
self
.
denda_sblm_diskon
=
self
.
denda
self
.
denda_sblm_diskon
=
self
.
denda
self
.
discount_denda
=
self
.
discount_pokok
=
0
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
:
if
self
.
tgl_bayar
>
AKHIR_DISC
:
return
0
return
if
self
.
tgl_bayar
<
AWAL_DISC
:
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
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
return
0
for
max_tagihan
,
disc
in
BUKU_DISC_POKOK
:
return
self
.
denda
if
max_tagihan
is
None
:
break
if
self
.
invoice
.
pbb_yg_harus_dibayar_sppt
<=
max_tagihan
:
break
return
int
(
disc
*
self
.
tagihan
)
class
AvailableInvoice
(
BaseAvailableInvoice
):
class
AvailableInvoice
(
BaseAvailableInvoice
):
...
...
sismiop/services/tasik_kota.py
View file @
0ccddab
...
@@ -10,6 +10,10 @@ from .tasik_kab import (
...
@@ -10,6 +10,10 @@ from .tasik_kab import (
)
)
AWAL_DISC
=
date
(
2022
,
8
,
19
)
AKHIR_DISC
=
date
(
2022
,
12
,
31
)
class
Inquiry
(
BaseInquiry
):
class
Inquiry
(
BaseInquiry
):
def
get_invoice_model
(
self
):
# Override
def
get_invoice_model
(
self
):
# Override
return
Sppt
return
Sppt
...
@@ -20,6 +24,9 @@ class Inquiry(BaseInquiry):
...
@@ -20,6 +24,9 @@ class Inquiry(BaseInquiry):
def
hitung_discount
(
self
):
# Override
def
hitung_discount
(
self
):
# Override
if
self
.
invoice
.
denda_status
==
'1'
:
if
self
.
invoice
.
denda_status
==
'1'
:
self
.
discount
=
int
(
self
.
invoice
.
denda_pbb
or
0
)
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
def
before_save
(
self
,
payment
):
# Override
payment
.
denda_sppt
=
self
.
denda
-
self
.
discount
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