Buổi cần bù sinh ra từ đâu?
Khi thiết kế phần lịch của CenStu, tôi tách riêng hai việc mà trung tâm hay gộp làm một: huỷ một buổi, và xếp một buổi thay thế. Buổi học thường không phải thứ nhập tay — chúng được sinh ra từ lịch tuần của lớp. Vì vậy khi nghỉ lễ hay giáo viên ốm, bạn không xoá buổi đó đi mà huỷ nó: mở buổi trên lịch, bấm huỷ, ghi lý do. Huỷ theo từng buổi, nên nghỉ Tết mà có năm lớp học hôm đó thì huỷ năm buổi; lịch của các tuần sau không đổi.
Hộp thoại huỷ có ô tích “Cần bù buổi này”, mặc định đã tích. Ô đó không tự tạo ra buổi bù, nhưng cũng không phải ghi chú suông. Với lớp theo khoá học, nơi trung tâm cam kết một số buổi cố định, tích ô là giữ nguyên cam kết: lớp hiện cảnh báo còn bao nhiêu buổi cần bù, và thời hạn khoá tự lùi ra để dạy đủ. Bỏ tích là hạ cam kết đi một buổi. Với các kiểu lớp còn lại, ô đó chỉ là dấu nhắc trên lịch, vì học phí của chúng không tính theo một số buổi cam kết.
Tôi không bắt chọn ngày bù ngay lúc huỷ vì hai việc này hiếm khi xảy ra cùng lúc. Nghỉ lễ thì huỷ được từ đầu tháng, còn ngày bù phải chờ hỏi được lịch của giáo viên và của phụ huynh. Nếu phần mềm đòi một ngày bù ngay lúc huỷ, người ta sẽ chọn bừa một ngày cho xong, rồi lại đi sửa.
Xếp buổi bù: ngày, giờ và kíp dạy
Buổi bù tạo ở trang của lớp: mở lớp, sang tab Lịch học, bấm vào một ô ngày còn trống. Form hỏi ngày, giờ bắt đầu, giờ kết thúc, giáo viên dạy, trợ giảng, học phí của buổi đó và một ô ghi chú.
Kíp dạy được điền sẵn theo nhân sự mặc định của lớp tại chính ngày của buổi bù, không phải của hôm nay. Chi tiết nhỏ nhưng có lý do: buổi bù thường bù cho một buổi đã qua, và nếu lớp vừa đổi giáo viên giữa tháng thì “giáo viên của lớp” hôm nay và ngày bù có thể là hai người khác nhau. Đổi ngày trong form thì kíp gợi ý đổi theo, và nút lưu tạm khoá trong lúc hệ thống đang tra, để không ghi nhầm người của ngày cũ vào buổi mới.
Buổi bù luôn chốt kíp ngay từ lúc tạo, vì nó không nằm trong lịch tuần nên không có “mặc định” nào để rơi về. Sau khi tạo, bạn vẫn sửa được người dạy, học phí và ghi chú; còn ngày và giờ thì khoá. Điểm danh của buổi bù được định vị theo chính ngày giờ đó, nên cho đổi ngày giờ là làm lạc những dòng điểm danh đã ghi. Xếp nhầm ngày thì xoá buổi bù đó ở trang lớp rồi tạo buổi mới; nếu buổi cũ đã được điểm danh thì phải điểm danh lại ở buổi mới, vì điểm danh không đi theo sang.
Về tiền: với lớp tính học phí theo buổi, để trống ô học phí thì buổi bù tính như buổi thường, theo giá lớp tại ngày đó; nhập 0 là bù miễn phí. Lớp theo khoá học đã chốt học phí trọn khoá lúc ghi danh, còn lớp bán trú thu theo tháng, nên ở hai kiểu lớp đó buổi bù không mang giá riêng. Vì sao luật mặc định lại là tính tiền, tôi đã giải thích ở bài cách tính học phí theo buổi.
Thế nào thì CenStu coi là trùng lịch?
Hai buổi bị coi là trùng khi đủ cả ba điều kiện: cùng một ngày, khung giờ giao nhau, và có chung ít nhất một người — giáo viên chính hay trợ giảng đều tính. Khi đó lịch tổng tô viền hổ phách quanh cả hai buổi, kèm dấu cảnh báo; mở buổi ra thì cảnh báo gọi đúng tên người bị trùng. Vài ví dụ để thấy ranh giới:
- Cô Lan dạy lớp Toán từ 17:00 đến 18:30 và lớp Lý từ 18:00 đến 19:30 cùng ngày: trùng, vì nửa tiếng cuối cô phải ở hai nơi.
- Cô Lan dạy lớp Toán từ 17:00 đến 18:30 và lớp Lý từ 18:30 đến 20:00: không trùng — lớp này tan đúng lúc lớp kia vào.
- Lớp Toán do cô Lan dạy, lớp Lý cùng giờ do thầy Minh dạy nhưng cô Lan đi trợ giảng: trùng, vì cô vẫn là một người ở hai lớp.
- Hai lớp cùng giờ, không chung người nào: không trùng, kể cả khi hai lớp dùng chung một phòng.
Tôi chọn cách tính khoảng giờ “tính đầu, không tính cuối”: buổi 17:00–18:30 chiếm từ 17:00 cho tới trước 18:30. Nếu tính cả hai đầu, mọi giáo viên dạy hai ca liền nhau — chuyện bình thường nhất ở trung tâm dạy thêm — sẽ bị báo đỏ mỗi ngày. Một cảnh báo hiện ra ở những chỗ không có gì sai sẽ dạy người xếp lịch lướt qua mọi cảnh báo, kể cả cái đúng.
Hệ quả cần biết: phần mềm không tính thời gian nghỉ hay di chuyển giữa hai ca. Nếu giáo viên cần mười lăm phút giữa hai lớp thì hãy xếp giờ chừa khoảng đó ra — hai ca kề sát nhau vẫn là lịch hợp lệ trong mắt phần mềm.
Vì sao tính cả trợ giảng?
Khi buổi học chưa có trợ giảng, trùng lịch chỉ là chuyện của giáo viên chính. Từ lúc mỗi buổi có thể có thêm trợ giảng, tôi mở rộng phép so sang mọi người trong kíp, và nó bắt đủ ba dạng: giáo viên với giáo viên, giáo viên với trợ giảng, trợ giảng với trợ giảng.
Có hai lý do. Thứ nhất, trợ giảng cũng không thể đứng hai lớp cùng lúc. Thứ hai, khi trung tâm dùng phần tính lương, công của trợ giảng cũng đọc từ lịch — một buổi gán nhầm người là trả tiền cho một buổi người đó không thể có mặt. Bắt nó ngay trên lịch rẻ hơn nhiều so với phát hiện lúc đối soát lương.
Cảnh báo gọi tên người chứ không chỉ báo “có trùng”. Một buổi có giáo viên và hai trợ giảng mà chỉ hiện một dấu đỏ thì người xếp lịch phải tự dò từng người để biết cần gỡ ai. Buổi đã huỷ thì không tham gia phép so: nó không còn ai đứng lớp, và để nó vào là cả rừng cảnh báo giả.
Cùng lý do đó, bộ lọc theo nhân sự ở màn Lịch dạy khớp cả hai vai: lọc theo tên một người là ra cả những buổi người đó đi trợ giảng, và cả những buổi của họ đã bị huỷ — thứ mà người dạy cần thấy nhất.
Vì sao chỉ cảnh báo mà không chặn lưu?
Nói thẳng trước: với lớp thường, cảnh báo trùng hiện trên lịch tổng sau khi lịch đã được lưu. Lúc tạo lớp, sửa lịch tuần hay thêm buổi bù, form chưa báo trước. Riêng lịch từng môn của lớp bán trú thì báo ngay lúc soạn, kèm tên lớp đang bị trùng.
Còn việc không chặn là chủ ý. Xếp lịch hiếm khi xong trong một thao tác: người ta thường thêm buổi bù trước, rồi mới đổi người dạy thay, hoặc dời một lớp khác đi chỗ khác. Nếu phần mềm chặn lưu ở bước giữa, người dùng bị buộc làm theo đúng thứ tự mà phần mềm nghĩ ra, và mỗi lần thứ tự đó khác thực tế là một lần phải xoá đi làm lại. Cho lưu, rồi để viền hổ phách nằm đó cho tới khi được gỡ, là cách để lịch phản ánh đúng tình trạng thật — kể cả khi tình trạng thật đang có một chỗ chưa ổn.
Quy trình xếp một buổi bù không trùng
Từ những luật trên, đây là trình tự tôi khuyên dùng khi cần bù một buổi đã huỷ:
- Huỷ buổi cần nghỉ trên lịch, giữ ô “Cần bù buổi này” nếu buổi đó phải dạy lại.
- Mở màn Lịch dạy, chọn xem theo tuần và lọc theo người sẽ dạy buổi bù để thấy mọi ca của họ, kể cả ca đi trợ giảng. Chọn một khoảng trống.
- Làm tương tự với từng trợ giảng của buổi bù.
- Vào trang lớp, tab Lịch học, bấm vào ô ngày đã chọn và tạo buổi bù; kiểm lại kíp dạy đã được điền sẵn.
- Quay lại lịch tổng: nếu buổi bù mang viền hổ phách, mở ra xem tên người bị trùng, rồi vào trang lớp, tab Lịch học để gỡ — đổi người dạy của buổi bù, hoặc xoá nó và tạo lại ở giờ khác. Ở lịch tổng, buổi bù chỉ xem được.
Bước cuối là bước hay bị bỏ qua nhất, và cũng là bước duy nhất phần mềm giúp được bạn với lớp thường: cảnh báo có sẵn, nhưng nó chỉ có ích nếu có người nhìn lịch tổng sau khi xếp.
Dạy thay và buổi bù được tính công cho ai?
Người dạy của một buổi là kíp đã chốt riêng cho buổi đó nếu có, còn không thì là nhân sự mặc định của lớp tại đúng ngày đó. Cô giáo nghỉ, một thầy khác dạy thay một buổi: bạn chốt kíp riêng cho đúng buổi ấy, trên lịch buổi mang nhãn dạy thay, và các buổi khác của lớp vẫn giữ người cũ.
Theo bảng giá hiện hành, phần tính lương nằm ở gói Business. Khi trung tâm dùng nó, công theo buổi tính cho người đứng trong kíp của buổi, không phải cho giáo viên phụ trách lớp: dạy thay thì người dạy thay nhận công, buổi bù thì người dạy buổi bù nhận công. Chỉ buổi đã điểm danh mới được tính công, và buổi đã huỷ không tính. Đơn giá lấy theo đúng ngày dạy, nên buổi bù rơi sang tháng sau vẫn tính theo đơn giá có hiệu lực vào ngày dạy bù.
Đổi người dạy ở phần nhân sự của lớp thì áp từ hôm nay và không viết lại quá khứ: buổi đã dạy vẫn ghi đúng người đã đứng lớp hôm đó. Khai sai người cho một giai đoạn đã qua thì dùng màn sửa lịch sử phân công riêng. Trước khi chốt kỳ lương, màn Chấm công có vùng “Công theo buổi dạy” để soi từng người theo từng ngày — một buổi gán nhầm người hiện ra ở đó, và sửa kíp của buổi ngay tại chỗ được.
Những gì CenStu chưa kiểm
Phép so trùng lịch chỉ nhìn vào người dạy. Có vài thứ nó không nhìn, và trung tâm nên biết để tự để mắt:
- Phòng học: CenStu không quản lý phòng học, nên không có cảnh báo trùng phòng. Hai lớp khác giáo viên xếp vào cùng một phòng, cùng giờ thì bạn vẫn phải tự để ý.
- Lịch của học sinh: một em học hai lớp mà buổi bù rơi đúng giờ lớp kia thì phần mềm không báo.
- Báo trước lúc lưu: với lớp thường, cảnh báo chỉ hiện trên lịch tổng sau khi đã lưu.
- Nghỉ lễ cho cả trung tâm: chưa có một nút huỷ mọi buổi của một ngày; huỷ theo từng buổi.
Câu hỏi thường gặp
Hai ca liền nhau của cùng một giáo viên có bị báo trùng không?
Không. Buổi 17:00–18:30 và buổi 18:30–20:00 kề sát nhau nên không tính là trùng. Chỉ khi khung giờ thật sự giao nhau, dù chỉ vài phút, lịch mới báo.
Xếp trùng lịch thì hệ thống có chặn không?
Không chặn. Lịch vẫn lưu được, và buổi bị trùng mang viền hổ phách trên lịch tổng, mở ra thấy tên người bị trùng. Với lớp thường, cảnh báo hiện sau khi lưu chứ chưa báo trước trong form.
CenStu có báo trùng phòng học không?
Không. CenStu không quản lý phòng học; hệ thống chỉ báo trùng người — một giáo viên hay trợ giảng có hai buổi giao giờ nhau.
Dạy thay một buổi thì công tính cho ai?
Cho người dạy thay, khi buổi đó đã được điểm danh. Công theo buổi đọc từ kíp của từng buổi, không từ giáo viên phụ trách lớp. Theo bảng giá hiện hành, phần tính lương ở gói Business.
Người viết
Ngô Hải Đăng
Nhà sáng lập CenStu
13 năm lập trình fullstack ở các tập đoàn lớn, làm việc chủ yếu với khách hàng Nhật Bản — thị trường đòi hỏi rất cao về chất lượng sản phẩm. Trực tiếp thiết kế các luật tính học phí, điểm danh và phân quyền trong CenStu.
