eta.py
3.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# import logging
# import sys
# from tangsel.base import get_settings
# from tangsel.base.tools import number_only, round_up, ymd
# from tangsel.base.tools.api import (auth_from_rpc,
# JsonRpcDataNotFoundError, JsonRpcInvalidData)
# from pyramid_rpc.jsonrpc import jsonrpc_method
# from sqlalchemy import func
# from tangsel.pbb.models import DatSubjekPajak, DatObjekPajak, PstPermohonan, PstDetail, Sppt, DatOpBumi
# if sys.version[0] == '2':
# raise Exception("Harus Python 3")
# log = logging.getLogger(__name__)
# class Eta:
# def __init__(self, request):
# self.req = request
# self.settings = get_settings()
# self.data = None
# # self.nama = self.nop = self.nik = None
# # self.alamat_wp = self.alamat_op = None
# # self.limit = 10
# # self.page = 1
# # self.count = 0
# # self.pages = 1
# @jsonrpc_method(method='permohonan', endpoint='api-eta-pbb')
# def permohonan(self, data):
# self.data = data
# request = self.req
# log.warning("Req from {}: {}".format(request.client_addr, self.data))
# auth_from_rpc(request)
# nopel = data["no_pelayanan"]
# nop = data["nop"]
# pst = PstPermohonan.query_nopel(nopel).first()
# detail = PstDetail.query_kode(nopel, nop).first()
# if not pst or not detail:
# raise JsonRpcDataNotFoundError("Pelayanan tidak ditemukan")
# dop = DatObjekPajak.query_nop(nop).first()
# # if not dop:
# # raise JsonRpcDataNotFoundError("Objek pajak tidak ditemukan")
# dsp = DatSubjekPajak.query_id(dop.subjek_pajak_id).first()
# dob = DatOpBumi.query_nop(nop).first()
# # if not dsp:
# # raise JsonRpcDataNotFoundError("Subjek pajak tidak ditemukan")
# is_lunas = Sppt.get_piutang_all(nop) == 0
# self.data = dict(
# # no_pelayanan=nopel,
# # nop=nop,
# tgl_pelayanan=pst.tgl_terima_dokumen_wp and
# ymd(pst.tgl_terima_dokumen_wp) or "",
# tgl_permohonan=pst.tgl_surat_permohonan and
# ymd(pst.tgl_surat_permohonan) or "",
# nm_wp=dsp and dsp.nm_wp or pst.nama_pemohon,
# jalan_wp=dsp and dsp.jalan_wp or pst.alamat_pemohon,
# blok_kav_no_wp=dsp and dsp.blok_kav_no_wp or "",
# rt_wp=dsp and dsp.rt_wp and dsp.rt_wp or "000",
# rw_wp=dsp and dsp.rw_wp and dsp.rw_wp or "00",
# kelurahan_wp=dsp and dsp.kelurahan_wp or "",
# kota_wp=dsp and dsp.kota_wp or "",
# kuasa_wp=pst.nama_pemohon,
# jalan_op=dop and dop.jalan_op or "",
# blok_kav_no_op=dop and dop.blok_kav_no_op or "",
# rt_op=dop and dop.rt_op and dop.rt_op or "000",
# rw_op=dop and dop.rw_op and dop.rw_op or "00",
# is_lunas=is_lunas and 1 or 0,
# luas_bumi=dop and dop.total_luas_bumi and int(dop.total_luas_bumi) or 0,
# luas_bng=dop and dop.total_luas_bng and int(dop.total_luas_bng) or 0,
# kd_znt=dob and dob.kd_znt or "",
# njop_bumi=dop and dop.njop_bumi and int(dop.njop_bumi ) or 0,
# njop_bng=dop and dop.njop_bng and int(dop.njop_bng ) or 0)
# log.warning("Resp to {}: {}".format(request.client_addr, self.data))
# return dict(data=self.data)