Commit dad6b43b by Owo Sugiana

Subang menggunakan PAD versi 2

1 parent 63f08310
0.5.2 2024-01-28
----------------
- Subang menggunakan PAD versi 2 dengan Invoice ID berawalan 4 digit kode
kabupaten
0.5.1 2024-01-07
----------------
- Jatuh tempo 2024 ke atas dendanya 1%, tidak lagi berdasarkan field masadari
......
from sqlalchemy import (
Column,
String,
Integer,
DateTime,
Text,
UniqueConstraint,
)
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Kohir(Base):
__tablename__ = 'pad_kohir'
id = Column(Integer, primary_key=True)
tahun = Column(Integer, nullable=False)
usaha_id = Column(Integer)
kohirno = Column(Integer, nullable=False)
kohirtgl = Column(DateTime, nullable=False)
sptpd_id = Column(Integer, nullable=False)
enabled = Column(Integer)
create_date = Column(DateTime)
create_uid = Column(Integer)
write_date = Column(DateTime)
write_uid = Column(Integer)
is_cancel = Column(Integer)
bap_no = Column(Text)
bap_date = Column(DateTime)
cancel_no = Column(Integer)
cancel_date = Column(DateTime)
cancel_uid = Column(Integer)
__table_args__ = (
UniqueConstraint(tahun, kohirno, usaha_id),
dict(schema='pad'))
from datetime import date
from ..models.cirebon_kab import Kohir
from ..models.kuningan import Payment
from .default import (
from ..models.subang import Kohir
from .default import INVOICE_ID
from .banjar import (
Inquiry as BaseInquiry,
Reversal as BaseReversal,
AvailableInvoice as BaseAvailableInvoice,
)
def dmy(tgl):
return tgl.strftime('%d-%m-%Y')
AKHIR_MASA_PAJAK = date(2021, 7, 31)
AKHIR_TGL_BAYAR = date(2021, 12, 31)
PREFIX = '3215'
INVOICE_ID = [('Prefix', 4, 'N')] + INVOICE_ID
class Inquiry(BaseInquiry):
def get_discount_denda(self): # Override
tgl_bayar = self.tgl_bayar.date()
if self.invoice.tahun == 2020 and self.invoice.sptno == 6307:
return 0
if tgl_bayar > AKHIR_TGL_BAYAR:
return 0
if self.invoice.masadari.date() <= AKHIR_MASA_PAJAK:
return self.denda
return 0
invoice_id_structure = INVOICE_ID
def get_kohir_model(self):
return Kohir
def get_payment_model(self):
return Payment
class Reversal(BaseReversal):
invoice_id_structure = INVOICE_ID
def get_kohir_model(self):
return Kohir
def get_payment_model(self):
return Payment
class AvailableInvoice(BaseAvailableInvoice):
invoice_id_structure = INVOICE_ID
def get_inquiry_class(self): # Override
return Inquiry
def get_invoice_id(self, row): # Override
invoice_id = super().get_invoice_id(row)
invoice_id['Prefix'] = PREFIX
return invoice_id
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!