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 ec69c917
authored
May 20, 2025
by
Owo Sugiana
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Tambah pengenalan tabel gw_payment di PJDL
1 parent
59cc2ecb
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
18 deletions
CHANGES.txt
payment_report/bphtb/default.py
payment_report/pad/default.py
CHANGES.txt
View file @
ec69c91
3.1.8 2025-05-20
3.1.8 2025-05-20
----------------
----------------
- Tambah pengenalan tabel gw_payment di PBB
dan BPHTB
- Tambah pengenalan tabel gw_payment di PBB
, BPHTB, dan PJDL
3.1.7 2025-02-27
3.1.7 2025-02-27
----------------
----------------
...
...
payment_report/bphtb/default.py
View file @
ec69c91
...
@@ -443,14 +443,15 @@ class App(BaseApp):
...
@@ -443,14 +443,15 @@ class App(BaseApp):
channel_name
=
get_channel_name_by_row
(
row
)
channel_name
=
get_channel_name_by_row
(
row
)
return
channel_id
,
channel_name
,
stan
,
ntb
return
channel_id
,
channel_name
,
stan
,
ntb
def
get_api
(
self
,
psppt
):
def
get_api
(
self
):
q
=
self
.
base_q_api
.
filter_by
(
bit_059
=
'1'
,
bit_061
=
self
.
invoice_id
)
q
=
self
.
base_q_api
.
filter_by
(
bit_059
=
'1'
,
bit_061
=
self
.
invoice_id
)
q
=
q
.
order_by
(
ApiLog
.
id
.
desc
())
q
=
q
.
order_by
(
ApiLog
.
id
.
desc
())
row
=
q
.
first
()
row
=
q
.
first
()
if
not
row
:
if
not
row
:
return
return
channel_nama
=
BIT_18_NAMES
[
row
.
bit_018
]
channel_nama
=
BIT_18_NAMES
[
row
.
bit_018
]
return
row
.
bit_018
,
channel_nama
,
row
.
bit_011
,
row
.
bit_037
,
row
.
bit_032
return
row
.
bit_018
,
channel_nama
,
row
.
bit_011
,
row
.
bit_037
,
\
int
(
row
.
bit_032
)
def
get_invoice_cartenz
(
self
,
pay
):
def
get_invoice_cartenz
(
self
,
pay
):
if
pay
.
no_transaksi_byr
in
(
'KB'
,
'KBT'
):
if
pay
.
no_transaksi_byr
in
(
'KB'
,
'KBT'
):
...
@@ -591,7 +592,7 @@ class App(BaseApp):
...
@@ -591,7 +592,7 @@ class App(BaseApp):
else
:
else
:
channel_nama
=
self
.
get_va_channel
(
pay
.
tanggal
)
or
'MANUAL'
channel_nama
=
self
.
get_va_channel
(
pay
.
tanggal
)
or
'MANUAL'
elif
self
.
api_session
:
elif
self
.
api_session
:
source
=
self
.
get_api
(
pay
)
source
=
self
.
get_api
()
if
source
:
if
source
:
channel_id
,
channel_nama
,
stan
,
ntb
,
bank_id
=
source
channel_id
,
channel_nama
,
stan
,
ntb
,
bank_id
=
source
else
:
else
:
...
...
payment_report/pad/default.py
View file @
ec69c91
...
@@ -6,7 +6,10 @@ from opensipkd.iso8583.bjb.pad.structure import PAYMENT_CODE
...
@@ -6,7 +6,10 @@ from opensipkd.iso8583.bjb.pad.structure import PAYMENT_CODE
from
opensipkd.iso8583.bjb.pad.doc
import
Doc
as
BjbDoc
from
opensipkd.iso8583.bjb.pad.doc
import
Doc
as
BjbDoc
from
opensipkd.iso8583.bjb.pad.models
import
Log
from
opensipkd.iso8583.bjb.pad.models
import
Log
from
opensipkd.iso8583.multi.doc
import
Doc
as
MultiDoc
from
opensipkd.iso8583.multi.doc
import
Doc
as
MultiDoc
from
..models
import
Pad
from
..models
import
(
Pad
,
ApiLog
,
)
from
..common
import
(
from
..common
import
(
get_iso
,
get_iso
,
get_channel_info_by_iso
,
get_channel_info_by_iso
,
...
@@ -14,6 +17,7 @@ from ..common import (
...
@@ -14,6 +17,7 @@ from ..common import (
BaseApp
,
BaseApp
,
one_day
,
one_day
,
BANK_NAMES
,
BANK_NAMES
,
BIT_18_NAMES
,
)
)
...
@@ -52,6 +56,12 @@ class App(BaseApp):
...
@@ -52,6 +56,12 @@ class App(BaseApp):
except
ProgrammingError
:
except
ProgrammingError
:
self
.
prod_session
.
rollback
()
self
.
prod_session
.
rollback
()
self
.
base_q_log
=
None
self
.
base_q_log
=
None
if
'api_db_url'
in
self
.
conf
:
factory
=
self
.
get_factory
(
'api_db_url'
)
self
.
api_session
=
factory
()
self
.
base_q_api
=
self
.
api_session
.
query
(
ApiLog
)
else
:
self
.
api_session
=
None
def
get_pay_date
(
self
):
# Override
def
get_pay_date
(
self
):
# Override
return
self
.
last_pay
.
sspdtgl
.
date
()
return
self
.
last_pay
.
sspdtgl
.
date
()
...
@@ -110,6 +120,16 @@ class App(BaseApp):
...
@@ -110,6 +120,16 @@ class App(BaseApp):
return
channel_id
,
channel_nama
,
row
.
bit_011
,
row
.
bit_048
.
strip
(),
\
return
channel_id
,
channel_nama
,
row
.
bit_011
,
row
.
bit_048
.
strip
(),
\
bank_id
bank_id
def
get_api
(
self
,
inv_id
):
q
=
self
.
base_q_api
.
filter_by
(
bit_059
=
'2'
,
bit_061
=
inv_id
)
q
=
q
.
order_by
(
ApiLog
.
id
.
desc
())
row
=
q
.
first
()
if
not
row
:
return
channel_nama
=
BIT_18_NAMES
[
row
.
bit_018
]
return
row
.
bit_018
,
channel_nama
,
row
.
bit_011
,
row
.
bit_037
,
\
int
(
row
.
bit_032
)
def
create_data
(
self
,
pay
):
# Override
def
create_data
(
self
,
pay
):
# Override
Invoice
=
self
.
models
.
Invoice
Invoice
=
self
.
models
.
Invoice
q_inv
=
self
.
base_q_inv
.
filter
(
Invoice
.
id
==
pay
.
spt_id
)
q_inv
=
self
.
base_q_inv
.
filter
(
Invoice
.
id
==
pay
.
spt_id
)
...
@@ -119,25 +139,36 @@ class App(BaseApp):
...
@@ -119,25 +139,36 @@ class App(BaseApp):
invoice_id
[
'SptNo'
]
=
inv
.
sptno
invoice_id
[
'SptNo'
]
=
inv
.
sptno
try
:
try
:
invoice_id
[
'Prefix'
]
=
getattr
(
self
.
service
,
'PREFIX'
)
invoice_id
[
'Prefix'
]
=
getattr
(
self
.
service
,
'PREFIX'
)
has_prefix
=
True
except
AttributeError
:
except
AttributeError
:
pass
has_prefix
=
False
self
.
invoice_id
=
invoice_id
.
get_raw
()
self
.
invoice_id
=
invoice_id
.
get_raw
()
source
=
self
.
get_iso_v2
()
if
has_prefix
:
if
source
:
p
=
len
(
invoice_id
[
'Prefix'
])
channel_id
,
channel_name
,
stan
,
ntb
,
bank_id
=
source
inv_id
=
self
.
invoice_id
[
p
:]
else
:
inv_id
=
self
.
invoice_id
stan
=
ntb
=
bank_id
=
None
channel_id
=
'0000'
channel_name
=
'MANUAL'
if
self
.
api_session
:
source
=
self
.
get_api
(
inv_id
)
if
source
:
channel_id
,
channel_name
,
stan
,
ntb
,
bank_id
=
source
else
:
else
:
source
=
self
.
get_iso_v
1
(
pay
)
source
=
self
.
get_iso_v
2
(
)
if
source
:
if
source
:
channel_id
,
channel_name
,
stan
,
ntb
,
bank_id
=
source
channel_id
,
channel_name
,
stan
,
ntb
,
bank_id
=
source
else
:
else
:
stan
=
ntb
=
bank_id
=
None
source
=
self
.
get_iso_v1
(
pay
)
channel_id
=
'0000'
if
source
:
tgl
=
pay
.
sspdtgl
.
date
()
channel_id
,
channel_name
,
stan
,
ntb
,
bank_id
=
source
channel_name
=
self
.
get_va_channel
(
tgl
)
else
:
if
not
channel_name
:
tgl
=
pay
.
sspdtgl
.
date
()
p
=
len
(
invoice_id
[
'Prefix'
])
channel_name
=
self
.
get_va_channel
(
tgl
)
inv_id
=
self
.
invoice_id
[
p
:]
if
not
channel_name
:
channel_name
=
self
.
get_va_channel
(
tgl
,
inv_id
)
or
'MANUAL'
channel_name
=
self
.
get_va_channel
(
tgl
,
inv_id
)
or
\
'MANUAL'
return
dict
(
return
dict
(
id
=
pay
.
id
,
stan
=
stan
,
ntb
=
ntb
,
tgl
=
pay
.
sspdtgl
.
date
(),
id
=
pay
.
id
,
stan
=
stan
,
ntb
=
ntb
,
tgl
=
pay
.
sspdtgl
.
date
(),
jam
=
pay
.
sspdtgl
.
time
(),
nomor_bayar
=
invoice_id
.
get_raw
(),
jam
=
pay
.
sspdtgl
.
time
(),
nomor_bayar
=
invoice_id
.
get_raw
(),
...
...
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