Ongoing enhancements
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
# 3. assign manually
|
||||
|
||||
from database import Base, engine, SessionLocal
|
||||
from models import models
|
||||
from models.database import Base, engine, SessionLocal
|
||||
from models.models import Payments_CSV, Payments, Members
|
||||
from time import time
|
||||
from models import Payments_CSV, Payments, Members
|
||||
import logging, sys
|
||||
import datetime
|
||||
|
||||
@@ -41,7 +42,7 @@ def assign_by_name(payments: Payments_CSV):
|
||||
while removeable in name: name.remove(removeable)
|
||||
|
||||
# last part is usually surname
|
||||
member = db.query(Members).filter(Members.member_surname.like(name[len(name)-1]), Members.member_firstname.like(name[0])).all()
|
||||
member = db.query(Members).filter(Members.member_surname.like(name[len(name)-1]), Members.member_firstname.like(name[0]), Members.member_active.is_(True)).all()
|
||||
if len(member) > 1:
|
||||
logging.debug(f'More than one member with same name {payment.pc_client}')
|
||||
elif len(member) == 0:
|
||||
@@ -60,10 +61,22 @@ def assign_by_name(payments: Payments_CSV):
|
||||
|
||||
|
||||
def addPayment(payment, member_id, year, amount):
|
||||
# Check if payment already exists
|
||||
exists = db.query(Payments).filter(
|
||||
Payments.payment_date == payment.pc_valuta_date,
|
||||
Payments.member_id == member_id,
|
||||
Payments.payment_year == datetime.date(int(year), 1, 1)
|
||||
).first()
|
||||
if exists:
|
||||
logging.debug(f"Payment already exists for member_id {member_id}, year {year}, amount {amount}, date {payment.pc_valuta_date}")
|
||||
payment.pc_processed = True
|
||||
return
|
||||
|
||||
logging.debug(f'Adding payment for member_id {member_id}, year {year}, amount {amount}')
|
||||
newPayment = Payments(payment_date = payment.pc_valuta_date,
|
||||
member_id = member_id,
|
||||
payment_year = datetime.date(int(year),1,1),
|
||||
payment_amount = amount)
|
||||
member_id = member_id,
|
||||
payment_year = datetime.date(int(year),1,1),
|
||||
payment_amount = amount)
|
||||
|
||||
db.add(newPayment)
|
||||
payment.pc_processed = True
|
||||
@@ -96,7 +109,9 @@ if __name__ == "__main__":
|
||||
Base.metadata.create_all(bind=engine)
|
||||
|
||||
# 1. create missing reference by name
|
||||
payments = db.query(Payments_CSV).filter(Payments_CSV.pc_intended!='', Payments_CSV.pc_reference=='', Payments_CSV.pc_processed!=True).all()
|
||||
#TODO: "None" shouldn't be a string
|
||||
#payments = db.query(Payments_CSV).filter(Payments_CSV.pc_reference.is_(None), Payments_CSV.pc_processed!=True).all()
|
||||
payments = db.query(Payments_CSV).filter(Payments_CSV.pc_processed!=True).all()
|
||||
assign_by_name(payments)
|
||||
|
||||
# 2. assign payment by reference
|
||||
|
||||
Reference in New Issue
Block a user