data_warehouse.py 9.77 KB
from odoo import fields, models, api


class IdgrDwObjekPajak(models.Model):
    _name = 'idgr.dw.objek'
    _inherit = 'portal.mixin'

    jns_pemda = fields.Selection(
        selection=[("kota", "Kota"),
                   ("kotif", "Kota Administratif"),
                   ("kab", "Kabupaten"),
                   ("kabtif", "Kabupaten Administratif"),
                   ("prov", "Provinsi"),
                   ("provtif", "Provinsi Administratif"),
                   ],
        string="Jns. Pemda", size=16)
    kd_pemda = fields.Char(string="Kode Pemda", size=8)
    nm_pemda = fields.Char(string="Nama Pemda", size=128)
    kd_rek_rinci = fields.Char(string="Kode Rekening", size=16)
    nm_rek_rinci = fields.Char(string="Nama Rekening", size=128)
    nop = fields.Char(string="NOPD", size=32)
    nm_op = fields.Char(string="Nama OP", size=128)
    alamat_op = fields.Char(string="Alamat OP", size=128)
    alamat_op2 = fields.Char(string="Alamat OP", size=128)
    kelurahan_op = fields.Char(string="Kelurahan OP", size=64)
    kecamatan_op = fields.Char(string="Kecamatan OP", size=64)
    kota_op = fields.Char(string="Kota OP", size=64)
    propinsi_op = fields.Char(string="Provinsi OP", size=64)
    status = fields.Integer(string="Status OP", default=1)
    kd_wp = fields.Char(string="Identitas WP", size=32)
    nm_wp = fields.Char(string="Nama WP", size=128)
    npwpd = fields.Char(string="NPWPD WP", size=32)
    alamat_wp = fields.Char(string="Alamat WP", size=128)
    alamat_wp2 = fields.Char(string="Alamat WP", size=128)
    kelurahan_wp = fields.Char(string="Kelurahan WP", size=64)
    kecamatan_wp = fields.Char(string="Kecamatan WP", size=64)
    kota_wp = fields.Char(string="Kota WP", size=64)
    propinsi_wp = fields.Char(string="Provinsi WP", size=64)
    njop = fields.Integer(string="NJOP/Omset")
    tarif = fields.Integer(string="Tarif")
    tgl_kukuh = fields.Date(string="Tgl. Kukuh")


class IdgrDwInvoice(models.Model):
    _name = "idgr.dw.invoice"
    jns_pemda = fields.Selection(
        selection=[("kota", "Kota"),
                   ("kotif", "Kota Administratif"),
                   ("kab", "Kabupaten"),
                   ("kabtif", "Kabupaten Administratif"),
                   ("prov", "Provinsi"),
                   ("provtif", "Provinsi Administratif"),
                   ],
        string="Jns. Pemda", size=16)
    kd_pemda = fields.Char(string="Kode Pemda", size=8)
    nm_pemda = fields.Char(string="Nama Pemda", size=128)
    kd_rek_rinci = fields.Char(string="Kode Rek", size=16)
    nm_rek_rinci = fields.Char(string="Nama Rek", size=128)
    # kelompok = fields.Char(string="Name", size=32)
    nop = fields.Char(string="NOPD", size=32)
    # nm_op = fields.Char(string="Nama Objek")
    # alamat_op = fields.Char(string="Alamat Objek", size=128)
    # alamat_op2 = fields.Char(string="Alamat Objek2", size=128)
    # kelurahan_op = fields.Char(string="Kelurahan Objek", size=64)
    # kecamatan_op = fields.Char(string="Kecamatan Objek", size=64)
    # kota_op = fields.Char(string="Kota Objek", size=64)
    # propinsi_op = fields.Char(string="Provinsi Objek", size=64)
    # kd_wp = fields.Char(string="Identitas WP", size=32)
    # nm_wp = fields.Char(string="Nama WP", size=128)
    # npwpd = fields.Char(string="NPWPD", size=32)
    # alamat_wp = fields.Char(string="Alamat WP", size=128)
    # alamat_wp2 = fields.Char(string="Alamat WP", size=128)
    # kelurahan_wp = fields.Char(string="Kelurahan WP", size=64)
    # kecamatan_wp = fields.Char(string="Kecamatan WP", size=64)
    # kota_wp = fields.Char(string="Kota WP", size=64)
    # propinsi_wp = fields.Char(string="Provinsi WP", size=64)
    njop = fields.Integer(string="NJOP/Omset")
    tarif = fields.Float(string="Tarif")
    pokok = fields.Integer(string="Pokok")
    denda = fields.Integer(string="Denda")
    periode_awal = fields.Date(string="Periode Awal")
    periode_akhir = fields.Date(string="Periode Akhir")
    tahun_pajak = fields.Integer(string="Thn. Pajak")
    bulan_pajak = fields.Integer(string="Bln. Pajak")
    no_bayar = fields.Char(string="Nomor Bayar", size=128)
    no_tetap = fields.Char(string="Nomor", size=128)
    tgl_tetap = fields.Date(string="Tanggal Tetap")
    jth_tempo = fields.Date(string="Jth. Tempo")
    jns_tagihan = fields.Selection(
        selection=[
            ('sspd', "SSPD"),
            ('sptpd', "SPTPD"),
            ('skpd', 'SKPD'),
            ('kb', 'SKPD-KB'),
            ('kbt', 'SKPD-KBT'),
            ('stpd', 'STPD'),
            ('lb', 'SKPD-LB'),
        ])

    tahun_tetap = fields.Integer(compute="_compute_tgl_tetap", string="Thn. Tetap", store=True)
    bulan_tetap = fields.Integer(compute="_compute_tgl_tetap", string="Bln. Tetap", store=True)
    hari_tetap = fields.Integer(compute="_compute_tgl_tetap", string="Tgl. Tetap", store=True)

    nm_op = fields.Char(compute="_compute_objek", string="Nama OP", )
    alamat_op = fields.Char(compute="_compute_objek", string="Alamat OP", )
    alamat_op2 = fields.Char(compute="_compute_objek", string="Alamat OP", )
    kelurahan_op = fields.Char(compute="_compute_objek", string="Kelurahan OP", )
    kecamatan_op = fields.Char(compute="_compute_objek", string="Kecamatan OP", )
    kota_op = fields.Char(compute="_compute_objek", string="Kota OP", )
    propinsi_op = fields.Char(compute="_compute_objek", string="Provinsi OP", )
    kd_wp = fields.Char(compute="_compute_objek", string="Identitas WP", )
    nm_wp = fields.Char(compute="_compute_objek", string="Nama WP", )
    npwpd = fields.Char(compute="_compute_objek", string="NPWPD WP", )
    alamat_wp = fields.Char(compute="_compute_objek", string="Alamat WP", )
    alamat_wp2 = fields.Char(compute="_compute_objek", string="Alamat WP", )
    kelurahan_wp = fields.Char(compute="_compute_objek", string="Kelurahan WP", )
    kecamatan_wp = fields.Char(compute="_compute_objek", string="Kecamatan WP", )
    kota_wp = fields.Char(compute="_compute_objek", string="Kota WP", )
    propinsi_wp = fields.Char(compute="_compute_objek", string="Provinsi WP", )
    tgl_kukuh = fields.Date(compute="_compute_objek", string="Tgl. Pengukuhan", )

    def _compute_tgl_tetap(self):
        for row in self:
            row.tahun_tetap = row.tgl_tetap.year
            row.bulan_tetap = row.tgl_tetap.month
            row.hari_tetap = row.tgl_tetap.day

    def _calculte_op(self):
        for row in self:
            pass


class IdgrDwPayment(models.Model):
    _name = "idgr.dw.payment"
    jns_pemda = fields.Selection(
        selection=[("kota", "Kota"),
                   ("kotif", "Kota Administratif"),
                   ("kab", "Kabupaten"),
                   ("kabtif", "Kabupaten Administratif"),
                   ("prov", "Provinsi"),
                   ("provtif", "Provinsi Administratif"),
                   ],
        string="Jns. Pemda", size=16)
    kd_pemda = fields.Char(string="Kode Pemda", size=8)
    nm_pemda = fields.Char(string="Nama Pemda", size=128)
    kd_rek_rinci = fields.Char(string="Kode Rek", size=16)
    no_tagihan = fields.Char(string="No. Tagihan", size=128)
    tgl_bayar = fields.Date(string="Tgl. Bayar")
    denda = fields.Integer(string="Denda")
    jumlah = fields.Integer(string="Bayar")

    nop = fields.Char(compute="_compute_invoice", string="NOP", )
    nm_rek_rinci = fields.Char(compute="_compute_invoice", string="Nama Rekening", )
    njop = fields.Integer(compute="_compute_invoice", string="NJOP/Omset")
    tarif = fields.Float(compute="_compute_invoice", string="Tarif")
    pokok_inv = fields.Integer(compute="_compute_invoice", string="Pokok")
    denda_inv = fields.Integer(compute="_compute_invoice", string="Denda")
    periode_awal = fields.Date(compute="_compute_invoice", string="Periode Awal")
    periode_akhir = fields.Date(compute="_compute_invoice", string="Periode Akhir")
    tahun_pajak = fields.Integer(compute="_compute_invoice", string="Thn. Pajak")
    bulan_pajak = fields.Integer(compute="_compute_invoice", string="Bln. Pajak")
    no_bayar = fields.Char(compute="_compute_invoice", string="Nomor Bayar", size=128)
    no_tetap = fields.Char(compute="_compute_invoice", string="Nomor", size=128)
    tgl_tetap = fields.Date(compute="_compute_invoice", string="Tanggal Tetap")
    jth_tempo = fields.Date(compute="_compute_invoice", string="Jth. Tempo")
    jns_tagihan = fields.Char(compute="_compute_invoice", string="Jns. Tagihan")

    nm_op = fields.Char(compute="_compute_objek", string="Nama OP", )
    alamat_op = fields.Char(compute="_compute_objek", string="Alamat OP", )
    alamat_op2 = fields.Char(compute="_compute_objek", string="Alamat OP", )
    kelurahan_op = fields.Char(compute="_compute_objek", string="Kelurahan OP", )
    kecamatan_op = fields.Char(compute="_compute_objek", string="Kecamatan OP", )
    kota_op = fields.Char(compute="_compute_objek", string="Kota OP", )
    propinsi_op = fields.Char(compute="_compute_objek", string="Provinsi OP", )
    kd_wp = fields.Char(compute="_compute_objek", string="Identitas WP", )
    nm_wp = fields.Char(compute="_compute_objek", string="Nama WP", )
    npwpd = fields.Char(compute="_compute_objek", string="NPWPD WP", )
    alamat_wp = fields.Char(compute="_compute_objek", string="Alamat WP", )
    alamat_wp2 = fields.Char(compute="_compute_objek", string="Alamat WP", )
    kelurahan_wp = fields.Char(compute="_compute_objek", string="Kelurahan WP", )
    kecamatan_wp = fields.Char(compute="_compute_objek", string="Kecamatan WP", )
    kota_wp = fields.Char(compute="_compute_objek", string="Kota WP", )
    propinsi_wp = fields.Char(compute="_compute_objek", string="Provinsi WP", )

    def _compute_objek(self):
        for row in self:
            pass

    def _compute_invoice(self):
        for row in self:
            pass