999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于安卓及云服務平臺的考勤管理系統

2021-12-08 10:33:38馬開聰
湖北工程學院學報 2021年6期
關鍵詞:界面數據庫信息

鐘 娟,馬開聰

(安徽建筑大學 電子與信息工程學院,安徽 合肥 230601)

“無紙化辦公”策略開始逐漸推廣,許多事業單位、民營企業和行政機關等開始實施“無紙化辦公”策略。企業使用計算機和計算機網絡對數據信息進行采集、傳輸和存儲[1-2],減少了紙張的使用,并且隨著信息技術的快速發展,數據的統計和展示越來越方便和專業化。企業管理方面也逐漸開始實現全信息化管理,企業考勤作為企業工作實踐中的重要組成部分,在企業工作規劃中占據著重要地位[3],通過計算機管理企業的考勤相關信息可以讓企業的管理效率最大化。當前的考勤系統種類繁多,大致可以分為:移動考勤、指紋考勤、打卡考勤、人工統計。現存的考勤系統只是簡單羅列數據,并沒有經過邏輯分析,展示不直觀。考勤數據也無法與辦公系統進行綁定,同時缺乏對出差及請假數據的引入,產生問題數據[4]。優秀的考勤系統可以為企業節省成本,提高考勤效率,達到企業與員工雙贏。

基于Android平臺的智能移動終端的快速發展,憑借其先進的硬件和軟件架構,能夠支持多種無線通信方式[5],鑒于此,本文采用RFID技術創建一款基于安卓及云平臺的考勤管理系統,主要功能是對員工考勤和考勤情況分析和統計,便于管理人員去統計考勤信息,減少人力的耗費。系統通過信息技術手段,結合科學的管理理論、設計、開發和搭建一個員工考勤管理系統,通過設計合理的考勤管理制度,讓考勤管理變得科學合理,從而提高企業管理的效率,讓企業的管理不再是難題。

1 系統功能簡介及可行性分析

1.1 系統功能簡介

系統功能有用戶考勤、添加員工信息、修改員工信息、請假、出差、查看員工出勤、查看具體出勤和設置管理員。安卓設備連接讀卡器,在規定的時間段內可以刷卡實現用戶考勤功能。輸入管理員手機號和密碼可以進入管理界面,將安卓設備連接讀卡器后可以添加員工的信息,包括員工的姓名、手機號、性別等。點擊進入修改員工信息界面,會顯示所有已經注冊的員工姓名,點擊某位員工姓名可以修改這位員工的信息。點擊進入請假界面,輸入手機號并選擇請假起始日期,可以實現請假功能。點擊進入出差界面,輸入手機號并選擇出差起始日期,可以實現出差功能。進入員工出勤界面可以顯示所有員工姓名,通過搜索框可以搜索員工姓名,點擊姓名進入員工個人界面,顯示該員工本月詳細考勤記錄(遲到次數、出差次數、請假次數)。點擊進入具體出勤界面,通過選擇部門、年份、月份可以查看不同部門、年份、月份的員工具體考勤情況,考勤情況可以用Excel表格的形式導出。點擊進入設置管理員界面可以設置管理員,該功能只有超級用戶有權限進入,對應的系統功能如圖1所示。

圖1 系統功能圖

1.2 系統軟硬件可行性分析

1.2.1 系統軟件可行性分析

系統軟件采用Java語言開發,借助于Android手機、 Android Studio開發工具和Bmob云服務器實現了該考勤系統。其中,Java語言具有跨平臺、面向對象性、穩定和便捷的特點。Android是一種基于Linux內核的自由及開放源代碼的操作系統,它開發App方便快捷、簡單。Android Studio是谷歌推出的Android 集成開發工具,通過使用Android Studio,移動開發者只需要在Java中調用動態鏈接庫中的函數就可以訪問硬件資源[6-9]。開發軟件的平臺僅需要普通配置的電腦即可,調試可以在安卓機上實現,不需要過多的硬件設備。手機端通過Wifi與Bmob相連接,我們知道Wifi是一種短距離無線技術[10]。Bmob云數據庫將移動開發者從搭建服務器中解脫出來,只需要調用接口函數,就可以實現對數據的存儲和請求操作,使得開發者將更多精力花在移動應用程序的開發上。在Bmob官網上注冊賬號,可以創建應用云數據庫,根據創建的數據庫的Key來和應用程序組相匹配,從而實現應用程序與數據庫的綁定,在控制臺對數據庫的數據進行查看和修改,十分方便。Bmob云數據庫的系統功能穩定,可以保證應用程序的穩定運行。

Bmob云數據庫為開發者提供了免費的云數據庫資源,通過實現接口可以享受云數據庫服務,具有穩定,反應迅速等特點。Bmob云數據庫提供了數據存儲、數據查詢、數據更新、數據刪除等服務,可以很好的滿足考勤系統的要求,降低開發時間和成本。

1.2.2 系統硬件可行性分析

射頻識別是一種基于電磁的技術,使用無線標簽傳輸和接收數據[11]。標簽通常附加在物品上,以自動識別和跟蹤它們。許多研究者報告了在教育部門使用AIDC技術的情況。例如:R?dulescu和Popescu[12]探索了使用條形碼技術來跟蹤和管理圖書館的圖書。Rios-Aguilar等[13]提出了利用基于NFC的移動商務信息系統實現班級考勤登記。Eydgahi等[14]探索了利用RFID來管理本科高年級設計項目的出勤。

本系統硬件讀卡器采用射頻技術RFID,型號為YW-605的高頻13.56 M射頻卡讀寫器,支持讀寫13.56 M各類射頻IC卡,讀寫距離小于10 cm,供電為+5VDC,尺寸大小為110 mm*70 mm,可以通過USB連接Android設備。該讀卡器可以與Android或Web開發環境較好的結合,實現打卡考勤的功能。

該RFID讀卡器讀寫穩定,保證了考勤系統的穩定性。并且該系統開發成本低,并考慮到用戶基數的龐大,具有一定的經濟可行性,對應的讀卡器如圖2所示。

2 系統平臺設計

2.1 員工考勤模塊設計

員工考勤模塊設計的是實現考勤功能,該模塊涉及到兩個數據庫表分別是員工表和考勤表。員工表的屬性有:員工ID、姓名、手機號、性別、年齡、所屬部門。考勤表的屬性有:員工ID、年、月、日、上午簽到、上午簽退、下午簽到、下午簽退。

員工使用RFID卡通過RFID讀卡器來打卡,考勤都會先查詢員工表看其是否已注冊,若沒注冊則不會繼續進行打卡操作,并且提示“此卡未注冊”。若員工已經注冊,則系統會獲取當前時間與打卡時間段進行比較,若不在此時間段,則會提示“現在不是打卡時間”;若在考勤時間段,會先判斷當前日期是否在考勤表中已經創建,若已經創建則根據當前時間段來修改當前時間段的考勤記錄。若當前日期的考勤記錄未創建,則會在考勤表中創建一條當前日期的考勤記錄,具體的考勤流程圖如圖3所示。

圖3 考勤模塊流程圖

2.2 管理員登錄模塊設計

該模塊的功能是驗證管理員身份,涉及到的數據庫表是管理員表。管理員表的屬性有姓名、手機號、密碼、是否是超級用戶等。管理員輸入手機號和密碼就可以進入管理界面,點擊下方的記住密碼可以保存手機號和密碼,下次登錄直接點擊登錄即可,不需要再輸入手機號和密碼。點擊登錄后,系統會從管理員表查詢是否存在此員工信息,如果存在則允許進入管理界面。

2.3 添加和修改員工信息模塊設計

該模塊的功能是添加員工信息和修改員工信息,涉及到數據庫表是員工表。添加員工信息模塊需要連接RFID讀卡器,通過刷卡來獲取卡號,并將此卡號與該員工綁定,輸入員工相關信息,點擊注冊,系統將輸入的信息封裝到員工類,向Bmob數據庫提交封裝后的員工類,從而在數據庫中添加員工的信息,即可實現該員工的信息錄入。修改員工信息模塊要使用RecyclerView來展示所有的員工姓名,點擊其中一位員工會通過Intent將員工信息傳遞給員工詳細界面。會進入員工詳細信息界面,系統接受并解析上一步Intent傳遞的信息并展示到界面上。管理員可以編輯員工的相關信息,點擊修改后,系統會將數據庫的信息修改。修改信息后使用廣播將修改后的信息傳遞到展示所有員工姓名的Activity。在員工詳細界面內點擊刪除按鈕,可以將數據庫中員工表的當前員工記錄刪除,若該員工是管理員,也會一并刪除。刪除操作結束后,使用廣播來關閉員工姓名展示界面,并重新啟動該Activity。

2.4 請假和出差模塊設計

請假模塊功能是向請假表中添加一條請假信息,涉及到的數據庫表是請假表,該表的屬性有:員工ID、請假起始日期、請假結束日期和請假類型。手機號需要管理員進行輸入,請假起始日期和請假結束日期的選擇,調用的Android原生的日歷控件,選擇日期后轉為String類型的字符串;請假類型同樣也是調用Android原生的選擇控件,監聽用戶的選擇并轉為String類型的字符串。點擊錄入后,先根據手機號查找出員工ID,再向數據庫的請假表中添加一條記錄,實現請假功能。

出差模塊的功能是向出差表中添加一條出差信息,涉及到的數據庫表是出差表,該表的屬性有:員工ID、出差起始日期、出差結束日期。通過輸入手機號,選擇出差起始日期和出差結束日期,可以生成一條出差記錄,點擊錄入按鈕,根據手機號查找員工ID,向數據庫出差表中添加一條出差信息。

2.5 員工出勤模塊設計

員工出勤模塊的功能是查看某位員工本月的具體出勤情況,涉及到的數據庫表有員工表、出勤表、出差表和請假表。進入該模塊會有一個搜索框,該搜索框采用Android原生的SearchView組件。搜索框下方采用ListView來展示員工表的所有員工姓名,點擊員工姓名,可以進入員工的本月詳細考勤情況展示界面。在輸入框中輸入的信息,會與員工姓名相匹配,包含輸入信息的員工姓名會被篩選出來,便于查找。

員工本月詳細考勤情況展示界面有當月考勤信息(遲到次數、請假次數和出差次數)。本月考勤記錄包括了請假和出差記錄,按照日期排序進行展示,采用RecyclerView布局。姓名展示界面會通過廣播將該員工姓名和員工ID傳給本界面,員工姓名用來展示,員工ID用來向考勤表,出差表和請假表請求數據。本月遲到次數需要向考勤表查詢本月所有考勤記錄,再對請求到的數據進行遍歷,若四次考勤有一次為空則視為缺勤。本月請假次數要向請假表請求數據,本月出差次數要向出差表請求數據。

2.6 具體出勤情況模塊設計

具體出勤情況模塊設計功能是根據用戶選擇的年份,月份和部門來導出詳細的員工考勤記錄,涉及到的數據庫表有考勤表,請假表和出差表。首先根據用戶選擇的信息去向考勤表請求符合條件的數據,再根據請求到的數據中的員工ID去查找請假表和出差表的記錄。使用String數組和ArrayList集合對請求到的數據進行保存,并將數據導出到Excel表格中,Excel表包含編號、姓名、日期、是否全勤、備注。編號即員工ID,若全勤則備注為“無”,若出差則備注為“出差”,若請假則備注為“請假”,其他則備注“無請假無出差”。

2.7 設置管理員模塊設計

設置管理員模塊只有超級管理員可以進入,涉及到的數據庫表是管理員表,該表的屬性有:手機號、密碼、是否是超級管理員、姓名等。輸入手機號點擊查詢可以顯示該手機號對應的員工姓名,若該手機號對應員工表某位員工,則會顯示該員工姓名,輸入密碼,點擊“設置為管理員”,即可將該員工設置為管理員。

3 系統具體實現

與系統總體對應的是Android手機通過Wifi與Bmob云數據庫相連接,手機與RFID讀卡器相連,RFID讀卡器與簽到卡相互聯系,再將讀取的信息發送到Bmob云數據庫,在Android手機端得以展示。具體的實物連接如圖4和圖5所示。

圖4 添加員工信息

圖5 員工簽到截圖

3.1 員工考勤模塊的實現

通過讀卡器提供的YowoRFIDreader.jar包提供的接口讀取到卡號后,先根據卡號查詢員工表中是否有此卡信息,查詢sql語句。若此卡號已注冊,則會根據當前日期和員工ID查詢考勤表中是否存在當前日期的考勤記錄,查詢sql語句。若存在則會根據當前時間段來判斷該修改四個打卡點中的哪一個,此處默認規定早上上班打卡時間為7:00~7:30,早上下班打卡時間為:11:00~11:30,下午上班打卡時間為:14:00~14:30,下午下班打卡時間為:18:00~18:30。創建一個考勤類attendence,根據上述時間段對attendence中對應的屬性進行賦值。這里的考勤類是Attendence創建的一個對象,Attendence類是繼承了BmobObject類的一個子類,用來存儲考勤表的信息,由于繼承了BmobObject類,所以可以調用該類的相關方法,從而實現數據上傳等操作。修改考勤表要根據查詢考勤表得到的記錄的ObjectID來使用Bmob提供的接口中的update()函數,在Bmob提供的接口中創建考勤記錄。考勤表具體情況如圖6所示。

圖6 考勤表部分截圖

3.2 管理員登錄與管理模塊的實現

該模塊具有保存密碼的功能,界面如圖7所示,該功能使用了Android中的SharedPreferences文件存儲。若用戶選中復選框,則代表用戶需要系統保存賬號、密碼,若未選中表示用戶不需要系統記住賬號、密碼。默認情況下是復選框控件CheckBox未被選中狀態即值為false。當用戶選中了復選框時,系統生成一個SharedPreference對象,再通過調用getBoolean()方法可以獲得當前賬號、密碼的鍵值。即此時是記住密碼功能,CheckBox的isChecked值為true,程序把賬號和密碼的值都存到SharedPreferences文件,并提交給系統。這時,若用戶退出系統后重新登錄,那么用戶不需要再輸入賬號和密碼,系統會自動將最后一次保存到SharedPreferences文件中的賬號和密碼值提取出來并顯示在對應的文本框中,用戶直接點擊登錄即可登錄成功。反之,系統會調用clear()方法來清除SharedPreference中的賬號和密碼,從而實現不保存密碼的功能。對應的管理界面如圖8所示。

圖7 登錄界面

圖8 管理員管理界

3.3 添加和修改員工信息模塊的實現

添加員工信息模塊由于需要將員工信息與RFID卡綁定,所以需要加載讀卡器驅動,當刷卡后會將卡號顯示到界面上,再輸入姓名、性別、年齡、手機號和部門,創建一個Employee類,將輸入的信息存進Employee類中,點擊錄入后會先查詢員工表中是否有此卡記錄,若有則提示“此卡已注冊”,否則調用save()方法將員工信息添加到數據庫中,添加完成后將輸入框中的信息全部置為空。修改員工信息模塊進入后,首先會請求員工表的所有數據,然后將員工姓名采用RecyclerView展示。點擊任意一位員工,采用Intent將該員工信息傳遞給員工信息修改界面。

進入員工信息修改界面(見圖9)后,對Intent中的數據進行解析并展示到界面上,編輯員工屬性后,點擊修改,首先判斷該員工是否是管理員,如果是管理員,調用update()函數對管理員表中對應的數據進行修改,再調用update()函數對員工表中相對應的員工信息進行修改。修改完成后采用本地廣播的方式對RecyclerView展示界面的數據進行更新。本地廣播方式可以保證廣播只在應用程序的內部傳遞廣播和接收廣播,避免了全局廣播被任何應用程序接收而引起的安全性問題。對于系統發送廣播和注冊廣播通過LocalBroadcastManager管理器對其管理,注冊廣播采用registerReceiver方法,發送廣播采用sendBroadcast方法發送廣播com.example.test。這條發送的廣播通過系統接收器BroadcastReceiver來接收,當收到對應的廣播后會接受并解析數據,然后對RecyclerView展示界面的員工信息進行更新。點擊刪除,判斷該員工是否是管理員,如果是,調用delete()函數刪除管理員表中的該員工信息,再刪除員工表中的該員工信息。同時關閉當前Activity并重新啟動RecyclerView界面獲取最新的數據。添加簽到界面圖如圖10所示。

圖9 修改員工信息界面

圖10 添加簽到界面

3.4 請假和出差模塊的實現

請假模塊的日期選擇使用了DatePickerDialog(見圖11)。請假類型采用控件Spinner列表選擇框,相當于彈出一個菜單供用戶選擇。數據全部輸入完成后,點擊錄入,首先查找員工表中是否存在輸入的手機號,如果存在則獲取該手機號對應的員工ID,調用save()函數即可在請假表中添加一條請假信息。出差模塊與請假模塊不同的是沒有請假類型,在輸入好信息后,點擊錄入,會根據手機號去查找員工表是否存在對應數據,如果存在則調用save()函數向出差表中添加一條出差信息,如圖12所示。

圖11 請假界面

圖12 出差界面

3.5 員工出勤模塊的實現

在員工出勤界面(見圖13),模塊會向員工表請求所有員工的信息,然后展示員工表中所有員工的姓名,這里采用ListView來實現信息展示。在ListView的上方還有一個搜索框,搜索框控件SearchView來實現,它提供了一個輸入框,監聽器實時監控用戶輸入,當用戶輸入搜索信息時,可以實時進行相關操作。監聽器中通過String中的contains()方法來判斷員工姓名中是否包含輸入的信息,如果存在就將員工姓名加入一個findList集合中,然后更新listview,顯示包含輸入信息的員工姓名。

點擊員工姓名,采用Intent將被點擊的員工信息傳送到員工考勤詳細界面。進入員工考勤詳細界面后,根據傳過來的員工ID去查找請假表和出差表,根據當前年月和員工ID去查找考勤表。由于網絡請求是異步的,所以此處加入了一段加載代碼,在請求和接受數據的時候頁面不會發生變化,等待網絡請求結束,根據數據再對頁面進行更新,更新后的界面如圖14所示。在對請假天數和出差天數計算時,涉及到計算天數的問題。由于數據庫中請假表和出差表的日期都是“年-月-日”的格式并且類型為String類型,所以采用String類型的contains()方法可以很快的篩選出符合條件的請假或出差信息。由于不同月份的天數可能不相同,所以在計數之前要對月份進行判斷。此處默認請假日期存在以下兩種情況:同年月,同年不同月(請假和出差日期不超過60天),所以要分別進行處理。對于同年月直接調用自定義的daysBetween(begin,end)函數計算天數即可。對于同年不同月:先計算起始日期到月末的天數,再計算結束日期所在月的第一天到結束日期的天數,將兩種天數相加即可得到總天數。

圖13 員工出勤界面

圖14 員工考勤詳細界面

3.6 具體出勤情況模塊的實現

系統可以將具體出勤數據導出到Excel表格。如圖15所示,根據選擇的年份和月份來向考勤表中查詢數據。對請求到的數據進行遍歷,如果四次打卡時間段有一次為空則會查找該員工在出差表和請假表中是否有記錄。如果有,再進行日期的比較,判斷考勤日期是否在請假或出差時間內,比較日期采用java的String.compareTo()方法,該方法會產生三種int類型數據,分別是正數,負數和0,由此可以判斷日期的大小,當考勤日期與起始日期和結束日期使用比較的返回值一正一負時,代表該日期在請假日期或出差日期內。若缺勤且在出差表和請假表中均無記錄,則備注“無請假無出差”。導出的Excel表格截圖如圖16所示,可以很清楚的查詢每一個員工的詳細考勤記錄。Excel設置了五項內容,分別是:編號、姓名、日期、是否全勤和備注。這五項內容的信息采用集合和String數組存儲,再遍歷從考勤表請求到的數據的同時對集合和數組的對應位置進行修改。當數據都已經判斷完畢,生成完整的數據數組和集合,調用Statistics的有參構造器,創建一個Statistics類,這個類包含的上述的五項屬性,用來將數據寫入到Excel表格中。將Statistics類加入到集合statistic中,然后傳到ExcelUtil中進行Excel表格的創建和數據寫入等操作。

圖15 具體出勤情況界面

圖16 Excel表截圖

4 總結

本系統運用Android視圖中有關可視化視圖與非可視化視圖的相關功能,包括使用前端框架進行用戶界面的UI設計及UI編碼,使得本系統具有良好的界面,簡約美觀的效果,簡單的操作性等特點。通過Bmob官網提供的DataSDK,調用其內部方法實現數據上傳、數據修改、數據刪除、數據獲取等功能。將數據存儲在云數據庫中,具有安全穩定的特點。將安卓設備與讀卡器連接,通過讀卡器讀出卡號可以實現考勤功能和員工信息錄入功能。登錄管理員賬號,可以實現對員工信息的管理和查看、錄入請假信息、錄入出差信息、導出考勤情況Excel表格等功能。實驗測試表明應用該系統便于管理人員分析、統計考勤信息,有利于現代公司和企事業單位的發展,使考勤管理更加科學合理,使企業的管理效率最大化。

猜你喜歡
界面數據庫信息
國企黨委前置研究的“四個界面”
當代陜西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虛擬軸坐標顯示界面開發方法研究
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
數據庫
財經(2017年2期)2017-03-10 14:35:35
人機交互界面發展趨勢研究
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
手機界面中圖形符號的發展趨向
新聞傳播(2015年11期)2015-07-18 11:15:04
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 在线视频亚洲欧美| 亚洲日韩AV无码精品| 高潮爽到爆的喷水女主播视频| 亚洲精品第一在线观看视频| 欧美日韩一区二区三区在线视频| 91色老久久精品偷偷蜜臀| 在线网站18禁| 欧美精品在线免费| 亚洲人成网站在线观看播放不卡| 亚洲精品爱草草视频在线| 国产伦片中文免费观看| 国产区91| 无码国产偷倩在线播放老年人 | 性色在线视频精品| 99re精彩视频| 2019年国产精品自拍不卡| 国产一级毛片在线| 国产区在线观看视频| 欧美爱爱网| 亚洲成A人V欧美综合| 亚洲色图狠狠干| 亚洲人成网站色7799在线播放 | 国产AV无码专区亚洲A∨毛片| 日韩精品久久无码中文字幕色欲| 亚洲丝袜第一页| 欧美笫一页| 亚洲伊人天堂| 国产综合亚洲欧洲区精品无码| 亚洲美女高潮久久久久久久| 99无码中文字幕视频| 一级毛片免费高清视频| 一级做a爰片久久毛片毛片| 精品人妻一区无码视频| 久久一色本道亚洲| 超碰精品无码一区二区| 久久精品亚洲热综合一区二区| 日本精品视频一区二区| 在线免费亚洲无码视频| 美女被狂躁www在线观看| 操操操综合网| 亚洲第一黄片大全| 99在线视频网站| 91精品在线视频观看| 亚洲精品中文字幕午夜| 福利在线不卡一区| 国产在线97| 亚洲国产综合自在线另类| 日韩欧美中文字幕在线精品| 亚洲天堂高清| 四虎国产在线观看| 国产第一页免费浮力影院| 国产成人综合日韩精品无码首页 | 亚洲人成网站日本片| 中文字幕自拍偷拍| 久久精品嫩草研究院| 日韩精品少妇无码受不了| 亚洲AV免费一区二区三区| 久久亚洲国产一区二区| 国产精品99在线观看| 波多野结衣一区二区三视频| 国产草草影院18成年视频| 99re这里只有国产中文精品国产精品| 国产又粗又爽视频| 欧美国产在线精品17p| 亚洲欧洲天堂色AV| av天堂最新版在线| 国产成人高清亚洲一区久久| 婷婷色狠狠干| 9966国产精品视频| 超碰色了色| 99re热精品视频中文字幕不卡| 国产丝袜第一页| 国产特一级毛片| 91探花在线观看国产最新| 91香蕉国产亚洲一二三区| 欧美性精品| 亚洲精品第一在线观看视频| 2021精品国产自在现线看| 国产永久在线观看| 丝袜国产一区| 丁香六月综合网| 亚洲欧美精品一中文字幕|