具有智能化模塊的OA管理系統設計與實現_第1頁
具有智能化模塊的OA管理系統設計與實現_第2頁
具有智能化模塊的OA管理系統設計與實現_第3頁
具有智能化模塊的OA管理系統設計與實現_第4頁
具有智能化模塊的OA管理系統設計與實現_第5頁
已閱讀5頁,還剩37頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘要為解決傳統的手工完成方式和審批過程中的防篡改問題,本文設計出一個具有智能化模塊的OA管理系統。該系統對審批流程做出了一種防篡改的方式,可以使得OA管理系統在審批過程中變得更為安全。本系統使用了SSM框架進行快速的開發,數據庫選擇了關系型的數據庫Mysql,權限控制框架選用SpringSecurity對不同身份的用戶進行審批權限控制。系統的實現功能包括用戶登錄后發起流程申請,查看已申請的流程,管理員查看待辦流程,使用人臉識別或獨立密碼對流程進行審批,對流程進行跟蹤監控。關鍵詞:防篡改;OA管理系統;流程審批;智能化;SSM框架

AbstractOAmanagementsystemcanmaketheofficemanagementverygood.Inordertosolvetheproblemofantitamperinginthetraditionalmanualcompletionandapprovalprocess,thispaperdesignsanOAmanagementsystemwithintelligentmodules.Thesystemmakesatamperproofwaytotheapprovalprocess,whichcanmaketheOAmanagementsystemmoresecureintheapprovalprocess.ThissystemusestheSSMframeworkforrapiddevelopment.Therelationaldatabasemysqlisselectedasthedatabase,andthespringsecurityisselectedastheauthoritycontrolframeworktocontroltheapprovalauthorityofuserswithdifferentidentities.Theimplementationfunctionsofthesystemincludeinitiatingprocessapplicationaftertheuserlogsin,viewingtheappliedprocess,viewingtheto-doprocessbytheadministrator,approvingtheprocesswithfacerecognitionorindependentpassword,andtrackingandmonitoringtheprocess.keywords:Tamperproofing;OAmanagementsystem;Processapproval;Intellectualization;SSMframe

目錄TOC\o"1-3"\h\u第一章緒論 第一章緒論研究意義與目的隨著網絡技術的不斷發展,信息化時代的到來,OA管理系統告別了傳統的紙質手工完成方式,不僅符合低碳環保的理念,還能提高辦公效率。本文主要對OA管理系統與智能化模塊結合,通過收集企業辦公OA管理的一些信息管理、流程審批等安全問題進行探討。通過系統的應用與實現,使公司內部的信息與外部的信息交流更為安全、可靠,使辦公流程更為高效[3]。建立此系統,規范了公司的管理方式,提高辦事效率。研究背景與現狀在計算機尚未出現的時代,一些信息的錄入,文件審批等辦公方式都是使用傳統的紙質方式手工完成。這些方式在當時的企業也廣泛流行,但帶來的不便是文件過多時難以對文件進行管理,查找的時候會很浪費時間成本,且會增加紙張的使用,破壞生態環境。一些涉及到流程審批的文件,如會議管理、請假申請、出差申請、合同審批等需要一些負責人審批的流程,申請人需要提交申請單后拿著文件去找到相應的負責人才能進行審批。當公司里員工越來越多,這種流程審批的方式使得工作效率低下的問題越突出,甚至可能會被人篡改審批信息與簽名,這存在一定的安全風險[1]。到了二十世紀后期,隨著計算機在各大企業普及應用與網絡技術的不斷發展,這時候企業的管理方式已經從傳統的手工信息錄入以及手工審批文件慢慢向自動化轉型[2]。目前,社會上慢慢的開始出現OA管理系統,它的出現使企業對一些公文、文件審批、信息收集等的管理方式得到了革命性的改變,OA管理系統可以使優化管理體系,提高工作效率。本文主要結構本設計結合了新時代的人臉識別技術,將OA管理系統智能化。在流程審批過程中,可以使用人臉識別認證,也可以使用獨立密碼對用戶身份進行認證,這些方式可以做到防止未經授權的人使用管理員身份進行審批篡改等操作。本文主要結構如下:第1章:緒論,主要概述本論文的研究背景與現狀,研究意義與目的,對本文的主要工作、需要使用的技術做了簡單的介紹。第2章:相關技術介紹,主要對本系統所使用的Java基礎語言、web開發框架,百度AI的人臉識別等技術進行介紹。第3章:系統需求分析,對本系統的實行可行性分析、功能需求分析以及使用的運行環境進行介紹。第4章:系統設計與實現,根據本系統的需求進行結構設計、數據庫設計與功能模塊設計,以及介紹本系統的實現方式和實現結果。第5章:總結,對本論文結合自己心得進行總結。

第二章相關技術介紹2.1Java語言本文主要設計一個具有智能化模塊的OA管理系統,本系統是一個辦公自動化管理的web應用,在開發過程中主要使用Java語言作為基礎,Java隨著技術的不斷發展,它已經在一部分領域逐漸替換掉了C語言的地位,如網絡服務器、圖形處理、圖像處理等。Java在web應用領域和企業應用領域已經積累了強大的生態系統,到目前為止,Java已成為當下最熱門的編程語言之一,近年來的編程語言排行榜中使用Java進行開發的人數一直都占據著第一。Java之所以一直被這么多程序員所喜愛,是因為它擁有許多其它編程語言沒有的優點,Java是一門面向對象的編程語言[5],擁有封裝、繼承、多態的特性,本系統的查詢類封裝了查詢參數,將多數情況需要用到的參數都抽取到一個公共的父類,正因為Java有這些優點,系統才變得更加靈活、更加易于維護。2.2web開發框架本設計使用Spring+SpringMVC+Mybatis(簡稱SSM)作為系統框架,權限控制框架使用SpringSecurity管理不同用戶的角色和權限,Spring可以稱為框架中的框架,它可以集成很多的框架,例如本系統中所使用的SpringMVC和Mybatis下面介紹的是本設計所使用到的一些框架。2.2.1Spring框架Spring是一個開源應用框架,它有兩大核心技術,分別是IOC(InversionOfControl)和AOP(Aspect-Oriented

Programming)。IOC中文是控制反轉,本系統將邏輯代碼通過注入的方式注入到Spring中,而不是在需要的地方直接使用實例化方式來調用,這就是使用IOC的好處。因為在Spring中,對象之間的關系都交由Spring容器進行統一實例化、配置、裝配和管理,通過這種方式可以更輕松的實現程序之間的解耦。此外IOC還有其它優點,如減少應用程序中的代碼量、支持即時的實例化和延遲加載服務。AOP中文是指面向切面編程,本系統業務層的一些更新刪除操作需要使用到事務,使用傳統方式使得代碼冗余度高,不方便維護管理,而使用AOP的方式統一在配置文件中對這些更新和刪除接口設置一個事務即可,不需要寫大量的重復代碼。AOP能有這樣的功能原因是Spring的AOP使用了代理模式,代理模式能夠對一個方法進行增強,具體能夠實現在調用某個方式時,可以對該方法在調用前和調用后執行某些操作[6],本系統能夠實現統一事務管理就是因為AOP使用了代理模式。2.2.2SpringMVC框架SpringMVC是集成在Spring當中的一個框架,這里的MVC是指Model,View,Controller,也就是模型-視圖-控制器。MVC把復雜的web應用分成了這三部分,在開發的時候這種分層的工作方法可以簡化開發,因為SpringMVC是屬于Spring的子框架,因此它可以繼承Spring的一些優點,能夠獨享request和response數據,能夠使MVC之間能夠松散耦合和開發靈活。本設計使用SpringMVC主要在控制層體現出來,在數據和視圖中間通過控制層對不同的請求接口進行編寫邏輯,例如本系統的登錄接口需要調用用戶的信息匹配,發起流程接口需要調用流程的保存功能,SpringMVC在這些接口和業務調用功能之間進行管理,使邏輯結構更為清晰。在SpringMVC出現之前,比較多人使用的是Struts框架來進行開發,但隨著Spring的不斷強大,SpringMVC擁有眾多的優點,慢慢的越來越多人開始轉向使用SpringMVC進行開發。使用SpringMVC有很多優點,例如本系統使用SpringMVC接收請求只需要在方法上添加一個注解,它還支持ajax,在接收或者返回json數據時只需要在方法上面使用注解標記即可。2.2.3Mybatis持久層框架Mybatis是一個持久層的開源框架,它能夠直接訪問數據庫。本系統把Mybatis作為數據訪問層是因為它可以使用逆向工程一鍵生成代碼,可以自己寫SQL語句,也可以實現映射操作。它的使用方式較為簡單,本系統使用xml配置文件方式,對輸入的參數自動進行輸入映射,將結果集靈活映射成Java對象[7]。本系統使用Mybatis框架的逆向工程,對數據庫的表在配置文件中進行配置,運行程序即可生成單表的一些簡單增刪改查操作,可以使項目的一些業務的操作得到敏捷開發。當然對于表與表之間的關聯操作,還需要自己手動修改xml配置文件,編寫SQL語句進行一些關聯的查詢操作等[8]。因為本系統的一些模塊的表之間關系較為復雜,編寫關聯查詢的方式會很耗費時間成本,因此在各個表之間使用了冗余備份。使用該方式不用思考過多的關聯查詢,只需要在相應的業務場景調用所需對應的表操作。當然該方式也會帶來一個問題是可能造成數據不統一,解決這一問題只能通過觀察相關聯的表是否有進行對應的操作。2.2.4SpringSecurity安全權限控制框架SpringSecurity框架是一個安全權限控制框架,它有著安全特定的認證服務,越來越多的人開始使用這一安全框架來管理項目的權限控制。通常在一些需要認證的資源我們都需要獲取當前登錄用戶的信息,判斷該用戶的權限是否能夠訪問某個資源。本設計要在流程審批過程中區分不同的角色進行審批,使用SpringSecurity恰好能方便的解決這一問題。本系統使用到SpringSecurity校驗登錄用戶的權限,在登錄過程中對密碼使用MD5加密操作也能在該框架中進行相關配置。對于一些需要特定權限的資源只需要在頁面簡單的配置一段標簽即可使頁面得到權限校驗,這為本設計流程審批中區分不同角色權限以及防止篡改的功能有了很大的幫助。2.3Mysql數據庫本設計涉及到一些表與表之間的復雜關系,使用Mysql能夠很好的將各個表聯系組成一個關系模型,完成一些表與表之間的關聯操作。數據庫主要分為關系型數據庫和非關系型數據庫,常見的關系型數據庫有Mysql、Oracle、SQLserver等,非關系型數據庫有redis、MongoDB等[9]。而Mysql就屬于一種關系型的數據庫,它能夠保持數據的一致性,且是一個開源的數據庫,Mysql有多種存儲引擎,主要的兩個是MyISAM和InnoDB,其中InnoDB在底層數據結構方面使用的B+樹設計能夠存儲兩千萬左右的數據,它的B+樹是B樹的變種,主要區別在于B+樹的數據只存儲在葉子結點上,葉子結點間使用雙向鏈表連接起來,能夠順序訪問指針提高區間訪問性能,因此Mysql一直以來深受開發者的喜愛。Mysql作為關系型數據庫,它根據關系模型來創建數據庫。本設計的流程審批模塊涉及到多張表復雜操作,在流程發起時需要對申請表、流程表、流程線表、流程節點表以及審批表等都要進行關聯操作。因為設計結構較為繁瑣,表與表之間的關系較為復雜,為了解決這一問題,使用Mysql作為本設計的數據庫。2.4人臉識別本設計為了實現在審批過程中能夠防止被他人冒用身份篡改信息,設計了人臉識別來識別操作用戶是否本人,人臉識別技術主要利用圖像處理技術提取出人像特征,建立人臉特征點模型,然后再與被測者的人臉圖像進行分析比較返回一個相似度。本設計采用了百度AI開放平臺的人臉對比技術,人臉對比可以應用于身份確認。人臉對比技術主要通過比較兩張圖片然后返回一個相似度,使用者根據相識度手動設置一個閾值判斷是否同一個人,這個閾值一般設置在95以上。當閾值設置的過低,容易被冒用身份,本設計為了更好展示,設置的閾值在90。2.5Layui前端框架本系統界面設計較為簡潔,不會涉及到過多的復雜界面,選用一個方便好使的前端框架尤為重要,本系統的設計進行了前后端的分離,因此決定采用Layui作為前端框架。Layui是一個前端框架,它提供了很多好看、方便的樣式,對使用者的門檻要求低,方便快速入手。該框架還有個比較大的好處是定義了一些前后端交互的接口。比如數據表格展示只需要后端返回數據,使用Layui開放的接口對數據進行相應解析調整即可自動渲染表格,這種方式能夠極大的減少開發成本。

第三章系統需求分析3.1可行性分析本課題需要設計一個具有智能化的OA管理系統,分析此系統的可行性尤為重要。目前社會上的OA系統已經得到廣泛使用,但一些審批過程中的安全性還需有待加強。本設計使用了Java語言作為基礎,使用SSM框架作為技術的架構,選用Spring的子項目SpringSecurity作為該系統的權限控制,因為本系統需要很多的數據進行關聯,因此數據庫使用的是關系型數據庫Mysql。除了上述的技術支持,本系統在審批過程中使用人臉識別進行審批可以有效的防止被冒用身份進行審批,用戶登錄密碼使用MD5算法進行加密,使密碼得到安全保護,可以讓用戶安全使用。本系統要構建完好的信息安全防護體系,防止信息泄密,降低內部數據遺失風險[5]。3.2功能需求分析一個系統的設計是否合理,使用的性能高不高都在于功能需求分析的是否清晰。本系統需要完成一個具有智能化模塊的OA管理系統,首先分析OA管理的主要模塊,本設計包括基本的系統管理、通知公告、行政管理、管理員管理、人事管理和流程管理六個模塊。本設計主要分析流程管理的內容,根據研究,一般流程管理模塊的主要有:流程發起、待辦流程、已辦流程、我的申請、流程監控。本系統設計了三個流程分別是請假申請、出差申請和會議申請,在流程審批過程中,本系統需要進行部門審批和總經理審批。本課題主要設計一個具有智能化模塊的OA管理系統,該系統有很多與辦公自動化系統常用的共同之處,本設計主要實現的功能模塊有:系統管理、人事管理、行政管理、通知公告、管理員管理和流程管理六個模塊。功能模塊如圖3-1所示。圖3-1功能模塊圖本課題的重點在于流程審批,一般流程審批主要流程包括發起流程、審批、結束三個步驟,本系統的流程審批分為了兩種角色進行審批,需要經過雙重審批同意后才能決定結果,審批流程如圖3-2所示。圖3-2審批流程圖如今審批系統已經在各大企業中有使用到,市面上也有很多OA管理系統的產品。本設計對OA管理系統做出調研,為審批系統中可能存在的一些篡改問題進行探索,發現存在以下問題:問題一:審批過程中審批管理員可能短暫離開辦公位,而系統仍然正在打開,這時候很容易被他人篡改審批信息。問題二:一些審批流程可能需要緊急處理,而審批人員可能因為有事不能及時處理,需要其它人員來代辦審批。針對上述的問題,問題二其實在市面上的OA系統中已經有了較為通用的方式,他們做出的策略是可以直接把流程轉辦給他人,本系統也為該問題做出了一種解決辦法。為了能夠在審批過程中做到防止他人篡改信息,且找人代辦時能夠安全的受理,本系統設計出了兩種審批授權方式,分別是人臉識別授權和獨立密碼授權,具體審批方式如圖3-3所示。人臉識別方式可以較有效的確定授權人是本人,而獨立密碼的方式可以用來交給其它待辦人來進行授權審批。圖3-3審批方式圖3.3數據庫分析本設計為了能夠更好的展示出OA系統的效果,因此設計如下表:(1)用戶表:用于存放用戶id、用戶名、姓名、密碼、注冊日期、是否刪除、人臉識別存儲地址以及訪問地址。(2)角色表:用于存放角色id、角色名、角色描述。(3)權限表:用于存放權限id、權限名、資源路徑、所屬分類。(4)部門表:用于存放部門id、部門信息。(5)職位表:用于存放職位id、職位信息。(6)員工表:用于存放員工id、姓名、性別、所屬部門id、入職時間、現任職位id、學歷、專業、聯系地址、手機號、郵箱、身份證號碼、政治面貌和民族等信息。(7)公告表:用于存放公告名稱、公告id、作者、狀態、發布時間、附件和詳情信息。(8)會議表:用于存放會議名稱、作者、會議id、開始時間、會議地址、申請時間、會議詳情。(9)流程表:用于存放流程id、名稱、備注。(10)流程結點表:用于存放流程號、結點名稱、流程角色。(11)流程線表:用于存放前一結點號、后一結點號,流程線id、流程號。(12)審批表:用于存放id、流程號、結點編號、審批人編號、日期、意見。(13)請假申請表:id、申請人、部門、假期類型、原因、開始日期、結束日期、申請時間、流程號、當前節點編號、狀態。(14)出差申請表:id、申請人、部門、出差類型、開始日期、結束日期、申請時間、出差地區、出差事由、交通工具、申請費用、申請時間、流程號、當前節點編號、狀態。(15)會議申請表:id、申請人、部門、會議室、內容、使用設備、開始時間、結束時間、申請時間、流程號、當前節點編號、狀態。(16)新聞通知表:id、新聞標題、作者、狀態、發布時間、新聞內容。(17)企業文化表:id、公司名稱、公司logo、公司簡介、公司網址。3.4運行環境3.4.1硬件環境本系統設計運行在本機,因此本系統可以當做服務端也可以當做客戶端,處理器采用Intel(R)Core(TM)i7-6700HQ2.60GHz,物理內存16GB,硬盤空間1TB,顯卡采用NVIDIAGTX965,總體配置較高。3.4.2軟件環境本研究課題是一個OA系統的開發,為了方便開發,該系統使用本機的Windows10操作系統進行開發,開發工具使用Myeclipse2017,服務器使用Tomcat8.5版本,Java使用JDK1.8以及Mysql5.6數據庫。(1)Myeclipse本系統需要運行的Java程序使用Myeclipse工具進行編輯和調試。在介紹Myeclipse之前先介紹Eclipse,Eclipse是一個開源、可擴展且開放框架的Java開發工具平臺,它最初是由IBM公司開發的一個IDE開發環境,后來獻給了開源社區。Eclipse本身又是使用Java開發的,可以通過安裝不同的插件支持不同的編程語言和工具類等,此外還能支持Spring、Struts等框架和一些靜態資源。Myeclipse就是對Eclipse的一個擴展,它把所有插件都已經配置好,需要的時候直接使用即可。當然Myelipse集成了那么多插件,啟動時速度也會較慢,而且需要付費才能使用,但作為web應用開發,使用Myeclipse會更為專業。以上的這些優點使得開發者更受喜愛,使用它我們可以快速有效的開發各類Java應用。(2)TomcatOA管理系統使用Web開發,離不開一個服務器,為了能夠方便開發和調試邏輯代碼程序,本系統使用Tomcat8.5作為該系統的服務器。Tomcat最初是由Sun公司的一個架構師開發的,后來作者將它獻給了開源社區。Tomcat是一個開源輕量級的應用服務器,目前Tomcat已經成為了比較熱門的一個應用服務器。服務器分為Web服務器和應用服務器。Web服務器的設計初衷是只為了處理靜態資源,因此它的設計僅對HTTP協議提供支持,不過一般Web服務器都可以通過插件集成一些腳本,從而使它也能生成動態的HTTP內容。而應用服務器可以提供HTTP協議,還可以支持其它多種協議,它擁有Web服務器所擁有的功能,此外應用服務器可以通過自身擁有的特性和組件來支持服務。通常情況下使用Web服務器用來提供靜態資源服務,使用應用服務器提供動態資源服務。

第四章系統設計與實現4.1系統結構設計4.1.1MVC模式設計本系統使用的系統架構是MVC模式,MVC能夠將邏輯層和表現層分離,它把一個系統分為三部分:模型(Model)、視圖(View)和控制器(Controller)。(1)模型(Model):模型表示業務數據,模型對數據庫的數據具有直接訪問的權利,例如本系統的業務層調用Mapper的一些增刪改查方法。(2)視圖(View):能夠實現數據的顯示,本系統的用戶交互界面就是視圖層,視圖層一般不會設置邏輯,視圖層需要模型對數據庫進行查詢訪問后得出的數據進行展示。(3)控制器(Controller):它能夠將模型與視圖關聯起來,用于控制應用程序的流程,處理事件做出相應,負責處理用戶發起的請求,所有進出系統的訪問都需要經過這一層。例如本系統的用戶登錄視圖發起請求,控制器接收到請求后進行相應的業務處理,然后返回一個模型數據。MVC的三層模式分離視圖層和業務邏輯層使得系統更易于維護和修改,此外MVC模式在開發的時候能夠簡化開發,使邏輯結構更為清晰,本設計采用該方式進行結構設計,能夠做到結構分明。4.1.2SpringSecurity一般OA管理系統都會有多種不同的角色,例如部門經理、總經理、人事部、運營部等,而OA管理系統的設計不可能每個角色身份登錄到系統中都顯示同樣的內容。本設計涉及到流程審批,主要有部門經理,總經理兩個角色來進行審批。為了實現不同角色登錄到系統中顯示不同類容以及信息,可以使用傳統的過濾器方式來實現這一功能,但是傳統的實現方式會較為復雜,容易在邏輯代碼中混淆,本系統為了解決這一問題,選用了一個安全權限控制框架SpringSecurity。SpringSecurity的使用較為簡單,在用戶登錄邏輯代碼中將用戶名和密碼傳入到UsernamePasswordAuthenticationToken類中,然后通過Authentication類來進行身份驗證,最后將SecurityContext放入到Session域中。驗證身份就是加載響應的UserDetails,查看是否和用戶輸入的賬號、密碼、權限等信息匹配。本設計需要在Spring-Security.xml配置文件中配置自定義的UserDetailsService,此代碼需要寫在Service業務層,因為本系統使用的是SSM框架進行開發,Spring作為框架中的框架,可以集成SpringSecurity,因此,使用Spring的@Service即可將UserDetailsService存入到bean中,具體關鍵代碼見附錄1。4.2數據庫設計根據本系統的需求,需要設計出管理員管理、系統管理、流程管理、行政管理、通知公告、人事管理等六個主模塊的信息,每個模塊也有對應的子模塊。管理員管理包含用戶管理模塊、角色管理模塊、權限管理模塊,系統管理包含部門管理模塊、職位管理模塊、員工管理模塊,行政管理包含新聞通知和企業文化,通知公告包含公告管理模塊和會議管理模塊,人事管理包含請假申請模塊和出差申請模塊,而流程管理是本系統的重要模塊,它的實體關系(E-R)如圖4-1所示。圖4-1審批流程E-R圖通過對系統的實際需求分析后,由于篇幅有限,本文主要對用戶表、職位表、角色表、流程相關的表進行闡述,實體類對應的數據庫表如下:表4-1用戶信息表(userinfo)名稱列名類型長度ididint11用戶名usernamevarchar40姓名namevarchar40密碼passwordvarchar100獨立密碼alone_passwordvarchar255角色idroleIdint11注冊日期datedate0狀態statusint11圖片存儲地址face_urlvarchar40圖片訪問地址face_pathvarchar40表4-2權限表(power)名稱列名類型長度ididint11權限名稱power_namevarchar40資源路徑urlvarchar40所屬分類classifyvarchar40表4-3角色表(role)名稱列名類型長度ididint11角色英文名namevarchar40角色名稱role_namevarchar40角色描述role_descvarchar40狀態statusint11表4-4會議表(meeting)名稱列名類型長度ididint11會議名稱namevarchar40作者useridint11開始日期beginDatedate0會議地址addressvarchar255申請時間datedate0附件urlvarchar100詳情messagetext0表4-5流程表(flow)名稱列名類型長度id(流程號)idint11流程名稱flow_namevarchar40申請idapply_idint11備注messagevarchar40表4-6流程結點表(flow_node)名稱列名類型長度ididint11流程號idflow_idint11結點名稱node_namevarchar40流程角色flow_rolevarchar40備注messagevarchar40表4-7流程線表(flow_line)名稱列名類型長度ididint11流程號idflow_idint11前一節點號prev_idint11后一結點號next_idint11備注messagevarchar40表4-8審批表(audits)名稱列名類型長度ididint11流程號idflow_idint11節點編號node_idint11審批人編號user_idint11日期datedate0意見opinionvarchar40表4-9請假申請表(apply_leave)名稱列名類型長度ididint11申請人idemp_idint11部門iddept_idint11流程號idflow_idint11假期類型leave_typevarchar40原因leave_reasontext0假期開始時間beginDatedate0假期結束時間endDatedate0申請日期datedate0當前節點編號nodeint11狀態statusvarchar20表4-10出差申請表(apply_chuchai)名稱列名類型長度ididint11申請人idemp_idint11部門iddept_idint11流程號idflow_idint11出差類型chuchai_typevarchar40出差開始時間beginDatedate0出差結束時間endDatedate0申請日期datedate0出差地區addressvarchar100出差原因resontext0交通工具vehiclevarchar40申請費用costdecimal2當前節點編號nodeint11狀態statusvarchar20表4-11會議申請表(apply_meet)名稱列名類型長度ididint11申請人idemp_idint11部門iddept_idint11流程號idflow_idint11會議室addressvarchar40內容contenttext0人員及人數peopletext0使用設備equipmentvarchar40開始日期beginDatedate0結束日期endDatedate0申請時間datedate0當前節點編號nodeint11狀態statusvarchar204.3功能模塊設計4.3.1用戶登錄登錄功能主要是對系統已存在的用戶進行登錄,根據本系統的設計,用戶只能通過系統添加的用戶才能進行登錄,因此本系統不設計注冊功能。登錄的用戶主要是系統管理員和普通管理員,其它用戶不能訪問該系統。每個系統登錄時都會有一個流程,不同的系統設計的方式可能不太一樣,但大部分系統主要的流程都相類似,首先通過客戶端發起請求,在控制層接收請求參數,邏輯層編寫邏輯代碼查詢數據庫是否存在該用戶,若存在則登錄成功,否則登錄失敗。本系統登錄流程也相類似,只不過在控制層使用了SpringSecurity設置了身份認證。本系統具體登錄流程如下圖4-2所示圖4-2系統登錄流程圖用戶登錄時需要輸入用戶名和密碼,登錄界面如圖4-3所示,系統對輸入的用戶名和密碼使用正則表達式進行校驗,對輸入非法的內容進行消息提示。輸入合法則后端會對輸入的用戶名和密碼拿去數據庫中的數據做對比,若匹配到用戶存在則跳轉到系統首頁,若查詢不存在該用戶,則返回登錄失敗信息。圖4-3系統登錄界面用戶登錄邏輯代碼如圖4-4所示,本系統采用了SpringSecurity安全權限框架,SecurityContext

SpringSecurity

中的一個非常重要類,根據SpringSecurity官方的要求,要將SecurityContext存入到session中,而SecurityContext可以通過SecurityContextHolder工具類來獲取,這一步很重要,否則認證后將無法登錄。圖4-4用戶登錄邏輯代碼用戶登錄后可以在Session中通過SPRING_SECURITY_CONTEXT獲取用戶信息。4.3.2管理員管理該系統可以根據需求設置多種管理員,本系統的流程審批角色主要需要用到部門經理、總經理這兩種身份的管理員,因此在管理員列表里添加了這兩種身份的管理員,管理員列表如圖4-5所示。圖4-5管理員列表該系統若需要添加其它身份管理員,可以通過管理員列表左上方的添加進行管理員的添加,添加管理員界面如圖4-6所示,主要邏輯代碼如圖4-7所示。圖4-6添加管理員界面圖4-7添加管理員邏輯代碼4.3.3流程管理本系統的流程管理分為發起流程、待辦流程、已辦流程、我的申請和流程監控五個部分。系統設計的審批系統流程較為簡單,(1)發起流程本系統可以發起的流程有請假申請、出差申請和會議申請三種流程,本設計主要以請假流程在審批過程中進行分析講解。發起請假申請需要填寫請假申請單,本系統根據紙質版的申請單進行內容布局,設計出如圖4-8的請假申請單。圖4-8請假申請單界面(2)待辦流程待辦流程顯示的是當前登錄的管理員需要辦理的流程,本系統展示中只有部門經理和總經理的角色才需要審核,因此該部分只對這兩種角色進行展示。待辦流程界面如圖4-9所示圖4-9待辦流程界面待辦流程可以進行申請單查看、查看審批過程和審批,界面分別如圖4-10、4-11和4-12所示。圖4-10查看請假申請單界面圖4-11查看審批過程界面圖4-12審批界面根據審批界面的選擇認證方式可以選擇使用獨立密碼審批或者人臉識別審批,本系統設計該方式可以防止管理員離開系統時,被他人冒用身份進行授權認證,使用獨立密碼的方式只有使用者知道密碼,使用人臉識別方式只有管理員在場錄入人臉才能授權成功。人臉識別界面如圖4-13所示,人臉識別主要使用了百度AI的人臉對比接口,主要代碼如圖4-14所示。圖4-13人臉識別授權界面圖4-14人臉識別主要代碼(3)已辦流程已辦流程顯示由本人參與審批的所有流程的名稱、申請人、時間、狀態等信息,已辦流程的界面如圖4-15所示。根據本系統的設計,該內容只有部門經理和總經理的角色才能訪問。圖4-15已辦流程界面(4)我的申請顯示該登錄用戶申請的流程,該部分登錄系統的任何人都能訪問,我的申請界面如圖4-16所示。圖4-16我的申請界面(5)流程監控流程監控根據當前登錄的用戶展示流程的信息,系統管理員可以查看所有流程信息,審批者只能查看與審批者有關的流程,流程監控界面如圖4-17所示。圖4-17流程監控界面

第五章總結本課題的設計使我得到了很好的鍛煉機會,通過翻閱文獻和認真思考,再結合大學所學過的知識,我終于完成了本課題。本課題的“具有智能化模塊的OA管理系統”將我大學學習的理論知識和實踐做了一次結合,不但能夠鞏固所學的專業知識,還提高了實踐能力。在這期間我學會了做一件事不能夠妄想一步登天,從小事做起,慢慢積累起來就能夠做出一個好的項目,復雜的系統往往源于簡單系統的演化。當系統的某些功能可能看起來簡單,但是在實現過程中往往會遇到一些困難,只要不斷的收集資料,不斷的調試,方法總比困難多。在設計本系統之前查看過一些OA管理系統的設計方式,本文對比一些專業OA系統還是有很多的功能待開發,相對來說本系統設計的比較簡單。本設計主要為流程審批設計一種防篡改的方式,設計的方式是通過人臉識別或者獨立密碼進行授權,認證通過后才進行最終確認,達到防止管理員離開系統時被他人冒用身份進行授權。雖然本系統設計出這樣的方式能夠得到一定的安全性,但是也帶來了一些不便,管理員審批過程過每次都要進行授權。在進行學習與分析后,想到了一種解決方案,在第一次授權認證通過之后,保留該用戶在一定時間內認證成功的信息,需要設置一個超時時間來進行重新授權。雖然本系統設計的還不是很完美,但是也為了流程審批提供了一個篡改的設計方案。

參考文獻[1]陳小松,密碼學及信息安全基礎[M].清華大學出版社.2018.10[2]鄭鍔浩.高校OA公文管理系統的設計與實現[D].吉林大學,2016[3]于洋.OA辦公系統的網絡安全分析[J].計算機產品與流通,2019(08):40[4]李媛媛,李鑫儒.基于云平臺的企業智能管理系統設計[J].電子技術與軟件工 程,2017(17):165-166[5]梁勇,戴開宇,Java語言程序設計與數據結構[M],機械工業出版社,2018.8[6]丁振凡.基于注解方式的Spring面向切面編程研究[J].計算機時代,2012(07):33-35.[7]鄭杭.基于Web和MATLABBuilderJA技術的遠程計算與仿真系統研究[D].[8]鄒紅霆.基于SSM框架的Web系統研究與應用[J].湖南理工學院學報:自然科學版, 2017(1):39-43.[9]崔華茹.網絡管理系統數據采集與處理子系統研究[D].[10]張小剛,電子商務中的身份認證技術及實現[J].

商場現代化.2008(33)[11]蘆彥宇.OA協同辦公管理系統的設計與實現[D].吉林大學,2015[12]李斌,陳波,基于PKI的電子商務交易系統中信息安全的實現[J].電腦知識與技術. 2008(35)[13]張冰.高效檔案系統智能管理的構建[J].現代信息科技,2018,2(03):139-140[14]王晨建,殷杰,王巧玲,等.基于數字簽名技術的成績管理系統設計與實現[J].電腦 編程技巧與維護,2019,000(005):85-87.[15]尚晶,邢東旭.基于B/S模式的企業OA系統的設計與實現[J].科技視 界,2013(35):72-73.

致謝轉眼間大學四年就要過去了,在這四年里我收獲的不僅僅是愈加豐厚的知識,更重要的是在學習與實踐中所培養的思維方式、表達能力和廣闊視野。本次畢業設計與畢業論文能夠順利完成,我要衷心的感謝我的導師陳小松教授,論文選題、查閱文獻、論文的修改與格式調整,陳教授都給與了我悉心的指導。您有著豐富的教學經驗、嚴謹的治學態度和開闊的思維,這些都將成為我日后生活中學習的好榜樣。該論文所涉及的議題是我和陳教授交流后定下的,在設計系統的過程中,我遇到了很多沒預料到的困難。在我感到迷茫的時候,陳教授為我理清思路,指導我往一條比較清晰的思路上進行修改,您對我的關心和教誨我將永遠銘記。也要感謝在大學期間遇到的良師益友,感謝好朋友梁耀尹一直以來互相監督學習與幫忙。在此,我再一次真誠的向各位老師和朋友們表示感謝!

附錄附錄1:@Service("MyUserDetailService")publicclassMyUserDetailServiceImplimplementsMyUserDetailService{@AutowiredprivateUserMapperuserMapper; @OverridepublicUserDetailsloadUserByUsername(Stringusername)throwsUsernameNotFoundException{ UserExampleexample=newUserExample(); UserExample.Criteriacriteria=example.createCriteria(); criteria.andUsernameEqualTo(username); List<UserInfo>list=userMapper.selectByExampleWithRole(example); UserInfouserInfo=null; if(list!=null&&list.size()!=0) userInfo=list.get(0); //處理自己的用戶對象封裝成UserDetailsUseruser=newUser(userInfo.getUsername(),userInfo.getPasswrd(),getAuthority(userInfo.getRole().getRolename())); returnuser;} //返回用戶角色publicList<SimpleGrantedAuthority>getAuthority(StringroleName){ List<SimpleGrantedAuthority>list=newArrayList<>(); list.add(newSimpleGrantedAuthority("ROLE_"+roleName)); returnlist; } }

HYPERLINK電腦快捷知識大全編輯本段一、常見用法F1顯示當前程序或者windows的幫助內容。F2當你選中一個文件的話,這意味著“重命名”F3當你在桌面上的時候是打開“查找:所有文件”對話框F10或ALT激活當前程序的菜單欄windows鍵或CTRL+ESC打開開始菜單CTRL+ALT+DELETE在win9x中打開關閉程序對話框DELETE刪除被選擇的選擇項目,如果是文件,將被放入回收站SHIFT+DELETE刪除被選擇的選擇項目,如果是文件,將被直接刪除而不是放入回收站CTRL+N新建一個新的文件CTRL+O打開“打開文件”對話框CTRL+P打開“打印”對話框CTRL+S保存當前操作的文件CTRL+X剪切被選擇的項目到剪貼板CTRL+INSERT或CTRL+C復制被選擇的項目到剪貼板SHIFT+INSERT或CTRL+V粘貼剪貼板中的內容到當前位置ALT+BACKSPACE或CTRL+Z撤銷上一步的操作ALT+SHIFT+BACKSPACE重做上一步被撤銷的操作Windows鍵+L鎖屏鍵Windows鍵+M最小化所有被打開的窗口。Windows鍵+SHIFT+M重新將恢復上一項操作前窗口的大小和位置Windows鍵+E打開資源管理器Windows鍵+F打開“查找:所有文件”對話框Windows鍵+R打開“運行”對話框Windows鍵+BREAK打開“系統屬性”對話框Windows鍵+CTRL+F打開“查找:計算機”對話框SHIFT+F10或鼠標右擊打開當前活動項目的快捷菜單SHIFT在放入CD的時候按下不放,可以跳過自動播放CD。在打開word的時候按下不放,可以跳過自啟動的宏ALT+F4關閉當前應用程序ALT+SPACEBAR打開程序最左上角的菜單ALT+TAB切換當前程序ALT+ESC切換當前程序ALT+ENTER將windows下運行的MSDOS窗口在窗口和全屏幕狀態間切換PRINTSCREEN將當前屏幕以圖象方式拷貝到剪貼板ALT+PRINTSCREEN將當前活動程序窗口以圖象方式拷貝到剪貼板CTRL+F4關閉當前應用程序中的當前文本(如word中)CTRL+F6切換到當前應用程序中的下一個文本(加shift可以跳到前一個窗口)在IE中:ALT+RIGHTARROW顯示前一頁(前進鍵)ALT+LEFTARROW顯示后一頁(后退鍵)CTRL+TAB在頁面上的各框架中切換(加shift反向)F5刷新CTRL+F5強行刷新目的快捷鍵激活程序中的菜單欄F10執行菜單上相應的命令ALT+菜單上帶下劃線的字母關閉多文檔界面程序中的當前窗口CTRL+F4關閉當前窗口或退出程序ALT+F4復制CTRL+C剪切CTRL+X刪除DELETE顯示所選對話框項目的幫助F1顯示當前窗口的系統菜單ALT+空格鍵顯示所選項目的快捷菜單SHIFT+F10顯示“開始”菜單CTRL+ESC顯示多文檔界面程序的系統菜單ALT+連字號(-)粘貼CTRL+V切換到上次使用的窗口或者按住ALT然后重復按TAB,切換到另一個窗口ALT+TAB撤消CTRL+Z編輯本段二、使用“Windows資源管理器”的快捷鍵目的快捷鍵如果當前選擇展開了,要折疊或者選擇父文件夾左箭頭折疊所選的文件夾NUMLOCK+負號(-)如果當前選擇折疊了,要展開或者選擇第一個子文件夾右箭頭展開當前選擇下的所有文件夾NUMLOCK+*展開所選的文件夾NUMLOCK+加號(+)在左右窗格間切換F6編輯本段三、使用WINDOWS鍵可以使用Microsoft自然鍵盤或含有Windows徽標鍵的其他任何兼容鍵盤的以下快捷鍵。目的快捷鍵在任務欄上的按鈕間循環WINDOWS+TAB顯示“查找:所有文件”WINDOWS+F顯示“查找:計算機”CTRL+WINDOWS+F顯示“幫助”WINDOWS+F1顯示“運行”命令WINDOWS+R顯示“開始”菜單WINDOWS顯示“系統屬性”對話框WINDOWS+BREAK顯示“Windows資源管理器”WINDOWS+E最小化或還原所有窗口WINDOWS+D撤消最小化所有窗口SHIFT+WINDOWS+M編輯本段四、“我的電腦”和“資源管理器”的快捷鍵目的快捷鍵關閉所選文件夾及其所有父文件夾按住SHIFT鍵再單擊“關閉按鈕(僅適用于“我的電腦”)向后移動到上一個視圖ALT+左箭頭向前移動到上一個視圖ALT+右箭頭查看上一級文件夾BACKSPACE編輯本段五、使用對話框中的快捷鍵目的快捷鍵取消當前任務ESC如果當前控件是個按鈕,要單擊該按鈕或者如果當前控件是個復選框,要選擇或清除該復選框或者如果當前控件是個選項按鈕,要單擊該選項空格鍵單擊相應的命令ALT+帶下劃線的字母單擊所選按鈕ENTER在選項上向后移動SHIFT+TAB在選項卡上向后移動CTRL+SHIFT+TAB在選項上向前移動TAB在選項卡上向前移動CTRL+TAB如果在“另存為”或“打開”對話框中選擇了某文件夾,要打開上一級文件夾BACKSPACE在“另存為”或“打開”對話框中打開“保存到”或“查閱”F4刷新“另存為”或“打開”對話框F5編輯本段六、桌面、我的電腦和“資源管理器”快捷鍵選擇項目時,可以使用以下快捷鍵。目的快捷鍵插入光盤時不用“自動播放”功能按住SHIFT插入CD-ROM復制文件按住CTRL拖動文件創建快捷方式按住CTRL+SHIFT拖動文件立即刪除某項目而不將其放入SHIFT+DELETE“回收站”顯示“查找:所有文件”F3顯示項目的快捷菜單APPLICATION鍵刷新窗口的內容F5重命名項目F2選擇所有項目CTRL+A查看項目的屬性ALT+ENTER或ALT+雙擊可將APPLICATION鍵用于Microsoft自然鍵盤或含有APPLICATION鍵的其他兼容鍵編輯本段七、Microsoft放大程序的快捷鍵這里運用Windows徽標鍵和其他鍵的組合。快捷鍵目的Windows徽標+PRINTSCREEN將屏幕復制到剪貼板(包括鼠標光標)Windows徽標+SCROLLLOCK將屏幕復制到剪貼板(不包括鼠標光標)Windows徽標+PAGEUP切換反色。Windows徽標+PAGEDOWN切換跟隨鼠標光標Windows徽標+向上箭頭增加放大率Windows徽標+向下箭頭減小放大率編輯本段八、使用輔助選項快捷鍵目的快捷鍵切換篩選鍵開關右SHIFT八秒切換高對比度開關左ALT+左SHIFT+PRINTSCREEN切換鼠標鍵開關左ALT+左SHIFT+NUMLOCK切換粘滯鍵開關SHIFT鍵五次切換切換鍵開關NUMLOCK五秒QQ快捷鍵,玩QQ更方便Alt+S快速回復Alt+C關閉當前窗口Alt+H打開聊天記錄Alt+T更改消息模式Ait+J打開聊天紀錄Ctrl+A全選當前對話框里的內容Ctrl+FQQ里直接顯示字體設置工具條Ctrl+J輸入框里回車(跟回車一個效果)Ctrl+M輸入框里回車(跟回車一個效果)Ctrl+L對輸入框里當前行的文字左對齊Ctrl+R對輸入框里當前行的文字右對齊Ctrl+E對輸入框里當前行的文字居中Ctrl+V在qq對話框里實行粘貼Ctrl+Z清空/恢復輸入框里的文字Ctrl+回車快速回復這個可能是聊QQ時最常用到的了Ctrl+Alt+Z快速提取消息Ctrl+Alt+A捕捉屏幕最常用的快捷鍵F5刷新DELETE刪除TAB改變焦點CTRL+C復制CTRL+X剪切CTRL+V粘貼CTRL+A全選CTRL+Z撤銷CTRL+S保存ALT+F4關閉CTRL+Y恢復ALT+TAB切換CTRL+F5強制刷新CTRL+W關閉CTRL+F查找SHIFT+DELETE永久刪除CTRL+ALT+DEL任務管理SHIFT+TAB-反向切換CTRL+空格--中英文輸入切換CTRL+Shift輸入法切換CTRL+ESC--開始菜單CTRL+ALT+ZQQ快速提取消息CTRL+ALT+AQQ截圖工具CTRL+ENTERQQ發消息Alt+1保存當前表單Alt+2保存為通用表單Alt+A展開收藏夾列表資源管理器END顯示當前窗口的底端HOME顯示當前窗口的頂端NUMLOCK+數字鍵盤的減號(-)折疊所選的文件夾NUMLOCK+數字鍵盤的加號(+)顯示所選文件夾的內容NUMLOCK+數字鍵盤的星號(*)顯示所選文件夾的所有子文件夾向左鍵當前所選項處于展開狀態時折疊該項,或選定其父文件夾向右鍵當前所選項處于折疊狀態時展開該項,或選定第一個子文件夾自然鍵盤【窗口】顯示或隱藏“開始”菜單【窗口】+F1幫助【窗口】+D顯示桌面【窗口】+R打開“運行”【窗口】+E打開“我的電腦”【窗口】+F搜索文件或文件夾【窗口】+U打開“工具管理器”【窗口】+BREAK顯示“系統屬性”【窗口】+TAB在打開的項目之間切換輔助功能按右邊的SHIFT鍵八秒鐘切換篩選鍵的開和關按SHIFT五次切換粘滯鍵的開和關按NUMLOCK五秒鐘切換切換鍵的開和關左邊的ALT+左邊的SHIFT+NUMLOCK切換鼠標鍵的開和關左邊的ALT+左邊的SHIFT+PRINTSCREEN切換高對比度的開和關運行按“開始”-“運行”,或按WIN鍵+R,在『運行』窗口中輸入:(按英文字符順序排

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論