Beispiel #1
0
 def join_teacher(student_id):
     try:
         request_data = request.data
         request_data = json.loads(request_data)
     except:
         return jsonify({
             "message": "Không thể lấy dữ liệu!",
             "code": 412
         }), 412
     ma_gvhd = request_data.get("magv")
     if not ma_gvhd:
         return jsonify({
             "message":
             "Không thể tìm thấy thông tin liên kết! Vui lòng kiểm tra lại mã giáo viên",
             "code": 412
         }), 412
     soLuong = TeacherModel.get_so_luong_by_ma(ma_gvhd)
     if int(soLuong) > 26:
         return jsonify({
             "message": "Không thể gửi yêu cầu vì giáo viên đã đủ lớp!",
             "code": 413
         }), 413
     StudentModel.update_request_join_by_student(student_id=student_id,
                                                 ma_gvhd=ma_gvhd)
     TeacherModel.update_so_luong_by_magvhd(ma_gv=ma_gvhd)
     return jsonify({"message": "Đã gửi yêu cầu!", "code": 200}), 200
Beispiel #2
0
    def get_by_project_teacher(teacher_id):
        result = list()
        id_std = request.args.get("id_std")

        try:
            ma_gv = TeacherModel.get_magvhd_by_id(teacher_id=teacher_id)
            projects = ProjectModel.get_project_by_teacher(ma_gv)
            cap = StudentModel.get_level_student_id(id_std)
        except Exception as e:
            print(e)
            return jsonify({
                "message": "Có lỗi phát sinh trong server!",
                "code": 500
            }), 500
        for project in projects:
            check = StudentModel.get_data_by_project(project.id)
            if id_std and str(project.Cap) != str(cap):
                continue
            result.append({
                "id": project.id,
                "Ten": project.Ten,
                "Mota": project.MoTa,
                "TrangThai": project.TrangThai if not check else "Đã chọn",
                "GhiChu": project.GhiChu,
                "Cap": project.Cap
            })
        return jsonify({
            "message": "request thành công!",
            "data": result,
            "code": 200
        }), 200
Beispiel #3
0
 def send_contact_bean():
     try:
         request_data = request.data
         request_data = json.loads(request_data)
     except:
         return jsonify({
             "message": "Không thể lấy dữ liệu!",
             "code": 412
         }), 412
     ma_sv = request_data.get("masv")
     noi_dung = request_data.get("noidung")
     tra_ma_sv = StudentModel.get_student_by_ma(masv=ma_sv)
     if not tra_ma_sv:
         return jsonify({
             "message": "Mã sinh viên không hợp lệ! Vui lòng kiểm tra lại",
             "code": 412
         }), 412
     NguoiNhanGhiChu = TeacherModel.get_id_dean()
     comment_id = CommentModel.insert_comment(
         NguoiTaoGhiChu=tra_ma_sv,
         NguoiNhanGhiChu=NguoiNhanGhiChu,
         LoaiGhiChu="sinh_vien_chua_nhan_do_an",
         NoiDung=noi_dung,
         ThoiGianTao=get_current_time())
     return jsonify({
         "message": "Tạo ghi chú thành công!",
         "code": 200
     }), 200
Beispiel #4
0
 def get_all_project():
     result = list()
     try:
         projects = ProjectModel.get_all_project()
     except Exception as e:
         print(e)
         return jsonify({
             "message": "Có lỗi phát sinh trong server!",
             "code": 500
         }), 500
     for project in projects:
         check = StudentModel.get_data_by_project(project.id)
         result.append({
             "id": project.id,
             "Ten": project.Ten,
             "Mota": project.MoTa,
             "TrangThai": project.TrangThai if not check else "Đã chọn",
             "GhiChu": project.GhiChu,
             "Cap": project.Cap
         })
     return jsonify({
         "message": "request thành công!",
         "data": result,
         "code": 200
     }), 200
Beispiel #5
0
    def get_all_teacher_not_enough_student():
        soluong = request.args.get("soluong", SoLuongSV.GVTiepNhan)
        id_std = request.args.get("id_std")

        try:
            cap = StudentModel.get_level_student_id(student_id=id_std)
            all_code_teachers = list()
            all_project_teachers = ProjectModel.get_project_by_cap(cap)
            for project in all_project_teachers:
                all_code_teachers.append(project.ChiDinh)
            teachers = TeacherModel.get_teacher_by_lt_soluong_tids(
                soluong=soluong,
                codes=all_code_teachers
            )
        except Exception as e:
            return jsonify({"messgae": str(e), "code": 500}), 500
        result = list()
        for teacher in teachers:
            data_teacher = {
                "ten": teacher.Ten,
                "soluong": teacher.SoLuong,
                "magv": teacher.MaGV,
                "email": teacher.Email
            }
            result.append(data_teacher)
        return jsonify({"messgae": "Lấy thông tin thành công!", "code": 200, "data": result}), 200
Beispiel #6
0
    def student_not_teacher():
        result = list()
        students = StudentModel.find_student_not_teacher()

        for student in students:
            detai = ""
            if student.IDDeTai:
                project = ProjectModel.get_project_by_id(
                    project_id=int(student.IDDeTai))
                if project:
                    detai = project.Ten
            data = {
                "id": student.id,
                "masv": student.MaSV,
                "ten": student.Ten,
                "lop": "12312312",
                "hom_thu": "",
                "trang_thai":
                student.TrangThai if not student.IDDeTai else "DaChon",
                "gvhd": student.MaGVHD,
                "detai": detai,
                "cap": student.Cap
            }
            result.append(data)
        return jsonify({
            "message": "Tạo ghi chú thành công!",
            "data": result,
            "code": 200
        }), 200
Beispiel #7
0
 def save_student(students):
     all_insert_data = list()
     for data in students:
         all_insert_data.append({
             "Ten": data.get("ten"),
             "MaSV": data.get("masv"),
             "SDT": data.get("sdt", ""),
             "Email": data.get("email", ""),
             "IDLop": data.get("idlop", ""),
             "MaGVHD": "",
             "IDDeTai": "",
             "TrangThai": "TaoMoi",
             "ThoiGianTao": get_current_time(),
             "ThoiGianCapNhat": get_current_time()
         })
     if all_insert_data:
         StudentModel.insert_many_student(all_insert_data)
Beispiel #8
0
    def login():
        try:
            request_data = request.data
            request_data = json.loads(request_data)
        except:
            return jsonify({
                "message": "Không thể lấy dữ liệu!",
                "code": 412
            }), 412
        username = request_data.get("username")
        password = request_data.get("password")

        password_md5 = generate_md5_by_str(password)

        user_data = UserModel.find_username_password(username=username,
                                                     password=password_md5)
        if not user_data:
            return jsonify({
                "message": "Không tìm thấy thông tin tài khoản!",
                "code": 413
            }), 413
        ma = None
        if user_data.Quyen == "giaovien":
            ma = TeacherModel.get_magvhd_by_id(int(user_data.LienKet))
        data = {
            "username": username,
            "permission": user_data.Quyen,
            "lienket": user_data.LienKet,
            "iddetai": "",
            "id_gvhd": "",
            "ma": ma
        }
        if user_data.Quyen == "sinhvien":
            student_data = StudentModel.get_student_by_id(
                student_id=user_data.LienKet)
            if student_data:
                data["ma"] = student_data.MaSV
                if student_data.IDDeTai:
                    data["iddetai"] = student_data.IDDeTai
                if student_data.MaGVHD:
                    teacher_id = TeacherModel.get_id_by_ma(student_data.MaGVHD)
                    if teacher_id:
                        data["id_gvhd"] = teacher_id
                check = int(user_data.LienKet)
                i = check // 3 if check >= 6 else check if check < 3 else check - 3
                if int(i) == 0:
                    data["start_time_do_an"] = "01/05/2021"
                if int(i) == 1:
                    data["start_time_do_an"] = "19/03/2021"
                if int(i) == 2:
                    data["start_time_do_an"] = "25/12/2020"

        return jsonify({
            "message": "Đăng nhập thành công!",
            "data": data,
            "code": 200
        }), 200
Beispiel #9
0
 def update_request_select_project(student_id):
     try:
         request_data = request.data
         request_data = json.loads(request_data)
     except:
         return jsonify({
             "message": "Không thể lấy dữ liệu!",
             "code": 412
         }), 412
     project_id = request_data.get("project_id")
     if not project_id:
         return jsonify({
             "message": "Không thể tìm thấy thông tin liên kết!",
             "code": 412
         }), 412
     StudentModel.update_request_join_project(student_id=student_id,
                                              project_id=project_id)
     return jsonify({"message": "Đã gửi yêu cầu!", "code": 200}), 200
Beispiel #10
0
    def edit_project_by_teacher(teacher_id):
        try:
            request_data = request.data
            request_data = json.loads(request_data)
        except:
            return jsonify({"message": "Không thể lấy dữ liệu!", "code": 412}), 412

        ma_sv = request_data.get("ma_sv")
        chuc_nang = request_data.get("chuc_nang")
        if not ma_sv or not chuc_nang:
            return jsonify({
                "message": "Không thể thực hiện chức năng này!. Vui lòng điền đầy đủ thông tin.", "code": 412
            }), 412
        if chuc_nang == "sua_de_tai":
            project_id = request_data.get("id_de_tai")
            if not project_id:
                return jsonify({
                    "message": "Không thể thực hiện chức năng này!. Vui lòng điền đầy đủ thông tin về đề tài",
                    "code": 412
                }), 412
            ma_gvhd = TeacherModel.get_magvhd_by_id(teacher_id)
            if not ma_gvhd:
                return jsonify({
                    "message": "Không tìm thấy mã giáo viên hướng dẫn!",
                    "code": 412
                }), 412
            StudentModel.update_project_by_teacher(
                masv=ma_sv,
                project_id=project_id
            )
            return jsonify({"message": "Đã sửa đề tài thành công!", "code": 200}), 200

        if chuc_nang == "bo_de_tai":
            ma_gvhd = TeacherModel.get_magvhd_by_id(teacher_id)
            if not ma_gvhd:
                return jsonify({
                    "message": "Không tìm thấy mã giáo viên hướng dẫn!",
                    "code": 412
                }), 412
            StudentModel.cancel_project_by_teacher(
                masv=ma_sv
            )
            return jsonify({"message": "Đã bỏ đề tài thành công!", "code": 200}), 200
        return jsonify({"message": "Chức năng không tồn tại vui lòng kiểm tra lại!", "code": 412}), 412
Beispiel #11
0
 def join_teacher(student_id):
     try:
         request_data = request.data
         request_data = json.loads(request_data)
     except:
         return jsonify({
             "message": "Không thể lấy dữ liệu!",
             "code": 412
         }), 412
     ma_gvhd = request_data.get("magv")
     if not ma_gvhd:
         return jsonify({
             "message":
             "Không thể tìm thấy thông tin liên kết! Vui lòng kiểm tra lại mã giáo viên",
             "code": 412
         }), 412
     StudentModel.update_request_join_by_student(student_id=student_id,
                                                 ma_gvhd=ma_gvhd)
     return jsonify({"message": "Đã gửi yêu cầu!", "code": 200}), 200
Beispiel #12
0
 def report():
     students = StudentModel.count_student()
     student_not_do_project = StudentModel.count_student_not_do_project()
     teachers = TeacherModel.count_teacher_by_where(TeacherModel.ChucVu == "GiaoVien")
     all_teachers = list()
     teachers_count_by_sl = TeacherModel.get_teacher_by_soluong(SoLuongSV.GVTiepNhan)
     for teacher in teachers_count_by_sl:
         all_teachers.append({
             "ten": teacher.Ten,
             "soluong": teacher.SoLuong,
             "magv": teacher.MaGV,
             "email": teacher.Email
         })
     result = {
         "count_student_do_project": students,
         "count_student_not_do_project": student_not_do_project,
         "count_teacher": teachers,
         "teacher_not_enough_student": all_teachers,
     }
     return jsonify({"message": "Lấy dữ liệu thành công!", "data": result, "code": 200}), 200
    def update_information_report(week):
        try:
            request_data = request.data
            request_data = json.loads(request_data)
        except:
            return jsonify({
                "message": "Không thể lấy dữ liệu!",
                "code": 412
            }), 412
        ma_sv = request_data.get("ma_sv")
        ghi_chu = request_data.get("ghi_chu")
        diem = request_data.get("diem")
        if not diem or not ma_sv:
            return jsonify({
                "message": "Không tìm thấy mã sinh viên để cập nhật điểm!",
                "code": 412
            }), 412
        id_sv = StudentModel.get_student_by_ma(ma_sv)
        if not id_sv:
            return jsonify({
                "message": "Không tìm thấy mã sinh viên để cập nhật điểm!",
                "code": 412
            }), 412
        if week not in ["8", "16"]:
            ReportWeeklyModel.update_point_report(week=week,
                                                  id_sv=id_sv,
                                                  diem=diem,
                                                  ghi_chu=ghi_chu)
        else:
            lan = 1
            if week == "16":
                lan = 2
            reports = ReportModel.get_report_id_sinh_vien(id_sinh_vien=id_sv)
            if not reports:
                data_insert_report = {
                    "IDSinhVien": id_sv,
                    "IDGVHD": "",
                    "DiemLan1": "",
                    "DiemLan2": "",
                    "DieuKienBaoVe": "",
                    "GhiChu": ghi_chu,
                    "ThoiGianTao": get_current_time(),
                    "ThoiGianCapNhat": get_current_time()
                }

                report_id = ReportModel.insert_one(data_insert_report)
            ReportModel.update_point_report(id_sinh_vien=id_sv,
                                            point=diem,
                                            lan=lan,
                                            ghi_chu=ghi_chu)
        return jsonify({
            "message": "Cập nhật thông tin thành công!",
            "code": 200
        }), 200
    def get_report_by_week(teacher_id, week):
        try:
            args = request.args
        except:
            return jsonify({
                "message": "Không thể lấy dữ liệu!",
                "code": 412
            }), 412
        results = list()
        report_weekly = ReportWeeklyModel.get_report_by_week(week=week)
        for report_week in report_weekly:
            ma_gv = TeacherModel.get_magvhd_by_id(teacher_id=teacher_id)
            sinhvien = StudentModel.get_student_by_id(report_week.IDSinhVien)
            if not ma_gv or sinhvien.MaGVHD != ma_gv:
                continue
            data = {
                "tuan":
                week,
                "masv":
                sinhvien.MaSV,
                "ten":
                sinhvien.Ten,
                "hinhanh":
                Topic.HOST + "/download/image/" + str(report_week.id) + "/" +
                str(report_week.IDSinhVien) if report_week.HinhAnh else "",
                "file":
                Topic.HOST + "/download/file/" + str(report_week.id) + "/" +
                str(report_week.IDSinhVien) if report_week.File else "",
                # "ghichu": report_week.GhiChu,
                "diem":
                report_week.Diem
            }
            if week in ["8", "16"]:
                try:
                    points = ReportModel.get_report_id_sinh_vien(
                        report_week.IDSinhVien)
                except:
                    points = None
                point = ""
                if points:
                    if week == "8":
                        point = points.DiemLan1
                    if week == "16":
                        point = points.DiemLan2
                    data["diem"] = point
                if data.get("diem") and float(data.get("diem")) > 5:
                    data["duyet"] = True

            results.append(data)
        return jsonify({
            "message": "request thành công!",
            "data": results,
            "code": 200
        }), 200
Beispiel #15
0
 def get_report_by_week(week):
     results = list()
     report_weekly = ReportWeeklyModel.get_report_by_week(week=week)
     for report_week in report_weekly:
         sinhvien = StudentModel.get_student_by_id(report_week.IDSinhVien)
         data = {
             "tuan": week,
             "masv": sinhvien.MaSV,
             "ten": sinhvien.Ten,
             "hinhanh": Topic.HOST + "/download/image/" + str(report_week.id) + "/" + str(report_week.IDSinhVien) if report_week.HinhAnh else "",
             "file": Topic.HOST + "/download/file/" + str(report_week.id) + "/" + str(report_week.IDSinhVien) if report_week.File else "",
             "ghichu": report_week.GhiChu,
         }
         results.append(data)
     return jsonify({"message": "request thành công!", "data": results, "code": 200}), 200
Beispiel #16
0
    def login():
        try:
            request_data = request.data
            request_data = json.loads(request_data)
        except:
            return jsonify({
                "message": "Không thể lấy dữ liệu!",
                "code": 412
            }), 412
        username = request_data.get("username")
        password = request_data.get("password")

        password_md5 = generate_md5_by_str(password)

        user_data = UserModel.find_username_password(username=username,
                                                     password=password_md5)
        if not user_data:
            return jsonify({
                "message": "Không tìm thấy thông tin tài khoản!",
                "code": 413
            }), 413
        data = {
            "username": username,
            "permission": user_data.Quyen,
            "lienket": user_data.LienKet,
            "iddetai": "",
            "id_gvhd": "",
        }
        if user_data.Quyen == "sinhvien":
            student_data = StudentModel.get_student_by_id(
                student_id=user_data.LienKet)
            if student_data:
                if student_data.IDDeTai:
                    data["iddetai"] = student_data.IDDeTai
                if student_data.MaGVHD:
                    teacher_id = TeacherModel.get_id_by_ma(student_data.MaGVHD)
                    if teacher_id:
                        data["id_gvhd"] = teacher_id
        return jsonify({
            "message": "Đăng nhập thành công!",
            "data": data,
            "code": 200
        }), 200
    def browse_report_weekly(teacher_id, masv):
        id_sinh_vien = StudentModel.get_student_by_ma(masv=masv)
        if not id_sinh_vien:
            return jsonify({
                "message": "Không tìm thấy thông tin sinh viên!",
                "code": 412
            }), 412
        reports = ReportWeeklyModel.get_report_by_student_id(
            student_id=id_sinh_vien)
        if not reports:
            return jsonify({
                "message": "Không tìm thấy thông tin báo cáo sinh viên!",
                "code": 412
            }), 412
        all_weekly = list()
        for report in reports:
            point = None
            if report.Tuan in ["8", "16"]:
                try:
                    points = ReportModel.get_report_id_sinh_vien(
                        id_sinh_vien=id_sinh_vien)
                except:
                    points = None
                if points:
                    if report.Tuan == "8":
                        point = points.DiemLan1
                    if report.Tuan == "16":
                        point = points.DiemLan2
            else:
                point = report.Diem
            if not point:
                all_weekly.append(report.Tuan)
        for i in range(1, 21):
            if i not in all_weekly:
                all_weekly.append(i)

        return jsonify({
            "message": "lấy thông tin thành công!",
            "data": all_weekly,
            "code": 200
        }), 200
Beispiel #18
0
 def get_list_student_by_teacher(teacher_id):
     result = list()
     try:
         ma_gvhd = TeacherModel.get_magvhd_by_id(teacher_id)
     except:
         return jsonify({"messgae": "Không tìm thấy mã giáo viên!", "code": 413}), 413
     students = StudentModel.get_student_by_magvhd(magvhd=ma_gvhd)
     for student in students:
         project = None
         if student.IDDeTai:
             project = ProjectModel.get_project_by_id(student.IDDeTai)
         data = {
             "masv": student.MaSV,
             "ten": student.Ten,
             "id_sv": student.id,
             "detai": project.Ten if project else "",
             "ghichu": project.GhiChu if project else "",
             "cap": student.Cap
         }
         result.append(data)
     return jsonify({"messgae": "request thành công!", "data": result, "code": 200}), 200
Beispiel #19
0
    def get_list_student():
        result = list()
        param = request.args

        ten = param.get("ten")
        ma_sv = param.get("masv")
        lop = param.get("lop")
        trang_thai = param.get("trang_thai")
        gvhd = param.get("gvhd")
        page = param.get("page", 1)
        per_page = param.get("per_page", 10)

        page = 0

        paging = {
            "page": page,
            "per_page": per_page,
        }
        students = StudentModel.get_all_student()

        for student in students:
            data = {
                "masv": student.MaSV,
                "ten": student.Ten,
                "lop": "12312312",
                "hom_thu": "",
                "trang_thai": student.TrangThai,
                "gvhd": student.MaGVHD,
                "detai": "De tai"
            }
            result.append(data)
        return jsonify({
            "message": "Tạo ghi chú thành công!",
            "data": result,
            "paging": paging,
            "code": 200
        }), 200
Beispiel #20
0
    def register():
        try:
            request_data = request.data
            request_data = json.loads(request_data)
        except:
            return jsonify({
                "message": "Không thể lấy dữ liệu!",
                "code": 412
            }), 412
        username = request_data.get("username")
        password = request_data.get("password")
        permission = request_data.get("permission", "sinhvien")

        password_md5 = generate_md5_by_str(password)

        check_user_name = UserModel.find_username(username=username)
        if check_user_name:
            return jsonify({
                "message": f"Tài khoản {username} đã tồn tại!",
                "code": 413
            }), 413
        lienket = None
        if permission == "sinhvien":
            student_data = {
                "Ten": request_data.get("ten"),
                "MaSV": request_data.get("masv"),
                "SDT": request_data.get("sdt", ""),
                "Email": request_data.get("email", ""),
                "IDLop": request_data.get("idlop", ""),
                "MaGVHD": "",
                "IDDeTai": "",
                "TrangThai": "TaoMoi",
                "ThoiGianTao": get_current_time(),
                "ThoiGianCapNhat": get_current_time()
            }

            lienket = StudentModel.insert_one_student(data=student_data)
        if permission == "giaovien":
            teacher_data = {
                "Ten":
                request_data.get("ten"),
                "SoLuong":
                0,
                "MaGV":
                request_data.get("magv"),
                "SDT":
                request_data.get("sdt"),
                "Email":
                request_data.get("email"),
                "ChucVu":
                request_data.get("chucvu")
                if request_data.get("chucvu") else "GiaoVien",
                "TrangThai":
                "",
                "ThoiGianTao":
                get_current_time(),
                "ThoiGianCapNhat":
                get_current_time()
            }

            lienket = TeacherModel.insert_many_teacher(teacher_data)
        user_data = {
            "TaiKhoan": username,
            "MatKhau": str(password_md5),
            "Quyen": permission,
            "LienKet": lienket,
            "ThoiGianTao": get_current_time(),
            "ThoiGianCapNhat": get_current_time()
        }
        user_id = UserModel.insert_user(data_insert=user_data)
        if not user_id:
            return jsonify({
                "message": "Tạo mới thông tin tài khoản thành công!",
                "code": 413
            }), 413

        data = {"username": username, "permission": permission}
        return jsonify({
            "message": "Tạo mới tài khoản thành công!",
            "data": data,
            "code": 200
        }), 200
Beispiel #21
0
    def get_list_student():
        result = list()
        param = request.args

        ten = param.get("ten")
        ma_sv = param.get("masv")
        lop = param.get("lop")
        trang_thai = param.get("trang_thai")
        gvhd = param.get("gvhd")
        page = param.get("page", 1)
        per_page = param.get("per_page", 10)

        where = ""

        if ten:
            if not where:
                where = "( StudentModel.Ten.contains(ten) )"
            else:
                where += " & ( StudentModel.Ten.contains(ten) )"

        if ma_sv:
            if not where:
                where = "( StudentModel.MaSV.contains(ma_sv) )"
            else:
                where += " & ( StudentModel.MaSV.contains(ma_sv) )"

        if gvhd:
            if not where:
                where = "( StudentModel.MaGVHD.contains(gvhd) )"
            else:
                where += " & ( StudentModel.MaGVHD.contains(gvhd) )"
        result = list()
        paging = dict()
        if where:
            where = eval(where)

        tong = StudentModel.count_student_by_where(where)
        if tong == 0:
            return jsonify({
                "messgae": "request thành công!",
                "data": result,
                "code": 200
            }), 200
        if page == -1:
            students = StudentModel.get_all_student(where=where, is_full=True)
        else:
            paging = StudentController.generate_paging(page=page,
                                                       per_page=per_page,
                                                       sum_page=tong)
            skip = per_page * (page - 1)
            limit = per_page
            students = StudentModel.get_all_student(where=where,
                                                    skip=skip,
                                                    limit=limit)

        for student in students:
            detai = ""
            if student.IDDeTai:
                project = ProjectModel.get_project_by_id(
                    project_id=int(student.IDDeTai))
                if project:
                    detai = project.Ten
            data = {
                "id": student.id,
                "masv": student.MaSV,
                "ten": student.Ten,
                "lop": "12312312",
                "hom_thu": "",
                "trang_thai":
                student.TrangThai if not student.IDDeTai else "DaChon",
                "gvhd": student.MaGVHD,
                "detai": detai,
                "cap": student.Cap
            }
            result.append(data)
        return jsonify({
            "message": "Tạo ghi chú thành công!",
            "data": result,
            "paging": paging,
            "code": 200
        }), 200
Beispiel #22
0
def create_data(n=10):
    all_data = list()
    for i in range(1, n):
        email = f"sinhvien{i}[email protected]"
        password = generate_md5_by_str(default_pass)
        student_data = {
            "Ten": "Nguyen Van A " + str(i),
            "MaSV": "Ma101152" + str(i),
            "SDT": "03133312323" + str(i),
            "Email": email,
            "IDLop": 1,
            "MaGVHD": "",
            "IDDeTai": "",
            "Cap": random.randrange(1, 3, 1),
            "TrangThai": "TaoMoi",
            "ThoiGianTao": get_current_time(),
            "ThoiGianCapNhat": get_current_time()
        }
        student_id = StudentModel.insert_one_student(student_data)
        user_data = {
            "TaiKhoan": email,
            "MatKhau": str(password),
            "Quyen": "sinhvien",
            "LienKet": student_id,
            "ThoiGianTao": get_current_time(),
            "ThoiGianCapNhat": get_current_time()
        }
        user_id = UserModel.insert_user(data_insert=user_data)
    for i in range(1, n):
        email = f"giaovien{i}[email protected]"
        password = generate_md5_by_str(default_pass)
        teacher_data = {
            "Ten": "Le Van A" + str(i),
            "SoLuong": 0,
            "MaGV": f"Gv12983192{i}",
            "SDT": f"19831321312{i}",
            "Email": email,
            "ChucVu": "GiaoVien",
            "TrangThai": "",
            "ThoiGianTao": get_current_time(),
            "ThoiGianCapNhat": get_current_time()
        }
        teacher_id = TeacherModel.insert_one_teacher(teacher_data)
        user_data = {
            "TaiKhoan": email,
            "MatKhau": str(password),
            "Quyen": "giaovien",
            "LienKet": teacher_id,
            "ThoiGianTao": get_current_time(),
            "ThoiGianCapNhat": get_current_time()
        }
        user_id = UserModel.insert_user(data_insert=user_data)

    email = f"*****@*****.**"
    password = generate_md5_by_str(default_pass)
    teacher_data = {
        "Ten": "Truong khoa",
        "SoLuong": 0,
        "MaGV": "Tk1231231",
        "SDT": "192831892313",
        "Email": email,
        "ChucVu": "TruongKhoa",
        "TrangThai": "",
        "ThoiGianTao": get_current_time(),
        "ThoiGianCapNhat": get_current_time()
    }
    teacher_id = TeacherModel.insert_one_teacher(teacher_data)
    user_data = {
        "TaiKhoan": email,
        "MatKhau": str(password),
        "Quyen": "truongkhoa",
        "LienKet": teacher_id,
        "ThoiGianTao": get_current_time(),
        "ThoiGianCapNhat": get_current_time()
    }
    user_id = UserModel.insert_user(data_insert=user_data)