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