Commit 0209d79d by Owo Sugiana

Tambah pangandaran

1 parent b9d2ffab
0.1.14 2020-10-27
-----------------
- Tambah modul pangandaran
0.1.13 2020-10-06 0.1.13 2020-10-06
----------------- -----------------
- tasik_kab: hapus denda untuk tahun pajak 2018 - 2019 sampai 30 November 2020 - tasik_kab: hapus denda untuk tahun pajak 2018 - 2019 sampai 30 November 2020
......
from sqlalchemy import (
Column,
Float,
String,
)
from sqlalchemy.ext.declarative import declarative_base
from .objek_pajak import ObjekPajakMixin
from .sppt import SpptMixin
from .pembayaran_sppt import BasePembayaranSpptMixin
from .kelurahan import KelurahanMixin
from .kecamatan import KecamatanMixin
from .propinsi import PropinsiMixin
from .tempat_pembayaran import TempatPembayaranMixin
Base = declarative_base()
class ObjekPajak(Base, ObjekPajakMixin):
pass
class Sppt(Base, SpptMixin):
pass
class PembayaranSppt(Base, BasePembayaranSpptMixin):
denda_sppt = Column(Float)
jml_sppt_yg_dibayar = Column(Float)
nip_rekam_byr_sppt = Column(String(9))
kd_kanwil_bank = Column(String(2))
kd_kppbb_bank = Column(String(2))
kd_bank_tunggal = Column(String(2))
kd_bank_persepsi = Column(String(2))
class Kelurahan(Base, KelurahanMixin):
pass
class Kecamatan(Base, KecamatanMixin):
pass
class Propinsi(Base, PropinsiMixin):
pass
class TempatPembayaran(Base, TempatPembayaranMixin):
pass
...@@ -76,6 +76,12 @@ def show(inq): ...@@ -76,6 +76,12 @@ def show(inq):
if not pay: if not pay:
return return
show_field(pay, 'pembayaran_sppt_ke') show_field(pay, 'pembayaran_sppt_ke')
show_field(pay, 'kd_kanwil')
show_field(pay, 'kd_kantor')
show_field(pay, 'kd_kanwil_bank')
show_field(pay, 'kd_kppbb_bank')
show_field(pay, 'kd_bank_tunggal')
show_field(pay, 'kd_bank_persepsi')
show_field(pay, 'kd_tp') show_field(pay, 'kd_tp')
show_field(pay, 'tgl_rekam_byr_sppt') show_field(pay, 'tgl_rekam_byr_sppt')
show_field(pay, 'tgl_pembayaran_sppt') show_field(pay, 'tgl_pembayaran_sppt')
...@@ -85,12 +91,7 @@ def show(inq): ...@@ -85,12 +91,7 @@ def show(inq):
def show_fields(row, fieldnames): def show_fields(row, fieldnames):
for fieldname in fieldnames: for fieldname in fieldnames:
label = 'Field ' + fieldname show_field(row, fieldname)
try:
value = getattr(row, fieldname)
except AttributeError:
continue
show_rp(label, value)
def show_attr(obj, attr, label): def show_attr(obj, attr, label):
...@@ -105,11 +106,15 @@ def show_payment(module_name, inq, pay): ...@@ -105,11 +106,15 @@ def show_payment(module_name, inq, pay):
print( print(
'Berhasil dibayar pada urutan ke-{}'.format( 'Berhasil dibayar pada urutan ke-{}'.format(
pay.pembayaran_sppt_ke)) pay.pembayaran_sppt_ke))
if module_name not in ['bogor_kota']:
return
print('Tabel pembayaran_sppt') print('Tabel pembayaran_sppt')
show_fields(pay, ['jml_sppt_yg_dibayar', 'denda_sppt', 'discount']) show_fields(
pay, ['jml_sppt_yg_dibayar', 'denda_sppt', 'discount',
'kd_kanwil', 'kd_bank', 'kd_kanwil_bank', 'kd_kppbb_bank',
'kd_bank_tunggal', 'kd_bank_persepsi', 'kd_tp'])
try:
row, fields = inq.get_other_payment_table(pay) row, fields = inq.get_other_payment_table(pay)
except AttributeError:
return
if not row: if not row:
return return
print('Tabel {}'.format(row.__tablename__)) print('Tabel {}'.format(row.__tablename__))
...@@ -166,6 +171,8 @@ def main(argv=sys.argv): ...@@ -166,6 +171,8 @@ def main(argv=sys.argv):
kd_kantor=conf.get('main', 'kd_kantor'))) kd_kantor=conf.get('main', 'kd_kantor')))
else: else:
tp.update(dict( tp.update(dict(
kd_kanwil_bank=conf.get('main', 'kd_kanwil_bank'),
kd_kppbb_bank=conf.get('main', 'kd_kppbb_bank'),
kd_bank_tunggal=conf.get('main', 'kd_bank_tunggal'), kd_bank_tunggal=conf.get('main', 'kd_bank_tunggal'),
kd_bank_persepsi=conf.get('main', 'kd_bank_persepsi'))) kd_bank_persepsi=conf.get('main', 'kd_bank_persepsi')))
nip = conf.get('main', 'nip_pencatat') nip = conf.get('main', 'nip_pencatat')
......
from datetime import datetime
from sismiop.models.pangandaran import (
ObjekPajak,
Sppt,
PembayaranSppt,
Kelurahan,
Kecamatan,
Propinsi,
)
from ..base import (
AvailableInvoice as BaseAvailableInvoice,
Inquiry as BaseInquiry,
Reversal as BaseReversal,
get_db_session,
)
class Inquiry(BaseInquiry):
def get_op_model(self): # Override
return ObjekPajak
def get_invoice_model(self): # Override
return Sppt
def get_payment_model(self): # Override
return PembayaranSppt
def get_kelurahan_model(self): # Override
return Kelurahan
def get_kecamatan_model(self): # Override
return Kecamatan
def get_propinsi_model(self): # Override
return Propinsi
def do_payment(self, bank_fields, nip_pencatat): # Override
Payment = self.get_payment_model()
bayar = self.invoice2payment()
if bayar:
ke = bayar.pembayaran_sppt_ke + 1
else:
ke = 1
inv = self.invoice
bayar = Payment(
kd_propinsi=inv.kd_propinsi, kd_dati2=inv.kd_dati2,
kd_kecamatan=inv.kd_kecamatan, kd_kelurahan=inv.kd_kelurahan,
kd_blok=inv.kd_blok, no_urut=inv.no_urut,
kd_jns_op=inv.kd_jns_op, thn_pajak_sppt=inv.thn_pajak_sppt,
pembayaran_sppt_ke=ke, tgl_rekam_byr_sppt=datetime.now(),
tgl_pembayaran_sppt=self.tgl_bayar,
nip_rekam_byr_sppt=nip_pencatat,
jml_sppt_yg_dibayar=self.tagihan+self.denda,
denda_sppt=self.denda)
for key, value in bank_fields.items():
setattr(bayar, key, value)
self.before_save(bayar)
DBSession = get_db_session()
DBSession.add(bayar)
self.invoice.status_pembayaran_sppt = '1' # Lunas
DBSession.add(self.invoice)
return bayar
class Reversal(BaseReversal):
def get_invoice_model(self):
return Sppt
def get_payment_model(self):
return PembayaranSppt
class AvailableInvoice(BaseAvailableInvoice):
def get_invoice_model(self):
return Sppt
def get_payment_model(self):
return PembayaranSppt
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!