Update
This commit is contained in:
parent
4093d2da1a
commit
e2573c2197
76
main.py
76
main.py
@ -6,3 +6,79 @@ from PIL import Image, ImageTk
|
||||
|
||||
DB_PATH = "cafe_person1.db"
|
||||
IMG_PREVIEW_SIZE = (120, 80)
|
||||
|
||||
|
||||
|
||||
# Baguan Database (ati ati)
|
||||
|
||||
|
||||
def init_db():
|
||||
conn = sqlite3.connect(DB_PATH)
|
||||
c = conn.cursor()
|
||||
c.execute("""
|
||||
CREATE TABLE IF NOT EXISTS users (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
username TEXT UNIQUE,
|
||||
password TEXT,
|
||||
role TEXT
|
||||
)
|
||||
""")
|
||||
c.execute("""
|
||||
CREATE TABLE IF NOT EXISTS menu (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
nama TEXT NOT NULL,
|
||||
kategori TEXT,
|
||||
harga REAL NOT NULL,
|
||||
stok INTEGER DEFAULT 0,
|
||||
foto TEXT,
|
||||
tersedia INTEGER DEFAULT 1,
|
||||
item_discount_pct REAL DEFAULT 0 -- per item discount percent (like 10 for 10%)
|
||||
)
|
||||
""")
|
||||
c.execute("""
|
||||
CREATE TABLE IF NOT EXISTS promo (
|
||||
code TEXT PRIMARY KEY,
|
||||
type TEXT CHECK(type IN ('percent','fixed')),
|
||||
value REAL,
|
||||
min_total REAL DEFAULT 0
|
||||
)
|
||||
""")
|
||||
conn.commit()
|
||||
seed_defaults(conn)
|
||||
return conn
|
||||
|
||||
def seed_defaults(conn):
|
||||
c = conn.cursor()
|
||||
defaults = [
|
||||
('admin','admin123','admin'),
|
||||
('kasir1','kasir123','kasir'),
|
||||
('waiter1','waiter123','waiter'),
|
||||
('user1','user123','pembeli'),
|
||||
('owner','owner123','pemilik'),
|
||||
]
|
||||
for u,p,r in defaults:
|
||||
try:
|
||||
c.execute("INSERT INTO users (username,password,role) VALUES (?,?,?)", (u,p,r))
|
||||
except sqlite3.IntegrityError:
|
||||
pass
|
||||
sample = [
|
||||
('Americano','Minuman',20000,10,None,1,0),
|
||||
('Latte','Minuman',25000,5,None,1,10),
|
||||
('Banana Cake','Dessert',30000,2,None,1,0),
|
||||
('Nasi Goreng','Makanan',35000,0,None,0,0),
|
||||
]
|
||||
for name,kategori,harga,stok,foto,tersedia,disc in sample:
|
||||
c.execute("SELECT id FROM menu WHERE nama=?", (name,))
|
||||
if c.fetchone() is None:
|
||||
c.execute("""INSERT INTO menu (nama,kategori,harga,stok,foto,tersedia,item_discount_pct)
|
||||
VALUES (?,?,?,?,?,?,?)""", (name,kategori,harga,stok,foto,tersedia,disc))
|
||||
promos = [
|
||||
('CAFE10','percent',10,0),
|
||||
('HEMAT5000','fixed',5000,20000),
|
||||
]
|
||||
for code,ptype,val,min_total in promos:
|
||||
try:
|
||||
c.execute("INSERT INTO promo (code,type,value,min_total) VALUES (?,?,?,?)", (code,ptype,val,min_total))
|
||||
except sqlite3.IntegrityError:
|
||||
pass
|
||||
conn.commit()
|
||||
Loading…
x
Reference in New Issue
Block a user