Commit 4b8a1a59 by Owo Sugiana

WEBR yang belum menggunakan tabel ISO8583

1 parent a1b629a4
0.3.3 18-5-2022
---------------
- Script baru WEBR yang belum menggunakan tabel ISO8583
0.3.2 6-3-2022 0.3.2 6-3-2022
-------------- --------------
- Script baru WEBR yang tidak mengaitkan dengan tabel ar_payment karena - Script baru WEBR yang tidak mengaitkan dengan tabel ar_payment karena
......
...@@ -5,6 +5,7 @@ pad json payment last id,0,pad_payment.id terakhir yang diproses ...@@ -5,6 +5,7 @@ pad json payment last id,0,pad_payment.id terakhir yang diproses
pad json reversal last date,1-1-2000 00:00:00,pad_reversal.tgl terakhir yang diproses pad json reversal last date,1-1-2000 00:00:00,pad_reversal.tgl terakhir yang diproses
pad2 payment last id,0,log_iso.id terakhir yang diproses pad2 payment last id,0,log_iso.id terakhir yang diproses
pad2 reversal last id,0,log_iso.id terakhir yang diproses pad2 reversal last id,0,log_iso.id terakhir yang diproses
webr0 payment last id,0,webr.ar_payment.id terakhir yang diproses
webr payment last id,0,log_iso.id terakhir yang diproses webr payment last id,0,log_iso.id terakhir yang diproses
webr2 payment last id,0,log_iso.id terakhir yang diproses webr2 payment last id,0,log_iso.id terakhir yang diproses
webr2 reversal last id,0,log_iso.id terakhir yang diproses webr2 reversal last id,0,log_iso.id terakhir yang diproses
......
import sys
import transaction
from opensipkd.waktu import dmyhms
from opensipkd.webr.models.default import (
Payment,
Invoice,
)
from iso8583_web.models.meta import Base as BaseConf
from opensipkd.iso8583.bjb.webr.models import Log
from ..models import (
Base,
Webr,
)
from .common import (
BaseApp,
init_db as base_init_db,
BIT_18_NAMES,
)
class App(BaseApp):
report_orm = Webr
def __init__(self, argv):
super().__init__(argv)
if not self.pid:
return
self.base_q_pay = self.prod_session.query(Payment, Invoice).filter(
Payment.ar_invoice_id == Invoice.id)
def tgl_awal_log_iso(self):
q = self.prod_session.query(Log).order_by(Log.id)
row = q.first()
return row.created.date()
def run_payment(self):
tgl = self.tgl_awal_log_iso()
last = self.get_last_id('webr0 payment last id')
q_pay = self.base_q_pay.filter(
Payment.created < tgl, Payment.id > last.as_int())
rpt_id = 0
for pay, inv in q_pay.order_by(Payment.id):
rpt_id += 1
if not pay.channel_id: # Biasanya hasil test
continue
nomor_bayar = inv.kode
tgl_bayar = pay.created.date()
s_tgl = dmyhms(pay.created)
stan = pay.created.strftime('%H%M%S')
channel_id = str(pay.channel_id)
channel = BIT_18_NAMES[channel_id]
self.log.info(
f'Tgl bayar {s_tgl}, Nomor bayar {nomor_bayar}, '
f'STAN {stan}, NTB {pay.ntb}, Channel {channel}')
rpt = Webr(
id=rpt_id, stan=stan, ntb=pay.ntb, tgl=tgl_bayar,
jam=pay.created.time(), payment_id=pay.id,
nomor_bayar=nomor_bayar, nama_wp=inv.subjek_nama,
pokok=inv.jumlah-inv.bunga, denda=pay.bunga,
jml_bayar=pay.bayar, channel_id=channel_id,
channel_name=channel)
last.nilai = str(pay.id)
with transaction.manager:
self.rpt_session.add(rpt)
self.rpt_session.add(last)
def main(argv=sys.argv[1:]):
app = App(argv)
if app.pid:
app.run()
def init_db(argv=sys.argv[1:]):
base_init_db(Base.metadata, BaseConf.metadata, argv)
...@@ -45,6 +45,7 @@ setup( ...@@ -45,6 +45,7 @@ setup(
'pad_report = payment_report.scripts.pad:main', 'pad_report = payment_report.scripts.pad:main',
'pad_json_report = payment_report.scripts.pad_json:main', 'pad_json_report = payment_report.scripts.pad_json:main',
'pad2_report = payment_report.scripts.pad2:main', 'pad2_report = payment_report.scripts.pad2:main',
'webr0_report = payment_report.scripts.webr0:main',
'webr_report = payment_report.scripts.webr:main', 'webr_report = payment_report.scripts.webr:main',
'webr2_report = payment_report.scripts.webr2:main', 'webr2_report = payment_report.scripts.webr2:main',
], ],
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!