Commit 2fc8c3bc by Owo Sugiana

Tambah field pada PBB

1 parent 4380304e
0.1.2 13-4-2021
---------------
- Penambahan field pada PBB
0.1.1 3-4-2021 0.1.1 3-4-2021
-------------- --------------
- Tambah PBB - Tambah PBB
......
...@@ -113,6 +113,7 @@ Berikan hak akses yang diperlukan user ``report``:: ...@@ -113,6 +113,7 @@ Berikan hak akses yang diperlukan user ``report``::
$ sudo su - postgres -c "psql pbb" $ sudo su - postgres -c "psql pbb"
GRANT SELECT ON sppt TO report;
GRANT SELECT ON pembayaran_sppt TO report; GRANT SELECT ON pembayaran_sppt TO report;
GRANT USAGE ON SCHEMA pbb TO report; GRANT USAGE ON SCHEMA pbb TO report;
GRANT SELECT ON pbb.inquiry TO report; GRANT SELECT ON pbb.inquiry TO report;
......
ALTER TABLE pbb_report ADD pbb_yg_harus_dibayar_sppt float;
ALTER TABLE pbb_report ALTER jml_sppt_yg_dibayar TYPE bigint;
ALTER TABLE pbb_report ADD denda_sppt bigint;
ALTER TABLE pbb_report ADD tgl_inquiry timestamp with time zone;
from sqlalchemy import ( from sqlalchemy import (
Column, Column,
Integer, Integer,
BigInteger,
Float, Float,
String, String,
Date, Date,
...@@ -119,10 +120,16 @@ class Pbb(Base): ...@@ -119,10 +120,16 @@ class Pbb(Base):
kd_jns_op = Column(String(1), nullable=False) kd_jns_op = Column(String(1), nullable=False)
# Bit 62 / Invoice ID # Bit 62 / Invoice ID
thn_pajak_sppt = Column(String(4), nullable=False) thn_pajak_sppt = Column(String(4), nullable=False)
# Field sppt.pbb_yg_harus_dibayar_sppt
pbb_yg_harus_dibayar_sppt = Column(Float, nullable=False)
# Field pembayaran_sppt.pembayaran_sppt_ke # Field pembayaran_sppt.pembayaran_sppt_ke
pembayaran_sppt_ke = Column(Integer, nullable=False) pembayaran_sppt_ke = Column(Integer, nullable=False)
# Bit 4 # Bit 4
jml_sppt_yg_dibayar = Column(Integer, nullable=False) jml_sppt_yg_dibayar = Column(BigInteger, nullable=False)
# Field pembayaran_sppt.denda_sppt
denda_sppt = Column(BigInteger, nullable=False)
# Bit 7 / Transmission Date Inquiry
tgl_inquiry = Column(DateTime(timezone=True), nullable=False)
# Bit 7 / Transmission Date # Bit 7 / Transmission Date
tgl_pembayaran_sppt = Column(Date, nullable=False) tgl_pembayaran_sppt = Column(Date, nullable=False)
# Bit 7 / Transmission DateTime # Bit 7 / Transmission DateTime
......
...@@ -8,9 +8,11 @@ from opensipkd.waktu import ( ...@@ -8,9 +8,11 @@ from opensipkd.waktu import (
dmyhms, dmyhms,
create_datetime, create_datetime,
) )
from sismiop.models.default import PembayaranSppt from sismiop.models.default import (
Sppt,
PembayaranSppt,
)
from sismiop.services.base import get_db_session from sismiop.services.base import get_db_session
from opensipkd.iso8583.bjb.pbb import Doc from opensipkd.iso8583.bjb.pbb import Doc
from opensipkd.iso8583.bjb.pbb.structure import ( from opensipkd.iso8583.bjb.pbb.structure import (
INVOICE_ID, INVOICE_ID,
...@@ -65,6 +67,7 @@ class App(BaseApp): ...@@ -65,6 +67,7 @@ class App(BaseApp):
self.iso_payment_orm, self.iso_inquiry_orm).filter( self.iso_payment_orm, self.iso_inquiry_orm).filter(
self.iso_payment_orm.inquiry_id == self.iso_inquiry_orm.id) self.iso_payment_orm.inquiry_id == self.iso_inquiry_orm.id)
self.base_q_psppt = self.prod_session.query(PembayaranSppt) self.base_q_psppt = self.prod_session.query(PembayaranSppt)
self.base_q_sppt = self.prod_session.query(Sppt)
def get_db_session(self): # Override def get_db_session(self): # Override
return get_db_session() return get_db_session()
...@@ -82,6 +85,18 @@ class App(BaseApp): ...@@ -82,6 +85,18 @@ class App(BaseApp):
PembayaranSppt.pembayaran_sppt_ke.desc()) PembayaranSppt.pembayaran_sppt_ke.desc())
return q.first() return q.first()
def get_sppt(self, p):
q = self.base_q_sppt.filter_by(
kd_propinsi=p['Propinsi'],
kd_dati2=p['Kabupaten'],
kd_kecamatan=p['Kecamatan'],
kd_kelurahan=p['Kelurahan'],
kd_blok=p['Blok'],
no_urut=p['Urut'],
kd_jns_op=p['Jenis'],
thn_pajak_sppt=p['Tahun'])
return q.first()
def __run_payment(self): def __run_payment(self):
last = self.get_last_id('pbb payment last id') last = self.get_last_id('pbb payment last id')
q_iso = self.base_q_iso.filter(self.iso_inquiry_orm.id > last.as_int()) q_iso = self.base_q_iso.filter(self.iso_inquiry_orm.id > last.as_int())
...@@ -101,6 +116,7 @@ class App(BaseApp): ...@@ -101,6 +116,7 @@ class App(BaseApp):
tgl_bayar=s_tgl, invoice_id=d['nomor_bayar']) tgl_bayar=s_tgl, invoice_id=d['nomor_bayar'])
self.log.error(msg) self.log.error(msg)
continue continue
sppt = self.get_sppt(p)
self.log.info( self.log.info(
f'Tgl bayar {s_tgl}, Nomor bayar {d["nomor_bayar"]}, ' f'Tgl bayar {s_tgl}, Nomor bayar {d["nomor_bayar"]}, '
f'STAN {d["stan"]}, NTB {d["ntb"]}, Channel {d["channel"]}') f'STAN {d["stan"]}, NTB {d["ntb"]}, Channel {d["channel"]}')
...@@ -113,12 +129,15 @@ class App(BaseApp): ...@@ -113,12 +129,15 @@ class App(BaseApp):
thn_pajak_sppt=p['Tahun'], thn_pajak_sppt=p['Tahun'],
pembayaran_sppt_ke=psppt.pembayaran_sppt_ke, pembayaran_sppt_ke=psppt.pembayaran_sppt_ke,
jml_sppt_yg_dibayar=iso.get_amount(), jml_sppt_yg_dibayar=iso.get_amount(),
denda_sppt=psppt.denda_sppt,
tgl_pembayaran_sppt=tgl_bayar.date(), tgl_pembayaran_sppt=tgl_bayar.date(),
tgl_rekam_byr_sppt=tgl_bayar, tgl_rekam_byr_sppt=tgl_bayar,
nm_wp_sppt=p['Nama'], nm_wp_sppt=p['Nama'],
channel_kode=iso.get_channel().strip(), channel_kode=iso.get_channel().strip(),
channel_nama=d['channel'], channel_nama=d['channel'],
user_id=iso.getBit(107)) user_id=iso.getBit(107),
pbb_yg_harus_dibayar_sppt=sppt.pbb_yg_harus_dibayar_sppt,
tgl_inquiry=row_inq.tgl)
last.nilai = str(row_inq.id) last.nilai = str(row_inq.id)
print(f'last.nilai {last.nilai}') print(f'last.nilai {last.nilai}')
with transaction.manager: with transaction.manager:
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!