Bỏ qua menu, đến nội dung
📢 Chào mừng các bạn đến với Rcom Dăm Yi blog - Kho tài liệu và giải pháp công nghệ bổ ích! Hệ thống liên tục cập nhật dữ liệu học tập mới.
Bài 20 (Phần 5) - Tích hợp Chuyên môn & Xuất Báo cáo

Thời gian dùng thử đã hết!

Hệ thống iTeach đã vượt quá 15 ngày dùng thử. Vui lòng nhập License Key.

Bài 20. Quản lý sổ đầu bài điện tử (Phần 5)
Tích hợp Lịch báo giảng & Phân công chuyên môn

Cấu trúc Cơ sở dữ liệu (Database Schema): Để hệ thống chặt chẽ, ta cần 3 Sheet tương tác với nhau:

  • Sheet `PhanCong`: (Lớp, Môn, Giáo viên). Quy định ai dạy lớp nào.
  • Sheet `LichBaoGiang`: (Tuần, Thứ, Tiết, Lớp, Môn, Bài dạy, Giáo viên). Được giáo viên nhập lên vào cuối tuần trước dựa vào PhanCong.
  • Sheet `SoDauBai`: (Ngày, Lớp, Tiết, Môn, Bài dạy, Xếp loại, Giáo viên). Khớp với thực tế giảng dạy.

1. Mã nguồn Back-end (Code.gs)

Viết các hàm truy xuất dữ liệu riêng biệt để chuẩn bị cho việc xuất file Excel từ Client.

// 1. Hàm lấy Lịch Báo Giảng theo Giáo viên
function layLichBaoGiangTheoGV(tenGV) {
  let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("LichBaoGiang");
  let data = sheet.getDataRange().getValues();
  
  // Bỏ dòng tiêu đề và lọc theo tên Giáo viên (Giả sử cột G - index 6 là tên GV)
  let ketQua = data.slice(1).filter(row => row[6] === tenGV);
  return ketQua;
}

// 2. Hàm lấy Sổ Đầu Bài theo Lớp
function laySoDauBaiTheoLop(tenLop) {
  let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SoDauBai");
  let data = sheet.getDataRange().getValues();
  
  // Bỏ dòng tiêu đề và lọc theo Lớp (Giả sử cột C - index 2 là Lớp)
  let ketQua = data.slice(1).filter(row => row[2] === tenLop);
  return ketQua;
}

2. Giao diện Tích hợp & Xuất Báo Cáo

NgàyLớpTiếtMôn & Bài dạyXLGV
TuầnThứTiếtLớpMôn & Bài dạy

Bảng Phân Công Chuyên Môn (Master Data)

Dữ liệu này là gốc rễ để giới hạn Giáo viên chỉ được lên lịch báo giảng và nhập sổ đầu bài đúng lớp, đúng môn được phân công.

Tổ Chuyên MônGiáo viênMôn dạyLớp phụ trách

💬 Gửi bình luận của bạn

📌 Danh sách đóng góp bài viết