Giao diện cập nhật hệ đào tạo

Một phần của tài liệu Quản lí học phí (Trang 32)

3. 1 Các giao diện của chơng trình

3.1.3. Giao diện cập nhật hệ đào tạo

a.. Giao diện

Hình 3: Cập nhật danh sách Hệ đào tạo

STVH:Bùi Thị H ơng - 44B CNTT

b. Mô tả chức năng

- Thêm mới:

Nhập vào: Tên hệ đào tạo, mức học phí cuả hệ dào tạo đó - Ghi:

+ Kiểm tra xem Tên hệ đào tạo, mức học phí cuả hệ đào tạo không đợc rỗng.

+ Kiểm tra xem Tên hệ đào tạo đó đã có trong CSDL cha. + Kiểm tra xem là Ghi cho chức năng Thêm mới hay Sửa đổi:

• Thêm: Cập nhật vào bảng HEDAOTAO (Tên hệ đào tạo, mức

học phí), Mã hệ đào tạo đợc đánh số tự động.

• Sửa: Cập nhật vào bảng HEDAOTAO (Tên hệ đào tạo, mức học

phí), Mã hệ đào tạođợc chọn để sửa. - Huỷ:

Huỷ bỏ thao tác vừa chọn trớc đó. - Sửa:

+ Chọn tên đối tợng cần sửa trên bảng danh sách hệ đào tạo. + Sửa lại thông tin ở các ô: Tên hệ đào tạo, mức học phí - Xoá:

+ Chọn tên hệ đào tạo cần xoá trên bảng danh sách đối tợng. + Thông báo có thực sự muốn xoá không:

• Nếu không: Huỷ bỏ thao tác này.

• Nếu xoá: Xoá hệ đào tạo trong bảng HEDAOTAO

- Thoát:

3.1.4. Giao diện nhập khoa đào tạo

a. Giao diện

Hình 4: Cập nhật danh sách khoa b. Mô tả chức năng

- Thêm:

Nhập vào: Tên khoa - Ghi:

+ Kiểm tra xem tên khoa không đợc rỗng.

+ Kiểm tra xem là Ghi cho chức năng Thêm hay Sửa:

• Thêm: Cập nhật vào bảng TBLKHOA (Tên khoa), Makhoa đợc

đánh số tự động.

• Sửa: Cập nhật vào bảng TBLKHOA (Tên khoa) nơi Makhoa đợc

chọn để sửa. - Huỷ:

Huỷ bỏ thao tác vừa chọn trớc đó. - Sửa:

+ Chọn tên khoa cần sửa trên bảng danh sách khoa đào tạo.

STVH:Bùi Thị H ơng - 44B CNTT

+ Sửa lại thông tin ở các ô: Tên khoa (Có kiểm tra trùng tên khoa) - Xoá:

+ Chọn tên khoa cần xoá trên bảng danh sách khoa. + Thông báo có thực sự muốn xoá không:

• Nếu không: Huỷ bỏ thao tác này.

• Nếu xoá: Xoá khoa trong bảng TBLKHOA đồng thời xóa

danh sách sinh viên trong bảng TBLSINHVIEN - Thoát:

Thoát khỏi chức năng hiện tại.

3.1.5. Giao diện cập nhật lớp học

a. Giao diện

Hình 5: Cập nhật danh sách lớp b. Mô tả chức năng

- Thêm:

Chọn tên khoa, tên hệ đào tạo cần thêm lớp mới vào. Sau đó nhập tên lớp, sau đó nhập học kỳ của lớp đó

- Ghi:

+ Kiểm tra tính hợp lệ của các thông tin vào và đa ra thông báo (nếu có) + Kiểm tra xem là Ghi cho chức năng Thêm hay Sửa:

• Thêm: Cập nhật vào bảng TBLLOPHOC (Makhoa, MaHDT,

Tenlop, hocky)

• Sửa: Cập nhật vào bảng TBLLOPHOC (Makhoa, MaHDT,

Tenlop, Hocky) nơi tên lớp đợc chọn để sửa. - Huỷ:

Huỷ bỏ thao tác vừa chọn trớc đó. - Sửa:

+ Chọn tên lớp cần sửa trên bảng danh sách các lớp học.

+ Sửa lại thông tin ở các ô: Tên khoa, tên lớp, tên hệ đào tạo, học kỳ. - Xoá:

+ Chọn tên lớp cần xoá trên bảng danh sách các lớp học. + Thông báo có thực sự muốn xoá không.

• Nếu không: Huỷ bỏ thao tác này.

• Nếu xoá: Xoá lớp học trong bảng TBLLOPHOC.

- Thoát:

Thoát khỏi chức năng hiện tại.

STVH:Bùi Thị H ơng - 44B CNTT

3.1.6. Giao diện nhập danh sách sinh viên

a. Giao diện

Hình 6: Cập nhật danh sách sinh viên b. Mô tả chức năng

- Thêm:

Chọn tên khoa, tên hệ đào tạo, và nhập tên sinh viên, ngày sinh, quê quan, đối tợng của sinh viên cần thêm.

- Ghi:

+ Kiểm tra tính hợp lệ của các thông tin vào và đa ra thông báo (nếu có) + Kiểm tra xem là Ghi cho chức năng Thêm hay Sửa:

• Thêm: Cập nhật vào bảng TBLSINHVIEN trong CSDL.

• Sửa: Cập nhật vào bảng TBLSINHVIEN nơi thông tin sinh

viên cần chỉnh sửa. - Huỷ:

- Sửa:

+ Chọn tên sinh viên cần sửa trên bảng danh sách các sinh viên

+ Sửa lại thông tin ở các ô: tên khoa, tên hệ đào tạo, tên sinh viên, ngày sinh, quê quan, đối tợng.

- Xoá:

+ Chọn tên sinh viên bảng danh sách sinh viên + Thông báo có thực sự muốn xoá không.

• Nếu không: Huỷ bỏ thao tác này.

• Nếu xoá: Xoá tên sinh viên trong bảng TBLSINHVIEN.

- Thoát:

Thoát khỏi chức năng hiện tại.

3.1.7. Giao diên xử lý thu học phí

a. Giao diện

Hình 7: Xử lý thu học phí

STVH:Bùi Thị H ơng - 44B CNTT

b. Mô tả chức năng

* Form này bao gồm hai lới trong đó:

Lới bên trái: Chứa thông tin sinh viên của lớp đợc chọn chỉ bao gồm những sinh viên cha nộp hoặc nộp cha đủ của kỳ hiện tại

Lới bên phải: Chứa thông tin sinh viên của lớp đó bao gồm những sinh viên đã nộp (Đủ hoặc còn thiếu)

Ghi lại: Ghi sinh viên sinh viên nộp học phí, sau đó nháy vào nút in hóa đơn để in biên lai cho sinh viên.

3.1.8. Giao diện in danh sách sinh viên nộp học phí

Hình 8: Danh sách sinh viên nộp học phí

Lu toàn bộ những sinh viên tham gia nộp học phí.

Nếu muốn in danh sách này ra thi ta nháy chuột vào nút in danh sách, ngợc lại thì kích vào nút đóng.

3.1.9. Giao diện thống kê thông tin nộp học phí

Hình 9: Xem thông tin về sinh viên

Form này cho phép xem thông tin sinh viên sinh viên nộp học phí theo tng khoa, từng lớp hoặc từng ngày.

STVH:Bùi Thị H ơng - 44B CNTT

3.10. Giao diện thống kê thông tin những sinh viên nộp học phí trong khoảng thời gian nào đó

Hình 10. Thông kê danh sách sinh viên

Khi ban lãnh đạo muốn biết thông tin sinh viên đã nộp học phí trong khoảng thời gian nào đó thì sử dụng form này.

Nhập khoảng thời gian (từ ngày-> đến ngày) cần thống kê, sau đó kích vào nút hiện thị thì tất cả những sinh viên nộp học phí trong khoảng thời gian đó sẽ đợc lọc ra.

3.1.11. Thống kê tổng hợp nộp học phí của lớp đó

Hình 11: Tổng hợp học phí theo lớp

Thống kê tổng hợp học phí theo từng lớp. Chọn khoa đào tạo, hệ đào tạo và lớp học rồi nháy vào nút in danh sách, danh sách của lớp đó sẽ đợc in.

STVH:Bùi Thị H ơng - 44B CNTT

3.1.12. Giao diện thay đổi ngời sử dụng

Hình 12: Thay đổi ngời sử dụng

3.1.13. Giao diện khi muốn thêm ngời sử dụng

3.2. Chơng trình

Code chơng trình xử lý thu học phí (Form frmmain.cs)

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace Hoc_phi {

public partial class frmMain: Form {

//Đối tượng của lớp DataService private DataServices myData;

//Đối tượng để đưa dữ liệu từ bảng vào DataSet private SqlDataAdapter myAdapter;

//Đối tượng (chỉ đọc) dữ liệu từ bảng private SqlDataReader myReader;

//Đối tượng chứa nội dung cỏc bảng CSDL private DataSet myDataset;

//Biến chứa xõu truy vấn CSDL public string strSql;

public int Malop; public int Masosv;

//Biến chứa học kỳ của sinh viờn đang nộp private int m_Hocky;

//Biến lấy giỏ trị học phớ của hệ đào tạo private int D_Money;

//Lấy số tiền mà sinh viờn đú phải đúng private int Money;

//Lấy mức giảm (%) private int Mucgiam; public bool Inhoadon;

//Biến dựng để xỏc định xem sinh viờn //vừa nộp là nộp lần 1 hay nhiều hơn 1 private bool Danop;

private int Mucphainop; public int Mahp_Conthieu; private int Dadong_Thieu; private int Conno_Thieu; public int So_tien_vua_nop; /// <summary>

/// </summary>

private void frmMain_Load(object sender, EventArgs e) {

myData = new DataServices(); }

//Hàm để đọc giỏ trị từ CSDL nguồn

private void btnGo_Click(object sender, EventArgs e) {

STVH:Bùi Thị H ơng - 44B CNTT

//======================================================================= //Lấy thụng tin Mó lớp khi biết mó khoa và tờn lớp

strSql = "SELECT tblLop.MaLop" + " FROM tblLop INNER JOIN" +

" tblKhoa ON tblLop.MaKhoa = tblKhoa.MaKhoa" + " WHERE (tblLop.TenLop = N'" + cboLop.Text.Trim() + "') AND (tblLop.MaKhoa = '" +

Convert.ToInt16(cboTenkhoa.SelectedValue.ToString()) + "')"; myReader = this.SetReader(strSql,

Program.LoGin.strConnection);

while (myReader.Read() == true) {

Malop = myReader.GetInt16(0); }

///////////////////////////////////////////////////////////// ////////////

strSql = "SELECT HOCKY FROM TBLLOP WHERE (TENLOP=N'" + cboLop.Text.Trim() + "') AND (MAKHOA='" +

Convert.ToInt16(cboTenkhoa.SelectedValue.ToString()) + "')"; myReader = this.SetReader(strSql,

Program.LoGin.strConnection);

while (myReader.Read() == true) { m_Hocky = myReader.GetInt16(0); } ///////////////////////////////////////////////////////////// //////////// try {

//Lọc dữ liệu trong CSDL sinh viờn sao cho lưới bờn trỏi chứa

//danh sỏch những sinh viờn của lớp được chọn nhưng khụng bao gồm //cỏc sinh viờn đó đúng đầy đủ và cỏc sinh viờn thuộc diện ưu tiờn giảm 100%

//Cũn lưới bờn phải chứa danh sỏch sinh viờn của lớp đú gồm những ng //nộp đủ hoặc nộp cũn thiếu

strSql = "SELECT

TBLSINHVIEN.MASV,TBLSINHVIEN.TENSV,TBLSINHVIEN.NGAYSINH,TBLSINHVIEN.MADT, TBLSINHVIEN.MAHDT" +

" FROM TBLSINHVIEN WHERE" +

" (TBLSINHVIEN.MALOP='" + Malop + "')" + " AND (TBLSINHVIEN.CONTHIEU!=0)";

//Khi thay đổi tờn lớp: Nếu trong DataGrid View đang cú dữ liệu cũ thỡ xúa

//đi trước khi đưa dữ liệu mới vào if (dgvSV.Rows.Count > 1)

myDataset.Tables[3].Clear();

//--- ---

myDataset = myData.SelectSqlData(strSql, Program.LoGin.strConnection, myDataset, "TBLSINHVIEN"); dgvSV.AutoGenerateColumns = false; dgvSV.DataSource = myDataset.Tables[3]; //--- //this.btnGo.Enabled = false; } catch {

} //======================================================================= if (dgvHocphi.Rows.Count > 1) { myDataset.Tables[4].Clear(); this.Load_Display_Table(); } else this.Load_Display_Table(); }

//Load bảng Học phớ để hiển thị lờn lưới (Khụng cho phộp Update) private void Load_Display_Table()

{

strSql = "SELECT * " +

" FROM tblHocPhi INNER JOIN" +

" tblSinhVien ON tblHocPhi.MaSV = tblSinhVien.MaSV" + " WHERE (tblHocPhi.MaSV IN" +

" (SELECT tblSINHVIEN.MASV" + " FROM tblSINHVIEN" +

" WHERE (TBLSINHVIEN.MALOP = '" + Malop + "')))"; myDataset = myData.SelectSqlData(strSql,

Program.LoGin.strConnection, myDataset, "TBLHOCPHI"); dgvHocphi.AutoGenerateColumns = false; dgvHocphi.DataSource = myDataset.Tables[4]; }

//Load bảng học phớ, cho phộp Update private void Load_Select_Update() {

strSql = "SELECT * FROM TBLHOCPHI";

myDataset = myData.SelectUpdateDataSet(strSql, Program.LoGin.strConnection, myDataset, "TBLHOCPHI");

} }

private void dgvSV_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex != myDataset.Tables[3].Rows.Count) { cboTenkhoa.Enabled = false; cboHedaotao.Enabled = false; cboLop.Enabled = false; btnGo.Enabled = false; //int Masv; ///////////////////////////////////////////////////////// ////////////////

//Xỏc định số tiền sinh viờn phải đúng trong trường hợp khụng ưu tiờn strSql = "SELECT HOCPHI FROM TBLHEDT WHERE MAHDT='" + myDataset.Tables[3].Rows[e.RowIndex][4].ToString() + "'";

myReader = this.SetReader(strSql, Program.LoGin.strConnection);

while (myReader.Read() == true) { D_Money = Convert.ToInt32(myReader.GetInt32(0)); } //--- STVH:Bùi Thị H ơng - 44B CNTT 46

//Xỏc định số tiền mà sinh viờn phải đúng đỳng theo mức ưu tiờn strSql = "SELECT GIAM FROM TBLDOITUONG WHERE MADT='" + myDataset.Tables[3].Rows[e.RowIndex][3].ToString() + "'";

myReader = this.SetReader(strSql, Program.LoGin.strConnection);

while (myReader.Read() == true) {

Mucgiam = myReader.GetInt16(0); }

Money = D_Money - D_Money * Mucgiam / 100;

//--- Masosv = Convert.ToInt32(myDataset.Tables[3].Rows[e.RowIndex][0]); //--- DataRow newRow = myDataset.Tables[4].NewRow();

newRow[1] = myDataset.Tables[3].Rows[e.RowIndex][0].ToString(); newRow[2] = myDataset.Tables[3].Rows[e.RowIndex][1].ToString(); newRow[3] = myDataset.Tables[3].Rows[e.RowIndex][3].ToString(); newRow[4] = Convert.ToString(Program.LoGin.Manguoithu); newRow[5] = Program.LoGin.MtNgaythu.Text.Trim(); newRow[6] = m_Hocky; newRow[8] = Money; //--- myDataset.Tables[4].Rows.Add(newRow); dgvSV.Enabled = false; this.btnCancel.Enabled = true; this.btnSave.Enabled = true; //--- //Kiểm tra xem sinh viờn được chọn đó nộp lần nào chưa bằng

cỏch //tỡm xem trong bảng Học phớ cú mó sinh viờn trựng với mó sinh viờn

//vừa được chọn trong bảng Sinh viờn hay khụng

strSql = "Select Mahp, Masv FROM TBLHOCPHI";

myReader = this.SetReader(strSql, Program.LoGin.strConnection); while (myReader.Read() == true)

{ if (Masosv != myReader.GetInt32(1)) { Danop = true; } else { Danop = false; Mahp_Conthieu = myReader.GetInt32(0); Masosv = myReader.GetInt32(1); return; } } } }

private void btnSave_Click(object sender, EventArgs e) {

try {

//Trường hợp sinh viờn nộp lần đầu tiờn của kỳ đú if (Danop == true)

if

(myDataset.Tables[4].Rows[myDataset.Tables[4].Rows.Count - 1] [7].ToString().Trim() == "")

MessageBox.Show("Bạn chưa nhập học phớ", "Thụng bỏo", MessageBoxButtons.OK, MessageBoxIcon.Warning);

else if

(Convert.ToInt32(myDataset.Tables[4].Rows[myDataset.Tables[4].Rows.Count - 1][7].ToString()) > Money)

MessageBox.Show("Số tiền bạn vừa nhập vượt quỏ mức quy định", "Cảnh bỏo", MessageBoxButtons.OK, MessageBoxIcon.Warning);

else { dgvHocphi.Rows[dgvHocphi.Rows.Count - 2].Cells[7].Value = Convert.ToInt32(dgvHocphi.Rows[dgvHocphi.Rows.Count - 2].Cells[5].Value); dgvHocphi.Rows[dgvHocphi.Rows.Count - 2].Cells[6].Value = (Money - Convert.ToInt32(dgvHocphi.Rows[dgvHocphi.Rows.Count - 2].Cells[5].Value)); //--- strSql = "Update tblSinhvien set danop='" +

Convert.ToInt32(dgvHocphi.Rows[dgvHocphi.Rows.Count - 2].Cells[5].Value) + "'," +

" Conthieu='" + (Money -

Convert.ToInt32(dgvHocphi.Rows[dgvHocphi.Rows.Count - 2].Cells[5].Value)) + "'" +

" where Masv='" + Masosv + "'"; myDataset = myData.SelectUpdateDataSet(strSql,

Program.LoGin.strConnection, myDataset, "tblSinhvien"); myData.UpdateDataSet(myDataset, "tblSinhvien"); this.Load_Select_Update(); myData.UpdateDataSet(myDataset, "TBLHOCPHI"); myDataset.Tables[4].Clear(); this.Load_Display_Table(); //--- this.btnCancel.Enabled = false; this.btnSave.Enabled = false; this.btnPrint.Enabled = true; dgvSV.Enabled = true; btnGo.PerformClick(); } }

//Trường hợp sinh viờn nộp lần thứ 2 trở đi, chương trỡnh sẽ tự động tỡm đến mó số của sinh viờn này trong lần nộp trước đú và cập nhật số tiền mới này vào số tiền đó nộp trước đú.Ở đõy sinh viờn cú thể nộp được nhiều lần

else if (Danop == false) {

if

(myDataset.Tables[4].Rows[myDataset.Tables[4].Rows.Count - 1] [7].ToString().Trim() == "")

MessageBox.Show("Bạn chưa nhập học phớ", "Thụng

Một phần của tài liệu Quản lí học phí (Trang 32)

Tải bản đầy đủ (DOC)

(52 trang)
w