Refactor qry_sum methods to extend columns before querying and improve readability

1 parent 094125ab
...@@ -82,10 +82,12 @@ class PaymentPBB(PCBase, DefaultModel): ...@@ -82,10 +82,12 @@ class PaymentPBB(PCBase, DefaultModel):
@classmethod @classmethod
def qry_sum(cls, columns=[]): def qry_sum(cls, columns=[]):
qry = PCDBSession.query( columns.extend(
func.sum(cls.jml_sppt_yg_dibayar).label('bayar'), func.sum(cls.jml_sppt_yg_dibayar).label('bayar'),
func.sum(cls.denda_sppt).label('denda'), func.sum(cls.denda_sppt).label('denda'),
func.count(cls.id).label('trx')).select_from(cls) func.count(cls.id).label('trx')
)
qry = PCDBSession.query().select_from(cls)
for col in columns: for col in columns:
qry=qry.add_columns(col) qry=qry.add_columns(col)
return qry return qry
...@@ -123,10 +125,13 @@ class PaymentBPHTB(PCBase, models.CommonModel): ...@@ -123,10 +125,13 @@ class PaymentBPHTB(PCBase, models.CommonModel):
@classmethod @classmethod
def qry_sum(cls, columns=[]): def qry_sum(cls, columns=[]):
qry = PCDBSession.query( columns.extend([
func.sum(cls.nilai_bphtb).label('bayar'), func.sum(cls.nilai_bphtb).label('bayar'),
literal_column("0").label('denda'), literal_column("0").label('denda'),
func.count(cls.id).label('trx')).select_from(cls) func.count(cls.id).label('trx')]
)
qry = PCDBSession.query().select_from(cls)
for col in columns: for col in columns:
qry = qry.add_columns(col) qry = qry.add_columns(col)
return qry return qry
...@@ -178,10 +183,10 @@ class PaymentPAD(PCBase, models.CommonModel): ...@@ -178,10 +183,10 @@ class PaymentPAD(PCBase, models.CommonModel):
@classmethod @classmethod
def qry_sum(cls, columns=[]): def qry_sum(cls, columns=[]):
qry = PCDBSession.query( columns.extend([func.sum(cls.jml_bayar).label('bayar'),
func.sum(cls.jml_bayar).label('bayar'), func.sum(cls.denda+cls.bunga).label('denda'),
func.sum(cls.denda+cls.bunga).label('denda'), func.count(cls.id).label('trx')])
func.count(cls.id).label('trx')).select_from(cls) qry = PCDBSession.query().select_from(cls)
for col in columns: for col in columns:
qry = qry.add_columns(col) qry = qry.add_columns(col)
return qry return qry
...@@ -219,10 +224,12 @@ class PaymentWEBR(PCBase, models.CommonModel): ...@@ -219,10 +224,12 @@ class PaymentWEBR(PCBase, models.CommonModel):
@classmethod @classmethod
def qry_sum(cls, columns=[]): def qry_sum(cls, columns=[]):
qry = PCDBSession.query( columns.extend([
func.sum(cls.jml_bayar).label('bayar'), func.sum(cls.jml_bayar).label('bayar'),
func.sum(cls.denda).label('denda'), func.sum(cls.denda).label('denda'),
func.count(cls.id).label('trx')).select_from(cls) func.count(cls.id).label('trx')
])
qry = PCDBSession.query().select_from(cls)
for col in columns: for col in columns:
qry = qry.add_columns(col) qry = qry.add_columns(col)
return qry return qry
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!