fix queue management
This commit is contained in:
parent
528e4647f3
commit
24a8099b83
@ -9,23 +9,34 @@ from . import utils
|
|||||||
def process_location_data():
|
def process_location_data():
|
||||||
data = models.LocationData.objects.filter(processed=False)
|
data = models.LocationData.objects.filter(processed=False)
|
||||||
for ld in data:
|
for ld in data:
|
||||||
cli = models.Client.objects.get(uuid=ld.location_id)
|
cli = models.Client.objects.filter(uuid=ld.location_id)
|
||||||
ac = models.Accounting.objects.filter(client=cli).order_by('time_from').reverse()[0]
|
if cli.count() < 1:
|
||||||
|
ld.processed = True
|
||||||
|
ld.error_msg = 'No location object found. Stopp processing!'
|
||||||
|
ld.save()
|
||||||
|
# TODO Send error eMail to Admin
|
||||||
|
else:
|
||||||
|
cli = cli[0]
|
||||||
|
ac = models.Accounting.objects.filter(client=cli).order_by('time_from').reverse()
|
||||||
if ld.on_off:
|
if ld.on_off:
|
||||||
if ac.time_to is None:
|
if ac.count() > 0 and ac[0].time_to is None:
|
||||||
ac.time_to = datetime.now()
|
ac[0].time_to = datetime.now()
|
||||||
ac.save()
|
ac[0].save()
|
||||||
ac = models.Accounting(
|
# TODO Send error eMail to Admin
|
||||||
|
acc = models.Accounting(
|
||||||
client=cli,
|
client=cli,
|
||||||
desk_no=ld.table_no,
|
desk_no=ld.table_no,
|
||||||
time_from=ld.tst,
|
time_from=ld.tst,
|
||||||
)
|
)
|
||||||
ac.save()
|
acc.save()
|
||||||
ld.processed=True
|
ld.delete()
|
||||||
ld.save()
|
|
||||||
else:
|
else:
|
||||||
ac.time_to = ld.tst
|
acc = ac[0]
|
||||||
ac.prize = utils.get_prize_for(start=ac.time_from, end=ac.time_to, pph=cli.desk1_prize_ht)
|
acc.time_to = ld.tst
|
||||||
ac.save()
|
acc.prize = utils.get_prize_for(
|
||||||
ld.processed=True
|
start=acc.time_from,
|
||||||
ld.save()
|
end=ld.tst,
|
||||||
|
pph=cli.desk1_prize_ht
|
||||||
|
)
|
||||||
|
acc.save()
|
||||||
|
ld.delete()
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
from datetime import datetime, date, time
|
from datetime import datetime, date, time
|
||||||
|
|
||||||
|
|
||||||
def get_prize_for(start, end=datetime.now(), pph=0):
|
def get_prize_for(start, end, pph=0):
|
||||||
"""
|
"""
|
||||||
calculate prize of billard table rental
|
calculate prize of billard table rental
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user