Commit d2fe1a80 by Owo Sugiana

POSPBB dikenali dari field kd_tp

1 parent a5cb1e40
3.1.2 2023-07-26
----------------
- POSPBB tidak lagi dikenali dari field nip_rekam_byr_sppt melainkan dari field
kd_tp. Ini dikarenakan ada daerah yang menggunakan NIP yang sama untuk POSPBB
maupun QRIS.
3.1.1 2023-07-21 3.1.1 2023-07-21
---------------- ----------------
- Bug fixed PAD QRIS - Bug fixed PAD QRIS
......
...@@ -222,6 +222,16 @@ def create_session(db_url, debug=False): ...@@ -222,6 +222,16 @@ def create_session(db_url, debug=False):
return factory() return factory()
def str2dict(s):
r = dict()
for line in s.split():
t = line.split(':')
key = t[0]
val = t[1]
r[key] = val
return r
class BaseApp: class BaseApp:
conf_name = None # Override, please conf_name = None # Override, please
report_orm = None # Override, please report_orm = None # Override, please
......
...@@ -11,7 +11,10 @@ from sqlalchemy import ( ...@@ -11,7 +11,10 @@ from sqlalchemy import (
UniqueConstraint, UniqueConstraint,
func, func,
) )
from sqlalchemy.exc import DatabaseError from sqlalchemy.exc import (
DatabaseError,
ProgrammingError,
)
from ISO8583.ISO8583 import BitNotSet from ISO8583.ISO8583 import BitNotSet
import transaction import transaction
from sismiop.services.base import get_id from sismiop.services.base import get_id
...@@ -43,6 +46,7 @@ from ..common import ( ...@@ -43,6 +46,7 @@ from ..common import (
VaInvoice, VaInvoice,
VaPayment, VaPayment,
InvalidSource, InvalidSource,
str2dict,
) )
...@@ -103,7 +107,6 @@ class App(BaseApp): ...@@ -103,7 +107,6 @@ class App(BaseApp):
def __init__(self, argv): def __init__(self, argv):
super().__init__(argv) super().__init__(argv)
self.kd_tp_kasda = self.kd_tp_va = self.kd_tp_qris = None
self.set_other_db() self.set_other_db()
if self.prod_session: if self.prod_session:
d = Doc() d = Doc()
...@@ -121,10 +124,7 @@ class App(BaseApp): ...@@ -121,10 +124,7 @@ class App(BaseApp):
self.Psppt = self.models.PembayaranSppt self.Psppt = self.models.PembayaranSppt
self.Sppt = self.models.Sppt self.Sppt = self.models.Sppt
self.base_q_sppt = self.prod_session.query(self.Sppt) self.base_q_sppt = self.prod_session.query(self.Sppt)
self.nip_pospbb = self.conf.get('nip_pospbb') self.kd_tp = str2dict(self.conf.get('kd_tp', ''))
self.kd_tp_kasda = self.conf.get('kd_tp_kasda')
self.kd_tp_va = self.conf.get('kd_tp_va')
self.kd_tp_qris = self.conf.get('kd_tp_qris')
def set_other_db(self): def set_other_db(self):
if 'h2h_db_url' in self.conf: if 'h2h_db_url' in self.conf:
...@@ -291,32 +291,11 @@ class App(BaseApp): ...@@ -291,32 +291,11 @@ class App(BaseApp):
channel_kode, channel_nama, stan, ntb, bank_id = source channel_kode, channel_nama, stan, ntb, bank_id = source
else: else:
channel_kode = '0000' channel_kode = '0000'
if self.nip_pospbb and \ tgl = psppt.tgl_rekam_byr_sppt.date()
psppt.nip_rekam_byr_sppt.strip() == \ channel_nama = self.get_va_channel(tgl)
self.nip_pospbb: if not channel_nama:
channel_nama = 'POSPBB' kd_tp = psppt.kd_tp.strip()
else: channel_nama = self.kd_tp.get(kd_tp, 'MANUAL')
channel_kode = '0001'
if self.kd_tp_kasda and \
psppt.kd_tp.strip() == \
self.kd_tp_kasda:
channel_nama = 'KASDA'
else:
channel_kode = '0002'
if self.kd_tp_va and \
psppt.kd_tp.strip() == \
self.kd_tp_va:
channel_nama = 'VA'
else:
channel_kode = '0003'
if self.kd_tp_qris and \
psppt.kd_tp.strip() == \
self.kd_tp_qris:
channel_nama = 'QRIS'
else:
tgl = psppt.tgl_rekam_byr_sppt.date()
channel_nama = self.get_va_channel(tgl) \
or 'MANUAL'
return channel_kode, channel_nama, stan, ntb, bank_id, user_id, \ return channel_kode, channel_nama, stan, ntb, bank_id, user_id, \
tgl_inquiry tgl_inquiry
......
...@@ -2,12 +2,13 @@ ...@@ -2,12 +2,13 @@
module = payment_report.pbb.default module = payment_report.pbb.default
models = sismiop.models.default models = sismiop.models.default
db_url = postgresql://user:pass@localhost/db db_url = postgresql://user:pass@localhost/db
#h2h_db_url = postgresql://user:pass@localhost/db h2h_db_url = postgresql://user:pass@localhost/db
#va_db_url = postgresql://user:pass@localhost/db va_db_url = postgresql://user:pass@localhost/db
report_db_url = postgresql://user:pass@localhost/db report_db_url = postgresql://user:pass@localhost/db
pid_file = /home/sugiana/tmp/pbb-report.pid pid_file = /home/sugiana/tmp/pbb-report.pid
log_file = /home/sugiana/log/pbb-report.log log_file = /home/sugiana/log/pbb-report.log
nip_pospbb = 888888888 kd_tp =
41:POSPBB
[formatter_generic] [formatter_generic]
format = %(asctime)s %(levelname)s %(name)s %(message)s format = %(asctime)s %(levelname)s %(name)s %(message)s
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!