115 lines
2.6 KiB
Python
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}
|
|
|