Fixed errors

This commit is contained in:
2024-04-04 16:37:57 -04:00
parent 6fab39bf86
commit 2a4804ecb2
8 changed files with 103 additions and 65 deletions

View File

@@ -205,6 +205,9 @@ app.register_blueprint(info_blueprint, url_prefix='/info')
from .stats import stats as stats_blueprint
app.register_blueprint(stats_blueprint, url_prefix='/stats')
from .ticket import ticket as ticket_blueprint
app.register_blueprint(ticket_blueprint, url_prefix='/ticket')
with app.app_context():
db.configure_mappers()

View File

@@ -6,7 +6,7 @@ from datetime import datetime
from app.classes.pricing import (
Pricing_Oil_Oil,
Pricing_Oil_Oil_schema)
from app.classes.admin import Admin_Company, Admin_Company_schema
@admin.route("/oil/create", methods=["POST"])
def create_oil_price():
@@ -36,53 +36,6 @@ def create_oil_price():
}), 200
@admin.route("/service/create", methods=["POST"])
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,
price_out_of_oil=price_out_of_oil,
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,
)
db.session.add(price_service)
db.session.commit()
return jsonify({
"ok": True,
'price': price_service.id,
}), 200
@admin.route("/service/get", methods=["GET"])
def get_service_price():
"""
gets service prices
"""
get_service_prices = (db.session
.query(Pricing_Service_General)
.order_by(Pricing_Service_General.date.desc())
.first())
price_schema = Pricing_Service_General_schema(many=False)
return jsonify(price_schema.dump(get_service_prices))
@admin.route("/oil/get", methods=["GET"])
def get_oil_price():
@@ -95,3 +48,13 @@ def get_oil_price():
.first())
price_schema = Pricing_Oil_Oil_schema(many=False)
return jsonify(price_schema.dump(get_oil_prices))
@admin.route("/company/<int:company_id>", methods=["GET"])
def get_company(company_id):
get_data_company = (db.session
.query(Admin_Company)
.first())
company_schema = Admin_Company_schema(many=False)
return jsonify(company_schema.dump(get_data_company))

View File

@@ -36,9 +36,9 @@ class Delivery_Delivery(db.Model):
# finalized = 10
delivery_status = db.Column(db.INTEGER)
# when the call to order took place
when_ordered = db.Column(db.TIMESTAMP(), default=datetime.utcnow())
when_ordered = db.Column(db.DATE(), default=datetime.utcnow())
# when the delivery date happened
when_delivered = db.Column(db.TIMESTAMP(), default=None)
when_delivered = db.Column(db.DATE(), default=None)
# when the delivery is expected ie what day
expected_delivery_date = db.Column(db.DATE(), default=None)
# automatic delivery

25
app/classes/printing.py Normal file
View File

@@ -0,0 +1,25 @@
from app import db, ma, login_manager
from datetime import datetime
class Printer_jobs(db.Model):
__tablename__ = "printer_jobs"
id = db.Column(db.Integer,
primary_key=True,
autoincrement=True,
unique=False)
delivery_id = db.Column(db.Integer)
date_added = db.Column(db.Date(), default=datetime.utcnow())
date_completed = db.Column(db.Date(), default=datetime.utcnow())
employee_id = db.Column(db.Integer)
#0 = waiting
#1 = printing
#2 = printed
#3 = error
status = db.Column(db.Integer)

View File

@@ -3,7 +3,8 @@ from flask_login import current_user
from datetime import date, datetime, timedelta
from app.delivery import delivery
from app import db
from app.classes.customer import Customer_Customer
from app.classes.customer import (Customer_Customer,
Customer_Customer_schema)
from app.classes.delivery import (Delivery_Delivery,
Delivery_Delivery_schema,
Delivery_Notes_Driver,
@@ -13,7 +14,7 @@ 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.money import Money_delivery
from app.classes.printing import Printer_jobs
@delivery.route("/<int:delivery_id>", methods=["GET"])
@@ -24,7 +25,8 @@ def get_a_delivery(delivery_id):
.query(Delivery_Delivery)\
.filter(Delivery_Delivery.id == delivery_id)\
.first()
get_taxes = db.session.query(Money_delivery).all()
return jsonify({
"ok": True,
'delivery': {
@@ -47,6 +49,16 @@ def get_a_delivery(delivery_id):
},
}), 200
@delivery.route("/past/<int:customer_id>", methods=["GET"])
def get_customer_past_delivery(customer_id):
get_customer_past_delivery = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.customer_id == customer_id)
.limit(10))
delivery_schema = Delivery_Delivery_schema(many=True)
return jsonify(delivery_schema.dump(get_customer_past_delivery))
@delivery.route("/order/<int:delivery_id>", methods=["GET"])
@@ -81,17 +93,27 @@ def update_a_delivery_payment(delivery_id, type_of_payment):
return jsonify({"ok": True}), 200
@delivery.route("/all", methods=["GET"])
def get_deliveries_not_delivered_all():
@delivery.route("/all/<int:page>", methods=["GET"])
def get_deliveries_not_delivered_all(page):
"""
This will get deliveries not done
"""
per_page_amount = 50
if page is None:
offset_limit = 0
elif page == 1:
offset_limit = 0
else:
offset_limit = (per_page_amount * page) - per_page_amount
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status != 1)
.filter(Delivery_Delivery.delivery_status != 10)
.filter(Delivery_Delivery.delivery_status != 3)
.all())
.order_by(Delivery_Delivery.id.asc())
.limit(per_page_amount).offset(offset_limit))
customer_schema = Delivery_Delivery_schema(many=True)
return jsonify(customer_schema.dump(deliveries))
@@ -102,6 +124,7 @@ def get_deliveries_from_customer(customer_id, page):
"""
This will get deliveries not done
"""
per_page_amount = 50
if page is None:
offset_limit = 0
@@ -119,7 +142,7 @@ def get_deliveries_from_customer(customer_id, page):
customer_schema = Delivery_Delivery_schema(many=True)
return jsonify(customer_schema.dump(deliveries))
@delivery.route("/all/<int:page>", methods=["GET"])
@delivery.route("/all/order/<int:page>", methods=["GET"])
def get_deliveries_not_delivered(page):
"""
@@ -201,13 +224,15 @@ def get_deliveries_outfordelivery(page):
deliveries = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.delivery_status == 2)
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.order_by(Delivery_Delivery.delivery_status.asc())
.limit(per_page_amount).offset(offset_limit))
customer_schema = Delivery_Delivery_schema(many=True)
return jsonify(customer_schema.dump(deliveries))
@delivery.route("/tommorrow/<int:page>", methods=["GET"])
def get_deliveries_tommorrow(page):
"""
@@ -359,10 +384,11 @@ def edit_a_delivery(delivery_id):
if not get_delivery:
return jsonify({"ok": False}), 200
else:
gallons_ordered = request.json["gallons_ordered"]
delivery_status = request.json["delivery_status"]
when_to_deliver = request.json["expected_delivery_date"]
print(when_to_deliver)
print(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"]
@@ -527,7 +553,6 @@ def create_a_delivery(user_id):
else:
same_day_asked = 0
date_object = datetime.strptime(when_to_deliver, '%Y-%m-%d').date()
customer_filled_name = get_customer.customer_last_name + ' ' + get_customer.customer_first_name
now = datetime.utcnow()
@@ -563,7 +588,7 @@ def create_a_delivery(user_id):
delivery_status=0,
when_ordered=now,
when_delivered=None,
expected_delivery_date=date_object,
expected_delivery_date=when_to_deliver,
automatic=get_customer.customer_automatic,
oil_id=get_today_price.id,
supplier_price=get_today_price.price_from_supplier,

View File

@@ -53,8 +53,9 @@ def total_deliveries_today_finished():
total_stops = (db.session
.query(Delivery_Delivery)
.filter(Delivery_Delivery.expected_delivery_date == date.today())
.filter(or_(Delivery_Delivery.delivery_status == 1),(Delivery_Delivery.delivery_status == 10)
.count()))
.filter(or_(Delivery_Delivery.delivery_status == 1),(Delivery_Delivery.delivery_status == 10))
.count())
print(total_stops)
return jsonify({"ok": True,
'data': total_stops,

7
app/ticket/__init__.py Normal file
View File

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

14
app/ticket/views.py Normal file
View File

@@ -0,0 +1,14 @@
from flask import jsonify
from app.ticket import ticket
from app import db
from app.classes.delivery import Delivery_Delivery
@ticket.route("/<int:ticket_id>", methods=["GET"])
def get_ticket_printer_letter(ticket_id):
return jsonify({"ok": True,
}), 200