Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Taufik Yulianto
/
esipkd
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit d8fb0bcd
authored
Feb 27, 2024
by
taufikyu
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
penambahan cron h2h callback pemda
1 parent
34d109a7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
85 additions
and
1 deletions
esipkd/models/isipkd.py
esipkd/scripts/cron_payment_callback_pemda.py.bak
esipkd/views/bjb_va.py
esipkd/models/isipkd.py
View file @
d8fb0bc
...
...
@@ -448,6 +448,7 @@ class ARSspd(CommonModel, Base):
rekening_id
=
Column
(
Integer
,
nullable
=
True
,
default
=
0
)
rek_kode
=
Column
(
String
(
16
))
rek_nama
=
Column
(
String
(
128
))
posted_pemda
=
Column
(
SmallInteger
,
default
=
0
)
#untuk posting ke rpc pemda
arinvoices
=
relationship
(
"ARInvoice"
,
backref
=
backref
(
'arsspds'
))
units
=
relationship
(
"Unit"
,
backref
=
backref
(
'arsspds'
))
...
...
esipkd/scripts/cron_payment_callback_pemda.py.bak
0 → 100644
View file @
d8fb0bc
import sys
import os
import json
import requests
from sqlalchemy import create_engine
from sqlalchemy.sql import text
from datetime import date, datetime, timedelta
from pyramid.paster import (
setup_logging,
get_appsettings,
)
from sqlalchemy import func, and_, case
from sqlalchemy import create_engine, func, engine_from_config
from sqlalchemy.orm import (
scoped_session,
sessionmaker,
relationship,
backref
)
from sqlalchemy.ext.declarative import declarative_base
from esipkd.models.isipkd import (ARInvoice, ARSspd)
import logging
log = logging.getLogger('LOG CRON RPC PEMDA SCRIPTS')
if len(sys.argv) < 2:
raise Exception('CONFIG .ini Not Found.')
if len(sys.argv) < 3:
raise Exception('tahun Not Found.')
configpath = sys.argv[1] # CONFIG .ini
tahunargs = sys.argv[2] # CONFIG tahun_id
datenow = date.today()
settings = get_appsettings(configpath)
engine = engine_from_config(settings, 'sqlalchemy.')
engine.echo = True
DBSession = scoped_session(sessionmaker())
DBSession.configure(bind=engine)
Base = declarative_base()
def get_listkdbayar():
getdata = DBSession.query(ARInvoice.kode).select_from(ARSspd)\
.join(ARInvoice,ARInvoice.id==ARSspd.arinvoice_id)\
.filter(ARSspd.tahun_id == tahunargs,
ARSspd.ntb.notin_(['BJBQRIS','BJBVA']),
ARSspd.tgl_bayar >= datenow,
ARSspd.posted == 0).all()
list_kd_bayar = [kode for d in getdata]
return list_kd_bayar
def sendrpc(kd_bayar):
log.info('STARTING RPC CALLBACK PEMDA')
headers = {'Content-Type':'application/json'}
if not 'pemdaqris_url' in settings and not settings['pemdaqris_url']:
log.error('pemdaqris_url belum ada di settings')
raise Exception('pemdaqris_url belum ada di settings')
url = settings['pemdaqris_url']
try:
resp = requests.post(url=url,
data=json.dumps(dict(kd_bayar=kd_bayar)),
headers=headers,
verify=False)
log.info('Response RPC CALLBACK PEMDA : {}'.format(resp.content))
try:
jsonr = json.loads(resp.content)
if jsonr.get('success')==False:
raise Exception(jsonr.get('message'))
except Exception as err:
log.error(err)
raise Exception(err)
return True
except requests.exceptions.RequestException as err:
log.error('Error send BJBQRIS to pemda : {}'.format(err))
raise Exception(err)
def main():
for k in get_listkdbayar():
sendrpc(k)
main()
## python cron_payment_callback_pemda.py [/config.ini] [tahun]
esipkd/views/bjb_va.py
View file @
d8fb0bc
...
...
@@ -678,7 +678,7 @@ def sendrpc(request, kd_bayar):
headers
=
{
'Content-Type'
:
'application/json'
}
if
not
'pemdava_url'
in
settings
and
not
settings
[
'pemdava_url'
]:
log
.
error
(
'pemdava_url belum ada di settings'
)
raise
Exception
(
'pemdava_url belum ada di settings'
)
raise
Exception
(
'pemdava_url belum ada di settings'
)
url
=
settings
[
'pemdava_url'
]
try
:
...
...
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