Beispiel #1
0
        public clsTKB(int IDNamHoc, int HocKy, long _IDTuan, HT_ThamSoXepLichInfo pThamSoTKB)
        {
            intIDTuan = _IDTuan;
            // Lấy ra danh sách phòng học, lớp học, giao viên phục vụ cho việc xếp TKB
            lps            = new cBDM_Lop(_IDTuan, pThamSoTKB);
            phs            = new cBDM_PhongHoc(pThamSoTKB);
            gvs            = new cBNS_GiaoVien(pThamSoTKB);
            objThamSoTKB   = pThamSoTKB;
            oBSuKienTKB    = new cBXL_SuKienTKB();
            pSuKienTKBInfo = new XL_SuKienTKBInfo();

            cBDM_MonHoc oBDM_MonHoc = new cBDM_MonHoc();

            htbPhong         = oBDM_MonHoc.GetPhongHoc_MonHoc(2);
            htbPhanCongPhong = new Hashtable();

            string[] strTietNhom;
            // Lấy ra mảng tiết của các nhóm tiết
            strTietNhom = objThamSoTKB.SO_TIET_CAC_NHOM.Split(',');
            arrTietNhom = new int[strTietNhom.Length];
            for (int i = 0; i < strTietNhom.Length; i++)
            {
                arrTietNhom[i] = int.Parse(strTietNhom[i]);
                if (arrTietNhom[i] > SoTietNhomMax)
                {
                    SoTietNhomMax = arrTietNhom[i];
                }
            }

            // Kiểm tra xem tuần đó đã chia sự kiện chưa
            // Nếu rồi thì lấy trực tiếp trong bảng sự kiện
            // Nếu chưa thì sẽ đọc sự kiện trong kế hoạch và chia sự kiện cho phù hợp
            if (oBSuKienTKB.CheckExist(_IDTuan) == true)
            {
                mUpdate = true;
                DocSuKien(_IDTuan);
            }
            else
            {
                mUpdate = false;
                DocKeHoachChiTiet(_IDTuan);
            }
            DataTable dtThucHanh = new cBXL_KeHoachThucHanhChiTiet().GetByIDXL_Tuan(_IDTuan);

            DocKeHoachLop(dtThucHanh);
            if (objThamSoTKB.SUDUNG_BAOBAN_TRONG_XEPLICH == 1)
            {
                DocKeHoachGiaoVien(dtThucHanh);
            }
            scE = new SchoolEngine(IDNamHoc, intIDTuan, phs, gvs, lps, sks, sk_lp, sk_gv, objThamSoTKB, arrTietNhom);
        }
Beispiel #2
0
        private void DocSuKien(long IDTuan)
        {
            oBSuKienTKB = new cBXL_SuKienTKB();
            DataTable dt = oBSuKienTKB.Get_TKB(IDTuan);

            sks = new SuKienTKB();
            foreach (DataRow dr in dt.Rows)
            {
                if (long.Parse(dr["XL_SuKienTKBID"].ToString()) > 0)
                {
                    XL_SuKienTKBInfo sk = new XL_SuKienTKBInfo(true);
                    sk.XL_SuKienTKBID = long.Parse(dr["XL_SuKienTKBID"].ToString());
                    GanSuKien(sk, dr);
                }
                else
                {
                    XL_SuKienTKBInfo sk = new XL_SuKienTKBInfo(true);
                    GanSuKien(sk, dr);
                    ChiaSuKien(sk);
                }
            }
            FillData();
        }