陸建平* 張小龍 董曉冬 丁志千 陳濟鋒
(1.寧波市勞動安全技術服務有限公司 2. 寧波中惠信息技術有限公司)
目前企業(yè)信息化管理在各行業(yè)迅速普及,互聯(lián)網(wǎng)技術給企業(yè)的發(fā)展帶來了生機與活力,信息互聯(lián)深入人心,各類智能系統(tǒng)不斷涌現(xiàn)。信息系統(tǒng)可使企業(yè)實現(xiàn)信息智能化管理,為企業(yè)節(jié)省人力和財力成本。目前大部分公司業(yè)務流程,如檢測報告流傳、合同評審等多為紙質方式進行,針對公司內部業(yè)務情況及運行流程,根據(jù)實際需求,開發(fā)了一個無損檢測業(yè)務管理系統(tǒng),可以覆蓋公司多個部門的管理系統(tǒng),以此提高檢驗效率,同時將各項報告和記錄電子化,便于資料存檔。
系統(tǒng)架構按不同部門的角色和權限展開,根據(jù)不同部門的職責確定功能需求,可分為市場部、工程檢測部、質量技術部、綜合部等,架構如圖1所示。系統(tǒng)內設有管理員、總工程師、市場部、工程檢測部等不同角色,不同角色可以賦予不同的權限,權限應分開獨立,管理員按需求分配權限給各個角色。系統(tǒng)內管理員擁有全部權限;總工程師有查看檢測標準、人員檔案、客戶檔案、供應商檔案等信息的權限;市場部有客戶維護、合同評審、業(yè)務委托、費用核算、月結對賬等權限;工程檢測部有工作派發(fā)、工藝制定、實施檢測、報告編制等權限。其他部門也有著各自權限和功能,管理員可根據(jù)實際情況分配和撤銷某個角色的權限。
圖1 系統(tǒng)流程架構圖
系統(tǒng)內各角色功能如圖2所示。
圖2 各角色功能
系統(tǒng)管理員擁有最高權限,包含設置用戶權限、配置新賬戶、查詢系統(tǒng)內各項信息等功能。市場部根據(jù)客戶需求,核算費用、制定合同,走合同評審流程;綜合部走合同評審流程、報銷差旅等;工程檢測部部署檢測方案,給檢測人員派發(fā)工作,檢測完成后向企業(yè)發(fā)放報告;總工程師可以查看人員、設備檔案,可以查詢報告歸檔庫等。該系統(tǒng)主要滿足公司內檢測工作,以及其他日常辦公涉及的工作。
系統(tǒng)所用數(shù)據(jù)庫為MySQL,MySQL數(shù)據(jù)庫是一種關系型數(shù)據(jù)庫管理系統(tǒng)。關系型數(shù)據(jù)庫的含義是將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在同一個大表中,從而提高查詢速度和靈活性。SQL是一種數(shù)據(jù)庫查詢和程序設計語言,專門為數(shù)據(jù)庫而建立的操作命令集,也是數(shù)據(jù)庫腳本文件的擴展名,主要用于存取數(shù)據(jù)以及查詢、更新關系型數(shù)據(jù)庫系統(tǒng)。MySQL采用標準化的SQL語言,且具有體積小、速度快、成本低等特點,一般中小型項目都會選擇其作為系統(tǒng)數(shù)據(jù)庫。因此,選擇MySQL建立了一個名為LIMS的數(shù)據(jù)庫,其下包含sys_user、st_file_manage、st_report_file、st_check_order等數(shù)據(jù)表,并對其索引進行了優(yōu)化[1]。
為了保證系統(tǒng)流暢運行,數(shù)據(jù)表結構設置至關重要。分開建立不同功能的數(shù)據(jù)表有利于提升查詢速度,提高整體性能。數(shù)據(jù)庫內表數(shù)量較多,這里只列出幾個作為展示。
(1) 數(shù)據(jù)庫內建立sys_user表用來保存賬號信息,其結果如表1所示。
表1 賬號信息表
(2)系統(tǒng)內權限分配在單獨表內設置,表名為sys_permission,其表結構如表2所示(由于字段較多,只列出部分展示)。
表2 賬號信息表
(3)檢驗信息表記錄了儲罐等設備的基礎信息,表結構如表3所示(由于字段較多,只列出部分展示)。
表3 檢驗設備信息表
系統(tǒng)在網(wǎng)頁中顯示JSP前端頁面,JSP頁面部署于網(wǎng)絡服務器上,可以響應客戶端發(fā)送的請求,根據(jù)請求內容動態(tài)地生成HTML形式的Web網(wǎng)頁[2]。JSP可以以靜態(tài)頁面為模板,將Java代碼或其他變動內容嵌入其,達到想要的結果。JSP內生成內容的邏輯被封裝在JavaBeans組件中,并且捆綁于服務器端的腳本中。其特點就是以模板化的方式簡單、高效地添加動態(tài)網(wǎng)頁內容,重復利用,減少重復勞動。處理前端頁面時,在JSP封裝了許多系統(tǒng)內經(jīng)常使用到的功能,這有助于加快開發(fā)進程。系統(tǒng)頁面根據(jù)登陸角色來顯示欄目,比如市場部只能看到客戶維護、合同評審等內容,工程檢測部只能看到工藝制定、報告編制等內容,而管理員具有最高權限,所有人員登錄都在一個頁面,如圖3所示。
圖3 登錄界面圖
該系統(tǒng)涉及到許多部門,功能也都按照實際需求進行開發(fā),該系統(tǒng)內主要的工作流程如下。
(1)市場部在接到企業(yè)委托檢驗任務后,可以發(fā)起合同評審,填寫合同信息,上傳電子版合同,如圖4所示。
圖4 合同評審界面
(2)財務部工作人員登錄系統(tǒng)后可以看到合同評審任務,如圖5所示。該信息可以查看審閱,最后提交至總經(jīng)理處。
圖5 財務部合同評審任務界面
(3)工程檢測部接到檢測任務后,可以看到委托單,如圖6所示,根據(jù)委托要求和樣品信息確定檢測工藝。
圖6 委托單界面(部分)
(4)檢測完成后,檢測人員就可以編制報告,如圖7所示。報告經(jīng)過審核審批就可以發(fā)放給企業(yè)。
圖7 報告編制界面
根據(jù)前端界面的請求,比如說查詢某個報告,在前端按委托單號查詢,后端數(shù)據(jù)庫通過相應的SQl語句查詢得到數(shù)據(jù),前端獲取JSON格式的數(shù)據(jù)包[3],在JSP頁面上展示。
為了保證系統(tǒng)流暢體驗,選擇采用Ajax異步請求[4]。當Ajax向后臺發(fā)送請求后,會在sucess處等待后臺返回值,此時在其之后的代碼仍然會繼續(xù)執(zhí)行,出現(xiàn)多線程執(zhí)行的情況,因此使用異步可以加快執(zhí)行的效率。異步請求完全不影響用戶體驗效果,請求時間的長短不影響用戶操作,用戶不會有等待的感覺。
無損檢測業(yè)務管理系統(tǒng)選用Java Web開發(fā)模式,前端采用JSP,后端采用Java,數(shù)據(jù)庫采用MySQL,實現(xiàn)了公司業(yè)務流程線上進行,在合同評審、檢測工藝、報告審核審批及歸檔等方面的效率有了較大提高,擺脫了線下紙質文檔流轉的繁瑣步驟。目前該平臺剛投入使用,許多功能在細節(jié)上可能需要優(yōu)化調整,我們將繼續(xù)優(yōu)化,提升信息化建設水平。