serang_kab.py 14.4 KB
from sqlalchemy import (
    Column,
    String,
    DateTime,
    Float,
    ForeignKey,
    ForeignKeyConstraint,
    UniqueConstraint,
    )
from sqlalchemy.ext.declarative import declarative_base


Base = declarative_base()


class Kecamatan(Base):
    __tablename__ = 'ref_kecamatan'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    kd_kecamatan = Column(String(3), primary_key=True)
    nm_kecamatan = Column(String(50), nullable=False)
    nm_adm_kecamatan = Column(String(20))
    __table_args__ = dict(schema='iprotaxref')


class Kelurahan(Base):
    __tablename__ = 'ref_kelurahan'
    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_sektor = Column(String(1),
    # ForeignKey('iprotaxref.ref_jns_sektor.kd_sektor'), nullable=False)
    nm_kelurahan = Column(String(50), nullable=False)
    no_kelurahan = Column(Float)
    kd_pos_kelurahan = Column(String(5))
    nm_adm_kelurahan = Column(String(20))
    __table_args__ = dict(schema='iprotaxref')


class Customer(Base):
    __tablename__ = 'ref_pejabat'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    kd_pejabat = Column(String(4), primary_key=True)
    # kd_jns_pejabat = Column(String(1),
    # ForeignKey('iprotaxbphtb.ref_jns_pejabat.kd_jns_pejabat'),
    # nullable=False)
    nm_pejabat = Column(String(50))
    alm_pejabat = Column(String(100))
    kota_pejabat = Column(String(50))
    faksimili_pejabat = Column(String(30))
    telp_pejabat = Column(String(30))
    email_pejabat = Column(String(50))
    npwp = Column(String(20))
    __table_args__ = dict(schema='iprotaxbphtb')


class Subjek(Base):
    __tablename__ = 'dat_wp_bphtb'
    id_wp_bphtb = Column(String(30), primary_key=True)
    nm_wp = Column(String(100), nullable=False)
    jalan_wp = Column(String(100), nullable=False)
    blok_kav_no_wp = Column(String(15))
    rw_wp = Column(String(50))
    rt_wp = Column(String(3))
    kelurahan_wp = Column(String(50))
    kecamatan_wp = Column(String(50))
    kota_wp = Column(String(50))
    kd_pos_wp = Column(String(5))
    telp_wp = Column(String(30))
    email_wp = Column(String(50))
    npwp = Column(String(20))
    no_domisili = Column(String(30))
    jenis_wp = Column(Float)
    __table_args__ = dict(schema='iprotaxbphtb')


class Invoice(Base):
    __tablename__ = 'dat_ssb_ppat'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    thn_bphtb = Column(String(4), primary_key=True)
    bln_bphtb = Column(String(2), primary_key=True)
    tgl_bphtb = Column(String(2), primary_key=True)
    no_urut_bphtb = Column(String(4), primary_key=True)
    indeks_bphtb = Column(String(3), primary_key=True)
    id_penjual_bphtb = Column(String(30), ForeignKey(Subjek.id_wp_bphtb))
    id_pembeli_bphtb = Column(
            String(30), ForeignKey(Subjek.id_wp_bphtb), nullable=False)
    # kd_perolehan = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_jns_perolehan.kd_perolehan'),
    # nullable=False)
    hrg_transaksi = Column(Float, nullable=False)
    akumulasi_npop_sblm = Column(Float)
    npop = Column(Float, nullable=False)
    npoptkp = Column(Float, nullable=False)
    npopkp = Column(Float, nullable=False)
    bphtb_terutang = Column(Float, nullable=False)
    dsr_pengenaan = Column(String(2))
    pengenaan = Column(Float)
    bphtb_hrs_dibayar = Column(Float, nullable=False)
    # kd_dsr_setoran = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_dasar_setoran.kd_dsr_setoran'),
    # nullable=False)
    kd_jns_ketetapan = Column(String(2))
    no_srt_ketetapan = Column(String(30))
    tgl_srt_ketetapan = Column(DateTime)
    # kd_als_pengurangan = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_als_pengurangan.kd_als_pengurangan'))
    pengurangan_sendiri = Column(Float)
    bphtb_disetor = Column(Float, nullable=False)
    kd_pejabat = Column(String(4), nullable=False)
    kd_bank_tunggal = Column(String(2))
    kd_bank_persepsi = Column(String(2))
    no_trans_bayar = Column(String(20))
    tgl_bayar_ssb_wp = Column(DateTime)
    tgl_terbit_ssb_wp = Column(DateTime, nullable=False)
    tgl_rekam = Column(DateTime, nullable=False)
    # nip_perekam = Column(String(9), ForeignKey(Customer.nip))
    no_bphtb_offline = Column(String(19))
    no_akta = Column(String(20))
    tgl_akta = Column(DateTime)
    thn_bphtb_induk = Column(String(4))
    bln_bphtb_induk = Column(String(2))
    tgl_bphtb_induk = Column(String(2))
    no_urut_bphtb_induk = Column(String(4))
    indeks_bphtb_induk = Column(String(3))
    tarif_bphtb = Column(Float)
    __table_args__ = (
        ForeignKeyConstraint([
            kd_propinsi, kd_dati2, kd_pejabat],
            [Customer.kd_propinsi, Customer.kd_dati2, Customer.kd_pejabat]),
        dict(schema='iprotaxbphtb'))


class Objek(Base):
    __tablename__ = 'dat_op_ssb_ppat'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    thn_bphtb = Column(String(4), primary_key=True)
    bln_bphtb = Column(String(2), primary_key=True)
    tgl_bphtb = Column(String(2), primary_key=True)
    no_urut_bphtb = Column(String(4), primary_key=True)
    indeks_bphtb = Column(String(3), primary_key=True)
    kd_kecamatan_op = Column(String(3), primary_key=True)
    kd_kelurahan_op = Column(String(3), primary_key=True)
    kd_blok_op = Column(String(3), primary_key=True)
    no_urut_op = Column(String(4), primary_key=True)
    kd_jns_op = Column(String(1), primary_key=True)
    kd_blok_baru = Column(String(3))
    no_urut_baru = Column(String(4))
    kd_jns_op_baru = Column(String(1))
    jalan_op = Column(String(50))
    blok_kav_no_op = Column(String(15))
    rt_op = Column(String(3))
    rw_op = Column(String(50))
    kd_pos_op = Column(String(5))
    luas_tanah = Column(Float, nullable=False)
    luas_bangunan = Column(Float, nullable=False)
    njop_tanah_m2 = Column(Float, nullable=False)
    njop_bng_m2 = Column(Float, nullable=False)
    njop_tanah = Column(Float, nullable=False)
    njop_bangunan = Column(Float, nullable=False)
    njop_total = Column(Float, nullable=False)
    # kd_jns_hak = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_jns_hak.kd_jns_hak'))
    kd_jns_hak = Column(String(2))
    kd_kecamatan = Column(String(3))
    kd_kelurahan = Column(String(3))
    no_sertifikat = Column(String(30))
    persen_pengurang_njop = Column(Float)
    faktor_pengurang_njop = Column(Float)
    __table_args__ = (
        ForeignKeyConstraint([
            kd_propinsi, kd_dati2, kd_kecamatan, kd_kelurahan],
            [Kelurahan.kd_propinsi, Kelurahan.kd_dati2, Kelurahan.kd_kecamatan,
                Kelurahan.kd_kelurahan]),
        ForeignKeyConstraint([
            kd_propinsi, kd_dati2, thn_bphtb, bln_bphtb, tgl_bphtb,
            no_urut_bphtb, indeks_bphtb],
            [Invoice.kd_propinsi, Invoice.kd_dati2, Invoice.thn_bphtb,
                Invoice.bln_bphtb, Invoice.tgl_bphtb, Invoice.no_urut_bphtb,
                Invoice.indeks_bphtb]),
        dict(schema='iprotaxbphtb'))


class Payment(Base):
    __tablename__ = 'pembayaran_bphtb'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    thn_bphtb = Column(String(4), primary_key=True)
    bln_bphtb = Column(String(2), primary_key=True)
    tgl_bphtb = Column(String(2), primary_key=True)
    no_urut_bphtb = Column(String(4), primary_key=True)
    indeks_bphtb = Column(String(3), primary_key=True)
    kd_pejabat = Column(String(4))
    kd_bank_tunggal = Column(String(2), nullable=False)
    kd_bank_persepsi = Column(String(2), nullable=False)
    tgl_pembayaran = Column(DateTime, nullable=False)
    no_trans_bayar = Column(String(20), nullable=False, unique=True)
    nama_wp = Column(String(100), nullable=False)
    bphtb_kurang_bayar = Column(Float, nullable=False)
    bphtb_sdh_dibayar = Column(Float, nullable=False)
    kd_kecamatan_op = Column(String(3))
    kd_kelurahan_op = Column(String(3))
    kd_blok_op = Column(String(3))
    no_urut_op = Column(String(4))
    kd_jns_op = Column(String(1))
    kd_tp = Column(String(2))
    user_bank_rekam = Column(String(50), nullable=False)
    nm_penyetor = Column(String(50), nullable=False)
    kd_sumber_data = Column(String(1), nullable=False)
    no_transaksi_byr_bank = Column(String(30))
    # iso_message_id = Column(Float,
    # ForeignKey('iprotaxiso.iprotax_iso_msg_log.id_message_log'))
    tgl_rekon_bayar = Column(DateTime)
    no_transaksi_byr = Column(String(20))
    tgl_rekam_byr = Column(DateTime)
    __table_args__ = (
        dict(schema='iprotaxbphtb'))


class LapPpat(Base):
    __tablename__ = 'dat_lap_ppat'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    thn_bphtb = Column(String(4), primary_key=True)
    bln_bphtb = Column(String(2), primary_key=True)
    tgl_bphtb = Column(String(2), primary_key=True)
    no_urut_bphtb = Column(String(4), primary_key=True)
    indeks_bphtb = Column(String(3), primary_key=True)
    kd_pejabat = Column(String(4), nullable=False)
    # id_wp_bphtb = Column(String(30),
    # ForeignKey('iprotaxbphtb.dat_wp_bphtb.id_wp_bphtb'), nullable=False)
    # id_penjual_bphtb = Column(String(30),
    # ForeignKey('iprotaxbphtb.dat_wp_bphtb.id_wp_bphtb'))
    kd_kecamatan_op = Column(String(3))
    kd_kelurahan_op = Column(String(3))
    kd_blok_op = Column(String(3))
    no_urut_op = Column(String(4))
    kd_jns_op = Column(String(1))
    jalan_op = Column(String(50))
    blok_kav_no_op = Column(String(15))
    rw_op = Column(String(50))
    rt_op = Column(String(3))
    tgl_setor_ssp = Column(DateTime)
    ssp_disetor = Column(Float)
    luas_bumi = Column(Float, nullable=False)
    luas_bng = Column(Float, nullable=False)
    njop_bumi_m2 = Column(Float, nullable=False)
    njop_bng_m2 = Column(Float, nullable=False)
    # kd_perolehan = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_jns_perolehan.kd_perolehan'),
    # nullable=False)
    # kd_jns_hak = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_jns_hak.kd_jns_hak'))
    no_sertifikat = Column(String(30))
    hrg_transaksi = Column(Float, nullable=False)
    tgl_ssb_ppat = Column(DateTime, nullable=False)
    bphtb_disetor = Column(Float, nullable=False)
    no_akta = Column(String(20))
    tgl_akta = Column(DateTime)
    tgl_rekam = Column(DateTime, nullable=False)
    keterangan_ppat = Column(String(255))
    user_rekam = Column(String(50))
    __table_args__ = (
        ForeignKeyConstraint([
            kd_propinsi, kd_dati2, kd_pejabat],
            [Customer.kd_propinsi, Customer.kd_dati2, Customer.kd_pejabat]),
        dict(schema='iprotaxbphtb'))


class Skbkb(Base):
    __tablename__ = 'dat_skbkb'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    thn_bphtb = Column(String(4), primary_key=True)
    bln_bphtb = Column(String(2), primary_key=True)
    tgl_bphtb = Column(String(2), primary_key=True)
    no_urut_bphtb = Column(String(4), primary_key=True)
    indeks_bphtb = Column(String(3), primary_key=True)
    no_skbkb = Column(String(30), nullable=False)
    tgl_skbkb = Column(DateTime, nullable=False)
    tgl_jth_tempo = Column(DateTime)
    pokok_stb = Column(Float)
    pengurangan = Column(Float)
    pokok_skblb_skpkb = Column(Float)
    bphtb_total = Column(Float)
    bphtb_krg_bayar = Column(Float)
    jml_bln_bunga = Column(Float)
    jml_bunga = Column(Float)
    jml_bphtb_krg_bayar = Column(Float)
    tgl_rekam = Column(DateTime, nullable=False)
    # nip_perekam = Column(String(9), ForeignKey('iprotaxref.pegawai.nip'),
    # nullable=False)
    thn_bphtb_terbit = Column(String(4))
    bln_bphtb_terbit = Column(String(2))
    tgl_bphtb_terbit = Column(String(2))
    no_urut_bphtb_terbit = Column(String(4))
    indeks_bphtb_terbit = Column(String(3))
    status_pembayaran = Column(String(1))
    status_pembatalan = Column(Float)
    no_pelayanan_pembatalan = Column(String(11))
    __table_args__ = (
        dict(schema='iprotaxbphtb'))


class SsbWp(Base):
    __tablename__ = 'dat_ssb_wp'
    kd_propinsi = Column(String(2), primary_key=True)
    kd_dati2 = Column(String(2), primary_key=True)
    thn_bphtb = Column(String(4), primary_key=True)
    bln_bphtb = Column(String(2), primary_key=True)
    tgl_bphtb = Column(String(2), primary_key=True)
    no_urut_bphtb = Column(String(4), primary_key=True)
    indeks_bphtb = Column(String(3), primary_key=True)
    # id_penjual_bphtb = Column(String(30),
    # ForeignKey('iprotaxbphtb.dat_wp_bphtb.id_wp_bphtb'))
    # id_pembeli_bphtb = Column(String(30),
    # ForeignKey('iprotaxbphtb.dat_wp_bphtb.id_wp_bphtb'), nullable=False)
    # kd_perolehan = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_jns_perolehan.kd_perolehan'),
    # nullable=False)
    hrg_transaksi = Column(Float, nullable=False)
    akumulasi_npop_sblm = Column(Float)
    npop = Column(Float, nullable=False)
    npoptkp = Column(Float, nullable=False)
    npopkp = Column(Float, nullable=False)
    bphtb_terutang = Column(Float, nullable=False)
    dsr_pengenaan = Column(String(2))
    pengenaan = Column(Float)
    bphtb_hrs_dibayar = Column(Float, nullable=False)
    # kd_dsr_setoran = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_dasar_setoran.kd_dsr_setoran'),
    # nullable=False)
    kd_jns_ketetapan = Column(String(2))
    no_srt_ketetapan = Column(String(30))
    tgl_srt_ketetapan = Column(DateTime)
    # kd_als_pengurangan = Column(String(2),
    # ForeignKey('iprotaxbphtb.ref_als_pengurangan.kd_als_pengurangan'))
    pengurangan_sendiri = Column(Float)
    bphtb_disetor = Column(Float, nullable=False)
    kd_pejabat = Column(String(4))
    kd_bank_tunggal = Column(String(2))
    kd_bank_persepsi = Column(String(2))
    no_trans_bayar = Column(String(20))
    tgl_bayar_ssb_wp = Column(DateTime)
    tgl_terbit_ssb_wp = Column(DateTime, nullable=False)
    tgl_rekam = Column(DateTime, nullable=False)
    # nip_perekam = Column(String(9),
    # ForeignKey('iprotaxref.pegawai.nip'), nullable=False)
    no_akta = Column(String(20))
    tgl_akta = Column(DateTime)
    thn_bphtb_induk = Column(String(4))
    bln_bphtb_induk = Column(String(2))
    tgl_bphtb_induk = Column(String(2))
    no_urut_bphtb_induk = Column(String(4))
    indeks_bphtb_induk = Column(String(3))
    tarif_bphtb = Column(Float)
    __table_args__ = (
        dict(schema='iprotaxbphtb'))