From c69d48dd7471281f7510c6b09e2356345ca82072 Mon Sep 17 00:00:00 2001 From: Edwin Eames Date: Sun, 12 Oct 2025 12:11:32 -0400 Subject: [PATCH] updated auto --- app/models/delivery.py | 3 +-- app/routers/confirm.py | 56 +++++++++++++++++++++++++++++++++++++++++ app/routers/delivery.py | 28 +++++++++++++++------ 3 files changed, 77 insertions(+), 10 deletions(-) diff --git a/app/models/delivery.py b/app/models/delivery.py index 4af39fe..a94a671 100644 --- a/app/models/delivery.py +++ b/app/models/delivery.py @@ -1,7 +1,6 @@ from sqlalchemy import (Column, INTEGER, DECIMAL, TEXT, - VARCHAR, TIMESTAMP, DATE) -import datetime + VARCHAR, DATE) from database import Base diff --git a/app/routers/confirm.py b/app/routers/confirm.py index ab67483..da8394b 100644 --- a/app/routers/confirm.py +++ b/app/routers/confirm.py @@ -163,3 +163,59 @@ async def delete_ticket(ticket_id: int): session.commit() return {"ok": True}, 200 + + + + + +@router.post("/auto/create/nopreauth/{autoid}") +async def create_auto_ticket_no_preauth(autoid: int, request: Request): + + + request_body = await request.json() + gallons_delivered = request_body['gallons_delivered'] + gallons_delivered = Decimal(gallons_delivered) + payment_type = 1 + payment_card_id = 0 + payment_status = 3 + + + get_auto_delivery = (session + .query(Auto_Delivery) + .filter(Auto_Delivery.id == autoid) + .first()) + get_todays_price = (session.query(Pricing_Oil_Oil) + .order_by(Pricing_Oil_Oil.id.desc()) + .first()) + gallons_put_in_home = Decimal(gallons_delivered) + todays_price = Decimal(get_todays_price.price_for_customer) + total_amount = gallons_put_in_home * todays_price + + create_new_ticket = Tickets_Auto_Delivery( + customer_id = get_auto_delivery.customer_id, + account_number = get_auto_delivery.account_number, + customer_town = get_auto_delivery.customer_town, + customer_state = get_auto_delivery.customer_state, + customer_address = get_auto_delivery.customer_address, + customer_zip =get_auto_delivery.customer_zip, + customer_full_name = get_auto_delivery.customer_full_name, + oil_prices_id = get_todays_price.id, + gallons_delivered = gallons_delivered, + price_per_gallon = get_todays_price.price_for_customer, + total_amount_customer = total_amount, + fill_date = date.today(), + payment_type = payment_type, + payment_card_id = payment_card_id, + payment_status = payment_status, + ) + + + session.add(create_new_ticket) + + + session.commit() # Commit all changes in one transaction + + return ({ + "ok": True, + "auto_ticket_id":create_new_ticket.id + }), 200 \ No newline at end of file diff --git a/app/routers/delivery.py b/app/routers/delivery.py index 5cee953..6551ba5 100644 --- a/app/routers/delivery.py +++ b/app/routers/delivery.py @@ -16,20 +16,19 @@ router = APIRouter( ) + @router.get("/all/customers", status_code=200) def get_delivery_customers(): - automatics = ( session.query(Auto_Delivery) .filter(Auto_Delivery.auto_status.in_([1, 3])) .order_by(Auto_Delivery.estimated_gallons_left.asc()) - .limit(1) + .all() ) return JSONResponse(content=jsonable_encoder(automatics), status_code=200) - @router.get("/driver/{driver_employee_id}", status_code=200) def get_delivery_for_specific_driver(driver_employee_id: int): @@ -73,15 +72,15 @@ def get_auto_by_ticket(delivery_id_order): .filter(Tickets_Auto_Delivery.id == delivery_id_order) .first() ) - + return JSONResponse(content=jsonable_encoder(get_delivery), status_code=200) @router.get("/all/profile/{customer_id}", status_code=200) -def get_autos_customers(customer_id, db: Session = Depends(get_db)): +def get_autos_customers(customer_id): get_delivery = ( - db.query(Tickets_Auto_Delivery) + session.query(Tickets_Auto_Delivery) .filter(Tickets_Auto_Delivery.customer_id == customer_id) .order_by(Tickets_Auto_Delivery.id.desc()) .limit(5) @@ -90,11 +89,24 @@ def get_autos_customers(customer_id, db: Session = Depends(get_db)): return JSONResponse(content=jsonable_encoder(get_delivery), status_code=200) +@router.get("/all/profile/profile/{customer_id}", status_code=200) +def get_autos_customers(customer_id): + + get_delivery = ( + session.query(Tickets_Auto_Delivery) + .filter(Tickets_Auto_Delivery.customer_id == customer_id) + .order_by(Tickets_Auto_Delivery.id.desc()) + .limit(25) + .all() + ) + + return JSONResponse(content=jsonable_encoder(get_delivery), status_code=200) + @router.put("/update_status/{auto_id}", status_code=200) -def update_auto_status(auto_id: int, db: Session = Depends(get_db)): +def update_auto_status(auto_id: int): update_status = ( - db.query(Auto_Delivery) + session.query(Auto_Delivery) .filter(Auto_Delivery.id == auto_id) .first() )