def doc_bang_diem_theo_id_bang_diem(id_bang_diem): bd = {} try: bang_diem = db_session.query(BangDiem).filter( BangDiem.IDBangDiem == id_bang_diem).one() mon = db_session.query(Mon).filter(Mon.IDMon == bang_diem.IDMon).one() bd['mon'] = mon.TenMon list_bang_diem = [ bang_diem._15Phut_1_, bang_diem._15Phut_2_, bang_diem._15Phut_3_, bang_diem._45Phut_1_, bang_diem._45Phut_1_, bang_diem._45Phut_2_, bang_diem._45Phut_2_, bang_diem._45Phut_3_, bang_diem._45Phut_3_, bang_diem.HocKy, bang_diem.HocKy, bang_diem.HocKy ] bang_diem.TrungBinhMon = tinh_trung_binh(list_bang_diem) bd['15_phut'] = { 1: bang_diem._15Phut_1_, 2: bang_diem._15Phut_2_, 3: bang_diem._15Phut_3_ } bd['45_phut'] = { 1: bang_diem._45Phut_1_, 2: bang_diem._45Phut_2_, 3: bang_diem._45Phut_3_ } bd['thi'] = bang_diem.HocKy bd['trung_binh'] = bang_diem.TrungBinhMon db_session.flush() db_session.commit() except: db_session.rollback() return None return bd
def them_lop_hoc(): if session.get("giaovien") == None: return redirect(url_for('index')) giaovien = session['giaovien'] giao_vien = Profile_Giao_Vien(giaovien) form = Form_Create_Class() ds_nien_khoa = doc_danh_sach_nien_khoa_select() ds_khoi = doc_danh_sach_khoi_select() ds_gv = doc_danh_sach_gv_select() form.Th_Nien_khoa.choices = ds_nien_khoa form.Th_Khoi.choices = ds_khoi form.Th_GV_Chu_nhiem.choices = ds_gv error = '' if form.validate_on_submit(): TenLop = request.form['Th_Lop'] DiaDiem = request.form['Th_Dia_diem'] TongSoHS = 0 NamNienKhoa = int(request.form['Th_Nien_khoa']) GV_CN = int(request.form['Th_GV_Chu_nhiem']) IDKhoi = int(request.form['Th_Khoi']) lop_hoc = Lop(TenLop=TenLop, DiaDiem=DiaDiem, TongSoHS=TongSoHS, NamNienKhoa=NamNienKhoa, GV_CN=GV_CN, IDKhoi=IDKhoi) try: db_session.add(lop_hoc) db_session.commit() return redirect(url_for('danh_sach_lop', message='Thêm lớp thành công')) except: db_session.rollback() error = 'Lớp học đã tồn tại' pass return render_template('lop_hoc/l_them_lop.html', form=form, error=error)
def them_thoi_khoa_bieu(thoi_khoa_bieu): try: db_session.add(thoi_khoa_bieu) db_session.commit() except: db_session.rollback() return False return True
def cap_nhat_si_so(lop, sl_them_giam=1): try: lop = db_session.query(Lop).filter(Lop.IDLop == lop).one() lop.TongSoHS += sl_them_giam db_session.flush() db_session.commit() except: db_session.rollback() return False return True
def them_hoc_sinh(lop): if session.get("giaovien") == None: return redirect(url_for('index')) giaovien = session['giaovien'] giao_vien = Profile_Giao_Vien(giaovien) form = Form_Update_Hs() error = '' message = '' if form.validate_on_submit(): HoVaTen = request.form['Th_Ho_ten'] GioiTinh = request.form['Th_Gioi_tinh'] DiaChi = request.form['Th_Dia_chi'] Email = request.form['Th_Email'] NgaySinh = request.form['Th_Ngay_sinh'] SoDienThoai = request.form['Th_Sdt'] SoDienThoaiPhuHuynh = request.form['Th_Sdt_PH'] MatKhau = request.form['Th_Mat_khau'] if MatKhau == '': MatKhau = '1234' IDLop = int(lop) nien_khoa = lay_nien_khoa_theo_lop(lop) IDNienKhoa = int(nien_khoa.ID) hoc_sinh = HocSinh(HoVaTen=HoVaTen, GioiTinh=GioiTinh, DiaChi=DiaChi, Email=Email, NgaySinh=NgaySinh, SoDienThoai=SoDienThoai, SoDienThoaiPhuHuynh=SoDienThoaiPhuHuynh, IDLop=IDLop, IDNienKhoa=IDNienKhoa, MatKhau=MatKhau) try: db_session.add(hoc_sinh) db_session.commit() if cap_nhat_si_so(lop): message += 'Đã cập nhật sỉ số lớp; ' else: error += 'Không thể cập nhật sỉ số lớp' if tao_bang_diem_cho_hoc_sinh(hoc_sinh.IDHocSinh): message += 'Đã thêm học sinh ' + HoVaTen + ';' return redirect(url_for('danh_sach_hoc_sinh', lop=lop, message=message)) else: db_session.rollback() error += 'Không thể tạo bảng điểm' pass except: error = 'Học sinh đã tồn tại' db_session.rollback() pass print(error) return render_template('hoc_sinh/hs_them_hoc_sinh.html', form=form, error=error)
def doc_bang_diem_theo_hoc_sinh(id_hoc_sinh): # select field tupple choice ds_bang_diem = [] try: ds_bangdiem = db_session.query(BangDiem).filter( BangDiem.IDHocSinh == id_hoc_sinh).all() for bang_diem in ds_bangdiem: bd = {} mon = db_session.query(Mon).filter( Mon.IDMon == bang_diem.IDMon).one() bd['mon'] = mon.TenMon bd['id_bd'] = bang_diem.IDBangDiem list_bang_diem = [ bang_diem._15Phut_1_, bang_diem._15Phut_2_, bang_diem._15Phut_3_, bang_diem._45Phut_1_, bang_diem._45Phut_1_, bang_diem._45Phut_2_, bang_diem._45Phut_2_, bang_diem._45Phut_3_, bang_diem._45Phut_3_, bang_diem.HocKy, bang_diem.HocKy, bang_diem.HocKy ] bang_diem.TrungBinhMon = tinh_trung_binh(list_bang_diem) bd['15_phut'] = { 1: bang_diem._15Phut_1_, 2: bang_diem._15Phut_2_, 3: bang_diem._15Phut_3_ } bd['45_phut'] = { 1: bang_diem._45Phut_1_, 2: bang_diem._45Phut_2_, 3: bang_diem._45Phut_3_ } bd['thi'] = bang_diem.HocKy bd['trung_binh'] = bang_diem.TrungBinhMon print(bd) try: db_session.flush() db_session.commit() ds_bang_diem.append(bd) except: db_session.rollback() pass except: db_session.rollback() pass return ds_bang_diem
def tao_bang_diem_cho_hoc_sinh(id_hoc_sinh): for mon in doc_danh_sach_mon_hoc(): IDHocSinh = id_hoc_sinh IDMon = mon[0] HocKy = None _15Phut_1_ = None _15Phut_2_ = None _15Phut_3_ = None _45Phut_1_ = None _45Phut_2_ = None _45Phut_3_ = None TrungBinhMon = None GhiChu = None bang_diem = BangDiem(IDHocSinh=IDHocSinh, IDMon=IDMon) try: db_session.add(bang_diem) db_session.commit() except: db_session.rollback() return False return True
def diem_trung_binh_theo_hoc_sinh(id_hoc_sinh): ds_bang_diem = {} try: ds_bangdiem = db_session.query(BangDiem).filter( BangDiem.IDHocSinh == id_hoc_sinh).all() for bang_diem in ds_bangdiem: bd = {} mon = db_session.query(Mon).filter( Mon.IDMon == bang_diem.IDMon).one() bd['id_bd'] = bang_diem.IDBangDiem bd['trung_binh'] = bang_diem.TrungBinhMon try: db_session.flush() db_session.commit() ds_bang_diem[mon.TenMon] = bd except: db_session.rollback() pass except: db_session.rollback() pass return ds_bang_diem