default.py 2.97 KB
from sqlalchemy import (
    Column,
    Integer,
    String,
    Float,
    )
from sqlalchemy.ext.declarative import declarative_base
from .objek_pajak import ObjekPajakMixin
from .sppt import SpptMixin
from .pembayaran_sppt import PembayaranSpptMixin
from .kelurahan import KelurahanMixin
from .kecamatan import KecamatanMixin
from .propinsi import PropinsiMixin
from .tempat_pembayaran import TempatPembayaranMixin


Base = declarative_base()


class ObjekPajak(Base, ObjekPajakMixin):
    pass


class Sppt(Base, SpptMixin):
    pass


class PembayaranSppt(Base, PembayaranSpptMixin):
    pass


class Kelurahan(Base, KelurahanMixin):
    pass


class Kecamatan(Base, KecamatanMixin):
    pass


class Propinsi(Base, PropinsiMixin):
    pass


class TempatPembayaran(Base, TempatPembayaranMixin):
    pass


class PenguranganCovid(Base):
    __tablename__ = 'pengurangan_covid'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    kd_kecamatan = Column(String(3), primary_key=True)
    kd_kelurahan = Column(String(3), primary_key=True)
    kd_blok = Column(String(3), primary_key=True)
    no_urut = Column(String(4), primary_key=True)
    kd_jns_op = Column(String(1), primary_key=True)
    thn_pajak_sppt = Column(String(4), primary_key=True)
    pembayaran_sppt_ke = Column(Integer, primary_key=True)
    bayar = Column(Float, nullable=False)
    denda = Column(Float, nullable=False)
    # __table_args__ = (
    #     ForeignKeyConstraint(
    #         [kd_propinsi, kd_dati2, kd_kecamatan, kd_kelurahan, kd_blok,
    #             no_urut, kd_jns_op, thn_pajak_sppt, pembayaran_sppt_ke],
    #         [PembayaranSppt.kd_propinsi, PembayaranSppt.kd_dati2,
    #             PembayaranSppt.kd_kecamatan, PembayaranSppt.kd_kelurahan,
    #             PembayaranSppt.kd_blok, PembayaranSppt.no_urut,
    #             PembayaranSppt.kd_jns_op, PembayaranSppt.thn_pajak_sppt,
    #             PembayaranSppt.pembayaran_sppt_ke]),
    #     )


class PenguranganPst(Base):
    __tablename__ = 'pengurangan_pst'
    kd_kanwil = Column(String(2), primary_key=True)
    kd_kantor = Column(String(2), primary_key=True)
    thn_pelayanan = Column(String(4), primary_key=True)
    bundel_pelayanan = Column(String(4), primary_key=True)
    no_urut_pelayanan = Column(String(3), primary_key=True)
    kd_propinsi_pemohon = Column(String(2), primary_key=True)
    kd_dati2_pemohon = Column(String(2), primary_key=True)
    kd_kecamatan_pemohon = Column(String(3), primary_key=True)
    kd_kelurahan_pemohon = Column(String(3), primary_key=True)
    kd_blok_pemohon = Column(String(3), primary_key=True)
    no_urut_pemohon = Column(String(4), primary_key=True)
    kd_jns_op_pemohon = Column(String(1), primary_key=True)
    thn_peng_pst = Column(String(4), nullable=False)
    jns_sk = Column(String(1), nullable=False)
    no_sk = Column(String(30), nullable=False)
    status_sk_peng_pst = Column(Integer, nullable=False)
    pct_pengurangan_pst = Column(String(1), nullable=False)