Debug monitor transaksi + laporan

This commit is contained in:
Bluwww 2025-12-14 10:54:11 +07:00
parent 9e34811965
commit 43b50ce022
7 changed files with 75 additions and 21 deletions

View File

@ -16,3 +16,5 @@ id,transaksi_id,menu_id,qty,harga_satuan,subtotal_item
15,9,9,1,30000.0,30000.0 15,9,9,1,30000.0,30000.0
16,10,2,1,25000.0,25000.0 16,10,2,1,25000.0,25000.0
17,10,7,1,21000.0,21000.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

1 id transaksi_id menu_id qty harga_satuan subtotal_item
16 15 9 9 1 30000.0 30000.0
17 16 10 2 1 25000.0 25000.0
18 17 10 7 1 21000.0 21000.0
19 18 11 3 1 30000.0 30000.0
20 19 11 4 1 25000.0 25000.0

View File

@ -4,8 +4,8 @@ user_id,menu_id,order_count,last_ordered
1,4,1,2025-12-13 20:12:35 1,4,1,2025-12-13 20:12:35
1,6,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,2,2,2025-12-14 10:03:04
4,4,2,2025-12-13 22:22:02 4,4,3,2025-12-14 10:35:35
4,3,2,2025-12-13 22:22:02 4,3,3,2025-12-14 10:35:35
4,11,1,2025-12-14 01:44:46 4,11,1,2025-12-14 01:44:46
4,7,2,2025-12-14 10:03:04 4,7,2,2025-12-14 10:03:04
4,8,1,2025-12-14 09:50:02 4,8,1,2025-12-14 09:50:02

1 user_id menu_id order_count last_ordered
4 1 4 1 2025-12-13 20:12:35
5 1 6 1 2025-12-13 20:12:35
6 4 2 2 2025-12-14 10:03:04
7 4 4 2 3 2025-12-13 22:22:02 2025-12-14 10:35:35
8 4 3 2 3 2025-12-13 22:22:02 2025-12-14 10:35:35
9 4 11 1 2025-12-14 01:44:46
10 4 7 2 2025-12-14 10:03:04
11 4 8 1 2025-12-14 09:50:02

56
main.py
View File

@ -2477,9 +2477,12 @@ class App:
detail_scroll = ttk.Scrollbar(text_frame, orient='vertical', command=self.waiter_detail_text.yview) 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.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') detail_scroll.pack(side='right', fill='y')
# BARU TEXT AREA
self.waiter_detail_text.pack(side='left', fill='both', expand=True)
# TOMBOL AKSI # TOMBOL AKSI
action_frame = ttk.LabelFrame(parent, text="🎯 Ubah Status Pesanan", padding=12) action_frame = ttk.LabelFrame(parent, text="🎯 Ubah Status Pesanan", padding=12)
action_frame.pack(fill='x', padx=10, pady=8) action_frame.pack(fill='x', padx=10, pady=8)
@ -2494,7 +2497,8 @@ class App:
foreground='red', foreground='red',
justify='center' justify='center'
) )
warning_label.pack(pady=10)
warning_label.grid(row=2, column=0, columnspan=2, pady=10)
# Grid 2x2 untuk 4 tombol # Grid 2x2 untuk 4 tombol
btn1 = ttk.Button( btn1 = ttk.Button(
@ -3009,12 +3013,16 @@ class App:
main_container = ttk.Frame(parent) main_container = ttk.Frame(parent)
main_container.pack(fill='both', expand=True, padx=10, pady=6) main_container.pack(fill='both', expand=True, padx=10, pady=6)
# Panel Kiri: Daftar Transaksi # Panel Kiri: Daftar & Detail Transaksi (Menggunakan PanedWindow)
left = ttk.LabelFrame(main_container, text="📋 Transaksi Siap Dibayar (Status: Selesai)", padding=10) left = ttk.LabelFrame(main_container, text="📋 Daftar & Detail Transaksi", padding=5)
left.pack(side='left', fill='both', expand=True, padx=(0, 5)) left.pack(side='left', fill='both', expand=True, padx=(0, 5))
tree_frame = ttk.Frame(left) # 1. Buat PanedWindow (Splitter Vertical)
tree_frame.pack(fill='both', expand=True) 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 = ttk.Scrollbar(tree_frame, orient='vertical')
tree_scroll.pack(side='right', fill='y') tree_scroll.pack(side='right', fill='y')
@ -3024,7 +3032,7 @@ class App:
tree_frame, tree_frame,
columns=cols, columns=cols,
show='headings', show='headings',
height=10, height=8,
yscrollcommand=tree_scroll.set yscrollcommand=tree_scroll.set
) )
@ -3045,18 +3053,31 @@ class App:
self.payment_tree.pack(side='left', fill='both', expand=True) self.payment_tree.pack(side='left', fill='both', expand=True)
self.payment_tree.bind("<<TreeviewSelect>>", self.on_payment_select) self.payment_tree.bind("<<TreeviewSelect>>", self.on_payment_select)
# Detail transaksi # Tambahkan frame tree ke panel atas (bobot besar)
detail_frame = ttk.Frame(left) paned.add(tree_frame, weight=3)
detail_frame.pack(fill='x', pady=(10, 0))
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') # Label instruksi kecil
detail_scroll = ttk.Scrollbar(detail_frame, orient='vertical', command=self.payment_detail_text.yview) 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) 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) 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 # ✅ JIKA READ-ONLY, HANYA TAMPILKAN INFO, TANPA FORM PEMBAYARAN
if readonly: if readonly:
@ -3862,9 +3883,10 @@ class App:
tid, uid, meja, total, status, promo_code, subtotal, item_disc, promo_disc, tanggal = transaksi_data tid, uid, meja, total, status, promo_code, subtotal, item_disc, promo_disc, tanggal = transaksi_data
detail_items = detail_transaksi_list(transaksi_id) detail_items = detail_transaksi_list(transaksi_id)
# Update label # Update label (HANYA JIKA ADA / MODE KASIR)
self.selected_transaksi_label.config(text=f"Transaksi #{tid} - Meja {meja}", foreground='blue') if hasattr(self, 'selected_transaksi_label'):
self.selected_total_label.config(text=f"Total: Rp {total:,.0f}") 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 # Format detail
detail_text = f"═══════════════════════════════════════════════\n" detail_text = f"═══════════════════════════════════════════════\n"

View File

@ -1,8 +1,8 @@
id,nama,kategori,harga,stok,foto,tersedia,item_discount_pct id,nama,kategori,harga,stok,foto,tersedia,item_discount_pct
1,Americano,Minuman,20000.0,7,img/americano.jpg,1,0.0 1,Americano,Minuman,20000.0,7,img/americano.jpg,1,0.0
2,Latte,Minuman,25000.0,4,img/latte.jpg,1,10.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 3,Banana Cake,Dessert,30000.0,8,img/banana_cake.jpg,1,4.0
4,Nasi Goreng,Makanan,25000.0,10,img/nasi_goreng.jpg,1,0.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 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 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 7,Coconut Matcha,Minuman,21000.0,12,img/coconut_matcha.jpg,1,5.0

1 id nama kategori harga stok foto tersedia item_discount_pct
2 1 Americano Minuman 20000.0 7 img/americano.jpg 1 0.0
3 2 Latte Minuman 25000.0 4 img/latte.jpg 1 10.0
4 3 Banana Cake Dessert 30000.0 9 8 img/banana_cake.jpg 1 4.0
5 4 Nasi Goreng Makanan 25000.0 10 9 img/nasi_goreng.jpg 1 0.0
6 5 Nasi Kuning Makanan 18000.0 7 img/Nasi-Kuning.jpg 1 5.0
7 6 Strawberry Milkshake Minuman 19000.0 5 img/strawberry_milkshake.jpg 1 0.0
8 7 Coconut Matcha Minuman 21000.0 12 img/coconut_matcha.jpg 1 5.0

View File

@ -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, 2,8,cash,50000.0,sukses,2025-12-14 01:46:20,
3,9,qris,63855.0,sukses,2025-12-14 09:52:46, 3,9,qris,63855.0,sukses,2025-12-14 09:52:46,
4,10,cash,25000.0,sukses,2025-12-14 10:05:01, 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,

1 id transaksi_id metode_pembayaran jumlah_bayar status_pembayaran tanggal_bayar struk
3 2 8 cash 50000.0 sukses 2025-12-14 01:46:20
4 3 9 qris 63855.0 sukses 2025-12-14 09:52:46
5 4 10 cash 25000.0 sukses 2025-12-14 10:05:01
6 5 11 ewallet-gopay 48420.0 sukses 2025-12-14 10:52:50

View 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!
═════════════════════════════════════════

View File

@ -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 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 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 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

1 id user_id nomor_meja total status promo_code subtotal item_discount promo_discount tanggal
9 8 4 1 17280.0 dibayar 18000.0 720.0 0.0 2025-12-14 01:44:46
10 9 4 3 63855.0 dibayar OPENING 76000.0 5050.0 7095.0 2025-12-14 09:50:02
11 10 4 5 23347.5 dibayar MERDEKA 46000.0 3550.0 19102.5 2025-12-14 10:03:04
12 11 4 1 48420.0 dibayar OPENING 55000.0 1200.0 5380.0 2025-12-14 10:35:35