#!/usr/bin/env python3 """Update Google Sheet for Banana Cake Cost Analysis""" import json import subprocess import sys SHEET_ID = "1UvQgzLxSVu5dNl_7Z73uTlmpnIk3B0q_isYZHQkjA-c" API_SCRIPT = "/root/.hermes/skills/productivity/google-workspace/scripts/google_api.py" def update_sheet(spreadsheet_id, sheet_name, start_range, values): """Cập nhật một range của Google Sheet""" payload = json.dumps(values, ensure_ascii=False) cmd = f'python3 "{API_SCRIPT}" sheets update {spreadsheet_id} "{sheet_name}!{start_range}" --values "{payload}"' result = subprocess.run(cmd, shell=True, capture_output=True, text=True) if result.returncode == 0: return True else: print(f"Lỗi: {result.stderr}", file=sys.stderr) return False # Dữ liệu Tab 2: Tính Giá Thành tab2_data = [ ["Hạng mục", "Chi tiết", "Chi phí / mẻ (VNĐ)", "Ghi chú"], ["Tổng Raw Cost Nguyên Liệu", "Tổng từ tab NGUYÊN LIỆU", "=SUM('Nguyên Liệu'!E2:E13)", "Tự động lấy tổng từ tab 1"], ["Bao bì & Tem nhãn", "Khay giấy nướng + Túi kính + Tem", 12000, "Tính cho 8 bánh/mẻ (1.500đ/bộ)"], ["Điện nướng bánh", "Lò nướng 1500W hoạt động trong 45 phút", 3000, "Ước tính tiêu thụ điện"], ["Hao hụt & Dọn dẹp", "Khấu hao dụng cụ, nước rửa", 1500, "5% trên Raw Cost nguyên liệu"], ["TỔNG CHI PHÍ 1 MẺ", "Raw Cost + Bao bì + Vận hành", "=SUM(C2:C5)", "Giá thành sản xuất thực tế của 1 mẻ"], ["Số lượng bánh thành phẩm / mẻ", "Khuôn bánh chuối nhỏ", 8, "Ước tính chia được 8 ổ nhỏ hoặc 8 slice"], ["GIÁ THÀNH ĐƠN VỊ (COST/BÁNH)", "Chi phí sản xuất cho 1 ổ bánh", "=C6/C7", "Đây là giá thành tối thiểu chưa có công và lời"] ] # Dữ liệu Tab 3: Đề Xuất Giá Bán tab3_data = [ ["MỨC MARKUP", "Công thức tính", "% Markup trên cost", "Giá bán / bánh (VNĐ)", "Lợi nhuận / bánh (VNĐ)"], ["Markup Thấp", "=C2*2", "50%", "=ROUND(C2*1.5, -2)", "=D2-C2"], ["Markup Trung Bình", "=C2*3", "100%", "=ROUND(C2*2, -2)", "=D3-C3"], ["Markup Cao", "=C2*4", "150%", "=ROUND(C2*2.5, -2)", "=D4-C4"], ["Giá bán thị trường tham khảo", "", "", "", ""], ["Bánh chuối lò than truyền thống", "", "", "", "8.000 - 15.000"], ["Bánh chuối cao cấp tại cafe/tiệm bánh", "", "", "", "20.000 - 35.000"], ["Bánh chuối online đóng hộp đẹp", "", "", "", "15.000 - 25.000"], ["", "", "", "", ""], ["KHUYẾN NGHỊ GIÁ BÁN", "", "", "", ""], ["Giá bán đề xuất", "(Trung bình giữa Markup TB và tham khảo online)", "", "15.000 - 25.000", "Tùy vào bao bì, vị trí và khách hàng"] ] print("=" * 50) print("Cập nhật Google Sheet: Bánh Chuối - Phân Tích Chi Phí") print("=" * 50) # Cập nhật Tab 2: Tính Giá Thành print("\n[Cập nhật] Tab 'Tính Giá Thành'...") if update_sheet(SHEET_ID, "Tính Giá Thành", "A1:D8", tab2_data): print("✓ Thành công!") else: print("✗ Lỗi") # Cập nhật Tab 3: Đề Xuất Giá Bán print("\n[Cập nhật] Tab 'Đề Xuất Giá Bán'...") if update_sheet(SHEET_ID, "Đề Xuất Giá Bán", "A1:I10", tab3_data): print("✓ Thành công!") else: print("✗ Lỗi") print("\n" + "=" * 50) print("Hoàn tất! Vui lòng xem Google Sheet để kiểm tra kết quả.") print(f"URL: https://docs.google.com/spreadsheets/d/{SHEET_ID}/edit")