Debug monitor transaksi + laporan
This commit is contained in:
parent
9e34811965
commit
43b50ce022
@ -16,3 +16,5 @@ id,transaksi_id,menu_id,qty,harga_satuan,subtotal_item
|
||||
15,9,9,1,30000.0,30000.0
|
||||
16,10,2,1,25000.0,25000.0
|
||||
17,10,7,1,21000.0,21000.0
|
||||
18,11,3,1,30000.0,30000.0
|
||||
19,11,4,1,25000.0,25000.0
|
||||
|
||||
|
@ -4,8 +4,8 @@ user_id,menu_id,order_count,last_ordered
|
||||
1,4,1,2025-12-13 20:12:35
|
||||
1,6,1,2025-12-13 20:12:35
|
||||
4,2,2,2025-12-14 10:03:04
|
||||
4,4,2,2025-12-13 22:22:02
|
||||
4,3,2,2025-12-13 22:22:02
|
||||
4,4,3,2025-12-14 10:35:35
|
||||
4,3,3,2025-12-14 10:35:35
|
||||
4,11,1,2025-12-14 01:44:46
|
||||
4,7,2,2025-12-14 10:03:04
|
||||
4,8,1,2025-12-14 09:50:02
|
||||
|
||||
|
56
main.py
56
main.py
@ -2477,9 +2477,12 @@ class App:
|
||||
detail_scroll = ttk.Scrollbar(text_frame, orient='vertical', command=self.waiter_detail_text.yview)
|
||||
self.waiter_detail_text.configure(yscrollcommand=detail_scroll.set)
|
||||
|
||||
self.waiter_detail_text.pack(side='left', fill='both', expand=True)
|
||||
# PACK SCROLLBAR DULUAN
|
||||
detail_scroll.pack(side='right', fill='y')
|
||||
|
||||
# BARU TEXT AREA
|
||||
self.waiter_detail_text.pack(side='left', fill='both', expand=True)
|
||||
|
||||
# TOMBOL AKSI
|
||||
action_frame = ttk.LabelFrame(parent, text="🎯 Ubah Status Pesanan", padding=12)
|
||||
action_frame.pack(fill='x', padx=10, pady=8)
|
||||
@ -2494,7 +2497,8 @@ class App:
|
||||
foreground='red',
|
||||
justify='center'
|
||||
)
|
||||
warning_label.pack(pady=10)
|
||||
|
||||
warning_label.grid(row=2, column=0, columnspan=2, pady=10)
|
||||
|
||||
# Grid 2x2 untuk 4 tombol
|
||||
btn1 = ttk.Button(
|
||||
@ -3009,12 +3013,16 @@ class App:
|
||||
main_container = ttk.Frame(parent)
|
||||
main_container.pack(fill='both', expand=True, padx=10, pady=6)
|
||||
|
||||
# Panel Kiri: Daftar Transaksi
|
||||
left = ttk.LabelFrame(main_container, text="📋 Transaksi Siap Dibayar (Status: Selesai)", padding=10)
|
||||
# Panel Kiri: Daftar & Detail Transaksi (Menggunakan PanedWindow)
|
||||
left = ttk.LabelFrame(main_container, text="📋 Daftar & Detail Transaksi", padding=5)
|
||||
left.pack(side='left', fill='both', expand=True, padx=(0, 5))
|
||||
|
||||
tree_frame = ttk.Frame(left)
|
||||
tree_frame.pack(fill='both', expand=True)
|
||||
# 1. Buat PanedWindow (Splitter Vertical)
|
||||
paned = ttk.PanedWindow(left, orient='vertical')
|
||||
paned.pack(fill='both', expand=True)
|
||||
|
||||
# --- BAGIAN ATAS: TREEVIEW (DAFTAR TRANSAKSI) ---
|
||||
tree_frame = ttk.Frame(paned)
|
||||
|
||||
tree_scroll = ttk.Scrollbar(tree_frame, orient='vertical')
|
||||
tree_scroll.pack(side='right', fill='y')
|
||||
@ -3024,7 +3032,7 @@ class App:
|
||||
tree_frame,
|
||||
columns=cols,
|
||||
show='headings',
|
||||
height=10,
|
||||
height=8,
|
||||
yscrollcommand=tree_scroll.set
|
||||
)
|
||||
|
||||
@ -3045,18 +3053,31 @@ class App:
|
||||
self.payment_tree.pack(side='left', fill='both', expand=True)
|
||||
self.payment_tree.bind("<<TreeviewSelect>>", self.on_payment_select)
|
||||
|
||||
# Detail transaksi
|
||||
detail_frame = ttk.Frame(left)
|
||||
detail_frame.pack(fill='x', pady=(10, 0))
|
||||
# Tambahkan frame tree ke panel atas (bobot besar)
|
||||
paned.add(tree_frame, weight=3)
|
||||
|
||||
ttk.Label(detail_frame, text="Detail Transaksi:", font=("Arial", 9, "bold")).pack(anchor='w')
|
||||
# --- BAGIAN BAWAH: DETAIL TRANSAKSI ---
|
||||
detail_frame = ttk.Frame(paned)
|
||||
|
||||
self.payment_detail_text = tk.Text(detail_frame, height=6, font=("Courier New", 8), wrap='word')
|
||||
detail_scroll = ttk.Scrollbar(detail_frame, orient='vertical', command=self.payment_detail_text.yview)
|
||||
# Label instruksi kecil
|
||||
ttk.Label(detail_frame, text="Detail Transaksi (Geser batas atas untuk memperbesar):", font=("Arial", 9, "bold")).pack(anchor='w', pady=(5,0))
|
||||
|
||||
# Area Text & Scrollbar
|
||||
text_container = ttk.Frame(detail_frame)
|
||||
text_container.pack(fill='both', expand=True)
|
||||
|
||||
# Scrollbar WAJIB dipack duluan sebelum Text
|
||||
detail_scroll = ttk.Scrollbar(text_container, orient='vertical')
|
||||
detail_scroll.pack(side='right', fill='y')
|
||||
|
||||
self.payment_detail_text = tk.Text(text_container, height=8, font=("Courier New", 9), wrap='word')
|
||||
self.payment_detail_text.configure(yscrollcommand=detail_scroll.set)
|
||||
detail_scroll.config(command=self.payment_detail_text.yview)
|
||||
|
||||
self.payment_detail_text.pack(side='left', fill='both', expand=True)
|
||||
detail_scroll.pack(side='right', fill='y')
|
||||
|
||||
# Tambahkan frame detail ke panel bawah (bobot kecil)
|
||||
paned.add(detail_frame, weight=1)
|
||||
|
||||
# ✅ JIKA READ-ONLY, HANYA TAMPILKAN INFO, TANPA FORM PEMBAYARAN
|
||||
if readonly:
|
||||
@ -3862,9 +3883,10 @@ class App:
|
||||
tid, uid, meja, total, status, promo_code, subtotal, item_disc, promo_disc, tanggal = transaksi_data
|
||||
detail_items = detail_transaksi_list(transaksi_id)
|
||||
|
||||
# Update label
|
||||
self.selected_transaksi_label.config(text=f"Transaksi #{tid} - Meja {meja}", foreground='blue')
|
||||
self.selected_total_label.config(text=f"Total: Rp {total:,.0f}")
|
||||
# Update label (HANYA JIKA ADA / MODE KASIR)
|
||||
if hasattr(self, 'selected_transaksi_label'):
|
||||
self.selected_transaksi_label.config(text=f"Transaksi #{tid} - Meja {meja}", foreground='blue')
|
||||
self.selected_total_label.config(text=f"Total: Rp {total:,.0f}")
|
||||
|
||||
# Format detail
|
||||
detail_text = f"═══════════════════════════════════════════════\n"
|
||||
|
||||
4
menu.csv
4
menu.csv
@ -1,8 +1,8 @@
|
||||
id,nama,kategori,harga,stok,foto,tersedia,item_discount_pct
|
||||
1,Americano,Minuman,20000.0,7,img/americano.jpg,1,0.0
|
||||
2,Latte,Minuman,25000.0,4,img/latte.jpg,1,10.0
|
||||
3,Banana Cake,Dessert,30000.0,9,img/banana_cake.jpg,1,4.0
|
||||
4,Nasi Goreng,Makanan,25000.0,10,img/nasi_goreng.jpg,1,0.0
|
||||
3,Banana Cake,Dessert,30000.0,8,img/banana_cake.jpg,1,4.0
|
||||
4,Nasi Goreng,Makanan,25000.0,9,img/nasi_goreng.jpg,1,0.0
|
||||
5,Nasi Kuning,Makanan,18000.0,7,img/Nasi-Kuning.jpg,1,5.0
|
||||
6,Strawberry Milkshake,Minuman,19000.0,5,img/strawberry_milkshake.jpg,1,0.0
|
||||
7,Coconut Matcha,Minuman,21000.0,12,img/coconut_matcha.jpg,1,5.0
|
||||
|
||||
|
@ -3,3 +3,4 @@ id,transaksi_id,metode_pembayaran,jumlah_bayar,status_pembayaran,tanggal_bayar,s
|
||||
2,8,cash,50000.0,sukses,2025-12-14 01:46:20,
|
||||
3,9,qris,63855.0,sukses,2025-12-14 09:52:46,
|
||||
4,10,cash,25000.0,sukses,2025-12-14 10:05:01,
|
||||
5,11,ewallet-gopay,48420.0,sukses,2025-12-14 10:52:50,
|
||||
|
||||
|
28
struk/STR-11-20251214_105250.txt
Normal file
28
struk/STR-11-20251214_105250.txt
Normal file
@ -0,0 +1,28 @@
|
||||
═════════════════════════════════════════
|
||||
CAFE TOTORO MANIA
|
||||
Jl. Raya Kampus No. 123, Surabaya
|
||||
Telp: 031-123456
|
||||
═════════════════════════════════════════
|
||||
|
||||
No. Struk : STR-11-20251214
|
||||
Tanggal : 14/12/2025 10:35
|
||||
Meja : 1
|
||||
Kasir : kasir
|
||||
Pembayaran : EWALLET-GOPAY
|
||||
─────────────────────────────────────────
|
||||
ITEM PESANAN:
|
||||
─────────────────────────────────────────
|
||||
Banana Cake
|
||||
1 x Rp 30,000 Rp 30,000
|
||||
Nasi Goreng
|
||||
1 x Rp 25,000 Rp 25,000
|
||||
─────────────────────────────────────────
|
||||
Subtotal : Rp 55,000
|
||||
Diskon Item : Rp 1,200
|
||||
Diskon Promo : Rp 5,380
|
||||
─────────────────────────────────────────
|
||||
TOTAL BAYAR : Rp 48,420
|
||||
═════════════════════════════════════════
|
||||
TERIMA KASIH ATAS KUNJUNGAN ANDA
|
||||
SAMPAI JUMPA LAGI!
|
||||
═════════════════════════════════════════
|
||||
@ -9,3 +9,4 @@ id,user_id,nomor_meja,total,status,promo_code,subtotal,item_discount,promo_disco
|
||||
8,4,1,17280.0,dibayar,,18000.0,720.0,0.0,2025-12-14 01:44:46
|
||||
9,4,3,63855.0,dibayar,OPENING,76000.0,5050.0,7095.0,2025-12-14 09:50:02
|
||||
10,4,5,23347.5,dibayar,MERDEKA,46000.0,3550.0,19102.5,2025-12-14 10:03:04
|
||||
11,4,1,48420.0,dibayar,OPENING,55000.0,1200.0,5380.0,2025-12-14 10:35:35
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user