Last active
November 20, 2022 10:48
-
-
Save moussamoussa911/3f718a76e058c6e9ce12257db0da2abc to your computer and use it in GitHub Desktop.
Ordering system
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import math | |
| import os | |
| import sqlite3 | |
| import subprocess | |
| import tempfile | |
| import time | |
| import tkinter | |
| import tkinter.font | |
| import tkinter.messagebox as MessageBox | |
| from datetime import datetime | |
| from threading import Timer | |
| from tkinter import * | |
| from tkinter import messagebox | |
| from tkinter import ttk, Listbox | |
| import pymysql | |
| import pymysql as mysql | |
| import tkintermapview | |
| import win32api | |
| import win32print | |
| import wmi | |
| from PIL import Image, ImageTk | |
| from keyboard import press | |
| from ttkwidgets.autocomplete import AutocompleteEntry | |
| root = Tk() | |
| root.eval('tk::PlaceWindow . center') | |
| ################################################ run mianloop############################################################# | |
| def main() : | |
| root = tfrok.Tk() | |
| app = WindowsPath(root) | |
| def Exit() : | |
| sure = messagebox.askyesno("Exit", "Are you sure you want to exit?", parent=root) | |
| if sure : | |
| root.destroy() | |
| ######################################EXIT FUNCTION#################################################################### | |
| root.protocol("WM_DELETE_WINDOW", Exit) | |
| titlespace = " " | |
| window_height = 900 | |
| window_width = 1600 | |
| screen_width = root.winfo_screenwidth() | |
| screen_height = root.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| root.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| root.title(210 * titlespace + "M2 Bestellsystem") | |
| root['bg'] = 'black' | |
| root.resizable(False, False) | |
| ################################################Bilder################################################################## | |
| try : | |
| imag1 = Image.open('HauptBild.jpg') | |
| imag1.save('1233.png') | |
| imag2 = imag1.resize((1800, 1200)) | |
| imag2.save('HauptBild.png') | |
| if open('1233.png') : | |
| os.remove('1233.png') | |
| logo = tkinter.PhotoImage(file='HauptBild.png') | |
| w = tkinter.Label(root, image=logo) | |
| w.pack() | |
| except : | |
| messagebox.showinfo('HauptBild', 'Bild hinzufügen als (HauptBild)(jpg)') | |
| global counter | |
| global font_size | |
| counter = 1 | |
| ################################################# Show Passwort ######################################################## | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Passwort ') | |
| Passwort = cur.fetchall() | |
| Passwort1 = str(Passwort) | |
| Passwort2 = Passwort1.replace("(", "").replace(")", "").replace(",", "").replace("'", "").replace("[", "").replace("]", | |
| "") | |
| conn.commit() | |
| def makevisible() : | |
| Passwort23 = Label(root, text=MessageBox.showinfo('Aktueles Passwort', Passwort2), font=('Helvetica bold', 12), | |
| width=5) | |
| Passwort23.pack | |
| return | |
| btnpass = Button(root, font=('Helvetica bold', 10), bg='black', command=makevisible, bd=0) | |
| btnpass.place(x=0, y=1) | |
| ###########################################erste seite################################################################## | |
| # define login function | |
| def login() : | |
| style = ttk.Style(root) | |
| global username_login_entry, password_login_entry, login_screen | |
| login_screen = Toplevel(root) | |
| login_screen.title("Login") | |
| login_screen.geometry("300x250") | |
| login_screen.config(bg='#344E5C') | |
| window_height = 250 | |
| window_width = 300 | |
| screen_width = login_screen.winfo_screenwidth() | |
| screen_height = login_screen.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| login_screen.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| Label(login_screen, text="Name und Passwort eingeben", bg='#344E5C', font=('Helvetica bold', 14)).pack() | |
| Label(login_screen, text="", bg='#344E5C').pack() | |
| global username_verify | |
| global password_verify | |
| username_verify = StringVar() | |
| password_verify = StringVar() | |
| Label(login_screen, text="Username ", bg='#344E5C', font=('Helvetica bold', 12)).pack() | |
| username_login_entry = Entry(login_screen, textvariable=username_verify) | |
| username_login_entry.pack() | |
| Label(login_screen, text="", bg='#344E5C').pack() | |
| Label(login_screen, text="Password * ", bg='#344E5C', font=('Helvetica bold', 12)).pack() | |
| password_login_entry = Entry(login_screen, textvariable=password_verify, show='*') | |
| password_login_entry.pack() | |
| Label(login_screen, text="", bg='#344E5C').pack() | |
| Button(login_screen, text="Login", width=10, height=1, command=login_verify, bg='#4AB19D', | |
| font=('Helvetica bold', 13)).pack() | |
| login_screen.bind('<Return>', login_verify) | |
| def login_verify(e=NONE) : | |
| global username_login_entry, password_login_entry, login_screen, blob, passo | |
| username1 = username_verify.get() | |
| password1 = password_verify.get() | |
| username_login_entry.delete(0, END) | |
| password_login_entry.delete(0, END) | |
| conn = sqlite3.connect('Einstellung.db') | |
| cus = conn.cursor() | |
| cus.execute('select* from Username where Name =(?)', (username1,)) | |
| blob = cus.fetchall() | |
| for passo in blob : | |
| if passo[2] != password1 : | |
| messagebox.showerror('Passwort', 'falsches passwort') | |
| elif username1 != passo[1] : | |
| messagebox.showerror('username', 'username exestiert nicht ') | |
| else : | |
| login_screen.destroy() | |
| bestellung() | |
| login_screen.bind('<Return>', login_verify) | |
| def bestellung() : | |
| global counter | |
| try : | |
| subprocess.call(['C:\jAnrufmonitor\jam.exe']) | |
| except : | |
| messagebox.showinfo('jAnrufmonitor', 'jAnrufmonitor konnte nicht gestartet werden') | |
| if counter < 3 : | |
| new_window2 = Toplevel(root) | |
| root.wm_state('iconic') | |
| # new_window2.state(newstate=None) | |
| new_window2.config(bd=2) | |
| global font_size | |
| font_size = ("ARIEL", 12, "bold") | |
| new_window2.focus_set() | |
| counter += 2 | |
| titlespace = " " | |
| new_window2.overrideredirect(True) | |
| screen_width = new_window2.winfo_screenwidth() | |
| screen_height = new_window2.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| new_window2.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| new_window2.config(bg='dark slate gray') | |
| new_window2.resizable(width=False, height=False) | |
| FIRSTLABEL = Label(new_window2, text='auf Lieferung oder Abholung drücken', font=("ARIEL", 26, "bold"), | |
| bg='dark slate gray') | |
| FIRSTLABEL.place(x=700, y=400) | |
| Mainframe1 = Frame(new_window2, bd=4, width=400, height=760, relief=RIDGE, bg='dark slate gray') | |
| Mainframe1.grid() | |
| Mainframe2 = Frame(new_window2, bd=4, width=1250, height=350, relief=RIDGE, bg='dark slate gray') | |
| Mainframe2.grid(row=0, column=2, sticky='n') | |
| Mainframe3 = Frame(new_window2, bd=4, width=1400, height=1000, relief=RIDGE, bg='white') | |
| Mainframe3.place(x=400, y=350) | |
| Mainframe4 = Frame(Mainframe2, bd=5, height=85, width=190, relief=RIDGE, bg='dark slate gray') | |
| Mainframe4.place(x=252, y=115) | |
| Mainframe5 = Frame(Mainframe2, bd=5, height=85, width=190, relief=RIDGE, bg='dark slate gray') | |
| Mainframe5.place(x=252, y=235) | |
| Mainframe6 = Frame(Mainframe2, bd=5, height=55, width=1160, relief=RIDGE, bg='dark slate gray') | |
| Mainframe6.place(x=3, y=5) | |
| Mainframe7 = Frame(Mainframe2, bd=5, height=220, width=200, relief=RIDGE, bg='dark slate gray') | |
| Mainframe7.place(x=960, y=75) | |
| Mainframe10 = Frame(Mainframe2, bd=5, height=65, width=176, relief=RIDGE, bg='dark slate gray') | |
| Mainframe10.place(x=640, y=240) | |
| Mainframe9 = Frame(Mainframe1, bd=5, height=220, width=390, relief=RIDGE, bg='dark slate gray') | |
| Mainframe9.place(x=0, y=500) | |
| Mainframe11 = Frame(Mainframe2, bd=5, height=40, width=176, relief=RIDGE, bg='dark slate gray') | |
| Mainframe11.place(x=640, y=298) | |
| Mainframe12 = Frame(new_window2, bd=5, height=120, width=398, relief=RIDGE, bg='dark slate gray') | |
| Mainframe12.place(x=0, y=770) | |
| # table_lable = Button(Mainframe9 ,text='Bestellungs per Stunde',bg='dark slate gray',command=showme) | |
| # table_lable.place(x=0,y=100) | |
| # ------------------------------------------- seite schliessen-------------------------------------------------# | |
| def close() : | |
| global counter | |
| siko = messagebox.askyesno('Schliessen', 'Sind sie sicher') | |
| if siko == 1 : | |
| new_window2.destroy() | |
| counter -= 2 | |
| else : | |
| pass | |
| closebutton = Button(new_window2, text='X', bd=2, bg='red', command=close) | |
| closebutton.place(x=1580, y=5) | |
| ######################################speisen Labels and boxes########################################################## | |
| sqlCon = sqlite3.connect('speisekarte1.db') | |
| cur = sqlCon.cursor() | |
| kl_gr = ['Klein', 'Gross', 'Standard'] | |
| global clicked | |
| clicked = StringVar() | |
| clicked.set('klein') | |
| Numbers = StringVar() | |
| global drop | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Gross ') | |
| grosse = str(cur.fetchall()) | |
| replace = {'[' : '', | |
| ']' : '', | |
| '(' : '', | |
| ')' : '', | |
| ',' : ''} | |
| grosse = grosse.translate(str.maketrans(replace)) | |
| grosse1 = float(grosse) | |
| conn.commit() | |
| def gross_pizza(event=None) : | |
| gorss = clicked.get() | |
| if gorss == 'Gross' : | |
| sacko = float(entrybox6.get()) | |
| entrybox6.delete(0, END) | |
| entrybox6.insert(0, float(sacko) + float(grosse1)) | |
| else : | |
| pass | |
| drop = OptionMenu(Mainframe2, clicked, *kl_gr, command=gross_pizza) | |
| drop.configure(font=('Helvetica bold', 12), bg="white", bd=4, width=6) | |
| drop.place(x=255, y=70) | |
| #############################################################Nummer einfugen####################################### | |
| def resetall() : | |
| entrybox4.delete(0, END) | |
| entrybox4.insert(0, '1') | |
| entrybox2.delete(0, END) | |
| entrybox1.delete(0, END) | |
| listbox3.delete(0, END) | |
| listbox2.delete(0, END) | |
| entrybox3.delete(0, END) | |
| entrybox5.delete(0, END) | |
| entrybox6.delete(0, END) | |
| entrybox7.delete(0, END) | |
| entrybox7.insert(0, float(0.0)) | |
| entrybox8.delete(0, END) | |
| entrybox8.insert(0, float(0.0)) | |
| entrybox9.delete(0, END) | |
| entrybox9.insert(0, float(0.0)) | |
| entrybox10.delete(0, END) | |
| entrybox10.insert(0, float(0.0)) | |
| clicked.set('klein') | |
| entrybox12.delete(0, END) | |
| drop.configure(font=('Helvetica bold', 12), bg="white", bd=4, width=5) | |
| liso.clear() | |
| global Reset | |
| Reset = Button(Mainframe2, text="Reset", bg='red', bd=2, command=resetall, height=3, width=7) | |
| Reset.place(x=880, y=70) | |
| def update() : | |
| Uhr.config(text="new text") | |
| def uhr() : | |
| stunde = time.strftime("%H") | |
| minute = time.strftime("%M") | |
| seconde = time.strftime("%S") | |
| utc = ' Uhr' | |
| tag = time.strftime("%d") | |
| monat = time.strftime("%m") | |
| jahr = time.strftime("%y") | |
| name = time.strftime("%a") | |
| Uhr.config(text=stunde + ':' + minute + ':' + seconde + utc) | |
| Datum.config(text=name + '.' + tag + '/' + monat + '/' + jahr) | |
| Uhr.after(100, uhr) | |
| ##########################################Bestellung /Labels and Buttons############################################### | |
| Label1 = Label(Mainframe6, text='Speise ', font=("Helvetica", 18, 'bold'), fg="black", bg="dark slate gray", | |
| bd=8) | |
| Label1.place(x=10, y=0) | |
| # Label2 = Label(Mainframe6, text='Kl/Gr ', font=("Helvetica", 18, 'bold'), fg="black", bg="dark slate gray", bd=8) | |
| # Label2.place(x=270, y=0) | |
| Label3 = Label(Mainframe6, text='Mit Zutaten ', font=("Helvetica", 18, 'bold'), fg="black", | |
| bg="dark slate gray", bd=8) | |
| Label3.place(x=450, y=0) | |
| Label4 = Label(Mainframe6, text='Anzahl ', font=("Helvetica", 18, 'bold'), fg="black", bg="dark slate gray", | |
| bd=8) | |
| Label4.place(x=325, y=0) | |
| Label6 = Label(Mainframe6, text='Nr: ', font=("Helvetica", 18, 'bold'), fg="black", bg="dark slate gray", | |
| bd=8) | |
| Label6.place(x=185, y=0) | |
| Label7 = Label(Mainframe4, text='Kategorie:', font=("Helvetica", 12, 'bold'), fg='black', bg="dark slate gray", | |
| bd=4) | |
| Label7.place(x=0, y=0) | |
| Label8 = Label(Mainframe4, text='Preis:', font=("Helvetica", 12, 'bold'), fg='black', bg="dark slate gray", | |
| bd=4) | |
| Label8.place(x=0, y=40) | |
| Label9 = Label(Mainframe4, text='€', font=("Helvetica", 12, 'bold'), fg='black', bg="dark slate gray", | |
| bd=2) | |
| Label9.place(x=150, y=40) | |
| Label10 = Label(Mainframe6, text='Gesamt Preise', font=("Helvetica", 18, 'bold'), fg='black', | |
| bg="dark slate gray", bd=8) | |
| Label10.place(x=950, y=0) | |
| Label11 = Label(Mainframe7, text='Brutto: ' | |
| '€', font=("Helvetica", 12, 'bold'), fg='black', bg="dark slate gray", | |
| bd=2) | |
| Label11.place(x=5, y=5) | |
| Label12 = Label(Mainframe7, text='Zuschlag: ' | |
| '€', font=("Helvetica", 12, 'bold'), fg='black', | |
| bg="dark slate gray", | |
| bd=2) | |
| Label12.place(x=5, y=45) | |
| Label13 = Label(Mainframe7, text='Gutschrift: ' | |
| '€', font=("Helvetica", 12, 'bold'), fg='black', | |
| bg="dark slate gray", | |
| bd=2) | |
| Label13.place(x=5, y=85) | |
| Label14 = Label(Mainframe7, text='Rabatt: ' | |
| '% ', font=("Helvetica", 12, 'bold'), fg='black', | |
| bg="dark slate gray", | |
| bd=2) | |
| Label14.place(x=5, y=125) | |
| Label15 = Label(Mainframe7, text='Endpreis: ' | |
| '€', font=("Helvetica", 12, 'bold'), fg='black', | |
| bg="dark slate gray", | |
| bd=2) | |
| Label15.place(x=5, y=165) | |
| Label16 = Label(Mainframe6, text='Ohne ', font=("Helvetica", 18, 'bold'), fg="black", | |
| bg="dark slate gray", bd=8) | |
| Label16.place(x=680, y=0) | |
| Label17 = Label(Mainframe12, text='Bediener: ', font=("Helvetica", 12, 'bold'), fg="black", | |
| bg="dark slate gray", bd=8) | |
| Label17.place(x=0, y=0) | |
| Label18 = Label(Mainframe12, text='ID nummer: ', font=("Helvetica", 12, 'bold'), fg="black", | |
| bg="dark slate gray", bd=8) | |
| Label18.place(x=0, y=32) | |
| Label19 = Label(Mainframe12, text=passo[0], font=("Helvetica", 12, 'bold'), fg="dark slate gray", | |
| bg="Black", bd=0) | |
| Label19.place(x=100, y=40) | |
| Label20 = Label(Mainframe12, text=passo[1], font=("Helvetica", 12, 'bold'), fg="dark slate gray", | |
| bg="black", bd=0) | |
| Label20.place(x=90, y=6) | |
| Label21 = Label(Mainframe2, text='Kommentar ', font=("Helvetica", 14, 'bold'), fg="black", | |
| bg="dark slate gray", bd=8) | |
| Label21.place(x=459, y=260) | |
| # -----------------------------------------------------------------------------------------------------------------# | |
| entrybox1 = Entry(Mainframe2, font=("Helvetica", 12, 'bold'), width=22, bd=5) | |
| entrybox1.place(x=10, y=70) | |
| entrybox3 = Entry(Mainframe2, font=("Helvetica", 12, 'bold'), width=4, bd=5) | |
| entrybox3.place(x=200, y=70) | |
| entrybox3.configure(font=font_size) | |
| entrybox4 = Entry(Mainframe2, font=("Helvetica", 12, 'bold'), width=4, bd=5, textvariable=Numbers) | |
| entrybox4.place(x=360, y=70) | |
| entrybox4.configure(font=font_size) | |
| entrybox4.insert(0, "1") | |
| entrybox5 = Entry(Mainframe4, font=("Helvetica", 12, 'bold'), width=9, bd=3, state=NORMAL) | |
| entrybox5.place(x=85, y=5) | |
| entrybox6 = Entry(Mainframe4, font=("Helvetica", 12, 'bold'), width=6, bd=3, ) | |
| entrybox6.place(x=85, y=40) | |
| entrybox7 = Entry(Mainframe7, font=("Helvetica", 12, 'bold'), width=6, bd=3, ) | |
| entrybox7.place(x=95, y=5) | |
| entrybox7.insert(0, float(0.0)) | |
| entrybox8 = Entry(Mainframe7, font=("Helvetica", 12, 'bold'), width=6, bd=3, ) | |
| entrybox8.place(x=95, y=45) | |
| entrybox8.insert(0, float(0.0)) | |
| entrybox9 = Entry(Mainframe7, font=("Helvetica", 12, 'bold'), width=6, bd=3, ) | |
| entrybox9.place(x=95, y=85) | |
| entrybox9.insert(0, float(0.0)) | |
| entrybox10 = Entry(Mainframe7, font=("Helvetica", 12, 'bold'), width=6, bd=3, ) | |
| entrybox10.place(x=95, y=125) | |
| entrybox10.insert(0, float(0.0)) | |
| entrybox11 = Entry(Mainframe7, font=("Helvetica", 12, 'bold'), width=6, bd=3, ) | |
| entrybox11.place(x=95, y=165) | |
| entrybox11.insert(0, float(0.0)) | |
| entrybox12 = Entry(Mainframe2, font=("Helvetica", 12, 'bold'), width=18, bd=5, ) | |
| entrybox12.place(x=450, y=297) | |
| # ----------------------------------------------------------------------------------------------------------------# | |
| listbox1 = Listbox(Mainframe2, width=25, bd=5) | |
| listbox1.place(x=10, y=115) | |
| listbox1.configure(font=font_size) | |
| listbox2 = Listbox(Mainframe2, width=18, bd=5, height=6) | |
| listbox2.place(x=450, y=115) | |
| listbox2.configure(font=font_size) | |
| listbox3 = Listbox(Mainframe2, width=18, bd=5, fg='red', height=8) | |
| listbox3.place(x=640, y=70) | |
| listbox3.configure(font=font_size) | |
| # -----------------------------------------------------------------------------------------------------------------# | |
| ########################################################speisen liste################################################### | |
| # ------------------------------------------------------Alle Straßen----------------------------------------------------# | |
| with open('streets.txt', 'r', encoding='utf-8') as street : | |
| Straßen = [] | |
| for stre in street : | |
| if not stre.isspace() : | |
| streline = stre.strip() | |
| Straßen.append(str(streline)) | |
| # -------------------------------------------------------Enterys--------------------------------------------------------# | |
| KundenidE = Entry(Mainframe1, width=6, bd=5, bg='white smoke') | |
| KundenidE.place(x=0, y=28) | |
| KundenidE.configure(font=font_size) | |
| NameE = Entry(Mainframe1, bd=5, width=25, bg='white smoke') | |
| NameE.place(x=0, y=94) | |
| NameE.configure(font=font_size) | |
| AdresseE = AutocompleteEntry(Mainframe1, width=30, completevalues=Straßen, font=("Helvetica", 12, 'bold')) | |
| AdresseE.place(x=0, y=162) | |
| HauesnrE = Entry(Mainframe1, bd=1, width=4, bg='white smoke') | |
| HauesnrE.place(x=300, y=162) | |
| HauesnrE.configure(font=font_size) | |
| PLZE = Entry(Mainframe1, bd=5, width=7, bg='white smoke') | |
| PLZE.place(x=0, y=230) | |
| PLZE.configure(font=font_size) | |
| ORTE = Entry(Mainframe1, bd=5, width=15, bg='white smoke') | |
| ORTE.place(x=170, y=230) | |
| ORTE.configure(font=font_size) | |
| TelefonnummerE = Entry(Mainframe1, bd=5, width=20, bg='white smoke') | |
| TelefonnummerE.place(x=160, y=28) | |
| TelefonnummerE.configure(font=font_size) | |
| EmailE = Entry(Mainframe1, bd=5, width=30, bg='white smoke') | |
| EmailE.place(x=0, y=300) | |
| EmailE.configure(font=font_size) | |
| LieferE = Entry(Mainframe11, bd=5, width=5, bg='white smoke') | |
| LieferE.place(x=106, y=0) | |
| LieferE.configure(font=font_size) | |
| in_comment = Text(Mainframe9, width=40, height=1, bd=5) | |
| in_comment.place(x=0, y=30) | |
| in_comment.configure(font=('14')) | |
| ext_comment = Text(Mainframe9, width=40, height=1, bd=5) | |
| ext_comment.place(x=0, y=89) | |
| ext_comment.configure(font=('14')) | |
| Note_text = Text(Mainframe2, width=14, height=3, bd=5) | |
| Note_text.place(x=258, y=246) | |
| Note_text.configure(font=('14'), fg='red') | |
| with open('Note.txt', 'r') as file14 : | |
| for e in file14 : | |
| e.strip() | |
| note_label = Label(Note_text, text=e, width=16, height=3, bg='white', fg='black', wraplengt=120, | |
| font=("Helvetica", 12, 'bold')) | |
| note_label.pack(side=TOP) | |
| ##################################Kunden Liste / Labels############################################################# | |
| Kundenid = Label(Mainframe1, bd=0, text='Kunden/ID', font=('arial', 14, 'bold'), bg='dark slate gray') \ | |
| .place(x=0, y=0) | |
| Name = Label(Mainframe1, bd=0, text='Name:', font=('arial', 14, 'bold'), bg='dark slate gray') \ | |
| .place(x=0, y=65) | |
| Adresse = Label(Mainframe1, bd=0, text='Straße:', font=('arial', 14, 'bold'), bg='dark slate gray') \ | |
| .place(x=0, y=130) | |
| Hausnr = Label(Mainframe1, bd=0, text='Nr:', font=('arial', 14, 'bold'), bg='dark slate gray') \ | |
| .place(x=300, y=130) | |
| PLZ = Label(Mainframe1, bd=0, text='PLZ:', font=('arial', 14, 'bold'), bg='dark slate gray') \ | |
| .place(x=0, y=200) | |
| Ort = Label(Mainframe1, bd=0, text='ORT:', font=('arial', 14, 'bold'), bg='dark slate gray') \ | |
| .place(x=165, y=200) | |
| Telefonnummer = Label(Mainframe1, bd=0, text='Telefonnummer:', font=('arial', 14, 'bold'), bg='dark slate gray') \ | |
| .place(x=155, y=0) | |
| Email = Label(Mainframe1, bd=0, text='Email:', font=('arial', 14, 'bold'), bg='dark slate gray') \ | |
| .place(x=0, y=267) | |
| comment_in = Label(Mainframe9, bd=0, text='intern-Info:', font=('arial', 16, 'bold'), bg='dark slate gray') \ | |
| .place(x=0, y=1) | |
| comment_ex = Label(Mainframe9, bd=0, text='extern-Info:(wird gedruckt)', font=('arial', 16, 'bold'), | |
| bg='dark slate gray') \ | |
| .place(x=0, y=60) | |
| Note = Label(Mainframe2, bd=0, text='Note von Chef', font=('arial', 16, 'bold'), | |
| bg='dark slate gray') \ | |
| .place(x=270, y=220) | |
| Uhr = Label(Mainframe10, bd=0, text='', font=('arial', 12, 'bold'), fg='black', | |
| bg='dark slate gray') | |
| Uhr.place(x=65, y=0) | |
| Datum = Label(Mainframe10, bd=0, text='', font=('arial', 12, 'bold'), fg='black', | |
| bg='dark slate gray') | |
| Datum.place(x=65, y=27) | |
| TelefonnummerE.focus_force() | |
| # --------------------------------------------------------UHR-----------------------------------------------------------# | |
| imagen = Image.open('clockpng.jpg') | |
| imagser = imagen.resize((45, 45)) | |
| imagser.save('clock.jpg') | |
| clock = ImageTk.PhotoImage(Image.open('clock.jpg')) | |
| def opencalen() : | |
| os.system( | |
| 'start explorer shell:appsfolder\microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar') | |
| labelclock = Button(Mainframe10, image=clock, bg='dark slate gray', command=opencalen) | |
| labelclock.place(x=5, y=1) | |
| Bestell = Label(Mainframe11, bd=0, text='Lieferzeit:', font=('arial', 16, 'bold'), bg='dark slate gray') \ | |
| .place(x=0, y=0) | |
| uhr() | |
| # -------------------------------------------------------Karte----------------------------------------------------------# | |
| def maps() : | |
| hob = str(AdresseE.get()) | |
| nop = str(HauesnrE.get()) | |
| zob = str(hob + ' ' + nop) | |
| mapes = Toplevel(root) | |
| root.wm_state('iconic') | |
| mapes.state(newstate=None) | |
| mapes.config(bd=2) | |
| mapes.focus_set() | |
| map = tkintermapview.TkinterMapView(mapes, width=400, height=250) | |
| map.set_zoom(15) | |
| map.set_tile_server("https://mt0.google.com/vt/lyrs=m&hl=en&x={x}&y={y}&z={z}&s=Ga", max_zoom=22) | |
| window_height = 200 | |
| window_width = 260 | |
| screen_width = mapes.winfo_screenwidth() | |
| screen_height = mapes.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| ad2 = map.set_address(zob + ',' + '48607, Ochtrup', marker=True) | |
| map.pack() | |
| but = Button(Mainframe1, bg='blue', width=6, text='Karte', command=maps, ).place(x=80, y=130) | |
| ###############################SQL TO TEXT'######################################################################## | |
| con = sqlite3.connect('speisekarte1.db', isolation_level=None) | |
| custor = con.cursor() | |
| custor.fetchall() | |
| custor.execute('select Name from Speisen') | |
| file = open('speisentabel.txt', 'w') | |
| for sack in custor : | |
| sacko = "'".join(sack) | |
| file.write(str(sacko) + '\n') | |
| file.close() | |
| with open('speisentabel.txt', 'r') as file1 : | |
| toppings = [] | |
| for line in file1 : | |
| if line != '' : | |
| stripped_line = line.strip() | |
| toppings.append(stripped_line) | |
| ######################################################################################################################## | |
| conn = sqlite3.connect("ZutatenPreise.db") | |
| cur = conn.cursor() | |
| cur.execute("select Zutat from zutatenpreise ") | |
| maro = cur.fetchall() | |
| with open("zutatenpreise.txt", 'w') as file2 : | |
| for zuz in maro : | |
| ziko = ",".join(zuz) | |
| file2.write(str(ziko) + '\n') | |
| zutatenpreise = [] | |
| with open('zutatenpreise.txt', 'r') as file3 : | |
| for zaro in file3 : | |
| zutatenpreise.append(str(zaro) + '\n') | |
| conn.commit() | |
| ####################################################################################################################### | |
| # had to be moved here becouse of the AutocompleteEntry | |
| global entrybox2 | |
| entrybox2 = AutocompleteEntry(Mainframe2, font=("Helvetica", 12, 'bold'), width=18, | |
| completevalues=zutatenpreise) | |
| entrybox2.place(x=450, y=70) | |
| entrybox2.configure(font=font_size) | |
| def komment() : | |
| siko = entrybox12.get() | |
| listbox2.insert(0, '*' + siko) | |
| entrybox12.delete(0, END) | |
| kommb = Button(Mainframe2, text='ADD', bg='green', height=0, command=komment) | |
| kommb.place(x=590, y=270) | |
| ################################################Familien Pizza Functions############################################### | |
| def Familie_window() : | |
| global Counter | |
| global Familienpizza | |
| Familienpizza = Toplevel(root) | |
| root.wm_state('iconic') | |
| Familienpizza.state(newstate=None) | |
| Familienpizza.config(bd=2) | |
| global font_size | |
| font_size = ("ARIEL", 12, "bold") | |
| Familienpizza.focus_set() | |
| titlespace = " " | |
| window_height = 200 | |
| window_width = 260 | |
| screen_width = Familienpizza.winfo_screenwidth() | |
| screen_height = Familienpizza.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| Familienpizza.geometry( | |
| "{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| Familienpizza.config(bg='dark slate gray') | |
| Familienpizza.resizable(width=False, height=False) | |
| voll = Button(Familienpizza, text='100%', bd=4, bg='white', width=10, command=Familiewindow1) | |
| voll.place(x=15, y=20) | |
| halb = Button(Familienpizza, text='2/Halb', bd=4, bg='white', width=10, command=Familiewindow2) | |
| halb.place(x=160, y=20) | |
| drei = Button(Familienpizza, text='3/Drittel', bd=4, bg='white', width=10, command=Familiewindow3) | |
| drei.place(x=15, y=120) | |
| vier = Button(Familienpizza, text='4/Viertel', bd=4, bg='white', width=10, command=Familiewindow4) | |
| vier.place(x=160, y=120) | |
| ###############################################Familinepizza Voll####################################################### | |
| def Familiewindow1() : | |
| global Familiewindow1 | |
| Familienpizza.destroy() | |
| global Familienpizzavoll | |
| Familienpizzavoll = Toplevel(root) | |
| root.wm_state('iconic') | |
| Familienpizzavoll.state(newstate=None) | |
| Familienpizzavoll.config(bd=2) | |
| Familienpizzavoll.focus_set() | |
| titlespace = " " | |
| window_height = 290 | |
| window_width = 260 | |
| screen_width = Familienpizzavoll.winfo_screenwidth() | |
| screen_height = Familienpizzavoll.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| Familienpizzavoll.geometry( | |
| "{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| Familienpizzavoll.config(bg='dark slate gray') | |
| Familienpizzavoll.resizable(width=False, height=False) | |
| # ---------------------------------------------------------------------------------------------------------# | |
| def addzutatvoll() : | |
| sado = str(entrybox2.get()) | |
| sado1 = sado.strip() | |
| listboxvoll.insert(END, sado1) | |
| entrybox2.delete(0, END) | |
| # ----------------------------------------------------------------------------------------------------------# | |
| def fertig() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from einstellung where Name = ?', ('FamilienPizza',)) | |
| nado = cur.fetchall() | |
| Frei = '' | |
| Preis = '' | |
| for t in nado : | |
| Frei = str(t[1]) | |
| Preis = str(t[2]) | |
| conn.commit() | |
| sicko = str(listboxvoll.get(0, END)) | |
| saro = sicko.strip() | |
| selko = saro.replace('(', '').replace(')', '').replace(',', '').replace("'", "") | |
| listbox2.insert(END, '+100% ' + str(selko)) | |
| sado1 = sicko | |
| soso = [] | |
| for nano in sado1 : | |
| soso.append(nano) | |
| loko = [] | |
| for t in soso : | |
| loko.append(t) | |
| naldo = len(loko[int(Frei[0]) :]) | |
| siko = float(entrybox6.get()) | |
| entrybox6.delete(0, END) | |
| entrybox6.insert(END, siko + float(naldo * float(Preis[0]))) | |
| Familienpizzavoll.destroy() | |
| # ----------------------------------------------------------------------------------------------------------# | |
| entrybox2 = AutocompleteEntry(Familienpizzavoll, font=("Helvetica", 12, 'bold'), width=18, | |
| completevalues=zutatenpreise) | |
| entrybox2.place(x=30, y=20) | |
| einfbutton = Button(Familienpizzavoll, text='einfugen', width=6, bg='green', command=addzutatvoll) | |
| einfbutton.place(x=180, y=20) | |
| listboxvoll = Listbox(Familienpizzavoll, width=25, bd=5) | |
| listboxvoll.place(x=30, y=60) | |
| Fertigbutton = Button(Familienpizzavoll, text='fertig', width=10, bg='grey', command=fertig) | |
| Fertigbutton.place(x=180, y=260) | |
| ###############################################Familinepizza Halb ####################################################### | |
| def Familiewindow3() : | |
| global Familiewindow3 | |
| Familienpizza.destroy() | |
| global Familienpizzadrei | |
| Familienpizzadrei = Toplevel(root) | |
| root.wm_state('iconic') | |
| Familienpizzadrei.state(newstate=None) | |
| Familienpizzadrei.config(bd=2) | |
| Familienpizzadrei.focus_set() | |
| titlespace = " " | |
| window_height = 550 | |
| window_width = 400 | |
| screen_width = Familienpizzadrei.winfo_screenwidth() | |
| screen_height = Familienpizzadrei.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| Familienpizzadrei.geometry( | |
| "{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| Familienpizzadrei.config(bg='dark slate gray') | |
| Familienpizzadrei.resizable(width=False, height=False) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutatdrei() : | |
| sado = str(entryboxdrei.get()) | |
| sado1 = sado.strip() | |
| listboxdrei.insert(END, sado1) | |
| entryboxdrei.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutatdrei1() : | |
| sado = str(entryboxdrei1.get()) | |
| sado1 = sado.strip() | |
| listboxdrei1.insert(END, sado1) | |
| entryboxdrei1.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutatdrei2() : | |
| sado = str(entryboxdrei2.get()) | |
| sado1 = sado.strip() | |
| listboxdrei2.insert(END, sado1) | |
| entryboxdrei2.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def fertigdrei() : | |
| sicko = listboxdrei.get(0, END) | |
| sicko1 = ','.join(sicko) | |
| soko = listboxdrei1.get(0, END) | |
| soko1 = ','.join(soko) | |
| soka = listboxdrei2.get(0, END) | |
| soka1 = ','.join(soko) | |
| listbox2.insert(END, '+ 33% ' + str(sicko1)) | |
| listbox2.insert(END, '+ 33% ' + str(soko1)) | |
| listbox2.insert(END, '+ 33% ' + str(soka1)) | |
| sado1 = sicko + soko + soka | |
| soso = [] | |
| for nano in sado1 : | |
| if nano not in soso : | |
| soso.append(nano) | |
| loko = [] | |
| for t in soso : | |
| loko.append(t) | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from einstellung where Name = ?', ('FamilienPizza',)) | |
| nado = cur.fetchall() | |
| Frei = '' | |
| Preis = '' | |
| for t in nado : | |
| Frei = str(t[1]) | |
| Preis = t[2] | |
| naldo = len(loko[int(Frei[0]) :]) | |
| siko = float(entrybox6.get()) | |
| entrybox6.delete(0, END) | |
| entrybox6.insert(END, siko + float(naldo * Preis)) | |
| Familienpizzadrei.destroy() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| entryboxdrei = AutocompleteEntry(Familienpizzadrei, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxdrei.place(x=30, y=20) | |
| entryboxdrei1 = AutocompleteEntry(Familienpizzadrei, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxdrei1.place(x=220, y=20) | |
| entryboxdrei2 = AutocompleteEntry(Familienpizzadrei, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxdrei2.place(x=120, y=280) | |
| einfbutton = Button(Familienpizzadrei, text='einfugen', width=6, bg='green', command=addzutatdrei) | |
| einfbutton.place(x=140, y=20) | |
| einfbutton1 = Button(Familienpizzadrei, text='einfugen', width=6, bg='green', command=addzutatdrei1) | |
| einfbutton1.place(x=325, y=20) | |
| einfbutton2 = Button(Familienpizzadrei, text='einfugen', width=6, bg='green', command=addzutatdrei2) | |
| einfbutton2.place(x=230, y=280) | |
| listboxdrei = Listbox(Familienpizzadrei, width=20, bd=5) | |
| listboxdrei.place(x=30, y=60) | |
| listboxdrei1 = Listbox(Familienpizzadrei, width=20, bd=5) | |
| listboxdrei1.place(x=220, y=60) | |
| listboxdrei2 = Listbox(Familienpizzadrei, width=20, bd=5) | |
| listboxdrei2.place(x=120, y=320) | |
| Fertigbutton = Button(Familienpizzadrei, text='fertig', width=10, bg='grey', command=fertigdrei) | |
| Fertigbutton.place(x=320, y=500) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def Familiewindow2() : | |
| global Familiewindow2 | |
| Familienpizza.destroy() | |
| global Familienpizzahalb | |
| Familienpizzahalb = Toplevel(root) | |
| root.wm_state('iconic') | |
| Familienpizzahalb.state(newstate=None) | |
| Familienpizzahalb.config(bd=2) | |
| Familienpizzahalb.focus_set() | |
| titlespace = " " | |
| window_height = 290 | |
| window_width = 400 | |
| screen_width = Familienpizzahalb.winfo_screenwidth() | |
| screen_height = Familienpizzahalb.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| Familienpizzahalb.geometry( | |
| "{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| Familienpizzahalb.config(bg='dark slate gray') | |
| Familienpizzahalb.resizable(width=False, height=False) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutathalb() : | |
| sado = str(entryboxhalb.get()) | |
| sado1 = sado.strip().replace(' ', '') | |
| listboxhalb.insert(END, sado1) | |
| entryboxhalb.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutathalb1() : | |
| sado = str(entryboxhalb1.get()) | |
| sado1 = sado.strip().replace(' ', '') | |
| listboxhalb1.insert(END, sado1) | |
| entryboxhalb1.delete(0, END) | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def fertighalb(event=None) : | |
| sicko = (listboxhalb.get(0, END)) | |
| soko = (listboxhalb1.get(0, END)) | |
| listbox2.insert(END, | |
| '+50%' + str(sicko).replace('(', '').replace(')', '').replace("'", "").replace(',', | |
| '').replace( | |
| ' ', '')) | |
| listbox2.insert(END, | |
| '+50%' + str(soko).replace('(', '').replace(')', '').replace("'", "").replace(',', | |
| '').replace( | |
| ' ', '')) | |
| sado1 = sicko + soko | |
| soso = [] | |
| for nano in sado1 : | |
| if nano not in soso : | |
| soso.append(nano) | |
| loko = [] | |
| for t in soso : | |
| loko.append(t) | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from einstellung where Name = ?', ('FamilienPizza',)) | |
| nado = cur.fetchall() | |
| Frei = '' | |
| Preis = '' | |
| for t in nado : | |
| Frei = str(t[1]) | |
| Preis = t[2] | |
| naldo = len(loko[int(Frei[0]) :]) | |
| siko = float(entrybox6.get()) | |
| entrybox6.delete(0, END) | |
| entrybox6.insert(END, siko + float(naldo * Preis)) | |
| entryboxhalb1.delete(0, END) | |
| Familienpizzahalb.destroy() | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| entryboxhalb = AutocompleteEntry(Familienpizzahalb, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxhalb.place(x=30, y=20) | |
| einfbutton = Button(Familienpizzahalb, text='einfugen', width=6, bg='green', | |
| command=addzutathalb) | |
| einfbutton.place(x=140, y=20) | |
| listboxhalb = Listbox(Familienpizzahalb, width=20, bd=5) | |
| listboxhalb.place(x=30, y=60) | |
| Fertigbutton = Button(Familienpizzahalb, text='fertig', width=10, bg='grey', command=fertighalb) | |
| Fertigbutton.place(x=325, y=260) | |
| entryboxhalb1 = AutocompleteEntry(Familienpizzahalb, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxhalb1.place(x=220, y=20) | |
| listboxhalb1 = Listbox(Familienpizzahalb, width=20, bd=5) | |
| listboxhalb1.place(x=220, y=60) | |
| einfbutton1 = Button(Familienpizzahalb, text='einfugen', width=6, bg='green', | |
| command=addzutathalb1) | |
| einfbutton1.place(x=325, y=20) | |
| #####################################FamilienPizza vier########################################################### | |
| def Familiewindow4() : | |
| global Familiewindow4 | |
| Familienpizza.destroy() | |
| global Familienpizzavier | |
| Familienpizzavier = Toplevel(root) | |
| root.wm_state('iconic') | |
| Familienpizzavier.state(newstate=None) | |
| Familienpizzavier.config(bd=2) | |
| Familienpizzavier.focus_set() | |
| titlespace = " " | |
| window_height = 550 | |
| window_width = 400 | |
| screen_width = Familienpizzavier.winfo_screenwidth() | |
| screen_height = Familienpizzavier.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| Familienpizzavier.geometry( | |
| "{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| Familienpizzavier.config(bg='dark slate gray') | |
| Familienpizzavier.resizable(width=False, height=False) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutatvier() : | |
| sado = str(entryboxvier.get()) | |
| sado1 = sado.strip() | |
| listboxvier.insert(END, sado1) | |
| entryboxvier.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutatvier1() : | |
| sado = str(entryboxvier1.get()) | |
| sado1 = sado.strip() | |
| listboxvier1.insert(END, sado1) | |
| entryboxvier1.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutatvier3() : | |
| sado = str(entryboxvier2.get()) | |
| sado1 = sado.strip() | |
| listboxvier2.insert(END, sado1) | |
| entryboxvier2.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def addzutatvier4() : | |
| sado = str(entryboxvier3.get()) | |
| sado1 = sado.strip() | |
| listboxvier3.insert(END, sado1) | |
| entryboxvier3.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def fertigvier() : | |
| sicko = listboxvier.get(0, END) | |
| sicko1 = ','.join(sicko) | |
| soko = listboxvier1.get(0, END) | |
| soko1 = ','.join(soko) | |
| soka = listboxvier2.get(0, END) | |
| soka1 = ','.join(soko) | |
| saka = listboxvier3.get(0, END) | |
| saka1 = ','.join(soko) | |
| listbox2.insert(END, '+ 25% ' + str(sicko1)) | |
| listbox2.insert(END, '+ 25% ' + str(soko1)) | |
| listbox2.insert(END, '+ 25% ' + str(soka1)) | |
| listbox2.insert(END, '+ 25% ' + str(saka1)) | |
| sado1 = sicko + soko + soka + saka | |
| soso = [] | |
| for nano in sado1 : | |
| if nano not in soso : | |
| soso.append(nano) | |
| loko = [] | |
| for t in soso : | |
| loko.append(t) | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from einstellung where Name = ?', ('FamilienPizza',)) | |
| nado = cur.fetchall() | |
| Frei = '' | |
| Preis = '' | |
| for t in nado : | |
| Frei = str(t[1]) | |
| Preis = t[2] | |
| naldo = len(loko[int(Frei[0]) :]) | |
| siko = float(entrybox6.get()) | |
| entrybox6.delete(0, END) | |
| entrybox6.insert(END, siko + float(naldo * Preis)) | |
| Familienpizzavier.destroy() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| entryboxvier = AutocompleteEntry(Familienpizzavier, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxvier.place(x=30, y=20) | |
| entryboxvier1 = AutocompleteEntry(Familienpizzavier, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxvier1.place(x=220, y=20) | |
| entryboxvier2 = AutocompleteEntry(Familienpizzavier, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxvier2.place(x=220, y=280) | |
| entryboxvier3 = AutocompleteEntry(Familienpizzavier, font=("Helvetica", 12, 'bold'), width=14, | |
| completevalues=zutatenpreise) | |
| entryboxvier3.place(x=30, y=280) | |
| einfbutton = Button(Familienpizzavier, text='einfugen', width=6, bg='green', command=addzutatvier) | |
| einfbutton.place(x=140, y=20) | |
| einfbutton1 = Button(Familienpizzavier, text='einfugen', width=6, bg='green', command=addzutatvier1) | |
| einfbutton1.place(x=325, y=20) | |
| einfbutton2 = Button(Familienpizzavier, text='einfugen', width=6, bg='green', command=addzutatvier3) | |
| einfbutton2.place(x=325, y=280) | |
| einfbutton3 = Button(Familienpizzavier, text='einfugen', width=6, bg='green', command=addzutatvier4) | |
| einfbutton3.place(x=140, y=280) | |
| listboxvier = Listbox(Familienpizzavier, width=20, bd=5) | |
| listboxvier.place(x=30, y=60) | |
| listboxvier1 = Listbox(Familienpizzavier, width=20, bd=5) | |
| listboxvier1.place(x=220, y=60) | |
| listboxvier3 = Listbox(Familienpizzavier, width=20, bd=5) | |
| listboxvier3.place(x=30, y=320) | |
| listboxvier2 = Listbox(Familienpizzavier, width=20, bd=5) | |
| listboxvier2.place(x=220, y=320) | |
| Fertigbutton = Button(Familienpizzavier, text='fertig', width=10, bg='grey', command=fertigvier) | |
| Fertigbutton.place(x=320, y=500) | |
| global liso | |
| liso = [] | |
| #####################################zutaten funktion############################################################## | |
| def zutati(event=None) : | |
| global drop, liso | |
| if entrybox1 != '' : | |
| nado = entrybox1.get() | |
| sqlCon1 = sqlite3.connect('speisekarte1.db') | |
| vur = sqlCon1.cursor() | |
| nado = (entrybox1.get()) | |
| vur.execute("select* from Speisen where Name=(?)", (nado,)) | |
| farto = vur.fetchall() | |
| zob = [] | |
| drop.configure(font=('Helvetica bold', 12), bg="green", bd=4, width=6) | |
| for nano in farto : | |
| ziko = str(nano[2]) | |
| ziko.replace("'", "").replace(",", "").replace("{", "").replace("(", "").replace(")", "").replace( | |
| "}", "") | |
| clicked.set(nano[4]) | |
| entrybox3.delete(0, END) | |
| entrybox5.delete(0, END) | |
| entrybox6.delete(0, END) | |
| entrybox3.insert(END, nano[1]) | |
| entrybox5.insert(END, ziko) | |
| entrybox6.insert(END, nano[3]) | |
| listbox2.delete(0, END) | |
| listbox3.delete(0, END) | |
| sqlCon = sqlite3.connect('ZutatenListe.db') | |
| cur = sqlCon.cursor() | |
| cur.execute("select* from zutaten where SpeiseName=(?)", (nado,)) | |
| arto = cur.fetchall() | |
| for ziko in arto : | |
| listbox2.insert(END, ziko[1]), | |
| if ziko[2] != '' : | |
| listbox2.insert(END, ziko[2]), | |
| if ziko[3] != '' : | |
| listbox2.insert(END, ziko[3]), | |
| if ziko[4] != '' : | |
| listbox2.insert(END, ziko[4]), | |
| if ziko[5] != '' : | |
| listbox2.insert(END, ziko[5]), | |
| if ziko[6] != '' : | |
| listbox2.insert(END, ziko[6]), | |
| if ziko[7] != '' : | |
| listbox2.insert(END, ziko[7]), | |
| if ziko[8] != '' : | |
| listbox2.insert(END, ziko[8]), | |
| if ziko[9] != '' : | |
| listbox2.insert(END, ziko[9]), | |
| if ziko[10] != '' : | |
| listbox2.insert(END, ziko[10]) | |
| sqlCon.commit() | |
| if nado == 'Familien Pizza' : | |
| Familie_window() | |
| else : | |
| pass | |
| con.commit() | |
| entrybox1.bind('<Return>', zutati) | |
| listbox1.bind('<Double-Button-1>', zutati) | |
| entrybox4.bind('<Return>', zutati) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| # Had to be moved here to be after the function | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def Zutatinr(event=None) : | |
| sqlCon = sqlite3.connect("speisekarte1.db") | |
| cub = sqlCon.cursor() | |
| naldo = entrybox3.get() | |
| cub.execute("select * from Speisen where Nummer =(?)", (naldo,)) | |
| foro = cub.fetchall() | |
| for taha in foro : | |
| entrybox1.delete(0, END) | |
| entrybox1.insert(END, taha[0]) | |
| # s_button=Button(Mainframe2,text='S',width=2,bg='blue',command=Zutatinr) | |
| # s_button.place(x=230,y=70) | |
| entrybox3.bind('<Return>', Zutatinr) | |
| entrybox3.bind('<Return>', zutati, add="+") | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def deletezutaten(event=None) : | |
| global deletezutaten, liso | |
| siko = listbox2.get(ACTIVE) | |
| salo = siko[0] | |
| salo1 = str(siko[1 :]) | |
| if salo != '+' : | |
| liso.insert(0, siko) | |
| sok = len(liso) | |
| print(sok) | |
| if salo == '+' : | |
| conn = sqlite3.connect('ZutatenPreise.db') | |
| cur = conn.cursor() | |
| cur.execute("select* from zutatenpreise where Zutat =(?) ", (salo1,)) | |
| nado = cur.fetchall() | |
| for tato in nado : | |
| sicko = float(entrybox6.get()) | |
| nalo = (sicko - float(tato[2])) | |
| entrybox6.delete(0, END) | |
| entrybox6.insert(END, float(nalo)) | |
| listbox2.delete(ANCHOR) | |
| else : | |
| listbox3.insert(END, '-' + listbox2.get(ACTIVE)) | |
| listbox2.delete(ANCHOR) | |
| listbox2.bind("<Delete>", deletezutaten) | |
| listbox2.bind('<Double-Button-1>', deletezutaten) | |
| # deletezutat = Button(Mainframe2, text='Löschen', bd=2, width=6, bg='red', command=deletezutaten) | |
| # deletezutat.place(x=630, y=100) | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def addzutat(event=None) : | |
| global addzutat, liso | |
| liko = str(entrybox1.get()) | |
| liko1 = liko.strip() | |
| if liko1 == 'Familien Pizza' : | |
| sado = str(entrybox2.get()) | |
| sado1 = sado.strip() | |
| listbox2.insert(END, ('+') + sado1) | |
| conn = sqlite3.connect('ZutatenPreise.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from zutatenpreise where Zutat =(?)', (sado1,)) | |
| mako = cur.fetchall() | |
| for saro in mako : | |
| siko = float(entrybox6.get()) | |
| entrybox6.delete(0, END) | |
| entrybox6.insert(END, siko + math.floor(float(saro[2] * 2 * 100) / 100)) | |
| entrybox2.delete(0, END) | |
| else : | |
| sado = str(entrybox2.get()) | |
| sado1 = sado.strip() | |
| conn = sqlite3.connect("ZutatenPreise.db") | |
| cur = conn.cursor() | |
| cur.execute("select * from zutatenpreise") | |
| mako = cur.fetchall() | |
| countk = 0 | |
| modes = len(liso) | |
| num = int(modes) | |
| for saro in mako : | |
| if sado1 in saro : | |
| entrybox2.delete(0, END) | |
| listbox2.insert(END, ('+') + sado1) | |
| if num > 0 : | |
| liso.pop(0) | |
| print(num) | |
| else : | |
| siko = float(entrybox6.get()) | |
| entrybox6.delete(0, END) | |
| entrybox6.insert(END, siko + float(saro[2])) | |
| else : | |
| pass | |
| conn.commit() | |
| global einfbutton | |
| # einfbutton = Button(Mainframe2, text='einfugen', width=6, bg='green', command=addzutat) | |
| # einfbutton.place(x=630, y=70) | |
| entrybox2.bind('<Return>', addzutat) | |
| ############################################ Lieferzuschlag ############################################# | |
| conn12 = sqlite3.connect('Einstellung.db') | |
| global ako | |
| cur12 = conn12.cursor() | |
| cur12.execute(' select * from Lieferzuschlg ') | |
| cob = cur12.fetchall() | |
| for ido in cob : | |
| for ako in ido : | |
| float(ako) | |
| liefer = Label(Mainframe3, text='Mindestpreise:', bg='white', font=font_size, ) | |
| liefer.place(x=50, y=495) # für die lieferzuschlag oder Mindensten wert | |
| liefer1 = Label(Mainframe3, text=ako + '€', bg='white', font=font_size, fg='red') | |
| liefer1.place(x=165, y=495) | |
| ####################################Search and Autofill Functions####################################################### | |
| def update(data) : | |
| listbox1.delete(0, END) | |
| for tata in data : | |
| listbox1.insert(END, tata) | |
| def fillout(e) : | |
| entrybox1.delete(0, END) | |
| entrybox1.insert(0, listbox1.get(ANCHOR)) | |
| def check(e) : | |
| typed = entrybox1.get() | |
| nuym = entrybox3.get() | |
| if typed == "" : | |
| data = [toppings] | |
| else : | |
| data = [] | |
| for item in toppings : | |
| if typed.lower() in item.lower() : | |
| data.append(item) | |
| update(data) | |
| update(toppings) | |
| entrybox1.bind("<KeyRelease>", check) | |
| listbox1.bind("<<ListboxSelect>>", fillout) | |
| def Numbers_einfugen() : | |
| global ako | |
| solo = entrybox2.get() | |
| item1 = (entrybox4.get()) | |
| komm = entrybox12.get() | |
| if solo != '' : | |
| sicko = messagebox.showinfo('Mit Zutat', 'Bitte den Zutat mit Enter Bestätigen') | |
| else : | |
| if (item1.isdigit()) : | |
| insertdatatree() | |
| entrybox4.delete(0, END) | |
| entrybox4.insert(0, '1') | |
| entrybox2.delete(0, END) | |
| entrybox1.delete(0, END) | |
| listbox3.delete(0, END) | |
| entrybox3.delete(0, END) | |
| entrybox5.delete(0, END) | |
| entrybox6.delete(0, END) | |
| entrybox7.delete(0, END) | |
| entrybox7.insert(0, float(0.0)) | |
| entrybox8.delete(0, END) | |
| entrybox8.insert(0, float(0.0)) | |
| entrybox9.delete(0, END) | |
| entrybox9.insert(0, float(0.0)) | |
| entrybox10.delete(0, END) | |
| entrybox10.insert(0, float(0.0)) | |
| clicked.set('Klein') | |
| entrybox12.delete(0, END) | |
| drop.configure(font=('Helvetica bold', 12), bg="white", bd=4, width=5) | |
| entrybox1.focus_force() | |
| update(toppings) | |
| listbox2.delete(0, END) | |
| sopr = float(entrybox11.get()) | |
| liso.clear() | |
| if AdresseE.get() != 'ABHOLUNG' : | |
| if float(sopr) > float(ako) : | |
| liefer1.config(fg='green') | |
| else : | |
| liefer1.config(fg='red') | |
| else : | |
| tkinter.messagebox.showinfo("Error", "bei (Anzahl) ein nummer eingeben!!!") | |
| entrybox4.delete(0, END) | |
| global einfugen | |
| einfugen = Button(Mainframe2, text="Nächste", bg='green', bd=2, command=Numbers_einfugen, height=3) | |
| einfugen.place(x=820, y=70) | |
| ##################################Kunden liste Bestellung (functions)################################################### | |
| def popup() : | |
| response = MessageBox.showinfo("!", 'kunde existiert nicht, Bitte neu speichern ') | |
| Label(new_window2, text=response) | |
| # ---------------------------------------------------------------------------------------------------------------------# | |
| def reset() : | |
| KundenidE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| TelefonnummerE.delete(0, END) | |
| in_comment.delete('1.0', END) | |
| ext_comment.delete('1.0', END) | |
| EmailE.delete(0, END) | |
| ORTE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def search(event) : | |
| sqlCon = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| cur = sqlCon.cursor() | |
| ziko = TelefonnummerE.get() | |
| tiko = KundenidE.get() | |
| if ziko != '' and tiko == '' : | |
| cur.execute("select * from pizaa1 where Telefon=%s ", ziko) | |
| ar = cur.fetchall() | |
| for sag in ar : | |
| TelefonnummerE.delete(0, END) | |
| KundenidE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| in_comment.delete(1.0, END) | |
| ext_comment.delete('1.0', END) | |
| EmailE.delete(0, END) | |
| ORTE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| kundenid = KundenidE.insert(0, sag[0]) | |
| Name = NameE.insert(0, sag[1]) | |
| Addresse = AdresseE.insert(0, sag[2]) | |
| Telefon = TelefonnummerE.insert(0, sag[3]) | |
| int_comment = in_comment.insert("1.0", sag[4]) | |
| Nr = HauesnrE.insert(0, sag[5]) | |
| PLZ = PLZE.insert(0, sag[6]) | |
| ORT = ORTE.insert(0, sag[7]) | |
| Email = EmailE.insert(0, sag[8]) | |
| elif tiko != '' : | |
| cur.execute("select * from pizaa1 where kundenid=%s ", tiko) | |
| ar = cur.fetchall() | |
| for sag in ar : | |
| TelefonnummerE.delete(0, END) | |
| KundenidE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| in_comment.delete(1.0, END) | |
| ext_comment.delete('1.0', END) | |
| EmailE.delete(0, END) | |
| ORTE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| kundenid = KundenidE.insert(0, sag[0]) | |
| Name = NameE.insert(0, sag[1]) | |
| Addresse = AdresseE.insert(0, sag[2]) | |
| Telefon = TelefonnummerE.insert(0, sag[3]) | |
| int_comment = in_comment.insert("1.0", sag[4]) | |
| Nr = HauesnrE.insert(0, sag[5]) | |
| PLZ = PLZE.insert(0, sag[6]) | |
| ORT = ORTE.insert(0, sag[7]) | |
| Email = EmailE.insert(0, sag[8]) | |
| NameE.focus_force() | |
| sqlCon.commit() | |
| sqlCon.close() | |
| TelefonnummerE.bind('<Return>', search) | |
| KundenidE.bind('<Return>', search) | |
| ######################################################################################################################## | |
| def addDATA1() : | |
| maro = TelefonnummerE.get() | |
| con = pymysql.connect(host="localhost", user="root", password="A773468810598a", | |
| database="Kundendb") | |
| custor = con.cursor() | |
| if NameE.get() == "" or AdresseE.get() == "" or TelefonnummerE.get() == "" or HauesnrE.get() == "" or PLZE.get() == "" or ORTE.get() == "" : | |
| tkinter.messagebox.showerror('Error', 'alle felder sind pflichtfelder ') | |
| sol = "select * from pizaa1 where Telefon=%s" | |
| names = (maro,) | |
| result = custor.execute(sol, names) | |
| if result : | |
| MessageBox.showinfo("!", 'kunde exestiert Bitte auf Update Drucken') | |
| else : | |
| custor.execute( | |
| """insert into pizaa1 | |
| (Name,Addresse,Telefon,int_comment,Nr,PLZ,ORT,Email) | |
| values(%s,%s,%s,%s,%s,%s,%s,%s)""", | |
| (NameE.get(), | |
| AdresseE.get(), | |
| TelefonnummerE.get(), | |
| in_comment.get("1.0", END), | |
| HauesnrE.get(), | |
| PLZE.get(), | |
| ORTE.get(), | |
| EmailE.get(), | |
| )) | |
| MessageBox.showinfo("!", 'kunde gespeichert') | |
| custor.execute("commit") | |
| custor.close() | |
| ######################################################################################################################## | |
| def search1(event=None) : | |
| sqlCon = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| cur = sqlCon.cursor() | |
| tiko = KundenidE.get() | |
| if cur.execute("select * from pizaa1 where kundenid=%s ", tiko) : | |
| ar = cur.fetchall() | |
| KundenidE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| TelefonnummerE.delete(0, END) | |
| in_comment.delete('1.0', END) | |
| ext_comment.delete('1.0', END) | |
| EmailE.delete(0, END) | |
| ORTE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| for sag in ar : | |
| kundenid = KundenidE.insert(0, sag[0]) | |
| Name = NameE.insert(0, sag[1]) | |
| Addresse = AdresseE.insert(0, sag[2]) | |
| Telefon = TelefonnummerE.insert(0, sag[3]) | |
| int_comment = in_comment.insert(1.0, sag[4]) | |
| Nr = HauesnrE.insert(0, sag[5]) | |
| PLZ = PLZE.insert(0, sag[6]) | |
| ORT = ORTE.insert(0, sag[7]) | |
| Email = EmailE.insert(0, sag[8]) | |
| else : | |
| popup() | |
| sqlCon.commit() | |
| sqlCon.close() | |
| # ---------------------------------------------------------------------------------------------------------------------# | |
| def search3(event) : | |
| sqlCon = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| cur = sqlCon.cursor() | |
| ziko = NameE.get() | |
| tiko = KundenidE.get() | |
| if ziko != '' and tiko == '' : | |
| cur.execute("select * from pizaa1 where Name=%s ", ziko) | |
| ar = cur.fetchall() | |
| for sag in ar : | |
| TelefonnummerE.delete(0, END) | |
| KundenidE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| in_comment.delete(1.0, END) | |
| ext_comment.delete('1.0', END) | |
| EmailE.delete(0, END) | |
| ORTE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| kundenid = KundenidE.insert(0, sag[0]) | |
| Name = NameE.insert(0, sag[1]) | |
| Addresse = AdresseE.insert(0, sag[2]) | |
| Telefon = TelefonnummerE.insert(0, sag[3]) | |
| int_comment = in_comment.insert("1.0", sag[4]) | |
| Nr = HauesnrE.insert(0, sag[5]) | |
| PLZ = PLZE.insert(0, sag[6]) | |
| ORT = ORTE.insert(0, sag[7]) | |
| Email = EmailE.insert(0, sag[8]) | |
| elif tiko != '' : | |
| cur.execute("select * from pizaa1 where kundenid=%s ", tiko) | |
| ar = cur.fetchall() | |
| for sag in ar : | |
| TelefonnummerE.delete(0, END) | |
| KundenidE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| in_comment.delete(1.0, END) | |
| ext_comment.delete('1.0', END) | |
| EmailE.delete(0, END) | |
| ORTE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| kundenid = KundenidE.insert(0, sag[0]) | |
| Name = NameE.insert(0, sag[1]) | |
| Addresse = AdresseE.insert(0, sag[2]) | |
| Telefon = TelefonnummerE.insert(0, sag[3]) | |
| int_comment = in_comment.insert("1.0", sag[4]) | |
| Nr = HauesnrE.insert(0, sag[5]) | |
| PLZ = PLZE.insert(0, sag[6]) | |
| ORT = ORTE.insert(0, sag[7]) | |
| Email = EmailE.insert(0, sag[8]) | |
| sqlCon.commit() | |
| sqlCon.close() | |
| ######################################################################################################################## | |
| def bestelliste() : | |
| global new_window | |
| font_size = ("ARIEL", 12, "bold") | |
| new_window5 = Toplevel(root) | |
| screen_width = new_window5.winfo_screenwidth() | |
| screen_height = new_window5.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| new_window5.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| new_window5.config(bg='dark slate gray') | |
| new_window5.resizable(width=False, height=False) | |
| new_window5.configure(bg='SlateGray4') | |
| new_window5.title(220 * titlespace + "Liste") | |
| new_window5.resizable(width=False, height=False) | |
| Frame1 = Frame(new_window5, width=550, bg='white', bd=4, height=1200, relief=RIDGE) | |
| Frame1.place(x=0, y=0) | |
| Frame2 = Frame(new_window5, width=1050, bd=4, height=400) | |
| Frame2.place(x=500, y=510) | |
| Frame3 = Frame(new_window5, width=550, bg='white', bd=4, height=600, relief=RIDGE) | |
| Frame3.place(x=1045, y=0) | |
| # bestell_liste: Listbox=Listbox(Frame1,bd=6,width=20,height=25,bg='white') | |
| # bestell_liste.place(x=35,y=65) | |
| # bestell_liste.config(font=('arial', 16, 'bold')) | |
| # nr_liste = Listbox(Frame1, bd=6, width=2, height=25, bg='white') | |
| # nr_liste.place(x=0, y=65) | |
| # nr_liste.config(font=('arial', 16, 'bold')) | |
| Update = Label(Frame1, text=' Heute Bestellung ', font=font_size, bd=4, bg='SlateGray3', height=1, | |
| width=48) | |
| Update.place(x=0, y=0) | |
| # nr = Label(Frame1, text='Nr ', font=('arial', 16, 'bold'), bd=4, bg='white', height=1, width=2) | |
| # nr.place(x=0, y=35) | |
| # name = Label(Frame1, text='Name ', font=('arial', 16, 'bold'), bd=4, bg='white', height=1 ) | |
| # name.place(x=60, y=35) | |
| KundenidE = Entry(new_window5, width=6, bd=5, bg='white smoke') | |
| KundenidE.place(x=510, y=35) | |
| KundenidE.configure(font=font_size) | |
| NameE = Entry(new_window5, bd=5, width=25, bg='white smoke') | |
| NameE.place(x=510, y=94) | |
| NameE.configure(font=font_size) | |
| AdresseE = Entry(new_window5, width=30, bd=5, font=("Helvetica", 12, 'bold')) | |
| AdresseE.place(x=510, y=162) | |
| HauesnrE = Entry(new_window5, bd=5, width=4, bg='white smoke') | |
| HauesnrE.place(x=810, y=162) | |
| HauesnrE.configure(font=font_size) | |
| PLZE = Entry(new_window5, bd=5, width=7, bg='white smoke') | |
| PLZE.place(x=510, y=230) | |
| PLZE.configure(font=font_size) | |
| ORTE = Entry(new_window5, bd=5, width=15, bg='white smoke') | |
| ORTE.place(x=680, y=230) | |
| ORTE.configure(font=font_size) | |
| TelefonnummerE = Entry(new_window5, bd=5, width=20, bg='white smoke') | |
| TelefonnummerE.place(x=630, y=35) | |
| TelefonnummerE.configure(font=font_size) | |
| EmailE = Entry(new_window5, bd=5, width=30, bg='white smoke') | |
| EmailE.place(x=510, y=300) | |
| EmailE.configure(font=font_size) | |
| BestellzeitE = Entry(new_window5, width=20, bd=5) | |
| BestellzeitE.place(x=510, y=370) | |
| BestellzeitE.configure(font=font_size) | |
| bedinerE = Entry(new_window5, bd=5, width=10, bg='white smoke') | |
| bedinerE.place(x=610, y=410) | |
| bedinerE.configure(font=font_size) | |
| lieferzeitE = Entry(new_window5, bd=5, width=10, bg='white smoke') | |
| lieferzeitE.place(x=610, y=453) | |
| lieferzeitE.configure(font=font_size) | |
| GpreisE = Entry(new_window5, bd=5, width=10, bg='white smoke') | |
| GpreisE.place(x=940, y=453) | |
| GpreisE.configure(font=font_size) | |
| sucheE = Entry(new_window5, bd=5, width=15, bg='white smoke') | |
| sucheE.place(x=170, y=510) | |
| sucheE.configure(font=font_size) | |
| # -------------------------------------------- Labels ------------------------------------------------------------# | |
| Kundenid = Label(new_window5, bd=0, text='Kunden/ID', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=10) | |
| Name = Label(new_window5, bd=0, text='Name:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=70) | |
| Adresse = Label(new_window5, bd=0, text='Straße:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=135) | |
| Hausnr = Label(new_window5, bd=0, text='Nr:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=810, y=135) | |
| PLZ = Label(new_window5, bd=0, text='PLZ:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=205) | |
| Ort = Label(new_window5, bd=0, text='ORT:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=675, y=205) | |
| Telefonnummer = Label(new_window5, bd=0, text='Telefonnummer:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=630, y=10) | |
| Email = Label(new_window5, bd=0, text='Email:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=272) | |
| Bestellzeit = Label(new_window5, bd=0, text='Bestellzeit:', font=('arial', 16, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=342) | |
| bediner = Label(new_window5, bd=0, text='Bediener:', font=('arial', 16, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=415) | |
| LIEFERZEIT = Label(new_window5, bd=0, text='Lieferzet:', font=('arial', 16, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=455) | |
| GesamtPreis = Label(new_window5, bd=0, text='Gesamte Preis:', font=('arial', 16, 'bold'), bg='SlateGray4') \ | |
| .place(x=750, y=455) | |
| suchenl = Label(new_window5, bd=0, text='Name eingeben :', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=0, y=510) | |
| # ---------------------------------------------Bbestelltree---------------------------------------------------------# | |
| style = ttk.Style() | |
| style.theme_use("clam") | |
| style.configure("Treeview", background='white', foreground="black", rowheight=25, font=("ARIEL", 9, 'bold'), | |
| fieldbackground="silver") | |
| style.map('Treeview', background=[('selected', 'red')]) | |
| style.configure("Treeview.Heading", font=('bold', 12)) | |
| style.configure("Treeview.column", font=('bold', 6)) | |
| style.configure('Treeview', rowheight=40) | |
| style.configure('Treeview.row', font=('bold', 20)) | |
| myTree = ttk.Treeview(Frame2) | |
| myTree['columns'] = ("pos", "Grosse", "Anzahl", "Nr", "Speise", "Mit", "Ohne", "Katagorie", "Preis",) | |
| myTree.column("#0", width=0, stretch=NO) | |
| myTree.column("pos", anchor=CENTER, width=40, stretch=TRUE, ) | |
| myTree.column("Grosse", anchor=CENTER, width=80) | |
| myTree.column("Anzahl", anchor=CENTER, width=35) | |
| myTree.column("Nr", anchor=CENTER, width=35) | |
| myTree.column("Speise", anchor=W, width=120) | |
| myTree.column("Mit", anchor=W, width=430, stretch=TRUE) | |
| myTree.column("Ohne", anchor=W, width=190, stretch=TRUE) | |
| myTree.column("Katagorie", anchor=CENTER, width=80) | |
| myTree.column("Preis", anchor=CENTER, width=80) | |
| myTree.tag_configure('pos', background='gray') | |
| myTree.heading("#0", text="", anchor=W) | |
| myTree.heading("pos", text="pos", anchor=W) | |
| myTree.heading("Grosse", text="Grosse", anchor=W) | |
| myTree.heading("Anzahl", text="Anzahl", anchor=W) | |
| myTree.heading("Nr", text="Nr", anchor=W) | |
| myTree.heading("Speise", text="Speise", anchor=CENTER) | |
| myTree.heading("Mit", text="Mit", anchor=CENTER) | |
| myTree.heading("Ohne", text="Ohne", anchor=CENTER) | |
| myTree.heading("Katagorie", text="Katagorie", anchor=CENTER) | |
| myTree.heading("Preis", text="Preis", anchor=W) | |
| myTree.pack() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| besteltree = ttk.Treeview(Frame1) | |
| besteltree['columns'] = ("Nr", "Name", "Datum/Uhrzeit", "Straße", "Haus/nr") | |
| besteltree.column("#0", width=0, stretch=NO) | |
| besteltree.column("Nr", anchor=CENTER, width=40, stretch=TRUE, ) | |
| besteltree.column("Name", anchor=CENTER, width=120) | |
| besteltree.column("Datum/Uhrzeit", anchor=W, width=160) | |
| besteltree.column("Straße", anchor=W, width=120) | |
| besteltree.column("Haus/nr", anchor=W, width=40) | |
| besteltree.tag_configure('pos', background='white') | |
| besteltree.heading("#0", text="", anchor=W) | |
| besteltree.heading("Nr", text="Nr", anchor=W) | |
| besteltree.heading("Name", text="Name", anchor=W) | |
| besteltree.heading("Datum/Uhrzeit", text="Datum/Uhrzeit", anchor=W) | |
| besteltree.heading("Straße", text="Straße", anchor=W) | |
| besteltree.heading("Haus/nr", text="nr", anchor=W) | |
| besteltree.pack() | |
| # ------------------------------------------------AbholTree---------------------------------------------------------# | |
| besteltree1 = ttk.Treeview(Frame3) | |
| besteltree1['columns'] = ("Nr", "Name", "Datum/Uhrzeit", "Straße", "Haus/nr") | |
| besteltree1.column("#0", width=0, stretch=NO) | |
| besteltree1.column("Nr", anchor=CENTER, width=40, stretch=TRUE, ) | |
| besteltree1.column("Name", anchor=CENTER, width=120) | |
| besteltree1.column("Datum/Uhrzeit", anchor=W, width=160) | |
| besteltree1.column("Straße", anchor=W, width=120) | |
| besteltree1.column("Haus/nr", anchor=W, width=40) | |
| besteltree1.tag_configure('pos', background='white') | |
| besteltree1.heading("#0", text="", anchor=W) | |
| besteltree1.heading("Nr", text="Nr", anchor=W) | |
| besteltree1.heading("Name", text="Name", anchor=W) | |
| besteltree1.heading("Datum/Uhrzeit", text="Datum/Uhrzeit", anchor=W) | |
| besteltree1.heading("Straße", text="Straße", anchor=W) | |
| besteltree1.heading("Haus/nr", text="nr", anchor=W) | |
| besteltree1.pack() | |
| # ----------------------------------------------------------get bestelldata und insert in Tree----------------------# | |
| abhol = 'ABHOLUNG' | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo where kstrasse!=(?) order by ID DESC ', (abhol,)) | |
| firo = cur.fetchall() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn1.cursor() | |
| cur1.execute('select * from kundeinfo where kstrasse =(?) order by ID DESC ', (abhol,)) | |
| firo1 = cur1.fetchall() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| global count | |
| count = 0 | |
| for ziko in firo : | |
| besteltree.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(ziko[0], ziko[3], ziko[10], ziko[4], ziko[5])) | |
| count += 1 | |
| global counts | |
| counts = 0 | |
| for ziko1 in firo1 : | |
| besteltree1.insert(parent='', open=True, index='end', iid=counts, text='', | |
| values=(ziko1[0], ziko1[3], ziko1[10], ziko1[4], ziko1[5])) | |
| counts += 1 | |
| # -------------------------------------------- Functions ---------------------------------------------------------# | |
| def clear() : | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| bestel = ('kundeinfo') | |
| cur.execute('delete from kundeinfo') | |
| cur.execute('delete from sqlite_sequence where name = (?) ', (bestel,)) | |
| conn.commit() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn.cursor() | |
| cur1.execute('delete from speiseinfo') | |
| conn1.commit() | |
| new_window5.destroy() | |
| openwindow6() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def bestat() : | |
| sick100 = besteltree.focus() | |
| times = (besteltree.item(sick100)['values'][2]) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('delete from kundeinfo where zeit=(?)', (times,)) | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn.cursor() | |
| cur1.execute('delete from speiseinfo where zeit=(?)', (times,)) | |
| conn.commit() | |
| conn1.commit | |
| KundenidE.delete(0, END) | |
| for record in myTree.get_children() : | |
| myTree.delete(record) | |
| TelefonnummerE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| ORTE.delete(0, END) | |
| EmailE.delete(0, END) | |
| lieferzeitE.delete(0, END) | |
| bedinerE.delete(0, END) | |
| BestellzeitE.delete(0, END) | |
| GpreisE.delete(0, END) | |
| new_window5.destroy() | |
| openwindow6() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def clicking(e=NONE) : | |
| global count | |
| KundenidE.config(state=NORMAL) | |
| TelefonnummerE.config(state=NORMAL) | |
| NameE.config(state=NORMAL) | |
| AdresseE.config(state=NORMAL) | |
| ORTE.config(state=NORMAL) | |
| PLZE.config(state=NORMAL) | |
| EmailE.config(state=NORMAL) | |
| BestellzeitE.config(state=NORMAL) | |
| bedinerE.config(state=NORMAL) | |
| lieferzeitE.config(state=NORMAL) | |
| HauesnrE.config(state=NORMAL) | |
| GpreisE.config(state=NORMAL) | |
| count = 0 | |
| sick100 = besteltree.focus() | |
| numos = (besteltree.item(sick100)['values'][0]) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo where ID =(?) order by ID DESC ', (numos,)) | |
| tor = cur.fetchall() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn.cursor() | |
| cur1.execute('select zeit from kundeinfo where ID =(?) order by ID DESC ', (numos,)) | |
| tor1 = str(cur1.fetchall()) | |
| tor1.strip() | |
| tor2 = tor1.replace('[', '').replace(']', '').replace('(', '').replace(')', '').replace("'", | |
| '').replace(',', | |
| '') | |
| for na in tor : | |
| KundenidE.delete(0, END) | |
| for record in myTree.get_children() : | |
| myTree.delete(record) | |
| TelefonnummerE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| ORTE.delete(0, END) | |
| EmailE.delete(0, END) | |
| lieferzeitE.delete(0, END) | |
| bedinerE.delete(0, END) | |
| BestellzeitE.delete(0, END) | |
| GpreisE.delete(0, END) | |
| KundenidE.insert(0, na[1]) | |
| TelefonnummerE.insert(0, na[2]) | |
| NameE.insert(0, na[3]) | |
| AdresseE.insert(0, na[4]) | |
| HauesnrE.insert(0, na[5]) | |
| PLZE.insert(0, na[6]) | |
| ORTE.insert(0, na[7]) | |
| EmailE.insert(0, na[8]) | |
| BestellzeitE.insert(0, na[10]) | |
| bedinerE.insert(0, na[9]) | |
| GpreisE.insert(0, na[13]) | |
| KundenidE.config(state=DISABLED) | |
| TelefonnummerE.config(state=DISABLED) | |
| NameE.config(state=DISABLED) | |
| AdresseE.config(state=DISABLED) | |
| ORTE.config(state=DISABLED) | |
| PLZE.config(state=DISABLED) | |
| EmailE.config(state=DISABLED) | |
| BestellzeitE.config(state=DISABLED) | |
| bedinerE.config(state=DISABLED) | |
| HauesnrE.config(state=DISABLED) | |
| GpreisE.config(state=DISABLED) | |
| if na[11] != '' : | |
| lieferzeitE.insert(0, na[11]) | |
| lieferzeitE.config(state=DISABLED) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from speiseinfo where zeit =(?) ', (tor2,)) | |
| cos = cur.fetchall() | |
| for zol in cos : | |
| myTree.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(zol[1], zol[2], zol[3], | |
| zol[4], zol[5], | |
| zol[6], zol[7], zol[8], zol[9])) | |
| count += 1 | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def clicking1(e=NONE) : | |
| global count | |
| KundenidE.config(state=NORMAL) | |
| TelefonnummerE.config(state=NORMAL) | |
| NameE.config(state=NORMAL) | |
| AdresseE.config(state=NORMAL) | |
| ORTE.config(state=NORMAL) | |
| PLZE.config(state=NORMAL) | |
| EmailE.config(state=NORMAL) | |
| BestellzeitE.config(state=NORMAL) | |
| bedinerE.config(state=NORMAL) | |
| lieferzeitE.config(state=NORMAL) | |
| HauesnrE.config(state=NORMAL) | |
| GpreisE.config(state=NORMAL) | |
| count = 0 | |
| sick100 = besteltree1.focus() | |
| numos = (besteltree1.item(sick100)['values'][0]) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo where ID =(?) ', (numos,)) | |
| tor = cur.fetchall() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn.cursor() | |
| abhol = 'ABHOLUNG' | |
| cur1.execute('select zeit from kundeinfo where ID =(?) ', (numos,)) | |
| tor1 = str(cur1.fetchall()) | |
| tor1.strip() | |
| tor2 = tor1.replace('[', '').replace(']', '').replace('(', '').replace(')', '').replace("'", | |
| '').replace(',', | |
| '') | |
| for na in tor : | |
| KundenidE.delete(0, END) | |
| for record in myTree.get_children() : | |
| myTree.delete(record) | |
| TelefonnummerE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| ORTE.delete(0, END) | |
| EmailE.delete(0, END) | |
| lieferzeitE.delete(0, END) | |
| bedinerE.delete(0, END) | |
| BestellzeitE.delete(0, END) | |
| GpreisE.delete(0, END) | |
| KundenidE.insert(0, na[1]) | |
| TelefonnummerE.insert(0, na[2]) | |
| NameE.insert(0, na[3]) | |
| AdresseE.insert(0, na[4]) | |
| HauesnrE.insert(0, na[5]) | |
| PLZE.insert(0, na[6]) | |
| ORTE.insert(0, na[7]) | |
| EmailE.insert(0, na[8]) | |
| BestellzeitE.insert(0, na[10]) | |
| bedinerE.insert(0, na[9]) | |
| GpreisE.insert(0, na[13]) | |
| KundenidE.config(state=DISABLED) | |
| TelefonnummerE.config(state=DISABLED) | |
| NameE.config(state=DISABLED) | |
| AdresseE.config(state=DISABLED) | |
| ORTE.config(state=DISABLED) | |
| PLZE.config(state=DISABLED) | |
| EmailE.config(state=DISABLED) | |
| BestellzeitE.config(state=DISABLED) | |
| bedinerE.config(state=DISABLED) | |
| HauesnrE.config(state=DISABLED) | |
| GpreisE.config(state=DISABLED) | |
| if na[11] != '' : | |
| lieferzeitE.insert(0, na[11]) | |
| lieferzeitE.config(state=DISABLED) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from speiseinfo where zeit =(?) ', (tor2,)) | |
| cos = cur.fetchall() | |
| for zol in cos : | |
| myTree.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(zol[1], zol[2], zol[3], | |
| zol[4], zol[5], | |
| zol[6], zol[7], zol[8], zol[9])) | |
| count += 1 | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def Reset() : | |
| KundenidE.config(state=NORMAL) | |
| TelefonnummerE.config(state=NORMAL) | |
| NameE.config(state=NORMAL) | |
| AdresseE.config(state=NORMAL) | |
| ORTE.config(state=NORMAL) | |
| PLZE.config(state=NORMAL) | |
| EmailE.config(state=NORMAL) | |
| BestellzeitE.config(state=NORMAL) | |
| bedinerE.config(state=NORMAL) | |
| lieferzeitE.config(state=NORMAL) | |
| HauesnrE.config(state=NORMAL) | |
| GpreisE.config(state=NORMAL) | |
| KundenidE.delete(0, END) | |
| for record in myTree.get_children() : | |
| myTree.delete(record) | |
| for tom in besteltree.get_children() : | |
| besteltree.delete(tom) | |
| TelefonnummerE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| ORTE.delete(0, END) | |
| EmailE.delete(0, END) | |
| lieferzeitE.delete(0, END) | |
| bedinerE.delete(0, END) | |
| BestellzeitE.delete(0, END) | |
| GpreisE.delete(0, END) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo ') | |
| firo = cur.fetchall() | |
| count = 0 | |
| for ziko in firo : | |
| besteltree.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(ziko[0], ziko[3], ziko[10], ziko[4])) | |
| count += 1 | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def search_data() : | |
| country = 0 | |
| get_record = sucheE.get() | |
| for record in besteltree.get_children() : | |
| besteltree.delete(record) | |
| sucheE.delete(0, END) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo where kname like (?) ', (get_record,)) | |
| toz = cur.fetchall() | |
| print(get_record) | |
| for item in toz : | |
| besteltree.insert(parent='', open=True, index='end', iid=country, text='', | |
| values=(item[0], item[3], item[10], item[4])) | |
| country += 1 | |
| # ---------------------------------------------- Buttons -----------------------------------------------------------# | |
| show = Button(new_window5, bd=4, text='Abrufen', width=10, height=2, bg='green', command=clicking) | |
| show.place(x=100, y=442) | |
| show = Button(new_window5, bd=4, text='Abrufen', width=10, height=2, bg='green', command=clicking1) | |
| show.place(x=1120, y=442) | |
| besteltree.bind('<Double-Button-1>', clicking) | |
| reset_ = Button(new_window5, bd=4, text='Reset', width=10, height=2, bg='Blue', command=Reset) | |
| reset_.place(x=200, y=442) | |
| sucheb_ = Button(new_window5, bd=4, text='Suche', width=8, height=1, bg='CADET BLUE', command=search_data) | |
| sucheb_.place(x=320, y=510) | |
| def openwindow7() : | |
| global new_window | |
| font_size = ("ARIEL", 12, "bold") | |
| new_window6 = Toplevel(root) | |
| screen_width = new_window6.winfo_screenwidth() | |
| screen_height = new_window6.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| new_window6.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| new_window6.config(bg='dark slate gray') | |
| new_window6.resizable(width=False, height=False) | |
| new_window6.configure(bg='SlateGray4') | |
| new_window6.title(220 * titlespace + "Liste") | |
| new_window6.resizable(width=False, height=False) | |
| Frame1 = Frame(new_window6, width=550, bg='white', bd=4, height=1200, relief=RIDGE) | |
| Frame1.place(x=0, y=0) | |
| def update1() : | |
| if NameE.get() == "" or AdresseE.get() == "" or TelefonnummerE.get() == "" or HauesnrE.get() == "" or PLZE.get() == "" or ORTE.get() == "" : | |
| tkinter.messagebox.showerror('Error', 'alle felder sind pflichtfelder ') | |
| else : | |
| miko = TelefonnummerE.get() | |
| sqlCon = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| cur = sqlCon.cursor() | |
| cur.execute( | |
| """update pizaa1 set Name=%s,Addresse=%s,int_comment=%s,Nr=%s,PLZ=%s,ORT=%s,Email=%s where Telefon=%s""", | |
| (NameE.get(), | |
| AdresseE.get(), | |
| in_comment.get("1.0", END), | |
| HauesnrE.get(), | |
| PLZE.get(), | |
| ORTE.get(), | |
| EmailE.get(), | |
| TelefonnummerE.get() | |
| )) | |
| sqlCon.commit() | |
| sqlCon.close() | |
| reset() | |
| MessageBox.showinfo("!", 'Daten geandert') | |
| ######################################################################################################################## | |
| def delete() : | |
| sqlCon = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| cur = sqlCon.cursor() | |
| cur.execute("delete from clients where kundenid=%s", KundenidE.get()) | |
| sqlCon.commit() | |
| reset() | |
| sqlCon.close() | |
| ####################################Kunden listeBestellung(Buttons)##################################################### | |
| # btnsearch = Button(Mainframe1, font=('arial', 7, 'bold'), text='suche', bd=4, bg='red', pady=1, | |
| # padx=24, | |
| # width=4, height=1, command=search) | |
| # btnsearch.place(x=175,y=340) | |
| global text1 | |
| printframe = Frame(new_window2, width=60, height=60, bg='white') | |
| scrolbar = Scrollbar(printframe) | |
| scrolbar.pack(side=RIGHT, fill=Y) | |
| btnspeicher = Button(Mainframe1, font=('arial', 10, 'bold'), text='Speichern', bd=4, bg='green', pady=1, | |
| padx=24, | |
| width=3, height=2, command=addDATA1) | |
| btnspeicher.place(x=0, y=340) | |
| text1 = Text(new_window2, height=40, bg='white', bd=0, font=('arial', 14, 'bold')) | |
| btnsuche1 = Button(Mainframe1, font=('arial', 7, 'bold'), text='suche', bd=4, bg='red', | |
| pady=1, | |
| padx=24, | |
| width=4, height=1, command=search3) | |
| KundenidE.bind('<Return>', search1) | |
| NameE.bind('<Return>', search3) | |
| btnsuche1.bind('<Return>', search3) | |
| btnreset = Button(Mainframe1, font=('arial', 10, 'bold'), text='Löschen', bd=4, bg='red', pady=1, | |
| padx=24, | |
| width=3, height=2, command=reset) | |
| btnreset.place(x=90, y=340) | |
| btndelet = Button(Mainframe1, font=('arial', 10, 'bold'), text='delete', bd=4, bg='red', pady=1, | |
| padx=24, | |
| width=3, height=2, command=delete) | |
| btnupdate = Button(Mainframe1, font=('arial', 10, 'bold'), text='Update', bd=4, bg='orange', pady=1, | |
| padx=24, | |
| width=3, height=2, command=update1) | |
| btnupdate.place(x=180, y=340) | |
| btnliste = Button(Mainframe1, font=('arial', 8, 'bold'), text='', bd=0, bg='dark slate gray', pady=1, | |
| padx=24, | |
| width=1, height=1, command=bestelliste) | |
| btnliste.place(x=50, y=200) | |
| # ---------------------------------------------------------- HIDE FUNCTION --------------------------------------------# | |
| def hide() : | |
| global counts, text1 | |
| tek = TelefonnummerE.get() | |
| tik = NameE.get() | |
| con = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| custor = con.cursor() | |
| custor1 = con.cursor() | |
| custor1.execute("select * from blacklist") | |
| blacky = custor1.fetchall() | |
| for tizi in blacky : | |
| if tik in tizi : | |
| messagebox.showwarning('Achtung', 'DIESE KUNDE STEHT AUF DIE BLACK LISTE') | |
| custor.execute('select Telefon from pizaa1') | |
| conlo = custor.fetchall() | |
| telefon = [] | |
| for holo in conlo : | |
| salo = str(holo) | |
| mako = salo.replace(',', '').replace("'", "").replace('(', '').replace(')', '') | |
| telefon.append(mako) | |
| if tek not in telefon and TelefonnummerE.get() != '' and AdresseE.get() != '' : | |
| saro = messagebox.askyesno('M2 Bestellsystem', 'Kunde exestiert nicht wollen Sie speichern? ') | |
| if saro == 1 : | |
| addDATA1() | |
| mou = AdresseE.get() | |
| if mou != '' : | |
| counts == 1 | |
| Mainframe2.grid(row=0, column=2, sticky='n') | |
| Mainframe3.place(x=400, y=350) | |
| KundenidE.configure(state=DISABLED) | |
| TelefonnummerE.configure(state=DISABLED) | |
| NameE.configure(state=DISABLED) | |
| AdresseE.configure(state=DISABLED) | |
| HauesnrE.configure(state=DISABLED) | |
| PLZE.configure(state=DISABLED) | |
| ORTE.configure(state=DISABLED) | |
| EmailE.configure(state=DISABLED) | |
| text1.place_forget() | |
| else : | |
| messagebox.showinfo('Adresse', 'Bitte Adresse eingeben!!') | |
| def hide1() : | |
| global counts, text1 | |
| tek = TelefonnummerE.get() | |
| tik = NameE.get() | |
| con = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| custor = con.cursor() | |
| custor1 = con.cursor() | |
| custor1.execute("select * from blacklist") | |
| blacky = custor1.fetchall() | |
| for tizi in blacky : | |
| if tik in tizi : | |
| messagebox.showwarning('Achtung', 'DIESE KUNDE STEHT AUF DIE BLACK LISTE') | |
| custor.execute('select Telefon from pizaa1') | |
| conlo = custor.fetchall() | |
| telefon = [] | |
| for holo in conlo : | |
| salo = str(holo) | |
| mako = salo.replace(',', '').replace("'", "").replace('(', '').replace(')', '') | |
| telefon.append(mako) | |
| Mainframe2.grid(row=0, column=2, sticky='n') | |
| Mainframe3.place(x=400, y=350) | |
| KundenidE.configure(state=DISABLED) | |
| TelefonnummerE.configure(state=DISABLED) | |
| NameE.configure(state=DISABLED) | |
| AdresseE.delete(0, END) | |
| AdresseE.insert(0, 'ABHOLUNG') | |
| AdresseE.configure(state=DISABLED) | |
| HauesnrE.delete(0, END) | |
| HauesnrE.configure(state=DISABLED) | |
| PLZE.delete(0, END) | |
| PLZE.configure(state=DISABLED) | |
| ORTE.delete(0, END) | |
| ORTE.configure(state=DISABLED) | |
| EmailE.configure(state=DISABLED) | |
| text1.place_forget() | |
| liefer.config(state=DISABLED) | |
| liefer1.config(state=DISABLED) | |
| btnüber = Button(Mainframe1, font=('arial', 10, 'bold'), text='Lieferung', bd=4, bg='RoyalBlue3', pady=1, | |
| padx=24, | |
| width=3, height=2, command=hide) | |
| btnüber.place(x=10, y=440) | |
| btnüberA = Button(Mainframe1, font=('arial', 10, 'bold'), text='Abholung', bd=4, bg='#ff512f', pady=1, | |
| padx=24, | |
| width=3, height=2, command=hide1) | |
| btnüberA.place(x=120, y=440) | |
| def neubrechnen() : | |
| end = float(entrybox11.get()) | |
| rabb = float(entrybox10.get()) | |
| gutsch = float(entrybox9.get()) | |
| if rabb != 0.0 : | |
| entrybox11.delete(0, END) | |
| entrybox10.config(state=DISABLED) | |
| ziko = (rabb * end) / 100.0 | |
| zaka = end - ziko | |
| ert = (math.floor(float(zaka) * 100) / 100) | |
| entrybox11.insert(0, ert) | |
| elif gutsch != 0.0 : | |
| entrybox11.delete(0, END) | |
| entrybox9.config(state=DISABLED) | |
| zazo = end - gutsch | |
| erto = (math.floor(float(zazo) * 100) / 100) | |
| entrybox11.insert(0, erto) | |
| btnrech = Button(Mainframe2, font=('arial', 10, 'bold'), text='Berechnen', bd=4, bg='Green', pady=1, | |
| padx=24, | |
| width=3, height=1, command=neubrechnen) | |
| btnrech.place(x=1065, y=295) | |
| global call | |
| global call1 | |
| call = [] | |
| call1 = [] | |
| ##################################################### Fritzcaller ##################################################### | |
| def fritz() : | |
| global call, call1 | |
| cono = sqlite3.connect('journal.sqlite') | |
| curo = cono.cursor() | |
| curo.execute('select areacode,number from calls ORDER BY uuid DESC ') | |
| cico = curo.fetchone() | |
| call1.clear() | |
| sarmi = str(cico).replace('(', '').replace("'", "").replace(' ', '').replace(')', '').replace(',', '') | |
| call1.append(sarmi) | |
| if call != call1 : | |
| for saro in call1 : | |
| TelefonnummerE.insert(0, '0' + saro) | |
| TelefonnummerE.focus_force() | |
| press('enter') | |
| call1.clear() | |
| call.clear() | |
| call1.append(saro) | |
| call.append(saro) | |
| Timer(5, fritz).start() | |
| else : | |
| Timer(5, fritz).start() | |
| fritz() | |
| # isdn = Button(Mainframe1, text='ISDN', bg='blue', font=("ARIEL", 8, 'bold'), command=fritz) | |
| # isdn.place(x=120, y=10) | |
| ##################################################### Tree view Bestellung ############################################ | |
| style = ttk.Style() | |
| style.theme_use("clam") | |
| style.configure("Treeview", background='white', foreground="black", rowheight=25, font=("ARIEL", 9, 'bold'), | |
| fieldbackground="silver") | |
| style.map('Treeview', background=[('selected', 'red')]) | |
| style.configure("Treeview.Heading", font=('bold', 12)) | |
| style.configure("Treeview.column", font=('bold', 6)) | |
| style.configure('Treeview', rowheight=40) | |
| style.configure('Treeview.row', font=('bold', 20)) | |
| BestellTree = ttk.Treeview(Mainframe3) | |
| BestellTree['columns'] = ("pos", "Grosse", "Anzahl", "Nr", "Speise", "Mit", "Ohne", "Katagorie", "Preis",) | |
| BestellTree.column("#0", width=0, stretch=NO) | |
| BestellTree.column("pos", anchor=CENTER, width=40, stretch=TRUE, ) | |
| BestellTree.column("Grosse", anchor=CENTER, width=80) | |
| BestellTree.column("Anzahl", anchor=CENTER, width=35) | |
| BestellTree.column("Nr", anchor=CENTER, width=35) | |
| BestellTree.column("Speise", anchor=W, width=140) | |
| BestellTree.column("Mit", anchor=W, width=500, stretch=TRUE) | |
| BestellTree.column("Ohne", anchor=W, width=180, stretch=TRUE) | |
| BestellTree.column("Katagorie", anchor=CENTER, width=100) | |
| BestellTree.column("Preis", anchor=CENTER, width=60) | |
| BestellTree.tag_configure('pos', background='gray') | |
| BestellTree.heading("#0", text="", anchor=W) | |
| BestellTree.heading("pos", text="pos", anchor=W) | |
| BestellTree.heading("Grosse", text="Grosse", anchor=W) | |
| BestellTree.heading("Anzahl", text="Anzahl", anchor=W) | |
| BestellTree.heading("Nr", text="Nr", anchor=W) | |
| BestellTree.heading("Speise", text="Speise", anchor=CENTER) | |
| BestellTree.heading("Mit", text="Mit", anchor=CENTER) | |
| BestellTree.heading("Ohne", text="Ohne", anchor=CENTER) | |
| BestellTree.heading("Katagorie", text="Katagorie", anchor=CENTER) | |
| BestellTree.heading("Preis", text="Preis", anchor=W) | |
| # ################################ Delete all Data ######################################################## | |
| def remove_all1() : | |
| global count | |
| update(toppings) | |
| mos = 0 | |
| miko = messagebox.askyesno('Abbrechen', 'wollen sie wirklich abbrechen') | |
| for i in BestellTree.get_children() : | |
| if not BestellTree.item(i, "values") : | |
| mos = 0 | |
| else : | |
| mos = 1 | |
| if miko == 1 : | |
| if mos == 0 : | |
| resetall() | |
| entrybox1.delete(0, END) | |
| entrybox11.delete(0, END) | |
| entrybox11.insert(0, 0.0) | |
| count = 0 | |
| Mainframe2.grid_forget() | |
| Mainframe3.place_forget() | |
| KundenidE.configure(state=NORMAL) | |
| TelefonnummerE.configure(state=NORMAL) | |
| NameE.configure(state=NORMAL) | |
| AdresseE.configure(state=NORMAL) | |
| HauesnrE.configure(state=NORMAL) | |
| PLZE.configure(state=NORMAL) | |
| ORTE.configure(state=NORMAL) | |
| EmailE.configure(state=NORMAL) | |
| liefer.config(state=NORMAL) | |
| liefer1.config(state=NORMAL) | |
| reset() | |
| elif mos != 0 : | |
| for record in BestellTree.get_children() : | |
| BestellTree.delete(record) | |
| resetall() | |
| entrybox1.delete(0, END) | |
| entrybox11.delete(0, END) | |
| entrybox11.insert(0, 0.0) | |
| count = 0 | |
| Mainframe2.grid_forget() | |
| Mainframe3.place_forget() | |
| KundenidE.configure(state=NORMAL) | |
| TelefonnummerE.configure(state=NORMAL) | |
| NameE.configure(state=NORMAL) | |
| AdresseE.configure(state=NORMAL) | |
| HauesnrE.configure(state=NORMAL) | |
| PLZE.configure(state=NORMAL) | |
| ORTE.configure(state=NORMAL) | |
| EmailE.configure(state=NORMAL) | |
| reset() | |
| else : | |
| pass | |
| # ----------------------------------------------------------------------------------------------------------------# | |
| def remove_all() : | |
| global count, mos | |
| update(toppings) | |
| mos = 0 | |
| for i in BestellTree.get_children() : | |
| if not BestellTree.item(i, "values") : | |
| mos = 0 | |
| else : | |
| mos = 1 | |
| if mos == 0 : | |
| resetall() | |
| entrybox1.delete(0, END) | |
| entrybox11.delete(0, END) | |
| entrybox11.insert(0, 0.0) | |
| count = 0 | |
| Mainframe2.grid_forget() | |
| Mainframe3.place_forget() | |
| KundenidE.configure(state=NORMAL) | |
| TelefonnummerE.configure(state=NORMAL) | |
| NameE.configure(state=NORMAL) | |
| AdresseE.configure(state=NORMAL) | |
| HauesnrE.configure(state=NORMAL) | |
| PLZE.configure(state=NORMAL) | |
| ORTE.configure(state=NORMAL) | |
| EmailE.configure(state=NORMAL) | |
| reset() | |
| elif mos != 0 : | |
| for record in BestellTree.get_children() : | |
| BestellTree.delete(record) | |
| resetall() | |
| entrybox1.delete(0, END) | |
| entrybox11.delete(0, END) | |
| entrybox11.insert(0, 0.0) | |
| count = 0 | |
| Mainframe2.grid_forget() | |
| Mainframe3.place_forget() | |
| KundenidE.configure(state=NORMAL) | |
| TelefonnummerE.configure(state=NORMAL) | |
| NameE.configure(state=NORMAL) | |
| AdresseE.configure(state=NORMAL) | |
| HauesnrE.configure(state=NORMAL) | |
| PLZE.configure(state=NORMAL) | |
| ORTE.configure(state=NORMAL) | |
| EmailE.configure(state=NORMAL) | |
| reset() | |
| else : | |
| pass | |
| Bestellungabb = Button(Mainframe3, font=("Helvetica", 11 | |
| , 'bold'), text='Bestellung abbrechen', bd=4, bg='red', | |
| command=remove_all1) | |
| Bestellungabb.place(x=20, y=5) | |
| # ################################ eine Speise HInzüfugen #################################################### | |
| global count, pos | |
| global counts | |
| count = 0 | |
| counts = 1 | |
| pos = 1 | |
| def insertdatatree() : | |
| global counts | |
| global clicked | |
| global count | |
| global pos | |
| global sop | |
| global labo | |
| global tako | |
| global lop | |
| global sip | |
| count += 1 | |
| nop = [] | |
| sop = [] | |
| lop = [] | |
| kom = [] | |
| sip = (listbox2.get(0, END)) | |
| ton = clicked.get() | |
| fibo = entrybox1.get() | |
| komm = entrybox12.get() | |
| for i in sip : | |
| o = str(i) | |
| o.replace("'", ' ') | |
| try : | |
| if o[0] == '+' : | |
| sop.append(o) | |
| elif o[0] == '*' : | |
| kom.append(o) | |
| else : | |
| lop.append(o) | |
| except : | |
| pass | |
| tip = listbox3.get(0, END) | |
| for he in tip : | |
| hes = str(he) | |
| hes.strip() | |
| hes.split() | |
| hos = hes.replace('{', '').replace('}', '').replace('/', '').replace('(', '').replace(')', '').replace( | |
| "'", '').replace("'", '') | |
| if hos != '' : | |
| nop.append(hos) | |
| nip = ' '.join(nop) | |
| ohne = str(nip) | |
| labo = (float(entrybox6.get())) | |
| tako = (float(entrybox11.get())) | |
| entrybox11.delete(0, END) | |
| mado = int(entrybox4.get()) | |
| kat = str(entrybox5.get()) | |
| kat.strip() | |
| mido = labo * mado | |
| tiko = (math.floor(float(mido) * 100) / 100) | |
| BestellTree.insert(parent='', open=False, index='end', iid=counts, text='', | |
| values=(count, ton, entrybox4.get(), | |
| entrybox3.get(), entrybox1.get(), | |
| sop + kom, ohne, kat, tiko)) | |
| pos += 1 | |
| if komm != '' : | |
| BestellTree.insert(counts, index=counts, | |
| values=('', '', '', '', '', komm)) | |
| counts += 1 | |
| entrybox11.insert(0, math.floor(float(mido + tako) * 100) / 100) | |
| entrybox12.delete(0, END) | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def bestätigens() : | |
| global counts | |
| global posent | |
| global bestätigen | |
| global clicked | |
| global count | |
| global pos | |
| global labo | |
| global tako | |
| global lop | |
| global sip | |
| global sop | |
| global nop | |
| entrybox1.config(state=NORMAL) | |
| entrybox3.config(state=NORMAL) | |
| selected = BestellTree.focus() | |
| values = BestellTree.item(selected, 'values') | |
| one = posent.get() | |
| nop = [] | |
| sop = [] | |
| lop = [] | |
| hob = [] | |
| kommk = [] | |
| komm = entrybox12.get() | |
| sip = (listbox2.get(0, END)) | |
| ton = clicked.get() | |
| for i in sip : | |
| o = str(i) | |
| o.replace("'", '') | |
| try : | |
| if o[0] == '+' : | |
| sop.append(o) | |
| elif o[0] == '*' : | |
| kommk.append(o) | |
| else : | |
| lop.append(o) | |
| except : | |
| pass | |
| tip = listbox3.get(0, END) | |
| tip = listbox3.get(0, END) | |
| for he in tip : | |
| hes = str(he) | |
| hes.strip() | |
| if hes != '' : | |
| nop.insert(0, hes) | |
| for tiz in nop : | |
| tiz.strip() | |
| labo = (float(entrybox6.get())) | |
| tako = (float(entrybox11.get())) | |
| entrybox11.delete(0, END) | |
| mado = int(entrybox4.get()) | |
| mido = labo * mado | |
| tiko = (math.floor(float(mido) * 100) / 100) | |
| BestellTree.item(selected, text='', values=(one, ton, entrybox4.get(), | |
| entrybox3.get(), entrybox1.get(), | |
| sop + kommk, nop, entrybox5.get(), tiko)) | |
| if komm != '' : | |
| BestellTree.insert(counts, index=counts, | |
| values=('', '', '', '', '', komm)) | |
| entrybox11.insert(0, math.floor((mido + tako) * 100) / 100) | |
| counts += 1 | |
| einfugen['state'] = ACTIVE | |
| Reset['state'] = ACTIVE | |
| bestätigen.destroy() | |
| posent.destroy() | |
| entrybox4.delete(0, END) | |
| entrybox4.insert(0, '1') | |
| entrybox2.delete(0, END) | |
| entrybox1.delete(0, END) | |
| listbox3.delete(0, END) | |
| listbox2.delete(0, END) | |
| entrybox3.delete(0, END) | |
| entrybox5.delete(0, END) | |
| entrybox6.delete(0, END) | |
| entrybox12.delete(0, END) | |
| clicked.set('klein') | |
| for i in BestellTree.selection() : | |
| BestellTree.selection_remove(i) | |
| # ################################# eine speise bearbeiten ############################################### | |
| def speisebearbeiten() : | |
| global counts | |
| global lop | |
| global nop | |
| global bestätigen | |
| global sop | |
| global einfugen | |
| global Reset | |
| global posent | |
| siko = BestellTree.get_children() | |
| zablo = len(siko) | |
| if zablo == 0 : | |
| messagebox.showerror('Error', 'diese action ist nicht gültig') | |
| else : | |
| nop = [] | |
| counts -= 1 | |
| einfugen['state'] = DISABLED | |
| Reset['state'] = DISABLED | |
| bestätigen = Button(Mainframe3, text='Bestätigen', font=font_size, bd=4, bg='green', | |
| command=bestätigens) | |
| bestätigen.place(x=660, y=5) | |
| posent = Entry(Mainframe3, width=3, bd=4, font=font_size) | |
| posent.place(x=580, y=5) | |
| resetall() | |
| selected = BestellTree.focus() | |
| values = BestellTree.item(selected, 'values') | |
| alo = BestellTree.get_children(selected) | |
| child = BestellTree.item(alo, 'values') | |
| entrybox12.delete(0, END) | |
| entrybox4.delete(0, END) | |
| entrybox4.insert(0, values[2]) | |
| entrybox3.insert(0, values[3]) | |
| entrybox3.config(state=DISABLED) | |
| entrybox1.insert(0, values[4]) | |
| entrybox1.config(state=DISABLED) | |
| sqlCon1 = sqlite3.connect('ZutatenListe.db') | |
| vur = sqlCon1.cursor() | |
| nado = values[4] | |
| solo = [values[6]] | |
| for i in solo : | |
| nop.insert(0, i) | |
| for to in nop : | |
| sopo = ''.join(to).split() | |
| for sipo in sopo : | |
| listbox3.insert(0, sipo) | |
| soso = solo[1 :] | |
| vur.execute("select* from zutaten where SpeiseName=(?)", (nado,)) | |
| farto = vur.fetchall() | |
| for ziko in farto : | |
| if (ziko[1] != '') and (ziko[1] not in sopo) : | |
| listbox2.insert(END, ziko[1]), | |
| if (ziko[2] != '') and (ziko[2] not in sopo) : | |
| listbox2.insert(END, ziko[2]), | |
| if (ziko[3] != '') and (ziko[3] not in sopo) : | |
| listbox2.insert(END, ziko[3]), | |
| if (ziko[4] != '') and (ziko[4] not in sopo) : | |
| listbox2.insert(END, ziko[4]), | |
| if (ziko[5] != '') and (ziko[5] not in sopo) : | |
| listbox2.insert(END, ziko[5]), | |
| if (ziko[6] != '') and (ziko[6] not in sopo) : | |
| listbox2.insert(END, ziko[6]), | |
| if (ziko[7] != '') and (ziko[7] not in sopo) : | |
| listbox2.insert(END, ziko[7]), | |
| if (ziko[8] != '') and (ziko[8] not in sopo) : | |
| listbox2.insert(END, ziko[8]), | |
| if (ziko[9] != '') and (ziko[9] not in sopo) : | |
| listbox2.insert(END, ziko[9]), | |
| if (ziko[10] != '') and (ziko[10] not in sopo) : | |
| listbox2.insert(END, ziko[10]) | |
| if child != '' : | |
| entrybox12.insert(0, child[5]) | |
| posent.insert(0, values[0]) | |
| salo = [values[5]] | |
| for izo in salo : | |
| izoz = ''.join(izo).split() | |
| for oko in izoz : | |
| listbox2.insert(END, oko) | |
| entrybox5.insert(0, values[7]) | |
| selko = float(values[8]) | |
| felko = float(values[2]) | |
| niko = selko / felko | |
| entrybox6.insert(0, niko) | |
| num = float(entrybox11.get()) | |
| neu = float(num) - float(values[8]) | |
| entrybox11.delete(0, END) | |
| entrybox11.insert(0, math.floor(float(neu) * 100) / 100) | |
| clicked.set(values[1]) | |
| bearbeiten = Button(Mainframe3, text='Bearbeiten', font=font_size, bd=4, bg='grey', command=speisebearbeiten) | |
| bearbeiten.place(x=450, y=5) | |
| BestellTree.pack(pady=50) | |
| Mainframe2.grid_forget() | |
| Mainframe3.place_forget() | |
| # ------------------------------------- eine Speise Löschen ---------------------------------------------# | |
| def speiselöschen() : | |
| global counts | |
| global count | |
| siko = BestellTree.get_children() | |
| zablo = len(siko) | |
| if zablo == 0 : | |
| messagebox.showerror('Error', 'diese action ist nicht gültig') | |
| else : | |
| selected = BestellTree.focus() | |
| values = BestellTree.item(selected, 'values') | |
| bako = float(entrybox11.get()) | |
| nako = float(values[8]) | |
| entrybox11.delete(0, END) | |
| entrybox11.insert(0, math.floor((bako - nako) * 100) / 100) | |
| one = BestellTree.selection()[0] | |
| BestellTree.delete(one) | |
| speiselösch = Button(Mainframe3, font=("Helvetica", 12, 'bold'), text=' Speise Löschen', bd=4, bg='orange', | |
| command=speiselöschen) | |
| speiselösch.place(x=300, y=5) | |
| # ----------------------------------------------- Berchnen ABBRECHEN ---------------------------------------------------# | |
| def berechabbrech() : | |
| entrybox10.config(state=NORMAL) | |
| entrybox9.config(state=NORMAL) | |
| entrybox8.config(state=NORMAL) | |
| entrybox10.delete(0, END) | |
| entrybox9.delete(0, END) | |
| entrybox8.delete(0, END) | |
| entrybox10.insert(0, float(0.0)) | |
| entrybox9.insert(0, float(0.0)) | |
| entrybox8.insert(0, float(0.0)) | |
| floats = [] | |
| for line in BestellTree.get_children() : | |
| sick108 = (BestellTree.item(line[0])['values'][8]) | |
| floats.insert(0, float(sick108)) | |
| total = math.fsum(floats) | |
| entrybox11.delete(0, END) | |
| entrybox11.insert(0, total) | |
| btnrechab = Button(Mainframe2, font=('arial', 10, 'bold'), text='Abbrechen', bd=4, bg='red', pady=1, | |
| padx=24, | |
| width=3, height=1, command=berechabbrech) | |
| btnrechab.place(x=972, y=295) | |
| ##################################### Bestellung Data und Drücken ########################################### | |
| def addbestellungdata() : | |
| global text1, coto | |
| mos = 0 | |
| for i in BestellTree.get_children() : | |
| if not BestellTree.item(i, "values") : | |
| mos = 0 | |
| else : | |
| mos = 1 | |
| if mos == 0 : | |
| messagebox.showerror('ERROR', 'Bitte Mindesten eine Speise Aüswahlen') | |
| else : | |
| conn12 = sqlite3.connect('Einstellung.db') | |
| cur12 = conn12.cursor() | |
| cur12.execute(' select * from Lieferzuschlg ') | |
| cob = cur12.fetchall() | |
| for ido in cob : | |
| for ako in ido : | |
| float(ako) | |
| floats = [] | |
| moks = [] | |
| for line in BestellTree.get_children() : | |
| sick108 = (BestellTree.item(line[0])['values'][8]) | |
| floats.insert(0, float(sick108)) | |
| total = math.fsum(floats) | |
| if float(total) < float(ako) : | |
| mok = messagebox.askyesno("Lieferzuschlag", "soll lieferzuschlag gerechnet werden ?") | |
| if mok == 1 : | |
| sos = entrybox11.get() | |
| entrybox11.delete(0, END) | |
| schlag = float(ako) - float(sos) | |
| moks.append(schlag) | |
| entrybox11.insert(0, float(ako)) | |
| else : | |
| moks.insert(0, 0) | |
| sick1 = KundenidE.get() | |
| sick2 = TelefonnummerE.get() | |
| sick3 = NameE.get() | |
| sick4 = AdresseE.get() | |
| sick5 = HauesnrE.get() | |
| sick6 = PLZE.get() | |
| sick7 = ORTE.get() | |
| sick8 = EmailE.get() | |
| sick9 = passo[1] | |
| comment = ext_comment.get(1.0, END) | |
| timed = datetime.now().strftime("%d-%m-%y %H:%M:%S") + ' Uhr' | |
| moss = (BestellTree.get_children()) | |
| long = (len(moss)) | |
| sol = [] | |
| entrybox10.config(state=NORMAL) | |
| entrybox9.config(state=NORMAL) | |
| entrybox8.config(state=NORMAL) | |
| entrybox7.config(state=NORMAL) | |
| for line in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(line[0])['values'][0]) | |
| sick101 = (BestellTree.item(line[0])['values'][1]) | |
| sick102 = (BestellTree.item(line[0])['values'][2]) | |
| sick103 = (BestellTree.item(line[0])['values'][3]) | |
| sick104 = (BestellTree.item(line[0])['values'][4]) | |
| sick105 = (BestellTree.item(line[0])['values'][5]) | |
| sick106 = (BestellTree.item(line[0])['values'][6]) | |
| sick107 = (BestellTree.item(line[0])['values'][7]) | |
| sick108 = (BestellTree.item(line[0])['values'][8]) | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn1.cursor() | |
| cur1.execute("""INSERT into speiseinfo (zeit,pos,grosse,anzahl,nr,speise,mit,ohne,katagorie,preis,name)VALUES(:zeit, | |
| :pos,:grosse,:anzahl,:nr, | |
| :speise,:mit,:ohne,:katagorie,:preis,:name)""", { | |
| 'zeit' : timed, | |
| 'pos' : sick100, | |
| 'grosse' : sick101, | |
| 'anzahl' : sick102, | |
| 'nr' : sick103, | |
| 'speise' : sick104, | |
| 'mit' : sick105 + ' ', | |
| 'ohne' : sick106, | |
| 'katagorie' : sick107, | |
| 'preis' : sick108, | |
| 'name' : sick3 | |
| }) | |
| conn1.commit() | |
| sick11 = entrybox11.get() | |
| sick12 = LieferE.get() | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute("""INSERT into kundeinfo (ID,kid,ktelefonnummer,kname,kstrasse,khausnr, | |
| kplz,kort,kemail,bediener,zeit,bestellzeit,externinfo,gesamtepreis) | |
| VALUES(NULL,?,?,?,?,?,?,?,?,?,?,?,?,?)""", | |
| (sick1, | |
| sick2, | |
| sick3, | |
| sick4, | |
| sick5, | |
| sick6, | |
| sick7, | |
| sick8, | |
| sick9, | |
| timed, | |
| sick12, | |
| comment, | |
| sick11 | |
| )) | |
| conn.commit() | |
| cur.execute('select* from kundeinfo') | |
| cur1.execute('select* from speiseinfo where zeit=(?) ', (timed,)) | |
| zob = cur1.fetchall() | |
| hob = cur.fetchall() | |
| hib = len(hob) | |
| hub = hib + 1 | |
| sor = (BestellTree.get_children()) | |
| coto = 0 | |
| def printing101() : | |
| global logo1, coto, text1, mok, imag12, imag13, iamg14 | |
| mit = [] | |
| alle = [] | |
| mab = [] | |
| gesamt = [] | |
| lon = [] | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Katagorie ') | |
| fur = cur.fetchall() | |
| for kat in fur : | |
| top = str(kat) | |
| replace = {'[' : '', | |
| ']' : '', | |
| '(' : '', | |
| ')' : '', | |
| ',' : '', | |
| "'" : ''} | |
| tops = top.translate(str.maketrans(replace)) | |
| alle.insert(0, tops) | |
| sicked = BestellTree.get_children() | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| mab.insert(0, sick107) | |
| text1.delete(1.0, END) | |
| text1.insert(END, f'\t \n') | |
| try : | |
| imag12 = Image.open('DruckerBild.jpg') | |
| imag12.save('12345.jpg') | |
| imag13 = imag12.resize((200, 120)) | |
| imag14 = imag13.convert('L') | |
| imag14.save('DruckerBild12.png') | |
| logo1 = PhotoImage(file='DruckerBild12.png') | |
| text1.image_create(1.22, image=logo1) | |
| except : | |
| messagebox.showinfo('Drucker', 'Foto für den Drucker hinzufugen (DruckerBild)(jpg)') | |
| text1.insert(END, f'\n\t--BISTRORANT PAPRIKA-- \n') | |
| text1.insert(END, f'\n===================================') | |
| text1.insert(END, f'\n{timed}\t\t\tBes_nr:{hub}') | |
| text1.insert(END, f'\n\n\n kd:{sick1}\t\ttel:{sick2}') | |
| text1.insert(END, f'\n{sick3}') | |
| text1.insert(END, f'\n{sick4}\t\t{sick5}') | |
| text1.insert(END, f'\n{sick6}\t\t{sick7}') | |
| text1.insert(END, f'\n===================================') | |
| if alle[0] in mab : | |
| sob = mab.count(alle[0]) | |
| text1.insert(END, f'\n\t------------{alle[0]}------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[0] : | |
| text1.insert(END, f'\n{sick102}x)\t{sick104}\t({sick101}) {sick108}€') | |
| if sick105 != "" : | |
| text1.config(font=('arial', 10, 'bold')) | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| if alle[1] in mab : | |
| sob = mab.count(alle[1]) | |
| text1.insert(END, f'\n\t---------------{alle[1]}----------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[1] : | |
| text1.insert(END, f'\n{sick102}x)\t{sick104}\t({sick101}) {sick108}€') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| if alle[2] in mab : | |
| sob = mab.count(alle[2]) | |
| text1.insert(END, f'\n\t-----------------{alle[2]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[2] : | |
| text1.insert(END, f'\n\t{sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| try : | |
| if alle[3] in mab : | |
| sob = mab.count(alle[3]) | |
| text1.insert(END, f'\n\t-----------------{alle[3]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[3] : | |
| text1.insert(END, f'\n\t{sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| except : | |
| pass | |
| try : | |
| if alle[4] in mab : | |
| sob = mab.count(alle[4]) | |
| text1.insert(END, f'\n\t-----------------{alle[4]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[4] : | |
| text1.insert(END, f'\n\t {sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| except : | |
| pass | |
| text1.insert(END, f"\n===================================") | |
| text1.insert(END, f"\n\t\t Gesamtpreis:\t{sick11}€") | |
| for ito in moks : | |
| if int(ito) > 1 : | |
| text1.insert(END, f"\n\t\t Lieferzuschlag:\t{str(ito).replace('[', '').replace(']', '')}€") | |
| label = Label(new_window2, bg='white', text='howdy', bd=0, font=('arial', 10, 'bold')) | |
| text1.place(x=1140, y=28) | |
| coto += 1 | |
| if AdresseE.get() != 'ABHOLUNG' : | |
| liefer1.config(fg='red') | |
| liefer1.config(state=NORMAL) | |
| liefer.config(state=NORMAL) | |
| q = text1.get("1.0", "end-1c") | |
| print(q) | |
| filename = tempfile.mktemp(".txt") | |
| open(filename, 'w').write(q) | |
| os.startfile(filename, "print") | |
| def printing() : | |
| global logo1, coto, text1, mok, imag12, imag13, iamg14 | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from printer1') | |
| mik = cur.fetchall() | |
| listi = [] | |
| listo = [] | |
| for ray in mik : | |
| if ray[0] != '' : | |
| listo.insert(0, ray[0]) | |
| if ray[1] != '' or [] : | |
| listo.insert(0, ray[1]) | |
| if ray[2] != '' or [] : | |
| listo.insert(0, ray[2]) | |
| if ray[3] != '' or [] : | |
| listo.insert(0, ray[3]) | |
| if ray[4] != '' or [] : | |
| listo.insert(0, ray[4]) | |
| if ray[5] != '' or [] : | |
| listo.insert(0, ray[5]) | |
| if ray[6] != '' or [] : | |
| listo.insert(0, ray[6]) | |
| if ray[7] != '' or [] : | |
| listo.insert(0, ray[7]) | |
| if ray[8] != '' : | |
| listo.insert(0, ray[8]) | |
| if ray[9] != '' : | |
| listo.insert(0, ray[9]) | |
| if ray[10] != '' : | |
| listo.insert(0, ray[10]) | |
| for iop in listo : | |
| result = str(iop).replace('[', '').replace(']', '').replace('(', '').replace(')', | |
| '').replace( | |
| ',', '').replace("'", "").replace(' ', '') | |
| if result != '' : | |
| listi.insert(0, result) | |
| print(listi) | |
| mit = [] | |
| alle = [] | |
| mab = [] | |
| gesamt = [] | |
| lon = [] | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Katagorie ') | |
| fur = cur.fetchall() | |
| for kat in fur : | |
| top = str(kat) | |
| replace = {'[' : '', | |
| ']' : '', | |
| '(' : '', | |
| ')' : '', | |
| ',' : '', | |
| "'" : ''} | |
| tops = top.translate(str.maketrans(replace)) | |
| if tops in listi : | |
| alle.insert(0, tops) | |
| tol = len(alle) | |
| print(alle) | |
| print(tol) | |
| if tol < 1 : | |
| pass | |
| else : | |
| sicked = BestellTree.get_children() | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| mab.insert(0, sick107) | |
| text1.delete(1.0, END) | |
| text1.insert(END, f'\t \n') | |
| try : | |
| imag12 = Image.open('DruckerBild.jpg') | |
| imag12.save('12345.jpg') | |
| imag13 = imag12.resize((200, 120)) | |
| imag14 = imag13.convert('L') | |
| imag14.save('DruckerBild12.png') | |
| logo1 = PhotoImage(file='DruckerBild12.png') | |
| text1.image_create(1.22, image=logo1) | |
| except : | |
| messagebox.showinfo('Drucker', 'Foto für den Drucker hinzufugen (DruckerBild)(jpg)') | |
| text1.insert(END, f'\n\t--BISTRORANT PAPRIKA-- \n') | |
| text1.insert(END, f'\n===================================') | |
| text1.insert(END, f'\n{timed}\t\t\tBes_nr:{hub}') | |
| text1.insert(END, f'\n\n\n kd:{sick1}\t\ttel:{sick2}') | |
| text1.insert(END, f'\n{sick3}') | |
| text1.insert(END, f'\n{sick4}\t\t{sick5}') | |
| text1.insert(END, f'\n{sick6}\t\t{sick7}') | |
| text1.insert(END, f'\n===================================') | |
| if alle[0] in mab : | |
| sob = mab.count(alle[0]) | |
| text1.insert(END, f'\n\t------------{alle[0]}------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[0] : | |
| text1.insert(END, f'\n{sick102}x)\t{sick104}\t({sick101}) {sick108}€') | |
| if sick105 != "" : | |
| text1.config(font=('arial', 10, 'bold')) | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| if tol > 1 : | |
| if alle[1] in mab : | |
| sob = mab.count(alle[1]) | |
| text1.insert(END, f'\n\t---------------{alle[1]}----------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[1] : | |
| text1.insert(END, f'\n{sick102}x)\t{sick104}\t({sick101}) {sick108}€') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| else : | |
| pass | |
| if tol > 2 : | |
| if alle[2] in mab : | |
| sob = mab.count(alle[2]) | |
| text1.insert(END, f'\n\t-----------------{alle[2]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[2] : | |
| text1.insert(END, f'\n\t{sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| else : | |
| pass | |
| try : | |
| if alle[3] in mab : | |
| sob = mab.count(alle[3]) | |
| text1.insert(END, f'\n\t-----------------{alle[3]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[3] : | |
| text1.insert(END, f'\n\t{sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| except : | |
| pass | |
| try : | |
| if alle[4] in mab : | |
| sob = mab.count(alle[4]) | |
| text1.insert(END, f'\n\t-----------------{alle[4]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[4] : | |
| text1.insert(END, f'\n\t {sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| except : | |
| pass | |
| text1.insert(END, f"\n===================================") | |
| text1.insert(END, f"\n\t\t Gesamtpreis:\t{sick11}€") | |
| for ito in moks : | |
| if int(ito) > 1 : | |
| text1.insert(END, | |
| f"\n\t\t Lieferzuschlag:\t{str(ito).replace('[', '').replace(']', '')}€") | |
| label = Label(new_window2, bg='white', text='howdy', bd=0, font=('arial', 10, 'bold')) | |
| text1.place(x=1140, y=28) | |
| coto += 1 | |
| if AdresseE.get() != 'ABHOLUNG' : | |
| liefer1.config(fg='red') | |
| liefer1.config(state=NORMAL) | |
| liefer.config(state=NORMAL) | |
| printerdef = StringVar() | |
| printerdef = str(listi[0]) | |
| def zobli() : | |
| q = text1.get("1.0", "end-1c") | |
| print(q) | |
| filename = tempfile.mktemp(".txt") | |
| open(filename, 'w').write(q) | |
| p = win32print.OpenPrinter(printerdef) | |
| job = win32print.StartDocPrinter(p, 1, (filename, None, "RAW")) | |
| win32print.StartPagePrinter(p) | |
| win32print.WritePrinter(p, q.encode()) | |
| win32print.EndPagePrinter(p) | |
| filename = tempfile.mktemp(".txt") | |
| zobli() | |
| def printing1() : | |
| global logo1, coto, text1, mok, imag12, imag13, iamg14 | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from printer2') | |
| mik = cur.fetchall() | |
| listi = [] | |
| listo = [] | |
| for ray in mik : | |
| if ray[0] != '' : | |
| listo.insert(0, ray[0]) | |
| if ray[1] != '' or [] : | |
| listo.insert(0, ray[1]) | |
| if ray[2] != '' or [] : | |
| listo.insert(0, ray[2]) | |
| if ray[3] != '' or [] : | |
| listo.insert(0, ray[3]) | |
| if ray[4] != '' or [] : | |
| listo.insert(0, ray[4]) | |
| if ray[5] != '' or [] : | |
| listo.insert(0, ray[5]) | |
| if ray[6] != '' or [] : | |
| listo.insert(0, ray[6]) | |
| if ray[7] != '' or [] : | |
| listo.insert(0, ray[7]) | |
| if ray[8] != '' : | |
| listo.insert(0, ray[8]) | |
| if ray[9] != '' : | |
| listo.insert(0, ray[9]) | |
| if ray[10] != '' : | |
| listo.insert(0, ray[10]) | |
| for iop in listo : | |
| result = str(iop).replace('[', '').replace(']', '').replace('(', '').replace(')', | |
| '').replace( | |
| ',', '').replace("'", "").replace(' ', '') | |
| if result != '' : | |
| listi.insert(0, result) | |
| print(listi) | |
| mit = [] | |
| alle = [] | |
| mab = [] | |
| gesamt = [] | |
| lon = [] | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Katagorie ') | |
| fur = cur.fetchall() | |
| for kat in fur : | |
| top = str(kat) | |
| replace = {'[' : '', | |
| ']' : '', | |
| '(' : '', | |
| ')' : '', | |
| ',' : '', | |
| "'" : ''} | |
| tops = top.translate(str.maketrans(replace)) | |
| if tops in listi : | |
| alle.insert(0, tops) | |
| tol = len(alle) | |
| if tol < 1 : | |
| pass | |
| else : | |
| sicked = BestellTree.get_children() | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| mab.insert(0, sick107) | |
| text1.delete(1.0, END) | |
| text1.insert(END, f'\t \n') | |
| try : | |
| imag12 = Image.open('DruckerBild.jpg') | |
| imag12.save('12345.jpg') | |
| imag13 = imag12.resize((200, 120)) | |
| imag14 = imag13.convert('L') | |
| imag14.save('DruckerBild12.png') | |
| logo1 = PhotoImage(file='DruckerBild12.png') | |
| text1.image_create(1.22, image=logo1) | |
| except : | |
| messagebox.showinfo('Drucker', 'Foto für den Drucker hinzufugen (DruckerBild)(jpg)') | |
| text1.insert(END, f'\n\t--BISTRORANT PAPRIKA-- \n') | |
| text1.insert(END, f'\n===================================') | |
| text1.insert(END, f'\n{timed}\t\t\tBes_nr:{hub}') | |
| text1.insert(END, f'\n\n\n kd:{sick1}\t\ttel:{sick2}') | |
| text1.insert(END, f'\n{sick3}') | |
| text1.insert(END, f'\n{sick4}\t\t{sick5}') | |
| text1.insert(END, f'\n{sick6}\t\t{sick7}') | |
| text1.insert(END, f'\n===================================') | |
| if alle[0] in mab : | |
| sob = mab.count(alle[0]) | |
| text1.insert(END, f'\n\t------------{alle[0]}------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[0] : | |
| text1.insert(END, f'\n{sick102}x)\t{sick104}\t({sick101}) {sick108}€') | |
| if sick105 != "" : | |
| text1.config(font=('arial', 10, 'bold')) | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| if tol > 2 : | |
| if alle[1] in mab : | |
| sob = mab.count(alle[1]) | |
| text1.insert(END, f'\n\t---------------{alle[1]}----------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[1] : | |
| text1.insert(END, f'\n{sick102}x)\t{sick104}\t({sick101}) {sick108}€') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| else : | |
| pass | |
| if tol > 2 : | |
| if alle[2] in mab : | |
| sob = mab.count(alle[2]) | |
| text1.insert(END, f'\n\t-----------------{alle[2]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[2] : | |
| text1.insert(END, f'\n\t{sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| else : | |
| pass | |
| try : | |
| if alle[3] in mab : | |
| sob = mab.count(alle[3]) | |
| text1.insert(END, f'\n\t-----------------{alle[3]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[3] : | |
| text1.insert(END, f'\n\t{sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| except : | |
| pass | |
| try : | |
| if alle[4] in mab : | |
| sob = mab.count(alle[4]) | |
| text1.insert(END, f'\n\t-----------------{alle[4]}---------{sob}--') | |
| for tom in BestellTree.get_children() : | |
| sick100 = (BestellTree.item(tom[0])['values'][0]) | |
| sick101 = (BestellTree.item(tom[0])['values'][1]) | |
| sick102 = (BestellTree.item(tom[0])['values'][2]) | |
| sick103 = (BestellTree.item(tom[0])['values'][3]) | |
| sick104 = (BestellTree.item(tom[0])['values'][4]) | |
| sick105 = (BestellTree.item(tom[0])['values'][5]) | |
| sick106 = (BestellTree.item(tom[0])['values'][6]) | |
| sick107 = (BestellTree.item(tom[0])['values'][7]) | |
| sick108 = (BestellTree.item(tom[0])['values'][8]) | |
| if sick107 == alle[4] : | |
| text1.insert(END, f'\n\t {sick102}x\t{sick104}\t({sick101}) {sick108} €') | |
| if sick105 != "" : | |
| for izo in [sick105] : | |
| hozo = str(izo).split(' ') | |
| mit.append(hozo) | |
| for azo in mit : | |
| for tizo in azo : | |
| text1.insert(END, f'\n\t{tizo}') | |
| mit.clear() | |
| text1.insert(END, f'\n\t{sick106}\n') | |
| except : | |
| pass | |
| text1.insert(END, f"\n===================================") | |
| text1.insert(END, f"\n\t\t Gesamtpreis:\t{sick11}€") | |
| for ito in moks : | |
| if int(ito) > 1 : | |
| text1.insert(END, | |
| f"\n\t\t Lieferzuschlag:\t{str(ito).replace('[', '').replace(']', '')}€") | |
| label = Label(new_window2, bg='white', text='howdy', bd=0, font=('arial', 10, 'bold')) | |
| text1.place(x=1140, y=28) | |
| coto += 1 | |
| if AdresseE.get() != 'ABHOLUNG' : | |
| liefer1.config(fg='red') | |
| liefer1.config(state=NORMAL) | |
| liefer.config(state=NORMAL) | |
| printerdef = StringVar() | |
| printerdef = str(listi[0]) | |
| def zobli() : | |
| q = text1.get("1.0", "end-1c") | |
| print(q) | |
| filename = tempfile.mktemp(".txt") | |
| open(filename, 'w').write(q) | |
| p = win32print.OpenPrinter(printerdef) | |
| job = win32print.StartDocPrinter(p, 1, (filename, None, "RAW")) | |
| win32print.StartPagePrinter(p) | |
| win32print.WritePrinter(p, q.encode()) | |
| win32print.EndPagePrinter(p) | |
| filename = tempfile.mktemp(".txt") | |
| open(filename, "w").write(q) | |
| win32api.ShellExecute( | |
| 0, | |
| "print", | |
| filename, | |
| # | |
| # If this is None, the default printer will | |
| # be used anyway. | |
| # | |
| '/d:"%s"' % win32print.GetDefaultPrinter(), | |
| ".", | |
| 0 | |
| ) | |
| zobli() | |
| printing101() | |
| printing() | |
| printing1() | |
| update(toppings) | |
| remove_all() | |
| TelefonnummerE.focus_force() | |
| end = Button(Mainframe3, text='Drucken', width=8, bg='green', height=2, command=addbestellungdata).place(x=1100, | |
| y=490) | |
| liefer = Label(Mainframe3, text='Mindestpreise :', bg='white', font=font_size, bd=2) | |
| mainloop() | |
| ######################################################################################################################## | |
| frame2 = Frame(bd=4, bg='#315668', width=380, height=121) | |
| frame2.place(x=25, y=250) | |
| btn = Button(frame2, text="BESTELLUNG", activebackground="blue", bd=12, bg="#183C47", width=20, height=2, | |
| font=('Helvetica', 20, | |
| "italic bold"), relief=GROOVE, fg="black", command=login) | |
| btn.pack(padx=10, pady=10) | |
| btn.place(x=0, y=2) | |
| ############################################seite 2 chef einsetllung################################################################################################################################## | |
| def openwindow1() : | |
| font_size = ("ARIEL", 10, "bold") | |
| global new_window | |
| root.wm_state('iconic') | |
| global new_window | |
| new_window = Toplevel(root) | |
| screen_width = root.winfo_screenwidth() | |
| screen_height = root.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| new_window.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| new_window.config(bg='#344e5c') | |
| lbl = Label(new_window, text="EINSTELLUNG", font=("Ariel", 16, "bold")) | |
| Kunden = Button(new_window, text=('Kunden'), bd=12, bg='DarkSlateGray4', width=30, height=6, | |
| fg="black", font=font_size, | |
| relief=GROOVE, activebackground='red', command=kundendata) | |
| Kunden.grid(column=1, row=1, padx=105, pady=90) | |
| Bestellung = Button(new_window, text=('Bestellung'), bd=12, bg='#19596C', width=30, height=6, command=openwindow2, | |
| fg="black", | |
| relief=GROOVE, activebackground='red', font=font_size) | |
| Bestellung.grid(column=2, row=1, padx=105, pady=90) | |
| Lieferant = Button(new_window, text=('Zutaten'), bd=12, bg='dark slate grey', width=30, height=6, | |
| fg="black", font=font_size, | |
| relief=GROOVE, activebackground='red', command=openwindow3) | |
| Lieferant.grid(column=3, row=1, padx=105, pady=90) | |
| Zutaten_Preise = Button(new_window, text=('Zutaten preise'), bd=12, bg='DarkSlateGray4', width=30, height=6, | |
| fg="black", font=font_size, | |
| relief=GROOVE, activebackground='red', command=openwindow4) | |
| Zutaten_Preise.grid(column=1, row=2, padx=105, pady=90) | |
| Diverse_Einstellung = Button(new_window, text=('Diverse Einstellung'), bd=12, bg='#19596C', width=30, height=6, | |
| fg="black", font=font_size, | |
| relief=GROOVE, activebackground='red', command=openwindow5) | |
| Diverse_Einstellung.grid(column=2, row=2, padx=105, pady=90) | |
| Bestellung_liste = Button(new_window, text=('Bestellung Liste'), bd=12, bg='dark slate grey', width=30, height=6, | |
| fg="black", font=font_size, | |
| relief=GROOVE, activebackground='red', command=openwindow6) | |
| Bestellung_liste.grid(column=3, row=2, padx=105, pady=90) | |
| Liefrante = Button(new_window, text=('Liefranten'), bd=12, bg='#19596C', width=30, height=6, | |
| fg="black", font=font_size, | |
| relief=GROOVE, activebackground='red', command=openwindow7) | |
| Liefrante.grid(column=2, row=3, padx=105, pady=90) | |
| Drucker = Button(new_window, text=('Drucker'), bd=12, bg='dark slate grey', width=30, height=6, | |
| fg="black", font=font_size, | |
| relief=GROOVE, activebackground='red', command=openwindow8) | |
| Drucker.grid(column=3, row=3, padx=105, pady=90) | |
| Freiezutaten = Button(new_window, text=('Freiezutataen'), bd=12, bg='DarkSlateGray4', width=30, height=6, | |
| fg="black", font=font_size, | |
| relief=GROOVE, activebackground='red', command=openwindow9) | |
| Freiezutaten.grid(column=1, row=3, padx=105, pady=90) | |
| firstlabel = Label(new_window, text='-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-', bg='DarkSlateGray4') | |
| firstlabel1 = Label(new_window, text='-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-', bg='#19596C') | |
| firstlabel2 = Label(new_window, text='-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-', bg='dark slate grey') | |
| firstlabel3 = Label(new_window, text='-\n-\n-\n-\n-\n-\n-\n-\n-\n-\n-', bg='#19596C') | |
| firstlabel.place(x=230, y=223) | |
| firstlabel1.place(x=730, y=220) | |
| firstlabel2.place(x=1200, y=220) | |
| firstlabel3.place(x=730, y=530) | |
| ######################################### Passwort zu Chef mit functions ############################################ | |
| def closepopup() : | |
| top.destroy() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def passwortget(event=None) : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Passwort ') | |
| Passwort = cur.fetchall() | |
| Passwort1 = str(Passwort) | |
| Passwort2 = Passwort1.replace("(", "").replace(")", "").replace(",", "").replace("'", "").replace("[", "").replace( | |
| "]", "") | |
| conn.commit() | |
| Password = Passwort2 | |
| passwordE = entery.get() | |
| if passwordE != Password : | |
| MessageBox.showerror("Erorr", "Passwort Falsh") | |
| entery.delete(0, END) | |
| elif passwordE == Password : | |
| openwindow1() | |
| closepopup() | |
| else : | |
| closepopup() | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def popupwin(event=None) : | |
| global top | |
| top = Toplevel(root) | |
| w13 = 350 | |
| h13 = 100 | |
| top.geometry(f"{w13}x{h13}+{1200}+{400}") | |
| top.config(bg='dark slate grey') | |
| top.title('CHEF Passwort') | |
| global entery | |
| entery = Entry(top, show="*", width=25) | |
| label1 = Label(top, text="Passwort eingeben", font=("Ariel", 12), bg='dark slate grey') | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def password_enter(e) : | |
| passwortget() | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| label1.pack() | |
| entery.pack() | |
| Button1 = Button(top, text="Ok", width=10, command=passwortget) | |
| Button2 = Button(top, text="Quit", width=10, command=closepopup) | |
| Button1.place(x=40, y=60) | |
| Button2.place(x=185, y=60) | |
| top.bind("<Return>", passwortget) | |
| ###################################CHEF SEITE ########################################################################## | |
| def kundendata() : | |
| roots = Toplevel(root) | |
| titlespace = " " | |
| roots.title("Kundnen Liste") | |
| screen_width = root.winfo_screenwidth() | |
| screen_height = root.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| roots.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| ###################################################Buttons############################################################# | |
| Mainfram = Frame(roots, bd=10, width=1800, height=1800, bg='grey') | |
| Mainfram.place(x=0, y=0) | |
| Titlefram = Frame(Mainfram, bd=10, width=1200, height=1200, bg='grey') | |
| Titlefram.place(x=0, y=0) | |
| Topframe = Frame(Titlefram, bd=10, width=1200, height=1200, bg='dark slate grey') | |
| Topframe.place(x=0, y=0) | |
| Leftframe = Frame(Titlefram, bd=10, width=1200, height=1200, relief=RIDGE, bg='grey') | |
| Leftframe.place(x=8, y=340) | |
| Leftframe1 = Frame(Mainfram, bd=10, width=1200, height=1200, relief=RIDGE, bg='cadet blue') | |
| Leftframe1.place(x=15, y=15) | |
| Rightframe = Frame(Mainfram, bd=10, width=1200, height=1200, relief=RIDGE, bg='grey') | |
| Rightframe.place(x=1150, y=10) | |
| Rightfram1 = Frame(Mainfram, bd=10, width=1200, height=1200, bg='cadet blue', relief=RIDGE) | |
| Rightfram1.place(x=890, y=350) | |
| ###############################################Labels################################################################### | |
| lbtitle = Label(Titlefram, font=('arial', 20, 'bold'), text="Kunden Liste", bd=7, bg='grey') | |
| lbtitle.place(x=620, y=0) | |
| kundenid = Label(Leftframe1, font=('arial', 12, 'bold'), text="Kunden Nummer", bd=7, bg='cadet blue') | |
| kundenid.grid(row=1, column=0, sticky='w', padx=5) | |
| kundenEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', | |
| textvariable=kundenid, state='normal') | |
| kundenEnt.grid(row=1, column=1, sticky='w', padx=5) | |
| Name = Label(Leftframe1, font=('arial', 12, 'bold'), text="Vor/Nachname", bd=7, bg='cadet blue') | |
| Name.grid(row=2, column=0, sticky='w', padx=5) | |
| NameEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', textvariable=Name) | |
| NameEnt.grid(row=2, column=1, sticky='w', padx=5) | |
| Addresse = Label(Leftframe1, font=('arial', 12, 'bold'), text="Addresse", bd=7, bg='cadet blue') | |
| Addresse.grid(row=3, column=0, sticky='w', padx=5) | |
| AddresseEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', | |
| textvariable=Addresse) | |
| AddresseEnt.grid(row=3, column=1, sticky='w', padx=5) | |
| Telefon = Label(Leftframe1, font=('arial', 12, 'bold'), text="Telefonnummer", bd=7, bg='cadet blue') | |
| Telefon.grid(row=4, column=0, sticky='w', padx=5) | |
| TelefonEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', | |
| textvariable=Telefon) | |
| TelefonEnt.grid(row=4, column=1, sticky='w', padx=5) | |
| Hausnr = Label(Leftframe1, font=('arial', 12, 'bold'), text="Nr", bd=7, bg='cadet blue') | |
| Hausnr.grid(row=5, column=0, sticky='w', padx=5) | |
| HausnrEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', | |
| textvariable=Hausnr) | |
| HausnrEnt.grid(row=5, column=1, sticky='w', padx=5) | |
| PLZ = Label(Leftframe1, font=('arial', 12, 'bold'), text="PLZ", bd=7, bg='cadet blue') | |
| PLZ.grid(row=6, column=0, sticky='w', padx=5) | |
| PLZEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', | |
| textvariable=PLZ) | |
| PLZEnt.grid(row=6, column=1, sticky='w', padx=5) | |
| ORT = Label(Leftframe1, font=('arial', 12, 'bold'), text="ORT", bd=7, bg='cadet blue') | |
| ORT.grid(row=7, column=0, sticky='w', padx=5) | |
| ORTEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', | |
| textvariable=ORT) | |
| ORTEnt.grid(row=7, column=1, sticky='w', padx=5) | |
| Email = Label(Leftframe1, font=('arial', 12, 'bold'), text="Email", bd=7, bg='cadet blue') | |
| Email.grid(row=8, column=0, sticky='w', padx=5) | |
| comment = Label(Leftframe1, font=('arial', 12, 'bold'), text="comment", bd=7, bg='cadet blue') | |
| comment.grid(row=9, column=0, sticky='w', padx=5) | |
| EmailEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', | |
| textvariable=Email) | |
| EmailEnt.grid(row=8, column=1, sticky='w', padx=5) | |
| CommentEnt = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', | |
| textvariable=comment) | |
| CommentEnt.grid(row=9, column=1, sticky='w', padx=5) | |
| schwarzliste = Label(Rightframe, font=('arial', 16, 'bold'), text="SchwarzeListe", bd=7, bg='dark slate grey', | |
| width=20) | |
| schwarzliste.place(x=45, y=0) | |
| schwarzname = Label(Rightframe, font=('arial', 16, 'bold'), text="Name", bd=7, | |
| bg='dark slate grey', ) | |
| schwarzname.place(x=40, y=55) | |
| schwarztel = Label(Rightframe, font=('arial', 16, 'bold'), text="Tele", bd=7, | |
| bg='dark slate grey', ) | |
| schwarztel.place(x=240, y=55) | |
| schwarzlisteboxn = Listbox(Rightframe, width=15, height=30, bg='#232323', font=('arial', 16, 'bold'), bd=4, | |
| fg='white') | |
| schwarzlisteboxn.place(x=5, y=90) | |
| schwarzlisteboxt = Listbox(Rightframe, width=15, height=30, bg='#232323', font=('arial', 16, 'bold'), bd=4, | |
| fg='white') | |
| schwarzlisteboxt.place(x=200, y=90) | |
| #########################################################Variabels###################################################### | |
| kundenid = StringVar() | |
| Name = StringVar() | |
| Addresse = StringVar() | |
| Telefon = StringVar() | |
| ###############################################kunden liste chef(functions)############################################# | |
| def iExit() : | |
| iExit = tkinter.messagebox.askyesno("KundenListe", "Sind SIE SICHER") | |
| if iExit > 0 : | |
| root.destroy() | |
| return | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def Reset() : | |
| kundenEnt.delete(0, END) | |
| NameEnt.delete(0, END) | |
| AddresseEnt.delete(0, END) | |
| TelefonEnt.delete(0, END) | |
| HausnrEnt.delete(0, END) | |
| PLZEnt.delete(0, END) | |
| ORTEnt.delete(0, END) | |
| EmailEnt.delete(0, END) | |
| CommentEnt.delete(0, END) | |
| ######################################################################################################################## | |
| def addDATA() : | |
| con = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| custor = con.cursor() | |
| if NameEnt.get() == "" or AddresseEnt.get() == "" or TelefonEnt.get() == "" : | |
| tkinter.messagebox.showerror('Error', 'alle felder sind pflichtfelder ') | |
| elif NameEnt.get() == "" or AddresseEnt.get() == "" or TelefonEnt.get() == "" in custor : | |
| tkinter.messagebox.showerror('kunde exestiert ') | |
| else : | |
| custor.execute( | |
| "insert into Pizaa1(Name,Addresse,Telefon,Nr,PLZ,ORT,Email,int_comment) values(%s,%s,%s,%s,%s,%s,%s,%s)", | |
| (NameEnt.get(), | |
| AddresseEnt.get(), | |
| TelefonEnt.get(), | |
| HausnrEnt.get(), | |
| PLZEnt.get(), | |
| ORTEnt.get(), | |
| EmailEnt.get(), | |
| CommentEnt.get() | |
| )) | |
| custor.execute("commit") | |
| custor.close() | |
| MessageBox.showinfo("!", 'Kunde geschpeichert') | |
| Reset() | |
| ######################################################################################################################## | |
| def displaydata() : | |
| con = mysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| custor = con.cursor() | |
| custor1 = con.cursor() | |
| custor1.execute("select * from blacklist") | |
| custor.execute("select * from pizaa1") | |
| black = custor1.fetchall() | |
| schwarzlisteboxn.delete(0, END) | |
| schwarzlisteboxt.delete(0, END) | |
| for blacks in black : | |
| schwarzlisteboxn.insert(0, blacks[1]) | |
| schwarzlisteboxt.insert(0, blacks[3]) | |
| result = custor.fetchall() | |
| if "-" * len(result) != 0 : | |
| KUNDENliste.delete(*KUNDENliste.get_children()) | |
| for row in result : | |
| KUNDENliste.insert('', END, values=row) | |
| con.commit() | |
| con.close() | |
| ######################################################################################################################## | |
| def TraineeInfo(ev) : | |
| viewInfo = KUNDENliste.focus() | |
| lerandata = KUNDENliste.item(viewInfo) | |
| Reset() | |
| row = lerandata['values'] | |
| kundenid = kundenEnt.insert(0, row[0]) | |
| Name = NameEnt.insert(0, row[1]) | |
| Addresse = AddresseEnt.insert(0, row[2]) | |
| Telefon = TelefonEnt.insert(0, row[3]) | |
| Nr = HausnrEnt.insert(0, row[5]) | |
| PLZ = PLZEnt.insert(0, row[6]) | |
| ORT = ORTEnt.insert(0, row[7]) | |
| Email = EmailEnt.insert(0, row[8]) | |
| cmnt = CommentEnt.insert(0, row[4]) | |
| ######################################################################################################################## | |
| def update() : | |
| sqlCon = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| cur = sqlCon.cursor() | |
| cur.execute( | |
| "update pizaa1 set Name=%s,Addresse=%s,Telefon=%s,Nr=%s,PLZ=%s,ORT=%s,Email=%s,int_comment=%s where kundenid=%s ", | |
| (NameEnt.get(), | |
| AddresseEnt.get(), | |
| TelefonEnt.get(), | |
| HausnrEnt.get(), | |
| PLZEnt.get(), | |
| ORTEnt.get(), | |
| EmailEnt.get(), | |
| CommentEnt.get(), | |
| kundenEnt.get() | |
| )) | |
| sqlCon.commit() | |
| sqlCon.close() | |
| MessageBox.showinfo("!", 'Daten geandert') | |
| ######################################################################################################################## | |
| def delete() : | |
| sqlCon = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| cur = sqlCon.cursor() | |
| cur.execute("delete from pizaa1 where kundenid=%s", kundenEnt.get()) | |
| sqlCon.commit() | |
| displaydata() | |
| sqlCon.close() | |
| Reset() | |
| ######################################################################################################################## | |
| def suche(event=None) : | |
| sqlCon = pymysql.connect(host="localhost", user="root", | |
| password="A773468810598a", database="Kundendb") | |
| cur = sqlCon.cursor() | |
| cur.execute("select * from pizaa1 where kundenid=%s ", kundenEnt.get()) | |
| kundenEnt.delete(0, END) | |
| NameEnt.delete(0, END) | |
| AddresseEnt.delete(0, END) | |
| TelefonEnt.delete(0, END) | |
| HausnrEnt.delete(0, END) | |
| PLZEnt.delete(0, END) | |
| ORTEnt.delete(0, END) | |
| EmailEnt.delete(0, END) | |
| CommentEnt.delete(0, END) | |
| ar = cur.fetchall() | |
| for sag in ar : | |
| Kundenid = kundenEnt.insert(0, sag[0]) | |
| Name = NameEnt.insert(0, sag[1]) | |
| Addresse = AddresseEnt.insert(0, sag[2]) | |
| Telefon = TelefonEnt.insert(0, sag[3]) | |
| Nr = HausnrEnt.insert(0, sag[5]) | |
| PLZ = PLZEnt.insert(0, sag[6]) | |
| ORT = ORTEnt.insert(0, sag[7]) | |
| Email = EmailEnt.insert(0, sag[8]) | |
| CommentEnt.insert(0, row[4]) | |
| kundenEnt.configure(state=NORMAL) | |
| sqlCon.commit() | |
| sqlCon.close() | |
| ######################################################################################################################## | |
| def AddBlackList() : | |
| con = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| custor = con.cursor() | |
| custor.execute( | |
| "insert into blacklist(Name,Addresse,Telefon) values(%s,%s,%s)", | |
| (NameEnt.get(), | |
| AddresseEnt.get(), | |
| TelefonEnt.get(), | |
| )) | |
| custor.execute("commit") | |
| custor.close() | |
| MessageBox.showinfo("!", 'Kunde zu BlackList Hinzufügt') | |
| Reset() | |
| addblacklistB = Button(Titlefram, text='Blacklisten', bg='#232323', fg='white', bd=4, command=AddBlackList) | |
| addblacklistB.place(x=600, y=100) | |
| ######################################################################################################################## | |
| def Unlisten() : | |
| con = pymysql.connect(host="localhost", user="root", password="A773468810598a", database="Kundendb") | |
| custor = con.cursor() | |
| arsa = str(schwarzlisteboxn.get(ACTIVE)) | |
| print(arsa) | |
| custor.execute( | |
| "delete from blacklist where Name =%s ", | |
| (arsa,)) | |
| schwarzlisteboxn.delete(0, END) | |
| schwarzlisteboxt.delete(0, END) | |
| custor.execute("commit") | |
| custor.close() | |
| displaydata() | |
| unblacklistB = Button(Titlefram, text='unlisten', bg='white', fg='black', bd=4, command=Unlisten) | |
| unblacklistB.place(x=1080, y=120) | |
| ######################################################################################################################## | |
| # -------------------------------------------Treeview-----------------------------------------------------# | |
| scroll_y = Scrollbar(Leftframe, orient=VERTICAL) | |
| KUNDENliste = ttk.Treeview(Leftframe, height=25, columns=( | |
| "kundenid", "Name", "Addresse", "Telefon", "cmnt", "HausNr", "PLZ", "ORT", "Email") | |
| , yscrollcommand=scroll_y.set) | |
| scroll_y.pack(side=RIGHT, fill=Y) | |
| KUNDENliste.heading('kundenid', text='Kundenid') | |
| KUNDENliste.heading('Name', text='Name') | |
| KUNDENliste.heading('Addresse', text='Adresse') | |
| KUNDENliste.heading('Telefon', text='Telefon') | |
| KUNDENliste.heading('cmnt', text='cmnt') | |
| KUNDENliste.heading('HausNr', text='HausNr') | |
| KUNDENliste.heading('PLZ', text='PLZ') | |
| KUNDENliste.heading('ORT', text='ORT') | |
| KUNDENliste.heading('Email', text='Email') | |
| KUNDENliste['show'] = 'headings' | |
| KUNDENliste.column('kundenid', width=40) | |
| KUNDENliste.column('Name', width=120) | |
| KUNDENliste.column('Addresse', width=120) | |
| KUNDENliste.column('Telefon', width=140) | |
| KUNDENliste.column('cmnt', width=0) | |
| KUNDENliste.column('HausNr', width=50) | |
| KUNDENliste.column('PLZ', width=60) | |
| KUNDENliste.column('ORT', width=80) | |
| KUNDENliste.column('Email', width=220) | |
| KUNDENliste.pack(fill=BOTH, expand=1) | |
| KUNDENliste.bind("<Double-Button-1>", TraineeInfo) | |
| ######################################kunden liste chef (Buttons####################################################### | |
| btnHinz = Button(Rightfram1, font=('arial', 12, 'bold'), text='Hinzufügen', bd=4, bg='cadet blue', | |
| width=8, height=3, command=addDATA, ) | |
| btnHinz.grid(row=0, column=0) | |
| btnlösch = Button(Rightfram1, font=('arial', 12, 'bold'), text='Löschen', bd=4, bg='cadet blue', | |
| width=8, height=3, command=delete) | |
| btnlösch.grid(row=1, column=0) | |
| btnupd = Button(Rightfram1, font=('arial', 12, 'bold'), text='update', bd=4, bg='cadet blue', | |
| width=8, height=3, command=update) | |
| btnupd.grid(row=2, column=0) | |
| btnsuche = Button(Rightfram1, font=('arial', 12, 'bold'), text='Suchen', bd=4, bg='cadet blue', | |
| width=8, height=3, command=suche) | |
| btnsuche.grid(row=3, column=0) | |
| btnres = Button(Rightfram1, font=('arial', 12, 'bold'), text='reset', bd=4, bg='cadet blue', | |
| width=8, height=3, command=Reset) | |
| btnres.grid(row=4, column=0) | |
| btnbeen = Button(Rightfram1, font=('arial', 12, 'bold'), text='beenden', bd=4, bg='cadet blue', width=8, height=3, | |
| command=iExit) | |
| btnbeen.grid(row=5, column=0) | |
| btndisplay = Button(Rightfram1, font=('arial', 12, 'bold'), text='Display', bd=4, bg='cadet blue', pady=1, | |
| padx=24, | |
| width=8, height=3, command=displaydata) | |
| btndisplay.grid(row=6, column=0) | |
| ####################################### Speise liste chef ########################################################### | |
| def openwindow2() : | |
| new_window2 = Toplevel(root) | |
| screen_width = 500 | |
| screen_height = 1000 | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| new_window2.geometry("850x700") | |
| titlespace = " " | |
| new_window2.title(210 * titlespace + "Speisen") | |
| new_window2.resizable(width=False, height=False) | |
| Mainframe = Frame(new_window2, bd=4, width=None, height=None, relief=RIDGE, bg='#2E424D') | |
| Mainframe.place(x=6, y=0) | |
| Titlefram = Frame(Mainframe, bd=10, width=None, height=None, relief=RIDGE) | |
| Titlefram.grid(row=0, column=0) | |
| Topframe = Frame(Mainframe, bd=10, width=None, height=None, relief=RIDGE) | |
| Topframe.grid(row=1, column=0) | |
| Leftframe = Frame(Topframe, bd=10, width=None, height=None, padx=2, relief=RIDGE, bg='SlateGray4') | |
| Leftframe.pack(side=LEFT, expand=True, fill=BOTH) | |
| Leftframe1 = Frame(Leftframe, bd=10, width=None, height=None, relief=RIDGE, bg='SlateGray4') | |
| Leftframe1.pack(side=TOP, padx=0, pady=0, expand=True, fill=BOTH) | |
| Rightfram1 = Frame(Topframe, bd=10, width=None, height=None, bg='SlateGray4', ) | |
| Rightfram1.pack(side=RIGHT, expand=True, fill=BOTH) | |
| Name = StringVar() | |
| Nummer = StringVar() | |
| Kategorie = StringVar() | |
| Preis = StringVar() | |
| k_g = StringVar() | |
| conn = sqlite3.connect('speisekarte1.db') | |
| cur = conn.cursor() | |
| ##################################speise liste chef(Funktions)###################################################### | |
| def addspeisen() : | |
| siko = PreisE.get() | |
| if NameE.get() == ('') or Nummer1.get() == ('') or clicked.get() == ('') or PreisE.get() == ( | |
| '') or K_G2.get() == ('') : | |
| tkinter.messagebox.showerror('Erorr', 'Alle felder sind pflicht') | |
| elif ',' in siko : | |
| messagebox.showerror('Error', 'beim Preis muss ein Punkt sein und nicht ein comma') | |
| PreisE.delete(0, END) | |
| else : | |
| conn = sqlite3.connect('speisekarte1.db') | |
| cur = conn.cursor() | |
| saldo = str(NameE.get()) | |
| saldo1 = saldo.strip() | |
| sako = clicked.get() | |
| cur.execute( | |
| "insert into Speisen values(?,?,?,?,?)", | |
| (saldo1, | |
| Nummer1.get(), | |
| sako, | |
| PreisE.get(), | |
| K_G2.get() | |
| )) | |
| reset1() | |
| conn.commit() | |
| conn.close() | |
| ######################################################################################################################## | |
| conn = sqlite3.connect('speisekarte1.db') | |
| cur = conn.cursor() | |
| cur.execute("DELETE FROM Speisen WHERE Name IS NULL OR trim(Name) = ''") | |
| conn.commit() | |
| def displaydata1() : | |
| con = sqlite3.connect('speisekarte1.db') | |
| custor = con.cursor() | |
| custor.execute( | |
| "SELECT * FROM Speisen") | |
| result = custor.fetchall() | |
| if "-" * len(result) != 0 : | |
| speiseliste.delete(*speiseliste.get_children()) | |
| for row in result : | |
| speiseliste.insert('', END, values=row) | |
| con.commit() | |
| con.close() | |
| ######################################################################################################################## | |
| def suche1() : | |
| sqlCon = sqlite3.connect('speisekarte1.db') | |
| cur = sqlCon.cursor() | |
| nada = Nummer1.get() | |
| cur.execute("select * from Speisen where Nummer = " + nada) | |
| ars = cur.fetchall() | |
| for sags in ars : | |
| Name = NameE.insert(0, sags[0]) | |
| KategorieE.insert(0, sags[2]) | |
| PreisE.insert(0, sags[3]), | |
| K_G2.set(sags[4]) | |
| sqlCon.commit() | |
| ######################################################################################################################## | |
| def update1() : | |
| sqlCon = sqlite3.connect('speisekarte1.db') | |
| cur = sqlCon.cursor() | |
| cur.execute( | |
| """update Speisen set | |
| Name = :Name, | |
| Nummer = :Nummer, | |
| Kategorie = :Kategorie, | |
| Preis = :Preis, | |
| K_G = :K_G | |
| where Name = :Name """, | |
| {'Name' : NameE.get(), | |
| 'Nummer' : Nummer1.get(), | |
| 'Kategorie' : clicked.get(), | |
| 'Preis' : PreisE.get(), | |
| 'K_G' : K_G2.get() | |
| }) | |
| sqlCon.commit() | |
| sqlCon.close() | |
| reset1() | |
| #################################################################################################################### | |
| def reset1() : | |
| NameE.delete(0, END), | |
| Nummer1.delete(0, END), | |
| clicked.set('Auswählen') | |
| PreisE.delete(0, END), | |
| K_G2.set("") | |
| ######################################################################################################################## | |
| def delet1() : | |
| sqlCon = sqlite3.connect('speisekarte1.db') | |
| cur = sqlCon.cursor() | |
| nada1 = Nummer1.get() | |
| cur.execute("delete from Speisen where Nummer = " | |
| + nada1) | |
| sqlCon.commit() | |
| displaydata1() | |
| sqlCon.close() | |
| reset1() | |
| ####################################################################################################################### | |
| def deletall() : | |
| sqlCon = sqlite3.connect('speisekarte1.db') | |
| cur = sqlCon.cursor() | |
| cur.execute("delete from Speisen") | |
| sqlCon.commit() | |
| displaydata1() | |
| sqlCon.close() | |
| reset1() | |
| ###################################################################################################################### | |
| def speisenInfo(ev) : | |
| viewInfo = speiseliste.focus() | |
| lerandata = speiseliste.item(viewInfo) | |
| reset1() | |
| row = lerandata['values'] | |
| Name = NameE.insert(0, row[0]) | |
| Nummer = Nummer1.insert(0, row[1]) | |
| Kategorie = clicked.set(row[2]) | |
| Preis = PreisE.insert(0, row[3]) | |
| K_G = K_G2.set(row[4]) | |
| ######################################## Autocomplete for Zutaten ############################################### | |
| conn = sqlite3.connect('ZutatenListe.db') | |
| cur = conn.cursor() | |
| cur.execute('select SpeiseName from zutaten') | |
| baro = cur.fetchall() | |
| with open('zutatenliste.txt', 'w') as file1 : | |
| for naro in baro : | |
| ziko = ",".join(naro) | |
| file1.write(str(ziko) + '\n') | |
| zutatenliste = [] | |
| with open('zutatenliste.txt', 'r') as fsrg : | |
| for ziz in fsrg : | |
| zutatenliste.append(str(ziz)) | |
| conn.commit() | |
| # ----------------------------------Speisen Liste Labels and Enterys----------------------------------------------------# | |
| lbtitle = Label(Titlefram, font=('arial', 40, 'bold'), text="Speise karte bearbeiten", bd=7) | |
| lbtitle.grid(row=0, column=0, padx=132) | |
| Name = Label(Leftframe1, font=('arial', 12, 'bold'), text="Name", bd=5, bg='SlateGray4') | |
| Name.grid(row=1, column=0, sticky='w', padx=5) | |
| NameE = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| completevalues=zutatenliste, textvariable=Name) | |
| NameE.grid(row=1, column=1, sticky='w', padx=5) | |
| Nummer = Label(Leftframe1, font=('arial', 12, 'bold'), text="Nummer", bd=7, bg='SlateGray4') | |
| Nummer.grid(row=2, column=0, sticky='w', padx=5) | |
| Nummer1 = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', textvariable=Nummer) | |
| Nummer1.grid(row=2, column=1, sticky='w', padx=5) | |
| Kategorie = Label(Leftframe1, font=('arial', 12, 'bold'), text="Kategorie", bd=7, bg='SlateGray4') | |
| Kategorie.grid(row=3, column=0, sticky='w', padx=5) | |
| # ------------------------------------------# | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Katagorie ') | |
| nado = cur.fetchall() | |
| alle = [] | |
| for t in nado : | |
| top = str(t) | |
| replace = {'[' : '', | |
| ']' : '', | |
| '(' : '', | |
| ')' : '', | |
| ',' : '', | |
| "'" : ''} | |
| tops = top.translate(str.maketrans(replace)) | |
| alle.insert(0, tops) | |
| conn.commit() | |
| # -----------------------------------------# | |
| clicked = StringVar() | |
| clicked.set("Auswählen") | |
| KategorieE = OptionMenu(Leftframe1, clicked, *alle, ) | |
| KategorieE.place(x=108, y=67) | |
| KategorieE.configure(font=('arial', 12, 'bold'), bg="SlateGray4", bd=2, width=10) | |
| Preis = Label(Leftframe1, font=('arial', 12, 'bold'), text="Preis", bd=7, bg='SlateGray4') | |
| Preis.grid(row=5, column=0, sticky='w', padx=5) | |
| PreisE = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=10, justify='left', textvariable=Preis) | |
| PreisE.place(x=105, y=104) | |
| Labeleuro = Label(Leftframe1, font=('arial', 12, 'bold'), text='€', bd=5, bg='SlateGray4') | |
| Labeleuro.place(x=210, y=105) | |
| K_G1 = Label(Leftframe1, font=('arial', 12, 'bold'), text='K_G', bd=5, bg='SlateGray4') | |
| K_G1.grid(row=6, column=0, padx=5) | |
| K_G2 = ttk.Combobox(Leftframe1, font=('arial', 12, 'bold'), width=5, state='readonly') | |
| K_G2['values'] = ('', 'Klein', 'Gross', 'Standard') | |
| K_G2.current(0) | |
| K_G2.grid(row=6, column=1, sticky='W') | |
| ####################################### speiseliste tree view ######################################################## | |
| scroll_y = Scrollbar(Leftframe, orient=VERTICAL) | |
| speiseliste = ttk.Treeview(Leftframe, height=16, columns=("Name", "Nummer", "Kategorie", "Preis", "Kl_Gr") | |
| , yscrollcommand=scroll_y.set) | |
| scroll_y.pack(side=RIGHT, fill=Y) | |
| speiseliste.heading('Name', text='Name') | |
| speiseliste.heading('Nummer', text='Nummer') | |
| speiseliste.heading('Kategorie', text='Kategorie') | |
| speiseliste.heading('Preis', text='Preis') | |
| speiseliste.heading('Kl_Gr', text='Kl_Gr') | |
| speiseliste['show'] = 'headings' | |
| speiseliste.column('Name', width=80) | |
| speiseliste.column('Nummer', width=60) | |
| speiseliste.column('Kategorie', width=80) | |
| speiseliste.column('Preis', width=60) | |
| speiseliste.column('Kl_Gr', width=60) | |
| speiseliste.pack(fill=BOTH, expand=1) | |
| speiseliste.bind("<ButtonRelease>", speisenInfo) | |
| ################################ speise liste buttons ################################################################ | |
| btnspei = Button(Rightfram1, font=('arial', 12, 'bold'), text='Hinzufügen', bd=4, bg='#98DAD9', pady=1, padx=24, | |
| width=8, height=3, command=addspeisen) | |
| btnspei.grid(row=0, column=0, padx=1) | |
| btndel = Button(Rightfram1, font=('arial', 12, 'bold'), text='Löschen', bd=4, bg='#98DAD9', pady=1, | |
| padx=24, | |
| width=8, height=3, command=delet1) | |
| btndel.grid(row=1, column=0, padx=1) | |
| btnand = Button(Rightfram1, font=('arial', 12, 'bold'), text='update', bd=4, bg='#98DAD9', pady=1, | |
| padx=24, | |
| width=8, height=3, command=update1) | |
| btnand.grid(row=2, column=0, padx=1) | |
| btnsear = Button(Rightfram1, font=('arial', 12, 'bold'), text='Suchen', bd=4, bg='#98DAD9', pady=1, | |
| padx=24, | |
| width=8, height=3, command=suche1) | |
| btnsear.grid(row=3, column=0, padx=1) | |
| btnreset = Button(Rightfram1, font=('arial', 12, 'bold'), text='reset', bd=4, bg='#98DAD9', pady=1, | |
| padx=24, | |
| width=8, height=3, command=reset1) | |
| btnreset.grid(row=4, column=0, padx=1) | |
| btnexit = Button(Rightfram1, font=('arial', 12, 'bold'), text='beenden', bd=4, bg='#98DAD9', pady=1, | |
| padx=24, width=8, height=3, command=deletall) | |
| btnexit.grid(row=5, column=0, padx=1) | |
| btndishow = Button(Rightfram1, font=('arial', 12, 'bold'), text='Display', bd=4, bg='#98DAD9', pady=1, | |
| padx=24, | |
| width=8, height=3, command=displaydata1) | |
| btndishow.grid(row=6, column=0, padx=1) | |
| mainloop() | |
| ###################################### seite 2 button ################################################################ | |
| frame1 = Frame(bd=4, bg='#183C47', width=379, height=119) | |
| frame1.place(x=25, y=450) | |
| btn2 = Button(frame1, text=("Chef",), bd=12, bg='#40A9DC', height=2, width=20, fg="black", command=popupwin, | |
| font=('Helvetica', 20, | |
| "italic bold"), | |
| relief=GROOVE, activebackground='blue') | |
| btn2.pack(padx=10, pady=10) | |
| btn2.place(x=0, y=1) | |
| ############################################# Zutaten Liste ########################################################## | |
| def openwindow3() : | |
| new_window3 = Toplevel(root) | |
| w12 = 1600 | |
| h12 = 900 | |
| new_window3.geometry("1700x700") | |
| new_window3.configure(bg='blue') | |
| new_window3.title(210 * titlespace + "Zutaten") | |
| new_window3.resizable(width=False, height=False) | |
| Mainframe = Frame(new_window3, bd=4, width=650, height=450, relief=RIDGE, bg='SlateGray4') | |
| Mainframe.place(x=6, y=0) | |
| Titlefram = Frame(Mainframe, bd=10, width=800, height=150, relief=RIDGE) | |
| Titlefram.grid(row=0, column=0) | |
| Topframe = Frame(Mainframe, bd=10, width=800, height=600, relief=RIDGE) | |
| Topframe.grid(row=1, column=0) | |
| Leftframe = Frame(Topframe, bd=10, width=800, height=500, padx=2, relief=RIDGE, bg='SlateGray4') | |
| Leftframe.pack(side=LEFT, expand=True, fill=BOTH) | |
| Leftframe1 = Frame(Leftframe, bd=10, width=500, height=600, relief=RIDGE, bg='SlateGray4') | |
| Leftframe1.pack(side=LEFT, expand=True, fill=BOTH) | |
| Rightframe = Frame(Topframe, bd=10, width=350, height=600, relief=RIDGE, bg='SlateGray4') | |
| Rightframe.pack(side=RIGHT, expand=True, fill=BOTH) | |
| Rightfram1 = Frame(Rightframe, bd=10, width=350, height=600, relief=RIDGE, bg='SlateGray4') | |
| Rightfram1.pack(side=TOP, expand=True, fill=BOTH) | |
| ################################## Zutaten liste chef(Funktions) ################################################### | |
| def addZutaten() : | |
| conn = sqlite3.connect('ZutatenListe.db') | |
| cur = conn.cursor() | |
| karo = str(Zutaten1E.get(), ) | |
| naldo = str(Zutaten2E.get(), ) | |
| saldo = str(Zutaten3E.get(), ) | |
| ziko = str(Zutaten4E.get(), ) | |
| fiko = str(Zutaten5E.get(), ) | |
| tiko = str(Zutaten6E.get(), ) | |
| hiko = str(Zutaten7E.get(), ) | |
| aiko = str(Zutaten8E.get(), ) | |
| biko = str(Zutaten9E.get(), ) | |
| niko = str(Zutaten10E.get(), ) | |
| karo1 = karo.strip() | |
| naldo1 = naldo.strip() | |
| saldo1 = saldo.strip() | |
| ziko1 = ziko.strip() | |
| fiko1 = fiko.strip() | |
| tiko1 = tiko.strip() | |
| hiko1 = hiko.strip() | |
| aiko1 = aiko.strip() | |
| biko1 = biko.strip() | |
| niko1 = niko.strip() | |
| cur.execute( | |
| "insert into zutaten values(?,?,?,?,?,?,?,?,?,?,?)", | |
| (SpeiseNameE.get(), | |
| karo1, | |
| naldo1, | |
| saldo1, | |
| ziko1, | |
| fiko1, | |
| tiko1, | |
| hiko1, | |
| aiko1, | |
| biko1, | |
| niko1 | |
| )) | |
| cur.execute("update zutaten set SpeiseName= LTRIM(RTRIM(SpeiseName))") | |
| resetZutaten() | |
| conn.commit() | |
| conn.close() | |
| #################################################################################################################### | |
| def displayZutaten() : | |
| con = sqlite3.connect('ZutatenListe.db') | |
| custor = con.cursor() | |
| custor.execute( | |
| "SELECT * FROM zutaten") | |
| result = custor.fetchall() | |
| if "-" * len(result) != 0 : | |
| ZutatenListe.delete(*ZutatenListe.get_children()) | |
| for row in result : | |
| ZutatenListe.insert('', END, values=row) | |
| con.commit() | |
| con.close() | |
| #################################################################################################################### | |
| def sucheZutaten() : | |
| sqlCon = sqlite3.connect('ZutatenListe.db') | |
| cur = sqlCon.cursor() | |
| nado = SpeiseNameE.get() | |
| cur.execute("select * from zutaten where SpeiseName = (?)", (nado,)) | |
| ars = cur.fetchall() | |
| for sags in ars : | |
| SpeiseNameE.delete(0, END) | |
| SpeiseName = SpeiseNameE.insert(0, sags[0]) | |
| Zutaten1E.insert(0, sags[1]), | |
| Zutaten2E.insert(0, sags[2]), | |
| Zutaten3E.insert(0, sags[3]), | |
| Zutaten4E.insert(0, sags[4]), | |
| Zutaten5E.insert(0, sags[5]), | |
| Zutaten6E.insert(0, sags[6]), | |
| Zutaten7E.insert(0, sags[7]), | |
| Zutaten8E.insert(0, sags[8]), | |
| Zutaten9E.insert(0, sags[9]), | |
| Zutaten10E.insert(0, sags[10]), | |
| sqlCon.commit() | |
| #################################################################################################################### | |
| def updateZutaten() : | |
| sqlCon = sqlite3.connect('ZutatenListe.db') | |
| cur = sqlCon.cursor() | |
| cur.execute( | |
| """update zutaten set | |
| SpeiseName = :SpeiseName, | |
| Zutaten1 = :Zutaten1 , | |
| Zutaten2 = :Zutaten2 , | |
| Zutaten3 = :Zutaten3 , | |
| Zutaten4 = :Zutaten4 , | |
| Zutaten5 = :Zutaten5 , | |
| Zutaten6 = :Zutaten6 , | |
| Zutaten7 = :Zutaten7 , | |
| Zutaten8 = :Zutaten8 , | |
| Zutaten9 = :Zutaten9 , | |
| Zutaten10 = :Zutaten10 | |
| where SpeiseName = :SpeiseName """, | |
| {'SpeiseName' : SpeiseNameE.get(), | |
| 'Zutaten1' : Zutaten1E.get(), | |
| 'Zutaten2' : Zutaten2E.get(), | |
| 'Zutaten3' : Zutaten3E.get(), | |
| 'Zutaten4' : Zutaten4E.get(), | |
| 'Zutaten5' : Zutaten5E.get(), | |
| 'Zutaten6' : Zutaten6E.get(), | |
| 'Zutaten7' : Zutaten7E.get(), | |
| 'Zutaten8' : Zutaten8E.get(), | |
| 'Zutaten9' : Zutaten9E.get(), | |
| 'Zutaten10' : Zutaten10E.get() | |
| }) | |
| sqlCon.commit() | |
| sqlCon.close() | |
| resetZutaten() | |
| displayZutaten() | |
| #################################################################################################################### | |
| def resetZutaten() : | |
| SpeiseNameE.delete(0, END), | |
| Zutaten1E.delete(0, END), | |
| Zutaten2E.delete(0, END), | |
| Zutaten3E.delete(0, END), | |
| Zutaten4E.delete(0, END), | |
| Zutaten5E.delete(0, END), | |
| Zutaten6E.delete(0, END), | |
| Zutaten7E.delete(0, END), | |
| Zutaten8E.delete(0, END), | |
| Zutaten9E.delete(0, END), | |
| Zutaten10E.delete(0, END) | |
| #################################################################################################################### | |
| def deletZutaten() : | |
| sqlCon = sqlite3.connect('ZutatenListe.db') | |
| cur = sqlCon.cursor() | |
| nada3 = SpeiseNameE.get() | |
| cur.execute("delete from zutaten where SpeiseName =?", | |
| (nada3,)) | |
| sqlCon.commit() | |
| displayZutaten() | |
| sqlCon.close() | |
| resetZutaten() | |
| # ################################################################################################################## | |
| def deletallZutaten() : | |
| message = messagebox.askyesno("Achtung", "SIND SIE SICHER ,ALLES lÖSCHEN", ) | |
| label = Label(new_window3, text=message).pack() | |
| if message == 1 : | |
| sqlCon = sqlite3.connect('ZutatenListe.db') | |
| cur = sqlCon.cursor() | |
| cur.execute("delete from zutaten") | |
| sqlCon.commit() | |
| displayZutaten() | |
| sqlCon.close() | |
| resetZutaten() | |
| messagebox.showinfo("ACHTUNG", "ALLES GELÖSCHT") | |
| else : | |
| pass | |
| #################################################################################################################### | |
| def ZutatenInfo(ev) : | |
| viewInfo = ZutatenListe.focus() | |
| lerandata = ZutatenListe.item(viewInfo) | |
| resetZutaten() | |
| row = lerandata['values'] | |
| SpeiseName = SpeiseNameE.insert(0, row[0]) | |
| Zutaten1 = Zutaten1E.insert(0, row[1]) | |
| Zutaten2 = Zutaten2E.insert(0, row[2]) | |
| Zutaten3 = Zutaten3E.insert(0, row[3]) | |
| Zutaten4 = Zutaten4E.insert(0, row[4]) | |
| Zutaten5 = Zutaten5E.insert(0, row[5]) | |
| Zutaten6 = Zutaten6E.insert(0, row[6]) | |
| Zutaten7 = Zutaten7E.insert(0, row[7]) | |
| Zutaten8 = Zutaten8E.insert(0, row[8]) | |
| Zutaten9 = Zutaten9E.insert(0, row[9]) | |
| Zutaten10 = Zutaten10E.insert(0, row[10]) | |
| ######################################## Autocomplete function for Zutaten ######################################### | |
| conn = sqlite3.connect("ZutatenPreise.db") | |
| cur = conn.cursor() | |
| cur.execute("select trim(Zutat) from zutatenpreise ") | |
| maro = cur.fetchall() | |
| with open("zutatenpreise.txt", 'w') as file2 : | |
| for zuz in maro : | |
| ziko = ",".join(zuz) | |
| ziko.strip() | |
| ziko.split() | |
| file2.write(str(ziko) + '\n') | |
| zutatenpreise = [] | |
| with open('zutatenpreise.txt', 'r') as file3 : | |
| for zaro in file3 : | |
| zaro = zaro.rstrip() | |
| zutatenpreise.append(str(zaro) + '\n') | |
| conn.commit() | |
| ######################################## Zutaten liste chef (Buttons\Labells) ###################################### | |
| lbtitle = Label(Titlefram, font=('arial', 40, 'bold'), text="Zutaten Liste bearbeiten", bd=7) | |
| lbtitle.grid(row=0, column=0, padx=132) | |
| SpeiseName = Label(Leftframe1, font=('arial', 12, 'bold'), text="SpeiseName", bd=7, bg='SlateGray4') | |
| SpeiseName.grid(row=1, column=0, sticky='w', padx=5) | |
| SpeiseNameE = Entry(Leftframe1, font=('arial', 12, 'bold'), bd=5, width=44, justify='left', textvariable=SpeiseName) | |
| SpeiseNameE.grid(row=1, column=1, sticky='w', padx=5) | |
| Zutaten1 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten1", bd=7, bg='SlateGray4') | |
| Zutaten1.grid(row=2, column=0, sticky='w', padx=5) | |
| Zutaten1E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten1, completevalues=zutatenpreise) | |
| Zutaten1E.grid(row=2, column=1, sticky='w', padx=5) | |
| Zutaten2 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten2", bd=7, bg='SlateGray4') | |
| Zutaten2.grid(row=3, column=0, sticky='w', padx=5) | |
| Zutaten2E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten2, completevalues=zutatenpreise) | |
| Zutaten2E.grid(row=3, column=1, sticky='w', padx=5) | |
| Zutaten3 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten3", bd=7, bg='SlateGray4') | |
| Zutaten3.grid(row=4, column=0, sticky='w', padx=5) | |
| Zutaten3E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten3, completevalues=zutatenpreise) | |
| Zutaten3E.grid(row=4, column=1, sticky='w', padx=5) | |
| Zutaten4 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten4", bd=7, bg='SlateGray4') | |
| Zutaten4.grid(row=5, column=0, sticky='w', padx=5) | |
| Zutaten4E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten4, completevalues=zutatenpreise) | |
| Zutaten4E.grid(row=5, column=1, sticky='w', padx=5) | |
| Zutaten5 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten5", bd=7, bg='SlateGray4') | |
| Zutaten5.grid(row=6, column=0, sticky='w', padx=5) | |
| Zutaten5E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten5, completevalues=zutatenpreise) | |
| Zutaten5E.grid(row=6, column=1, sticky='w', padx=5) | |
| Zutaten6 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten6", bd=7, bg='SlateGray4') | |
| Zutaten6.grid(row=7, column=0, sticky='w', padx=5) | |
| Zutaten6E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten6, completevalues=zutatenpreise) | |
| Zutaten6E.grid(row=7, column=1, sticky='w', padx=5) | |
| Zutaten7 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten7", bd=7, bg='SlateGray4') | |
| Zutaten7.grid(row=8, column=0, sticky='w', padx=5) | |
| Zutaten7E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten7, completevalues=zutatenpreise) | |
| Zutaten7E.grid(row=8, column=1, sticky='w', padx=5) | |
| Zutaten8 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten8", bd=7, bg='SlateGray4') | |
| Zutaten8.grid(row=9, column=0, sticky='w', padx=5) | |
| Zutaten8E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten8, completevalues=zutatenpreise) | |
| Zutaten8E.grid(row=9, column=1, sticky='w', padx=5) | |
| Zutaten9 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten9", bd=7, bg='SlateGray4') | |
| Zutaten9.grid(row=10, column=0, sticky='w', padx=5) | |
| Zutaten9E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten9, completevalues=zutatenpreise) | |
| Zutaten9E.grid(row=10, column=1, sticky='w', padx=5) | |
| Zutaten10 = Label(Leftframe1, font=('arial', 12, 'bold'), text="Zutaten10", bd=7, bg='SlateGray4') | |
| Zutaten10.grid(row=11, column=0, sticky='w', padx=5) | |
| Zutaten10E = AutocompleteEntry(Leftframe1, font=('arial', 12, 'bold'), width=44, justify='left', | |
| textvariable=Zutaten10, completevalues=zutatenpreise) | |
| Zutaten10E.grid(row=11, column=1, sticky='w', padx=5) | |
| ####################################### ZUTATENLISTE tree view ##################################################### | |
| scroll_y = Scrollbar(Leftframe, orient=VERTICAL) | |
| ZutatenListe = ttk.Treeview(Leftframe, height=16, | |
| columns=("SpeiseName", "Zutaten1", "Zutaten2", "Zutaten3", "Zutaten4", "Zutaten5", | |
| "Zutaten6", "Zutaten7", "Zutaten8", "Zutaten9", "Zutaten10") | |
| , yscrollcommand=scroll_y.set) | |
| scroll_y.pack(side=RIGHT, expand=True, fill=BOTH) | |
| ZutatenListe.heading('SpeiseName', text='SpeiseName') | |
| ZutatenListe.heading('Zutaten1', text='Zutaten1') | |
| ZutatenListe.heading('Zutaten2', text='Zutaten2') | |
| ZutatenListe.heading('Zutaten3', text='Zutaten3') | |
| ZutatenListe.heading('Zutaten4', text='Zutaten4') | |
| ZutatenListe.heading('Zutaten5', text='Zutaten5') | |
| ZutatenListe.heading('Zutaten6', text='Zutaten6') | |
| ZutatenListe.heading('Zutaten7', text='Zutaten7') | |
| ZutatenListe.heading('Zutaten8', text='Zutaten8') | |
| ZutatenListe.heading('Zutaten9', text='Zutaten9') | |
| ZutatenListe.heading('Zutaten10', text='Zutaten10') | |
| ZutatenListe['show'] = 'headings' | |
| ZutatenListe.column('SpeiseName', width=80) | |
| ZutatenListe.column('Zutaten1', width=80) | |
| ZutatenListe.column('Zutaten2', width=80) | |
| ZutatenListe.column('Zutaten3', width=80) | |
| ZutatenListe.column('Zutaten4', width=80) | |
| ZutatenListe.column('Zutaten5', width=80) | |
| ZutatenListe.column('Zutaten6', width=80) | |
| ZutatenListe.column('Zutaten7', width=80) | |
| ZutatenListe.column('Zutaten8', width=80) | |
| ZutatenListe.column('Zutaten9', width=80) | |
| ZutatenListe.column('Zutaten10', width=80) | |
| ZutatenListe.pack(expand=True, fill=BOTH) | |
| ZutatenListe.bind("<ButtonRelease>", ZutatenInfo) | |
| ############################### speise liste buttons ############################################################### | |
| btnspei = Button(Rightfram1, font=('arial', 12, 'bold'), text='Hinzufügen', bd=4, bg='SlateGray2', pady=1, padx=24, | |
| width=8, height=3, command=addZutaten) | |
| btnspei.grid(row=0, column=0, padx=1) | |
| btndel = Button(Rightfram1, font=('arial', 12, 'bold'), text='Löschen', bd=4, bg='SlateGray2', pady=1, | |
| padx=24, | |
| width=8, height=3, command=deletZutaten) | |
| btndel.grid(row=1, column=0, padx=1) | |
| btnand = Button(Rightfram1, font=('arial', 12, 'bold'), text='update', bd=4, bg='SlateGray2', pady=1, | |
| padx=24, | |
| width=8, height=3, command=updateZutaten) | |
| btnand.grid(row=2, column=0, padx=1) | |
| btnsear = Button(Rightfram1, font=('arial', 12, 'bold'), text='Suchen', bd=4, bg='SlateGray2', pady=1, | |
| padx=24, | |
| width=8, height=3, command=sucheZutaten) | |
| btnsear.grid(row=3, column=0, padx=1) | |
| btnreset = Button(Rightfram1, font=('arial', 12, 'bold'), text='reset', bd=4, bg='SlateGray2', pady=1, | |
| padx=24, | |
| width=8, height=3, command=resetZutaten) | |
| btnreset.grid(row=4, column=0, padx=1) | |
| btnexit = Button(Rightfram1, font=('arial', 12, 'bold'), text='Alle Löschen', bd=4, bg='SlateGray2', pady=1, | |
| padx=24, width=8, height=3, command=deletallZutaten) | |
| btnexit.grid(row=5, column=0, padx=1) | |
| btndishow = Button(Rightfram1, font=('arial', 12, 'bold'), text='Display', bd=4, bg='SlateGray2', pady=1, | |
| padx=24, | |
| width=8, height=3, command=displayZutaten) | |
| btndishow.grid(row=6, column=0, padx=1) | |
| ############################################## Zutate Preise ########################################################### | |
| def openwindow4() : | |
| new_window4 = Toplevel(root) | |
| new_window4.geometry("750x750") | |
| new_window4.configure(bg='SlateGray4') | |
| new_window4.title(100 * titlespace + "Zutaten Preise") | |
| new_window4.resizable(width=False, height=False) | |
| Frame1 = Frame(new_window4, width=450, bg='SlateGray4', bd=4, height=800, relief=RIDGE) | |
| Frame1.place(x=0, y=0) | |
| Frame2 = Frame(new_window4, width=250, bg='DarkSlateGray4', bd=4, height=780, relief=RIDGE, padx=2) | |
| Frame2.place(x=610, y=0) | |
| Frame3 = Frame(new_window4, width=450, bg='white', height=3000, relief=RIDGE) | |
| Frame3.place(x=40, y=110) | |
| ########################################## Labels Zutaten Preise ##################################################### | |
| font_ = ("ARIEL", 13, "bold") | |
| Zutat = Label(Frame1, text='Zutat', width=15, font=("arial", 16, "bold"), bd=4, bg='SlateGray4') | |
| Zutat.grid(row=1, column=2) | |
| ZutatE = Entry(Frame1, width=20, bd=4, font=font_) | |
| ZutatE.grid(row=2, column=2) | |
| Preis = Label(Frame1, text='Preis/€', width=15, font=("arial", 16, "bold"), bd=4, bg='SlateGray4') | |
| Preis.grid(row=1, column=3) | |
| PreisE = Entry(Frame1, width=8, bd=4, font=font_) | |
| PreisE.grid(row=2, column=3) | |
| Nummer = Label(Frame1, text='Nummer', width=15, font=("arial", 16, "bold"), bd=4, bg='SlateGray4') | |
| Nummer.grid(row=1, column=1) | |
| NummerE = Entry(Frame1, width=4, bd=4, font=font_) | |
| NummerE.grid(row=2, column=1) | |
| ########################################## zutatenPreise Functions #################################################### | |
| kol = [] | |
| # -------------------------------------------Speise Nummer rausholen------------------------------------------------# | |
| def numm() : | |
| conn = sqlite3.connect('ZutatenPreise.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from zutatenpreise') | |
| fet = cur.fetchall() | |
| NummerE.delete(0, END) | |
| for izo in fet : | |
| kol.insert(0, izo) | |
| hob = len(kol) | |
| NummerE.insert(0, hob + 1) | |
| NummerE.config(state=DISABLED) | |
| kol.clear() | |
| numm() | |
| # ----------------------------------------------- Speise Nummer Frei stellen ---------------------------------------# | |
| def frei() : | |
| NummerE.config(state=NORMAL) | |
| NummerE.delete(0, END) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def Speicher_zutat() : | |
| NummerE.config(state=NORMAL) | |
| siko = PreisE.get() | |
| soko = ZutatE.get() | |
| if ' ' in soko : | |
| messagebox.showerror('Error', 'kein leere tasten') | |
| else : | |
| if ',' in siko : | |
| MessageBox.showerror('Error', 'es muss ein punkt sein und nicht ein komma') | |
| else : | |
| numb = NummerE.get() | |
| conn1 = sqlite3.connect("ZutatenPreise.db") | |
| cur1 = conn1.cursor() | |
| cur1.execute('select Nummer from zutatenpreise') | |
| ford = cur1.fetchall() | |
| for ido in ford : | |
| sol = str(ido).replace(')', '').replace('(', '').replace(',', '') | |
| if numb in sol : | |
| messagebox.showerror('Nummer vergeben ', 'diese Nummer exestiert schon ') | |
| else : | |
| conn = sqlite3.connect("ZutatenPreise.db") | |
| cur = conn.cursor() | |
| saldo = str(ZutatE.get()) | |
| cur.execute("insert into zutatenpreise values(?,?,?)", | |
| (NummerE.get(), | |
| saldo.strip(), | |
| PreisE.get() | |
| )) | |
| Displayzutat() | |
| Reseten() | |
| conn.commit() | |
| conn.close() | |
| numm() | |
| # --------------------------------------------------------------------------------------------------------------# | |
| def Reseten() : | |
| NummerE.delete(0, END) | |
| ZutatE.delete(0, END) | |
| PreisE.delete(0, END) | |
| # --------------------------------------------------------------------------------------------------------------# | |
| def suchenzutat() : | |
| conn = sqlite3.connect("ZutatenPreise.db") | |
| cur = conn.cursor() | |
| ziko = NummerE.get() | |
| cur.execute("select* from zutatenpreise where Nummer=(?)", (ziko,)) | |
| arko = cur.fetchall() | |
| for tiko in arko : | |
| Reseten() | |
| NummerE.insert(END, tiko[0]) | |
| ZutatE.insert(END, tiko[1]) | |
| PreisE.insert(END, tiko[2]) | |
| conn.commit() | |
| conn.close() | |
| # --------------------------------------------------------------------------------------------------------------# | |
| def deletezutat() : | |
| conn = sqlite3.connect("ZutatenPreise.db") | |
| cur = conn.cursor() | |
| nido = ZutatE.get() | |
| cur.execute("delete from zutatenpreise where Zutat=(?)", (nido,)) | |
| Reseten() | |
| Displayzutat() | |
| conn.commit() | |
| conn.close() | |
| # --------------------------------------------------------------------------------------------------------------# | |
| def Displayzutat() : | |
| conn = sqlite3.connect('ZutatenPreise.db') | |
| cur = conn.cursor() | |
| cur.execute( | |
| "SELECT * FROM zutatenpreise") | |
| result = cur.fetchall() | |
| if "-" * len(result) != 0 : | |
| ZutatenPreise.delete(*ZutatenPreise.get_children()) | |
| for row in result : | |
| ZutatenPreise.insert('', END, values=row) | |
| conn.commit() | |
| conn.close() | |
| # --------------------------------------------------------------------------------------------------------------# | |
| def ZutatenpreiseInfo(ev) : | |
| viewInfo = ZutatenPreise.focus() | |
| lerandata = ZutatenPreise.item(viewInfo) | |
| Reseten() | |
| row = lerandata['values'] | |
| Nummer = NummerE.insert(0, row[0]) | |
| Zutat = ZutatE.insert(0, row[1]) | |
| Preis = PreisE.insert(0, row[2]) | |
| # --------------------------------------------------------------------------------------------------------------# | |
| def updatezutat() : | |
| conn = sqlite3.connect("ZutatenPreise.db") | |
| cur = conn.cursor() | |
| cur.execute(""" | |
| update zutatenpreise set | |
| Nummer = :Nummer, | |
| Zutat = :Zutat , | |
| Preis€=:Preis€ | |
| where Nummer = :Nummer """, | |
| {'Nummer' : NummerE.get(), | |
| 'Zutat' : ZutatE.get(), | |
| 'Preis€' : PreisE.get(), | |
| }) | |
| Reseten() | |
| Displayzutat() | |
| conn.commit() | |
| conn.close() | |
| ########################################## zutatenPreise Buttons ###################################################### | |
| SpeicherButton = Button(new_window4, text='Speichern', font=font_, width=12, height=2, bd=2, bg='grey' | |
| , activebackground='red', command=Speicher_zutat) | |
| SpeicherButton.place(x=617, y=20) | |
| UpdateButton = Button(new_window4, text='Update', font=font_, width=12, height=2, bd=2, bg='grey' | |
| , activebackground='red', command=updatezutat) | |
| UpdateButton.place(x=617, y=90) | |
| LöschenButton = Button(new_window4, text='Löschen', font=font_, width=12, height=2, bd=2, bg='grey' | |
| , activebackground='red', command=deletezutat) | |
| LöschenButton.place(x=617, y=160) | |
| SucheButton = Button(new_window4, text='Suchen', font=font_, width=12, height=2, bd=2, bg='grey' | |
| , activebackground='red', command=suchenzutat) | |
| SucheButton.place(x=617, y=230) | |
| ResetButton = Button(new_window4, text='Reset', font=font_, width=12, height=2, bd=2, bg='grey' | |
| , activebackground='red', command=Reseten) | |
| ResetButton.place(x=617, y=300) | |
| DisplayButton = Button(new_window4, text='Display', font=font_, width=12, height=2, bd=2, bg='grey' | |
| , activebackground='red', command=Displayzutat) | |
| DisplayButton.place(x=617, y=370) | |
| frei_schalten = Button(Frame1, text='F', width=3, font=("arial", 8, "bold"), bd=4, bg='darkSlateGray4', | |
| command=frei) | |
| frei_schalten.place(x=5, y=5) | |
| ######################################### Tree view zuztatenpreise ##################################################### | |
| scroll_y = Scrollbar(Frame3, orient=VERTICAL) | |
| ZutatenPreise = ttk.Treeview(Frame3, height=30, | |
| columns=("Nummer", "Zutat", "Preis/€",) | |
| , yscrollcommand=scroll_y.set) | |
| scroll_y.pack(side=RIGHT, fill=Y) | |
| ZutatenPreise.heading('Nummer', text='Nummer') | |
| ZutatenPreise.heading('Zutat', text='Zutat') | |
| ZutatenPreise.heading('Preis/€', text='Preis/€') | |
| ZutatenPreise['show'] = 'headings' | |
| ZutatenPreise.column('Nummer', width=160) | |
| ZutatenPreise.column('Zutat', width=160) | |
| ZutatenPreise.column('Preis/€', width=160) | |
| ZutatenPreise.pack(fill=BOTH, expand=1) | |
| ZutatenPreise.bind("<ButtonRelease>", ZutatenpreiseInfo) | |
| ###################################### Diverse Einstellung ############################################################# | |
| def openwindow5() : | |
| global new_window | |
| font_size = ("ARIEL", 12, "bold") | |
| new_window4 = Toplevel(root) | |
| new_window4.geometry("850x900") | |
| new_window4.configure(bg='SlateGray4') | |
| new_window4.title(100 * titlespace + "Einsetllung") | |
| new_window4.resizable(width=False, height=False) | |
| Frame1 = Frame(new_window4, width=500, bg='white', bd=4, height=900, relief=RIDGE) | |
| Frame1.place(x=0, y=0) | |
| Update = Label(Frame1, text='Update ', font=font_size, bd=4, bg='SlateGray3', height=1, width=48) | |
| Update.place(x=0, y=0) | |
| Aktuell = Label(new_window4, text='Aktuell ', font=font_size, bd=4, bg='SlateGray2', height=1, width=35) | |
| Aktuell.place(x=500, y=0) | |
| # --------------------------------------------Familien Pizza ----------------------------------------------------------## | |
| def Update1() : | |
| freit = Familien_FreiE.get() | |
| preist = Familien_PreisE.get() | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| Familie = 'FamilienPizza' | |
| cur.execute(""" | |
| update einstellung set | |
| Name = :Name, | |
| einstellung1 = :einstellung1 , | |
| einstellung2=:einstellung2 | |
| where Name = :Name """, | |
| {'Name' : Familie, | |
| 'einstellung1' : freit, | |
| 'einstellung2' : preist, | |
| }) | |
| conn.commit() | |
| conn.close() | |
| Familien_FreiE.delete(0, END) | |
| Familien_PreisE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # --------------------------------------------------------------------------------------------------------# | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from einstellung where Name = ?', ('FamilienPizza',)) | |
| nado = cur.fetchall() | |
| frei = '' | |
| preis = '' | |
| for t in nado : | |
| frei = t[1] | |
| preis = t[2] | |
| print((preis)) | |
| conn.commit() | |
| # -------------------------------------------------------------------------------------------------------# | |
| Familien_ = Label(Frame1, text='Familien Pizza ', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Familien_.place(x=0, y=35) | |
| Familien_Frei = Label(Frame1, text='Anzahl Freie zutaten :', font=font_size, bd=4, bg='white', height=1) | |
| Familien_Frei.place(x=0, y=65) | |
| Familien_FreiE = Entry(Frame1, width=3, bd=4, font=font_size) | |
| Familien_FreiE.place(x=180, y=65) | |
| Familien_Preis = Label(Frame1, text='Preis :', font=font_size, bd=4, bg='white', height=1) | |
| Familien_Preis.place(x=230, y=65) | |
| Familien_euro = Label(Frame1, text='€', font=font_size, bd=4, bg='white', height=1) | |
| Familien_euro.place(x=340, y=65) | |
| Familien_PreisE = Entry(Frame1, width=3, bd=4, font=font_size) | |
| Familien_PreisE.place(x=300, y=65) | |
| Familien_Button = Button(Frame1, text='Update', width=8, height=1, command=Update1) | |
| Familien_Button.place(x=380, y=65) | |
| Familien_A = Label(new_window4, text='Familien Pizza ', font=font_size, bd=4, bg='SlateGray3', height=1, width=35) | |
| Familien_A.place(x=500, y=39) | |
| Familien_Frei = Label(new_window4, text='Anzahl Freie zutaten :', font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Familien_Frei.place(x=500, y=70) | |
| Familien_F = Label(new_window4, text=frei, font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Familien_F.place(x=680, y=70) | |
| Familien_Preis = Label(new_window4, text='Preis :', font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Familien_Preis.place(x=720, y=70) | |
| Familien_P = Label(new_window4, text=preis, font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Familien_P.place(x=780, y=70) | |
| Familien_euro = Label(new_window4, text='€', font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Familien_euro.place(x=795, y=70) | |
| ############################################# Katagorie ################################################################ | |
| def addkatagorie() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| siko = str(Katagorie_NameE.get()) | |
| if siko == '' : | |
| messagebox.showerror('Katagorie', 'Entry darf nicht leer sein') | |
| else : | |
| siko.strip() | |
| cur.execute('INSERT INTO Katagorie values (?)', (siko,)) | |
| conn.commit() | |
| Katagorie_NameE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def deletekatagorie() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| siko = Katagorie_NameE.get() | |
| cur.execute('delete from Katagorie where Name=(?)', (siko,)) | |
| conn.commit() | |
| Katagorie_NameE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Katagorie ') | |
| nado = cur.fetchall() | |
| alle = [] | |
| for t in nado : | |
| top = str(t) | |
| replace = {'[' : '', | |
| ']' : '', | |
| '(' : '', | |
| ')' : '', | |
| ',' : '', | |
| "'" : ''} | |
| tops = top.translate(str.maketrans(replace)) | |
| alle.insert(0, tops) | |
| conn.commit() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| Katagorie_ = Label(Frame1, text='Katagorie ', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Katagorie_.place(x=0, y=100) | |
| Katagorie_Name = Label(Frame1, text=' Katagorie Typ :', font=font_size, bd=4, bg='white', height=1) | |
| Katagorie_Name.place(x=0, y=135) | |
| Katagorie_NameE = Entry(Frame1, width=18, bd=4, font=font_size) | |
| Katagorie_NameE.place(x=150, y=135) | |
| Katagorie_Button = Button(Frame1, text='Speichern', width=8, height=1, command=addkatagorie) | |
| Katagorie_Button.place(x=330, y=135) | |
| Katagorie_Button1 = Button(Frame1, text='Löschen', width=8, height=1, bg='red', command=deletekatagorie) | |
| Katagorie_Button1.place(x=410, y=135) | |
| Katagorie_ = Label(new_window4, text='Katagorie ', font=font_size, bd=4, bg='SlateGray1', height=1, width=35) | |
| Katagorie_.place(x=500, y=103) | |
| Katagorie_Name = Label(new_window4, text=' Katagorie Typ :', font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Katagorie_Name.place(x=500, y=135) | |
| clicked = StringVar() | |
| clicked.set("Auswählen") | |
| drop = OptionMenu(new_window4, clicked, *alle, ) | |
| drop.place(x=630, y=135) | |
| drop.configure(font=font_size, bg="SlateGray4", bd=2, width=10) | |
| ################################################ Lieferzuschlag ####################################################### | |
| def addLieferzuschlag() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| sika = Lieferzuschlag_NameE.get() | |
| if sika == '' : | |
| messagebox.showerror('Lieferzuschlag', 'Entry darf nicht leer sein') | |
| else : | |
| cur.execute('INSERT INTO Lieferzuschlg values (?)', (sika,)) | |
| conn.commit() | |
| Lieferzuschlag_NameE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def Update_Liefer() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| siko = Lieferzuschlag_NameE.get() | |
| if siko == '' : | |
| messagebox.showerror('Lieferzuschlag', 'Entry darf nicht leer sein') | |
| else : | |
| cur.execute('Update Lieferzuschlg set Name =(?)', (siko,)) | |
| conn.commit() | |
| conn.close() | |
| Lieferzuschlag_NameE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Lieferzuschlg ') | |
| Lieferpreis = cur.fetchall() | |
| conn.commit() | |
| # -----------------------------------------------------------------------------------------------------------------# | |
| Lieferzuschlag_ = Label(Frame1, text='Lieferzuschlag ', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Lieferzuschlag_.place(x=0, y=165) | |
| Lieferzuschlag_Name = Label(Frame1, text=' Lieferzuschlag ab :', font=font_size, bd=4, bg='white', height=1) | |
| Lieferzuschlag_Name.place(x=0, y=200) | |
| Lieferzuschlag_Euro = Label(Frame1, text=' € ', font=font_size, bd=4, bg='white', height=1) | |
| Lieferzuschlag_Euro.place(x=240, y=200) | |
| Lieferzuschlag_NameE = Entry(Frame1, width=8, bd=4, font=font_size) | |
| Lieferzuschlag_NameE.place(x=165, y=200) | |
| Lieferzuschlag_Button = Button(Frame1, text='Speichern', width=8, height=1, command=Update_Liefer) | |
| Lieferzuschlag_Button.place(x=265, y=200) | |
| Lieferzuschlag_ = Label(new_window4, text='Lieferzuschlag ', font=font_size, bd=4, bg='SlateGray1', height=1, | |
| width=35) | |
| Lieferzuschlag_.place(x=500, y=168) | |
| Lieferzuschlag_Name = Label(new_window4, text=' Lieferzuschlag ab:', font=font_size, bd=4, bg='SlateGray4', | |
| height=1) | |
| Lieferzuschlag_Name.place(x=500, y=202) | |
| # conn=sqlite3.connect('Einstellung.db') | |
| # cur=conn.cursor() | |
| # cur.execute("""Create Table Lieferzuschlg ( Name TEXT ) """) | |
| # conn.commit() | |
| Lieferzuschlag_P = Label(new_window4, text=Lieferpreis, font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Lieferzuschlag_P.place(x=655, y=202) | |
| Lieferzuschlag_Euro = Label(new_window4, text=' € ', font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Lieferzuschlag_Euro.place(x=679, y=202) | |
| ########################################## Passwort #################################################################### | |
| def addPasswort() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| sika = Passwort_NameE.get() | |
| if sika == '' : | |
| messagebox.showerror('PASSWORT', 'Entry darf nicht leer sein') | |
| else : | |
| cur.execute('Update Passwort set Name =(?)', (sika,)) | |
| conn.commit() | |
| Passwort_NameE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Passwort ') | |
| Passwort = cur.fetchall() | |
| conn.commit() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| Passwort_ = Label(Frame1, text='Passwort ', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Passwort_.place(x=0, y=230) | |
| Passwort_Name = Label(Frame1, text=' Neue Passwort :', font=font_size, bd=4, bg='white', height=1) | |
| Passwort_Name.place(x=0, y=260) | |
| Passwort_NameE = Entry(Frame1, width=5, bd=4, font=font_size) | |
| Passwort_NameE.place(x=160, y=260) | |
| # conn=sqlite3.connect('Einstellung.db') | |
| # cur=conn.cursor() | |
| # cur.execute("""Create Table Passwort( Name TEXT ) """) | |
| # conn.commit() | |
| Passwort_Button = Button(Frame1, text='Speichern', width=8, height=1, command=addPasswort) | |
| Passwort_Button.place(x=265, y=260) | |
| Passwort_ = Label(new_window4, text='Passwort ', font=font_size, bd=4, bg='SlateGray1', height=1, | |
| width=35) | |
| Passwort_.place(x=500, y=238) | |
| Passwort_Name = Label(new_window4, text=' Aktueles Passwort:', font=font_size, bd=4, bg='SlateGray4', | |
| height=1) | |
| Passwort_Name.place(x=500, y=270) | |
| Passwort_P = Label(new_window4, text=Passwort, font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Passwort_P.place(x=655, y=270) | |
| # -----------------------------------------------------------------------------------------------------------------# | |
| def Gross_preise() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| sika = Gross_NameE.get() | |
| if sika == '' : | |
| messagebox.showerror('Gross', 'Entry darf nicht leer sein') | |
| else : | |
| cur.execute('update Gross set Name= (?)', (sika,)) | |
| conn.commit() | |
| Gross_NameE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from Gross ') | |
| gross = cur.fetchall() | |
| conn.commit() | |
| Gross_ = Label(Frame1, text='Grosse preise ', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Gross_.place(x=0, y=295) | |
| Gross_Name = Label(Frame1, text=' zuschlag Grosse :', font=font_size, bd=4, bg='white', height=1) | |
| Gross_Name.place(x=0, y=325) | |
| Gross_NameE = Entry(Frame1, width=10, bd=4, font=font_size) | |
| Gross_NameE.place(x=160, y=325) | |
| # conn=sqlite3.connect('Einstellung.db') | |
| # cur=conn.cursor() | |
| # cur.execute("""Create Table Gross ( Name INTEGER ) """) | |
| # conn.commit() | |
| Gross_Button = Button(Frame1, text='Speichern', width=8, height=1, command=Gross_preise) | |
| Gross_Button.place(x=265, y=325) | |
| Gross__ = Label(new_window4, text='Grosse Preise ', font=font_size, bd=4, bg='SlateGray1', height=1, | |
| width=35) | |
| Gross__.place(x=500, y=298) | |
| Gross__Name = Label(new_window4, text=' Aktueles Preis:', font=font_size, bd=4, bg='SlateGray4', | |
| height=1) | |
| Gross__Name.place(x=500, y=335) | |
| Gross__P = Label(new_window4, text=gross, font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Gross__P.place(x=645, y=335) | |
| Gross_Euro = Label(new_window4, text=' € ', font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Gross_Euro.place(x=680, y=335) | |
| ######################################################################################################################## | |
| def Note() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cub = conn.cursor() | |
| sikp = Note_NameE.get() | |
| if sikp == '' : | |
| messagebox.showerror('Note', 'Note darf nicht leer sein') | |
| else : | |
| cub.execute('update Note set Name= (?)', (sikp,)) | |
| conn.commit() | |
| Note_NameE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| conn = sqlite3.connect('Einstellung.db') | |
| cub = conn.cursor() | |
| cub.execute('select* from Note ') | |
| noties = cub.fetchall() | |
| with open("Note.txt", 'w') as file13 : | |
| for zuz in noties : | |
| ziko = ",".join(zuz) | |
| ziko.strip() | |
| # ziko.split() | |
| file13.write(str(ziko)) | |
| with open('Note.txt', 'r') as file14 : | |
| for i in file14 : | |
| i.strip() | |
| conn.commit() | |
| Note_ = Label(Frame1, text='Note von Chef ', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Note_.place(x=0, y=360) | |
| Note_Name = Label(Frame1, text=' Note :', font=font_size, bd=4, bg='white', height=1) | |
| Note_Name.place(x=0, y=390) | |
| Note_NameE = Entry(Frame1, width=30, bd=4, font=font_size) | |
| Note_NameE.place(x=100, y=390) | |
| # conn=sqlite3.connect('Einstellung.db') | |
| # cur=conn.cursor() | |
| # cur.execute("""Create Table Note( Name TEXT ) """) | |
| # conn.commit() | |
| Note_Button = Button(Frame1, text='Speichern', width=8, height=1, command=Note) | |
| Note_Button.place(x=390, y=390) | |
| Note__ = Label(new_window4, text='Note von chef ', font=font_size, bd=4, bg='SlateGray1', height=1, | |
| width=35) | |
| Note__.place(x=500, y=365) | |
| Note__Name = Label(new_window4, text=' Aktueles Note:', font=font_size, bd=4, bg='SlateGray4', | |
| height=1) | |
| Note__Name.place(x=500, y=400) | |
| Note__P = Label(new_window4, text=i, font=font_size, bd=0, bg='SlateGray4', height=2, wraplengt=120) | |
| Note__P.place(x=645, y=410) | |
| ######################################################################################################################## | |
| def add_name() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cub = conn.cursor() | |
| sikol = Login_nameE.get() | |
| sikola = Login_passwortE.get() | |
| if sikol == '' or sikola == '' : | |
| messagebox.showerror('username', 'Entery darf nicht leer sein') | |
| else : | |
| cub.execute('insert into Username VALUES(Null,?,?)', | |
| ( | |
| sikol, | |
| sikola)) | |
| conn.commit() | |
| Login_nameE.delete(0, END) | |
| Login_passwortE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def delete_name() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cub = conn.cursor() | |
| sikon = IDE.get() | |
| if sikon == '' : | |
| messagebox.showerror('username', 'Entery darf nicht leer sein') | |
| else : | |
| cub.execute('delete from Username where ID=(?)', (sikon,)) | |
| conn.commit() | |
| IDE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # -------------------------------------------------------------------------------------------------------------------# | |
| Login_ = Label(Frame1, text='Username ', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Login_.place(x=0, y=452) | |
| Login_name = Label(Frame1, text='Name :', font=font_size, bd=4, bg='white', height=1) | |
| Login_name.place(x=0, y=490) | |
| ID_name = Label(Frame1, text='ID :', font=font_size, bd=4, bg='white', height=1) | |
| ID_name.place(x=0, y=540) | |
| Login_nameE = Entry(Frame1, width=11, bd=4, font=font_size) | |
| Login_nameE.place(x=65, y=490) | |
| IDE = Entry(Frame1, width=6, bd=4, font=font_size) | |
| IDE.place(x=65, y=540) | |
| Login_passwort = Label(Frame1, text='Passwort :', font=font_size, bd=4, bg='white', height=1) | |
| Login_passwort.place(x=190, y=490) | |
| Login_passwortE = Entry(Frame1, width=10, bd=4, font=font_size) | |
| Login_passwortE.place(x=280, y=490) | |
| Add_Button = Button(Frame1, text='Add', width=8, height=1, command=add_name) | |
| Add_Button.place(x=400, y=490) | |
| LOSCHEN_Button = Button(Frame1, text='löschen', width=8, height=1, bg='red', command=delete_name) | |
| LOSCHEN_Button.place(x=160, y=540) | |
| Login_A = Label(new_window4, text='Usernames ', font=font_size, bd=4, bg='SlateGray3', height=1, width=35) | |
| Login_A.place(x=500, y=460) | |
| Login_names = Label(new_window4, text='Username ', font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Login_names.place(x=515, y=500) | |
| Login_F = Label(new_window4, text=frei, font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Login_F.place(x=680, y=70) | |
| Login_Pass = Label(new_window4, text='ID ', font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Login_Pass.place(x=710, y=500) | |
| Login_P = Label(new_window4, text=preis, font=font_size, bd=4, bg='SlateGray4', height=1) | |
| Login_P.place(x=780, y=70) | |
| Preis_er = Label(new_window4, text='Preise Erhöhen ', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Preis_er.place(x=0, y=580) | |
| um_ = Label(new_window4, text='Um ', font=font_size, bd=4, bg='white', height=1) | |
| um_.place(x=180, y=620) | |
| preosE = Entry(new_window4, width=4, bd=4, font=font_size) | |
| preosE.place(x=225, y=620) | |
| um_er = Label(new_window4, text='Erhöhen ', font=font_size, bd=4, bg='white', height=1) | |
| um_er.place(x=290, y=620) | |
| # conn=sqlite3.connect('Einstellung.db') | |
| # cur=conn.cursor() | |
| # cur.execute("""Create Table Username(ID integer primary key AUTOINCREMENT, Name TEXT, Passwort TEXT ) """) | |
| # conn.commit() | |
| userlist = Listbox(new_window4, bd=0, width=13, height=6, bg='white') | |
| userlist.place(x=520, y=540) | |
| IDlist = Listbox(new_window4, bd=0, width=5, height=6, bg='white') | |
| IDlist.place(x=690, y=540) | |
| IDlist.config(font=font_size, bg='SlateGray4') | |
| userlist.config(font=font_size, bg='SlateGray4') | |
| conn = sqlite3.connect('Einstellung.db') | |
| cus = conn.cursor() | |
| cus.execute('select Name from Username ') | |
| blob = cus.fetchall() | |
| for user in blob : | |
| userlist.insert(END, user) | |
| cus.execute('select ID from Username ') | |
| blob = cus.fetchall() | |
| for IDES in blob : | |
| IDlist.insert(END, IDES) | |
| ################################### Preise Erhohen ############################################################### | |
| clicked1 = StringVar() | |
| clicked1.set("Auswählen") | |
| drop1 = OptionMenu(new_window4, clicked1, *alle, ) | |
| drop1.place(x=10, y=620) | |
| drop1.configure(font=font_size, bg="SlateGray2", bd=2, width=10) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def preise_erhöhen() : | |
| soso = clicked1.get() | |
| sisi = preosE.get() | |
| sqlCon = sqlite3.connect('speisekarte1.db') | |
| cur = sqlCon.cursor() | |
| cur.execute('update Speisen set Preis = Preis +(?) where Kategorie like (?) ', (sisi, soso,)) | |
| sqlCon.commit() | |
| new_window4.destroy() | |
| openwindow5() | |
| er_Button = Button(new_window4, text='Speichern', width=8, height=1, command=preise_erhöhen) | |
| er_Button.place(x=380, y=620) | |
| # --------------------------------------------- fRITZBOX Passwort-------------------------------------------------------# | |
| Fritzbox_ = Label(new_window4, text='Fritz Box', font=font_size, bd=4, bg='SlateGray1', height=1, width=48) | |
| Fritzbox_.place(x=0, y=680) | |
| Fritzboxf_ = Label(new_window4, text='FritzBox Passwort', font=font_size, bd=4, bg='SlateGray2', height=1, width=33) | |
| Fritzboxf_.place(x=530, y=680) | |
| passwortE = Entry(new_window4, width=16, bd=4, font=font_size) | |
| passwortE.place(x=140, y=720) | |
| Passwotl = Label(Frame1, text='Passwort:', font=font_size, bd=4, bg='white', height=1) | |
| Passwotl.place(x=2, y=720) | |
| # conn=sqlite3.connect('Einstellung.db') | |
| # cur=conn.cursor() | |
| # cur.execute("""Create Table FritzBox( Passwort TEXT ) """) | |
| # conn.commit() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def FritzPasswort() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| sika = passwortE.get() | |
| if sika == '' : | |
| messagebox.showerror('PASSWORT', 'Entry darf nicht leer sein') | |
| else : | |
| cur.execute('Update FritzBox set passwort =(?)', (sika,)) | |
| # cur.execute('insert into FritzBox VALUES(?)', (sika,)) | |
| conn.commit() | |
| passwortE.delete(0, END) | |
| new_window4.destroy() | |
| openwindow5() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| ser_Button = Button(new_window4, text='Speichern', width=8, height=1, command=FritzPasswort) | |
| ser_Button.place(x=320, y=720) | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from FritzBox') | |
| sol = cur.fetchall() | |
| for izo in sol : | |
| sazo = str(izo).replace("'", "").replace(',', '').replace(')', '').replace('(', '') | |
| Passwotln = Label(new_window4, text=sazo, font=font_size, bd=4, bg='SlateGray1', height=1) | |
| Passwotln.place(x=620, y=720) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| # data=subprocess.check_output(['wmic','printer','list','brief']).decode('utf-8').split('\r\r\n') | |
| # print(data) | |
| # | |
| # btn1=Button(new_window4,text='select printer',width=8,bg='grey',command=openfile) | |
| # btn1.place(x=650,y=790) | |
| ################################################## Bestellungs Liste ################################################## | |
| def openwindow6() : | |
| global new_window | |
| font_size = ("ARIEL", 12, "bold") | |
| new_window5 = Toplevel(root) | |
| screen_width = new_window5.winfo_screenwidth() | |
| screen_height = new_window5.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| new_window5.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| new_window5.config(bg='dark slate gray') | |
| new_window5.resizable(width=False, height=False) | |
| new_window5.configure(bg='SlateGray4') | |
| new_window5.title(220 * titlespace + "Liste") | |
| new_window5.resizable(width=False, height=False) | |
| Frame12 = Frame(new_window5, width=550, bg='white', bd=4, height=1200) | |
| Frame12.place(x=0, y=0) | |
| Frame22 = Frame(new_window5, width=1050, bd=4, height=400) | |
| Frame22.place(x=500, y=510) | |
| Frame32 = Frame(new_window5, width=550, bg='white', bd=4, height=600) | |
| Frame32.place(x=1045, y=0) | |
| # bestell_liste: Listbox=Listbox(Frame1,bd=6,width=20,height=25,bg='white') | |
| # bestell_liste.place(x=35,y=65) | |
| # bestell_liste.config(font=('arial', 16, 'bold')) | |
| # nr_liste = Listbox(Frame1, bd=6, width=2, height=25, bg='white') | |
| # nr_liste.place(x=0, y=65) | |
| # nr_liste.config(font=('arial', 16, 'bold')) | |
| Update = Label(Frame12, text=' Heute Bestellung ', font=font_size, bd=4, bg='SlateGray3', height=1, width=48) | |
| Update.place(x=0, y=0) | |
| # nr = Label(Frame1, text='Nr ', font=('arial', 16, 'bold'), bd=4, bg='white', height=1, width=2) | |
| # nr.place(x=0, y=35) | |
| # name = Label(Frame1, text='Name ', font=('arial', 16, 'bold'), bd=4, bg='white', height=1 ) | |
| # name.place(x=60, y=35) | |
| KundenidE = Entry(new_window5, width=6, bd=5, bg='white smoke') | |
| KundenidE.place(x=510, y=35) | |
| KundenidE.configure(font=font_size) | |
| NameE = Entry(new_window5, bd=5, width=25, bg='white smoke') | |
| NameE.place(x=510, y=94) | |
| NameE.configure(font=font_size) | |
| AdresseE = Entry(new_window5, width=30, bd=5, font=("Helvetica", 12, 'bold')) | |
| AdresseE.place(x=510, y=162) | |
| HauesnrE = Entry(new_window5, bd=5, width=4, bg='white smoke') | |
| HauesnrE.place(x=810, y=162) | |
| HauesnrE.configure(font=font_size) | |
| PLZE = Entry(new_window5, bd=5, width=7, bg='white smoke') | |
| PLZE.place(x=510, y=230) | |
| PLZE.configure(font=font_size) | |
| ORTE = Entry(new_window5, bd=5, width=15, bg='white smoke') | |
| ORTE.place(x=680, y=230) | |
| ORTE.configure(font=font_size) | |
| TelefonnummerE = Entry(new_window5, bd=5, width=20, bg='white smoke') | |
| TelefonnummerE.place(x=630, y=35) | |
| TelefonnummerE.configure(font=font_size) | |
| EmailE = Entry(new_window5, bd=5, width=30, bg='white smoke') | |
| EmailE.place(x=510, y=300) | |
| EmailE.configure(font=font_size) | |
| BestellzeitE = Entry(new_window5, width=20, bd=5) | |
| BestellzeitE.place(x=510, y=370) | |
| BestellzeitE.configure(font=font_size) | |
| bedinerE = Entry(new_window5, bd=5, width=10, bg='white smoke') | |
| bedinerE.place(x=610, y=410) | |
| bedinerE.configure(font=font_size) | |
| lieferzeitE = Entry(new_window5, bd=5, width=10, bg='white smoke') | |
| lieferzeitE.place(x=610, y=453) | |
| lieferzeitE.configure(font=font_size) | |
| GpreisE = Entry(new_window5, bd=5, width=10, bg='white smoke') | |
| GpreisE.place(x=940, y=453) | |
| GpreisE.configure(font=font_size) | |
| sucheE = Entry(new_window5, bd=5, width=15, bg='white smoke') | |
| sucheE.place(x=170, y=510) | |
| sucheE.configure(font=font_size) | |
| # -------------------------------------------- Labels ------------------------------------------------------------# | |
| Kundenid = Label(new_window5, bd=0, text='Kunden/ID', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=10) | |
| Name = Label(new_window5, bd=0, text='Name:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=70) | |
| Adresse = Label(new_window5, bd=0, text='Straße:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=135) | |
| Hausnr = Label(new_window5, bd=0, text='Nr:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=810, y=135) | |
| PLZ = Label(new_window5, bd=0, text='PLZ:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=205) | |
| Ort = Label(new_window5, bd=0, text='ORT:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=675, y=205) | |
| Telefonnummer = Label(new_window5, bd=0, text='Telefonnummer:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=630, y=10) | |
| Email = Label(new_window5, bd=0, text='Email:', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=272) | |
| Bestellzeit = Label(new_window5, bd=0, text='Bestellzeit:', font=('arial', 16, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=342) | |
| bediner = Label(new_window5, bd=0, text='Bediener:', font=('arial', 16, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=415) | |
| LIEFERZEIT = Label(new_window5, bd=0, text='Lieferzet:', font=('arial', 16, 'bold'), bg='SlateGray4') \ | |
| .place(x=510, y=455) | |
| GesamtPreis = Label(new_window5, bd=0, text='Gesamte Preis:', font=('arial', 16, 'bold'), bg='SlateGray4') \ | |
| .place(x=750, y=455) | |
| suchenl = Label(new_window5, bd=0, text='Name eingeben :', font=('arial', 14, 'bold'), bg='SlateGray4') \ | |
| .place(x=0, y=510) | |
| Lieferungl = Label(new_window5, bd=0, text='Lieferung ', font=('arial', 20, 'bold'), bg='SlateGray4') \ | |
| .place(x=345, y=440) | |
| Abholungl = Label(new_window5, bd=0, text='Abholung ', font=('arial', 20, 'bold'), bg='SlateGray4') \ | |
| .place(x=1400, y=440) | |
| # ---------------------------------------------Bbestelltree---------------------------------------------------------# | |
| style = ttk.Style() | |
| style.theme_use("clam") | |
| style.configure("Treeview", background='white', foreground="black", rowheight=25, font=("ARIEL", 9, 'bold'), | |
| fieldbackground="silver", width=None, height=None) | |
| style.map('Treeview', background=[('selected', 'red')]) | |
| style.configure("Treeview.Heading", font=('bold', 12)) | |
| style.configure("Treeview.column", font=('bold', 6)) | |
| style.configure('Treeview', rowheight=40) | |
| style.configure('Treeview.row', font=('bold', 20)) | |
| myTree = ttk.Treeview(Frame22) | |
| myTree['columns'] = ("pos", "Grosse", "Anzahl", "Nr", "Speise", "Mit", "Ohne", "Katagorie", "Preis",) | |
| myTree.column("#0", width=0, stretch=NO) | |
| myTree.column("pos", anchor=CENTER, width=40, stretch=TRUE, ) | |
| myTree.column("Grosse", anchor=CENTER, width=80) | |
| myTree.column("Anzahl", anchor=CENTER, width=35) | |
| myTree.column("Nr", anchor=CENTER, width=35) | |
| myTree.column("Speise", anchor=W, width=120) | |
| myTree.column("Mit", anchor=W, width=430, stretch=TRUE) | |
| myTree.column("Ohne", anchor=W, width=190, stretch=TRUE) | |
| myTree.column("Katagorie", anchor=CENTER, width=80) | |
| myTree.column("Preis", anchor=CENTER, width=80) | |
| myTree.tag_configure('pos', background='gray') | |
| myTree.heading("#0", text="", anchor=W) | |
| myTree.heading("pos", text="pos", anchor=W) | |
| myTree.heading("Grosse", text="Grosse", anchor=W) | |
| myTree.heading("Anzahl", text="Anzahl", anchor=W) | |
| myTree.heading("Nr", text="Nr", anchor=W) | |
| myTree.heading("Speise", text="Speise", anchor=CENTER) | |
| myTree.heading("Mit", text="Mit", anchor=CENTER) | |
| myTree.heading("Ohne", text="Ohne", anchor=CENTER) | |
| myTree.heading("Katagorie", text="Katagorie", anchor=CENTER) | |
| myTree.heading("Preis", text="Preis", anchor=W) | |
| myTree.pack() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| besteltree = ttk.Treeview(Frame12) | |
| besteltree['columns'] = ("Nr", "Name", "Datum/Uhrzeit", "Straße", "Haus/nr") | |
| besteltree.column("#0", width=0, stretch=NO) | |
| besteltree.column("Nr", anchor=CENTER, width=40, stretch=TRUE, ) | |
| besteltree.column("Name", anchor=CENTER, width=120) | |
| besteltree.column("Datum/Uhrzeit", anchor=W, width=160) | |
| besteltree.column("Straße", anchor=W, width=120) | |
| besteltree.column("Haus/nr", anchor=W, width=40) | |
| besteltree.tag_configure('pos', background='white') | |
| besteltree.heading("#0", text="", anchor=W) | |
| besteltree.heading("Nr", text="Nr", anchor=W) | |
| besteltree.heading("Name", text="Name", anchor=W) | |
| besteltree.heading("Datum/Uhrzeit", text="Datum/Uhrzeit", anchor=W) | |
| besteltree.heading("Straße", text="Straße", anchor=W) | |
| besteltree.heading("Haus/nr", text="nr", anchor=W) | |
| besteltree.pack() | |
| # ------------------------------------------------AbholTree---------------------------------------------------------# | |
| besteltree1 = ttk.Treeview(Frame32) | |
| besteltree1['columns'] = ("Nr", "Name", "Datum/Uhrzeit", "Straße", "Haus/nr") | |
| besteltree1.column("#0", width=0, stretch=NO) | |
| besteltree1.column("Nr", anchor=CENTER, width=40, stretch=TRUE, ) | |
| besteltree1.column("Name", anchor=CENTER, width=120) | |
| besteltree1.column("Datum/Uhrzeit", anchor=W, width=160) | |
| besteltree1.column("Straße", anchor=W, width=120) | |
| besteltree1.column("Haus/nr", anchor=W, width=40) | |
| besteltree1.tag_configure('pos', background='white') | |
| besteltree1.heading("#0", text="", anchor=W) | |
| besteltree1.heading("Nr", text="Nr", anchor=W) | |
| besteltree1.heading("Name", text="Name", anchor=W) | |
| besteltree1.heading("Datum/Uhrzeit", text="Datum/Uhrzeit", anchor=W) | |
| besteltree1.heading("Straße", text="Straße", anchor=W) | |
| besteltree1.heading("Haus/nr", text="nr", anchor=W) | |
| besteltree1.pack() | |
| # ----------------------------------------------------------get bestelldata und insert in Tree----------------------# | |
| abhol = 'ABHOLUNG' | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo where kstrasse!=(?) order by ID DESC ', (abhol,)) | |
| firo = cur.fetchall() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn1.cursor() | |
| cur1.execute('select * from kundeinfo where kstrasse =(?) order by ID DESC ', (abhol,)) | |
| firo1 = cur1.fetchall() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| global count | |
| count = 0 | |
| for ziko in firo : | |
| besteltree.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(ziko[0], ziko[3], ziko[10], ziko[4], ziko[5])) | |
| count += 1 | |
| global counts | |
| counts = 0 | |
| for ziko1 in firo1 : | |
| besteltree1.insert(parent='', open=True, index='end', iid=counts, text='', | |
| values=(ziko1[0], ziko1[3], ziko1[10], ziko1[4], ziko1[5])) | |
| counts += 1 | |
| # -------------------------------------------- Functions ---------------------------------------------------------# | |
| # ------------------------------------------------------ Bestellung aus der Data base Löschen ----------------------# | |
| def clear() : | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| bestel = ('kundeinfo') | |
| cur.execute('delete from kundeinfo') | |
| cur.execute('delete from sqlite_sequence where name = (?)', (bestel,)) | |
| conn.commit() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn.cursor() | |
| cur1.execute('delete from speiseinfo') | |
| conn1.commit() | |
| new_window5.destroy() | |
| openwindow6() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def bestat() : | |
| sick100 = besteltree.focus() | |
| times = (besteltree.item(sick100)['values'][2]) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('delete from kundeinfo where zeit=(?)', (times,)) | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn.cursor() | |
| cur1.execute('delete from speiseinfo where zeit=(?)', (times,)) | |
| conn.commit() | |
| conn1.commit | |
| KundenidE.delete(0, END) | |
| for record in myTree.get_children() : | |
| myTree.delete(record) | |
| TelefonnummerE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| ORTE.delete(0, END) | |
| EmailE.delete(0, END) | |
| lieferzeitE.delete(0, END) | |
| bedinerE.delete(0, END) | |
| BestellzeitE.delete(0, END) | |
| GpreisE.delete(0, END) | |
| new_window5.destroy() | |
| openwindow6() | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| # ---------------------------------------------- Bestellung Abrufen (Lieferung) ------------------------------------# | |
| def clicking(e=NONE) : | |
| global count | |
| KundenidE.config(state=NORMAL) | |
| TelefonnummerE.config(state=NORMAL) | |
| NameE.config(state=NORMAL) | |
| AdresseE.config(state=NORMAL) | |
| ORTE.config(state=NORMAL) | |
| PLZE.config(state=NORMAL) | |
| EmailE.config(state=NORMAL) | |
| BestellzeitE.config(state=NORMAL) | |
| bedinerE.config(state=NORMAL) | |
| lieferzeitE.config(state=NORMAL) | |
| HauesnrE.config(state=NORMAL) | |
| GpreisE.config(state=NORMAL) | |
| count = 0 | |
| sick100 = besteltree.focus() | |
| numos = (besteltree.item(sick100)['values'][0]) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo where ID =(?) ', (numos,)) | |
| tor = cur.fetchall() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn.cursor() | |
| cur1.execute('select zeit from kundeinfo where ID =(?) ', (numos,)) | |
| tor1 = str(cur1.fetchall()) | |
| tor1.strip() | |
| tor2 = tor1.replace('[', '').replace(']', '').replace('(', '').replace(')', '').replace("'", '').replace(',', | |
| '') | |
| for na in tor : | |
| KundenidE.delete(0, END) | |
| for record in myTree.get_children() : | |
| myTree.delete(record) | |
| TelefonnummerE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| ORTE.delete(0, END) | |
| EmailE.delete(0, END) | |
| lieferzeitE.delete(0, END) | |
| bedinerE.delete(0, END) | |
| BestellzeitE.delete(0, END) | |
| GpreisE.delete(0, END) | |
| KundenidE.insert(0, na[1]) | |
| TelefonnummerE.insert(0, na[2]) | |
| NameE.insert(0, na[3]) | |
| AdresseE.insert(0, na[4]) | |
| HauesnrE.insert(0, na[5]) | |
| PLZE.insert(0, na[6]) | |
| ORTE.insert(0, na[7]) | |
| EmailE.insert(0, na[8]) | |
| BestellzeitE.insert(0, na[10]) | |
| bedinerE.insert(0, na[9]) | |
| GpreisE.insert(0, na[13]) | |
| KundenidE.config(state=DISABLED) | |
| TelefonnummerE.config(state=DISABLED) | |
| NameE.config(state=DISABLED) | |
| AdresseE.config(state=DISABLED) | |
| ORTE.config(state=DISABLED) | |
| PLZE.config(state=DISABLED) | |
| EmailE.config(state=DISABLED) | |
| BestellzeitE.config(state=DISABLED) | |
| bedinerE.config(state=DISABLED) | |
| HauesnrE.config(state=DISABLED) | |
| GpreisE.config(state=DISABLED) | |
| if na[11] != '' : | |
| lieferzeitE.insert(0, na[11]) | |
| lieferzeitE.config(state=DISABLED) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from speiseinfo where zeit =(?) ', (tor2,)) | |
| cos = cur.fetchall() | |
| for zol in cos : | |
| myTree.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(zol[1], zol[2], zol[3], | |
| zol[4], zol[5], | |
| zol[6], zol[7], zol[8], zol[9])) | |
| count += 1 | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| # --------------------------------------------Bestellunh Abrufen (Abholung)-----------------------------------------# | |
| def clicking1(e=NONE) : | |
| global count | |
| KundenidE.config(state=NORMAL) | |
| TelefonnummerE.config(state=NORMAL) | |
| NameE.config(state=NORMAL) | |
| AdresseE.config(state=NORMAL) | |
| ORTE.config(state=NORMAL) | |
| PLZE.config(state=NORMAL) | |
| EmailE.config(state=NORMAL) | |
| BestellzeitE.config(state=NORMAL) | |
| bedinerE.config(state=NORMAL) | |
| lieferzeitE.config(state=NORMAL) | |
| HauesnrE.config(state=NORMAL) | |
| GpreisE.config(state=NORMAL) | |
| count = 0 | |
| sick100 = besteltree1.focus() | |
| numos = (besteltree1.item(sick100)['values'][0]) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo where ID =(?) ', (numos,)) | |
| tor = cur.fetchall() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn.cursor() | |
| abhol = 'ABHOLUNG' | |
| cur1.execute('select zeit from kundeinfo where ID =(?) ', (numos,)) | |
| tor1 = str(cur1.fetchall()) | |
| tor1.strip() | |
| tor2 = tor1.replace('[', '').replace(']', '').replace('(', '').replace(')', '').replace("'", '').replace(',', | |
| '') | |
| for na in tor : | |
| KundenidE.delete(0, END) | |
| for record in myTree.get_children() : | |
| myTree.delete(record) | |
| TelefonnummerE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| ORTE.delete(0, END) | |
| EmailE.delete(0, END) | |
| lieferzeitE.delete(0, END) | |
| bedinerE.delete(0, END) | |
| BestellzeitE.delete(0, END) | |
| GpreisE.delete(0, END) | |
| KundenidE.insert(0, na[1]) | |
| TelefonnummerE.insert(0, na[2]) | |
| NameE.insert(0, na[3]) | |
| AdresseE.insert(0, na[4]) | |
| HauesnrE.insert(0, na[5]) | |
| PLZE.insert(0, na[6]) | |
| ORTE.insert(0, na[7]) | |
| EmailE.insert(0, na[8]) | |
| BestellzeitE.insert(0, na[10]) | |
| bedinerE.insert(0, na[9]) | |
| GpreisE.insert(0, na[13]) | |
| KundenidE.config(state=DISABLED) | |
| TelefonnummerE.config(state=DISABLED) | |
| NameE.config(state=DISABLED) | |
| AdresseE.config(state=DISABLED) | |
| ORTE.config(state=DISABLED) | |
| PLZE.config(state=DISABLED) | |
| EmailE.config(state=DISABLED) | |
| BestellzeitE.config(state=DISABLED) | |
| bedinerE.config(state=DISABLED) | |
| HauesnrE.config(state=DISABLED) | |
| GpreisE.config(state=DISABLED) | |
| if na[11] != '' : | |
| lieferzeitE.insert(0, na[11]) | |
| lieferzeitE.config(state=DISABLED) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from speiseinfo where zeit =(?) ', (tor2,)) | |
| cos = cur.fetchall() | |
| for zol in cos : | |
| myTree.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(zol[1], zol[2], zol[3], | |
| zol[4], zol[5], | |
| zol[6], zol[7], zol[8], zol[9])) | |
| count += 1 | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def Reset() : | |
| KundenidE.config(state=NORMAL) | |
| TelefonnummerE.config(state=NORMAL) | |
| NameE.config(state=NORMAL) | |
| AdresseE.config(state=NORMAL) | |
| ORTE.config(state=NORMAL) | |
| PLZE.config(state=NORMAL) | |
| EmailE.config(state=NORMAL) | |
| BestellzeitE.config(state=NORMAL) | |
| bedinerE.config(state=NORMAL) | |
| lieferzeitE.config(state=NORMAL) | |
| HauesnrE.config(state=NORMAL) | |
| GpreisE.config(state=NORMAL) | |
| KundenidE.delete(0, END) | |
| for record in myTree.get_children() : | |
| myTree.delete(record) | |
| for tom in besteltree.get_children() : | |
| besteltree.delete(tom) | |
| TelefonnummerE.delete(0, END) | |
| NameE.delete(0, END) | |
| AdresseE.delete(0, END) | |
| HauesnrE.delete(0, END) | |
| PLZE.delete(0, END) | |
| ORTE.delete(0, END) | |
| EmailE.delete(0, END) | |
| lieferzeitE.delete(0, END) | |
| bedinerE.delete(0, END) | |
| BestellzeitE.delete(0, END) | |
| GpreisE.delete(0, END) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo ') | |
| firo = cur.fetchall() | |
| count = 0 | |
| for ziko in firo : | |
| besteltree.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(ziko[0], ziko[3], ziko[10], ziko[4])) | |
| count += 1 | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def search_data() : | |
| country = 0 | |
| get_record = sucheE.get() | |
| for record in besteltree.get_children() : | |
| besteltree.delete(record) | |
| sucheE.delete(0, END) | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from kundeinfo where kname like (?) ', (get_record,)) | |
| toz = cur.fetchall() | |
| print(get_record) | |
| for item in toz : | |
| besteltree.insert(parent='', open=True, index='end', iid=country, text='', | |
| values=(item[0], item[3], item[10], item[4])) | |
| country += 1 | |
| # ---------------------------------------------- Buttons -----------------------------------------------------------# | |
| show = Button(new_window5, bd=4, text='Abrufen', width=10, height=2, bg='green', command=clicking) | |
| show.place(x=100, y=442) | |
| show = Button(new_window5, bd=4, text='Abrufen', width=10, height=2, bg='green', command=clicking1) | |
| show.place(x=1120, y=442) | |
| besteltree.bind('<Double-Button-1>', clicking) | |
| delete_ = Button(new_window5, bd=4, text='Alles Löschen', width=10, height=2, bg='red', command=clear) | |
| delete_.place(x=0, y=442) | |
| # buchen = Button(new_window5, bd=4, text='Büchen', width=10, height=2, bg='cadetblue', command=bestat) | |
| # buchen.place(x=1200, y=50) | |
| reset_ = Button(new_window5, bd=4, text='Reset', width=10, height=2, bg='Blue', command=Reset) | |
| reset_.place(x=200, y=442) | |
| sucheb_ = Button(new_window5, bd=4, text='Suche', width=8, height=1, bg='CADET BLUE', command=search_data) | |
| sucheb_.place(x=320, y=510) | |
| # -------------------------------------------------- Liefranet _ Rechunung---------------------------------------------- | |
| def openwindow7() : | |
| global new_window | |
| font_size = ("ARIEL", 12, "bold") | |
| new_window6 = Toplevel(root) | |
| screen_width = new_window6.winfo_screenwidth() | |
| screen_height = new_window6.winfo_screenheight() | |
| x_cordinate = int((screen_width / 2) - (window_width / 2)) | |
| y_cordinate = int((screen_height / 2) - (window_height / 2)) | |
| new_window6.geometry("{}x{}+{}+{}".format(window_width, window_height, x_cordinate, y_cordinate)) | |
| new_window6.resizable(width=False, height=False) | |
| new_window6.configure(bg='cadet blue') | |
| new_window6.title(220 * titlespace + "Liste") | |
| new_window6.resizable(width=False, height=False) | |
| Frame1 = Frame(new_window6, width=300, bg='SlateGray4', bd=4, height=459, relief=RIDGE) | |
| Frame1.place(x=0, y=0) | |
| Frame6 = Frame(new_window6, width=300, bg='SlateGray4', bd=4, height=140, relief=RIDGE) | |
| Frame6.place(x=0, y=500) | |
| Frame2 = Frame(new_window6, width=450, bg='grey', bd=4, height=400, relief=RIDGE) | |
| Frame2.place(x=300, y=60) | |
| Frame3 = Frame(new_window6, width=560, bg='grey', bd=4, height=750, relief=RIDGE) | |
| Frame3.place(x=1050, y=60) | |
| Frame4 = Frame(new_window6, width=450, bg='grey', bd=4, height=400, relief=RIDGE) | |
| Frame4.place(x=300, y=500) | |
| # Frame6 = Frame(new_window6, width=600, bg='white', bd=4, height=260, relief=RIDGE) | |
| # Frame6.place(x=0, y=650) | |
| Frame5 = Frame(new_window6, width=600, bg='SlateGray4', bd=4, height=240, relief=RIDGE) | |
| Frame5.place(x=5, y=650) | |
| # conn=sqlite3.connect('Einstellung.db') | |
| # cur=conn.cursor() | |
| # cur.execute("""Create Table Lieferanten ( ID integer primary key AUTOINCREMENT, Name TEXT ) """) | |
| # conn.commit() | |
| # ------------------------------------------------ functions--------------------------------------------------------# | |
| def name_speich() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| siko = NameE.get() | |
| cur.execute('insert into Lieferanten values(Null,?)', (siko,)) | |
| conn.commit() | |
| NameE.delete(0, END) | |
| new_window6.destroy() | |
| openwindow7() | |
| # ------------------------------------------------Labels------------------------------------------------------------# | |
| fahrerl = Label(Frame1, text='Fahrer erstellen ', bg='cadet blue', bd=0, relief=RIDGE, font=font_size, width=28) | |
| fahrerl.place(x=0, y=5) | |
| Namel = Label(Frame1, text='Name:', bg='SlateGray4', bd=0, font=font_size) | |
| Namel.place(x=0, y=35) | |
| fahrerlo = Label(Frame1, text='Fahrer Löschen ', bg='cadet blue', bd=0, relief=RIDGE, font=font_size, width=28) | |
| fahrerlo.place(x=0, y=65) | |
| fahrerlis = Label(Frame1, text='Fahrer Liste', bg='cadet blue', bd=0, relief=RIDGE, font=font_size, width=28) | |
| fahrerlis.place(x=0, y=140) | |
| namel = Label(Frame1, text='Namen', bg='SlateGray4', bd=0, relief=RIDGE, font=font_size, width=10) | |
| namel.place(x=0, y=165) | |
| namef = Label(Frame6, text='Fahrer', bg='SlateGray4', bd=0, relief=RIDGE, font=('arial', 16, 'bold')) | |
| namef.place(x=15, y=5) | |
| nummer = Label(new_window6, text=' BestellungsNr:', bg='cadet blue', bd=0, font=('arial', 16, 'bold')) | |
| nummer.place(x=600, y=20) | |
| ofennebes = Label(new_window6, text=' Offene Bestellung:', bg='cadet blue', bd=0, font=('arial', 16, 'bold')) | |
| ofennebes.place(x=1200, y=20) | |
| pendingl = Label(new_window6, text=' Pending', bg='cadet blue', bd=0, font=('arial', 16, 'bold')) | |
| pendingl.place(x=470, y=470) | |
| Anzahl = Label(Frame5, text=' Anzahl/B', bg='SlateGray4', bd=0, font=('arial', 16, 'bold')) | |
| Anzahl.place(x=175, y=10) | |
| Datum = Label(Frame5, text=' Datum', bg='SlateGray4', bd=0, font=('arial', 16, 'bold')) | |
| Datum.place(x=290, y=10) | |
| GPreis = Label(Frame5, text=' Gesamt preis', bg='SlateGray4', bd=0, font=('arial', 16, 'bold')) | |
| GPreis.place(x=390, y=10) | |
| ffahrer = Label(Frame5, text=' Fahrer', bg='SlateGray4', bd=0, font=('arial', 16, 'bold')) | |
| ffahrer.place(x=20, y=10) | |
| # -----------------------------------------------------------Enetry_Liste----------------------------------------------# | |
| NameE = Entry(Frame1, width=15, font=font_size, bd=3, ) | |
| NameE.place(x=60, y=35) | |
| Fahreliste = Listbox(Frame1, width=20, height=10, font=font_size, bd=0) | |
| Fahreliste.place(x=10, y=195) | |
| nummerL = Listbox(new_window6, width=3, height=0, font=font_size) | |
| nummerL.place(x=1400, y=20) | |
| nummerE = Entry(new_window6, width=3, font=font_size, bd=3) | |
| nummerE.place(x=760, y=20) | |
| AnzE = Entry(Frame5, width=3, font=font_size, bd=3) | |
| AnzE.place(x=195, y=40) | |
| DatE = Entry(Frame5, width=9, font=font_size, bd=3) | |
| DatE.place(x=290, y=40) | |
| GesE = Entry(Frame5, width=9, font=font_size, bd=3) | |
| GesE.place(x=410, y=40) | |
| # -----------------------------------------------------------DropBox----------------------------------------------------# | |
| options = [] | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select Name from Lieferanten ') | |
| siko = cur.fetchall() | |
| for ido in siko : | |
| options.insert(0, ido) | |
| clicked = StringVar() | |
| clicked1 = StringVar() | |
| clicked2 = StringVar() | |
| drop = OptionMenu(Frame1, clicked, *options) | |
| clicked.set(ido[0]) | |
| drop.configure(width=15, bd=0, bg='grey', font=font_size) | |
| drop.place(x=0, y=95) | |
| drop1 = OptionMenu(Frame6, clicked1, *options) | |
| drop1.configure(width=10, bd=0, bg='grey', font=('arial', 16, 'bold')) | |
| drop1.place(x=0, y=30) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def name_lösch() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| siko = clicked.get() | |
| soko = siko.replace("'", "").replace('(', '').replace(')', '').replace(',', '').replace('"', '') | |
| cur.execute('delete from Lieferanten where name =(?)', (soko,)) | |
| conn.commit() | |
| new_window6.destroy() | |
| openwindow7() | |
| # ----------------------------------------------------------# | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select Name from Lieferanten ') | |
| conn.commit() | |
| miko = cur.fetchall() | |
| for zabir in miko : | |
| Fahreliste.insert(0, zabir) | |
| # ---------------------------------------------------------------Buttons------------------------------------------------# | |
| NameB = Button(Frame1, text='speichern', bd=4, bg='green', command=name_speich).place(x=210, y=33) | |
| loschenB = Button(Frame1, text='Löschen', bd=4, bg='red', command=name_lösch) | |
| loschenB.place(x=200, y=93) | |
| # conn = sqlite3.connect('Einstellung.db') | |
| # cur = conn.cursor() | |
| # cur.execute("""Create Table Rechnung ( Nr INTEGER, Name TEXT,Datum TEXT, Stasse TEXT, Hnr TEXT,Preis INTEGER ,Fahrer TEXT ) """) | |
| # conn.commit() | |
| # ------------------------------------------------------Tree1---------------------------------------------------------# | |
| style = ttk.Style() | |
| style.theme_use("clam") | |
| style.configure("Treeview", background='white', foreground="black", rowheight=20, font=("ARIEL", 9, 'bold'), | |
| fieldbackground="silver") | |
| style.map('Treeview', background=[('selected', 'red')]) | |
| style.configure("Treeview.Heading", font=('bold', 12)) | |
| style.configure("Treeview.column", font=('bold', 6)) | |
| style.configure('Treeview', rowheight=20) | |
| style.configure('Treeview.row', font=('bold', 20)) | |
| besteltree = ttk.Treeview(Frame2, height=18) | |
| besteltree['columns'] = ("Nr", "Name", "Datum/Uhrzeit", "Straße", "Haus/nr", "Preis") | |
| besteltree.column("#0", width=0, stretch=NO) | |
| besteltree.column("Nr", anchor=CENTER, width=40, stretch=TRUE, ) | |
| besteltree.column("Name", anchor=CENTER, width=120) | |
| besteltree.column("Datum/Uhrzeit", anchor=W, width=160) | |
| besteltree.column("Straße", anchor=W, width=120) | |
| besteltree.column("Haus/nr", anchor=W, width=40) | |
| besteltree.column("Preis", anchor=W, width=60) | |
| besteltree.tag_configure('pos', background='white') | |
| besteltree.heading("#0", text="", anchor=W) | |
| besteltree.heading("Nr", text="Nr", anchor=W) | |
| besteltree.heading("Name", text="Name", anchor=W) | |
| besteltree.heading("Datum/Uhrzeit", text="Datum/Uhrzeit", anchor=W) | |
| besteltree.heading("Straße", text="Straße", anchor=W) | |
| besteltree.heading("Haus/nr", text="nr", anchor=W) | |
| besteltree.heading("Preis", text="Preis", anchor=W) | |
| besteltree.pack() | |
| # ------------------------------------------------------- Tree2---------------------------------------------------------# | |
| besteltree1 = ttk.Treeview(Frame3, height=27) | |
| besteltree1['columns'] = ("Nr", "Name", "Datum/Uhrzeit", "Straße", "Haus/nr", "Preis") | |
| besteltree1.column("#0", width=0, stretch=NO) | |
| besteltree1.column("Nr", anchor=CENTER, width=40, stretch=TRUE, ) | |
| besteltree1.column("Name", anchor=CENTER, width=120) | |
| besteltree1.column("Datum/Uhrzeit", anchor=W, width=160) | |
| besteltree1.column("Straße", anchor=W, width=120) | |
| besteltree1.column("Haus/nr", anchor=W, width=40) | |
| besteltree1.column("Preis", anchor=W, width=60) | |
| besteltree1.tag_configure('pos', background='white') | |
| besteltree1.heading("#0", text="", anchor=W) | |
| besteltree1.heading("Nr", text="Nr", anchor=W) | |
| besteltree1.heading("Name", text="Name", anchor=W) | |
| besteltree1.heading("Datum/Uhrzeit", text="Datum/Uhrzeit", anchor=W) | |
| besteltree1.heading("Straße", text="Straße", anchor=W) | |
| besteltree1.heading("Haus/nr", text="nr", anchor=W) | |
| besteltree1.heading("Preis", text="Preis", anchor=W) | |
| besteltree1.pack() | |
| # ----------------------------------------------------- Tree 3 ---------------------------------------------------------# | |
| besteltree2 = ttk.Treeview(Frame4, height=5) | |
| besteltree2['columns'] = ("Nr", "Name", "Datum/Uhrzeit", "Straße", "Haus/nr", "Preis") | |
| besteltree2.column("#0", width=0, stretch=NO) | |
| besteltree2.column("Nr", anchor=CENTER, width=40, stretch=TRUE, ) | |
| besteltree2.column("Name", anchor=CENTER, width=120) | |
| besteltree2.column("Datum/Uhrzeit", anchor=W, width=160) | |
| besteltree2.column("Straße", anchor=W, width=120) | |
| besteltree2.column("Haus/nr", anchor=W, width=40) | |
| besteltree2.column("Preis", anchor=W, width=60) | |
| besteltree2.tag_configure('pos', background='white') | |
| besteltree2.heading("#0", text="", anchor=W) | |
| besteltree2.heading("Nr", text="Nr", anchor=W) | |
| besteltree2.heading("Name", text="Name", anchor=W) | |
| besteltree2.heading("Datum/Uhrzeit", text="Datum/Uhrzeit", anchor=W) | |
| besteltree2.heading("Straße", text="Straße", anchor=W) | |
| besteltree2.heading("Haus/nr", text="nr", anchor=W) | |
| besteltree2.heading("Preis", text="Preis", anchor=W) | |
| besteltree2.pack() | |
| # -------------------------------------------- Tress Functions ---------------------------------------------------------# | |
| def besteliste() : | |
| for record in besteltree1.get_children() : | |
| besteltree1.delete(record) | |
| count = 0 | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn1.cursor() | |
| cur1.execute('select * from kundeinfo ') | |
| firo = cur1.fetchall() | |
| for ziko in firo : | |
| besteltree1.insert(parent='', open=True, index='end', iid=count, text='', | |
| values=(ziko[0], ziko[3], ziko[10], ziko[4], ziko[5], ziko[13])) | |
| count += 1 | |
| zuzu = besteltree1.get_children() | |
| moso = len(zuzu) | |
| nummerL.delete(0, END) | |
| nummerL.insert(0, moso) | |
| besteliste() | |
| global zaro | |
| zaro = 0 | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def add_fun() : | |
| global zaro | |
| zopl = nummerE.get() | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from kundeinfo where ID=(?)', (zopl,)) | |
| bol = cur.fetchall() | |
| for opo in bol : | |
| besteltree.insert(parent='', open=True, index='end', iid=zaro, text='', | |
| values=(opo[0], opo[3], opo[10], opo[4], opo[5], opo[13])) | |
| zaro += 1 | |
| cur.execute('delete from kundeinfo where ID=(?)', (zopl,)) | |
| conn.commit() | |
| nummerE.delete(0, END) | |
| besteliste() | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def add_abhol() : | |
| global zaro | |
| zopl = 'ABHOLUNG' | |
| conn = sqlite3.connect('OrderData.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from kundeinfo where kstrasse =(?)', (zopl,)) | |
| bol = cur.fetchall() | |
| for opo in bol : | |
| besteltree.insert(parent='', open=True, index='end', iid=zaro, text='', | |
| values=(opo[0], opo[3], opo[10], opo[4], opo[5], opo[13])) | |
| zaro += 1 | |
| cur.execute('delete from kundeinfo WHERE kstrasse =(?)', (zopl,)) | |
| conn.commit() | |
| nummerE.delete(0, END) | |
| besteliste() | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def pending() : | |
| global zazo | |
| selected = besteltree.selection()[0] | |
| values = besteltree.item(selected, 'values') | |
| besteltree.delete(selected) | |
| countss = 0 | |
| besteltree2.insert(parent='', open=True, index='end', text='', | |
| values=(values[0], values[1], values[2], values[3], values[4], values[5])) | |
| countss += 1 | |
| # ------------------------------------------------- Tree Buttons -------------------------------------------------------# | |
| add = Button(new_window6, text='Add', bg='green', width=4, bd=4, command=add_fun, state=DISABLED) | |
| add.place(x=800, y=20) | |
| pend = Button(new_window6, text='Pend', bg='red', width=7, bd=4, command=pending, state=DISABLED) | |
| pend.place(x=860, y=20) | |
| addabh = Button(new_window6, text='Alle Abholung', bg='green', width=11, bd=4, command=add_abhol, state=DISABLED) | |
| addabh.place(x=1480, y=20) | |
| # ----------------------------------------------------------------------------------------------------------------------# | |
| def Speichern() : | |
| siko = str(clicked1.get()) | |
| soko = siko.replace("'", "").replace('(', '').replace(')', '').replace(',', '').replace('"', '') | |
| print(soko) | |
| solo = besteltree.get_children() | |
| for line in solo : | |
| sick100 = (besteltree.item(line)['values'][0]) | |
| sick101 = (besteltree.item(line)['values'][1]) | |
| sick102 = (besteltree.item(line)['values'][2]) | |
| sick103 = (besteltree.item(line)['values'][3]) | |
| sick104 = (besteltree.item(line)['values'][4]) | |
| sick105 = (besteltree.item(line)['values'][5]) | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute( | |
| """ insert into Rechnung (Nr,Name,Datum,stasse,Hnr,Preis,Fahrer)values(:Nr,:Name,:Datum,:stasse,:Hnr,:Preis,:Fahrer)""", | |
| {'Nr' : sick100, | |
| 'Name' : sick101, | |
| 'Datum' : sick102, | |
| 'stasse' : sick103, | |
| 'Hnr' : sick104, | |
| 'Preis' : sick105, | |
| 'Fahrer' : soko | |
| }) | |
| conn.commit() | |
| for record in besteltree.get_children() : | |
| besteltree.delete(record) | |
| new_window6.overrideredirect(False) | |
| drop1.config(state=ACTIVE) | |
| clicked1.set('') | |
| Strat.config(state=ACTIVE) | |
| add.config(state=DISABLED) | |
| pend.config(state=DISABLED) | |
| Done = Button(new_window6, text='Fertig', font=font_size, bg='red', width=5, height=1, bd=6, | |
| command=Speichern, state=DISABLED) | |
| Done.place(x=850, y=410) | |
| # ---------------------------------------- Straten Abrechnung ------------------------------------------------------# | |
| def abrechnung() : | |
| sok = clicked1.get() | |
| sol = len(sok) | |
| if sol < 3 : | |
| messagebox.showerror('Error', 'Fahrer aussuchen') | |
| else : | |
| drop1.config(state=DISABLED) | |
| add.config(state=ACTIVE) | |
| pend.config(state=ACTIVE) | |
| addabh.config(state=ACTIVE) | |
| new_window6.overrideredirect(True) | |
| Strat.config(state=DISABLED) | |
| Done.config(state=ACTIVE) | |
| Strat = Button(Frame6, text='Abrechnung', font=font_size, bg='blue', bd=6, command=abrechnung) | |
| Strat.place(x=170, y=84) | |
| # --------------------------------- jeder Fahrer Rechnung(summe) --------------------------------------------------# | |
| def fahrer(e=None) : | |
| count = 0 | |
| soko = str(clicked2.get()) | |
| siko = soko.replace("'", "").replace('(', '').replace(')', '').replace(',', '').replace('"', '') | |
| conn = sqlite3.connect("Einstellung.db") | |
| cur = conn.cursor() | |
| cur1 = conn.cursor() | |
| cur2 = conn.cursor() | |
| cur.execute('select * from Rechnung ') | |
| cur2.execute('select ROUND (SUM(Preis),0) from Rechnung Where Fahrer =(?)', (siko,)) | |
| cur1.execute('select count(*) from Rechnung Where Fahrer =(?)', (siko,)) | |
| tol = cur1.fetchall() | |
| zoro = cur2.fetchall() | |
| fob = cur.fetchall() | |
| conn.commit() | |
| conn.close() | |
| datum = datetime.now().strftime("%d.%m.%Y") | |
| for ziko in fob : | |
| print(ziko) | |
| anzahl = ziko[0] | |
| AnzE.delete(0, END) | |
| DatE.delete(0, END) | |
| GesE.delete(0, END) | |
| AnzE.insert(0, tol) | |
| GesE.insert(0, zoro) | |
| DatE.insert(0, datum) | |
| drop2 = OptionMenu(Frame5, clicked2, *options, command=fahrer) | |
| drop2.configure(width=10, bd=0, bg='grey', font=('arial', 16, 'bold')) | |
| drop2.place(x=0, y=45) | |
| # ------------------------------------------------------------------------------------------------------------------# | |
| def unpending() : | |
| selected = besteltree2.selection()[0] | |
| values = besteltree2.item(selected, 'values') | |
| besteltree2.delete(selected) | |
| zazo = 0 | |
| besteltree.insert(parent='', open=True, index='end', text='', | |
| values=(values[0], values[1], values[2], values[3], values[4], values[5])) | |
| unpend = Button(new_window6, text='Unpend', font=font_size, bg='green', bd=6, command=unpending) | |
| unpend.place(x=850, y=500) | |
| conn = sqlite3.connect('Pending.db') | |
| cur = conn.cursor() | |
| conn.commit() | |
| ############################################# Alle Rechnung von Alle Fahrer########################################## | |
| def fahreren() : | |
| fa = clicked2.get() | |
| siko = fa.replace("'", "").replace('(', '').replace(')', '').replace(',', '').replace('"', '') | |
| an = AnzE.get() | |
| da = DatE.get() | |
| ge = GesE.get() | |
| conn = sqlite3.connect('Pending.db') | |
| cur = conn.cursor() | |
| cur.execute('Insert into pending (Anzahl,Datum,Gesamt,Fahrer) values(?,?,?,?)', (an, da, ge, siko)) | |
| conn.commit() | |
| conn1 = sqlite3.connect('Einstellung.db') | |
| cur1 = conn1.cursor() | |
| cur1.execute('delete from Rechnung where fahrer =(?)', (siko,)) | |
| conn1.commit() | |
| new_window6.destroy() | |
| openwindow7() | |
| dru = Button(Frame5, text='Drucken', bg='green', font=font_size, bd=2, command=fahreren) | |
| dru.place(x=500, y=195) | |
| # liefer = Label(Frame5, text='Mindestpreise :', bg='white', font=font_size, bd=2) | |
| # liefer.place(x=50, y=195) | |
| # liefer = Label(Frame5, text='Mindestpreise :', bg='white', font=font_size, bd=2) | |
| # liefer.place(x=50, y=195) | |
| ####-------------------------------------- FIERAMT -------------------------------------------------------# | |
| def fieramt() : | |
| ask = messagebox.askyesno('Fieramt', 'Sind Sie sicher') | |
| if ask == 1 : | |
| os.remove('Pending.db') | |
| os.remove('OrderData.db') | |
| conn = sqlite3.connect('Pending.db') | |
| cur = conn.cursor() | |
| cur.execute('Create Table pending (Anzahl INTEGER , Datum INTEGER, Gesamt INTEGER ,Fahrer TEXT)') | |
| conn.commit() | |
| conn1 = sqlite3.connect('OrderData.db') | |
| cur1 = conn1 | |
| cur1.execute("""Create Table kundeinfo( | |
| ID integer primary key AUTOINCREMENT UNIQUE, | |
| kid INTEGER, | |
| ktelefonnummer INTEGER, | |
| kname TEXT, | |
| kstrasse TEXT, | |
| khausnr INTEGER, | |
| kplz INTEGER, | |
| kort TEXT, | |
| kemail TEXT, | |
| bediener TEXT, | |
| zeit INTEGER, | |
| bestellzeit INTEGER, | |
| externinfo TEXT, | |
| gesamtepreis INTEGER)""") | |
| cur1.execute("""Create Table speiseinfo( | |
| zeit INTEGER, | |
| pos INTEGER, | |
| grosse TEXT, | |
| anzahl INTEGER, | |
| nr INTEGER, | |
| speise TEXT, | |
| mit TEXT, | |
| ohne TEXT, | |
| katagorie TEXT, | |
| preis INTEGER, | |
| name TEXT )""") | |
| cur1.commit() | |
| conn2 = sqlite3.connect('Einstellung.db') | |
| cur2 = conn2.cursor() | |
| cur2.execute('delete from Rechnung ') | |
| conn2.commit() | |
| root.destroy() | |
| ti = 0 | |
| # This variable stores the name | |
| # of the process we are terminating | |
| # The extension should also be | |
| # included in the name | |
| name = 'Firefox' | |
| # Initializing the wmi object | |
| f = wmi.WMI() | |
| # Iterating through all the | |
| # running processes | |
| for process in f.Win32_Process() : | |
| # Checking whether the process | |
| # name matches our specified name | |
| if process.name == name : | |
| # If the name matches, | |
| # terminate the process | |
| process.Terminate() | |
| # This increment would acknowledge | |
| # about the termination of the | |
| # Processes, and would serve as | |
| # a counter of the number of processes | |
| # terminated under the same name | |
| ti += 1 | |
| else : | |
| pass | |
| fierB = Button(new_window6, text='Fieramt', bd=4, font=font_size, height=3, bg='red', command=fieramt) | |
| fierB.place(x=1510, y=820) | |
| def openwindow8() : | |
| global font_size | |
| def installed_printer() : | |
| printers = win32print.EnumPrinters(2) | |
| for p in printers : | |
| return (p) | |
| printerdef = '' | |
| # connec=sqlite3.connect('Einstellung.db') | |
| # cur=connec.cursor() | |
| # cur.execute("""create Table printer3 (printer TEXT,Kat1 TEXT,Kat2 TEXT, | |
| # Kat3 TEXT,Kat4 TEXT,Kat5 TEXT,Kat6 TEXT,Kat7 TEXT,Kat8 TEXT,Kat9 TEXT,Kat10 TEXT)""") | |
| # connec.commit() | |
| def locprinter() : | |
| pt = Toplevel() | |
| pt.geometry("250x250") | |
| pt.title("choose printer") | |
| var1 = StringVar() | |
| LABEL = Label(pt, text="select Printer").pack() | |
| PRCOMBO = ttk.Combobox(pt, width=35, textvariable=var1) | |
| print_list = [] | |
| printers = list(win32print.EnumPrinters(2)) | |
| for i in printers : | |
| print_list.append(i[2]) | |
| # Put printers in combobox | |
| PRCOMBO['values'] = print_list | |
| PRCOMBO.pack() | |
| def select() : | |
| global printerdef | |
| printerdef = PRCOMBO.get() | |
| pt.destroy() | |
| BUTTON = ttk.Button(pt, text="Done", command=select).pack() | |
| r = tkinter.Toplevel() | |
| r.title("printer selection in tkinter") | |
| r.geometry("1200x600") | |
| #####################################################Frames and Labels ############################################# | |
| Frame1 = Frame(r, width=620, height=500, bg='grey', bd=4) | |
| Frame1.place(x=10, y=80) | |
| Frame2 = Frame(r, width=210, height=500, bg='azure2', bd=4) | |
| Frame2.place(x=660, y=1) | |
| Frame3 = Frame(r, width=210, height=500, bg='light grey', bd=4) | |
| Frame3.place(x=900, y=1) | |
| Label1 = Label(r, text='Aktuell', font=('arial', 20, 'bold'), bg='azure2') | |
| Label1.place(x=290, y=30) | |
| s = ttk.Style() | |
| s.theme_use('clam') | |
| # Configure the style of Heading in Treeview widget | |
| s.configure('printtree.Heading', background="green3") | |
| s.configure("printtree", background='red', foreground="black", rowheight=25, font=("ARIEL", 9, 'bold'), | |
| fieldbackground="black") | |
| s.map('printtree', background=[('selected', 'red')]) | |
| s.configure("printtreeHeading", font=('bold', 12)) | |
| s.configure("printtree.column", font=('bold', 6)) | |
| s.configure('printtree', rowheight=40) | |
| s.configure('printtree.row', font=('bold', 20)) | |
| s.configure('Red.TCheckbutton', background='azure2') | |
| s.configure('yellow.TCheckbutton', background='light grey') | |
| printtree = ttk.Treeview(Frame1, height=10) | |
| printtree['columns'] = ("Drucker", "Kat1", "Kat2", "Kat3", "Kat4", "Kat5", "Kat6", "Kat7", "Kat8") | |
| printtree.column("#0", width=0, stretch=NO) | |
| printtree.column("Drucker", anchor=CENTER, width=120, stretch=TRUE, ) | |
| printtree.column("Kat1", anchor=CENTER, width=60) | |
| printtree.column("Kat2", anchor=W, width=60) | |
| printtree.column("Kat3", anchor=W, width=60) | |
| printtree.column("Kat4", anchor=W, width=60) | |
| printtree.column("Kat5", anchor=W, width=60) | |
| printtree.column("Kat6", anchor=W, width=60) | |
| printtree.column("Kat7", anchor=W, width=60) | |
| printtree.column("Kat8", anchor=W, width=60) | |
| printtree.heading("#0", text="", anchor=W) | |
| printtree.heading("Drucker", text="Drucker", anchor=W) | |
| printtree.heading("Kat1", text="Kat1", anchor=W) | |
| printtree.heading("Kat2", text="Kat2", anchor=W) | |
| printtree.heading("Kat3", text="Kat3", anchor=W) | |
| printtree.heading("Kat4", text="Kat4", anchor=W) | |
| printtree.heading("Kat5", text="Kat5", anchor=W) | |
| printtree.heading("Kat6", text="Kat6", anchor=W) | |
| printtree.heading("Kat7", text="Kat7", anchor=W) | |
| printtree.heading("Kat8", text="Kat8", anchor=W) | |
| # printtree.place(x=0,y=60) | |
| printtree.pack() | |
| #################################################### SQLDATA ####################################################### | |
| conn = sqlite3.connect('Einstellung.db') | |
| katlist = [] | |
| cur = conn.cursor() | |
| cur.execute('select* from Katagorie ') | |
| sor = cur.fetchall() | |
| for izo in sor : | |
| katlist.insert(0, izo) | |
| lon = len(katlist) | |
| print(lon) | |
| var = StringVar() | |
| var5 = StringVar() | |
| var6 = StringVar() | |
| var7 = StringVar() | |
| var8 = StringVar() | |
| var9 = StringVar() | |
| var10 = StringVar() | |
| var11 = StringVar() | |
| var12 = StringVar() | |
| varb = StringVar() | |
| varb5 = StringVar() | |
| varb6 = StringVar() | |
| varb7 = StringVar() | |
| varb8 = StringVar() | |
| varb9 = StringVar() | |
| varb10 = StringVar() | |
| varb11 = StringVar() | |
| varb12 = StringVar() | |
| #####################################################Drucker auswahlen ############################################# | |
| # Label11 = Label(Frame2, text="select Printer") | |
| # Label11.place(x=80,y=50) | |
| var1 = StringVar() | |
| Combo1 = ttk.Combobox(Frame2, width=25, textvariable=var1) | |
| Combo1.set('Drucker 1') | |
| print_list = [] | |
| printers = list(win32print.EnumPrinters(2)) | |
| for i in printers : | |
| print_list.append(i[2]) | |
| # Put printers in combobox | |
| Combo1['values'] = print_list | |
| Combo1.place(x=5, y=5) | |
| listo = [] | |
| listob = [] | |
| def fargini1() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from printer2') | |
| mik = cur.fetchall() | |
| for ray in mik : | |
| if ray[0] != '' : | |
| listob.insert(0, ray[0]) | |
| if ray[1] != '' or [] : | |
| listob.insert(0, ray[1]) | |
| if ray[2] != '' or [] : | |
| listob.insert(0, ray[2]) | |
| if ray[3] != '' or [] : | |
| listob.insert(0, ray[3]) | |
| if ray[4] != '' or [] : | |
| listob.insert(0, ray[4]) | |
| if ray[5] != '' or [] : | |
| listob.insert(0, ray[5]) | |
| if ray[6] != '' or [] : | |
| listob.insert(0, ray[6]) | |
| if ray[7] != '' or [] : | |
| listob.insert(0, ray[7]) | |
| if ray[8] != '' : | |
| listob.insert(0, ray[8]) | |
| if ray[9] != '' : | |
| listob.insert(0, ray[9]) | |
| if ray[10] != '' : | |
| listob.insert(0, ray[10]) | |
| for iop in listob : | |
| result = str(iop).replace('[', '').replace(']', '').replace('(', '').replace(')', '').replace(',', | |
| '').replace( | |
| "'", "") | |
| # if result!='': | |
| # listbox1.insert(0,result) | |
| def fargini() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from printer1') | |
| mik = cur.fetchall() | |
| for ray in mik : | |
| if ray[0] != '' : | |
| listo.insert(0, ray[0]) | |
| if ray[1] != '' or [] : | |
| listo.insert(0, ray[1]) | |
| if ray[2] != '' or [] : | |
| listo.insert(0, ray[2]) | |
| if ray[3] != '' or [] : | |
| listo.insert(0, ray[3]) | |
| if ray[4] != '' or [] : | |
| listo.insert(0, ray[4]) | |
| if ray[5] != '' or [] : | |
| listo.insert(0, ray[5]) | |
| if ray[6] != '' or [] : | |
| listo.insert(0, ray[6]) | |
| if ray[7] != '' or [] : | |
| listo.insert(0, ray[7]) | |
| if ray[8] != '' : | |
| listo.insert(0, ray[8]) | |
| if ray[9] != '' : | |
| listo.insert(0, ray[9]) | |
| if ray[10] != '' : | |
| listo.insert(0, ray[10]) | |
| for iop in listo : | |
| result = str(iop).replace('[', '').replace(']', '').replace('(', '').replace(')', '').replace(',', | |
| '').replace( | |
| "'", "") | |
| # if result!='': | |
| # listbox1.insert(0,result) | |
| ################################################# | |
| var2 = StringVar() | |
| Combo2 = ttk.Combobox(Frame3, width=25, textvariable=var2) | |
| Combo2.set('Drucker 2') | |
| print_list1 = [''] | |
| kol = [''] | |
| kol1 = [''] | |
| kol2 = [''] | |
| kol3 = [''] | |
| kol4 = [''] | |
| kol5 = [''] | |
| kol6 = [''] | |
| kol7 = [''] | |
| kol8 = [''] | |
| kol9 = [''] | |
| kol10 = [''] | |
| kolb = [''] | |
| kolb1 = [''] | |
| kolb2 = [''] | |
| kolb3 = [''] | |
| kolb4 = [''] | |
| kolb5 = [''] | |
| kolb6 = [''] | |
| kolb7 = [''] | |
| kolb8 = [''] | |
| kolb9 = [''] | |
| kolb10 = [''] | |
| printers1 = list(win32print.EnumPrinters(2)) | |
| for ip in printers1 : | |
| print_list1.append(ip[2]) | |
| c1 = ttk.Checkbutton(Frame2, text=katlist[0], variable=var, cursor="cross", style='Red.TCheckbutton') | |
| c1.place(x=5, y=40) | |
| if lon > 1 : | |
| c2 = ttk.Checkbutton(Frame2, text=katlist[1], variable=var5, style='Red.TCheckbutton') | |
| c2.place(x=5, y=60) | |
| else : | |
| pass | |
| if lon > 2 : | |
| c3 = ttk.Checkbutton(Frame2, text=katlist[2], variable=var6, style='Red.TCheckbutton') | |
| c3.place(x=5, y=80) | |
| else : | |
| pass | |
| if lon > 3 : | |
| c4 = ttk.Checkbutton(Frame2, text=katlist[3], variable=var7, style='Red.TCheckbutton') | |
| c4.place(x=5, y=100) | |
| else : | |
| pass | |
| if lon > 4 : | |
| c5 = ttk.Checkbutton(Frame2, text=katlist[4], variable=var8, style='Red.TCheckbutton') | |
| c5.place(x=5, y=120) | |
| else : | |
| pass | |
| if lon > 5 : | |
| c6 = ttk.Checkbutton(Frame2, text=katlist[5], variable=var9, style='Red.TCheckbutton') | |
| c6.place(x=5, y=140) | |
| else : | |
| pass | |
| if lon > 6 : | |
| c7 = ttk.Checkbutton(Frame2, text=katlist[6], variable=var10, style='Red.TCheckbutton') | |
| c7.place(x=5, y=160) | |
| else : | |
| pass | |
| if lon > 7 : | |
| c8 = ttk.Checkbutton(Frame2, text=katlist[7], variable=var11, style='Red.TCheckbutton') | |
| c8.place(x=5, y=180) | |
| else : | |
| pass | |
| b1 = ttk.Checkbutton(Frame3, text=katlist[0], variable=varb, cursor="cross", style='yellow.TCheckbutton') | |
| b1.place(x=5, y=40) | |
| if lon > 1 : | |
| b2 = ttk.Checkbutton(Frame3, text=katlist[1], variable=varb5, style='yellow.TCheckbutton') | |
| b2.place(x=5, y=60) | |
| else : | |
| pass | |
| if lon > 2 : | |
| b3 = ttk.Checkbutton(Frame3, text=katlist[2], variable=varb6, style='yellow.TCheckbutton') | |
| b3.place(x=5, y=80) | |
| else : | |
| pass | |
| if lon > 3 : | |
| b4 = ttk.Checkbutton(Frame3, text=katlist[3], variable=varb7, style='yellow.TCheckbutton') | |
| b4.place(x=5, y=100) | |
| else : | |
| pass | |
| if lon > 4 : | |
| b5 = ttk.Checkbutton(Frame3, text=katlist[4], variable=varb8, style='yellow.TCheckbutton') | |
| b5.place(x=5, y=120) | |
| else : | |
| pass | |
| if lon > 5 : | |
| b6 = ttk.Checkbutton(Frame3, text=katlist[5], variable=varb9, style='yellow.TCheckbutton') | |
| b6.place(x=5, y=140) | |
| else : | |
| pass | |
| if lon > 6 : | |
| b7 = ttk.Checkbutton(Frame3, text=katlist[6], variable=varb10, style='yellow.TCheckbutton') | |
| b7.place(x=5, y=160) | |
| else : | |
| pass | |
| if lon > 7 : | |
| b8 = ttk.Checkbutton(Frame3, text=katlist[7], variable=varb11, style='yellow.TCheckbutton') | |
| b8.place(x=5, y=180) | |
| else : | |
| pass | |
| def show() : | |
| listo.clear() | |
| value1 = Combo1.get() | |
| kol.insert(0, str(value1)) | |
| conno = sqlite3.connect('Einstellung.db') | |
| curo = conno.cursor() | |
| curo.execute('delete from printer1') | |
| conno.commit() | |
| printername = var2.get() | |
| if lon > 0 : | |
| first = c1.state() | |
| if 'selected' in first : | |
| kol3.insert(0, katlist[0]) | |
| c1.invoke() | |
| else : | |
| pass | |
| if lon > 1 : | |
| second = c2.state() | |
| if 'selected' in second : | |
| kol4.insert(0, katlist[1]) | |
| c2.invoke() | |
| if lon > 2 : | |
| third = c3.state() | |
| if 'selected' in third : | |
| kol5.insert(0, katlist[2]) | |
| c3.invoke() | |
| else : | |
| pass | |
| if lon > 3 : | |
| fourth = c4.state() | |
| if 'selected' in fourth : | |
| kol6.insert(0, katlist[3]) | |
| c4.invoke() | |
| else : | |
| pass | |
| if lon > 4 : | |
| fifth = c5.state() | |
| if 'selected' in fifth : | |
| kol7.insert(0, katlist[4]) | |
| c5.invoke() | |
| else : | |
| pass | |
| if lon > 5 : | |
| six = c6.state() | |
| if 'selected' in six : | |
| kol8.insert(0, katlist[5]) | |
| c6.invoke() | |
| else : | |
| pass | |
| if lon > 6 : | |
| seven = c7.state() | |
| if 'selected' in seven : | |
| kol9.insert(0, katlist[6]) | |
| c7.invoke() | |
| else : | |
| pass | |
| if lon > 7 : | |
| eighth = c8.state() | |
| if 'selected' in eighth : | |
| kol10.insert(0, katlist[7]) | |
| c8.invoke() | |
| else : | |
| pass | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute("""insert into printer1 (printer,kat1,kat2,kat3,kat4,kat5,kat6,kat7, | |
| kat8,kat9,kat10) values (?,?,?,?,?,?,?,?,?,?,?)""", | |
| (str(kol), str(kol1), str(kol2), str(kol3), str(kol4), str(kol5), str(kol6), str(kol7), | |
| str(kol8), str(kol9), str(kol10),)) | |
| conn.commit() | |
| Combo1.set('Drucker 1') | |
| def show1() : | |
| listo.clear() | |
| value1 = Combo2.get() | |
| kolb.insert(0, str(value1)) | |
| conno = sqlite3.connect('Einstellung.db') | |
| curo = conno.cursor() | |
| curo.execute('delete from printer2') | |
| conno.commit() | |
| printername = var1.get() | |
| if lon > 0 : | |
| first = b1.state() | |
| if 'selected' in first : | |
| kolb3.insert(0, katlist[0]) | |
| b1.invoke() | |
| else : | |
| pass | |
| if lon > 1 : | |
| second = b2.state() | |
| if 'selected' in second : | |
| kolb4.insert(0, katlist[1]) | |
| b2.invoke() | |
| if lon > 2 : | |
| third = b3.state() | |
| if 'selected' in third : | |
| kolb5.insert(0, katlist[2]) | |
| b3.invoke() | |
| else : | |
| pass | |
| if lon > 3 : | |
| fourth = b4.state() | |
| if 'selected' in fourth : | |
| kolb6.insert(0, katlist[3]) | |
| b4.invoke() | |
| else : | |
| pass | |
| if lon > 4 : | |
| fifth = b5.state() | |
| if 'selected' in fifth : | |
| kolb7.insert(0, katlist[4]) | |
| b5.invoke() | |
| else : | |
| pass | |
| if lon > 5 : | |
| six = b6.state() | |
| if 'selected' in six : | |
| kolb8.insert(0, katlist[5]) | |
| b6.invoke() | |
| else : | |
| pass | |
| if lon > 6 : | |
| seven = b7.state() | |
| if 'selected' in seven : | |
| kolb9.insert(0, katlist[6]) | |
| b7.invoke() | |
| else : | |
| pass | |
| if lon > 7 : | |
| eighth = b8.state() | |
| if 'selected' in eighth : | |
| kolb10.insert(0, katlist[7]) | |
| b8.invoke() | |
| else : | |
| pass | |
| Combo1.set('Drucker 1') | |
| Combo2.set('Drucker 2') | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute("""insert into printer2 (printer,kat1,kat2,kat3,kat4,kat5,kat6,kat7, | |
| kat8,kat9,kat10) values (?,?,?,?,?,?,?,?,?,?,?)""", | |
| (str(kolb), str(kolb1), str(kolb2), str(kolb3), str(kolb4), str(kolb5), str(kolb6), str(kolb7), | |
| str(kolb8), str(kolb9), str(kolb10),)) | |
| conn.commit() | |
| # Put printers in combobox | |
| Combo2['values'] = print_list1 | |
| Combo2.place(x=5, y=5) | |
| menubar = Menu(root) | |
| root.config(menu=menubar) | |
| file_menu = Menu(menubar) | |
| menubar.add_cascade(label="File", menu=file_menu) | |
| file_menu.add_command(label="printer", command=locprinter) | |
| def shows() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from printer1 ') | |
| bol = cur.fetchall() | |
| zaro = 0 | |
| for opo in bol : | |
| printtree.insert(parent='', open=True, index='end', iid=zaro, text='', | |
| values=( | |
| str(opo[0]).replace('[', '').replace(']', '').replace("'", "").replace(',', | |
| '').replace( | |
| ')', '').replace('(', ''), | |
| opo[1].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[2].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[3].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[4].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[5].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[6].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[7].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[8].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''),)) | |
| zaro += 1 | |
| def shows1() : | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select* from printer2 ') | |
| bol = cur.fetchall() | |
| zaro = 1 | |
| for opo in bol : | |
| printtree.insert(parent='', open=True, index='end', iid=zaro, text='', | |
| values=( | |
| str(opo[0]).replace('[', '').replace(']', '').replace("'", "").replace(',', | |
| '').replace( | |
| ')', '').replace('(', ''), | |
| opo[1].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[2].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[3].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[4].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[5].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[6].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[7].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''), | |
| opo[8].replace('[', '').replace(']', '').replace("'", "").replace(',', '').replace(')', | |
| '').replace( | |
| '(', ''))) | |
| zaro += 1 | |
| shows() | |
| shows1() | |
| LAB = Label(root, text="Comment") | |
| # T2 = Text(root, width=40, height=10, wrap=WORD) | |
| hpeichern = Button(Frame2, text='Speichern', command=show, width=10) | |
| hpeichern.place(x=125, y=470) | |
| hpeichern1 = Button(Frame3, text='Speichern', command=show1, width=10) | |
| hpeichern1.place(x=125, y=470) | |
| # zieg = Button(Frame1, text='zeigen', command=fargini,width=20) | |
| # zieg.place(x=250,y=250) | |
| # zieg1 = Button(Frame1, text='zeigen', command=fargini1, width=20) | |
| # zieg1.place(x=500, y=250) | |
| def openwindow9() : | |
| r = tkinter.Toplevel() | |
| r.titel = 'Freie zutaten' | |
| r.geometry('1400x900') | |
| ################### speiseliste | |
| name = StringVar | |
| conn = sqlite3.connect('ZutatenListe.db') | |
| cur = conn.cursor() | |
| cur.execute('select SpeiseName from zutaten') | |
| baro = cur.fetchall() | |
| with open('zutatenliste.txt', 'w') as file1 : | |
| for naro in baro : | |
| ziko = ",".join(naro) | |
| file1.write(str(ziko) + '\n') | |
| zutatenliste = [] | |
| with open('zutatenliste.txt', 'r') as fsrg : | |
| for ziz in fsrg : | |
| zutatenliste.append(str(ziz)) | |
| conn.commit() | |
| # conn=sqlite3.connect('Einstellung.db') | |
| # cur=conn.cursor() | |
| # cur.execute('create table Freiezutaten(Speisename text, Anzahl int)') | |
| # conn.commit() | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from Freiezutaten') | |
| mor = cur.fetchall() | |
| ###################Frames | |
| frame1 = Frame(r, bd=4, width=650, height=850, bg='#73675f') | |
| frame1.place(x=10, y=20) | |
| frame2 = Frame(r, bd=4, width=650, height=850, bg='#4f4e4c') | |
| frame2.place(x=735, y=20) | |
| frame3 = Frame(frame2, bd=4, width=350, height=400, bg='#4f4e4c') | |
| frame3.place(x=10, y=20) | |
| ###################Tree view | |
| s = ttk.Style() | |
| s.theme_use('clam') | |
| # Configure the style of Heading in Treeview widget | |
| s.configure('printtree.Heading', background="green3") | |
| s.configure("printtree", background='red', foreground="black", rowheight=25, font=("ARIEL", 16, 'bold'), | |
| fieldbackground="black") | |
| s.map('zutattree', background=[('selected', 'red')]) | |
| s.configure("zutattreeHeading", font=('bold', 16)) | |
| s.configure("zutattree.column", font=('bold', 16)) | |
| s.configure('zutattree', rowheight=40) | |
| s.configure('zutattree.row', font=('bold', 20)) | |
| s.configure('Red.TCheckbutton', background='azure2') | |
| s.configure('yellow.TCheckbutton', background='light grey') | |
| zutattree = ttk.Treeview(frame1, height=15) | |
| zutattree['columns'] = ("Speisename", "Anzahl",) | |
| zutattree.column("#0", width=0, stretch=NO) | |
| zutattree.column("Speisename", anchor=CENTER, width=120, stretch=TRUE, ) | |
| zutattree.column("Anzahl", anchor=CENTER, width=60) | |
| zutattree.heading("#0", text="", anchor=W) | |
| zutattree.heading("Speisename", text="Speisename", anchor=W) | |
| zutattree.heading("Anzahl", text="Anzahl", anchor=W) | |
| zutattree.place(x=10, y=200) | |
| ################### functions | |
| def show() : | |
| for item in zutattree.get_children() : | |
| zutattree.delete(item) | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| cur.execute('select * from Freiezutaten') | |
| mor = cur.fetchall() | |
| for izo in mor : | |
| zazo = 0 | |
| zutattree.insert(parent='', open=True, index='end', text='', | |
| values=(izo[0], izo[1])) | |
| def speichern() : | |
| name = entery1.get() | |
| anzahl = entery2.get() | |
| conn = sqlite3.connect('Einstellung.db') | |
| cur = conn.cursor() | |
| for izo in mor : | |
| print(izo) | |
| if name in izo : | |
| cur.execute('UPDATE Freiezutaten SET Anzahl = (?) where Speisename=(?)', (anzahl, name)) | |
| else : | |
| cur.execute('insert or replace into Freiezutaten (Speisename,Anzahl) values (?,?)', (name, anzahl)) | |
| conn.commit() | |
| entery1.delete(0, END) | |
| entery2.delete(0, END) | |
| show() | |
| ################### Labels,Buttons,Entterys | |
| label1 = Label(frame1, text='Speisen Mit Freizutaten', bg='#4f4e4c', font=('arial', 20, 'bold')) | |
| label1.place(x=140, y=10) | |
| label2 = Label(frame1, text='Speisename:', bg='#73675f', font=('arial', 16, 'bold')) | |
| label2.place(x=10, y=80) | |
| label3 = Label(frame1, text='Anzahl:', bg='#73675f', font=('arial', 16, 'bold')) | |
| label3.place(x=210, y=80) | |
| entery1 = AutocompleteEntry(frame1, width=15, font=('arial', 15, 'bold'), completevalues=zutatenliste, | |
| textvariable=name) | |
| entery1.place(x=5, y=120) | |
| entery2 = Entry(frame1, width=5, font=('arial', 15, 'bold')) | |
| entery2.place(x=210, y=120) | |
| buttn1 = Button(frame1, text='speichern', font=('arial', 12, 'bold'), bg='#4f4e4c', command=speichern) | |
| buttn1.place(x=320, y=120) | |
| #################### insert into Treeview | |
| show() | |
| ######################################################################################################################## | |
| mainloop() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment