pembayaran_sppt.py 1.95 KB
from sqlalchemy import (
    Column,
    String,
    Integer,
    DateTime,
    Float,
    BigInteger,
    )
from sqlalchemy.ext.declarative import declared_attr


class BasePembayaranSpptMixin:
    @declared_attr
    def __tablename__(self):
        return 'pembayaran_sppt'

    @declared_attr
    def kd_propinsi(self):
        return Column(String(2), primary_key=True)

    @declared_attr
    def kd_dati2(self):
        return Column(String(2), primary_key=True)

    @declared_attr
    def kd_kecamatan(self):
        return Column(String(3), primary_key=True)

    @declared_attr
    def kd_kelurahan(self):
        return Column(String(3), primary_key=True)

    @declared_attr
    def kd_blok(self):
        return Column(String(3), primary_key=True)

    @declared_attr
    def no_urut(self):
        return Column(String(4), primary_key=True)

    @declared_attr
    def kd_jns_op(self):
        return Column(String(1), primary_key=True)

    @declared_attr
    def thn_pajak_sppt(self):
        return Column(String(4), primary_key=True)

    @declared_attr
    def pembayaran_sppt_ke(self):
        return Column(Integer, primary_key=True)

    @declared_attr
    def kd_tp(self):
        return Column(String(2), primary_key=True)

    @declared_attr
    def tgl_pembayaran_sppt(self):
        return Column(DateTime)

    @declared_attr
    def tgl_rekam_byr_sppt(self):
        return Column(DateTime)


class PembayaranSpptMixin(BasePembayaranSpptMixin):
    @declared_attr
    def denda_sppt(self):
        return Column(BigInteger)

    @declared_attr
    def jml_sppt_yg_dibayar(self):
        return Column(BigInteger)

    @declared_attr
    def discount(self):
        return Column(BigInteger)

    @declared_attr
    def nip_rekam_byr_sppt(self):
        return Column(String(18))

    @declared_attr
    def kd_kanwil(self):
        return Column(String(2), primary_key=True)

    @declared_attr
    def kd_kantor(self):
        return Column(String(2), primary_key=True)