reklame_lama.py 2.44 KB
from sqlalchemy import Column, DateTime, Float, ForeignKey, Integer, String
from . import Base, DefaultModel
from . import PAD_TABLE_ARGS


class PadRekNsr(Base, DefaultModel):
    __tablename__ = 'pad_rek_nsr'
    id = Column(Integer, primary_key=True)
    nsrnm = Column(String(150))
    nilai = Column(Float)
    __table_args__ = PAD_TABLE_ARGS

    @classmethod
    def query_nama(cls, nama):
        return cls.query().filter(cls.nsrnm.ilike(f'{nama}%'))


class PadRekJalanKlas(Base, DefaultModel):
    __tablename__ = 'pad_rek_jalan_klas'
    id = Column(Integer, primary_key=True)
    kelasnm = Column(String(254))
    nilai = Column(Float)
    __table_args__ = PAD_TABLE_ARGS

    @classmethod
    def query_nama(cls, nama):
        return cls.query().filter(cls.kelasnm.ilike(f'{nama}%'))


class PadRekJalan(Base, DefaultModel):
    __tablename__ = 'pad_rek_jalan'
    id = Column(Integer, primary_key=True)
    jalan_klas_id = Column(Integer, ForeignKey('pad.pad_rek_jalan_klas.id'))
    jalankd = Column(String(3), nullable=False)
    jalannm = Column(String(108))
    tmt = Column(DateTime)
    enabled = Column(Integer)
    create_date = Column(DateTime)
    create_uid = Column(Integer)
    write_date = Column(DateTime)
    write_uid = Column(Integer)
    __table_args__ = PAD_TABLE_ARGS

    @classmethod
    def query_nama(cls, nama):
        return cls.query().filter(cls.jalannm.ilike(f'{nama}%'))

    @classmethod
    def query_kode(cls, kode):
        return cls.query().filter(cls.jalankd.ilike(f'{kode}%'))


class PadRekLokasiPasang(Base, DefaultModel):
    """Tabel Ini berlaku di versi 1 untuk kompatibilatas harus tersedia juga 
       di versi 2

    Args:
        Base (_type_): _description_
        DefaultModel (_type_): _description_

    Returns:
        _type_: _description_
    """
    __tablename__ = 'pad_rek_lokasi_pasang'
    id = Column(Integer, primary_key=True)
    lokasinm = Column(String(50))
    nilai = Column(Float)
    lahan = Column(String(10))
    __table_args__ = PAD_TABLE_ARGS

    @classmethod
    def query_nama(cls, nama):
        return cls.query().filter(cls.lokasinm.ilike(f'{nama}%'))


class PadRekSudutPandang(Base, DefaultModel):
    __tablename__ = 'pad_rek_sudut_pandang'
    id = Column(Integer, primary_key=True)
    sudutnm = Column(String(50))
    nilai = Column(Float)
    __table_args__ = PAD_TABLE_ARGS

    @classmethod
    def query_nama(cls, nama):
        return cls.query().filter(cls.sudutnm.ilike(f'{nama}%'))