perbaikan pbb

1 parent c968d32a
...@@ -2,7 +2,7 @@ kode,nama,path,status,type,is_menu,parent_id,file_name,class_name,func_name,perm ...@@ -2,7 +2,7 @@ kode,nama,path,status,type,is_menu,parent_id,file_name,class_name,func_name,perm
eis-pcpd,PCPD,/eis/pcpd,1,0,0 eis-pcpd,PCPD,/eis/pcpd,1,0,0
eis-pcpd-act,PCPD Act,/eis/pcpd/{act}/act,1,0 eis-pcpd-act,PCPD Act,/eis/pcpd/{act}/act,1,0
eis-pajak,Pajak,#,1,0,1 eis-pajak,Pajak,#,1,0,1
eis-pajak-kumulatif,Pajak,/eis/pajak,1,0,1,eis-pajak,pcpd,Views,view_pajak,eis,pcpd.pt eis-pajak-kumulatif,Pajak,/eis/pajak,1,0,1,eis-pajak,pcpd,Views,view_pajak,,pcpd.pt
eis-pbb,PBB,/eis/pbb,1,0,1,eis-pajak,pcpd,Views,view_pbb,eis,pcpd.pt eis-pbb,PBB,/eis/pbb,1,0,1,eis-pajak,pcpd,Views,view_pbb,eis,pcpd.pt
eis-bphtb,BPHTB,/eis/bphtb,1,0,1,eis-pajak,pcpd,Views,view_bphtb,eis,pcpd.pt eis-bphtb,BPHTB,/eis/bphtb,1,0,1,eis-pajak,pcpd,Views,view_bphtb,eis,pcpd.pt
eis-hotel,Hotel,/eis/hotel,1,0,1,eis-pajak,pcpd,Views,view_hotel,eis,pcpd.pt eis-hotel,Hotel,/eis/hotel,1,0,1,eis-pajak,pcpd,Views,view_hotel,eis,pcpd.pt
......
...@@ -9,6 +9,7 @@ from datatables import ColumnDT, DataTables ...@@ -9,6 +9,7 @@ from datatables import ColumnDT, DataTables
from sqlalchemy import func, and_, String from sqlalchemy import func, and_, String
from sqlalchemy.sql.expression import cast from sqlalchemy.sql.expression import cast
from ..models.payment import PaymentPBB, PaymentPAD, PaymentBPHTB, PaymentWEBR from ..models.payment import PaymentPBB, PaymentPAD, PaymentBPHTB, PaymentWEBR
from opensipkd.pbb.monitoring.models import PembayaranSppt
from datetime import timedelta from datetime import timedelta
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
...@@ -91,38 +92,91 @@ class Views(BaseView): ...@@ -91,38 +92,91 @@ class Views(BaseView):
trx = tx trx = tx
return amt, trx, daily, dailyTrx, dailyAcc, dailyAccTrx return amt, trx, daily, dailyTrx, dailyAcc, dailyAccTrx
# def get_pbb_data(self):
# if log.root.level == logging.DEBUG:
# today = datetime.strptime('2025-06-05', "%Y-%m-%d")
# else:
# today = datetime.now().date()
# field = func.to_char(PaymentPBB.tgl_pembayaran_sppt, 'yyyy-mm-dd')
# filter_exp = PaymentPBB.tgl_pembayaran_sppt.between(
# today-timedelta(6), today)
# amt, trx, daily, dailyTrx, dailyAcc, dailyAccTrx = \
# self.get_daily_data(PaymentPBB, field,
# today.strftime("%Y-%m-%d"), filter_exp)
# filter_exp = PaymentPBB.tgl_pembayaran_sppt.between(
# today-timedelta(days=6), today)
# field = func.to_char(PaymentPBB.tgl_pembayaran_sppt, 'IYYY')
# filter_exp = PaymentPBB.tgl_pembayaran_sppt.between(
# datetime.strptime(f"{today.year}-01-01", "%Y-%m-%d"), today)
# ytd, ytdTrx, yearly, yearlyTrx, yearlyAcc, yearlyAccTrx = \
# self.get_daily_data(PaymentPBB, field,
# str(today.year), filter_exp)
# field = func.to_char(PaymentPBB.tgl_pembayaran_sppt, 'MM')
# month, monthTrx, monthly, monthlyTrx, monthlyAcc, monthlyAccTrx = \
# self.get_daily_data(PaymentPBB, field, None, filter_exp)
# field = func.to_char(PaymentPBB.tgl_pembayaran_sppt, 'WW')
# filter_exp = PaymentPBB.tgl_pembayaran_sppt.between(
# today-timedelta(weeks=6), today)
# week, weekTrx, weekly, weeklyTrx, weeklyAcc, weeklyAccTrx = \
# self.get_daily_data(PaymentPBB, field, None, filter_exp)
# return {"today": amt,
# "trx": trx,
# "daily": daily,
# "dailyTrx": dailyTrx,
# "dailyAcc": dailyAcc,
# "dailyAccTrx": dailyAccTrx,
# "ytd": ytd,
# "trxYtd": ytdTrx,
# "pie": [("I", 100, '#16a75c'), ("II", 200, '#ffb900'),
# ("III", 300, '#133132'), ("IV", 200, '#123456'),
# ("V", 100, '#545355')],
# "weekly": weekly,
# "weeklyTrx": weeklyTrx,
# "weeklyAcc": weeklyAcc,
# "weeklyAccTrx": weeklyAccTrx,
# "monthly": monthly,
# "monthlyTrx": monthlyTrx,
# "monthlyAcc": monthlyAcc,
# "monthlyAccTrx": monthlyAccTrx,
# }
def get_pbb_data(self): def get_pbb_data(self):
if log.root.level == logging.DEBUG: if log.root.level == logging.DEBUG:
today = datetime.strptime('2025-06-05', "%Y-%m-%d") today = datetime.strptime('2025-06-05', "%Y-%m-%d")
else: else:
today = datetime.now().date() today = datetime.now().date()
field = func.to_char(PaymentPBB.tgl_pembayaran_sppt, 'yyyy-mm-dd') field = func.to_char(PembayaranSppt.tgl_pembayaran_sppt, 'yyyy-mm-dd')
filter_exp = PaymentPBB.tgl_pembayaran_sppt.between( filter_exp = PembayaranSppt.tgl_pembayaran_sppt.between(
today-timedelta(6), today) today-timedelta(6), today)
amt, trx, daily, dailyTrx, dailyAcc, dailyAccTrx = \ amt, trx, daily, dailyTrx, dailyAcc, dailyAccTrx = \
self.get_daily_data(PaymentPBB, field, self.get_daily_data(PembayaranSppt, field,
today.strftime("%Y-%m-%d"), filter_exp) today.strftime("%Y-%m-%d"), filter_exp)
filter_exp = PaymentPBB.tgl_pembayaran_sppt.between( filter_exp = PembayaranSppt.tgl_pembayaran_sppt.between(
today-timedelta(days=6), today) today-timedelta(days=6), today)
field = func.to_char(PaymentPBB.tgl_pembayaran_sppt, 'IYYY') field = func.to_char(PembayaranSppt.tgl_pembayaran_sppt, 'IYYY')
filter_exp = PaymentPBB.tgl_pembayaran_sppt.between( filter_exp = PembayaranSppt.tgl_pembayaran_sppt.between(
datetime.strptime(f"{today.year}-01-01", "%Y-%m-%d"), today) datetime.strptime(f"{today.year}-01-01", "%Y-%m-%d"), today)
ytd, ytdTrx, yearly, yearlyTrx, yearlyAcc, yearlyAccTrx = \ ytd, ytdTrx, yearly, yearlyTrx, yearlyAcc, yearlyAccTrx = \
self.get_daily_data(PaymentPBB, field, self.get_daily_data(PembayaranSppt, field,
str(today.year), filter_exp) str(today.year), filter_exp)
field = func.to_char(PaymentPBB.tgl_pembayaran_sppt, 'MM') field = func.to_char(PembayaranSppt.tgl_pembayaran_sppt, 'MM')
month, monthTrx, monthly, monthlyTrx, monthlyAcc, monthlyAccTrx = \ month, monthTrx, monthly, monthlyTrx, monthlyAcc, monthlyAccTrx = \
self.get_daily_data(PaymentPBB, field, None, filter_exp) self.get_daily_data(PembayaranSppt, field, None, filter_exp)
field = func.to_char(PaymentPBB.tgl_pembayaran_sppt, 'WW') field = func.to_char(PembayaranSppt.tgl_pembayaran_sppt, 'WW')
filter_exp = PaymentPBB.tgl_pembayaran_sppt.between( filter_exp = PembayaranSppt.tgl_pembayaran_sppt.between(
today-timedelta(weeks=6), today) today-timedelta(weeks=6), today)
week, weekTrx, weekly, weeklyTrx, weeklyAcc, weeklyAccTrx = \ week, weekTrx, weekly, weeklyTrx, weeklyAcc, weeklyAccTrx = \
self.get_daily_data(PaymentPBB, field, None, filter_exp) self.get_daily_data(PembayaranSppt, field, None, filter_exp)
return {"today": amt, return {"today": amt,
"trx": trx, "trx": trx,
...@@ -319,21 +373,21 @@ class Views(BaseView): ...@@ -319,21 +373,21 @@ class Views(BaseView):
dst.sort() dst.sort()
def get_pajak_data(self): def get_pajak_data(self):
pbb=self.get_pbb_data() pbb = self.get_pbb_data()
bphtb=self.get_bphtb_data() bphtb = self.get_bphtb_data()
pdl=self.get_pad_data("pbb") pdl = self.get_pad_data("pbb")
daily=[] daily = []
dailyTrx=[] dailyTrx = []
dailyAcc=[] dailyAcc = []
dailyAccTrx=[] dailyAccTrx = []
monthly=[] monthly = []
monthlyTrx=[] monthlyTrx = []
monthlyAcc=[] monthlyAcc = []
monthlyAccTrx=[] monthlyAccTrx = []
weekly=[] weekly = []
weeklyTrx=[] weeklyTrx = []
weeklyAcc=[] weeklyAcc = []
weeklyAccTrx=[] weeklyAccTrx = []
self.loop_data(pbb["daily"], daily) self.loop_data(pbb["daily"], daily)
self.loop_data(pbb["dailyTrx"], dailyTrx) self.loop_data(pbb["dailyTrx"], dailyTrx)
...@@ -374,8 +428,7 @@ class Views(BaseView): ...@@ -374,8 +428,7 @@ class Views(BaseView):
self.loop_data(pdl["weeklyAcc"], weeklyAcc) self.loop_data(pdl["weeklyAcc"], weeklyAcc)
self.loop_data(pdl["weeklyAccTrx"], weeklyAccTrx) self.loop_data(pdl["weeklyAccTrx"], weeklyAccTrx)
resp = {"today": float(pbb.get("today", 0)) + float(bphtb.get("today", 0)) + float(pdl.get("today", 0)),
resp={"today": float(pbb.get("today", 0)) + float(bphtb.get("today", 0)) + float(pdl.get("today", 0)),
"trx": float(pbb.get("trx", 0)) + float(bphtb.get("trx", 0)) + float(pdl.get("trx", 0)), "trx": float(pbb.get("trx", 0)) + float(bphtb.get("trx", 0)) + float(pdl.get("trx", 0)),
"daily": daily, "daily": daily,
"dailyTrx": dailyTrx, "dailyTrx": dailyTrx,
...@@ -397,31 +450,31 @@ class Views(BaseView): ...@@ -397,31 +450,31 @@ class Views(BaseView):
} }
return resp return resp
@ view_config(route_name='eis-pcpd-act', renderer='json') @view_config(route_name='eis-pcpd-act', renderer='json')
def view_app_act(self): def view_app_act(self):
tahun=self.ses['tahun'] tahun = self.ses['tahun']
req=self.req req = self.req
ses=req.session ses = req.session
params=req.params params = req.params
id='id' in params and params['id'] or 0 id = 'id' in params and params['id'] or 0
json_data={} json_data = {}
json_data['success']=False json_data['success'] = False
act=req.matchdict['act'] act = req.matchdict['act']
if act == 'grid': if act == 'grid':
rows=DBSession.query(Eis).filter(Eis.id == id) rows = DBSession.query(Eis).filter(Eis.id == id)
if not rows: if not rows:
return json_data return json_data
elif act == 'pbb': elif act == 'pbb':
resp=self.get_pbb_data() resp = self.get_pbb_data()
elif act == 'bphtb': elif act == 'bphtb':
resp=self.get_bphtb_data() resp = self.get_bphtb_data()
elif act == 'webr': elif act == 'webr':
resp=self.get_webr_data() resp = self.get_webr_data()
elif act == 'pajak': elif act == 'pajak':
resp=self.get_pajak_data() resp = self.get_pajak_data()
else: else:
resp=self.get_pad_data(act) resp = self.get_pad_data(act)
resp["time"]=datetime.now().strftime("%Y-%m-%d %H:%M:%S") resp["time"] = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
return resp return resp
def view_pajak(self): def view_pajak(self):
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!