Exemple #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);
        }
 public SchoolEngine(int IDNamHoc, long _IDTuan, cBDM_PhongHoc arrPhongHoc, cBNS_GiaoVien arrGiaoVien, cBDM_Lop arrLop, SuKienTKB arrSuKien, SuKienKhacTKB mSk_lp, SuKienKhacTKB mSk_gv, HT_ThamSoXepLichInfo pThamSoTKB, int[] _arrNhomTiet)
 {
     intIDTuan    = _IDTuan;
     sks          = arrSuKien;
     lps          = arrLop;
     gvs          = arrGiaoVien;
     phs          = arrPhongHoc;
     sk_lp        = mSk_lp;
     sk_gv        = mSk_gv;
     objThamSoTKB = pThamSoTKB;
     arrNhomTiet  = _arrNhomTiet;
     if (arrNhomTiet.Length > 1)
     {
         if (arrNhomTiet[0] != arrNhomTiet[1])
         {
             IsTietNhomKhacNhau = true;
         }
     }
 }