binjai.py 5.04 KB
from sqlalchemy import (
    Column,
    Integer,
    String,
    DateTime,
    Float,
    Date,
    ForeignKey,
    )
from sqlalchemy.ext.declarative import declarative_base


Base = declarative_base()


class Notaris(Base):
    __tablename__ = 'notaris'
    kode = Column(String(4), primary_key=True)
    alamat = Column(String(200), nullable=False)
    kontak_person = Column(String(100), nullable=False)
    kota = Column(String(100), nullable=False)
    nama = Column(String(100), nullable=False)
    password = Column(String(100), nullable=False)
    telepon = Column(String(25), nullable=False)


class Perolehan(Base):
    __tablename__ = 'perolehan'
    kode = Column(String(4), primary_key=True)
    keterangan = Column(String(100), nullable=False)
    nilai_pajak = Column(Float)
    ntkp = Column(Float)


# Surat Setoran Pajak Daerah

class Sspd(Base):
    __tablename__ = 'sspd'
    id = Column(Integer, primary_key=True)
    alamat_op = Column(String(200), nullable=False)
    alamat_pemberi = Column(String(200), nullable=False)
    alamat_penerima = Column(String(200), nullable=False)
    catatan = Column(String(300))
    date_update = Column(DateTime, nullable=False)
    kecamatan_op = Column(String(100), nullable=False)
    kecamatan_pemberi = Column(String(100), nullable=False)
    kecamatan_penerima = Column(String(100), nullable=False)
    kelurahan_op = Column(String(100), nullable=False)
    kelurahan_pemberi = Column(String(100), nullable=False)
    kelurahan_penerima = Column(String(100), nullable=False)
    kode_bayar = Column(Integer)
    kota_pemberi = Column(String(100), nullable=False)
    kota_penerima = Column(String(100), nullable=False)
    ktp_pemberi = Column(String(30), nullable=False)
    ktp_penerima = Column(String(30), nullable=False)
    luas_bangunan = Column(Float)
    luas_bumi = Column(Float)
    nama_pemberi = Column(String(100), nullable=False)
    nama_penerima = Column(String(100), nullable=False)
    nilai_pajak = Column(Float)
    njop_bangunan_m2 = Column(Float)
    njop_bumi_m2 = Column(Float)
    no_sspd = Column(String(15), nullable=False)
    nop = Column(String(20), nullable=False)
    npop = Column(Float)
    npopkp = Column(Float)
    npoptkp = Column(Float)
    npwp_pemberi = Column(String(30), nullable=False)
    npwp_penerima = Column(String(30), nullable=False)
    shm = Column(String(15), nullable=False)
    status_bayar = Column(Integer)
    tanggal_sspd = Column(Date)
    telepon_pemberi = Column(String(30), nullable=False)
    telepon_penerima = Column(String(30), nullable=False)
    total_bphtb = Column(Float)
    user_update = Column(String(15), nullable=False)
    notaris = Column(String(4), ForeignKey(Notaris.kode), nullable=False)
    perolehan = Column(String(4), ForeignKey(Perolehan.kode), nullable=False)
    pengurangan = Column(Float)
    peraturan = Column(String(300))


class KodeBayarSspd(Base):
    __tablename__ = 'kode_bayar_sspd'
    id = Column(Integer, primary_key=True)
    date_update = Column(DateTime, nullable=False)
    kode = Column(String(21), nullable=False)
    tempat_bayar = Column(String(50), nullable=False)
    user_update = Column(String(15), nullable=False)
    sspd = Column(Integer, ForeignKey(Sspd.id), nullable=False)


class PembayaranSspd(Base):
    __tablename__ = 'pembayaran_sspd'
    id = Column(Integer, primary_key=True)
    jumlah_bayar = Column(Float)
    tanggal_bayar = Column(Date, nullable=False)
    user_bayar = Column(String(15), nullable=False)
    sspd = Column(Integer, ForeignKey(Sspd.id), nullable=False)
    kirim_bpn = Column(Integer)
    kode_bayar = Column(String(21), nullable=False)


# Surat Ketetapan Pajak Daerah Kurang Bayar

class Skpdkb(Base):
    __tablename__ = 'skpdkb'
    id = Column(Integer, primary_key=True)
    date_update = Column(DateTime, nullable=False)
    kode_bayar = Column(Integer)
    nilai_pajak = Column(Float)
    no_skpdkb = Column(String(15), nullable=False)
    npop = Column(Float)
    npop_verifikasi = Column(Float)
    npopkp = Column(Float)
    npopkp_verifikasi = Column(Float)
    npoptkp = Column(Float)
    status_bayar = Column(Integer)
    tanggal_skpdkb = Column(Date)
    total_bphtb = Column(Float)
    total_bphtb_verifikasi = Column(Float)
    total_skpdkb = Column(Float)
    user_update = Column(String(15), nullable=False)
    sspd = Column(Integer, ForeignKey(Sspd.id), nullable=False)


class KodeBayarSkpdkb(Base):
    __tablename__ = 'kode_bayar_skpdkb'
    id = Column(Integer, primary_key=True)
    date_update = Column(DateTime, nullable=False)
    kode = Column(String(21), nullable=False)
    tempat_bayar = Column(String(50), nullable=False)
    user_update = Column(String(15), nullable=False)
    skpdkb = Column(Integer, ForeignKey(Skpdkb.id), nullable=False)


class PembayaranSkpdkb(Base):
    __tablename__ = 'pembayaran_skpdkb'
    id = Column(Integer, primary_key=True)
    jumlah_bayar = Column(Float)
    tanggal_bayar = Column(Date, nullable=False)
    user_bayar = Column(String(15), nullable=False)
    skpdkb = Column(Integer, ForeignKey(Skpdkb.id), nullable=False)
    kode_bayar = Column(String(21), nullable=False)