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 b65bcf77
authored
Aug 21, 2023
by
Owo Sugiana
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Tambah PBB VA & QRIS Only
1 parent
d2fe1a80
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
100 additions
and
13 deletions
CHANGES.txt
payment_report/common.py
payment_report/pbb/default.py
payment_report/pbb/only_va.py
payment_report/scripts/data/conf.csv
pbb.ini
CHANGES.txt
View file @
b65bcf7
3.1.3 2023-08-21
----------------
- Tambah PBB VA & QRIS Only
3.1.2 2023-07-26
3.1.2 2023-07-26
----------------
----------------
- POSPBB tidak lagi dikenali dari field nip_rekam_byr_sppt melainkan dari field
- POSPBB tidak lagi dikenali dari field nip_rekam_byr_sppt melainkan dari field
...
...
payment_report/common.py
View file @
b65bcf7
...
@@ -14,6 +14,7 @@ from sqlalchemy import (
...
@@ -14,6 +14,7 @@ from sqlalchemy import (
Column
,
Column
,
String
,
String
,
Integer
,
Integer
,
BigInteger
,
ForeignKey
,
ForeignKey
,
create_engine
,
create_engine
,
)
)
...
@@ -91,6 +92,9 @@ class VaPayment(Base):
...
@@ -91,6 +92,9 @@ class VaPayment(Base):
id
=
Column
(
Integer
,
primary_key
=
True
)
id
=
Column
(
Integer
,
primary_key
=
True
)
va_invoice_id
=
Column
(
Integer
,
ForeignKey
(
VaInvoice
.
id
))
va_invoice_id
=
Column
(
Integer
,
ForeignKey
(
VaInvoice
.
id
))
transaction_date
=
Column
(
String
(
32
))
transaction_date
=
Column
(
String
(
32
))
transaction_amount
=
Column
(
BigInteger
)
rrn
=
Column
(
String
(
32
))
customer_name
=
Column
(
String
(
64
))
def
humanize_time
(
secs
):
def
humanize_time
(
secs
):
...
...
payment_report/pbb/default.py
View file @
b65bcf7
import
sys
from
datetime
import
(
from
datetime
import
(
datetime
,
datetime
,
date
,
date
,
timedelta
,
)
)
from
sqlalchemy
import
(
from
sqlalchemy
import
(
Column
,
Column
,
...
@@ -16,17 +14,8 @@ from sqlalchemy.exc import (
...
@@ -16,17 +14,8 @@ from sqlalchemy.exc import (
ProgrammingError
,
ProgrammingError
,
)
)
from
ISO8583.ISO8583
import
BitNotSet
from
ISO8583.ISO8583
import
BitNotSet
import
transaction
from
sismiop.services.base
import
get_id
from
sismiop.services.base
import
get_id
from
opensipkd.string
import
(
from
opensipkd.waktu
import
dmyhms
FixLength
,
DateTimeVar
,
to_str
,
)
from
opensipkd.waktu
import
(
dmyhms
,
create_datetime
,
)
from
opensipkd.iso8583.bjb.pbb.default
import
Doc
from
opensipkd.iso8583.bjb.pbb.default
import
Doc
from
opensipkd.iso8583.bjb.pbb.structure
import
PAYMENT_CODE
from
opensipkd.iso8583.bjb.pbb.structure
import
PAYMENT_CODE
from
opensipkd.iso8583.bjb.pbb.models
import
Log
from
opensipkd.iso8583.bjb.pbb.models
import
Log
...
...
payment_report/pbb/only_va.py
0 → 100644
View file @
b65bcf7
from
datetime
import
datetime
from
sqlalchemy
import
func
from
opensipkd.string
import
FixLength
from
opensipkd.waktu
import
dmyhms
from
sismiop.services.base
import
INVOICE_ID
from
..models
import
Pbb
from
..common
import
(
BaseApp
,
one_day
,
VaInvoice
,
VaPayment
,
)
class
App
(
BaseApp
):
conf_name
=
'pbb va payment last date'
report_orm
=
Pbb
va_product_code
=
'02'
def
filter_query
(
self
,
q
):
tgl_awal
=
self
.
tgl_awal
.
strftime
(
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
)
tgl_akhir
=
self
.
tgl_akhir
+
one_day
tgl_akhir
=
tgl_akhir
.
strftime
(
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
)
return
q
.
filter
(
VaPayment
.
va_invoice_id
==
VaInvoice
.
id
,
VaInvoice
.
product_code
==
self
.
va_product_code
,
VaPayment
.
transaction_date
>=
tgl_awal
,
VaPayment
.
transaction_date
<
tgl_akhir
)
def
get_payment_query
(
self
):
# Override
q
=
self
.
va_session
.
query
(
VaInvoice
.
invoice_no
,
VaInvoice
.
va_type
,
VaPayment
.
id
,
VaPayment
.
rrn
,
VaPayment
.
customer_name
,
VaPayment
.
transaction_date
,
VaPayment
.
transaction_amount
)
q
=
self
.
filter_query
(
q
)
return
q
.
order_by
(
VaPayment
.
id
)
def
get_count
(
self
):
# Override
q
=
self
.
va_session
.
query
(
func
.
count
())
q
=
self
.
filter_query
(
q
)
return
q
.
scalar
()
def
create_data
(
self
,
pay
):
# Override
self
.
invoice_id
=
pay
.
invoice_no
if
pay
.
va_type
==
'a'
:
channel_nama
=
'VA'
elif
pay
.
va_type
==
'q'
:
channel_nama
=
'QRIS'
else
:
raise
Exception
(
f
'Invoice ID {self.invoice_id} va_type {pay.va_type} '
'belum dipahami, perbaiki script'
)
inv_id
=
FixLength
(
INVOICE_ID
)
inv_id
.
set_raw
(
pay
.
invoice_no
)
tgl
=
datetime
.
strptime
(
pay
.
transaction_date
,
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
)
rpt_id
=
-
pay
.
id
return
dict
(
id
=
rpt_id
,
kd_propinsi
=
inv_id
[
'Propinsi'
],
kd_dati2
=
inv_id
[
'Kabupaten'
],
kd_kecamatan
=
inv_id
[
'Kecamatan'
],
kd_kelurahan
=
inv_id
[
'Kelurahan'
],
kd_blok
=
inv_id
[
'Blok'
],
no_urut
=
inv_id
[
'Urut'
],
kd_jns_op
=
inv_id
[
'Jenis'
],
thn_pajak_sppt
=
inv_id
[
'Tahun'
],
pembayaran_sppt_ke
=
1
,
ntb
=
pay
.
rrn
,
jml_sppt_yg_dibayar
=
pay
.
transaction_amount
,
denda_sppt
=
0
,
discount
=
0
,
tgl_pembayaran_sppt
=
tgl
.
date
(),
tgl_rekam_byr_sppt
=
tgl
,
nm_wp_sppt
=
pay
.
customer_name
,
channel_kode
=
'0000'
,
channel_nama
=
channel_nama
,
bank_id
=
'110'
,
pbb_yg_harus_dibayar_sppt
=
pay
.
transaction_amount
)
def
get_report
(
self
,
pay
):
# Override
inv_id
=
FixLength
(
INVOICE_ID
)
inv_id
.
set_raw
(
pay
.
invoice_no
)
q
=
self
.
rpt_session
.
query
(
Pbb
)
.
filter_by
(
kd_propinsi
=
inv_id
[
'Propinsi'
],
kd_dati2
=
inv_id
[
'Kabupaten'
],
kd_kecamatan
=
inv_id
[
'Kecamatan'
],
kd_kelurahan
=
inv_id
[
'Kelurahan'
],
kd_blok
=
inv_id
[
'Blok'
],
no_urut
=
inv_id
[
'Urut'
],
kd_jns_op
=
inv_id
[
'Jenis'
],
thn_pajak_sppt
=
inv_id
[
'Tahun'
],
pembayaran_sppt_ke
=
1
)
return
q
.
first
()
def
get_last_time
(
self
):
# Override
tgl
=
datetime
.
strptime
(
self
.
last_pay
.
transaction_date
,
'
%
Y-
%
m-
%
d
%
H:
%
M:
%
S'
)
return
dmyhms
(
tgl
)
payment_report/scripts/data/conf.csv
View file @
b65bcf7
...
@@ -3,3 +3,4 @@ pad payment last date,1-1-2000 00:00:00,pad.pad_sspd.sspdtgl terakhir yang dipro
...
@@ -3,3 +3,4 @@ pad payment last date,1-1-2000 00:00:00,pad.pad_sspd.sspdtgl terakhir yang dipro
webr payment last date,1-1-2000 00:00:00,webr.ar_payment.created terakhir yang diproses
webr payment last date,1-1-2000 00:00:00,webr.ar_payment.created terakhir yang diproses
bphtb payment last date,01-01-2000 00:00:00,bphtb.bphtb_bank.tanggal terakhir yang diproses
bphtb payment last date,01-01-2000 00:00:00,bphtb.bphtb_bank.tanggal terakhir yang diproses
pbb payment last date,1-1-2000 00:00:00,pembayaran_sppt.tgl_rekam_byr_sppt terakhir yang diproses
pbb payment last date,1-1-2000 00:00:00,pembayaran_sppt.tgl_rekam_byr_sppt terakhir yang diproses
pbb va payment last date,1-1-2000 00:00:00,bjb_va_payment.transaction_date terakhir yang diproses
pbb.ini
View file @
b65bcf7
...
@@ -6,7 +6,6 @@ h2h_db_url = postgresql://user:pass@localhost/db
...
@@ -6,7 +6,6 @@ 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
kd_tp
=
kd_tp
=
41:POSPBB
41:POSPBB
...
...
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