基于java學(xué)生考勤管理系統(tǒng)
《基于java學(xué)生考勤管理系統(tǒng)》由會員分享,可在線閱讀,更多相關(guān)《基于java學(xué)生考勤管理系統(tǒng)(41頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、基于基于 javajava 的學(xué)生考勤信息管理系統(tǒng)設(shè)計(jì)的學(xué)生考勤信息管理系統(tǒng)設(shè)計(jì) 摘摘 要要 學(xué)生考勤信息管理系統(tǒng)用于實(shí)現(xiàn)學(xué)校對在校學(xué)生的考勤信息的管理,是典型的管理 信息系統(tǒng)。學(xué)生考勤信息的手工登記查詢,是一項(xiàng)非常繁重而枯燥的勞動。在計(jì)算機(jī)技 師飛速發(fā)展的今天,應(yīng)用數(shù)據(jù)庫技術(shù)實(shí)現(xiàn)學(xué)生考勤信息統(tǒng)計(jì)的管理是行之有效的。 本文系統(tǒng)地介紹了一個(gè)基于 java 的學(xué)生考勤信息管理系統(tǒng),論述了一個(gè)基于 java 的 B/S 考勤信息管理系統(tǒng)的設(shè)計(jì)原理、設(shè)計(jì)思想及具體的實(shí)現(xiàn)過程,對部分架構(gòu)及設(shè)計(jì) 思想和設(shè)計(jì)過程作了詳細(xì)闡述。系統(tǒng)具有師生個(gè)人信息管理、請假、增刪師生信息等功 能,信息管理模塊、考勤管理模塊和
2、考勤系統(tǒng)模塊。 本系統(tǒng)開發(fā)主要包括后臺數(shù)據(jù)庫的建立以及前端應(yīng)用程序的開發(fā)兩部分。其一要求 建立起的數(shù)據(jù)庫具有完整性和一致性,并具有一定的數(shù)據(jù)安全性;其二要求程序界面友 好、功能完備,通俗易懂。本次發(fā)采用 HTML、JSP、JS、STRUCTS1、SQL Server 2005 數(shù) 據(jù)庫等技術(shù)。本文著重討論了用 JSP 技術(shù)和 SQL Server 2005 開發(fā)考勤管理系統(tǒng)時(shí)的數(shù) 據(jù)庫訪問技術(shù)和動態(tài)網(wǎng)頁制作技術(shù),并給出了部分實(shí)現(xiàn)代碼。 關(guān)鍵詞:關(guān)鍵詞:考勤信息管理系統(tǒng);java ;B/S ;SQL server Based on java DBUnit dbUnit = new DBUnit(
3、SQL_CLASSNAME, SQL_URL, SQL_USERNAME, SQL_PASSWORD); ArrayList list = new ArrayList(); list.add(status); list.add(note); list.add(new Date(); list.add(tname); list.add(qjid); 6.6.4 4 考勤錄入考勤錄入 (1)程序描述 該模塊是系統(tǒng)的目的所在,是非常重要的一個(gè)模塊。 (2) 功能 表 6-4 考勤錄入功能表 程序名稱考勤錄入 相關(guān)數(shù)據(jù)庫表attendance 輸入考勤信息(學(xué)號、課程號、時(shí)間、節(jié)次) 、考勤狀態(tài) 輸出
4、將個(gè)人選課情況顯示 程序處理說明1 輸入時(shí)間信息、課程信息 2 驗(yàn)證課程是否已考勤 3 將該記錄插入數(shù)據(jù)庫 (3)程序流程圖 結(jié)束 查看學(xué)生信息 開始 判斷節(jié)次是否已考核 N Y 把選課信息添加到選課表 錄入考勤信息 圖 6-4 課程考勤程序流程圖 (4)測試計(jì)劃 1)選擇班級時(shí),則顯示該班級所有學(xué)生。 2)當(dāng)考勤已進(jìn)行,則顯示該節(jié)課已考勤。 3)當(dāng)學(xué)生考勤狀態(tài)為曠課,則顯示曠課狀態(tài) (5)關(guān)鍵代碼 String sql = “SELECT * FROM CA_STATUS WHERE SHIJIAN = ? AND JIECI = ? and zy=?“; result=dbUnit.bat
5、chUpdateAutoClose(conn,“insertintoattendance(sno,cno,shijian,jieci,s tatues) values(?,?,?,?,?)“, list); result=dbUnit.updateAutoClose(“insert into CA_STATUS(shijian,jieci,zy,bj) values(?,?,?,?)“, list1); 6.6.5 5 考勤修改考勤修改 (1)程序描述 該模塊擴(kuò)大了考勤的靈活度。 (2) 功能 表 6-5 考勤信息修改功能表 程序名稱學(xué)生考勤情況、考核表 相關(guān)數(shù)據(jù)庫表attendance、ca
6、_status 輸入考勤信息(學(xué)號、課程號、時(shí)間、節(jié)次、考勤) 、修改狀態(tài) 輸出將個(gè)人選課情況顯示 程序處理說明1 輸入時(shí)間信息、班級信息 2 驗(yàn)證該節(jié)次是否已進(jìn)行考核 3 將該記錄插入數(shù)據(jù)庫 (3)程序流程圖 結(jié)束 開始 是否已考勤 N Y 修改學(xué)生考勤信息 選擇班級、節(jié)次 圖 6-5 考勤信息修改程序流程圖 (4)測試計(jì)劃 1)當(dāng)學(xué)生為曠課專題,則顯示曠課。 2)當(dāng)該節(jié)次未進(jìn)行考核,則可以提示未進(jìn)行考勤。 (5)關(guān)鍵代碼 String sql = “SELECT * FROM CA_STATUS WHERE SHIJIAN = ? AND JIECI = ? and zy=?“; resu
7、lt = dbUnit.batchUpdateAutoClose(conn, “delete from attendance where sno = ? and cno = ? and shijian = ? and jieci = ? and ?0“, list); result = dbUnit.batchUpdateAutoClose(conn, “insert into attendance(sno,cno,shijian,jieci,statues) values(?,?,?,?,?)“, list); 7 7 系統(tǒng)維護(hù)與測試系統(tǒng)維護(hù)與測試 7.17.1 系統(tǒng)的維護(hù)系統(tǒng)的維護(hù) 系統(tǒng)維
8、護(hù)的目的是保證考勤信息管理系統(tǒng)正常而可靠地運(yùn)行,并能使系統(tǒng)不斷得到 改善和提高,以充分發(fā)揮作用。換言之,系統(tǒng)維護(hù)就是為了保證系統(tǒng)中的各個(gè)要素隨著 環(huán)境的變化始終處于最新的、正確的工作狀態(tài)。系統(tǒng)維護(hù)的工作量往往是很大的,其費(fèi) 用大約占整個(gè)生命周期的 60%,所以我們必須對系統(tǒng)維護(hù)給予足夠的重視。 1、系統(tǒng)維護(hù)的內(nèi)容 按照系統(tǒng)維護(hù)對象的不同,系統(tǒng)維護(hù)的內(nèi)容可分為以下幾類: (1)系統(tǒng)應(yīng)用程序維護(hù) (2)數(shù)據(jù)維護(hù) (3)代碼維護(hù) (4)硬件設(shè)備維護(hù) 2、系統(tǒng)維護(hù)的類型 系統(tǒng)維護(hù)的重點(diǎn)是系統(tǒng)應(yīng)用軟件的維護(hù)工作,按照軟件維護(hù)的不同性質(zhì),可以劃分 為下面四種類型: (1)糾錯(cuò)性維護(hù) 診斷和修正系統(tǒng)中遺留的
9、錯(cuò)誤。 (2)適應(yīng)性維護(hù) 使系統(tǒng)適用環(huán)境的變化而進(jìn)行的維護(hù)。 (3)完善性維護(hù) 為滿足用戶的需求而進(jìn)行的維護(hù)。 (4)預(yù)防性維護(hù) 為將要發(fā)生的變化或調(diào)整而進(jìn)行的主動性維護(hù)。 3、系統(tǒng)維護(hù)的組織與管理 系統(tǒng)維護(hù)工作,首先必須建立一個(gè)維護(hù)組織,確定進(jìn)行維護(hù)工作所應(yīng)遵循的原則和 規(guī)范化的過程,此外還應(yīng)建立一套適用于具體系統(tǒng)維護(hù)過程的文檔及管理措施,以及進(jìn) 行復(fù)審的標(biāo)準(zhǔn)。 7.27.2 系統(tǒng)測試系統(tǒng)測試 在 java 開發(fā)過程中采用了多種措施保證軟件質(zhì)量,但是實(shí)際開發(fā)過程中還是不可避 免地會產(chǎn)生差錯(cuò),系統(tǒng)中通??赡茈[藏著錯(cuò)誤和缺陷,未經(jīng)周密測試的系統(tǒng)投入運(yùn)行, 將會造成難以想象的后果,因此系統(tǒng)測試是開
10、發(fā)過程中為保證軟件質(zhì)量必須進(jìn)行的工作。 大量統(tǒng)計(jì)資料表明,系統(tǒng)測試的工作量往往占開發(fā)總工作量的 40%以上。因此,我們必 須重視測試工作。 由于程序中隱藏的缺陷只在特定的環(huán)境下才有可靠顯露,系統(tǒng)缺陷通常是由于對某 些特定情況考慮不周造成的。因此測試不是為了表明程序正確;成功的測試也不是沒有 發(fā)現(xiàn)錯(cuò)誤的測試。有意義的軟件測試應(yīng)該是從“破壞”軟件系統(tǒng)的角度出發(fā),精心設(shè)計(jì) 最有可以暴露程序系統(tǒng)缺陷的測試方案。因此軟件測試的目標(biāo)應(yīng)該是以盡可能少的代價(jià) 和時(shí)間找出軟件系統(tǒng)中潛在的錯(cuò)誤和缺陷。 從產(chǎn)品角度看,測試計(jì)劃中的測試項(xiàng)目包括軟件結(jié)構(gòu)中的分系統(tǒng)層、子系統(tǒng)層、功 能模塊層、程序模塊層中的各類模塊,從測
11、試本身看,分為單元測試,組合測試,確認(rèn) 測試等。測試對象是隨著階段而異的,最基本、最初的測試是單元測試,后面的組合測 試、確認(rèn)測試都是以被測過的模塊作為測試對象的。 在具體的測試中,一般應(yīng)遵循以下原則:由程序設(shè)計(jì)者之外的人進(jìn)行測試;測試用 例應(yīng)由兩部分組成:輸入數(shù)據(jù)和預(yù)期輸出結(jié)果;應(yīng)選用不合理的輸入數(shù)據(jù)與非法輸入測 試;不僅要檢驗(yàn)程序是否實(shí)現(xiàn)預(yù)期功能,還應(yīng)檢查程序是否做了不應(yīng)該做的工作;集中 測試容易出錯(cuò)的程序模塊;對程序修改以后,必須重新進(jìn)行測試。 在開發(fā)本系統(tǒng)時(shí),為了使系統(tǒng)能夠穩(wěn)定運(yùn)行,對本系統(tǒng)進(jìn)行了有針對性的全面測試, 采取的方式是: (1)菜單項(xiàng)測試:為了保證每一項(xiàng)下拉菜單能夠正確實(shí)現(xiàn)
12、系統(tǒng)設(shè)計(jì)的功能,我把相 關(guān)的基礎(chǔ)數(shù)據(jù),基本上全部輸入到本系統(tǒng)中,并對每一個(gè)菜單項(xiàng)多次進(jìn)行了增加、刪除、 修改等操作,從而保證了菜單功能的正確實(shí)現(xiàn)。 (2)數(shù)據(jù)跟蹤:完成菜單項(xiàng)測試后,我又對系統(tǒng)內(nèi)的每一個(gè)數(shù)據(jù)進(jìn)行了跟蹤。經(jīng)過 實(shí)踐證實(shí),說明該功能完全正常,對其它的功能模塊也進(jìn)行了類似的設(shè)置。 (3)綜合測試:在以上測試的基礎(chǔ)上對系統(tǒng)功能進(jìn)行了整體的測試,依次檢驗(yàn)系統(tǒng) 功能是否符合系統(tǒng)設(shè)計(jì)的要求。 結(jié)結(jié) 論論 本論文詳述了基于 java 的 B/S 學(xué)生考勤信息系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的整個(gè)開發(fā)流程,本設(shè) 計(jì)是對本人在大學(xué)四年所學(xué)知識的綜合考驗(yàn),在開發(fā)過程中,本人對軟件開發(fā)的認(rèn)識有 了進(jìn)一步的提高,對軟件應(yīng)
13、用程序開發(fā)流程有了深刻地了解,這些都在我以后的學(xué)習(xí)工 作中有了很大的幫助。 系統(tǒng)的制作已經(jīng)完成了。雖然它沒有投入到學(xué)校的選課系統(tǒng)中,但是它的功能是完 全可以實(shí)現(xiàn)簡單的選課,同時(shí)操作性強(qiáng),具有人性化。 這過程真的不容易,特別是在遇到一個(gè)問題的時(shí)候,真的會讓人無時(shí)無刻都在想著 那個(gè)問題的解決方法,無形中減少了很多的自由時(shí)間,但是每當(dāng)把問題解決的時(shí)候,就 會覺得所有的一切都是值得的。特別是在需求分析的階段很多時(shí)候都沒有考慮完整,導(dǎo) 致我到后面要改很多。所以一定要先分析清楚想好需求,否則會做很多的無用功。在這 里我將系統(tǒng)設(shè)計(jì)做如下總結(jié): 系統(tǒng)完成情況: 本系統(tǒng)的功能已經(jīng)達(dá)到設(shè)計(jì)的要求。系統(tǒng)中各個(gè)模塊的
14、功能均已實(shí)現(xiàn),為整體系 統(tǒng)的構(gòu)建奠定了基礎(chǔ)。 系統(tǒng)中模塊劃分明確,模塊功能設(shè)計(jì)有較強(qiáng)的針對性。 系統(tǒng)的設(shè)計(jì)遵循軟件開發(fā)的全過程,使我對軟件系統(tǒng)的開發(fā)過程有了更深刻的認(rèn) 識和了解。 系統(tǒng)不足之處: 系統(tǒng)中整個(gè)背景樣式還可以做的更加動感,更加美觀,在這方面的學(xué)習(xí)還有待加 強(qiáng)。 系統(tǒng)中老師考勤的時(shí)候需要手動選擇課程,以后可以考慮把科目跟教師綁定???以更方便的進(jìn)行考勤。 系統(tǒng)只局限于計(jì)算機(jī)系,沒有涉及其他系,這樣只能系部管理,如果可以把全校 的專業(yè)系別都加入,校部進(jìn)行管理,這樣會更加方便學(xué)校進(jìn)行管理。 系統(tǒng)中考勤統(tǒng)計(jì)如果以圖表方式展現(xiàn)會更直觀。 考勤管理系統(tǒng)到這里才告一個(gè)段落,還不僅僅是到此就結(jié)束了
15、,以后還有很多的功 能要添加進(jìn)來,到后面還要添加志愿管理,全校專業(yè)的管理等等功能,對于一個(gè)專業(yè)的 考勤管理軟件,僅僅只有這些功能還是不夠的。 在出去實(shí)習(xí)之前,JS 對于我來說還是一個(gè)非常陌生的東西,從我進(jìn)入軟件編程這一 行到我去學(xué)用 JS 來編程,同時(shí)輔助 JSP 來編程,整個(gè)過程是很有收獲的。在這整個(gè)過程 當(dāng)中我有很多很深刻的體會,同時(shí)也學(xué)到了非常多的東西。 就本次的畢業(yè)設(shè)計(jì)而言,在學(xué)到了新的東西的同時(shí),也發(fā)現(xiàn)了大量的問題,在慢慢 解決這些問題的時(shí)候,我學(xué)到的東西是最多的。以后繼續(xù)走編程這條路碰到的問題還會 更多,但同時(shí)也會有更多的收獲。 雖然這次的設(shè)計(jì)還有有缺陷,但是它是我一個(gè)人獨(dú)立完成,
16、很大的增強(qiáng)了我的自信 心,同時(shí)使我更加堅(jiān)定了編程這條路。 參考文獻(xiàn)參考文獻(xiàn) 1 趙卓君:java 程序設(shè)計(jì)基礎(chǔ)教程.北京:清華大學(xué)出版社,2010 2 閃四清.SQL Server 實(shí)用簡明教程M.清華大學(xué)出版社,2005 3 楊學(xué)瑜,王志軍,劉同利.JSP 入門與提高M(jìn).清華大學(xué)出版社,2002 4 廖望,何俊,謝春旺,鐘永生,黃智誠.SQL Server 2000 案例教程M.冶金工業(yè)出版社,2004. 5 Java 基礎(chǔ)教程(從問題分析到程序設(shè)計(jì)).馬里克、萊歐著,郭平譯.北京:清華大學(xué)出版社, 2004.10 6 連洪武.Eclipse Web 開發(fā)從入門到精通M.清華大學(xué)出版社,20
17、07.6 7 耿祥義,張躍平.JSP 實(shí)用教程(第 2 版)M.清華大學(xué)出版社,2007.10 8 薩師煊,數(shù)據(jù)庫系統(tǒng)概述 . 高等教育出版社 . 2006.5 9 李雁領(lǐng):數(shù)據(jù)庫技術(shù)及應(yīng)用 M,高等教育出版社, 200 謝謝 辭辭 本次的畢業(yè)課題設(shè)計(jì)是我大學(xué)生活中經(jīng)歷的又一段忙碌而充實(shí)的時(shí)光。在將近三個(gè) 月的時(shí)間里,我學(xué)到了很多的東西,不僅掌握到了更多的理論知識,擴(kuò)展了知識面,提 高了自己的實(shí)際操作能力,而且學(xué)會了如何去學(xué)習(xí)新的知識,學(xué)會了面對困難和挑戰(zhàn), 學(xué)會了團(tuán)結(jié)合作,互幫互助。借此論文之際,向所有幫助、關(guān)心、支持我的老師、朋友 同學(xué),表達(dá)最真誠的謝意。 首先感謝北京理工大學(xué)珠海學(xué)院四年
18、來對我的培養(yǎng)與教導(dǎo),同時(shí)也感謝計(jì)算機(jī)學(xué)院 的項(xiàng)目團(tuán)隊(duì),在加入項(xiàng)目團(tuán)隊(duì)以來,我在項(xiàng)目實(shí)踐方面得到鍛煉,積累了豐富的知識, 培養(yǎng)了嚴(yán)謹(jǐn)?shù)倪壿嬎伎寄芰?,專業(yè)能力進(jìn)一步提高,動手實(shí)踐能力也得到進(jìn)一步提高, 這也為我今天的畢業(yè)設(shè)計(jì)的完成奠定了扎實(shí)的基礎(chǔ)。 本論文是在胡敬朋老師的耐心指導(dǎo)下完成的。在此,我對他的耐心指導(dǎo)和幫助表達(dá) 我最真誠的謝意,感謝他在這幾個(gè)月來為我們的畢業(yè)設(shè)計(jì)所付出的努力。在這段時(shí)間里, 我從他身上,不僅學(xué)到了許多的專業(yè)知識,更感受到了他工作中的兢兢業(yè)業(yè),生活中的 平易近人和教學(xué)中的熱情豪邁,讓我學(xué)到了很多在課本上沒有學(xué)到的知識。 畢業(yè)設(shè)計(jì)項(xiàng)目的順利完成,離不開各位老師和同學(xué)的支持和幫
19、助,同時(shí)也離不開我 的實(shí)習(xí)公司東信和平,在整個(gè)本設(shè)計(jì)開展過程中,我感謝他們問我的畢業(yè)設(shè)計(jì)提出了寶 貴的建議和意見,使我的設(shè)計(jì)得到進(jìn)一步的完善并最終得以完成,在此,我再次向他們 表示真摯的謝意。另外還要感謝我的父母,為我的學(xué)業(yè)提供了物質(zhì)和精神,沒有他們的 付出,就沒有今天的我。 總之,在以后的學(xué)習(xí)、工作、生活中我將更加努力,用自己的行動回報(bào)社會、父母、 學(xué)校、老師及同學(xué)。最后感謝關(guān)心和幫助過作者的所有老師與同學(xué)。并向參與此次答辯 的老師致以謝意。 附附 錄錄 附錄 1 程序源代碼 /=登錄=/ /* * 是否登錄成功,并返回用戶類型 * * param uid * 用戶名 * param pas
20、sword * 密碼 * return * throws Exception */ public User isLoginSuccess(String uid,String password) throws Exception User user = null; if(uid=null|password=null) ; else DBUnit dbUnit = new DBUnit(SQL_CLASSNAME,SQL_URL,SQL_USERNAME,SQL_PASSWORD); ArrayList list = new ArrayList(); list.add(uid); list.add
21、(password); ResultSet res = dbUnit.queryAutoClose(“select * FROM LOGINUSER where ACCOUNT = ? and password = ?“,list); if(res.next() user = new User(); int type = res.getInt(“type“); String name = res.getString(“NAME“); user.setUid(uid); user.setType(type); user.setUsername(name); return user; /=人員信息
22、列表=/ public List getStudent() List list = null ; String sql = “SELECT STUDENT.* ,specialty.sname as zy,classname “ + “FROM STUDENT,specialty,class “ + “WHERE specialty.SID = STUDENT.professional“ + “ and class.zyid = STUDENT.professional and class.id = student.sclass“ ; DBUnit dbUnit = new DBUnit(SQ
23、L_CLASSNAME,SQL_URL,SQL_USERNAME,SQL_PASSWORD); try ResultSet rs = dbUnit.queryAutoClose(sql); if(rs!=null) list = new ArrayList(); while(rs.next() String sno = rs.getString(“SNO“) ; String sname = rs.getString(“SNAME“); String sex = rs.getString(“SEX“); String jg = rs.getString(“birthplace“); int z
24、yid = rs.getInt(“professional“); String zy = rs.getString(10); String tel = rs.getString(“TEL“); String email = rs.getString(“EMAIL“); String note = rs.getString(“NOTE“); String sclass = rs.getString(“classname“); Student student = new Student(); student.setBirthplace(jg); student.setEmail(email); s
25、tudent.setNote(note); student.setSclass(sclass); student.setSex(sex); student.setTel(tel); student.setSname(sname); student.setSno(sno); Specialty s = new Specialty(); s.setId(zyid); s.setName(zy); student.setProfessional(s); list.add(student); catch (Exception e) / TODO Auto-generated catch block e
26、.printStackTrace(); finally return list ; /=增加用戶=/ public boolean addStudentDao(Student student) throws Exception String sql = “insert into student values(?,?,?,?,?,?,?,?,?)“ ; boolean suc = false; DBUnit dbUnit = new DBUnit(SQL_CLASSNAME,SQL_URL,SQL_USERNAME,SQL_PASSWORD); ArrayList list = new Arra
27、yList(); list.add(student.getSno(); list.add(student.getSname(); list.add(student.getSclass(); list.add(student.getSex(); list.add(student.getBirthplace(); list.add(student.getTel(); list.add(student.getProfessional().getId(); list.add(student.getEmail(); list.add(student.getNote(); if(dbUnit.update
28、AutoClose(sql,list) suc=true; sql = “INSERT INTO LOGINUSER(ACCOUNT,PASSWORD,NAME,TYPE) VALUES(?,?,?,?)“ ; ArrayList list1 = new ArrayList(); list1.add(student.getSno(); list1.add(student.getSno(); list1.add(student.getSname(); list1.add(5); dbUnit.updateAutoClose(sql,list1); return suc; /=用戶修改=/ pub
29、lic boolean updateStudentDao(Student student) throws Exception String sql = “update student set sname= ?, sclass = ?, sex = ?, birthplace = ?, tel = ?, professional = ?, email = ?, note = ? where sno = ?“ ; boolean suc = false; DBUnit dbUnit = new DBUnit(SQL_CLASSNAME,SQL_URL,SQL_USERNAME,SQL_PASSWO
30、RD); ArrayList list = new ArrayList(); list.add(student.getSname(); list.add(student.getSclass(); list.add(student.getSex(); list.add(student.getBirthplace(); list.add(student.getTel(); list.add(student.getProfessional().getId(); list.add(student.getEmail(); list.add(student.getNote(); System.out.pr
31、intln(“-“+student.getSno(); list.add(student.getSno(); if(dbUnit.updateAutoClose(sql,list) suc=true; return suc; /=用戶刪除=/ public boolean deleteStudentDao(String sno) throws Exception String sql = “delete from student where sno = ?“ ; boolean suc = false; DBUnit dbUnit = new DBUnit(SQL_CLASSNAME,SQL_
32、URL,SQL_USERNAME,SQL_PASSWORD); ArrayList list = new ArrayList(); list.add(sno); if(dbUnit.updateAutoClose(sql,list) suc=true; System.out.println(suc+“222“); return suc; /=請假列表=/ public List getQjxxByTeacher(String tno) List qjxxList = null ; ArrayList list = new ArrayList(); boolean result = false
33、; list.add(tno); String sql = “SELECT b.id,A.SNO,A.SNAME,B.BEGINDATE,B.BEGINJC,B.ENDDATE,B.ENDJC,B.REASON,B.STATUES,B .APPTIME“+ “ FROM STUDENT A,QJMX B,TEACHER C“+ “ WHERE A.SNO = B.SNO AND C.professional = A.professional“+ “ AND A.SCLASS = C.CLASS AND C.TNO = ?“; DBUnit dbUnit = new DBUnit(SQL_CLA
34、SSNAME,SQL_URL,SQL_USERNAME,SQL_PASSWORD); ResultSet res; try res = dbUnit.queryAutoClose(sql,list); if(res!=null res.previous(); while(res.next() QjxxBean qjxx = new QjxxBean(); String id = res.getString(“id“); String sno = res.getString(“sno“); String sname = res.getString(“sname“); String kssj =
35、res.getString(“BEGINDATE“); String ksjc = res.getString(“BEGINJC“); String jssj = res.getString(“ENDDATE“); String jsjc = res.getString(“ENDJC“); String content = res.getString(“REASON“); int zt = res.getInt(“STATUES“); String sqsj = res.getString(“APPTIME“); Student student = new Student(); student
36、.setSno(sno); student.setSname(sname); qjxx.setId(id); qjxx.setBeginDate(kssj); qjxx.setBeginJC(ksjc); qjxx.setEndDate(jssj); qjxx.setEndJC(jsjc); qjxx.setContent(content); qjxx.setStatus(zt); qjxx.setSqsj(sqsj); qjxx.setStudent(student); qjxxList.add(qjxx); catch (Exception e) / TODO Auto-generated
37、 catch block e.printStackTrace(); finally return qjxxList ; /=請假申請=/ public boolean qjAppl(String beginDate,String beginJC,String endDate,String endJC,String content,String sno) boolean res = false; String sql = “insert into qjmx(sno,begindate,beginjc,enddate,endjc,reason,statues,apptime) VALUES (?,
38、?,?,?,?,?,0,?)“; DBUnit dbUnit = new DBUnit(SQL_CLASSNAME, SQL_URL, SQL_USERNAME, SQL_PASSWORD); try ArrayList al = new ArrayList(); al.add(sno); al.add(beginDate); al.add(beginJC); al.add(endDate); al.add(endJC); al.add(content); al.add(new Date(); dbUnit.updateAutoClose(sql, al); / res = true; cat
39、ch (Exception e) e.printStackTrace(); finally return res; /=請假審批=/ public void updateQjxxsp(int status,String note,String qjid,String tname) String sql = “UPDATE qjmx SET statues = ? ,note = ? ,sptime = ?,spz = ? WHERE id = ?“; DBUnit dbUnit = new DBUnit(SQL_CLASSNAME, SQL_URL, SQL_USERNAME, SQL_PAS
40、SWORD); ArrayList list = new ArrayList(); list.add(status); list.add(note); list.add(new Date(); list.add(tname); list.add(qjid); try dbUnit.updateAutoClose(sql, list); catch (Exception e) e.printStackTrace(); /=考勤=/ public boolean addKqxx(String sj,String jc,String zy,String bj,String kc,Map khxx)
41、throws Exception boolean iskq = isKCKq(sj,jc,zy,bj); if(iskq=false) DBUnit dbUnit = new DBUnit(SQL_CLASSNAME,SQL_URL,SQL_USERNAME,SQL_PASSWORD); boolean result = true; Set set =khxx.entrySet(); Iterator it=set.iterator(); ArrayList list = new ArrayList(); ArrayList list1 = new ArrayList(); list1.add
42、(sj); list1.add(jc); list1.add(zy); list1.add(bj); while(it.hasNext() ArrayList sub = new ArrayList(); Map.Entry entry= (Entry) it.next(); String sno = entry.getKey() ; String sta = entry.getValue(); sub.add(sno); sub.add(kc); sub.add(sj); sub.add(jc); sub.add(sta); list.add(sub); Connection conn =
43、dbUnit.getConnetion(); try result = dbUnit.batchUpdateAutoClose(conn, “insert into attendance(sno,cno,shijian,jieci,statues) values(?,?,?,?,?)“, list); result = dbUnit.updateAutoClose(“insert into CA_STATUS(shijian,jieci,zy,bj) values(?,?,?,?)“, list1); catch (Exception e) System.err.println(“插入考勤情況失敗“); e.printStackTrace(); return result; else return false;
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《光的折射》課件-(公開課獲獎(jiǎng))2022年滬科版物理-
- UV油墨的基礎(chǔ)知識課件
- 藍(lán)色簡約后備護(hù)士長競聘動態(tài)課件
- 藍(lán)色清新筆記本翻頁年終總結(jié)模板課件
- 81二元一次方程組課件(人教版七年級下)
- 局部解剖學(xué)-頭部-蝶鞍區(qū)、海綿竇、硬腦膜
- 7273第1課時(shí) 位似圖形及作圖
- 供應(yīng)鏈管理-PPT
- 幼兒園管理過程
- 4索溪谷的“野”2
- 外科補(bǔ)液注意問題
- 組織行為學(xué)--價(jià)值觀與態(tài)度
- 燈光教學(xué)課件1
- 中原城市春季車展招商方案
- 祛痰劑醫(yī)學(xué)知識專家講座