Office driver api get data works

This commit is contained in:
2024-03-12 18:28:22 -04:00
parent b71bbe2dc5
commit 001b8218bd
17 changed files with 345 additions and 34 deletions

View File

@@ -180,6 +180,10 @@ app.register_blueprint(delivery_blueprint, url_prefix='/delivery')
from .delivery_data import delivery_data as delivery_data_blueprint
app.register_blueprint(delivery_data_blueprint, url_prefix='/deliverydata')
from .delivery_status import deliverystatus as delivery_status_blueprint
app.register_blueprint(delivery_status_blueprint, url_prefix='/deliverystatus')
from .search import search as search_blueprint
app.register_blueprint(search_blueprint, url_prefix='/search')

View File

@@ -18,11 +18,13 @@ def create_oil_price():
price_from_supplier = request.json["price_from_supplier"]
price_for_customer = request.json["price_for_customer"]
price_for_employee = request.json["price_for_employee"]
price_same_day = request.json["price_same_day"]
new_admin_oil_price = Pricing_Oil_Oil(
price_from_supplier=price_from_supplier,
price_for_customer=price_for_customer,
price_for_employee=price_for_employee,
price_same_day=price_same_day,
date=now,
)
@@ -41,11 +43,14 @@ def create_service_price():
Changes general labor rates prices
"""
now = datetime.utcnow()
price_service_hour = request.json["price_service_hour"]
price_emergency_service_hourly_rate = request.json["price_emergency_service_hour"]
price_emergency_call = request.json["price_emergency_call"]
price_out_of_oil = request.json["price_out_of_oil"]
price_prime = request.json["price_prime"]
price_cleaning = request.json["price_cleaning"]
price_service = Pricing_Service_General(
price_service_hour=price_service_hour,
@@ -53,6 +58,7 @@ def create_service_price():
price_emergency_service_hour=price_emergency_service_hourly_rate,
price_prime=price_prime,
price_emergency_call=price_emergency_call,
price_cleaning=price_cleaning,
date=now,
)

View File

@@ -94,16 +94,8 @@ def login():
.filter_by(username=username)\
.first()
if not bcrypt.check_password_hash(user.password_hash, password):
current_fails = int(user.fails)
new_fails = current_fails + 1
user.fails = new_fails
db.session.add(user)
db.session.commit()
return jsonify({"error": True}), 200
user.locked = 0
user.fails = 0
db.session.add(user)
db.session.commit()

View File

@@ -59,7 +59,7 @@ class Delivery_Delivery(db.Model):
payment_type = db.Column(db.INTEGER)
payment_card_id = db.Column(db.INTEGER)
driver_employee_id = db.Column(db.VARCHAR(140))
driver_employee_id = db.Column(db.INTEGER)
driver_first_name = db.Column(db.VARCHAR(140))
driver_last_name = db.Column(db.VARCHAR(140))

View File

@@ -17,7 +17,6 @@ class Pricing_Service_General(db.Model):
price_emergency_call = db.Column(db.DECIMAL(50, 2))
price_out_of_oil = db.Column(db.DECIMAL(50, 2))
price_prime = db.Column(db.DECIMAL(50, 2))
price_same_day = db.Column(db.DECIMAL(50, 2))
price_cleaning = db.Column(db.DECIMAL(50, 2))
date = db.Column(db.TIMESTAMP(), default=datetime.utcnow())
@@ -40,6 +39,8 @@ class Pricing_Oil_Oil(db.Model):
price_from_supplier = db.Column(db.DECIMAL(50, 2))
price_for_customer = db.Column(db.DECIMAL(50, 2))
price_for_employee = db.Column(db.DECIMAL(50, 2))
price_same_day = db.Column(db.DECIMAL(50, 2))
price_prime = db.Column(db.DECIMAL(50, 2))
date = db.Column(db.TIMESTAMP(), default=datetime.utcnow())

View File

@@ -53,7 +53,6 @@ def get_a_customer(customer_id):
.query(Customer_Customer)
.filter(Customer_Customer.id == customer_id)
.first())
print(get_customer)
customer_schema = Customer_Customer_schema(many=False)
return jsonify(customer_schema.dump(get_customer))
@@ -186,7 +185,6 @@ def delete_customer(customer_id):
db.session.delete(get_customer)
db.session.commit()
print("deleted")
return jsonify({
"ok": True,
'user': {

View File

@@ -1,9 +1,8 @@
from flask import request, jsonify
from flask_login import current_user
from datetime import date
from datetime import date, datetime, timedelta
from app.delivery import delivery
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,
@@ -11,6 +10,7 @@ from app.classes.delivery import (Delivery_Delivery,
Delivery_Payment,
Delivery_Payment_schema,
)
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
@@ -20,12 +20,10 @@ from app.classes.pricing import Pricing_Service_General
def get_a_delivery(delivery_id):
"""
"""
get_delivery = db.session\
.query(Delivery_Delivery)\
.filter(Delivery_Delivery.id == delivery_id)\
.first()
return jsonify({
"ok": True,
'delivery': {
@@ -42,10 +40,14 @@ def get_a_delivery(delivery_id):
'delivery_status': get_delivery.delivery_status,
'payment_type': get_delivery.payment_type,
'payment_card_id': get_delivery.payment_card_id,
'driver_employee_id': get_delivery.driver_employee_id,
'driver_first_name': get_delivery.driver_first_name,
'driver_last_name': get_delivery.driver_last_name,
},
}), 200
@delivery.route("/order/<int:delivery_id>", methods=["GET"])
def get_a_specific_delivery(delivery_id):
@@ -362,13 +364,16 @@ def edit_a_delivery(delivery_id):
delivery_status = request.json["delivery_status"]
when_to_deliver = request.json["expected_delivery_date"]
dispatcher_notes_taken = request.json["dispatcher_notes_taken"]
customer_wants_fill = request.json["customer_asked_for_fill"]
card_payment = request.json["credit"]
cash_payment = request.json["cash"]
delivery_driver_id = request.json["driver_employee_id"]
get_driver = (db.session
.query(Employee_Employee)
.filter(Employee_Employee.id == delivery_driver_id)
.first())
if request.json["credit_card_id"]:
card_payment_id = request.json["credit_card_id"]
else:
@@ -423,6 +428,10 @@ def edit_a_delivery(delivery_id):
get_delivery.payment_type = delivery_payment_method
get_delivery.payment_card_id = card_id_from_customer
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
db.session.add(get_delivery)
db.session.commit()
@@ -465,6 +474,18 @@ def create_a_delivery(user_id):
card_payment = request.json["credit"]
cash_payment = request.json["cash"]
delivery_driver_id = request.json["driver_employee_id"]
get_driver = (db.session
.query(Employee_Employee)
.filter(Employee_Employee.id == delivery_driver_id)
.first())
driver_l_name = get_driver.employee_last_name
driver_f_name = get_driver.employee_first_name
driver_emp_id = get_driver.id
try:
if request.json["credit_card_id"]:
card_payment_id = request.json["credit_card_id"]
@@ -522,13 +543,13 @@ def create_a_delivery(user_id):
precharge_amount = int(gallons_ordered) * get_today_price.price_for_customer
if same_day_asked == 1 and prime_asked == 0:
total_precharge_amount = precharge_amount + get_service_prices.price_same_day
total_precharge_amount = precharge_amount + get_today_price.price_same_day
elif prime_asked == 1 and same_day_asked == 0:
total_precharge_amount = precharge_amount + get_service_prices.price_prime
total_precharge_amount = precharge_amount + get_today_price.price_prime
else:
total_precharge_amount = precharge_amount + get_service_prices.price_prime + get_service_prices.price_same_day
total_precharge_amount = precharge_amount + get_today_price.price_prime + get_today_price.price_same_day
new_delivery = Delivery_Delivery(
@@ -559,6 +580,9 @@ def create_a_delivery(user_id):
pre_charge_amount=total_precharge_amount,
total_price=precharge_amount,
final_price=0,
driver_last_name = driver_l_name,
driver_first_name = driver_f_name,
driver_employee_id= driver_emp_id,
)

View File

@@ -0,0 +1,7 @@
# coding=utf-8
from flask import Blueprint
deliverystatus = Blueprint('delivery_status', __name__)
from . import views

View File

@@ -0,0 +1,62 @@
from flask import request, jsonify
from flask_login import current_user
from datetime import date, timedelta, time
from app.delivery_status import deliverystatus
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.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("/today/driver/<int:user_id>", methods=["GET"])
def get_deliveries_driver_day(user_id):
"""
Get deliveries for driver that day
"""
get_delivery = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.driver_employee_id == user_id)
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.all())
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):
"""
Get deliveries for driver tommrrow
"""
tomm = datetime.now() + timedelta(days=1)
get_delivery = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.driver_employee_id == user_id)
.filter(Delivery_Delivery.expected_delivery_date == tomm)
.all())
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):
"""
waiting deliveries scheduled out
"""
get_delivery = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.driver_employee_id == user_id)
.filter(Delivery_Delivery.delivery_status == 1)
.all())
delivery_schema = Delivery_Delivery_schema(many=True)
return jsonify(delivery_schema.dump(get_delivery))

View File

@@ -12,6 +12,7 @@ from app.classes.employee import Employee_Employee, Employee_Employee_schema
@employees.route("/<int:userid>", methods=["GET"])
@login_required
def get_specific_employee(userid):
print(userid)
employee = db.session \
.query(Employee_Employee) \
.filter(Employee_Employee.id == userid) \
@@ -27,7 +28,6 @@ def get_specific_employee_user_id(userid):
.query(Employee_Employee) \
.filter(Employee_Employee.user_id == userid) \
.first()
# print(employee.id)
employee_schema = Employee_Employee_schema(many=False)
return jsonify(employee_schema.dump(employee))
@@ -69,9 +69,11 @@ def all_employees():
def all_employees_drivers():
employee_list = db.session \
.query(Employee_Employee) \
.filter(Employee_Employee.employee_type == 4) \
.filter(or_(Employee_Employee.employee_type == 4,
Employee_Employee.employee_type == 8)) \
.all()
customer_schema = Employee_Employee_schema(mwany=True)
customer_schema = Employee_Employee_schema(many=True)
return jsonify(customer_schema.dump(employee_list))
@@ -152,7 +154,7 @@ def employee_edit(employee_id):
e_type = request.json["employee_type"]
e_start_date = request.json["employee_start_date"]
e_end_date = request.json["employee_end_date"]
print(request.json["employee_end_date"])
get_employee = db.session \
.query(Employee_Employee) \

View File

@@ -24,7 +24,6 @@ def get_service_price():
.first())
return jsonify({"ok": True,
'same_day': get_price_query.price_same_day,
'price_hourly': get_price_query.price_service_hour,
'emergency_fee': get_price_query.price_emergency_call,
'emergency_rate': get_price_query.price_emergency_service_hour,

View File

@@ -14,21 +14,15 @@ def set_card_main(user_id):
.query(Card_Card) \
.filter(Card_Card.user_id == user_id) \
.count()
print(get_card_count)
if get_card_count > 0:
print("true")
get_old_card = db.session \
.query(Card_Card) \
.filter(Card_Card.main_card == True) \
.filter(Card_Card.user_id == user_id) \
.first()
print(get_old_card.id)
get_old_card.main_card = False
db.session.add(get_old_card)
db.session.commit()