Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Owo Sugiana
/
payment-report
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 7e027e2f
authored
Jul 20, 2022
by
Owo Sugiana
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Deteksi ketiadaan tabel log_iso
1 parent
61fa38dd
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
53 additions
and
9 deletions
CHANGES.txt
payment_report/scripts/bphtb.py
payment_report/scripts/pad.py
payment_report/scripts/pbb.py
CHANGES.txt
View file @
7e027e2
2.0 2022-07-
18
2.0 2022-07-
20
--------------
- Perbedaan utama dari versi 0.x adalah kini berangkat dari tabel aslinya dan
bukan dari tabel ISO8583 karena sudah memperhatikan channel MANUAL (input
...
...
payment_report/scripts/bphtb.py
View file @
7e027e2
...
...
@@ -120,6 +120,13 @@ class App(BaseApp):
self
.
base_q_perolehan
=
self
.
prod_session
.
query
(
AlternativePerolehan
)
self
.
base_q_pay
=
self
.
prod_session
.
query
(
AlternativePayment
)
self
.
base_q_log
=
self
.
prod_session
.
query
(
Log
)
.
filter_by
(
mti
=
'0210'
,
bit_003
=
PAYMENT_CODE
,
bit_039
=
'00'
)
try
:
self
.
base_q_log
.
first
()
except
ProgrammingError
:
self
.
prod_session
.
rollback
()
self
.
base_q_log
=
None
def
get_last_time
(
self
):
# Override
s_tgl
=
self
.
last_pay
.
tanggal
.
strftime
(
'
%
d-
%
m-
%
Y'
)
...
...
@@ -151,9 +158,9 @@ class App(BaseApp):
iso
.
get_ntb
()
def
get_iso_v2
(
self
):
q
=
self
.
prod_session
.
query
(
Log
)
.
filter_by
(
mti
=
'0210'
,
bit_003
=
PAYMENT_CODE
,
bit_039
=
'00'
)
q
=
q
.
filter
(
func
.
trim
(
Log
.
bit_062
)
==
self
.
invoice_id
)
if
not
self
.
base_q_log
:
return
q
=
self
.
base_q_log
.
filter
(
func
.
trim
(
Log
.
bit_062
)
==
self
.
invoice_id
)
q
=
q
.
order_by
(
Log
.
id
.
desc
())
row
=
q
.
first
()
if
not
row
:
...
...
payment_report/scripts/pad.py
View file @
7e027e2
...
...
@@ -4,6 +4,7 @@ from datetime import (
datetime
,
)
from
sqlalchemy
import
func
from
sqlalchemy.exc
import
ProgrammingError
from
opensipkd.string
import
FixLength
from
opensipkd.waktu
import
dmyhms
from
opensipkd.pad.models.default
import
(
...
...
@@ -62,6 +63,11 @@ class App(BaseApp):
Usaha
.
id
==
Pajak
.
usaha_id
,)
self
.
base_q_log
=
self
.
prod_session
.
query
(
Log
)
.
filter_by
(
mti
=
'0210'
,
bit_003
=
PAYMENT_CODE
,
bit_039
=
'00'
)
try
:
self
.
base_q_log
.
first
()
except
ProgrammingError
:
self
.
prod_session
.
rollback
()
self
.
base_q_log
=
None
def
get_pay_date
(
self
):
# Override
return
self
.
last_pay
.
sspdtgl
.
date
()
...
...
@@ -101,6 +107,8 @@ class App(BaseApp):
iso
.
get_ntb
(),
row
.
bank_id
def
get_iso_v2
(
self
):
if
not
self
.
base_q_log
:
return
q
=
self
.
base_q_log
.
filter
(
func
.
trim
(
Log
.
bit_061
)
==
self
.
invoice_id
)
q
=
q
.
order_by
(
Log
.
id
.
desc
())
row
=
q
.
first
()
...
...
payment_report/scripts/pbb.py
View file @
7e027e2
...
...
@@ -11,6 +11,7 @@ from sqlalchemy import (
UniqueConstraint
,
func
,
)
from
sqlalchemy.exc
import
DatabaseError
from
ISO8583.ISO8583
import
BitNotSet
import
transaction
from
sismiop.services.base
import
get_id
...
...
@@ -50,6 +51,22 @@ def to_date(dt):
return
dt
class
AlternativePayment
(
Base
):
__tablename__
=
'payment'
id
=
Column
(
String
(
32
),
primary_key
=
True
)
inquiry_id
=
Column
(
Integer
,
nullable
=
False
)
propinsi
=
Column
(
String
(
2
),
nullable
=
False
)
kabupaten
=
Column
(
String
(
2
),
nullable
=
False
)
kecamatan
=
Column
(
String
(
3
),
nullable
=
False
)
kelurahan
=
Column
(
String
(
3
),
nullable
=
False
)
blok
=
Column
(
String
(
3
),
nullable
=
False
)
urut
=
Column
(
String
(
4
),
nullable
=
False
)
jenis
=
Column
(
String
(
1
),
nullable
=
False
)
tahun
=
Column
(
Integer
,
nullable
=
False
)
ke
=
Column
(
Integer
,
nullable
=
False
)
iso_request
=
Column
(
String
(
2048
),
nullable
=
False
)
class
JsonLog
(
Base
):
__tablename__
=
'pbb_payment'
id
=
Column
(
Integer
,
primary_key
=
True
)
...
...
@@ -89,7 +106,11 @@ class App(BaseApp):
return
d
=
Doc
()
self
.
iso_inquiry_orm
=
d
.
iso_inquiry_model
self
.
iso_payment_orm
=
d
.
iso_payment_model
try
:
self
.
prod_session
.
query
(
d
.
iso_payment_model
)
.
first
()
self
.
iso_payment_orm
=
d
.
iso_payment_model
except
DatabaseError
:
self
.
iso_payment_orm
=
AlternativePayment
self
.
base_q_iso
=
self
.
prod_session
.
query
(
self
.
iso_payment_orm
,
self
.
iso_inquiry_orm
)
.
filter
(
self
.
iso_payment_orm
.
inquiry_id
==
self
.
iso_inquiry_orm
.
id
)
...
...
@@ -102,9 +123,13 @@ class App(BaseApp):
factory
=
self
.
get_factory
(
'h2h_db_url'
)
self
.
h2h_session
=
factory
()
else
:
self
.
h2h_session
=
self
.
prod_session
self
.
base_q_log
=
self
.
h2h_session
.
query
(
Log
)
.
filter_by
(
mti
=
'0210'
,
bit_003
=
PAYMENT_CODE
,
bit_039
=
'00'
)
try
:
self
.
prod_session
.
query
(
Log
)
.
first
()
self
.
h2h_session
=
self
.
prod_session
self
.
base_q_log
=
self
.
h2h_session
.
query
(
Log
)
.
filter_by
(
mti
=
'0210'
,
bit_003
=
PAYMENT_CODE
,
bit_039
=
'00'
)
except
DatabaseError
:
self
.
h2h_session
=
None
if
'json_db_url'
in
self
.
conf
:
factory
=
self
.
get_factory
(
'json_db_url'
)
self
.
json_session
=
factory
()
...
...
@@ -176,6 +201,8 @@ class App(BaseApp):
iso
.
get_ntb
(),
str
(
iso
.
get_bank_id
()),
user_id
,
row_inq
.
tgl
def
get_iso_v2
(
self
):
if
not
self
.
h2h_session
:
return
q
=
self
.
base_q_log
.
filter_by
(
bit_061
=
self
.
invoice_id
)
q
=
q
.
order_by
(
Log
.
id
.
desc
())
row
=
q
.
first
()
...
...
@@ -241,6 +268,8 @@ class App(BaseApp):
tgl_inquiry
=
self
.
get_source
(
psppt
)
discount
=
hasattr
(
psppt
,
'discount'
)
and
psppt
.
discount
or
None
tgl
=
to_date
(
psppt
.
tgl_pembayaran_sppt
)
if
ntb
:
ntb
=
ntb
.
strip
()
return
dict
(
kd_propinsi
=
psppt
.
kd_propinsi
,
kd_dati2
=
psppt
.
kd_dati2
,
kd_kecamatan
=
psppt
.
kd_kecamatan
,
kd_kelurahan
=
psppt
.
kd_kelurahan
,
...
...
@@ -251,7 +280,7 @@ class App(BaseApp):
denda_sppt
=
psppt
.
denda_sppt
or
0
,
discount
=
discount
or
0
,
tgl_pembayaran_sppt
=
tgl
,
tgl_inquiry
=
tgl_inquiry
,
tgl_rekam_byr_sppt
=
psppt
.
tgl_rekam_byr_sppt
,
nm_wp_sppt
=
sppt
.
nm_wp_sppt
,
channel_kode
=
channel_kode
,
nm_wp_sppt
=
sppt
.
nm_wp_sppt
.
strip
()
,
channel_kode
=
channel_kode
,
channel_nama
=
channel_nama
,
bank_id
=
bank_id
,
user_id
=
user_id
,
pbb_yg_harus_dibayar_sppt
=
sppt
.
pbb_yg_harus_dibayar_sppt
)
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment