mirror of
https://github.com/welton89/RRBEC.git
synced 2026-04-05 13:35:42 +00:00
99 lines
3.4 KiB
Python
99 lines
3.4 KiB
Python
# from datetime import timezone
|
|
from django.utils import timezone
|
|
from django.shortcuts import render, redirect
|
|
from django.http import JsonResponse, HttpResponse
|
|
import asyncio
|
|
import websockets
|
|
|
|
|
|
from orders.models import Order
|
|
from django.db.models import Q
|
|
from gestaoRaul.decorators import group_required
|
|
|
|
|
|
async def enviar_mensagem(message):
|
|
uri = "ws://192.168.1.150:8765"
|
|
async with websockets.connect(uri) as websocket:
|
|
await websocket.send(message)
|
|
print(f"> Enviado: {message}")
|
|
|
|
resposta = await websocket.recv()
|
|
print(f"< Recebido: {resposta}")
|
|
|
|
|
|
|
|
|
|
def viewsOrders(request):
|
|
fifteen_hours_ago = timezone.now() - timezone.timedelta(hours=15)
|
|
orders = Order.objects.filter(queue__gte=fifteen_hours_ago )
|
|
return render(request, 'orders.html',{'orders': orders})
|
|
|
|
@group_required(groupName='Cozinha')
|
|
def preparing(request, order_id):
|
|
order = Order.objects.get(id=order_id)
|
|
order.preparing = timezone.now()
|
|
order.save()
|
|
fifteen_hours_ago = timezone.now() - timezone.timedelta(hours=15)
|
|
orders = Order.objects.filter(queue__gte=fifteen_hours_ago )
|
|
return redirect(request.META.get('HTTP_REFERER', '/'))
|
|
|
|
|
|
@group_required(groupName='Cozinha')
|
|
def finished(request, order_id):
|
|
order = Order.objects.get(id=order_id)
|
|
order.finished = timezone.now()
|
|
order.save()
|
|
fifteen_hours_ago = timezone.now() - timezone.timedelta(hours=15)
|
|
orders = Order.objects.filter(queue__gte=fifteen_hours_ago )
|
|
# asyncio.run(enviar_mensagem())
|
|
return redirect(request.META.get('HTTP_REFERER', '/'))
|
|
|
|
@group_required(groupName='Garçom')
|
|
def delivered(request, order_id):
|
|
order = Order.objects.get(id=order_id)
|
|
order.delivered = timezone.now()
|
|
order.save()
|
|
fifteen_hours_ago = timezone.now() - timezone.timedelta(hours=15)
|
|
orders = Order.objects.filter(queue__gte=fifteen_hours_ago )
|
|
return redirect(request.META.get('HTTP_REFERER', '/'))
|
|
|
|
|
|
def notificacao(request):
|
|
fifteen_hours_ago = timezone.now() - timezone.timedelta(hours=15)
|
|
ordersFila = Order.objects.filter(queue__gte=fifteen_hours_ago)
|
|
ordersPronto = Order.objects.filter(queue__gte=fifteen_hours_ago, finished__isnull=False)
|
|
|
|
grupoCozinha = request.user.groups.filter(name='Cozinha').exists()
|
|
grupoGerente = request.user.groups.filter(name='Gerente').exists()
|
|
|
|
if grupoCozinha == True and grupoGerente == False:
|
|
if 'fila' in request.COOKIES:
|
|
cookiesFila = int(request.COOKIES['fila'])
|
|
if len(ordersFila) > cookiesFila:
|
|
return JsonResponse({
|
|
'notificacao': 'true',
|
|
'fila': len(ordersFila),
|
|
'titulo': 'Pedido para: '+ ordersFila[len(ordersFila)-1].id_comanda.name,
|
|
'corpo': ordersFila[len(ordersFila)-1].id_product.name,
|
|
})
|
|
else:
|
|
return JsonResponse({
|
|
'notificacao': 'false',
|
|
'fila': len(ordersFila),
|
|
})
|
|
else:
|
|
return JsonResponse({
|
|
'notificacao': 'true',
|
|
'fila': len(ordersFila),
|
|
'titulo': 'Pedido para: '+ ordersFila[len(ordersFila)-1].id_comanda.name,
|
|
'corpo': ordersFila[len(ordersFila)-1].id_product.name,
|
|
})
|
|
|
|
|
|
else:
|
|
return JsonResponse({
|
|
'notificacao': 'false',
|
|
'fila': len(ordersFila),
|
|
})
|
|
|
|
|