test_custom_hitung.py 1.95 KB

import datetime
import logging
from operator import inv
from opensipkd.pbb.models.views.api_invoice import SismiopInvoice
settings = {"module": "bekasi_kota"}
log = logging.getLogger(__name__)


def main():

    invoice = {'kd_propinsi': '32', 'kd_dati2': '79', 'kd_kecamatan': '010',
               'kd_kelurahan': '001', 'kd_blok': '001', 'no_urut': '0002',
               'kd_jns_op': '0', 'thn_pajak_sppt': '2020', 'siklus_sppt': 1,
               'kd_tp': '11', 'nm_wp_sppt': 'WP_3279035807770001',
               'jln_wp_sppt': 'LINGK.CISAUHEUN', 'blok_kav_no_wp_sppt': 'CISAUHEUN',
               'rw_wp_sppt': '07', 'rt_wp_sppt': '022',
               'kelurahan_wp_sppt': 'KELURAHAN SITUBATU',
               'kota_wp_sppt': 'KOTA BANJAR',
               'kd_pos_wp_sppt': None, 'npwp_sppt': '-',
               'tgl_jatuh_tempo_sppt': datetime.datetime(2020, 9, 30, 0, 0),
               'luas_bumi_sppt': 1350, 'luas_bng_sppt': 0, 'njop_bumi_sppt': 64800000,
               'njop_bng_sppt': 0, 'njop_sppt': 64800000,
               'pbb_yg_harus_dibayar_sppt': 81000, 'status_pembayaran_sppt': '0',
               'kelurahan': 'KELURAHAN SITUBATU', 'kecamatan': 'KECAMATAN BANJAR',
               'kota': 'KOTA BANJAR', 'nop': '32.79-010.001-001.0002-0',
               "faktor_pengurang_sppt": 0,
               "tagihan":81000
               }

    import importlib
    # settings = get_settings()
    module = settings.get('module', 'default')
    try:
        sismiop = importlib.import_module(f'sismiop.services.{module}')
    except ImportError as e:
        log.error("sismiop_models module not found: %s", e)
        return
    invoice["tgl_jatuh_tempo_sppt"] = invoice["tgl_jatuh_tempo_sppt"].date()
    inq = sismiop.Inquiry(invoice=SismiopInvoice(**invoice), hitung=False)
    inq.tagihan = invoice['pbb_yg_harus_dibayar_sppt']
    inq.hitung_denda()
    inq.hitung_discount()
    print(inq.discount_pokok)
    print(inq.discount_denda)


if __name__ == "__main__":
    main()