版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)論文(設(shè)計(jì))基于SpringBoot+Vue的常規(guī)應(yīng)急物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)院名稱專業(yè)班級(jí)學(xué)生姓名學(xué)號(hào)導(dǎo)師姓名專業(yè)技術(shù)職務(wù)I第一章緒論1.1研究背景近年來(lái),第三產(chǎn)業(yè)發(fā)展非常迅速,諸如計(jì)算機(jī)服務(wù)、旅游、娛樂(lè)、體育等服務(wù)行業(yè),對(duì)整個(gè)社會(huì)的經(jīng)濟(jì)建設(shè)起到了極大地促進(jìn)作用,這一點(diǎn)是毋庸置疑的。現(xiàn)下,國(guó)家也出臺(tái)了一系列的政策來(lái)支持和鼓勵(lì)第三服務(wù)產(chǎn)業(yè)的發(fā)展與完善,用以帶動(dòng)社會(huì)經(jīng)濟(jì)的發(fā)展REF_Ref8733\r\h[1]。所以,整體來(lái)說(shuō),國(guó)家是比較提倡發(fā)展第三方服務(wù)行業(yè)的。縱觀計(jì)算機(jī)領(lǐng)域的整個(gè)發(fā)展歷程,從計(jì)算機(jī)的誕生到現(xiàn)在,已經(jīng)有幾百年的歷史了,計(jì)算機(jī)應(yīng)用技術(shù)也逐步趨于成熟,并且相關(guān)的設(shè)計(jì)人員也在不斷地對(duì)其進(jìn)行改進(jìn)和完善。再到如今,計(jì)算機(jī)已經(jīng)發(fā)展成為一個(gè)比較熱門的行業(yè)了。在高校中,計(jì)算機(jī)、人工智能等專業(yè)熱度非常高,許多學(xué)生在選擇專業(yè)的時(shí)候,大都優(yōu)先考慮計(jì)算機(jī)專業(yè)。在社會(huì)上,計(jì)算機(jī)類行業(yè)也成為了比較受歡迎的行業(yè),從在瀏覽器中訪問(wèn)的網(wǎng)址,到手機(jī)上的各種應(yīng)用程序,再到大型的軟件服務(wù)設(shè)備,基本上都離不開(kāi)計(jì)算機(jī)技術(shù)支持,以及硬件的支撐。如今,互聯(lián)網(wǎng)幾乎遍布于世界的各個(gè)角落,人工智能、大數(shù)據(jù)占據(jù)越來(lái)越重要的地位,比如疫情期間,通過(guò)大數(shù)據(jù)技術(shù)進(jìn)行篩查,確定哪些人員無(wú)接觸史,哪些人員需要重點(diǎn)觀察,由此可以在極短的時(shí)間內(nèi),以最快的速度對(duì)疫情進(jìn)行防控。在這個(gè)大背景環(huán)境的推動(dòng)下,本人通過(guò)學(xué)習(xí)Java語(yǔ)言、MySQL數(shù)據(jù)庫(kù)、SSM框架等相關(guān)的計(jì)算機(jī)技術(shù),打好堅(jiān)實(shí)的技術(shù)基礎(chǔ),方便后期對(duì)系統(tǒng)進(jìn)行研發(fā)。而后再通過(guò)對(duì)系統(tǒng)進(jìn)行分析,確定系統(tǒng)的總體功能需求,以及實(shí)現(xiàn)的可能性,方便接下來(lái)詳細(xì)地設(shè)計(jì)相關(guān)的功能模塊,最后成功的研發(fā)了一款基于SpringBoot+Vue的常規(guī)應(yīng)急物資管理系統(tǒng)。本系統(tǒng)改善了傳統(tǒng)的管理模式,將原先的手工記錄和管理信息,改進(jìn)為使用計(jì)算機(jī)存儲(chǔ)和管理信息記錄,極大地方便了工作人員對(duì)相關(guān)數(shù)據(jù)進(jìn)行處理,為相關(guān)行業(yè)節(jié)約了不少的員工費(fèi)用和管理開(kāi)銷,并且能夠在較短的時(shí)間內(nèi)響應(yīng)用戶的需求,這種便捷的操作,對(duì)于用戶來(lái)說(shuō)可以節(jié)省不少時(shí)間和精力,也省去了不少的麻煩,極大地方便了用戶。1.2研究意義傳統(tǒng)的信息管理模式,主要是以人力為主進(jìn)行管理和控制,由工作人員負(fù)責(zé)登記用戶信息,再通過(guò)對(duì)照之前的信息記錄,確定是否給用戶提供相關(guān)的使用需求,以及如何提供能讓用戶滿意的使用需求。這種管理模式已經(jīng)適應(yīng)不了時(shí)代的變化了,正在不斷地走下坡路,并且逐步被信息化管理模式所取代。所謂的信息化管理模式,是現(xiàn)在主流的一種管理模式,其通過(guò)與計(jì)算機(jī)技術(shù)相結(jié)合的方式,對(duì)行業(yè)的整個(gè)工作模式和服務(wù)流程進(jìn)行改進(jìn)和完善。其主要通過(guò)使用計(jì)算機(jī)等設(shè)備,將工作服務(wù)流程電子化,并且進(jìn)行存儲(chǔ)記錄,用以提高行業(yè)整體的服務(wù)水平。結(jié)合計(jì)算機(jī)技術(shù),本人研發(fā)出一款基于SpringBoot+Vue的常規(guī)應(yīng)急物資管理系統(tǒng),采用電子化的方式對(duì)數(shù)據(jù)信息進(jìn)行存儲(chǔ),便于工作人員對(duì)相關(guān)信息進(jìn)行記錄和管理,有利于提高相關(guān)行業(yè)的工作運(yùn)營(yíng)效率以及工作人員的管理速度,以此更好的滿足用戶的相關(guān)需求,最終達(dá)到提升用戶的使用感受的目的,由此可見(jiàn)設(shè)計(jì)和實(shí)現(xiàn)本系統(tǒng)具有重要的意義和價(jià)值。1.3國(guó)內(nèi)外研究現(xiàn)狀1.3.1國(guó)外研究現(xiàn)狀美國(guó)是最先發(fā)展計(jì)算機(jī)技術(shù)的眾多國(guó)家之一,早在上個(gè)世紀(jì),美國(guó)的計(jì)算機(jī)技術(shù)就快速地發(fā)展起來(lái),并且運(yùn)用在軍事、醫(yī)院、學(xué)校、社會(huì)服務(wù)等場(chǎng)所。日本、德國(guó)等國(guó)家緊隨其后,不斷地發(fā)展和完善計(jì)算機(jī)技術(shù),側(cè)重將醫(yī)療、社會(huì)服務(wù)等領(lǐng)域與計(jì)算機(jī)技術(shù)相結(jié)合REF_Ref8919\r\h[2]。而后隨著社會(huì)的發(fā)展與進(jìn)步,計(jì)算機(jī)技術(shù)逐漸趨于成熟。許多發(fā)達(dá)國(guó)家在探索將計(jì)算機(jī)技術(shù)應(yīng)用于各行各業(yè)中時(shí),從另一個(gè)角度來(lái)看,也在不斷地推進(jìn)相關(guān)行業(yè)的信息化管理進(jìn)程,使得相關(guān)行業(yè)管理也變得更加網(wǎng)絡(luò)化、信息化。有許多專家表示,可以結(jié)合使用圖像處理軟件、人工智能技術(shù)等相關(guān)工具,深度地分析常規(guī)應(yīng)急物資管理系統(tǒng),主要從簡(jiǎn)化運(yùn)行操作,加設(shè)功能模塊,美化系統(tǒng)界面,保障數(shù)據(jù)安全等方面,更深層次地提升和優(yōu)化系統(tǒng),并且盡可能地在理想狀態(tài)下做到實(shí)時(shí)的信息共享。1.3.2國(guó)內(nèi)研究現(xiàn)狀國(guó)內(nèi)的計(jì)算機(jī)技術(shù)的發(fā)展雖然晚于國(guó)外,尤其是美國(guó)、英國(guó)、德國(guó)等發(fā)達(dá)國(guó)家。但是我國(guó)的計(jì)算機(jī)技術(shù)發(fā)展勢(shì)頭非常迅猛,近些年,也逐漸走向成熟和完善的階段。現(xiàn)在,選擇網(wǎng)上購(gòu)物已經(jīng)成為人們?nèi)粘I畹囊环N常態(tài)趨勢(shì),當(dāng)然這也離不開(kāi)對(duì)于天貓、支付寶、微信等應(yīng)用軟件的使用REF_Ref13233\r\h[3]。許多企業(yè)結(jié)合使用了云計(jì)算、人工智能等先進(jìn)的計(jì)算機(jī)技術(shù),自主研發(fā)了行業(yè)相關(guān)的信息管理系統(tǒng),計(jì)算機(jī)技術(shù)逐漸趨于成熟,使用設(shè)計(jì)的功能逐漸趨于完備。結(jié)合計(jì)算機(jī)技術(shù),采用主流的B/S開(kāi)發(fā)結(jié)構(gòu)模式開(kāi)發(fā)一款基于SpringBoot+Vue的常規(guī)應(yīng)急物資管理系統(tǒng)。由此,本系統(tǒng)能夠支持工作人員隨時(shí)隨地的通過(guò)使用瀏覽器進(jìn)行訪問(wèn)操作,支持隨時(shí)隨地對(duì)相關(guān)的常規(guī)應(yīng)急物資信息進(jìn)行管理,便于及時(shí)為用戶提供一定的功能服務(wù)。并且所設(shè)計(jì)的系統(tǒng)基本上能夠符合用戶的客觀使用需求,有利于充分協(xié)調(diào)相關(guān)行業(yè)的人力、財(cái)力、物力等資源,不斷提高相關(guān)工作人員的管理質(zhì)量和水平REF_Ref13334\r\h[4]。1.4研究?jī)?nèi)容與方法1.4.1研究?jī)?nèi)容本文首先介紹了常規(guī)應(yīng)急物資管理系統(tǒng)的研究背景與意義,其次介紹了系統(tǒng)的總體功能設(shè)計(jì),接著將對(duì)系統(tǒng)規(guī)劃好的總體功能拆分成了各個(gè)功能子模塊,然后詳細(xì)地對(duì)每一個(gè)小的功能子模塊進(jìn)行設(shè)計(jì),最后介紹了展示設(shè)計(jì)好的功能模塊以及測(cè)試結(jié)果。系統(tǒng)主要分為管理員角色和用戶角色,具體的功能設(shè)計(jì)包括注冊(cè)登錄管理、用戶信息管理、物資信息管理、物資運(yùn)輸管理等模塊。注冊(cè)登錄管理功能是新用戶在使用系統(tǒng)前,需要通過(guò)注冊(cè)步驟,登記詳細(xì)的信息資料,而后再通過(guò)輸入正確的賬號(hào)和密碼,成功登錄系統(tǒng)后,即可通過(guò)一系列的操作來(lái)滿足自己的相關(guān)需求。用戶信息管理功能是管理相關(guān)的用戶信息資料,管理人員根據(jù)現(xiàn)實(shí)情況的需要,選擇性的對(duì)用戶信息記錄進(jìn)行更新處理。物資信息管理是管理相關(guān)的物資信息記錄,保存詳情的物資信息情況,方便及時(shí)響應(yīng)用戶的服務(wù)請(qǐng)求。物資運(yùn)輸管理是管理相關(guān)的物資運(yùn)輸信息記錄,方便相關(guān)人員及時(shí)查看物資運(yùn)輸信息,如果遇到異常的物資運(yùn)輸信息,可以及時(shí)對(duì)其進(jìn)行處理,在較短的時(shí)間內(nèi)解決問(wèn)題,提高用戶的使用體驗(yàn)。1.4.2研究方法本系統(tǒng)以B/S架構(gòu)進(jìn)行實(shí)現(xiàn),通過(guò)使用idea工具編寫相關(guān)的java代碼,設(shè)計(jì)系統(tǒng)功能模塊,再通過(guò)MySQL數(shù)據(jù)庫(kù)管控?cái)?shù)據(jù)資源,由此有利于對(duì)系統(tǒng)相關(guān)數(shù)據(jù)進(jìn)行必要的管理和控制。系統(tǒng)設(shè)計(jì)的最關(guān)鍵的環(huán)節(jié),則是需要通過(guò)SSM框架設(shè)計(jì)系統(tǒng)功能架構(gòu),再通過(guò)Tomcat服務(wù)器將系統(tǒng)發(fā)布到瀏覽器上,以便相關(guān)用戶的操作和使用。本系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)促進(jìn)了相關(guān)行業(yè)的信息化建設(shè),有利于簡(jiǎn)化相關(guān)人員工作流程,提高工作效率,提升工作幸福感。1.5論文的組織結(jié)構(gòu)基于SpringBoot+Vue的常規(guī)應(yīng)急物資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)的論文組織結(jié)構(gòu),大致可以分為七個(gè)章節(jié),具體的內(nèi)容如下:第一章為緒論,本章主要介紹了系統(tǒng)的背景、現(xiàn)狀、方法等內(nèi)容。根據(jù)研究背景與意義,介紹所要設(shè)計(jì)的系統(tǒng)的研究背景和理論依據(jù),再通過(guò)國(guó)內(nèi)外研究現(xiàn)狀,了解當(dāng)前相關(guān)的系統(tǒng)軟件產(chǎn)品的實(shí)際研究情況,最后通過(guò)研究?jī)?nèi)容與方法,總體概括系統(tǒng)的整個(gè)開(kāi)發(fā)流程和實(shí)現(xiàn)步驟,為系統(tǒng)提供可靠的理論依據(jù)和技術(shù)支持。第二章為相關(guān)技術(shù)介紹,本章主要介紹了開(kāi)發(fā)所使用的相關(guān)技術(shù)。本系統(tǒng)主要使用的開(kāi)發(fā)技術(shù)包括Java語(yǔ)言、SSM框架、MySQL數(shù)據(jù)庫(kù)等,并且所使用的開(kāi)發(fā)模式為B/S架構(gòu)。其中,Java語(yǔ)言具有跨平臺(tái)性,可移植性高,可以支持在不同的瀏覽器上運(yùn)行本系統(tǒng),MySQL數(shù)據(jù)庫(kù)占用內(nèi)存少,執(zhí)行速度快,對(duì)于中小型系統(tǒng)的數(shù)據(jù)管理是非常好的選擇。第三章為系統(tǒng)分析,系統(tǒng)分析階段主要是對(duì)系統(tǒng)進(jìn)行需求和可行性分析,規(guī)劃系統(tǒng)的功能設(shè)計(jì),判斷系統(tǒng)實(shí)現(xiàn)的可能性。根據(jù)需求分析,確認(rèn)使用者對(duì)系統(tǒng)的基本功能需求,再通過(guò)在經(jīng)濟(jì)、操作、法律上進(jìn)行可行性分析,分析系統(tǒng)研發(fā)的實(shí)際意義和使用價(jià)值,系統(tǒng)性能的穩(wěn)定性和功能操作的便捷性,以及成功投入市場(chǎng)的可能性。第四章為系統(tǒng)設(shè)計(jì),本章主要介紹了系統(tǒng)的總體功能設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)等內(nèi)容。通過(guò)介紹系統(tǒng)的總體功能設(shè)計(jì),規(guī)劃設(shè)計(jì)出系統(tǒng)實(shí)際需要設(shè)計(jì)的功能模塊,便于相關(guān)的技術(shù)人員后期設(shè)計(jì)系統(tǒng)的功能模塊做好準(zhǔn)備工作。再通過(guò)介紹數(shù)據(jù)庫(kù)設(shè)計(jì),便于設(shè)計(jì)出數(shù)據(jù)庫(kù)能夠存放和管控的數(shù)據(jù)表,有利于相關(guān)的設(shè)計(jì)人員管理必要的數(shù)據(jù)資源,維護(hù)和更新數(shù)據(jù)信息的安全。第五章為系統(tǒng)實(shí)現(xiàn),系統(tǒng)實(shí)現(xiàn)階段主要是對(duì)物資信息管理、物資運(yùn)輸管理等功能模塊進(jìn)行闡述。通過(guò)前面介紹的系統(tǒng)分析,功能及數(shù)據(jù)庫(kù)設(shè)計(jì)等相關(guān)內(nèi)容,詳細(xì)地實(shí)現(xiàn)系統(tǒng)功能模塊。這一過(guò)程就是系統(tǒng)的具體實(shí)現(xiàn)階段,站在系統(tǒng)的整體設(shè)計(jì)角度出發(fā),對(duì)系統(tǒng)的實(shí)現(xiàn)進(jìn)行必要分析可知,這一階段是極為重要,直接關(guān)系到用戶對(duì)系統(tǒng)的使用感受。第六章為系統(tǒng)測(cè)試,本章主要是對(duì)測(cè)試相關(guān)的內(nèi)容進(jìn)行敘述。本系統(tǒng)主要使用功能測(cè)試的方法,檢查測(cè)驗(yàn)系統(tǒng)主要功能,測(cè)試所設(shè)計(jì)的系統(tǒng)功能能否正常使用,并且用戶能夠正常操作和使用,在系統(tǒng)運(yùn)行過(guò)程中是否發(fā)生異常,如運(yùn)行異常、數(shù)據(jù)異常、結(jié)果異常等,并且根據(jù)測(cè)試結(jié)果,給出相應(yīng)的測(cè)試總結(jié),由此得出相關(guān)結(jié)論,說(shuō)明系統(tǒng)是否達(dá)到預(yù)期要求、設(shè)計(jì)目的。
第二章開(kāi)發(fā)技術(shù)介紹2.1B/S架構(gòu)就軟件開(kāi)發(fā)的現(xiàn)狀而言,目前主要使用的系統(tǒng)開(kāi)發(fā)結(jié)構(gòu)模式大致可以分為C/S模式和B/S模式REF_Ref13912\r\h[5]。用戶在使用基于C/S模式開(kāi)發(fā)的系統(tǒng)時(shí),必須下載相應(yīng)的客戶端,即應(yīng)用程序,才能操作和使用軟件系統(tǒng)的相關(guān)功能模塊。從使用者的角度來(lái)看,由于下載和安裝客戶端的步驟比較繁瑣,期間還需要確保下載網(wǎng)速的穩(wěn)定性,以及安裝步驟的正確性,進(jìn)而增加了用戶放棄使用該系統(tǒng)的可能性,由此可見(jiàn)C/S模式具有很大的局限性。由于C/S模式適用于小范圍的局域網(wǎng),并且具有較好的通信效率,所以在以前系統(tǒng)規(guī)模很小的時(shí)代,主要使用C/S模式開(kāi)發(fā)系統(tǒng)。隨著時(shí)代的發(fā)展以及社會(huì)的進(jìn)步,C/S模式也越來(lái)越滿足不了開(kāi)發(fā)者的設(shè)計(jì)需要,以及使用者的使用需求。當(dāng)下,C/S模式已經(jīng)滿足不了實(shí)際的系統(tǒng)程序設(shè)計(jì)要求,由此,B/S模式以C/S模式為基礎(chǔ)而被提出,并且在近些年逐漸發(fā)展成為主流的開(kāi)發(fā)結(jié)構(gòu)模式。在B/S模式下開(kāi)發(fā)的系統(tǒng),不再需要用戶下載和安裝相應(yīng)的應(yīng)用程序,直接通過(guò)使用瀏覽器,輸入正確的網(wǎng)站地址,以訪問(wèn)網(wǎng)站的形式實(shí)現(xiàn)系統(tǒng)的相關(guān)功能操作。這一特點(diǎn)對(duì)C/S模式下的開(kāi)發(fā)設(shè)計(jì)做出了極大的改進(jìn),當(dāng)然,使用本系統(tǒng)的前提是確保賬號(hào)和密碼是合法的。2.2Java語(yǔ)言Java語(yǔ)言是一種將數(shù)據(jù)和操作方法封裝成對(duì)象整體的程序設(shè)計(jì)語(yǔ)言,它擁有著優(yōu)秀的技術(shù)體系結(jié)構(gòu)。目前在市場(chǎng)上,很大一部分的應(yīng)用系統(tǒng)主要使用Java語(yǔ)言進(jìn)行開(kāi)發(fā)REF_Ref13313\r\h[6]。Java語(yǔ)言具有簡(jiǎn)單易懂,操作方便,健壯性強(qiáng)等優(yōu)點(diǎn),開(kāi)發(fā)人員能夠在短時(shí)間內(nèi)理解和掌握J(rèn)ava語(yǔ)言,并將其運(yùn)用到具體的系統(tǒng)開(kāi)發(fā)過(guò)程中。針對(duì)于系統(tǒng)內(nèi)存管理問(wèn)題,Java語(yǔ)言為解決這類問(wèn)題,內(nèi)部提供了垃圾回收機(jī)制。為了極大地簡(jiǎn)化了開(kāi)發(fā)編程的難易程度,Java語(yǔ)言還將C語(yǔ)言中的指針,改進(jìn)成了引用,所以受到了很多開(kāi)發(fā)人員的喜愛(ài)。Java語(yǔ)言還具有跨平臺(tái)性的特點(diǎn),意味著它的可移植性非常高,這一特點(diǎn)有利于開(kāi)發(fā)人員更新和維護(hù)相關(guān)代碼,由它所開(kāi)發(fā)的系統(tǒng)可以支持在不同的瀏覽器中打開(kāi)。因?yàn)槭褂肑ava開(kāi)發(fā)的系統(tǒng)兼容性較強(qiáng),代碼通用性較高,為了后期方便對(duì)系統(tǒng)進(jìn)行完善和維護(hù),所以本人最終選擇使用Java語(yǔ)言開(kāi)發(fā)本系統(tǒng)。2.3SSM框架SSM框架主要由Spring、SpringMVC、MyBatis這三個(gè)框架所集成的,是現(xiàn)在比較流行的一種Java開(kāi)發(fā)框架,能夠適用于大中型的應(yīng)用程序的設(shè)計(jì)和搭建。Spring是前幾十年前興起的一種輕量級(jí)的、開(kāi)源的Java開(kāi)發(fā)框架,使用它可以解決相關(guān)的系統(tǒng)對(duì)象創(chuàng)建和對(duì)象依賴問(wèn)題,并且也可以將高耦合的系統(tǒng)分解為低耦合的多個(gè)功能模塊,方便對(duì)系統(tǒng)模塊進(jìn)行明確的分工,對(duì)功能代碼進(jìn)行理解和修改,這就極大地減輕了設(shè)計(jì)人員的開(kāi)發(fā)壓力REF_Ref14200\r\h[7]。SpringMVC框架是基于Spring框架而被提出的,它以MVC三層架構(gòu)為核心,對(duì)Spring的相關(guān)技術(shù)進(jìn)行了整合,主要針對(duì)于Web端進(jìn)行技術(shù)架構(gòu),通過(guò)對(duì)相關(guān)請(qǐng)求消息進(jìn)行細(xì)化處理,對(duì)相關(guān)的用戶請(qǐng)求做出一定的響應(yīng)處理。MyBatis框架是一種開(kāi)源的Java持久層框架,它主要是通過(guò)改進(jìn)手動(dòng)設(shè)置參數(shù)和獲取結(jié)果記錄的方式,通過(guò)支持對(duì)數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)過(guò)程、高級(jí)映射等處理,使得數(shù)據(jù)庫(kù)的操作更加定制化、透明化,因此降低了數(shù)據(jù)庫(kù)訪問(wèn)的復(fù)雜性,提高了開(kāi)發(fā)的工作效率。2.4vue框架vue框架是一種用于構(gòu)建相關(guān)的用戶使用界面的漸進(jìn)式框架,由此便可以控制某個(gè)系統(tǒng)頁(yè)面的標(biāo)簽,或者控制整個(gè)頁(yè)面的不同標(biāo)簽,又或者控制整個(gè)前端項(xiàng)目的不同標(biāo)簽[8]。使用vue框架編寫的代碼,不再需要手動(dòng)更新相關(guān)的控件的變量值,當(dāng)與其綁定的變量值發(fā)生改變時(shí),相關(guān)的組件會(huì)自動(dòng)地進(jìn)行更新。vue框架主要通過(guò)自底向上的方式對(duì)系統(tǒng)的用戶界面進(jìn)行設(shè)計(jì)和創(chuàng)建,而且vue框架只關(guān)注圖層內(nèi)容,如此一來(lái),其不僅能夠?yàn)楦鞣N支持的類庫(kù)的比較復(fù)雜繁瑣的單頁(yè)提供相應(yīng)的驅(qū)動(dòng),還能夠整合第三方庫(kù)或者相關(guān)的項(xiàng)目。因?yàn)関ue框架的語(yǔ)法定義簡(jiǎn)單,比較容易學(xué)習(xí)和掌握,所以相關(guān)的開(kāi)發(fā)技術(shù)人員大多選擇使用vue框架編寫相關(guān)的前端頁(yè)面顯示代碼,創(chuàng)建相應(yīng)的系統(tǒng)網(wǎng)站頁(yè)面。這樣的頁(yè)面設(shè)計(jì)便于用戶查詢相關(guān)的數(shù)據(jù)信息,理解系統(tǒng)的操作和使用。2.5MySQL數(shù)據(jù)庫(kù)MySQL數(shù)據(jù)庫(kù)是一種使用頻繁的關(guān)系型數(shù)據(jù)庫(kù)。因?yàn)槠渚哂虚_(kāi)源免費(fèi)、占用內(nèi)存少、安裝簡(jiǎn)單、操作便捷、使用靈活等優(yōu)點(diǎn),所以經(jīng)常被運(yùn)用于中小型的系統(tǒng)開(kāi)發(fā)中REF_Ref14334\r\h[9]。MySQL數(shù)據(jù)庫(kù)可以支持多線程,在同一個(gè)時(shí)間內(nèi),能夠同時(shí)響應(yīng)多個(gè)用戶的使用需求。MySQL數(shù)據(jù)庫(kù)還自帶了優(yōu)化器,方便設(shè)計(jì)人員在使用過(guò)程中,快速的查詢相關(guān)的數(shù)據(jù)信息。除此之外,SQLServer數(shù)據(jù)庫(kù)在當(dāng)下也是使用比較頻繁的,它在數(shù)據(jù)安全、系統(tǒng)穩(wěn)定等方面還是比較不錯(cuò)的,但是由于其收費(fèi)使用、占用內(nèi)存大、操作復(fù)雜、維護(hù)成本高,一般適用于中型及以上的系統(tǒng)開(kāi)發(fā)中。MySQL數(shù)據(jù)庫(kù)也有著許多的應(yīng)用程序接口,以供相關(guān)的編程語(yǔ)言使用,編寫的代碼具有極高的通用性和可維護(hù)性,并且MySQL數(shù)據(jù)庫(kù)能夠迅速的處理上千條數(shù)據(jù)記錄,在系統(tǒng)發(fā)生故障時(shí),能通過(guò)日志文件快速恢復(fù)。MySQL數(shù)據(jù)庫(kù)與SQLServer數(shù)據(jù)庫(kù)相比較,綜合考慮成本開(kāi)銷、占用內(nèi)存大小、代碼通用、數(shù)據(jù)維護(hù)、操作難易程度等方面,MySQL數(shù)據(jù)庫(kù)占有很大的優(yōu)勢(shì),在數(shù)據(jù)庫(kù)設(shè)計(jì)人員的眼中,MySQL數(shù)據(jù)庫(kù)的實(shí)際運(yùn)用價(jià)值極高。
第三章系統(tǒng)分析3.1系統(tǒng)的需求分析需求分析階段是設(shè)計(jì)系統(tǒng)功能模塊的總方向,可以這樣來(lái)說(shuō),系統(tǒng)的整個(gè)的開(kāi)發(fā)流程以及設(shè)計(jì)進(jìn)度,基本上都是以需求分析為基本依據(jù)的[10]。需求分析階段可以確定系統(tǒng)的基本功能設(shè)計(jì),以及在最后的系統(tǒng)驗(yàn)收階段,再通過(guò)對(duì)需求分析報(bào)告進(jìn)行對(duì)比,驗(yàn)證系統(tǒng)的功能設(shè)計(jì)是否合理,能否滿足用戶的基本需要,最終判斷總結(jié)系統(tǒng)是否成功現(xiàn)實(shí)。本文主要通過(guò)問(wèn)卷調(diào)查的方式,來(lái)分析常規(guī)應(yīng)急物資管理系統(tǒng)所需要的相關(guān)功能REF_Ref14477\r\h[11]。根據(jù)調(diào)查結(jié)果顯示,系統(tǒng)用戶主要有兩種類型,一種是以使用為主要目的的用戶角色類型,另一種是以管理為主要目的的管理員角色類型。本系統(tǒng)主要功能需求包括物資信息管理、物資運(yùn)輸管理等模塊。其中,密碼信息、用戶信息、物資信息、物資運(yùn)輸信息等都是非常重要的數(shù)據(jù)記錄,在系統(tǒng)設(shè)計(jì)的過(guò)程中,需要進(jìn)行一定的加密處理,確保數(shù)據(jù)安全性,切實(shí)的保護(hù)好用戶的重要信息。3.2系統(tǒng)的可行性分析3.2.1經(jīng)濟(jì)可行性對(duì)系統(tǒng)進(jìn)行經(jīng)濟(jì)可行性分析,也可以被稱為對(duì)系統(tǒng)進(jìn)行經(jīng)濟(jì)可行性研究,它是從社會(huì)的經(jīng)濟(jì)發(fā)展出發(fā),通過(guò)研究整個(gè)的系統(tǒng)可行性,對(duì)成本收益情況進(jìn)行全面地、具體地分析,并且根據(jù)所分析的可行性報(bào)告,為相關(guān)的投資者提供最科學(xué)的決策理論和最優(yōu)的投資方案。本系統(tǒng)的開(kāi)發(fā)促進(jìn)了相關(guān)行業(yè)的信息化管理,管理人員可以直接通過(guò)在瀏覽器上發(fā)布常規(guī)應(yīng)急物資管理系統(tǒng)的網(wǎng)站地址,用戶即可根據(jù)一定的需要,有選擇的對(duì)系統(tǒng)相關(guān)功能進(jìn)行操作。這種方式打破了時(shí)間和空間的限制,可以使得相關(guān)行業(yè)在較短的時(shí)間內(nèi)最大化地管理常規(guī)應(yīng)急物資的相關(guān)信息。并且本系統(tǒng)所使用的開(kāi)發(fā)技術(shù)和相關(guān)工具,大部分是開(kāi)源的、免費(fèi)的,所以可以節(jié)約很大一筆開(kāi)發(fā)成本。綜合上述內(nèi)容分析可知,本系統(tǒng)的實(shí)現(xiàn)在經(jīng)濟(jì)層面上是具備可行性的。3.2.2技術(shù)可行性本系統(tǒng)是基于Java語(yǔ)言而進(jìn)行開(kāi)發(fā)的,因?yàn)镴ava語(yǔ)言簡(jiǎn)單易學(xué)、穩(wěn)定性強(qiáng)、代碼利用率高等特點(diǎn),所以許多的開(kāi)發(fā)技術(shù)人員均喜歡使用Java語(yǔ)言進(jìn)行系統(tǒng)設(shè)計(jì)?,F(xiàn)今很多程序系統(tǒng)的研究和開(kāi)發(fā),是通過(guò)使用Java語(yǔ)言進(jìn)行編碼設(shè)計(jì)的。此外,Java語(yǔ)言還具有跨平臺(tái)的優(yōu)點(diǎn),這意味著所設(shè)計(jì)的系統(tǒng)是與平臺(tái)無(wú)關(guān)的,也就說(shuō)明由Java語(yǔ)言開(kāi)發(fā)的系統(tǒng)可以支持在不同的瀏覽器上運(yùn)行和使用。在條件大致相同的情況下,對(duì)比其他數(shù)據(jù)庫(kù),本系統(tǒng)使用的是MySQL數(shù)據(jù)庫(kù)的相關(guān)語(yǔ)法簡(jiǎn)單易懂,數(shù)據(jù)庫(kù)設(shè)計(jì)人員可以盡可能快的對(duì)其掌握和使用。MySQL數(shù)據(jù)庫(kù)還具有占用系統(tǒng)內(nèi)存少、功能齊全、響應(yīng)速度快、使用不收費(fèi)等特點(diǎn),能夠在極短時(shí)間內(nèi)處理上千條信息記錄,所以能夠保證系統(tǒng)可以高效地運(yùn)行和工作。綜合上述內(nèi)容分析可知,系統(tǒng)的實(shí)現(xiàn)在技術(shù)層面上是具備可行性的。3.2.3操作可行性如今,人們的日常生活已經(jīng)離不開(kāi)互聯(lián)網(wǎng)的使用,在一定程度上,相關(guān)行業(yè)的信息化建設(shè)促進(jìn)著社會(huì)的發(fā)展。人們通過(guò)使用手機(jī)上的應(yīng)用程序,比如,通過(guò)使用電子商務(wù)系統(tǒng),可以實(shí)現(xiàn)網(wǎng)上購(gòu)物、在線支付等功能;通過(guò)使用國(guó)家官方網(wǎng)站,可以查看最新消息,申報(bào)個(gè)人業(yè)務(wù);通過(guò)使用醫(yī)院管理系統(tǒng),可以進(jìn)行網(wǎng)上預(yù)約掛號(hào),在線查看體檢報(bào)告等操作。在這些應(yīng)用的背景下,本系統(tǒng)使用的是B/S開(kāi)發(fā)結(jié)構(gòu)模式,網(wǎng)站界面以人性化的設(shè)計(jì)為主,具有美觀友好、交互性好等優(yōu)點(diǎn),用戶不需要掌握一定的編程技術(shù),直接通過(guò)對(duì)系統(tǒng)進(jìn)行簡(jiǎn)單的功能操作,即可滿足自己的使用需求。本系統(tǒng)還設(shè)計(jì)了一些提示信息,便于用戶更好的理解系統(tǒng)相關(guān)功能,較快的以正確的操作方式來(lái)使用系統(tǒng)。綜合上述內(nèi)容分析可知,系統(tǒng)的實(shí)現(xiàn)在操作層面上是具備可行性的。
第四章系統(tǒng)設(shè)計(jì)4.1系統(tǒng)的總體功能設(shè)計(jì)系統(tǒng)的總體功能設(shè)計(jì)階段,是通過(guò)結(jié)合系統(tǒng)分析階段的相關(guān)內(nèi)容,對(duì)系統(tǒng)的整體功能設(shè)計(jì)進(jìn)行規(guī)劃的過(guò)程。系統(tǒng)的總體功能設(shè)計(jì)是系統(tǒng)詳細(xì)功能設(shè)計(jì)的一個(gè)大方向,也就是說(shuō)系統(tǒng)的各類子功能模塊的設(shè)計(jì),都是以總體功能設(shè)計(jì)為目標(biāo)而進(jìn)行的。通過(guò)對(duì)系統(tǒng)進(jìn)行需求分析可知,可以大致了解系統(tǒng)具體所需要的相關(guān)的主要功能模塊。本系統(tǒng)主要的功能需求包括物資信息管理、物資運(yùn)輸管理等模塊。管理員功能設(shè)計(jì)圖如圖4-1所示,用戶功能設(shè)計(jì)圖如圖4-2所示。圖4-1管理員功能設(shè)計(jì)圖圖4-2用戶功能設(shè)計(jì)圖4.2數(shù)據(jù)庫(kù)設(shè)計(jì)4.2.1概念設(shè)計(jì)本系統(tǒng)使用輕量級(jí)的MySQL數(shù)據(jù)庫(kù),對(duì)系統(tǒng)相關(guān)的數(shù)據(jù)信息進(jìn)行管理和維護(hù)REF_Ref14725\r\h[12]。數(shù)據(jù)庫(kù)設(shè)計(jì)階段一般可以被分為概念設(shè)計(jì)和邏輯設(shè)計(jì)這兩個(gè)階段。概念設(shè)計(jì)階段是對(duì)系統(tǒng)進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的重要基礎(chǔ),將現(xiàn)實(shí)世界中用戶的相關(guān)需求抽象化為虛擬世界中的概念模型,為后續(xù)的邏輯設(shè)計(jì)做好準(zhǔn)備工作。本人通過(guò)設(shè)計(jì)E-R圖,詳細(xì)的對(duì)系統(tǒng)中的實(shí)體以及實(shí)體之間的聯(lián)系進(jìn)行了表達(dá)。各實(shí)體信息的實(shí)體屬性圖如圖4-3、圖4-4、圖4-5、圖4-6、圖4-7、圖4-8、圖4-9、圖4-10所示,系統(tǒng)總體E-R圖如圖4-11所示。圖4-3管理員信息實(shí)體屬性圖圖4-4用戶信息實(shí)體屬性圖圖4-5字典信息實(shí)體屬性圖圖4-6部門信息實(shí)體屬性圖圖4-7物資信息實(shí)體屬性圖圖4-8物資申請(qǐng)信息實(shí)體屬性圖圖4-9物資運(yùn)輸信息實(shí)體屬性圖圖4-10健康打卡信息實(shí)體屬性圖圖4-11系統(tǒng)總體E-R圖4.2.2邏輯設(shè)計(jì)邏輯設(shè)計(jì)階段主要的工作是將概念設(shè)計(jì)中的E-R圖,轉(zhuǎn)換成方便系統(tǒng)進(jìn)行存儲(chǔ)和管理的二維表格形式。這一階段也可以被稱為數(shù)據(jù)庫(kù)的詳細(xì)設(shè)計(jì),其直接關(guān)系到系統(tǒng)功能模塊的正常運(yùn)行、數(shù)據(jù)信息的正常更新等REF_Ref14820\r\h[13]。在設(shè)計(jì)過(guò)程中,需要充分考慮數(shù)據(jù)庫(kù)的規(guī)范性和合理性,使得能夠滿足系統(tǒng)的功能和性能需求。本系統(tǒng)相關(guān)的數(shù)據(jù)表格設(shè)計(jì)內(nèi)容如下所示。表4-1管理員信息表序號(hào)列名數(shù)據(jù)類型說(shuō)明允許空1idInt編號(hào)否2usernameString用戶名是3passwordString密碼是4roleString角色是5addtimeDate新增時(shí)間是表4-2用戶信息表序號(hào)列名數(shù)據(jù)類型說(shuō)明允許空1IdIntid否2usernameString賬戶是3passwordString密碼是4bumen_idInteger部門是5yonghu_nameString用戶姓名是6yonghu_phoneString用戶手機(jī)號(hào)是7yonghu_id_numberString用戶身份證號(hào)是8yonghu_photoString用戶頭像是9sex_typesInteger性別是10yonghu_emailString電子郵箱是11create_timeDate創(chuàng)建時(shí)間是表4-3字典信息表序號(hào)列名數(shù)據(jù)類型說(shuō)明允許空1idInt編號(hào)否2dic_codeString字段是3dic_nameString字段名是4code_indexInteger編碼是5index_nameString編碼名字是6super_idInteger父字段編號(hào)是7beizhuString備注是8create_timeDate創(chuàng)建時(shí)間是表4-4部門信息表序號(hào)列名數(shù)據(jù)類型說(shuō)明允許空1IdIntid否2bumen_nameString部門名稱是3bumen_zhizeString部門職責(zé)是4bumen_numberInteger部門人數(shù)是5bumen_contentString部門介紹是6insert_timeDate添加時(shí)間是7create_timeDate創(chuàng)建時(shí)間是表4-5物資信息表序號(hào)列名數(shù)據(jù)類型說(shuō)明允許空1IdIntid否2wuzi_nameString物資名稱是3wuzi_photoString物資照片是4wuzi_typesInteger物資類型是5wuzi_kucun_numberInteger物資庫(kù)存是6wuzi_danweiString單位是7wuzi_deleteInteger邏輯刪除是8wuzi_contentString物資介紹是9create_timeDate創(chuàng)建時(shí)間是表4-6物資申請(qǐng)信息表序號(hào)列名數(shù)據(jù)類型說(shuō)明允許空1IdIntid否2yonghu_idInteger用戶是3wuzi_idInteger物資是4wuzishenqing_numberInteger申請(qǐng)數(shù)量是5wuzishenqing_contentString申請(qǐng)?jiān)斍槭?insert_timeDate申請(qǐng)時(shí)間是7wuzishenqing_yesno_typesInteger審核是8wuzishenqing_yesno_textString審核意見(jiàn)是9create_timeDate創(chuàng)建時(shí)間是表4-7物資運(yùn)輸信息表序號(hào)列名數(shù)據(jù)類型說(shuō)明允許空1IdIntid否2wuzi_idInteger物資是3wuziyunshu_uuid_numberString運(yùn)輸唯一編號(hào)是4wuziyunshu_quxiangString去向是5wuziyunshu_numberInteger運(yùn)輸數(shù)量是6wuziyunshu_contentString運(yùn)輸詳情是7wuziyunshu_typesInteger當(dāng)前狀態(tài)是8insert_timeDate添加時(shí)間是9update_timeDate最后更新時(shí)間是10create_timeDate創(chuàng)建時(shí)間是表4-8健康打卡信息表序號(hào)列名數(shù)據(jù)類型說(shuō)明允許空1IdIntid否2yonghu_idInteger用戶是3daka_contentString打卡備注是4insert_timedate打卡日期是5create_timeDate創(chuàng)建時(shí)間是
第五章系統(tǒng)實(shí)現(xiàn)5.1管理員角色功能設(shè)計(jì)5.1.1管理員首頁(yè)通過(guò)設(shè)計(jì)的首頁(yè)功能模塊,管理用戶可以成功登錄系統(tǒng),并且選擇點(diǎn)擊相關(guān)的功能模塊按鈕,操作和實(shí)現(xiàn)自己所需要的功能,管理員首頁(yè)解餓設(shè)計(jì)如圖5-1所示。圖5-1管理員首頁(yè)界面本功能模塊的核心代碼如下:/** *登錄 */ @IgnoreAuth @PostMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ UsersEntityuser=usersService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null||!user.getPassword().equals(password)){ returnR.error("賬號(hào)或密碼不正確"); } Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole()); Rr=R.ok(); r.put("token",token); r.put("role",user.getRole()); r.put("userId",user.getId()); returnr; }/***列表*/@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,UsersEntityuser){EntityWrapper<UsersEntity>ew=newEntityWrapper<UsersEntity>(); PageUtilspage=usersService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.allLike(ew,user),params),params));returnR.ok().put("data",page);}5.1.2個(gè)人中心通過(guò)設(shè)計(jì)的個(gè)人中心功能模塊,管理用戶可以選擇修改賬號(hào)密碼,查看個(gè)人資料信息,通過(guò)不定期的對(duì)個(gè)人賬戶密碼進(jìn)行更新,保障個(gè)人信息安全,修改密碼界面設(shè)計(jì)如圖5-1所示,個(gè)人信息界面設(shè)計(jì)如圖5-2所示。圖5-1修改密碼界面圖5-2個(gè)人信息界面本功能模塊的核心代碼如下:/***密碼重置*/@IgnoreAuth @RequestMapping(value="/resetPass")publicRresetPass(Stringusername,HttpServletRequestrequest){ UsersEntityuser=usersService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null){ returnR.error("賬號(hào)不存在"); } user.setPassword("123456");usersService.update(user,null);returnR.ok("密碼已重置為:123456");}/***信息*/@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Stringid){UsersEntityuser=usersService.selectById(id);returnR.ok().put("data",user);}5.1.3健康打卡管理通過(guò)設(shè)計(jì)的健康打卡管理功能模塊,管理用戶可以管理相關(guān)的健康打卡信息記錄,比如進(jìn)行查看健康打卡的詳細(xì)信息,修改健康打卡的日期信息,刪除已經(jīng)失效的健康打卡信息記錄等操作,健康打卡管理界面設(shè)計(jì)如圖5-3所示。圖5-3健康打卡管理界面本功能模塊的核心代碼如下:/***健康打卡后端修改*/@RequestMapping("/update")publicRupdate(@RequestBodyDakaEntitydaka,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,daka:{}",this.getClass().getName(),daka.toString());Stringrole=String.valueOf(request.getSession().getAttribute("role"));//if(false)//returnR.error(511,"永遠(yuǎn)不會(huì)進(jìn)入");//elseif("用戶".equals(role))//daka.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));//根據(jù)字段查詢是否有相同數(shù)據(jù)Wrapper<DakaEntity>queryWrapper=newEntityWrapper<DakaEntity>().notIn("id",daka.getId()).andNew().eq("yonghu_id",daka.getYonghuId()).eq("insert_time",newSimpleDateFormat("yyyy-MM-dd").format(daka.getInsertTime()));("sql語(yǔ)句:"+queryWrapper.getSqlSegment());DakaEntitydakaEntity=dakaService.selectOne(queryWrapper);if(dakaEntity==null){dakaService.updateById(daka);//根據(jù)id更新returnR.ok();}else{returnR.error(511,"表中有相同數(shù)據(jù)");}}5.1.4基礎(chǔ)數(shù)據(jù)管理通過(guò)設(shè)計(jì)的基礎(chǔ)數(shù)據(jù)管理功能模塊,管理用戶可以管理相關(guān)的物資類型信息記錄,比如進(jìn)行查看物資類型的詳細(xì)信息,修改物資類型的名稱信息,刪除已經(jīng)失效的物資類型信息記錄等操作,物資類型管理界面設(shè)計(jì)如圖5-4所示。圖5-4物資類型管理界面本功能模塊的核心代碼如下:/***基礎(chǔ)數(shù)據(jù)后端修改*/@RequestMapping("/update")publicRupdate(@RequestBodyDictionaryEntitydictionary,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,dictionary:{}",this.getClass().getName(),dictionary.toString());Stringrole=String.valueOf(request.getSession().getAttribute("role"));//if(false)//returnR.error(511,"永遠(yuǎn)不會(huì)進(jìn)入");//根據(jù)字段查詢是否有相同數(shù)據(jù)Wrapper<DictionaryEntity>queryWrapper=newEntityWrapper<DictionaryEntity>().notIn("id",dictionary.getId()).eq("dic_code",dictionary.getDicCode()).eq("index_name",dictionary.getIndexName());if(dictionary.getDicCode().contains("_erji_types")){queryWrapper.eq("super_id",dictionary.getSuperId());}("sql語(yǔ)句:"+queryWrapper.getSqlSegment());DictionaryEntitydictionaryEntity=dictionaryService.selectOne(queryWrapper);if(dictionaryEntity==null){dictionaryService.updateById(dictionary);//根據(jù)id更新//如果字典表修改數(shù)據(jù)的話,把數(shù)據(jù)再重新查出,放入監(jiān)聽(tīng)器中List<DictionaryEntity>dictionaryEntities=dictionaryService.selectList(newEntityWrapper<DictionaryEntity>());ServletContextservletContext=request.getServletContext();Map<String,Map<Integer,String>>map=newHashMap<>();for(DictionaryEntityd:dictionaryEntities){Map<Integer,String>m=map.get(d.getDicCode());if(m==null||m.isEmpty()){m=newHashMap<>();}m.put(d.getCodeIndex(),d.getIndexName());map.put(d.getDicCode(),m);}servletContext.setAttribute("dictionaryMap",map);returnR.ok();}else{returnR.error(511,"表中有相同數(shù)據(jù)");}}5.1.5物資管理通過(guò)設(shè)計(jì)的物資管理功能模塊,管理用戶可以管理相關(guān)的物資信息記錄,比如進(jìn)行查看物資的詳細(xì)信息,修改物資的庫(kù)存信息,刪除已經(jīng)失效的物資信息記錄等操作,物資管理界面設(shè)計(jì)如圖5-5所示。圖5-5物資管理界面本功能模塊的核心代碼如下:/***物資后端修改*/@RequestMapping("/update")publicRupdate(@RequestBodyWuziEntitywuzi,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,wuzi:{}",this.getClass().getName(),wuzi.toString());Stringrole=String.valueOf(request.getSession().getAttribute("role"));//if(false)//returnR.error(511,"永遠(yuǎn)不會(huì)進(jìn)入");//根據(jù)字段查詢是否有相同數(shù)據(jù)Wrapper<WuziEntity>queryWrapper=newEntityWrapper<WuziEntity>().notIn("id",wuzi.getId()).andNew().eq("wuzi_name",wuzi.getWuziName()).eq("wuzi_types",wuzi.getWuziTypes()).eq("wuzi_kucun_number",wuzi.getWuziKucunNumber()).eq("wuzi_danwei",wuzi.getWuziDanwei()).eq("wuzi_delete",wuzi.getWuziDelete());("sql語(yǔ)句:"+queryWrapper.getSqlSegment());WuziEntitywuziEntity=wuziService.selectOne(queryWrapper);if("".equals(wuzi.getWuziPhoto())||"null".equals(wuzi.getWuziPhoto())){wuzi.setWuziPhoto(null);}if(wuziEntity==null){wuziService.updateById(wuzi);//根據(jù)id更新returnR.ok();}else{returnR.error(511,"表中有相同數(shù)據(jù)");}}5.1.6物資申請(qǐng)管理通過(guò)設(shè)計(jì)的物資申請(qǐng)管理功能模塊,管理用戶可以管理相關(guān)的物資申請(qǐng)信息記錄,比如進(jìn)行查看物資申請(qǐng)的詳細(xì)信息,修改物資的申請(qǐng)時(shí)間信息,刪除已經(jīng)失效的物資申請(qǐng)信息記錄等操作,物資申請(qǐng)管理界面設(shè)計(jì)如圖5-6所示。圖5-6物資申請(qǐng)管理界面本功能模塊的核心代碼如下:/***物資申請(qǐng)后端保存*/@RequestMapping("/save")publicRsave(@RequestBodyWuzishenqingEntitywuzishenqing,HttpServletRequestrequest){logger.debug("save方法:,,Controller:{},,wuzishenqing:{}",this.getClass().getName(),wuzishenqing.toString());Stringrole=String.valueOf(request.getSession().getAttribute("role"));if(false)returnR.error(511,"永遠(yuǎn)不會(huì)進(jìn)入");elseif("用戶".equals(role))wuzishenqing.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));wuzishenqing.setInsertTime(newDate());wuzishenqing.setWuzishenqingYesnoTypes(1);wuzishenqing.setCreateTime(newDate());wuzishenqingService.insert(wuzishenqing);returnR.ok();}/***物資申請(qǐng)后端修改*/@RequestMapping("/update")publicRupdate(@RequestBodyWuzishenqingEntitywuzishenqing,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,wuzishenqing:{}",this.getClass().getName(),wuzishenqing.toString());wuzishenqingService.updateById(wuzishenqing);//根據(jù)id更新returnR.ok();}5.1.7物資運(yùn)輸管理通過(guò)設(shè)計(jì)的物資運(yùn)輸管理功能模塊,管理用戶可以管理相關(guān)的物資運(yùn)輸信息記錄,比如進(jìn)行查看物資運(yùn)輸?shù)脑敿?xì)信息,修改物資運(yùn)輸?shù)漠?dāng)前狀態(tài)信息,刪除已經(jīng)失效的物資運(yùn)輸信息記錄等操作,物資運(yùn)輸管理界面設(shè)計(jì)如圖5-7所示。圖5-7物資運(yùn)輸管理界面本功能模塊的核心代碼如下:/***物資運(yùn)輸后端保存*/@RequestMapping("/save")publicRsave(@RequestBodyWuziyunshuEntitywuziyunshu,HttpServletRequestrequest){logger.debug("save方法:,,Controller:{},,wuziyunshu:{}",this.getClass().getName(),wuziyunshu.toString());Stringrole=String.valueOf(request.getSession().getAttribute("role"));if(false)returnR.error(511,"永遠(yuǎn)不會(huì)進(jìn)入");wuziyunshu.setUpdateTime(newDate());wuziyunshu.setInsertTime(newDate());wuziyunshu.setCreateTime(newDate());wuziyunshuService.insert(wuziyunshu);returnR.ok();}/***物資運(yùn)輸后端修改*/@RequestMapping("/update")publicRupdate(@RequestBodyWuziyunshuEntitywuziyunshu,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,wuziyunshu:{}",this.getClass().getName(),wuziyunshu.toString());wuziyunshu.setUpdateTime(newDate());wuziyunshuService.updateById(wuziyunshu);//根據(jù)id更新returnR.ok();}5.1.8用戶管理通過(guò)設(shè)計(jì)的用戶管理功能模塊,管理用戶可以管理相關(guān)的用戶信息資料,比如進(jìn)行查看用戶的詳細(xì)資料,修改用戶的聯(lián)系方式,刪除已經(jīng)注銷的用戶信息記錄等操作,用戶管理界面設(shè)計(jì)如圖5-8所示。圖5-8用戶管理界面本功能模塊的核心代碼如下:/***用戶后端修改*/@RequestMapping("/update")publicRupdate(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());Stringrole=String.valueOf(request.getSession().getAttribute("role"));//if(false)//returnR.error(511,"永遠(yuǎn)不會(huì)進(jìn)入");//根據(jù)字段查詢是否有相同數(shù)據(jù)Wrapper<YonghuEntity>queryWrapper=newEntityWrapper<YonghuEntity>().notIn("id",yonghu.getId()).andNew().eq("username",yonghu.getUsername()).or().eq("yonghu_phone",yonghu.getYonghuPhone()).or().eq("yonghu_id_number",yonghu.getYonghuIdNumber());("sql語(yǔ)句:"+queryWrapper.getSqlSegment());YonghuEntityyonghuEntity=yonghuService.selectOne(queryWrapper);if("".equals(yonghu.getYonghuPhoto())||"null".equals(yonghu.getYonghuPhoto())){yonghu.setYonghuPhoto(null);}if(yonghuEntity==null){yonghuService.updateById(yonghu);//根據(jù)id更新returnR.ok();}else{returnR.error(511,"賬戶或者用戶手機(jī)號(hào)或者用戶身份證號(hào)已經(jīng)被使用");}}5.1.9部門管理通過(guò)設(shè)計(jì)的部門管理功能模塊,管理用戶可以管理相關(guān)的部門信息記錄,比如進(jìn)行查看部門的詳細(xì)信息,修改部門的職責(zé)信息,刪除已經(jīng)失效的部門信息記錄等操作,部門管理界面設(shè)計(jì)如圖5-9所示。圖5-9部門管理界面本功能模塊的核心代碼如下:/***部門后端修改*/@RequestMapping("/update")publicRupdate(@RequestBodyBumenEntitybumen,HttpServletRequestrequest){logger.debug("update方法:,,Controller:{},,bumen:{}",this.getClass().getName(),bumen.toString());Stringrole=String.valueOf(request.getSession().getAttribute("role"));//if(false)//returnR.error(511,"永遠(yuǎn)不會(huì)進(jìn)入");//根據(jù)字段查詢是否有相同數(shù)據(jù)Wrapper<BumenEntity>queryWrapper=newEntityWrapper<BumenEntity>().notIn("id",bumen.getId()).andNew().eq("bumen_name",bumen.getBumenName()).eq("bumen_zhize",bumen.getBumenZhize()).eq("bumen_number",bumen.getBumenNumber());("sql語(yǔ)句:"+queryWrapper.getSqlSegment());BumenEntitybumenEntity=bumenService.selectOne(queryWrapper);if(bumenEntity==null){bumenService.updateById(bumen);//根據(jù)id更新returnR.ok();}else{returnR.error(511,"表中有相同數(shù)據(jù)");}}5.2用戶功能設(shè)計(jì)5.2.1用戶首頁(yè)通過(guò)設(shè)計(jì)的首頁(yè)功能模塊,管理用戶可以成功登錄系統(tǒng),并且選擇點(diǎn)擊相關(guān)的功能模塊按鈕,操作和實(shí)現(xiàn)自己所需要的功能,管理員首頁(yè)解餓設(shè)計(jì)如圖5-10所示。圖5-10用戶首頁(yè)界面本功能模塊的核心代碼如下:/***首頁(yè)后端保存*/@RequestMapping("/save")publicRsave(@RequestBodyYonghuEntityyonghu,HttpServletRequestrequest){logger.debug("save方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());Stringrole=String.valueOf(request.getSession().getAttribute("role"));if(false)returnR.error(511,"永遠(yuǎn)不會(huì)進(jìn)入");Wrapper<YonghuEntity>queryWrapper=newEntityWrapper<YonghuEntity>().eq("username",yonghu.getUsername()).or().eq("yonghu_phone",yonghu.getYonghuPhone()).or().eq("yonghu_id_number",yonghu.getYonghuIdNumber());("sql語(yǔ)句:"+queryWrapper.getSqlSegment());YonghuEntityyonghuEntity=yonghuService.selectOne(queryWrapper);if(yonghuEntity==null){yonghu.setCreateTime(newDate());yonghu.setPassword("123456");yonghuService.insert(yonghu);returnR.ok();}else{returnR.error(511,"賬戶或者用戶手機(jī)號(hào)或者用戶身份證號(hào)已經(jīng)被使用");}}5.2.2個(gè)人中心通過(guò)設(shè)計(jì)的個(gè)人中心管理功能模塊,用戶可以選擇查看個(gè)人資料信息,選擇更新個(gè)人相關(guān)的資料信息記錄;也可以選擇修改賬號(hào)密碼,通過(guò)不定期的對(duì)個(gè)人賬戶密碼進(jìn)行更新,保障個(gè)人信息安全,修改密碼界面設(shè)計(jì)如圖5-11所示,個(gè)人信息界面設(shè)計(jì)如圖5-12所示。圖5-11修改密碼界面圖5-12個(gè)人信息界面本功能模塊的核心代碼如下://查詢是否重復(fù)//賬戶List<YonghuEntity>yonghuEntities_username=yonghuService.selectList(newEntityWrapper<YonghuEntity>().in("username",seachFields.get("username")));if(yonghuEntities_username.size()>0){ArrayList<String>repeatFields=newArrayList<>();for(YonghuEntitys:yonghuEntities_username){repeatFields.add(s.getUsername());}returnR.error(511,"數(shù)據(jù)庫(kù)的該表中的[賬戶]字段已經(jīng)存在存在數(shù)據(jù)為:"+repeatFields.toString());}//用戶手機(jī)號(hào)List<YonghuEntity>yonghuEntities_yonghuPhone=yonghuService.selectList(newEntityWrapper<YonghuEntity>().in("yonghu_phone",seachFields.get("yonghuPhone")));if(yonghuEntities_yonghuPhone.size()>0){ArrayList<String>repeatFields=newArrayList<>();for(YonghuEntitys:yonghuEntities_yonghuPhone){repeatFields.add(s.getYonghuPhone());}returnR.error(511,"數(shù)據(jù)庫(kù)的該表中的[用戶手機(jī)號(hào)]字段已經(jīng)存在存在數(shù)據(jù)為:"+repeatFields.toString());}//用戶身份證號(hào)List<YonghuEntity>yonghuEntities_yonghuIdNumber=yonghuService.selectList(newEntityWrapper<YonghuEntity>().in("yonghu_id_number",seachFields.get("yonghuIdNumber")));if(yonghuEntities_yonghuIdNumber.size()>0){ArrayList<String>repeatFields=newArrayList<>();for(YonghuEntitys:yonghuEntities_yonghuIdNumber){repeatFields.add(s.getYonghuIdNumber());}returnR.error(511,"數(shù)據(jù)庫(kù)的該表中的[用戶身份證號(hào)]字段已經(jīng)存在存在數(shù)據(jù)為:"+repeatFields.toString());}yonghuService.insertBatch(yonghuList);returnR.ok();}5.2.3健康打卡管理通過(guò)設(shè)計(jì)的健康打卡管理功能模塊,用戶可以管理相關(guān)的健康打卡信息記錄,比如進(jìn)行查看健康打卡的詳細(xì)信息,修改健康打卡的日期信息,刪除已經(jīng)失效的健康打卡信息記錄等操作,健康打卡管理界面設(shè)計(jì)如圖5-13所示。圖5-13健康打卡管理界面本功能模塊的核心代碼如下:/***健康打卡后端詳情*/@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid,HttpServletRequestrequest){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);DakaEntitydaka=dakaService.selectById(id);if(daka!=null){//entity轉(zhuǎn)viewDakaViewview=newDakaView();BeanUtils.copyProperties(daka,view);//把實(shí)體數(shù)據(jù)重構(gòu)到view中//級(jí)聯(lián)表YonghuEntityyonghu=yonghuService.selectById(daka.getYonghuId());if(yonghu!=null){BeanUtils.copyProperties(yonghu,view,newString[]{"id","createTime","insertTime","updateTime"});//把級(jí)聯(lián)的數(shù)據(jù)添加到view中,并排除id和創(chuàng)建時(shí)間字段view.setYonghuId(yonghu.getId());}//修改對(duì)應(yīng)字典表字段dictionaryService.dictionaryConvert(view,request);returnR.ok().put("data",view);}else{returnR.error(511,"查不到數(shù)據(jù)");}}5.2.4物資管理通過(guò)設(shè)計(jì)的物資管理功能模塊,管理用戶可以查看相關(guān)的物資信息記錄,可以查到物資名稱、物資圖片、物資類型、物資庫(kù)存等詳細(xì)信息,物資管理界面設(shè)計(jì)如圖5-14所示。圖5-14物資管理界面本功能模塊的核心代碼如下:/***物資后端詳情*/@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid,HttpServletRequestrequest){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);WuziEntitywuzi=wuziService.selectById(id);if(wuzi!=null){//entity轉(zhuǎn)viewWuziViewview=newWuziView();BeanUtils.copyProperties(wuzi,view);//把實(shí)體數(shù)據(jù)重構(gòu)到view中//修改對(duì)應(yīng)字典表字段dictionaryService.dictionaryConvert(view,request);returnR.ok().put("data",view);}else{returnR.error(511,"查不到數(shù)據(jù)");}}5.2.5物資申請(qǐng)管理通過(guò)設(shè)計(jì)的物資申請(qǐng)管理功能模塊,用戶可以管理相關(guān)的物資申請(qǐng)信息記錄,比如進(jìn)行查看物資申請(qǐng)的詳細(xì)信息,新增相關(guān)的物資申請(qǐng)信息記錄,物資申請(qǐng)管理界面設(shè)計(jì)如圖5-15所示。圖5-15物資申請(qǐng)管理界面本功能模塊的核心代碼如下:/***物資申請(qǐng)后端詳情*/@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Longid,HttpServletRequestrequest){logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);WuzishenqingEntitywuzishenqing=wuzishenqingService.se
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024芒果種植基地?zé)o人機(jī)噴灑農(nóng)藥服務(wù)合同3篇
- 儀器設(shè)備采購(gòu)合同5篇
- 經(jīng)濟(jì)法關(guān)于大學(xué)生就業(yè)維權(quán)方面
- 贊助合同模板(5篇)
- 山東特殊教育職業(yè)學(xué)院《醫(yī)學(xué)基本技能》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度政府投資項(xiàng)目財(cái)務(wù)監(jiān)管代理合同3篇
- 鐘山職業(yè)技術(shù)學(xué)院《商務(wù)英語(yǔ)視聽(tīng)說(shuō)(4)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年礦山石料直供采購(gòu)協(xié)議綱要版B版
- 2025年度新疆棉花采摘機(jī)械化作業(yè)合同范本3篇
- 南京師范大學(xué)泰州學(xué)院《口腔臨床醫(yī)學(xué)概論(口腔修復(fù)學(xué))》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024-2025學(xué)年初中七年級(jí)上學(xué)期數(shù)學(xué)期末綜合卷(人教版)含答案
- 2024-2025學(xué)年北京市朝陽(yáng)區(qū)高三上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 四年級(jí)數(shù)學(xué)(除數(shù)是兩位數(shù))計(jì)算題專項(xiàng)練習(xí)及答案
- 辦理落戶新生兒委托書(shū)模板
- 四川省綿陽(yáng)市涪城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期1月期末歷史試卷(含答案)
- 2025年山東水發(fā)集團(tuán)限公司社會(huì)招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《湖南省房屋建筑和市政工程消防質(zhì)量控制技術(shù)標(biāo)準(zhǔn)》
- 施工現(xiàn)場(chǎng)環(huán)境因素識(shí)別、評(píng)價(jià)及環(huán)境因素清單、控制措施
- 2024年醫(yī)藥行業(yè)年終總結(jié).政策篇 易聯(lián)招采2024
- 《工業(yè)園區(qū)節(jié)水管理規(guī)范》
- 兒科護(hù)士述職報(bào)告2024
評(píng)論
0/150
提交評(píng)論