This commit is contained in:
2024-03-14 14:11:09 -04:00
parent ca518af9e8
commit 52172812cb
4 changed files with 111 additions and 45 deletions

View File

@@ -33,7 +33,6 @@ class Delivery_Delivery(db.Model):
# cancelled = 3
# partial delivery = 4
# issue = 5
# finalized = 10
delivery_status = db.Column(db.INTEGER)
# when the call to order took place
@@ -58,6 +57,7 @@ class Delivery_Delivery(db.Model):
# credit = 1
payment_type = db.Column(db.INTEGER)
payment_card_id = db.Column(db.INTEGER)
cash_recieved = db.Column(db.DECIMAL(50, 2))
driver_employee_id = db.Column(db.INTEGER)
driver_first_name = db.Column(db.VARCHAR(140))

View File

@@ -16,6 +16,8 @@ from app.classes.pricing import Pricing_Oil_Oil
from app.classes.auth import Auth_User
from app.classes.pricing import Pricing_Service_General
@delivery.route("/<int:delivery_id>", methods=["GET"])
def get_a_delivery(delivery_id):
"""

View File

@@ -1,44 +1,20 @@
from flask import request, jsonify
from flask_login import current_user
from datetime import date
from app.delivery_data import delivery_data
from app import db
from datetime import datetime
from app.classes.customer import Customer_Customer
from app.classes.delivery import (Delivery_Delivery,
Delivery_Delivery_schema,
Delivery_Notes_Driver,
Delivery_Payment,
Delivery_Payment_schema,
)
from app.classes.delivery import Delivery_Delivery
from app.classes.employee import Employee_Employee
from app.classes.cards import Card_Card
from app.classes.pricing import Pricing_Oil_Oil
from app.classes.auth import Auth_User
from app.classes.pricing import Pricing_Service_General
@delivery_data.route("/pending", methods=["GET"])
def pending_delivery():
"""
Get deliveries that have been delivered
"""
delivery_ticket = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status!=0)
.all())
delivery_schema = Delivery_Delivery_schema(many=True)
return jsonify(delivery_schema.dump(delivery_ticket))
@delivery_data.route("/finalize/<int:delivery_id>", methods=["PUT"])
def finalize_delivery(delivery_id):
def office_finalize_delivery(delivery_id):
"""
Get deliveries that have been delivered
This will make a delivery finalized from the driver
"""
"""
@@ -63,7 +39,6 @@ def finalize_delivery(delivery_id):
gallons_delivered = request.json["gallons_delivered"]
card_payment = request.json["credit"]
cash_payment = request.json["cash"]
if request.json["credit_card_id"]:
card_payment_id = request.json["credit_card_id"]
else:
@@ -91,7 +66,6 @@ def finalize_delivery(delivery_id):
delivery_payment_method = 3
same_day_info = request.json["same_day"]
if same_day_info is True:
same_day_info = 1
@@ -111,6 +85,84 @@ def finalize_delivery(delivery_id):
get_delivery.payment_card_id = card_id_from_customer
get_delivery.delivery_status = 10
db.session.add(get_delivery)
db.session.commit()
return jsonify({
"ok": True,
'delivery': {
'id': get_delivery.id,
},
}), 200
@delivery_data.route("/driver/finalize/<int:delivery_id>", methods=["PUT"])
def driver_finalize_delivery(delivery_id):
"""
This will make a delivery finalized from the driver
"""
"""
Finalizes a delivery from office
"""
get_delivery = db.session \
.query(Delivery_Delivery) \
.filter(Delivery_Delivery.id == delivery_id) \
.first()
get_today_price = db.session \
.query(Pricing_Oil_Oil) \
.order_by(Pricing_Oil_Oil.id.desc()) \
.first()
gallons_delivered = request.json["gallons_delivered"]
if request.json["driver_employee_id"]:
delivery_driver_id = request.json["delivery_driver_id"]
get_driver = (db.session
.query(Employee_Employee)
.filter(Employee_Employee.id == delivery_driver_id)
.first())
same_driver = False
else:
same_driver = True
customer_filled = request.json["customer_filled"]
if customer_filled is True:
customer_filled = 1
else:
customer_filled = 0
if request.json["cash_amount"]:
cash_amount = request.json["cash_amount"]
else:
cash_amount = None
prime_info = request.json["prime"]
if prime_info is True:
prime_info = 1
else:
prime_info = 0
get_delivery.gallons_delivered = gallons_delivered
get_delivery.prime = prime_info
get_delivery.customer_filled = customer_filled
get_delivery.cash_recieved = cash_amount
if same_driver == False:
get_delivery.driver_last_name = get_driver.employee_last_name
get_delivery.driver_first_name = get_driver.employee_first_name
get_delivery.driver_employee_id = get_driver.id
# update delivery stattus to delivered
get_delivery.delivery_status = 1
db.session.add(get_delivery)
db.session.commit()

View File

@@ -1,24 +1,34 @@
from flask import request, jsonify
from flask_login import current_user
from datetime import date, timedelta, time
from flask import jsonify
from datetime import date, timedelta
from app.delivery_status import deliverystatus
from app import db
from sqlalchemy import or_
from datetime import datetime
from app.classes.customer import Customer_Customer
from app.classes.delivery import (Delivery_Delivery,
Delivery_Delivery_schema,
Delivery_Notes_Driver,
Delivery_Payment,
Delivery_Payment_schema,
)
from app.classes.cards import Card_Card
from app.classes.pricing import Pricing_Oil_Oil
from app.classes.auth import Auth_User
from app.classes.pricing import Pricing_Service_General
@deliverystatus.route("/delivered", methods=["GET"])
def delivered_delivery():
"""
Get deliveries that have been delivered
"""
delivery_ticket = (db.session
.query(Delivery_Delivery)
.filter(or_(Delivery_Delivery.delivery_status == 1,
Delivery_Delivery.delivery_status == 10))
.all())
delivery_schema = Delivery_Delivery_schema(many=True)
return jsonify(delivery_schema.dump(delivery_ticket))
@deliverystatus.route("/today/driver/<int:user_id>", methods=["GET"])
def get_deliveries_driver_day(user_id):
def get_deliveries_driver_today(user_id):
"""
Get deliveries for driver that day
"""
@@ -31,6 +41,7 @@ def get_deliveries_driver_day(user_id):
delivery_schema = Delivery_Delivery_schema(many=True)
return jsonify(delivery_schema.dump(get_delivery))
@deliverystatus.route("/tommorrow/driver/<int:user_id>", methods=["GET"])
def get_deliveries_driver_tommorrow(user_id):
"""
@@ -47,6 +58,7 @@ def get_deliveries_driver_tommorrow(user_id):
delivery_schema = Delivery_Delivery_schema(many=True)
return jsonify(delivery_schema.dump(get_delivery))
@deliverystatus.route("/waiting/driver/<int:user_id>", methods=["GET"])
def get_deliveries_driver_waiting(user_id):
"""
@@ -55,7 +67,7 @@ def get_deliveries_driver_waiting(user_id):
get_delivery = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.driver_employee_id == user_id)
.filter(Delivery_Delivery.delivery_status == 1)
.filter(Delivery_Delivery.delivery_status == 0)
.all())
delivery_schema = Delivery_Delivery_schema(many=True)