周清松 付星宇



摘要:各個高校為避免學生出現無故缺席的現象,都在請假方面進行著嚴格的管理,學生必須辦理正規的請假手續才能獲批請假。高校學生請假管理系統代替傳統的紙質管理,節儉了物力、人力,并且將請假條管理和假期去向管理相結合,構成一個統一且便于操作的學生請假管理系統。
關鍵詞:假條審批;學生請假;管理系統
中圖分類號:TP315? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)13-0063-04
Abstract: In order to avoid undue absence of students, colleges and universities have strict management in asking for leave. Students must go through formal leave procedures before they can be granted leave. The management system of College Students' asking for leave replaces the traditional paper management, which saves material and human resources. It combines the leave note management and the leave destination management to form a unified and easy to operate student leave management system.
Key words:undue absence;asking for leave;management system
1 引言
為了提高學生們的出勤率,嚴格要求學生按時上課和下課,避免出現學生無端缺席的現象,各大高校對請假事項的管理都很嚴格,都有著自己的一套請假流程。通過學生請假管理系統的設計開發,能解決學生因不能及時得到輔導員或相關領導審批假條而耽誤時間的問題,同時將人工紙質管理學生請假事宜轉換為用系統來代替,方便省時;另外將學生請假和假期去向信息表填寫相結合,管理起來更加容易,也為學生們節約了更多時間,且操作起來比較方便。
開發和使用學生請假管理系統,它既能夠更加科學、更加便捷地管理學生相應的請假事宜,提高教學管理質量;另一方面也提高了輔導員老師的工作效率,實現請假記錄網絡化和自動化[1]。要使學校從請假管理系統中得到收獲,必須有相應的制度配套措施,這樣才能發揮出學生管理系統最大的效能,學生請假管理系統的設計和開發,能有效提高各個高校的請假管理水準,同時也為學校提供了一個良好的管理工具,化繁為簡的請假模式,使得學校的管理模式向著合理化科學化發展,良好的學生請假管理系統不但節省了人力和物力,同時也避免了效率低下的重復工作,完善了學校的學生管理水平[2]。
2 系統功能結構
高校學生請假管理系統系統功能結構圖如圖1所示。
3 概念模型
3.1 關系模式
學生信息:(學號、登錄密碼、姓名、性別、班級、年齡、手機號碼、學院、班級、注冊時間)
教師信息:(教師編號、登錄密碼、姓名、性別、年齡、手機號碼、電子郵箱、身份、學院、班級)
管理員信息:(管理員編號、登錄名、密碼、標識)
學院信息:(學院ID、學院名稱)
班級信息:(班級ID、所屬學院、班級名稱)
請假信息:(ID、學院、班級、學號、請假原因、請假依據、開始日期、結束日期、請假天數、具體描述、提交時間、請假狀態、審批結果)
假期去向信息:(ID、學院、班級、學號、離校日期、目的地、承諾、手機號碼、提交時間)
3.2 表間關系
實體E-R圖如圖2所示:
4 主要模塊設計及說明
本系統的核心模塊包括:學生模塊、教師模塊和管理員模塊。學生模塊包括填寫請假信息、填寫假期去向表以及查看自己的請假進度等。教師模塊主要包括審批假條以及銷假等。管理員模塊主要是對信息進行處理以及將相關信息導出到Excel進行保存等。
4.1學生模塊
4.2教師模塊
4.3管理員模塊
4.4具體請假審批模塊
5 主要模塊實現
5.1學生操作相關代碼
1)請假條填寫代碼
if (DateTime.Parse(txt_edate.Text) { MessageBox.Show(this, "開始日期不能大于結束日期"); return; } int day = 0; TimeSpants = DateTime.Parse(txt_edate.Text) - DateTime.Parse(txt_sdate.Text); day = ts.Days; stringaddrphoto =""; if (fpphoto.HasFile) { string name = this.fpphoto.PostedFile.FileName; inti = name.LastIndexOf('.'); stringextname = name.Substring(i); string filename = DateTime.Now.ToString("yyyyMMddhhmmssfff"); string path =? filename + extname; stringsavePath = Server.MapPath(@"..\uploads\" + filename + extname); fpphoto.PostedFile.SaveAs(savePath); addrphoto = path; } string strSql=String.Format(@"insert into leave(pid,clid,sno,title,photo,sdate,edate,days,ques,atime,flag) values ({0},{1},'{2}','{3}','{4}','{5}','{6}',{7},'{8}','{9}','{10}')", Session["pid"].ToString(),Session["clid"].ToString(),Session["bh"].ToString(),txt_title.Text,addrphoto,txt_sdate.Text,txt_edate.Text,day,txt_ques.Text,DateTime.Now,"等待審批"); DbHelperSQL.ExecuteSql(strSql.ToString()); MessageBox.ShowAndRedirect(this, "提交成功,請等待輔導員的審批!", "Manage.aspx"); } 2)假期去向表填寫代碼 string strSql=String.Format(@"insert into holiday(pid,clid,sno,lxdate,place,chengnuo,tel,atime) values ({0},{1},'{2}','{3}','{4}','{5}','{6}','{7}')", Session["pid"].ToString(),Session["clid"].ToString(),Session["bh"].ToString(),txt_title.Text,txt_sdate.Text,txt_edate.Text,txt_edate2.Text,DateTime.Now); DbHelperSQL.ExecuteSql(strSql.ToString()); MessageBox.ShowAndRedirect(this, "操作成功,請返回!", "Add.aspx"); } 5.2教師操作相關代碼 1)輔導員審批請假條代碼 string where = " where a.flag='等待審批' and a.by1 is null and a.clid="+Session["clid"].ToString(); if (txt_sno.Text != "") { where += " and sno like '%" + txt_sno.Text + "%' "; } if (txt_title.Text != "") { where += " and title like '%" + txt_title.Text + "%' "; } GridView1.DataSource = DbHelperSQL.Query("select a.*,b.pname,c.clname from leave a? left join parts b on a.pid=b.pid left join classes c on a.clid=c.clid " + where + " order by lid desc"); GridView1.DataBind(); 2)院系領導審批請假條代碼 protected void Page_Load(object sender, EventArgs e) { string where = " where a.flag='等待審批' and a.by1 is null and a.clid="+Session["clid"].ToString(); if (txt_sno.Text != "") { where += " and sno like '%" + txt_sno.Text + "%' "; } if (txt_title.Text != "") { where += " and title like '%" + txt_title.Text + "%' "; } GridView1.DataSource = DbHelperSQL.Query("select a.*,b.pname,c.clname from leave a? left join parts b on a.pid=b.pid left join classes c on a.clid=c.clid " + where + " order by lid desc"); GridView1.DataBind(); protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView1.PageIndex = e.NewPageIndex; bind(); } protected void btnSearch_Click(object sender, EventArgs e) { bind(); } protected void btnDele_Click(object sender, EventArgs e) { Button btn = (Button) sender; stringstrSql = string.Format("delete from? leave where lid={0}", btn.CommandName); DbHelperSQL.ExecuteSql(strSql); bind(); } 3)教務處審批請假條代碼 if (!IsPostBack) { ddlpid.DataSource = DbHelperSQL.Query("select pid,pname from parts"); ddlpid.DataTextField = "pname"; ddlpid.DataValueField = "pid"; ddlpid.DataBind(); ddlpid.Items.Insert(0, new ListItem("---全部---", "")); ddlclid.Items.Insert(0, new ListItem("---全部---", "")); bind(); } } private void bind() { string where = " where a.flag='等待審批' and a.by1='2' and days>7? "; if (txt_sno.Text != "") { where += " and sno like '%" + txt_sno.Text + "%' "; } if (txt_title.Text != "") { where += " and title like '%" + txt_title.Text + "%' "; } if (ddlpid.SelectedValue!= "") { where += " and a.pid=" + ddlpid.SelectedValue + ""; } if (ddlclid.SelectedValue!= "") { where += " and a.clid=" + ddlclid.SelectedValue + ""; } GridView1.DataSource = DbHelperSQL.Query( "select a.*,b.pname,c.clname from leave a? left join parts b on a.pid=b.pid left join classes c on a.clid=c.clid " + where + " order by lid desc"); GridView1.DataBind(); } 4)校領導審批請假條代碼 private void bind() { string where = " where a.flag='等待審批' and a.by1='3' and days>30? "; if (txt_sno.Text != "") { where += " and sno like '%" + txt_sno.Text + "%' "; } if (txt_title.Text != "") { where += " and title like '%" + txt_title.Text + "%' "; } if (ddlpid.SelectedValue!= "") { where += " and a.pid=" + ddlpid.SelectedValue + ""; } if (ddlclid.SelectedValue!= "") { where += " and a.clid=" + ddlclid.SelectedValue + ""; } GridView1.DataSource = DbHelperSQL.Query( "select a.*,b.pname,c.clname from leave a? left join parts b on a.pid=b.pid left join classes c on a.clid=c.clid " + where + " order by lid desc"); GridView1.DataBind(); } 5)銷假代碼 Button btn = (Button)sender; string strSql = string.Format("update leave set flag='已銷假' where lid={0}", btn.CommandName); DbHelperSQL.ExecuteSql(strSql); bind(); MessageBox.Show(this, "操作成功"); 5.3管理員導出數據操作代碼 GridView1.AllowPaging = false; //清除分頁 bind();? //綁定gridview1數據源的那個函數。 GridView1.Columns.RemoveAt(9); StringHelper.PushExcelToClientEx(GridView1, "請假信息表"); GridView1.AllowSorting = true; //恢復分頁 GridView1.AllowPaging = true;? //恢復排序 bind(); //再次綁定 6 結束語 系統的設計很好地顧及了學生、教師以及學院三方的需求,使學生請假更加快速和方便,教師審批假條也更加及時,相比于之前的紙質管理請假條,管理效率大大提高。在后續的改進中,將系統操作與各類人員的手機進行連接,各種信息可以及時地告知相關人員;將定位等功能結合起來,使監管更加科學和準確。 參考文獻: [1] 閻琦.基于UML的高校學生請假系統的建模與實現[J].信息技術,2014,38(3):92-94,99. [2] 金飛龍.金華職業技術學院的請假管理系統的設計與實現[D].成都:電子科技大學,2013. [3] 朱勇,伏海旭.基于RESTful的在線請假管理系統設計與實現[J].現代計算機(專業版),2018(36):96-100. [4] 夏婷婷.基于Web的高校學生請假管理系統的設計與研究[J].洛陽師范學院學報,2016,35(8):52-55. [5] 陳源.貴陽職業技術學院教師請假管理系統的研究與分析[D].昆明:云南大學,2017. [6] 蔣建瓊.一個基于WEB的學生請假管理系統的數據庫設計[J].電腦知識與技術,2013,9(14):3223-3225. 【通聯編輯:王力】