eta.py 3.39 KB
# 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)