payment.py 2.76 KB
from tangsel.base import Base
from tangsel.base.models import DefaultModel
from tangsel.pbb.models import PbbBase, PbbModel
from sqlalchemy import (
    Column, Integer, DateTime, String, Float, Date,
    UniqueConstraint, ForeignKey)


# class Inquiry(PbbBase):
#     __tablename__ = 'inquiry'
#     id = Column(Integer, primary_key=True)
#     tgl = Column(DateTime, nullable=False)
#     nop = Column(String(32), nullable=False)
#     propinsi = Column(String(2), nullable=False)
#     kabupaten = Column(String(2), nullable=False)
#     kecamatan = Column(String(3), nullable=False)
#     kelurahan = Column(String(3), nullable=False)
#     blok = Column(String(3), nullable=False)
#     urut = Column(String(4), nullable=False)
#     jenis = Column(String(1), nullable=False)
#     tahun = Column(Integer, nullable=False)
#     tagihan = Column(Float, nullable=False)
#     jatuh_tempo = Column(Date, nullable=False)
#     bulan_tunggakan = Column(Integer, nullable=False)
#     persen_denda = Column(Float, nullable=False)
#     denda = Column(Float, nullable=False)
#     transmission = Column(DateTime)
#     stan = Column(Integer)
#     settlement = Column(DateTime)
#     pengirim = Column(String(16), nullable=False)
#     __table_args__ = (dict(schema='pbb'),)


class PbbPayment(Base, DefaultModel):
    __tablename__ = 'pbb_payment'
    id = Column(Integer, primary_key=True)
    # inquiry_id = Column(Integer, ForeignKey('pbb.inquiry.id'), nullable=False)
    propinsi = Column(String(2), nullable=False)
    kabupaten = Column(String(2), nullable=False)
    kecamatan = Column(String(3), nullable=False)
    kelurahan = Column(String(3), nullable=False)
    blok = Column(String(3), nullable=False)
    urut = Column(String(4), nullable=False)
    jenis = Column(String(1), nullable=False)
    tahun = Column(Integer, nullable=False)
    ke = Column(Integer, nullable=False)
    kd_kanwil_bank = Column(String(2), nullable=False)
    kd_kppbb_bank = Column(String(2), nullable=False)
    kd_bank_tunggal = Column(String(2), nullable=False)
    kd_bank_persepsi = Column(String(2), nullable=False)
    kd_tp = Column(String(2), nullable=False)
    channel = Column(String(4))
    ntb = Column(String(64))
    ntp = Column(String(64))
    bank = Column(Integer)
    iso_request = Column(String(2048), nullable=False)
    __table_args__ = (
        UniqueConstraint('propinsi', 'kabupaten', 'kecamatan', 'kelurahan',
                         'blok', 'urut', 'jenis', 'tahun', 'ke'),
        dict(schema='public'))


class PbbReversal(Base, DefaultModel):
    __tablename__ = 'pbb_reversal'
    id = Column(Integer, ForeignKey(PbbPayment.id), primary_key=True)
    tgl = Column(DateTime, nullable=False)
    iso_request = Column(String(2048), nullable=False)
    __table_args__ = (
        dict(schema='public'),)