Files
eamco_printer/app/routers/command.py
2024-04-04 16:39:29 -04:00

115 lines
2.6 KiB
Python

from fastapi import APIRouter
from datetime import date, timedelta, datetime
from app.database import session
from app.models.delivery import Delivery
from app.models.printer import Printer_jobs
router = APIRouter(
prefix="/command",
tags=["command"],
responses={404: {"description": "Not found"}},
)
@router.get("/printticket/{delivery_id}")
async def print_specific_ticket(delivery_id):
now = datetime.utcnow()
get_ticket = (session.query(Delivery)
.filter(Delivery.id == delivery_id)
.first())
new_job = Printer_jobs(
delivery_id = delivery_id,
date_added = now,
date_completed = None,
employee_id = get_ticket.driver_employee_id,
status = 0,
)
session.add(new_job)
session.commit()
return {"ok": True}
@router.get("/print_waiting")
async def print_waiting_tickets():
tomm = date.today() + timedelta(days=1)
now = datetime.utcnow()
get_deliveries = (session
.query(Delivery)
.filter(Delivery.delivery_status == 0)
.filter(Delivery.expected_delivery_date != tomm)
.filter(Delivery.expected_delivery_date != date.today())
.all())
for f in get_deliveries:
new_job = Printer_jobs(
delivery_id = f.id,
date_added = now,
date_completed = None,
employee_id = f.driver_employee_id,
status = 0,
)
session.add(new_job)
session.commit()
return {"ok": True}
@router.get("/print_today")
async def print_today_tickets():
now = datetime.utcnow()
get_deliveries = (session
.query(Delivery)
.filter(Delivery.expected_delivery_date == date.today())
.all())
for f in get_deliveries:
new_job = Printer_jobs(
delivery_id = f.id,
date_added = now,
date_completed = None,
employee_id = f.driver_employee_id,
status = 0,
)
session.add(new_job)
session.commit()
return {"ok": True}
@router.get("/print_tommorrow")
async def print_tommorrow_tickets():
now = datetime.utcnow()
tomm = date.today() + timedelta(days=1)
get_deliveries = (session
.query(Delivery)
.filter(Delivery.expected_delivery_date == tomm)
.all())
for f in get_deliveries:
new_job = Printer_jobs(
delivery_id = f.id,
date_added = now,
date_completed = None,
employee_id = f.driver_employee_id,
status = 0,
)
session.add(new_job)
session.commit()
return {"ok": True}