1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
# retourne la liste des 'Orders'
def loadOrders(self) -> list:
orders = []
try:
connexion = sqlite3.connect("DB/orderManager.db")
mainCurseur = connexion.cursor()
mainCurseur.execute("""SELECT o.order_id, o.orderDate, e.employee_id, e.name, c.customer_id, c.lastName, c.firstName, c.phone, q.quotation_id, q.quoteNumber FROM order_ o
LEFT JOIN employee e ON o.employee_id=e.employee_id
LEFT JOIN customer c ON o.customer_id=c.customer_id
LEFT JOIN quotation q ON o.quotation_id=q.quotation_id""")
for o in mainCurseur:
employee = Employee(o[3], o[2])
customer = Customer(o[5], o[6], o[7], o[4])
quotation = Quotation(o[9], o[8])
itemOrderCurseur = connexion.cursor()
itemOrderCurseur.execute("""SELECT io.order_id , io.nbrArticles, a.article_id, a.label FROM itemOrder io
LEFT JOIN article a ON io.article_id=a.article_id
where io.order_id = ?""", (o[0],))
itemsOrders = []
for io in itemOrderCurseur:
article = Article(io[3], io[2])
itemOrder = ItemOrder(article, io[1])
itemsOrders.append(itemOrder)
# order = Order(strptime('%d/%m/%Y', o[1]), itemsOrders, employee, customer, o[0], quotation)
order = Order(o[1], itemsOrders, employee, customer, o[0], quotation)
orders.append(order)
itemOrderCurseur.close
mainCurseur.close()
except sqlite3.Error as error:
print("Failed to read data from sqlite table Order :", error)
finally:
if connexion:
connexion.close()
return orders |