saldo
This commit is contained in:
@ -1,4 +1,6 @@
|
||||
from dbpool import getConnection, getOne, getMany
|
||||
import datetime
|
||||
import decimal
|
||||
|
||||
def get_zahlungen_by_mieter(mieter_id):
|
||||
return getMany("""
|
||||
@ -15,7 +17,7 @@ SELECT id,
|
||||
def get_zahlung(id):
|
||||
return getOne("""
|
||||
SELECT id,
|
||||
mieter
|
||||
mieter,
|
||||
datum_ist,
|
||||
datum_soll
|
||||
betrag,
|
||||
@ -28,7 +30,7 @@ SELECT id,
|
||||
def get_forderungen_by_mieter(mieter_id):
|
||||
return getMany("""
|
||||
SELECT id,
|
||||
mieter
|
||||
mieter,
|
||||
datum,
|
||||
betrag,
|
||||
kommentar,
|
||||
@ -40,7 +42,7 @@ SELECT id,
|
||||
def get_forderung(id):
|
||||
return getOne("""
|
||||
SELECT id,
|
||||
mieter
|
||||
mieter,
|
||||
datum,
|
||||
betrag,
|
||||
kommentar,
|
||||
@ -50,6 +52,8 @@ SELECT id,
|
||||
""", [ id ], "Forderung")
|
||||
|
||||
def get_zahlungforderung_by_mieter_and_year(mieter_id, year):
|
||||
if year == 0:
|
||||
year = datetime.datetime.now().year
|
||||
start_date = "{}-01-01".format(year)
|
||||
end_date = "{}-12-31".format(year)
|
||||
return getMany("""
|
||||
@ -65,4 +69,38 @@ SELECT
|
||||
FROM zahlung_forderung
|
||||
WHERE mieter = ? AND
|
||||
datum_soll BETWEEN ? AND ?
|
||||
""", [mieter_id, start_date, end_date], "ZahlungForderung")
|
||||
""", [mieter_id, start_date, end_date], "ZahlungForderung")
|
||||
|
||||
def get_saldo_by_mieter_and_year(mieter_id, year):
|
||||
if year == 0:
|
||||
year = datetime.datetime.now().year
|
||||
start_date = "{}-01-01".format(year)
|
||||
end_date = "{}-12-31".format(year)
|
||||
sumZahlungen = getOne("""
|
||||
SELECT
|
||||
ROUND(sum(betrag), 2) as sum
|
||||
FROM zahlung
|
||||
WHERE mieter = ? AND
|
||||
datum_soll BETWEEN ? AND ?
|
||||
""", [mieter_id, start_date, end_date], "SumZahlung")
|
||||
sumForderungen = getOne("""
|
||||
SELECT
|
||||
ROUND(sum(betrag), 2) as sum
|
||||
FROM forderung
|
||||
WHERE mieter = ? AND
|
||||
datum BETWEEN ? AND ?
|
||||
""", [mieter_id, start_date, end_date], "SumZahlung")
|
||||
print("Zahlung: {}, Forderung: {}".format(sumZahlungen, sumForderungen))
|
||||
decimal.getcontext().prec = 2
|
||||
sumZ = sumZahlungen["sum"]
|
||||
if not sumZ:
|
||||
sumZ = 0
|
||||
sumF = sumForderungen["sum"]
|
||||
if not sumF:
|
||||
sumF = 0
|
||||
saldo = sumZ - sumF
|
||||
return {
|
||||
"forderungen": float(sumF),
|
||||
"saldo": float(saldo),
|
||||
"zahlungen": float(sumZ)
|
||||
}
|
Reference in New Issue
Block a user