版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
物資管理平臺設(shè)計摘要在新冠疫情下,疾控部門需做好相關(guān)的物資管理工作,避免因時間段內(nèi)大量物資的流動,而有無計劃采購,重復(fù)采購,亂領(lǐng)用物資等狀況的發(fā)生。本文針對物資管理業(yè)務(wù)的實際需求,研究了疫情情況下第三方的物資管理平臺的設(shè)計與實現(xiàn)。本文所做的主要工作如下:首先分析了目前網(wǎng)絡(luò)上現(xiàn)有的物資管理平臺,然后對疫情情況下的實際業(yè)務(wù)需求進行了充分地分析,最終確定了符合疫情下詳細記錄物資出入庫地點、來源等實際需求。在疫情情況下,能夠更加直觀的了解到疫情信息并且了解各個成員的具體情況也是重中之重。本文通過對這一方面的分析設(shè)計了成員地點簽到和疫情地圖,使得各成員更好的了解疫情詳情并且使管理員更好的了解成員所在地點信息。針對分析的需求,分析了目前比較有代表的前端技術(shù)框架Vue、React、Angular,以及比較適合的后端框架Spring與Springboot。為了提高系統(tǒng)工作效率,提升局部性能最終采用了前后端分離的技術(shù),運用M-V-C的想法。后端使用Springboot框架完成業(yè)務(wù)邏輯處理,前端使用Vue框架完成視圖與控制,然后結(jié)合Mysql數(shù)據(jù)庫與OSS數(shù)據(jù)存儲的系統(tǒng)開發(fā)方案。本系統(tǒng)使用以上技術(shù)完成實現(xiàn)開發(fā),能夠管理各個部門的人員以及各種物資的基本信息,并且通過網(wǎng)站完成物資的訂單詳情,出入庫的各個方向的詳細管理與審核。并且通過視圖化的方式更加容易看出物資的庫存以及各地疫情的詳細情況。關(guān)鍵詞:Vue;Springboot;疫情物資管理;目錄TOC\o"1-3"\h\u23042一、引言 引言研究背景在新冠疫情下,疾控部門需做好相關(guān)的物資管理工作,避免因時間段內(nèi)大量物資的流動,而有無計劃采購,重復(fù)采購,亂領(lǐng)用物資等狀況的發(fā)生,同時需控制好物資的數(shù)量,避免某一物資采購過多而有積壓現(xiàn)象.在物資管理中,物資數(shù)量多,流動比較頻繁,管理人員就需要管理龐大的物資信息,如果采用手動的記錄方式,工作效率低、費時費力,還容易造成工作失誤,給物資信息管理帶來巨大的困難與不便。基于以上弊端本文設(shè)計了一種信息化的物資管理系統(tǒng),該系統(tǒng)能夠提高疫情部門業(yè)務(wù)處理和內(nèi)部管理效率。前端部分使用vue.js技術(shù)它是一套基于MVVM架構(gòu)開發(fā)的用于構(gòu)建用戶界面的漸進式框架,架構(gòu)簡單能夠使開發(fā)者快速掌握,還可以與第三方庫進行整合,后端使用springboot技術(shù),它可以簡化Spring框架的搭建、開發(fā)、調(diào)試及部署等過程,通過前后端分離的技術(shù)實現(xiàn)物資管理系統(tǒng)的開發(fā),從而實現(xiàn)信息化輔助疫控部門管理。研究現(xiàn)狀前端框架現(xiàn)狀根據(jù)TheStateofJavaScript所發(fā)布的《StateofJS2020》的調(diào)查報告,調(diào)查了覆蓋137個國家的23765名JavaScript從業(yè)者以確定目前前端框架的現(xiàn)狀。圖1-1是對目前的調(diào)查結(jié)果。從結(jié)果上可以顯示出React和Vue占據(jù)著絕大多數(shù)的使用數(shù)量和滿意度,而19年的后起之秀Svelte也展現(xiàn)出了一些擁護者。圖1-1調(diào)查結(jié)果圖Vue是一套用于構(gòu)建用戶界面的漸進式框架。Vue被設(shè)計為可以自底向上逐層應(yīng)用。Vue的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合REF_Ref15370\r\h[1]。基于虛擬DOM,一種可以預(yù)先通過JavaScript進行各種計算,把最終的DOM操作計算出來并優(yōu)化的技術(shù),提高了運行的效率。并且提供了雙向的數(shù)據(jù)綁定讓開發(fā)者不用再去操作dom對象,把更多的精力投入到業(yè)務(wù)邏輯上。后端框架現(xiàn)狀Spring是分層的JavaSE/EEfull-stack輕量級開源框架具有很高的凝聚力和吸引力。Spring框架因其強大的功能以及卓越的性能而受到眾多開發(fā)人員的喜愛。Spring具有簡單、可測試和松耦合等特點,不僅可以用于服務(wù)器端的開發(fā),也可以應(yīng)用于任何Java應(yīng)用的開發(fā)中。SpringBoot是由Pivotal團隊提供的全新框架,其設(shè)計目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進行配置,從而使開發(fā)人員不再需要定義樣板化的配置REF_Ref17013\r\h[2]。開箱即用,提供各種默認配置來簡化項目配置并且內(nèi)嵌式容器簡化web項目以及沒有冗余代碼生成和xml配置的要求。研究內(nèi)容本文所設(shè)計的物資管理系統(tǒng)包括系統(tǒng)管理、業(yè)務(wù)管理、健康報備、監(jiān)控中心等四個模塊。本系統(tǒng)中系統(tǒng)管理模塊主要負責(zé)部門的編輯分類、角色權(quán)限的分配、各用戶的管理與分配。業(yè)務(wù)管理模塊主要負責(zé)物資資料的創(chuàng)建與分類、物資的入庫與審核、物資的出庫與審核、物資庫存的查看與管理、物資的發(fā)放記錄與來源記錄。健康報備模塊包括全國疫情的地圖與概括查看、成員的打卡與簽到記錄。監(jiān)控中心模塊包括登入日志的監(jiān)控、操作人具體操作的監(jiān)控。基于以上的需求,本文采用了JavaEE的體系結(jié)構(gòu),運用了前后端分離的技術(shù)使用了SpringBoot及Vue框架,應(yīng)用了Mysql數(shù)據(jù)庫并且使用Shiro做人員的權(quán)限管理。在基于MVC模式的思想上將系統(tǒng)分為3層:視圖層:使用Vue加ElementUI進行頁面設(shè)計,通過Vue路由以及Ajax進行請求??刂茖樱菏褂肧pringBoot框架進行前后端的交互。數(shù)據(jù)層:使用了Mysql數(shù)據(jù)庫,主要進行控制數(shù)據(jù)庫的訪問,并且使用阿里云存儲存儲文件圖片。相關(guān)技術(shù)2.1SpringBoot框架2.1.1Spring框架Spring是一個輕量級的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。從簡單性、可測試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益REF_Ref17153\r\h[4]。它的架構(gòu)圖如圖2-1:圖2-1Spring架構(gòu)圖2.1.2SpringBoot框架雖然Spring的組件代碼是輕量級的,但它的配置卻是重量級的,編寫配置擠占了編寫應(yīng)用程序邏輯的時間。SpringBoot對Spring的缺點進行的改善和優(yōu)化,基于約定優(yōu)于配置的思想,可以讓開發(fā)人員不必在配置與邏輯業(yè)務(wù)之間進行思維的切換,從而提高了開發(fā)的效率,一定程度上縮短了項目周期REF_Ref17770\r\h[5]。SpringBoot的特點:(1)為基于Spring的開發(fā)提供更快的入門體驗(2)開箱即用,沒有代碼生成,也無需XML配置。同時也可以修改默認值來滿足特定的需求(3)提供了一部分大型項目中常用的非功能性特性,例如嵌入式服務(wù)器、安全、指標,健康檢測、外部配置等REF_Ref18237\r\h[6](4)SpringBoot不是對Spring功能上的增強,而是提供了一種快速使用Spring的方式2.2Vue框架Vue用于構(gòu)建交互式的Web界面的庫,是一個構(gòu)建數(shù)據(jù)驅(qū)動的Web界面漸進式框架,該框架遵循CMD規(guī)范,并且提供的設(shè)計模式為MVVM模式(Model->View->View-Model)和一個可組合的組合型組件系統(tǒng),具有簡單的、靈活的API(接口)。并且該框架繼承了React的虛擬DOM技術(shù)和Angular的雙向數(shù)據(jù)綁定技術(shù),是一款較新的功能性框架。2.2.1MVX框架在前端的發(fā)展歷史上出現(xiàn)了許多在不同的的架構(gòu),接下來對MVX的兩種架構(gòu)進行簡單的描述。MVC架構(gòu):模型-視圖-控制器模式,也稱為MVC模式(ModelViewController)。將業(yè)務(wù)邏輯、界面顯示與數(shù)據(jù)分離使用這種方法組織代碼,將業(yè)務(wù)邏輯匯總到一個部分里面,在修改與定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中REF_Ref19112\r\h[7]。MVVM架構(gòu):MVVM是Model-View-ViewModel的簡寫,本質(zhì)上就是MVC的改進版。MVVM相比與MVC模式主要是分離了試圖和模型,所有的交互都通過ViewModel進行了數(shù)據(jù)的通知與交互,從而達到了低耦合的優(yōu)點,View的修改可獨立于Model的修改,可提高重用性,可在View中重用獨立的視圖邏輯。歸根結(jié)底可總結(jié)為數(shù)據(jù)的雙向綁定的過程,即ViewModel的數(shù)據(jù)與Model的綁定,ViewModel的數(shù)據(jù)與View中的數(shù)據(jù)綁定,從而達到數(shù)據(jù)低耦合高重用性的過程。2.2.2Vue解析Vue是一套基于MVVM框架開發(fā)的用于構(gòu)架用戶界面的漸進式框架。并且Vue的核心庫只關(guān)注視圖層,提供了Vuex、Vue-router等組件使得其學(xué)習(xí)開發(fā)應(yīng)用更加的簡單。而且Vue也提供了雙向的數(shù)據(jù)綁定當(dāng)數(shù)據(jù)發(fā)生改變—自動更新視圖。利用Object.definedProperty中的setter/getter代理數(shù)據(jù),監(jiān)控對數(shù)據(jù)的操作。需求分析3.1總體需求分析本系統(tǒng)是由系統(tǒng)管理、業(yè)務(wù)管理、健康報備、監(jiān)控中心等四個模塊組成。 其中系統(tǒng)管理和監(jiān)控中心是為了監(jiān)控管理部門監(jiān)管人員信息和人員管理而設(shè)計的。系統(tǒng)管理模塊負責(zé)各個部門的建立,具體人員的信息創(chuàng)建與修改管理,角色權(quán)限的分配與管理,人員的部門分配等。監(jiān)控中心模塊是為了更好的監(jiān)控人員的操作而包含了登錄日志與操作管理等功能。業(yè)務(wù)管理模塊則是主要負責(zé)整個系統(tǒng)的業(yè)務(wù)處理功能,它包含了物資資料的創(chuàng)建以及物資的出入庫等各種物資的管理功能。健康報備模塊則包含了員工的簽到與疫情現(xiàn)狀的查看。 3.2功能性需求分析經(jīng)過對物資管理的實際情況分析之后,將系統(tǒng)的使用者分為了多種角色,并將這些角色分配到相對應(yīng)的部門進行管理:系統(tǒng)管理員技術(shù)部內(nèi)的角色擁有系統(tǒng)管理、業(yè)務(wù)管理、健康報備、監(jiān)控中心四個模塊中的所有權(quán)限。角色權(quán)限管理員擁有系統(tǒng)管理模塊、健康報備模塊,負責(zé)對部門、人員的管理與角色權(quán)限的分配。物資出入庫管理員擁有提交物資出庫、入庫表單和查看庫存的權(quán)限,只負責(zé)對物資出入庫表單的創(chuàng)建。審核管理員負責(zé)物資資料的創(chuàng)建及管理、物資類別的分類與管理以及負責(zé)對物資資料、物資入庫、物資出庫的審核與回收管理。系統(tǒng)日志管理員負責(zé)查看系統(tǒng)工作日志。3.2.1業(yè)務(wù)邏輯需求分析本系統(tǒng)主要業(yè)務(wù)為物資的進出庫管理,首先應(yīng)急物資提交給疾控部門,疾控部門根據(jù)相應(yīng)物資分類存入倉庫;最后疾控部門根據(jù)相關(guān)疫情將物資發(fā)往相關(guān)地區(qū),這就是一套完整的管理流程。根據(jù)總體需求分析以及業(yè)務(wù)邏輯分析本系統(tǒng)主要完成以下功能,系統(tǒng)用例圖如圖3-1所示。之后模塊敘述相關(guān)功能。圖3-1系統(tǒng)用例圖3.2.2系統(tǒng)管理模塊系統(tǒng)管理模塊主要是負責(zé)部門及員工的管理功能。該模塊包括部門/員工管理、文件管理、菜單權(quán)限管理、角色管理等4個子模塊。系統(tǒng)管理模塊的用例圖如圖3-2所示。圖3-2系統(tǒng)管理模塊的用例圖(1)用戶/部門管理該子模塊是負責(zé)對下屬部門及相應(yīng)員工的信息管理,可以增加、刪除和修改部門及員工信息。(2)菜單權(quán)限管理該子模塊主要是為了更好的管理系統(tǒng)權(quán)限,通過子菜單是否擁有打開以消除或添加某個角色的權(quán)限。(3)角色權(quán)限管理該子模塊主要是為了使系統(tǒng)權(quán)限的集中分配,使不同員工得到不同的功能權(quán)限。(4)文件管理該子模塊主要處理物資上傳照片的刪除與管理。3.2.3業(yè)務(wù)管理模塊業(yè)務(wù)管理模塊包含整個系統(tǒng)的主要業(yè)務(wù)處理部分,整合為入庫管理、出庫管理、物資資料管理、庫存管理四個子模塊,每個子模塊之下的功能通過劃分不同的角色權(quán)限實現(xiàn)業(yè)務(wù)管理。業(yè)務(wù)管理模塊用例圖如圖3-3所示。圖3-3業(yè)務(wù)管理模塊用例圖1.入庫記錄入庫記錄查看可以查看以往所有供貨單的相關(guān)信息以及其審核人員。創(chuàng)建新的入庫單根據(jù)已有的物資分類將所收到的物資創(chuàng)建新的入庫單信息。該入庫單的基本信息有:添加方式、入庫類型、省份、具體來源、聯(lián)系人、電話、郵箱、物資類別及數(shù)量等。審核入庫單擁有相關(guān)權(quán)限的管理人員可以負責(zé)審核是否通過入庫單。2.物資來源可以查詢出物資入庫的詳細信息,并對有紕漏的地方進行編輯修改。3.出庫記錄(1)出庫記錄查看可以查看以往所有供貨單的相關(guān)信息以及其審核人員。(2)創(chuàng)建新的入出庫單根據(jù)已有的物資分類將所收到的物資創(chuàng)建新的出庫單信息。該入庫單的基本信息有:添加方式、出庫類型、省份、具體來源、聯(lián)系人、電話、郵箱、物資類別及數(shù)量等。(3)審核出庫單擁有相關(guān)權(quán)限的管理人員可以負責(zé)審核是否通過出庫單。3.物資去處可以查詢出物資出庫的詳細地址,并對有紕漏的地方進行編輯修改。4.物資類別將所有物資統(tǒng)一分類,劃分各種用途或類別,用于快速查找物資。5.物資資料創(chuàng)建并查看各種應(yīng)急物資,并將其劃分到各個物資類別中。6.物資庫存查看各種物資庫存信息。3.2.4健康報備模塊健康報備模塊之下有兩個子模塊,主要是疫情地圖的查看以及人員的簽到。健康報備模塊用例圖如圖3-4所示。圖3-4健康報備模塊用例圖1.全國疫情疫情地圖的查看以及現(xiàn)存確診人數(shù)的展示。2.健康打卡操作人員每日進行健康問卷打卡簽到。記錄簽到人和相應(yīng)時間,同時可以看到簽到記錄。3.2.5監(jiān)控中心模塊監(jiān)控中心模塊之下是三個子模塊,主要查看員工對系統(tǒng)的各種操作日志。監(jiān)控中心模塊用例圖如圖3-5所示。圖3-5監(jiān)控中心模塊用例圖1.登入日志負責(zé)查看和刪除登入人、地點、時間、操作系統(tǒng)等操作。2.操作日志負責(zé)查看和刪除操作人、所做操作、時間、地點等操作。3.項目接口負責(zé)查看前后端交互的接口名稱與數(shù)據(jù)類型。
概要設(shè)計4.1系統(tǒng)架構(gòu)設(shè)計本項目采用B/S架構(gòu)遵循經(jīng)典MVC設(shè)計思想將系統(tǒng)分為表示層、業(yè)務(wù)層、數(shù)據(jù)層三層。架構(gòu)圖如圖4-1:圖4-1架構(gòu)圖表示層用于與用戶交互,采用了B/S架構(gòu),用戶通過瀏覽器的方式進行交互。使用ElementUI加Vue加速開發(fā)和擴展。前端通過AJAX異步請求將數(shù)據(jù)傳遞到業(yè)務(wù)層,業(yè)務(wù)層負責(zé)處理前端所發(fā)送的請求,并返回相應(yīng)的響應(yīng)結(jié)果。業(yè)務(wù)層通過Spring、SpringMVC、Shiro與Mybaites-Plus技術(shù)實現(xiàn),Shiro負責(zé)攔截請求與權(quán)限認證,SpringMVC負責(zé)前端請求分配并且在解析JSON之后,由Spring的依賴注入進行業(yè)務(wù)邏輯處理,最后通過Mybaites-Plus與數(shù)據(jù)層Mysql數(shù)據(jù)庫進行交互。4.2系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)環(huán)境如表4-1所示:表4-1系統(tǒng)開發(fā)環(huán)境操作系統(tǒng)Windows10開發(fā)工具Idea、HBuilderX數(shù)據(jù)庫Mysql、阿里云存儲瀏覽器谷歌4.3數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫的設(shè)計需要對所開發(fā)的系統(tǒng)做出應(yīng)有的需求分析,抽象出系統(tǒng)所需求的數(shù)據(jù)類型,然后設(shè)計出實現(xiàn)高效率存儲的數(shù)據(jù)庫邏輯結(jié)構(gòu)。本次設(shè)計所使用的是關(guān)系數(shù)據(jù)庫Mysql。4.3.1數(shù)據(jù)庫概念設(shè)計數(shù)據(jù)庫概念設(shè)計主要是為了能夠更好的體現(xiàn)用戶處理需求和事務(wù)之間聯(lián)系的去形成一個數(shù)據(jù)模型。而E-R是最為廣泛的概念設(shè)計方法之一。經(jīng)過對系統(tǒng)深入的需求分析之后,本系統(tǒng)主要使用到的對象有:用戶實體、物資實體、菜單實體、入庫表單實體、日志實體、出庫表單實體等。為了能夠清晰地反映各個實體之間的關(guān)系,數(shù)據(jù)庫總體E-R圖大致如圖4-2所示:圖4-2數(shù)據(jù)庫總體E-R圖4.3.2數(shù)據(jù)庫表設(shè)計因為系統(tǒng)需要建立多張數(shù)據(jù)庫表,根據(jù)4.3.1小節(jié)所設(shè)計的數(shù)據(jù)庫E-R模型,共創(chuàng)建了用戶表、權(quán)限表、菜單表、入庫單表、出庫單表、日志表、簽到表、物資表等19張表。以上述8張表為例具體如下所示:用戶表包含了用戶個人相關(guān)的信息,包括姓名、性別、密碼及密碼加密鹽等,用戶表如表4-1所示:表4-1用戶表字段名稱數(shù)據(jù)類型主鍵備注idbigint(20)Y用戶IDusernamevarchar(50)N用戶名nicknamevarchar(20)Nemailvarchar(128)N郵箱avatartextN頭像phone_numbervarchar(20)N聯(lián)系電話statusint(1)N狀態(tài)0鎖定1有效create_timedatetimeN創(chuàng)建時間modified_timedatetimeN修改時間sexint(1)N性別0男1女2保密saltvarchar(255)N鹽typeint(11)N0:超級管理員,1:系統(tǒng)用戶passwordvarchar(128)N密碼birthdateNdepartment_idbigint(20)N部門id權(quán)限表包含了角色權(quán)限ID與角色名稱等,與菜單表相匹配決定用戶擁有那些功能菜單。如表4-2所示:表4-2權(quán)限表字段名稱數(shù)據(jù)類型主鍵備注idbigint(20)Y角色IDrole_namevarchar(100)N角色名稱remarkvarchar(100)N角色描述create_timedatetimeN創(chuàng)建時間modified_timedatetimeN修改時間statusint(1)N是否可用,0:不可用,1:可用菜單表包含了菜單ID、菜單名稱等、與權(quán)限表相匹配決定用戶擁有那些功能菜單。如表4-3所示:表4-3菜單表字段名稱數(shù)據(jù)類型主鍵備注idbigint(20)Y菜單/按鈕IDparent_idbigint(20)N上級菜單IDmenu_namevarchar(50)N菜單/按鈕名稱urlvarchar(50)N菜單URLpermstextN權(quán)限標識iconvarchar(50)N圖標typechar(2)N類型0菜單1按鈕order_numbigint(20)N排序create_timedatetimeN創(chuàng)建時間modified_timedatetimeN修改時間availableint(11)N0:不可用,1:可用openint(1)N0:不展開,1:展開出庫單表由于入庫單表與出庫單表類似,所以以較為復(fù)雜的出庫單表為例,主要包含了ID、出庫單名稱、創(chuàng)建時間、操做人等,如表4-4所示表4-4出庫單表字段名稱數(shù)據(jù)類型主鍵備注idbigint(20)Yout_numvarchar(36)N出庫單typeint(1)N出庫類型:0:直接出庫,1:審核出庫operatorvarchar(20)N操作人create_timedatetimeN出庫時間product_numberint(11)N出庫總數(shù)consumer_idbigint(20)N消費者idremarkvarchar(50)N備注statusint(1)N狀態(tài):0:正常入庫,1:已進入回收,2:等待審核priorityint(1)N緊急程度:1:不急,2:常規(guī),3:緊急4:特急日志表由于登入日志與操作日志相似所以以復(fù)雜的操作日志為例,包含了操做人、操作地點、操作時間等。如表4-5所示:表4-5日志表字段名稱數(shù)據(jù)類型主鍵備注idbigint(20)Y日志IDusernamevarchar(50)N操作用戶operationtextN操作內(nèi)容timedecimal(11,0)N耗時methodtextN操作方法paramstextN方法參數(shù)ipvarchar(64)N操作者IPcreate_timedatetimeN創(chuàng)建時間locationvarchar(50)N操作地點簽到表包含了簽到地點、簽到人ID、簽到時間等。如表4-6所示:表4-6簽到表字段名稱數(shù)據(jù)類型主鍵備注idbigint(20)Yaddressvarchar(50)N地點user_idbigint(20)N簽到人IDsituationint(1)Ntouchint(1)Npassbyint(1)Nreceptionint(1)Ncreate_timedatetimeN簽到時間物資表主要包含了應(yīng)急物資的ID、名稱、單名、單位等。具體如表4-7所示:表4-7物資表字段名稱數(shù)據(jù)類型主鍵備注idbigint(20)Np_numvarchar(255)N商品編號namevarchar(255)N商品名稱image_urltextN圖片modelvarchar(100)N規(guī)格型號unitvarchar(10)N計算單位remarkvarchar(100)N備注sortint(11)N排序create_timedatetimeN創(chuàng)建時間modified_timedatetimeN修改時間one_category_idbigint(20)N1級分類two_category_idbigint(20)N2級分類three_category_idbigint(20)N3級分類statusint(1)N是否刪除:1:物資正常,0:物資回收,2:物資審核中詳細設(shè)計5.1系統(tǒng)總體設(shè)計本系統(tǒng)是由系統(tǒng)管理、業(yè)務(wù)管理、健康報備、監(jiān)控中心等四個模塊組成,如圖5-1所示:圖5-1總體設(shè)計圖5.2系統(tǒng)管理模塊設(shè)計該模塊一開始主要是由系統(tǒng)管理員操作的。分為部門\角色管理、角色權(quán)限管理、文件管理、菜單權(quán)限管理。其框架圖如圖5-2所示:圖5-2系統(tǒng)管理模塊框架圖員工管理該模塊是負責(zé)創(chuàng)建、修改、刪除員工及其相關(guān)信息并為其分配功能權(quán)限。部門管理該模塊是負責(zé)將擁有相似權(quán)限的員工歸于同一部門方便分類管理。菜單管理該模塊負責(zé)系統(tǒng)菜單樹的建立,由系統(tǒng)管理員創(chuàng)建、修改、刪除。員工的權(quán)限通過角色的分配,與菜單樹的選項有無實現(xiàn)。角色權(quán)限管理該模塊用于創(chuàng)建各個權(quán)限的角色,以用于分配給員工,通過編輯菜單樹子節(jié)點的有無,實現(xiàn)權(quán)限分配。文件管理該模塊用于查看與刪除和物資相匹配的圖片。5.3業(yè)務(wù)管理模塊設(shè)計該模塊主要實現(xiàn)物資的出入庫與物資的資料庫存管理,由入庫記錄、物資去處、物資來源、物資類別、物資資料、物資庫存等六個子模塊組成其框架圖如圖5-3所示:圖5-3業(yè)務(wù)管理模塊框架圖入庫記錄該模塊包含了查看物資的入庫記錄、物資入庫表單的創(chuàng)建、回收、刪除等多個功能由角色的具體權(quán)限分配給予員工不同的功能。物資入庫具體流程圖如下圖5-4所示:圖5-4入庫流程圖物資來源主要用于查詢、添加、修改出庫物資所具體的地點信息等。物資類別該模塊創(chuàng)建一個關(guān)于物資具體分類的菜單樹,將物資分為幾個大類,大類之下在具體劃分相應(yīng)的小類,以便于在查詢時更快的找到相應(yīng)物資。物資資料該模塊負責(zé)查詢、添加、刪除倉庫中已有或未有的物資信息。發(fā)放記錄該模塊包含了查看物資的發(fā)放記錄、物資出庫表單的創(chuàng)建、回收、刪除等多個功能由角色的具體權(quán)限分配給予員工不同的功能。物資出庫庫具體流程圖如下圖5-4所示:圖5-5出庫流程圖物資去處主要用于查詢、添加、修改出庫物資所具體的地點信息等。物資庫存以表格和餅圖的方式更加直觀的表示出物資的庫存現(xiàn)狀。5.4健康報備模塊設(shè)計該模塊主要實現(xiàn)國內(nèi)疫情地圖的查看與員工簽到功能。5.5監(jiān)控中心模塊設(shè)計該模塊由三個子模塊組成,登入日志、操作日志可由日志管理員負責(zé),而項目接口另由系統(tǒng)管理員負責(zé)。具體設(shè)計框架圖如下5-6所示:圖5-6監(jiān)控中心模塊框架圖(1)登入日志負責(zé)查看和刪除登入人、地點、時間、操作系統(tǒng)等操作。(2)操作日志負責(zé)查看和刪除操作人、所做操作、時間、地點等操作。(3)項目接口負責(zé)查看前后端交互的接口名稱與數(shù)據(jù)類型。
系統(tǒng)實現(xiàn)6.1系統(tǒng)主頁面的實現(xiàn)由于所有的登入員工都是由系統(tǒng)管理員或角色權(quán)限管理員創(chuàng)建的,所以登入界面相對簡單只提供登入功能。主要實現(xiàn)的控制類為UserController.java,PC登入界面如圖6-1所示:圖6-1登錄界面本系統(tǒng)管理員登錄之后的主界面圖如圖6-2所示:圖6-2主界面系統(tǒng)管理員擁有著所有的權(quán)限與功能,在主界面顯示著登入統(tǒng)計與用戶相關(guān)信息。6.2系統(tǒng)管理模塊實現(xiàn)系統(tǒng)管理模塊包括部門管理、角色管理、員工管理、文件管理、菜單管理等多個子模塊,主要是負責(zé)部門及員工的管理功能。這里將相關(guān)聯(lián)的功能模塊合并介紹6.2.1部門/員工管理系統(tǒng)管理員或角色權(quán)限管理員通過部門管理和員工管理創(chuàng)建和添加新的部門或員工,以便員工能夠登入系統(tǒng)。模塊主要包含類如表6-1所示:表6-1部門/員工管理主要類控制層類UserController.javaDepartmentController.java業(yè)務(wù)邏輯類UserService.javaUserServiceImpl.javaDepartmentService.javaDepartmentServiceImpl.java持久對象類User.javaDepartment.java系統(tǒng)管理員登入系統(tǒng)后可以在頁面上新建員工之后通過UserController類的add方法經(jīng)過相應(yīng)ServiceImpl類的處理,將輸入的員工數(shù)據(jù)通過MybatiesPlus的相應(yīng)方法保存到數(shù)據(jù)庫中。新建部門則是通過DepartmentController類的add方法經(jīng)過相應(yīng)ServiceImpl類的處理,將輸入的部門數(shù)據(jù)通過MybatiesPlus的相應(yīng)方法保存到數(shù)據(jù)庫中。最后在員工管理界面通過修改員工信息將員工分配給各個部門。對于創(chuàng)建新員工的部分代碼如表6-2所示,編輯員工信息如圖6-3所示:表6-2添加員工代碼圖6-3編輯員工界面6.2.2角色權(quán)限管理系統(tǒng)管理員或權(quán)限管理員通過角色權(quán)限管理給系統(tǒng)創(chuàng)建角色和分配權(quán)限,用來實現(xiàn)給各員工分配不同職能各司其職。本功能主要包含的類如表6-3所示:表6-3角色權(quán)限管理主要類控制層類MenuController.javaRoleController.java業(yè)務(wù)邏輯類RoleService.javaMenuService.javaRoleServiceImpl.javaMenuServiceImpl.java持久對象類RoleMenu角色權(quán)限管理分為菜單樹的建立與權(quán)限設(shè)置編輯、權(quán)限角色的建立與分配。由系統(tǒng)管理員通過MenuController類的add方法將前端頁面?zhèn)鬟^來的信息經(jīng)過相應(yīng)ServiceImpl的處理保存到數(shù)據(jù)庫創(chuàng)建出菜單的各個父節(jié)點與子節(jié)點并將其下的各個功能編輯上相應(yīng)的權(quán)限編碼。菜單權(quán)限的主界面和編輯界面如圖6-4和圖6-5所示:圖6-4菜單權(quán)限的主界面圖6-5菜單編輯界面權(quán)限角色的創(chuàng)建由前端頁面發(fā)送的數(shù)據(jù)經(jīng)由RoleController類的add方法的ServiceImpl類處理添加到數(shù)據(jù)庫,之后在授權(quán)界面授予權(quán)限角色相對應(yīng)權(quán)限菜單。經(jīng)由RoleController類的authority方法的ServiceImpl類處理添加到數(shù)據(jù)庫使得權(quán)限角色ID與菜單權(quán)限ID相對應(yīng)完成相應(yīng)授權(quán)。權(quán)限角色授權(quán)的部分代碼如表6-4所示:表6-4角色授權(quán)代碼權(quán)限角色授權(quán)界面如圖6-6所示:圖6-6角色授權(quán)界面6.3業(yè)務(wù)管理模塊實現(xiàn)業(yè)務(wù)管理模塊按功能可以整合四個子模塊分別是入庫管理、出庫管理、物資資料管理、庫存管理,主要負責(zé)整個系統(tǒng)有關(guān)物資庫存及出入庫所有業(yè)務(wù)邏輯。6.3.1入庫管理入庫管理包含入庫記錄和物資來源兩個頁面。主要功能包含的類如表6-5所示:表6-5入庫管理主要類控制層類SupplierController.javaInStockController.java業(yè)務(wù)邏輯類SupplierService.javaInStockService.javaSupplierServiceImpl.javaInStockServiceImpl.java持久對象類Supplier.javaInStock.java入庫記錄出入庫管理員可以通過前端創(chuàng)建入庫表單點擊添加后通過InStockController類的addIntoStock方法調(diào)用InStockService的addIntoStock接口實現(xiàn)完成入庫單存入數(shù)據(jù)庫并標記為審核狀態(tài)。審核管理員可以通過InStockController的findInStockList方法查詢出所有已審核、未審核和回收站內(nèi)的入庫表單并通過InStockController類的publish方法調(diào)用InStockService的publish接口實現(xiàn)完成入庫單修改為已審核狀態(tài)。入庫記錄主界面如圖6-7所示:圖6-7入庫記錄主界面添加入庫界面如圖6-8所示:圖6-8添加入庫界面界面添加入庫部分實現(xiàn)代碼如表6-6所示:表6-6添加入庫部分代碼物資來源主要查詢顯示物資的具體來源地點,在創(chuàng)建入庫表單時InStockController類同時調(diào)用了supplierService接口的add實現(xiàn)方法將前端數(shù)據(jù)中的來源地點填寫到數(shù)據(jù)庫中。管理人員就可以通過請求SupplierController類下的findAll方法調(diào)用supplierService接口下的findAll實現(xiàn)方法查詢所有的物資來源。物資來源主要界面如圖6-9所示:圖6-9物資來源界面6.3.2出庫管理出庫管理包含出庫記錄和物資去處兩個頁面。主要功能包含的類如表6-7所示:表6-7出庫管理主要類控制層類ConsumerController.javaOutStockController.java業(yè)務(wù)邏輯類OutStockService.javaConsumerService.javaOutStockServiceImpl.javaConsumerServiceImpl.java持久對象類OutStock.javaConsumer.java出庫記錄出入庫管理員可以通過前端創(chuàng)建入庫表單點擊添加后通過OutStockController類的addOutStock方法調(diào)用OutStockService的addOutStock接口實現(xiàn)完成入庫單存入數(shù)據(jù)庫并標記為審核狀態(tài)。審核管理員可以通過OutStockController的findInStockList方法查詢出所有已審核、未審核和回收站內(nèi)的入庫表單并通過OutStockController類的publish方法調(diào)用OutStockService的publish接口實現(xiàn)完成入庫單修改為已審核狀態(tài)。入庫記錄主界面如圖6-10所示:圖6-10出庫記錄界面添加出庫界面如圖6-11所示:圖6-11添加出庫物資界面添加入庫部分實現(xiàn)代碼如圖6-8所示:表6-8添加入庫部分代碼(2)物資去處主要查詢顯示物資的具體去處地點,在創(chuàng)建入庫表單時OutStockController類同時調(diào)用了ConsumerService接口的add實現(xiàn)方法將前端數(shù)據(jù)中的去處地點填寫到數(shù)據(jù)庫中。管理人員就可以通過請求ConsumerController類下的findAll方法調(diào)用ConsumerService接口下的findAll實現(xiàn)方法查詢所有的物資來源。物資去處主要界面如圖6-12所示:圖6-12物資去處主要界面6.3.3物資資料管理該模塊也有兩個界面組成分別是物資資料和物資類別。主要功能包含的類如表6-9所示:表6-9物資資料管理主要類控制層類ProductController.javaProductCategoryController.java業(yè)務(wù)邏輯類ProductService.javaProductCategoryService.javaProductServiceImpl.javaProductCategoryServiceImpl.java持久對象類Product.javaProductCategory.java工具類CategoryTreeBuilder.java物資類別管理員可以通過ProductCategoryController的add方法創(chuàng)建物資的多級菜單列表將各種物資放入分類中以提供更加快捷的查到相應(yīng)物資。物資類別主界面如圖6-13所示:圖6-13物資類別主界面多級樹實現(xiàn)部分代碼如表6-10所示:表6-10多級樹實現(xiàn)部分代碼物資資料管理員可以通過ProductController類的findProductList方法查詢出現(xiàn)有物資資料也可以通過前端添加物資頁面將表單數(shù)據(jù)通過調(diào)用ProductController類的add方法實現(xiàn)新物資的數(shù)據(jù)庫添加工作。物資資料的主界面與添加物資界面分別如圖6-14與圖6-15所示:圖6-14物資資料的主界面圖6-15添加物資界面查詢物資列表部分代碼與添加物資部分代碼分別如表6-11與表6-12所示:表6-11查詢物資列表部分代碼表6-12添加物資部分代碼6.3.4庫存管理主要調(diào)用6.3.3小節(jié)中提到的ProductController類中的findProductStocks方法查詢出所有的物資庫存返回庫存數(shù)據(jù)并通過前端echarts插件繪制出圖表。物資庫存界面如圖6-16所示:圖6-16物資庫存界面6.4健康報備模塊實現(xiàn)健康報備模塊包含全國疫情與健康打卡兩個模塊。6.4.1全國疫情通過前端調(diào)用新浪微博有關(guān)于各地疫情信息的API利用echarts繪制疫情地圖與表格。疫情地圖如圖6-17所示:圖6-17疫情地圖界面前端部分代碼如表6-13所示:表6-13繪制地圖前端部分代碼6.4.2健康打卡主要功能包含的類如表6-14所示:表6-14健康打卡主要類控制層類HealthController.java業(yè)務(wù)邏輯類HealthServiceImpl.java持久對象類Health.java所有成員都可以調(diào)用HealthController類的report方法完成每日的健康上報,同時也可以調(diào)用HealthController類的history方法查看簽到記錄。主要界面如圖6-18所示:圖6-18健康打卡界面6.5監(jiān)控中心模塊實現(xiàn)監(jiān)控中心模塊主要下分3個子模塊登入日志、操作日志、項目接口。6.5.1登入日志主要功能包含的類如表6-15所示:表6-15登錄日志主要類控制層類LoginLogController.java業(yè)務(wù)邏輯類LoginLogService.java持久對象類LoginLog.java所有成員在登錄時都會調(diào)用LoginLogService接口下的add方法實現(xiàn)登錄日志的自動添加。管理員可以通過LoginLogController類下的findLoginLogList方法查詢所有的成員的登錄詳情也可以通過LoginLogController類下的delete方法刪除登錄日志。登入日志主頁面如圖6-18所示:圖6-18登入日志主界面登錄日志添加部分代碼表6-16所示:表6-16登錄日志添加部分代碼6.5.2操作日志主要功能包含的類如表6-17所示:表6-17操作日志主要類控制層類LogController.java業(yè)務(wù)邏輯類LogService.java持久對象類Log.java工具類ControllerEndpointAspect.javaAspectSupport.java通過創(chuàng)建AOP切面獲取用戶的每一個具體操作類和名稱并通過LogService的saveLog方法將其存儲到數(shù)據(jù)庫中。管理員可以通過LogController類下的findLogList方法查詢所有的成員的登錄詳情也可以通過LogController類下的delete方法刪除登錄日志。AOP切面存儲數(shù)據(jù)庫的部分代碼如表6-18所示:表6-18AOP切面的部分代碼操作日志界面如圖6-19所示:圖6-19操作日志界面6.5.3項目接口該模塊主要應(yīng)用swagger實現(xiàn),由前端直接跳轉(zhuǎn)界面。項目接口界面如圖6-20所示:圖6-20項目接口界面系統(tǒng)測試7.1系統(tǒng)測試內(nèi)容界面測試主要測試系統(tǒng)界面是否美觀,界面之間銜接展示是否正常,是否
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 家具保管合同范本
- 信息合作合同范本
- 員工鐵床專賣合同范本
- 法人簽普通合同范本
- 未來五年牛脂肪行業(yè)直播電商戰(zhàn)略分析研究報告
- 未來五年發(fā)泡陶瓷保溫板行業(yè)跨境出海戰(zhàn)略分析研究報告
- 未來五年茭白行業(yè)直播電商戰(zhàn)略分析研究報告
- 未來五年直播電商企業(yè)縣域市場拓展與下沉戰(zhàn)略分析研究報告
- 市場營銷高手養(yǎng)成市場策劃面試題解析及技巧
- 未來五年用戶駐地網(wǎng)的建設(shè)、服務(wù)企業(yè)ESG實踐與創(chuàng)新戰(zhàn)略分析研究報告
- 2026湖北恩施州建始縣教育局所屬事業(yè)單位專項招聘高中教師28人備考筆試試題及答案解析
- 心肺康復(fù)課件
- 2025人民法院出版社社會招聘8人(公共基礎(chǔ)知識)測試題附答案解析
- 上海市奉賢區(qū)2026屆高三一模英語試題
- 設(shè)施設(shè)備綜合安全管理制度以及安全設(shè)施、設(shè)備維護、保養(yǎng)和檢修、維修制
- 2025屆高考全國二卷第5題說題課件
- QSY08002.3-2021健康安全與環(huán)境管理體系第3部分審核指南
- 四川省德陽市旌陽區(qū)2024-2025學(xué)年七年級上學(xué)期語文期末檢測試卷(含答案)
- 2025-2026學(xué)年蘇科版(新教材)小學(xué)信息科技三年級上冊期末綜合測試卷及答案
- 初中校長述職述廉報告
- 鐵路基層站段大學(xué)生的培養(yǎng)及使用
評論
0/150
提交評論