Example #1
0
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
Example #2
0
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)
Example #3
0
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
Example #4
0
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
Example #5
0
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)
Example #6
0
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
Example #7
0
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
Example #8
0
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