README.rst 4.45 KB

Pembuatan Tabel Laporan

Paket ini bertujuan untuk menyalin data pembayaran dari berbagai database ke tabel lain yang akan digunakan oleh web report.

Pasang paket yang dibutuhkan:

$ python3.9 -m venv ~/env
$ ~/env/bin/pip install --upgrade pip
$ ~/env/bin/pip install wheel
$ ~/env/bin/pip install ebcdic
$ ~/env/bin/pip install git+https://git.opensipkd.com/sugiana/opensipkd-iso8583-bjb.git

Lalu pasang paket ini:

$ ~/env/bin/pip install git+https://git.opensipkd.com/sugiana/payment-report.git

Buatlah database payment_report:

$ sudo su - postgres -c "createuser -P report"
$ sudo su - postgres -c "createdb -O report payment_report"

Misalkan database production bernama simpad maka berilah hak akses yang diperlukan user report:

$ sudo su - postgres -c "psql simpad"

GRANT USAGE ON SCHEMA pad TO report;
GRANT SELECT ON pad.pad_sspd TO report;
GRANT SELECT ON pad.pad_spt TO report;
GRANT SELECT ON pad.pad_pajak TO report;
GRANT SELECT ON pad.pad_customer TO report;
GRANT SELECT ON pad.pad_customer_usaha TO report;
GRANT SELECT ON pad_payment TO report;
GRANT SELECT ON pad_reversal TO report;

Lalu buat file konfigurasi bernama pad.ini:

[main]
models = opensipkd.pad.models.default
db_url = postgresql://report:password@localhost:5432/simpad
report_db_url = postgresql://report:password@localhost:5432/payment_report
pid_file = /home/sugiana/tmp/pad-report.pid
log_file = /home/sugiana/log/pad-report.log

Buat tabel yang dibutuhkan di database payment_report:

$ ~/env/bin/payment_report_init_db pad.ini

Kemudian buat file /etc/cron.d/payment-report berikut ini:

MAILTO=""
*/5 * * * * sugiana cd /home/sugiana/payment-report && ../env/bin/pad_report pad.ini

Lalu pantau log-nya. Jika sudah ada penampakan lihat hasilnya di tabel pad_report.

BPHTB

Berikan hak akses yang diperlukan user report:

$ sudo su - postgres -c "psql bphtb"

GRANT USAGE ON SCHEMA bphtb TO report;
GRANT SELECT ON bphtb.bphtb_payment TO report;
GRANT SELECT ON bphtb.bphtb_reversal TO report;
GRANT SELECT ON bphtb.bphtb_bank TO report;
GRANT SELECT ON bphtb.bphtb_sspd TO report;
GRANT SELECT ON bphtb.bphtb_perolehan TO report;
GRANT SELECT ON bphtb.bphtb_ppat TO report;

Lalu buat file konfigurasi bernama bphtb.ini:

[main]
models = opensipkd.bphtb.models.default
db_url = postgresql://report:password@localhost:5434/bphtb
report_db_url = postgresql://report:password@localhost:5434/payment_report
pid_file = /home/sugiana/tmp/bphtb-report.pid
log_file = /home/sugiana/log/bphtb-report.log

Kemudian di file /etc/cron.d/payment-report tambahkan:

*/5 * * * * sugiana cd /home/sugiana/payment-report && ../env/bin/bphtb_report bphtb.ini

Lalu pantau log-nya. Jika sudah ada penampakan lihat hasilnya di tabel bphtb_report.

BPHTB Versi 2

Yang dimaksud versi 2 di sini adalah tidak lagi mencatat ISO8583 di tabel bphtb.bphtb_payment dan bphtb.bphtb_reversal melainkan sepenuhnya di tabel log_iso. Jika tabel ini sudah ada maka script sebelumnya yaitu bin/bphtb_report cukup dijalankan sekali saja, tidak perlu ditaruh di cron.

Lalu beri hak akses ke tabel log_iso:

GRANT SELECT ON log_iso TO report;

Kemudian di file /etc/cron.d/payment-report menjadi begini:

*/5 * * * * sugiana cd /home/sugiana/payment-report && ../env/bin/bphtb2_report bphtb.ini

Ya, tidak ada perubahan dengan file konfigurasi. Semoga berhasil.

PBB

Berikan hak akses yang diperlukan user report:

$ sudo su - postgres -c "psql pbb"

GRANT SELECT ON sppt TO report;
GRANT SELECT ON pembayaran_sppt TO report;
GRANT USAGE ON SCHEMA pbb TO report;
GRANT SELECT ON pbb.inquiry TO report;
GRANT SELECT ON pbb.payment TO report;
GRANT SELECT ON pbb.reversal TO report;

Lalu buat file konfigurasi bernama pbb.ini:

[main]
models = sismiop.models.default
db_url = postgresql://report:password@localhost:5434/pbb
report_db_url = postgresql://report:password@localhost:5434/payment_report
pid_file = /home/sugiana/tmp/pbb-report.pid
log_file = /home/sugiana/log/pbb-report.log

Kemudian di file /etc/cron.d/payment-report tambahkan:

*/5 * * * * sugiana cd /home/sugiana/payment-report && ../env/bin/pbb_report pbb.ini

Lalu pantau log-nya. Jika sudah ada penampakan lihat hasilnya di tabel pbb_report.