piutang.py 911 Bytes
from datetime import date
from . import (
    WebClient,
    to_date,
    clean_values,
    )


def cleaner(d: dict):
    clean_values(d, ['id', 'denda', 'pokok', 'total_tagihan'], int)
    clean_values(d, ['tanggal_jatuh_tempo'], to_date)


class Piutang(WebClient):
    def get_transaction_url(self, *args, **kwargs):  # Override
        return self.base_url + '/laporan/piutang'

    def get_cleaner_func(self, *args, **kwargs):  # Override
        return cleaner

    def send(
            self, pajak: str, tgl_awal=date.today(),
            tgl_akhir=date.today()) -> dict:  # Override
        t_awal = tgl_awal.strftime('%Y-%m-%d')
        t_akhir = tgl_akhir.strftime('%Y-%m-%d')
        tahun = tgl_awal.year
        p = dict(
                jatuh_tempo_dari=t_awal, jatuh_tempo_sampai=t_akhir,
                jenis_piutang=pajak, tahun_pajak=tahun, jenis_pajak=4)
        return self.loop(pajak, p)