版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
目錄緒論1.1課題背景2019年在武漢出現(xiàn)了新型冠狀病毒,新型冠狀病毒的出現(xiàn)給全球都帶來了極大的影響,各個(gè)地區(qū)都開始進(jìn)行隔離措施來阻止疫情的進(jìn)一步傳播。因此在當(dāng)前疫情肆虐的環(huán)境下面臨著管控區(qū)域的物資管理配送問題日益嚴(yán)重,暴露出的社會(huì)問題層出不窮。如何在防疫的同時(shí)做好疫情物資管理是目前面臨的巨大問題。隨著社會(huì)的發(fā)展,社會(huì)的各行各業(yè)都在利用信息化時(shí)代的優(yōu)勢(shì)。計(jì)算機(jī)的優(yōu)勢(shì)和普及使得各種信息系統(tǒng)的開發(fā)成為必需,結(jié)合當(dāng)前的疫情情況,設(shè)計(jì)出一個(gè)疫情物資管理系統(tǒng)對(duì)疫情中物資來進(jìn)行管理是必要的,基于SpringBoot框架實(shí)現(xiàn)的疫情物資管理系統(tǒng)可以精準(zhǔn)需求、物資分配、人員管理等,可以對(duì)抗疫物資進(jìn)行更加合理、精準(zhǔn)的管理調(diào)動(dòng),從而節(jié)省人力物力資源的浪費(fèi)。1.2研究現(xiàn)狀隨著2019年,新型冠狀病毒肺炎疫情爆發(fā),給全球造成了極大的影響,全球累計(jì)感染人數(shù)已超過1.7億人,死亡病例380多萬(wàn)人。疫情的肆虐,給防疫物資的調(diào)配帶來了巨大的挑戰(zhàn)REF_Ref10669\r\h[1]。在疫情防控中,防疫物資的供給保障尤為重要?;诳箵粢咔橹?,對(duì)物資調(diào)配高效管理的嚴(yán)格要求,設(shè)計(jì)一個(gè)疫情物資管理系統(tǒng)來對(duì)抗疫物資進(jìn)行統(tǒng)籌管理是符合當(dāng)前社會(huì)要求的。在上個(gè)世紀(jì)五十年代,國(guó)外學(xué)者就已經(jīng)開始對(duì)物資管理進(jìn)行研究,大量學(xué)者投入到物資的信息化管理中,并且由于這些發(fā)達(dá)國(guó)家,信息化發(fā)展早,程度高,大多數(shù)企業(yè)的物資管理已經(jīng)實(shí)現(xiàn)了信息化、平臺(tái)化。物資管理系統(tǒng)的功能都比較完善,形成了較為成熟的體系。歐美等國(guó)家的物資管理模式也由粗放型管理走向了現(xiàn)代化、科學(xué)化的管理模式REF_Ref10584\r\h[2]。我國(guó)對(duì)物資管理進(jìn)行研究和探索的時(shí)間是上個(gè)世紀(jì)八十年代,對(duì)物資管理系統(tǒng)的研究主要注重于物資采購(gòu)、庫(kù)存以及供應(yīng)等比較單一環(huán)節(jié)進(jìn)行解決。在面對(duì)疫情物資的調(diào)配時(shí),原有的物資管理系統(tǒng),不適用于縣域內(nèi)應(yīng)急物資的調(diào)配管理。在物資的調(diào)配及捐贈(zèng)時(shí)存在一些問題,如信息登記不詳細(xì),偶有漏記、錯(cuò)記現(xiàn)象發(fā)生,物資的盤點(diǎn)有很大的不便。各部門之間信息不能共享,對(duì)物資的來源與去向不能及時(shí)知曉REF_Ref18359\r\h[3]。因此專門設(shè)計(jì)了一個(gè)用于疫情物資管理的系統(tǒng)。用來解決疫情物資管理中存在的登記信息不詳細(xì),無法對(duì)物資進(jìn)行方便的盤點(diǎn)等問題。本系統(tǒng)前端頁(yè)面使用的是Vue.js,是當(dāng)下Web前端的三大主流框架Angular.js、React.js、vue.js之一。這三大框架都是使用的MVVM架構(gòu)REF_Ref18496\r\h[4]。相比于MVC架構(gòu),MVVM架構(gòu)模式實(shí)現(xiàn)了數(shù)據(jù)的雙向綁定,只要ViewModel中的數(shù)據(jù)變更邏輯,就能使View獲得響應(yīng)式的更新,無需再進(jìn)行DOM操作REF_Ref18548\r\h[5],降低了前端開發(fā)的復(fù)雜性。Angular.js框架是谷歌公司開發(fā)的框架,能夠?qū)崿F(xiàn)的功能很多,但是對(duì)于企業(yè)級(jí)應(yīng)用開發(fā)更為合適,對(duì)于個(gè)人開發(fā)者來說并不友好,并且Angular.js沒有提供虛擬DOM。React.js框架起源于Facebook,代碼邏輯簡(jiǎn)單,也提供了虛擬DOM解決跨域?yàn)g覽器問題,但是提供的功能較少。Vue.js框架是一種用于構(gòu)建用戶界面的漸進(jìn)式框架,有著完整的開發(fā)文檔,相比于Angular.js和React.js更加簡(jiǎn)單易學(xué)REF_Ref18571\r\h[6]。在后端使用的是SpringBoot框架,SpringBoot框架相比于Spring保留了Spring框架的核心——IOC和AOP思想,簡(jiǎn)化了Spring繁瑣的配置REF_Ref18591\r\h[7]。使用SpringBoot框架可以更加方便的集成Mybatis-plus、JWT等REF_Ref18613\r\h[8],在SpringBoot中只需要在POM文件添加Mybatis-plus依賴,即可實(shí)現(xiàn)數(shù)據(jù)庫(kù)的持久化REF_Ref18630\r\h[9]。SpringBoot的部署簡(jiǎn)單,SpringBoot內(nèi)含有Tomcat或Jetty服務(wù)器,無需打成war包放到Tomcat中REF_Ref18649\r\h[10]。本系統(tǒng)采使用的數(shù)據(jù)庫(kù)為MySQL數(shù)據(jù)庫(kù),MySQL使用的SQL語(yǔ)句具有高度兼容性,并且MySQL是一種關(guān)系型數(shù)據(jù)庫(kù),將數(shù)據(jù)保存在不同的表單中,相比于SQLServer和Oracle將所有數(shù)據(jù)保存在一個(gè)大倉(cāng)庫(kù)中,極大地提升了查詢速度和靈活性REF_Ref18666\r\h[11]。MySQL體積小、成本低。MySQL作為一款小型的關(guān)系型數(shù)據(jù)庫(kù),更加適合用于我們這種中小型網(wǎng)站的開發(fā)REF_Ref18689\r\h[12]。本系統(tǒng)中集成了JWT生成token用于登錄攔截。JWT是一種基于JSON格式的Webtoken,它將用戶信息加密到token里,服務(wù)器不保存任何用戶信息。服務(wù)器通過使用保存的密鑰驗(yàn)證token的正確性,只要正確即通過驗(yàn)證。Token信息包含三個(gè)部分:HEAD頭部,用來聲明token類型和加密的算法;PAYLOAD載荷,主要用于傳遞信息的載體,常用的有iss(簽發(fā)者)、exp(過期時(shí)間);SIGNATURE簽證信息。用戶端發(fā)起登錄請(qǐng)求時(shí),在后端進(jìn)行用戶信息驗(yàn)證,驗(yàn)證成功后,生成token發(fā)送給前端,前端將接收到的token保存在本地瀏覽器的localStore存儲(chǔ)對(duì)象中REF_Ref18725\r\h[13],在進(jìn)行服務(wù)器資源訪問時(shí),在請(qǐng)求頭中放置后端生成的token,后端接收到前端發(fā)送的token時(shí)進(jìn)行驗(yàn)證REF_Ref18751\r\h[14]。本系統(tǒng)中的算法為協(xié)同過濾算法,本系統(tǒng)根據(jù)用戶的瀏覽記錄、搜索記錄、申請(qǐng)記錄等計(jì)算出用戶感興趣的物資進(jìn)行推薦。協(xié)同過濾推薦方法通過特定算法計(jì)算系統(tǒng)中用戶之間的相似度REF_Ref18770\r\h[15],將他們感興趣的項(xiàng)目組成一個(gè)排序列表推薦給興趣相似的人。協(xié)同過濾算法主要分為基于用戶的協(xié)同過濾和基于項(xiàng)目的協(xié)同過濾兩種。協(xié)同過濾算法在全球電子商務(wù)領(lǐng)域中使用頻繁,在AMAZON搜索引擎中,其網(wǎng)站上約35%的銷售額來自其個(gè)性化推薦REF_Ref18790\r\h[16]?;谟脩舻耐扑]算法的過程主要可以分為兩步,第一步采用相似度計(jì)算方法計(jì)算用戶或項(xiàng)目之間的相似度,構(gòu)造出相似矩陣。第二步采用相應(yīng)的算法估算評(píng)分,根據(jù)評(píng)分對(duì)用戶進(jìn)行推薦REF_Ref18806\r\h[17]。1.3研究目的與內(nèi)容在疫情期間,許多地區(qū)都進(jìn)行了隔離,導(dǎo)致各種物資和防護(hù)用品緊缺。一個(gè)好的疫情物資管理系統(tǒng)可以幫助衛(wèi)生部門或機(jī)構(gòu)更加準(zhǔn)確地分析各類物資的需求量和分配情況,可以更好的對(duì)疫情下的物資進(jìn)行管理,促進(jìn)物資的合理使用,提高物資的利用效率。本系統(tǒng)主要有登錄注冊(cè)模塊,用于用戶和管理員的登錄注冊(cè);物資申請(qǐng)模塊,用戶可以對(duì)需要的物資進(jìn)行申請(qǐng);物資的入庫(kù)、出庫(kù)模塊,管理員可以對(duì)物資的出入庫(kù)進(jìn)行管理、審核、查看出入庫(kù)單的詳細(xì)信息。1.4論文結(jié)構(gòu)本文由七大部分組成:第一部分為緒論,主要闡述本課題的選題背景,明確課題的研究意義,結(jié)合中外研究結(jié)果以及文獻(xiàn)資料確定研究目標(biāo)與內(nèi)容,初步確認(rèn)課題的具體實(shí)施方案。第二部分為系統(tǒng)分析,本章節(jié)對(duì)系統(tǒng)進(jìn)行了整體的分析,包括業(yè)務(wù)分析、系統(tǒng)需求分析、功能分析以及非功能性分析。業(yè)務(wù)分析講述了本系統(tǒng)主要要完成的業(yè)務(wù),實(shí)現(xiàn)的內(nèi)容,系統(tǒng)需求分析包括用戶和管理員兩大群體的內(nèi)容分析,功能分析包括了系統(tǒng)具體功能的實(shí)現(xiàn)需求,非功能分析主要包括了性能、安全、開發(fā)環(huán)境方面的分析,選定了開發(fā)語(yǔ)言、開發(fā)工具、數(shù)據(jù)庫(kù)等。第三部分為系統(tǒng)總體設(shè)計(jì),是從開發(fā)系統(tǒng)的角度以及其思考方式,對(duì)系統(tǒng)的功能以及整體的實(shí)現(xiàn)進(jìn)行了概述,從架構(gòu)設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)計(jì)兩方面對(duì)系統(tǒng)進(jìn)行了總體的設(shè)計(jì)。第四部分為系統(tǒng)詳細(xì)設(shè)計(jì),結(jié)合系統(tǒng)總體設(shè)計(jì)以及需求分析,對(duì)系統(tǒng)的不同模塊的具體內(nèi)容以及其對(duì)應(yīng)功能的實(shí)現(xiàn)流程進(jìn)行了具體的描述。第五部分為系統(tǒng)實(shí)現(xiàn),結(jié)合課題系統(tǒng)的實(shí)現(xiàn)情況對(duì)各個(gè)功能模塊的實(shí)現(xiàn)進(jìn)行詳細(xì)的描述。第六部分為系統(tǒng)測(cè)試,為了確保系統(tǒng)的可靠性,針對(duì)所提出的各項(xiàng)功能進(jìn)行測(cè)試,對(duì)系統(tǒng)地完成度進(jìn)行測(cè)評(píng)。第七部分為總結(jié)與展望,對(duì)全課題內(nèi)容進(jìn)行總結(jié),總結(jié)歸納系統(tǒng)的完成情況,分析其優(yōu)缺點(diǎn)以及該系統(tǒng)的實(shí)現(xiàn)是否達(dá)到預(yù)期,從而根據(jù)此對(duì)研究方向進(jìn)行展望,提出改進(jìn)方向。第2章系統(tǒng)分析2系統(tǒng)分析這一章,主要通過對(duì)業(yè)務(wù)需求、系統(tǒng)需求和可行性三個(gè)方面進(jìn)行分析。對(duì)疫情物資管理系統(tǒng)進(jìn)行詳細(xì)調(diào)查,分析、總結(jié)出開發(fā)本系統(tǒng)的具體需求。2.1業(yè)務(wù)需求分析隨著全球疫情的爆發(fā),對(duì)社會(huì)和經(jīng)濟(jì)造成了很大的影響,許多用戶、地區(qū)由于疫情被隔離,導(dǎo)致物資的運(yùn)輸調(diào)度不及時(shí),許多地區(qū)因此而面臨物資缺乏的問題。所以需要建立一個(gè)疫情物資管理系統(tǒng),在疫情期間對(duì)相關(guān)物資進(jìn)行有效監(jiān)控和調(diào)配,以保障醫(yī)護(hù)人員和公眾的安全。疫情物資管理系統(tǒng)主要是為了更好的對(duì)物資進(jìn)行管理和調(diào)度,提高物資的調(diào)度速度,利用效率。該系統(tǒng)可以讓用戶申請(qǐng)所需的物資、查看物資的庫(kù)存信息。管理員可以對(duì)物資信息、物資來源、物資入庫(kù)、物資出庫(kù)、用戶信息等進(jìn)行管理。2.2系統(tǒng)需求分析本系統(tǒng)包括用戶、后勤人員、管理員三類,系統(tǒng)需求分析主要從用戶、后勤人員和管理員這三大類來進(jìn)行分析。用戶可以查詢庫(kù)存物資,進(jìn)行物資申請(qǐng)。后勤人員可以對(duì)物資庫(kù)存進(jìn)行管理、對(duì)物資入庫(kù)、出庫(kù)進(jìn)行審核。管理員擁有管理物資信息,人員管理,角色管理,分配菜單權(quán)限等功能。2.2.1功能性需求分析本節(jié)主要對(duì)疫情物資管理系統(tǒng)的功能性需求進(jìn)行分析,明確用戶的目標(biāo)和系統(tǒng)的實(shí)現(xiàn)方法。1.用戶需求分析用戶在注冊(cè)賬號(hào)后,可以進(jìn)行登錄,登陸后可以查看、修改自己的個(gè)人信息。可以查看物資的信息、庫(kù)存??梢蕴顚懳镔Y申請(qǐng)單進(jìn)行物資的申請(qǐng)。(1)登錄注冊(cè):用戶可以使用已經(jīng)注冊(cè)過的賬號(hào)進(jìn)行登錄,設(shè)置有驗(yàn)證碼功能,如果密碼或驗(yàn)證碼錯(cuò)誤,會(huì)出現(xiàn)報(bào)錯(cuò)頁(yè)面。用戶可以注冊(cè),賬號(hào)和密碼有格式要求,如果不滿足要求則無法注冊(cè)。(2)物資檢索:用戶可以對(duì)庫(kù)存物資進(jìn)行檢索。(3)物資申請(qǐng):用戶可以在此模塊申請(qǐng)自己所需的物資,部分物資設(shè)置每人申請(qǐng)數(shù)量的限制,并在選完所需物資后,填寫收貨地址、姓名、聯(lián)系方式后才能提交。(4)個(gè)人中心:用戶可以在個(gè)人中心模塊填寫自己的相關(guān)信息,也可以在此頁(yè)面更改、增加自己的頭像、昵稱、電話、郵箱等信息,或者修改自己的密碼等。用戶用例圖如圖2.1所示。圖2.1用戶用例圖2.后勤人員需求分析后勤人員主要對(duì)物資的入庫(kù)、物資的出庫(kù)、物資庫(kù)存進(jìn)行管理。(1)物資入庫(kù):管理員可以對(duì)物資進(jìn)行入庫(kù),點(diǎn)擊詳情可以查看具體的入庫(kù)物資信息,審核通過后,物資添加到庫(kù)存中。(2)物資出庫(kù):管理員對(duì)用戶的物資申請(qǐng)進(jìn)行審核同意后,會(huì)生成出庫(kù)記錄方便管理查詢,點(diǎn)擊詳情可以查看具體的出庫(kù)物資信息,出庫(kù)審核同意后,物資出庫(kù),物資庫(kù)存數(shù)量減少。(3)物資庫(kù)存:使用圖表展示當(dāng)前庫(kù)存中的物資情況,可以更加清晰的展示出物資的庫(kù)存情況。后勤人員用例圖如圖2.2所示。圖2.2后勤人員用例圖3.管理員需求分析管理員在登陸之后可以對(duì)物資的信息、人員信息、人員角色、菜單權(quán)限等進(jìn)行管理。(1)物資信息:管理員可以添加新的物資到數(shù)據(jù)庫(kù),也可以對(duì)物資信息進(jìn)行修改、刪除等操作,方便入庫(kù),出庫(kù)時(shí)直接獲取到具體的物資信息。(2)物資來源:對(duì)物資的來源地信息進(jìn)行匯總處理,每當(dāng)有新的物資來源地時(shí),將新的物資來源地信息添加到數(shù)據(jù)庫(kù),管理員可以對(duì)這些物資來源地信息進(jìn)行操作。(3)用戶管理:管理員登陸后,可以對(duì)用戶分配對(duì)應(yīng)的角色。可以使用搜索功能根據(jù)姓名或是類別進(jìn)行搜索。(4)角色管理:管理員登錄后,可以對(duì)不同的角色分配不同的菜單,修改角色的權(quán)限菜單。(5)菜單管理:管理員登陸后,可以設(shè)置菜單信息,增加、刪除、修改菜單信息。管理員用例圖如圖2.3所示。圖2.3管理員用例圖2.2.1非功能性需求分析軟件系統(tǒng)需求除了功能需求之外還有非功能需求,非功能需求在一定程度上會(huì)影響到系統(tǒng)的性能,其也開發(fā)過程中必不可少的一部分,據(jù)分析該系統(tǒng)非功能需求主要如下:1.系統(tǒng)的安全性:每個(gè)用戶的賬號(hào)密碼得到保護(hù),對(duì)其長(zhǎng)度、復(fù)雜度提出要求,盡可能避免盜用的發(fā)生,對(duì)不同的用戶可以分配不同的權(quán)限。2.系統(tǒng)的性能:本系統(tǒng)能夠快速響應(yīng)用戶的操作,用戶打開界面和提交事務(wù)的平均響應(yīng)時(shí)間低于1.5秒,用戶進(jìn)行在線的實(shí)時(shí)查詢業(yè)務(wù)操作時(shí)數(shù)據(jù)處理時(shí)間低于5。3.系統(tǒng)的可靠性:系統(tǒng)在保證功能的基礎(chǔ)之上,能夠在長(zhǎng)時(shí)間內(nèi)保持穩(wěn)定,年非計(jì)劃宕機(jī)時(shí)間低于8小時(shí)。2.3可行性分析本節(jié)的可行性分析主要從技術(shù)可行性、經(jīng)濟(jì)可行性、法律可行性三個(gè)方面進(jìn)行分析。2.3.1技術(shù)可行性從開發(fā)框架來看,本系統(tǒng)屬于前后端分離項(xiàng)目,前端是基于Vue,后端基于SpringBoot框架進(jìn)行開發(fā)。Vue框架是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。相比于其他前端框架,Vue的核心庫(kù)只關(guān)注視圖層,所以易于上手,也便于與第三方庫(kù)整合。所以在前端設(shè)計(jì)時(shí)可以便捷的引入element-ui前端樣式組件庫(kù)。更方便的對(duì)前端頁(yè)面進(jìn)行設(shè)計(jì)。后端的SpringBoot框架的搭建也是十分的便捷。所以本系統(tǒng)在技術(shù)上是可以實(shí)現(xiàn)的。2.3.2經(jīng)濟(jì)可行性本系統(tǒng)的設(shè)計(jì)全部由本人完成,無需投入另外的人員技術(shù)成本,本系統(tǒng)屬于一個(gè)工具類的管理系統(tǒng),可以許多人力物力資源,能夠極大地提高物資調(diào)動(dòng)的工作效率。本系統(tǒng)所使用的開發(fā)工具IDEA、MySQL和vscode等也都可以在網(wǎng)上找到免費(fèi)版本,所以本系統(tǒng)無需額外的人力物力資源。2.3.3法律可行性本系統(tǒng)在開發(fā)過程中沒有涉及與法律相抵觸的方面,符合國(guó)家各種政策法規(guī)。限制非管理員權(quán)限的賬號(hào)對(duì)非管理范圍信息的訪問權(quán),不會(huì)對(duì)信息進(jìn)行篡改,關(guān)鍵用戶信息的修改均需經(jīng)過重新上傳資料證件進(jìn)行審核,因此,本系統(tǒng)在法律上也是可行的。2.4本章小結(jié)本章通過對(duì)系統(tǒng)的業(yè)務(wù)需求、系統(tǒng)功能需求以及系統(tǒng)非功能需求進(jìn)行了詳細(xì)的分析。確定了需要達(dá)成的目標(biāo),做好相應(yīng)的工作安排,對(duì)它的各個(gè)階段進(jìn)行統(tǒng)籌分析,確保系統(tǒng)真正實(shí)現(xiàn)的可行性,為后續(xù)的完成工作推進(jìn)奠定基礎(chǔ)。第3章系統(tǒng)總體設(shè)計(jì)3系統(tǒng)總體設(shè)計(jì)本章主要根據(jù)系統(tǒng)分析中的需求對(duì)系統(tǒng)的功能模塊進(jìn)行大概的設(shè)計(jì),通過架構(gòu)設(shè)計(jì)、功能模塊設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)三個(gè)方面對(duì)系統(tǒng)進(jìn)行一個(gè)總體的設(shè)計(jì)。3.1架構(gòu)設(shè)計(jì)本系統(tǒng)是基于SpringBoot和Vue前后端分離實(shí)現(xiàn)的一個(gè)物資管理系統(tǒng)。前端使用的是Vue,通過Vue技術(shù)實(shí)現(xiàn)前端的編寫,用戶通過Web頁(yè)面進(jìn)行操作。服務(wù)層實(shí)現(xiàn)的業(yè)務(wù)主要有三大模塊,并實(shí)現(xiàn)權(quán)限認(rèn)證和用戶認(rèn)證。后端框架使用的是SpringBooot。數(shù)據(jù)存儲(chǔ)層主要使用的是MySQL。系統(tǒng)架構(gòu)如圖3.1所示。圖3.1系統(tǒng)架構(gòu)圖3.2功能模塊設(shè)計(jì)疫情物資分配管理系統(tǒng)主要是實(shí)現(xiàn)對(duì)疫情物資進(jìn)行更加精確的分配管理,降低人力物力資源的消耗。在疫情物資分配管理系統(tǒng)中,主要分為用戶模塊、后勤人員模塊和管理員模塊。三類模塊所要實(shí)現(xiàn)的系統(tǒng)功能不同。系統(tǒng)功能模塊圖如圖3.2所示。圖3.2系統(tǒng)功能模塊圖1.用戶模塊用戶模塊主要有登陸注冊(cè)、個(gè)人中心、物資申請(qǐng)、物資信息。2.管理員模塊管理員模塊主要有人員管理、物資來源管理、部門管理、角色管理、菜單管理。3.后勤人員模塊后勤人員模塊主要有物資入庫(kù)、物資出庫(kù)、物資庫(kù)存。3.3數(shù)據(jù)庫(kù)設(shè)計(jì)本節(jié)主要介紹系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì),經(jīng)過系統(tǒng)分析后,通過數(shù)據(jù)庫(kù)E-R圖和用戶實(shí)體屬性圖來完成對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)。3.3.1數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)需要符合一定的數(shù)據(jù)庫(kù)設(shè)計(jì)規(guī)范。規(guī)范化的數(shù)據(jù)庫(kù)設(shè)計(jì)能夠有效地減少數(shù)據(jù)冗余節(jié)省存儲(chǔ)空間,而且最主要的是其能夠顯著提升系統(tǒng)的增、刪、改、查的速度,提升系統(tǒng)運(yùn)行速度,提高用戶體驗(yàn)。本系統(tǒng)主要包括管理員、用戶、后勤人員、出/入庫(kù)單、物資信息等實(shí)體,通過對(duì)這些實(shí)體之間進(jìn)行關(guān)聯(lián),提高系統(tǒng)信息查詢、修改的速度。3.3.2數(shù)據(jù)庫(kù)概念設(shè)計(jì)疫情物資管理系統(tǒng)的主要實(shí)體有用戶,管理員、物資信息、后勤人員、出/入庫(kù)單。本系統(tǒng)主要有用戶、管理員、后勤人員三類角色。這三類角色都有編號(hào)、賬號(hào)、密碼、昵稱、郵箱等屬性。管理員可以對(duì)多個(gè)用戶和后勤人員進(jìn)行管理。管理員可以管理多個(gè)物資信息,物資信息主要包括類型、名稱、編號(hào)、數(shù)量、單位等。后勤人員主要管理物資的出庫(kù)、入庫(kù)單。物資的出/入庫(kù)單實(shí)體的屬性主要有訂單號(hào)、名稱、類別、編號(hào)等。每個(gè)實(shí)體之間的關(guān)系如圖3.3所示。圖3.3數(shù)據(jù)庫(kù)E-R圖3.3.3數(shù)據(jù)庫(kù)表結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)的實(shí)體主要有用戶、管理員、后勤人員、物資來源信息、物資信息、入庫(kù)單、出庫(kù)單等。(1)用戶表(user)用戶表用于存儲(chǔ)用戶信息。該表的主要字段有編號(hào)、賬號(hào)、密碼、姓名、性別、年齡、電話、頭像、郵箱,類別等屬性,其中主鍵為編號(hào)。用戶表如表3.1所示。表3.1用戶表(user)字段名數(shù)據(jù)類型主鍵非空默認(rèn)值自增字段描述idint是是無是編號(hào)usernamevarchar否是無否用戶名passwordvarchar否是無否密碼續(xù)表3.1字段名數(shù)據(jù)類型主鍵非空默認(rèn)值自增字段描述nicknamevarchar否否無否昵稱emailvarchar否否無否郵箱phonevarchar否否無否手機(jī)號(hào)addressvarchar否否無否地址avatar_ruldatatime否否無否頭像地址sexint否否無否性別birthdate否否無否生日rolevarchar否是無否角色訪問權(quán)限(2)物資來源信息表(supplier)物資來源信息表主要用來存儲(chǔ)物資來源地的信息。該表的主要字段有編號(hào)、物資提供者名稱、地址、郵箱、手機(jī)號(hào)、創(chuàng)建時(shí)間、修改時(shí)間、排序、聯(lián)系人。物資來源信息表如表3.2所示。表3.2物資來源信息表(supplier)字段名數(shù)據(jù)類型主鍵非空默認(rèn)值自增字段描述idbigint是是無是編號(hào)namevarchar否是無否物資提供者名稱addressvarchar否是無否地址emailvarchar否是無否郵箱phonevarchar否否無否手機(jī)號(hào)create_timedatetime否是無否創(chuàng)建時(shí)間modified_timedatetime否是無否修改時(shí)間sortint否否無否排序contactvarchar否是無否聯(lián)系人(3)物資信息表(product)物資信息表主要用來存儲(chǔ)物資信息。該表的主要字段有編號(hào)、物資編號(hào)、物資圖片、物資規(guī)格、物資單位、備注、排序、創(chuàng)建時(shí)間、修改時(shí)間。物資信息表如表3.3所示。表3.3物資信息表(product)字段名數(shù)據(jù)類型主鍵非空默認(rèn)值自增字段描述idbigint是是無是編號(hào)p_numvarchar否是無否物資編號(hào)namevarchar否是無否物資名稱image_urltext否是無否物資圖片modelvarchar否是無否物資規(guī)格unitdatetime否是無否物資單位remarkdatetime否否無否備注sortint否是無否排序create_timedatetime否是無否創(chuàng)建時(shí)間modified_timedatetime否是無否修改時(shí)間(4)入庫(kù)信息表(in_stock)入庫(kù)信息表主要用來存儲(chǔ)物資入庫(kù)的相關(guān)信息。該表的主要字段有編號(hào)、入庫(kù)單編號(hào)、入庫(kù)類型、入庫(kù)操作人員、物資總數(shù)、物資來源編號(hào)、描述信息、入庫(kù)狀態(tài)、創(chuàng)建時(shí)間、修改時(shí)間。入庫(kù)信息表如表3.4所示。表3.4入庫(kù)信息表(in_stock)字段名數(shù)據(jù)類型主鍵非空默認(rèn)值自增字段描述idbigint是是無是編號(hào)in_numvarchar否是無否入庫(kù)單編號(hào)typevarchar否是無否入庫(kù)類型operatorvarchar否是無否入庫(kù)操作人員product_numberint否是無否物資總數(shù)supplier_idbigint否是無否物資來源編號(hào)remarkint否否無否描述信息statusint否是有否入庫(kù)狀態(tài)create_timedatetime否是無否創(chuàng)建時(shí)間modified_timedatetime否是無否修改時(shí)間(5)出庫(kù)信息表(out_stock)出庫(kù)信息表主要用來存儲(chǔ)物資出庫(kù)的相關(guān)信息。該表的主要字段有編號(hào)、出庫(kù)單編號(hào)、出庫(kù)類型、出庫(kù)操作人員、物資總數(shù)、物資去處編號(hào)、描述信息、出庫(kù)狀態(tài)、創(chuàng)建時(shí)間、修改時(shí)間、緊急程度。出庫(kù)信息表如表3.5所示。表3.5出庫(kù)信息表(out_stock)字段名數(shù)據(jù)類型主鍵非空默認(rèn)值自增字段描述idbigint是是無是編號(hào)out_numvarchar否是無否出庫(kù)單編號(hào)typevarchar否是無否出庫(kù)類型operatorvarchar否是無否出庫(kù)操作人員product_numberint否是無否物資總數(shù)consumer_idbigint否是無否物資去處編號(hào)remarkint否否無否描述信息statusint否是有否出庫(kù)狀態(tài)create_timedatetime否是無否創(chuàng)建時(shí)間priorityint否是無否緊急程度3.4本章小結(jié)本章主要介紹了疫情物資管理系統(tǒng)的功能模塊設(shè)計(jì)、架構(gòu)設(shè)計(jì),對(duì)疫情物資管理系統(tǒng)的數(shù)據(jù)庫(kù)進(jìn)行了設(shè)計(jì),整理了數(shù)據(jù)庫(kù)表的E-R圖,為后續(xù)的系統(tǒng)詳細(xì)設(shè)計(jì)和實(shí)現(xiàn)奠定了基礎(chǔ)。第4章系統(tǒng)詳細(xì)設(shè)計(jì)4系統(tǒng)詳細(xì)設(shè)計(jì)本節(jié)通過對(duì)象設(shè)計(jì)、交互設(shè)計(jì)和模塊詳細(xì)設(shè)計(jì)三個(gè)方面對(duì)系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì)。對(duì)象設(shè)計(jì)中通過類圖來描述系統(tǒng)中所包含的類之間的相互關(guān)系。模塊詳細(xì)設(shè)計(jì)中通過流程圖對(duì)各個(gè)模塊的具體流程進(jìn)行介紹。4.1對(duì)象設(shè)計(jì)本系統(tǒng)根據(jù)功能以及角色的區(qū)別,設(shè)計(jì)了管理員類(Admin)、用戶類(User)、后勤人員類、入庫(kù)單類(InStock)、出庫(kù)單類(OutStock)、物資信息類(Product)、入庫(kù)物資詳情(InStockItem)、出庫(kù)物資詳情(OutStockItem)等,系統(tǒng)的類圖如圖4.1所示。圖4.1系統(tǒng)類圖4.2交互設(shè)計(jì)本節(jié)主要闡述了系統(tǒng)、用戶以及系統(tǒng)內(nèi)部各個(gè)模塊間的交互過程,清晰地展示了系統(tǒng)運(yùn)行的整體步驟和模式。4.2.1登錄模塊登陸時(shí)會(huì)對(duì)用戶賬號(hào)密碼長(zhǎng)度格式進(jìn)行簡(jiǎn)單的校驗(yàn),賬號(hào)密碼輸入正確則獲得相關(guān)權(quán)限,跳轉(zhuǎn)到系統(tǒng)首頁(yè),輸入錯(cuò)誤則給出輸入錯(cuò)誤的提示。用戶注冊(cè)需要按相應(yīng)要求填寫個(gè)人注冊(cè)信息,確認(rèn)后點(diǎn)擊確認(rèn)注冊(cè),顯示注冊(cè)成功后注冊(cè)用戶才可以通過該賬號(hào)跟密碼登錄系統(tǒng)進(jìn)行相關(guān)操作。登陸時(shí)序圖如圖4.2所示。圖4.2登陸時(shí)序圖4.2.2個(gè)人中心模塊用戶登陸成功后,進(jìn)入個(gè)人中心模塊,系統(tǒng)獲取到用戶的所有信息,顯示給用戶,用戶可以選擇要修改的信息。確認(rèn)修改后,前端檢驗(yàn)個(gè)人信息是否符合規(guī)范,檢驗(yàn)規(guī)范后調(diào)用后端接口進(jìn)行用戶信息的更新。登陸時(shí)序圖如圖4.3所示圖4.3個(gè)人中心時(shí)序圖4.2.3物資申請(qǐng)模塊用戶登陸成功后,進(jìn)入物資申請(qǐng)模塊,用戶點(diǎn)擊申請(qǐng)后選擇要申請(qǐng)的物資種類、數(shù)量,填寫自己的個(gè)人信息后可以進(jìn)行提交,提交時(shí),前端先校驗(yàn)表單信息是否合法,后端校驗(yàn)物資數(shù)量是否充足,校驗(yàn)成功后生成物資申請(qǐng)單,用戶可以查看物資申請(qǐng)信息和狀態(tài)。物資申請(qǐng)時(shí)序圖如圖4.4所示圖4.4物資申請(qǐng)時(shí)序圖4.2.4物資信息模塊管理員登陸成功后,進(jìn)入物資信息模塊,可以添加新的物資,也可以對(duì)物資信息進(jìn)行修改,物資申請(qǐng)時(shí)序圖如圖4.5所示圖4.5物資信息時(shí)序圖4.3模塊詳細(xì)設(shè)計(jì)在本節(jié)中中通過用戶不同的使用場(chǎng)景,闡述并給出各功能模塊的詳細(xì)設(shè)計(jì),用流程圖顯示各個(gè)模塊的具體設(shè)計(jì)。其中包括有登錄注冊(cè)流程設(shè)計(jì)、個(gè)人中心流程設(shè)計(jì)、物資申請(qǐng)流程設(shè)計(jì)、物資信息流程設(shè)計(jì)、物資入庫(kù)流程設(shè)計(jì)、物資出庫(kù)流程設(shè)計(jì)。4.3.1用戶登錄注冊(cè)本系統(tǒng)登錄模塊流程,前端會(huì)對(duì)用戶輸入賬號(hào)、密碼、驗(yàn)證碼長(zhǎng)度格式進(jìn)行簡(jiǎn)單校驗(yàn),輸入有誤自動(dòng)刷新驗(yàn)證碼。賬號(hào)密碼正確則提交給后臺(tái)獲得用戶權(quán)限,前端會(huì)根據(jù)用戶權(quán)限展示相應(yīng)功能菜單;若密碼錯(cuò)誤,則給出錯(cuò)誤提示。提供注冊(cè)功能,沒有賬號(hào)的用戶可以進(jìn)行注冊(cè),注冊(cè)的用戶為普通用戶。流程圖如圖4.6所示。圖4.6登錄流程圖4.3.2個(gè)人中心用戶在登陸之后可以點(diǎn)擊右上角的個(gè)人中心,點(diǎn)擊后進(jìn)入個(gè)人中心頁(yè)面,用戶可以選擇在此頁(yè)面對(duì)自己的個(gè)人信息進(jìn)行修改,也可以對(duì)密碼進(jìn)行修改,用戶在個(gè)人中心中還可以查看自己的歷史訂單信息。處理流程圖如圖4.7所示。圖4.7個(gè)人中心流程圖4.3.3物資申請(qǐng)用戶在登錄之后,可以在申請(qǐng)頁(yè)面進(jìn)行物資的申請(qǐng),申請(qǐng)時(shí)填寫好個(gè)人信息,收貨地址等就可以提交申請(qǐng),用戶提交完申請(qǐng)后等待后勤人員審核,后勤人員審核同意后進(jìn)行物資的發(fā)放。如果審核不通過,審核員會(huì)填寫審核不通過的原因,用戶可以自行查看。處理流程圖如圖4.8所示。圖4.8物資申請(qǐng)流程圖4.3.4物資信息模塊用戶登陸后可以查看物資名稱、數(shù)量、介紹等,但是用戶不可以對(duì)物資信進(jìn)行更改。只有管理員登陸后,才可以在對(duì)物資的相關(guān)信息進(jìn)行修改,刪除,增加等操作。用戶和管理員都可以根據(jù)物資名稱對(duì)物資進(jìn)行模糊查詢,減少查找所需物資的時(shí)間。處理流程圖如圖4.9所示。圖4.9物資信息流程圖4.3.5物資來源模塊管理員登錄后,可以在物資來源中添加物資的來源信息,也可以對(duì)物資的來源信息進(jìn)行修改,當(dāng)物資入庫(kù)時(shí)出現(xiàn)新的物資來源信息后,會(huì)自動(dòng)添加到物資來源中。方便管理員查看和管理物資來源地信息。處理流程圖如圖4.10所示。圖4.10物資來源流程圖4.3.6物資入庫(kù)模塊物資入庫(kù)模塊,后勤管理人員可以對(duì)物資進(jìn)行入庫(kù)處理,提交完物資入庫(kù)單后,后勤管理員可以對(duì)入庫(kù)單進(jìn)行審核,審核通過后,物資入庫(kù)完成。處理流程圖如圖4.11所示。圖4.11物資入庫(kù)流程圖4.3.7物資出庫(kù)模塊用戶進(jìn)行物資申請(qǐng)后,后勤人員可以對(duì)申請(qǐng)單進(jìn)行審核,審核成功,物資出庫(kù)。后勤人員也可以自己創(chuàng)建出庫(kù)單,物資出庫(kù)時(shí)判斷剩余物資數(shù)量是否足夠,并且生成物資出庫(kù)單。處理流程圖如圖4.12所示。圖4.12物資出庫(kù)流程圖4.3.8人員管理模塊管理員登陸后,可以對(duì)用戶賬號(hào)進(jìn)行管理,可以修改用戶密碼、個(gè)人信息等??梢詣h除用戶賬號(hào)。可以使用搜索功能根據(jù)姓名或是類別進(jìn)行搜索。處理流程圖如圖4.13所示。圖4.13人員管理流程圖4.4本章小結(jié)本章通過系統(tǒng)分析來對(duì)系統(tǒng)進(jìn)行詳細(xì)的設(shè)計(jì),對(duì)疫情物資管理系統(tǒng)的各個(gè)功能模塊進(jìn)行了詳細(xì)的介紹。首先是通過系統(tǒng)類圖展示了系統(tǒng)中各個(gè)類之間的關(guān)系。其次通過時(shí)序圖展示了各個(gè)對(duì)象之間交互的具體過程和順序。最后通過流程圖展示了各個(gè)模塊的具體流。第5章系統(tǒng)實(shí)現(xiàn)5系統(tǒng)實(shí)現(xiàn)通過系統(tǒng)分析、系統(tǒng)總體設(shè)計(jì)、系統(tǒng)詳細(xì)設(shè)計(jì),本節(jié)對(duì)系統(tǒng)具體實(shí)現(xiàn)的功能進(jìn)行描述。對(duì)系統(tǒng)的實(shí)現(xiàn)進(jìn)行介紹。5.1系統(tǒng)實(shí)現(xiàn)總體介紹本系統(tǒng)以網(wǎng)頁(yè)的形式展示,采用vue完成前端的開發(fā),使用Java語(yǔ)言進(jìn)行后端開發(fā),利用MySQL數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)存儲(chǔ)操作,使用SpringBoot整合MybatisPlus來實(shí)現(xiàn)前后端與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交互。5.2模塊實(shí)現(xiàn)5.2.1登錄注冊(cè)模塊注冊(cè):用戶通過注冊(cè)功能,注冊(cè)屬于用戶本身的用戶名和密碼,前端注冊(cè)表單使用rules進(jìn)行信息的驗(yàn)證,前端表單驗(yàn)證成功后調(diào)用后端接口,后端在業(yè)務(wù)層中驗(yàn)證此賬號(hào)是否存在,存在則返回提示用戶此賬號(hào)已注冊(cè),不存在則提示用戶注冊(cè)成功并跳轉(zhuǎn)到登錄頁(yè)面。登錄:用戶通過登錄功能,輸入屬于用戶本身的正確的用戶名和密碼,與數(shù)據(jù)庫(kù)所對(duì)應(yīng)的用戶名以及該用戶名所對(duì)應(yīng)的密碼進(jìn)行比對(duì),判斷該用戶名是否有權(quán)限登錄進(jìn)入該系統(tǒng)。如圖5.1所示。圖5.1登錄頁(yè)面關(guān)鍵代碼如下:@Override
publicUserDtologin(UserDtouserDto){
Userone=getUserInfo(userDto);
if(one!=null){
//將數(shù)據(jù)庫(kù)的信息copy給userDto
BeanUtil.copyProperties(one,userDto,true);
//設(shè)置token
Stringtoken=TokenUtils.genToken(one.getId().toString(),one.getPassword());
userDto.setToken(token);
Stringrole=one.getRole();//ROLE_ADMIN
//調(diào)用查詢方法查出用戶擁有的菜單信息
List<Menu>roleMenus=getRoleMenus(role);
userDto.setMenus(roleMenus);
returnuserDto;
}else{
thrownewServiceException(Constants.CODE_600,"用戶名或密碼錯(cuò)誤");
}
}5.2.2個(gè)人中心模塊個(gè)人中心按鈕顯示在主界面右上角用戶頭像的下拉框中,點(diǎn)擊跳轉(zhuǎn)到個(gè)人中心界面,個(gè)人中心界面展示賬號(hào)基本信息如:用戶角色,昵稱,頭像,郵箱地址,手機(jī)號(hào)碼,密碼等。用戶可以在此頁(yè)面修改自己的個(gè)人信息,可以修改密碼。如圖5.2所示。圖5.2個(gè)人中心頁(yè)面5.2.3物資申請(qǐng)模塊用戶可以在頁(yè)面進(jìn)行物資的申請(qǐng)。頁(yè)面左側(cè)是一個(gè)申請(qǐng)表單,右側(cè)是獲取到的物資信息,左側(cè)物資申請(qǐng)表單中首先進(jìn)行地區(qū)的選擇,地區(qū)的選擇使用的是地區(qū)選擇組件Distpicker。首先使用npminstallv-distpicker--save下載,下載完畢后,在物資申請(qǐng)頁(yè)面進(jìn)行局部注冊(cè)。填寫完左側(cè)表單信息后,用戶可以在右側(cè)物資信息中進(jìn)行勾選選擇物資,選擇完物資后需要在左側(cè)物資明細(xì)中選擇物資數(shù)量。當(dāng)選擇的數(shù)字?jǐn)?shù)量大于庫(kù)存數(shù)量時(shí)會(huì)提示用戶庫(kù)存數(shù)量不足。如圖5.3和圖5.4所示。圖5.3物資申請(qǐng)頁(yè)面圖5.4物資選擇頁(yè)面關(guān)鍵代碼如下://distpicker的使用importVDistpickerfrom"v-distpicker";components:{VDistpicker},//引入distpicker組件<v-distpickerclass="distpicker":placeholders="placeholders":province="province":city="city":area="area"@selected="onSelect"></v-distpicker>//校驗(yàn)庫(kù)存數(shù)量//查出p_num物資QueryWrapper<ProductStock>queryWrapper=newQueryWrapper<>();queryWrapper.eq("p_num",dbProduct.getPNum());ProductStockproductStock=productStockMapper.selectOne(queryWrapper);if(productStock==null){thrownewServiceException(Constants.CODE_600,"此類物資不存在");}if(productNumber>productStock.getStock()){thrownewServiceException(Constants.CODE_600,dbProduct.getName()+"庫(kù)存不足,庫(kù)存剩余:"+productStock.getStock())}5.2.4物資庫(kù)存模塊此頁(yè)面主要用圖表來顯示物資的庫(kù)存信息,可以讓用戶對(duì)物資信息有更加直觀的了解。該模塊通過前端整合Echarts實(shí)現(xiàn)圖表顯示。首先使用npminstallecharts--save來安裝Echarts。安裝完后在需要使用Echarts的頁(yè)面通過importechartsfrom"echarts"指令引入。物資庫(kù)存頁(yè)面中我使用了條形圖和餅圖對(duì)物資庫(kù)存信息進(jìn)行展示。如圖5.5所示。圖5.5物資庫(kù)存頁(yè)面關(guān)鍵代碼如下://引入echarts插件importechartsfrom"echarts";asyncfindAllProductStocks(){this.legendData=[];this.selected={};this.seriesData=[{}];var$this=this;//構(gòu)建餅圖的數(shù)據(jù)對(duì)象this.tableData.forEach(function(e){$this.legendData.push();$this.seriesData.push({name:,value:e.stock});});//重新繪制表格this.drawRound();},5.2.5物資信息模塊此頁(yè)面主要用于管理員對(duì)物資信息進(jìn)行統(tǒng)一的管理,只有管理員可以設(shè)置庫(kù)存物資的相關(guān)信息。管理員登錄之后,點(diǎn)擊物資信息后進(jìn)入物資信息管理頁(yè)面,管理員可以在此頁(yè)面對(duì)物資進(jìn)行查找、添加、修改等操作。頁(yè)面所展示的數(shù)據(jù)通過后端mybatis-plus自帶的分頁(yè)插件,對(duì)數(shù)據(jù)進(jìn)行分頁(yè)展示。如圖5.6所示。圖5.6物資信息頁(yè)面5.2.6物資來源模塊此頁(yè)面主要用于管理員對(duì)物資來源信息進(jìn)行統(tǒng)一的管理,最上面是提供給管理員的搜索功能,管理員可以根據(jù)省區(qū)、聯(lián)系人、具體地點(diǎn)三個(gè)方面進(jìn)行搜索。點(diǎn)擊編輯后,管理員可以對(duì)物資來源地信息進(jìn)行修改。點(diǎn)擊刪除后可以刪除不需要的物資來源信息。在后勤人員進(jìn)行物資入庫(kù)時(shí),如果選擇未知來源進(jìn)行物資入庫(kù)時(shí),會(huì)將填寫的物資信息匯總,自動(dòng)添加到物資來源信息模塊中,形成新的物資來源信息。如圖5.7所示。圖5.7物資來源頁(yè)面關(guān)鍵代碼如下:@PostMapping("/save")publicResultsave(@RequestBodyInStockinStock){//未知來源物資,需要添加物資來源if(inStock.getSupplierId()==null){Suppliersupplier=newSupplier();////將inStock中同類型相同且名稱相同的數(shù)據(jù)復(fù)制到supplierBeanUtil.copyProperties(inStock,supplier);if("".equals(supplier.getName())||supplier.getName()==null){thrownewServiceException(Constants.CODE_600,"物資提供方名不能為空");}//未知來源新增supplier信息supplierController.save(supplier);//新增supplier信息后把supplierId賦值給inStock中的SupplierIdinStock.setSupplierId(supplier.getId());}inStockService.addIntoStock(inStock);//inStockService.saveOrUpdate(inStock);returnResult.success();}5.2.7用戶管理模塊此頁(yè)面主要對(duì)用戶信息進(jìn)行管理,管理員登陸后可以對(duì)用戶的基礎(chǔ)信息進(jìn)行修改,可以為用戶分配不同的角色,不同的角色擁有不同的權(quán)限。本系統(tǒng)設(shè)置了三類角色,普通用戶、后勤人員、管理員。對(duì)不同的角色分配了不同的權(quán)限菜單。管理員擁有最高權(quán)限,后勤人員可以進(jìn)行物資的入庫(kù)出庫(kù)操作。普通用戶只能進(jìn)行物資申請(qǐng)、查詢物資信息。如圖5.8所示。圖5.8用戶管理頁(yè)面5.2.8角色管理模塊此頁(yè)面主要用于管理員設(shè)置角色權(quán)限,在此頁(yè)面管理員可以對(duì)不同的角色賦予不同的菜單權(quán)限。前端菜單分配使用的時(shí)element-ui的Tree樹形控件,通過樹形控件提供的getCheckedKeys方法獲取選中的節(jié)點(diǎn)。將這些選中的節(jié)點(diǎn)信息傳遞給后端接口,后端接口獲取到分配的節(jié)點(diǎn)信息時(shí),先將當(dāng)前角色id擁有的所有菜單id刪除,再將新分配的菜單賦值給對(duì)應(yīng)角色,以此來實(shí)現(xiàn)角色的菜單分配。如圖5.9所示。圖5.9角色管理頁(yè)面關(guān)鍵代碼如下://選中的菜單id信息constselectedMenus=this.$refs.tree.getCheckedKeys().concat(this.$refs.tree.getHalfCheckedKeys());//先刪除當(dāng)前角色id所有的綁定關(guān)系roleMenuMapper.deleteByRoleId(roleId);//添加前端傳遞過來的菜單id綁定到當(dāng)前的角色id中for(IntegermenuId:menuIds){RoleMenuroleMenu=newRoleMenu();roleMenu.setRoleId(roleId);roleMenu.setMenuId(menuId);roleMenuMapper.insert(roleMenu);}5.2.9物資入庫(kù)模塊物資每次入庫(kù)時(shí)會(huì)生成記錄,最上方可以根據(jù)物資的入庫(kù)類型、入庫(kù)單號(hào)、入庫(kù)狀態(tài)進(jìn)行搜索。物資入庫(kù)需要管理員進(jìn)行審批后才可以入庫(kù)。在入庫(kù)狀態(tài)中可以選擇查看待審核的物資入庫(kù)記錄。在物資入庫(kù)記錄的右側(cè)有詳情頁(yè)面,點(diǎn)擊后可以查看此次入庫(kù)的具體物資信息,例如物資種類、物資數(shù)量、物資入庫(kù)來源信息等。如圖5.10和圖5.11所示。圖5.10物資入庫(kù)記錄頁(yè)面圖5.11物資入庫(kù)詳情頁(yè)面關(guān)鍵代碼如下://隨機(jī)生成入庫(kù)單號(hào)StringIN_STOCK_NUM=UUID.randomUUID().toString().substring(0,32).replace("-","");if(inStock.getInNum()==null){inStock.setInNum(IN_STOCK_NUM);}//生成入庫(kù)單inStock.setProductNumber(itemNumber);//插入該單物資總數(shù)inStockMapper.insert(inStock);}//查詢?cè)撊霂?kù)單號(hào)的所有物資QueryWrapper<InStockItem>queryWrapper=newQueryWrapper<>();if(StrUtil.isNotBlank(inNum)){queryWrapper.eq("in_num",inNum);}List<InStockItem>inStockItemList=inStockItemMapper.selectList(queryWrapper);5.2.10物資出庫(kù)模塊物資出庫(kù)時(shí)要填寫物資出庫(kù)的相關(guān)信息。首先選中物資出庫(kù)的去向,選擇新增去向時(shí)需要填寫詳細(xì)信息,選擇已知去向可以選擇已經(jīng)添加過的去向信息,無需再次填寫,填寫完物資去向信息后進(jìn)行物資的選擇,選擇物資數(shù)量時(shí)會(huì)判斷物資庫(kù)存是否充足,物資數(shù)量不夠時(shí)會(huì)進(jìn)行提醒。提交出庫(kù)信息后會(huì)生成物資出庫(kù)記錄。管理員可以在待審核的物資記錄中進(jìn)行審批。物資出庫(kù)記錄按照物資的緊急程度進(jìn)行排序,緊急程度高的排在最前列,方便管理員及時(shí)查看。管理員審批時(shí)可以點(diǎn)擊詳情查看此次物資出庫(kù)的具體物資信息。如圖5.12、圖5.13和圖5.14所示。圖5.12物資出庫(kù)單填寫頁(yè)面圖5.13物資出庫(kù)記錄頁(yè)面圖5.14物資出庫(kù)詳情頁(yè)面關(guān)鍵代碼如下://隨機(jī)生成發(fā)放單號(hào)StringOUT_STOCK_NUM=UUID.randomUUID().toString().substring(0,32).replace("-","");if(inStock.getInNum()==null){//獲取商品的明細(xì)List<Object>products=outStock.getProducts();//校驗(yàn)庫(kù)存數(shù)量//查出p_num物資QueryWrapper<ProductStock>queryWrapper=newQueryWrapper<>();queryWrapper.eq("p_num",dbProduct.getPNum());ProductStockproductStock=productStockMapper.selectOne(queryWrapper);if(productStock==null){thrownewServiceException(Constants.CODE_600,"此類物資不存在");}if(productNumber>productStock.getStock()){thrownewServiceException(Constants.CODE_600,dbProduct.getName()+"庫(kù)存不足,庫(kù)存剩余:"+productStock.getStock());}queryWrapper.orderByDesc("priority");//按照緊急程度排序數(shù)字越大越緊急5.3本章小結(jié)本章主要對(duì)系統(tǒng)各個(gè)模塊的具體實(shí)現(xiàn)進(jìn)行了介紹,展示了各個(gè)模塊的具體功能、頁(yè)面設(shè)計(jì)等。對(duì)各個(gè)模塊的主要技術(shù)進(jìn)行了介紹,展示了一部分核心代碼的設(shè)計(jì)。詳細(xì)的說明了系統(tǒng)中主要功能模塊的實(shí)現(xiàn)方式。第6章系統(tǒng)測(cè)試6系統(tǒng)測(cè)試本章主要對(duì)系統(tǒng)實(shí)現(xiàn)的各個(gè)功能模塊進(jìn)行測(cè)試并且記錄測(cè)試結(jié)果。制定測(cè)試計(jì)劃、編寫測(cè)試用例,測(cè)試完畢后將測(cè)試結(jié)果匯總進(jìn)行分析。6.1測(cè)試計(jì)劃介紹系統(tǒng)的測(cè)試方法及流程安排。為了保證本系統(tǒng)的質(zhì)量和可靠性,我們將進(jìn)行一系列測(cè)試來驗(yàn)證其功能、安全性、性能和可用性,以及確保本系統(tǒng)滿足用戶需求。主要使用黑盒測(cè)試來對(duì)本系統(tǒng)各個(gè)模塊來進(jìn)行測(cè)試。本次測(cè)試計(jì)劃主要介紹項(xiàng)目背景、測(cè)試時(shí)間、資源、環(huán)境、測(cè)試范圍、測(cè)試策略等,具體如表6.1。表6.1項(xiàng)目測(cè)試計(jì)劃表項(xiàng)目名稱項(xiàng)目名稱:疫情物資管理系統(tǒng)測(cè)試時(shí)間測(cè)試周期為5個(gè)工作日,具體安排如下:制定測(cè)試計(jì)劃:1個(gè)工作日設(shè)計(jì)測(cè)試用例:1個(gè)工作日功能測(cè)試:1個(gè)工作日接口測(cè)試:1個(gè)工作日性能測(cè)試:1個(gè)工作日測(cè)試人員劉明圓測(cè)試環(huán)境操作系統(tǒng):Windows11家庭中文版測(cè)試范圍功能測(cè)試:需要測(cè)試的模塊:登錄注冊(cè)模塊、個(gè)人中心模塊、物資信息模塊、物資申請(qǐng)模塊、物資入庫(kù)模塊、物資出庫(kù)模塊、物資庫(kù)存模塊等;性能測(cè)試:測(cè)試重點(diǎn):數(shù)據(jù)請(qǐng)求響應(yīng)時(shí)間、頁(yè)面跳轉(zhuǎn)響應(yīng)時(shí)間等;測(cè)試目標(biāo)功能測(cè)試目標(biāo):測(cè)試用例的功能覆蓋率達(dá)100%,執(zhí)行率達(dá)100%;已修復(fù)的測(cè)試問題回歸測(cè)試率達(dá)100%。性能測(cè)試目標(biāo):數(shù)據(jù)接口響應(yīng)時(shí)間不超過5s;頁(yè)面跳轉(zhuǎn)響應(yīng)時(shí)間不超過3s。6.2測(cè)試結(jié)果6.2.1用戶登錄注冊(cè)測(cè)試用例對(duì)疫情物資管理系統(tǒng)進(jìn)行登錄注冊(cè)測(cè)試,具體情況如表6.2所示。表6.2用戶登錄注冊(cè)測(cè)試用例表功能模塊名用戶登錄注冊(cè)模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1只輸入賬號(hào)后點(diǎn)擊登錄賬號(hào):user1登錄失敗登錄失敗1-2只輸入密碼后點(diǎn)擊登錄密碼:user1登錄失敗登錄失敗1-3不輸入賬號(hào)密碼進(jìn)行登錄不輸入登錄失敗登錄失敗1-4輸入正確的賬號(hào)密碼登錄賬號(hào):user1密碼:user1登錄成功登錄成功1-5輸入錯(cuò)誤的賬號(hào)密碼登錄賬號(hào):user123密碼:user123登錄失敗登錄失敗1-6注冊(cè)時(shí)輸入的信息不完善密碼:123確認(rèn)密碼:111注冊(cè)失敗注冊(cè)失敗1-7注冊(cè)已存在的賬號(hào)昵稱:user1注冊(cè)失敗注冊(cè)失敗6.2.2個(gè)人中心測(cè)試用例對(duì)疫情物資管理系統(tǒng)的個(gè)人中心模塊進(jìn)行測(cè)試,具體情況如表6.3所示。表6.3個(gè)人中心測(cè)試用例表功能模塊名個(gè)人中心模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1點(diǎn)擊個(gè)人中心無跳轉(zhuǎn)到個(gè)人中心頁(yè)面跳轉(zhuǎn)到個(gè)人中心頁(yè)面1-2修改昵稱,點(diǎn)擊確認(rèn)昵稱:普通用戶昵稱修改成功修改成功1-3修改昵稱,點(diǎn)擊取消昵稱:普通用戶昵稱不發(fā)生變化昵稱未發(fā)生變化1-4修改頭像,點(diǎn)擊確定無頭像修改成功頭像修改成功1-5修改郵箱,郵箱格式不正確郵箱:192200112郵箱修改失敗郵箱修改失敗1-6修改郵箱,郵箱格式正確郵箱:192210@郵箱修改成功郵箱修改成功6.2.3物資申請(qǐng)測(cè)試用例對(duì)疫情物資管理系統(tǒng)的物資申請(qǐng)模塊進(jìn)行測(cè)試,具體情況如表6.4所示。表6.4物資申請(qǐng)測(cè)試用例表功能模塊名物資申請(qǐng)模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1點(diǎn)擊物資申請(qǐng)無跳轉(zhuǎn)到物資申請(qǐng)模塊跳轉(zhuǎn)到物資申請(qǐng)模塊1-2點(diǎn)擊申請(qǐng)無跳轉(zhuǎn)到填報(bào)物資申請(qǐng)信息頁(yè)面跳轉(zhuǎn)到填報(bào)物資申請(qǐng)信息頁(yè)面1-3填寫物資信息,不填寫地址信息進(jìn)行提交物資相關(guān)信息物資申請(qǐng)失敗,提示請(qǐng)?zhí)顚懢唧w地址。物資申請(qǐng)失敗,提示請(qǐng)?zhí)顚懢唧w地址。1-4填寫個(gè)人相關(guān)信息,不選擇物資進(jìn)行提交。個(gè)人信息物資申請(qǐng)失敗,提示請(qǐng)選擇物資。物資申請(qǐng)失敗,提示請(qǐng)選擇物資。1-5填寫個(gè)人信息和物資信息個(gè)人信息、物資相關(guān)信息物資申請(qǐng)單提交成功。物資申請(qǐng)單提交成功。1-6填寫個(gè)人信息和物資信息,填寫的物資數(shù)量超過庫(kù)存數(shù)量。個(gè)人信息、物資相關(guān)信息物資申請(qǐng)失敗,提示庫(kù)存不足。物資申請(qǐng)失敗,提示庫(kù)存不足。6.2.4物資庫(kù)存測(cè)試用例對(duì)疫情物資管理系統(tǒng)的物資庫(kù)存模塊進(jìn)行測(cè)試,具體情況如表6.5所示。表6.5物資庫(kù)存測(cè)試用例表功能模塊名物資庫(kù)存模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1點(diǎn)擊物資庫(kù)存無跳轉(zhuǎn)到物資庫(kù)存模塊跳轉(zhuǎn)到物資庫(kù)存模塊1-2輸入物資名稱后不點(diǎn)擊搜索名稱:口罩頁(yè)面數(shù)據(jù)不刷新頁(yè)面數(shù)據(jù)不刷新1-3輸入物資名稱后點(diǎn)擊搜索名稱:口罩系統(tǒng)篩選出口罩的信息進(jìn)行展示系統(tǒng)篩選出口罩的信息進(jìn)行展示1-4輸入物資名稱不點(diǎn)擊搜索名稱:醫(yī)用酒精頁(yè)面圖表數(shù)據(jù)不變化頁(yè)面圖表數(shù)據(jù)不變化1-5輸入物資名稱點(diǎn)擊搜索名稱:醫(yī)用酒精頁(yè)面圖表數(shù)據(jù)發(fā)生變化頁(yè)面圖表數(shù)據(jù)發(fā)生變化6.2.5物資信息測(cè)試用例對(duì)疫情物資管理系統(tǒng)的物資信息模塊進(jìn)行測(cè)試,具體情況如表6.6所示。表6.6物資信息測(cè)試用例表功能模塊名物資信息模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1點(diǎn)擊物資信息無跳轉(zhuǎn)到物資信息模塊跳轉(zhuǎn)到物資信息模塊1-2輸入物資名稱不點(diǎn)擊搜索名稱:口罩頁(yè)面數(shù)據(jù)不刷新頁(yè)面數(shù)據(jù)不刷新1-3輸入物資名稱點(diǎn)擊搜索名稱:口罩系統(tǒng)篩選出口罩的信息進(jìn)行展示系統(tǒng)篩選出口罩的信息進(jìn)行展示1-4點(diǎn)擊添加無彈出添加物資的彈窗彈出添加物資的彈窗1-5只填寫物資名稱進(jìn)行添加名稱:防護(hù)服物資添加失敗,提示完善物資信息物資添加失敗,提示完善物資信息1-6填寫完善物資信息,進(jìn)行添加名稱:防護(hù)服規(guī)格:件/箱單位:件物資添加成功物資添加成功1-7點(diǎn)擊編輯無彈出物資編輯的彈窗彈出物資編輯的彈窗1-8更改物資信息時(shí),填寫空白信息進(jìn)行保存無物資信息更改失敗,提示信息不能為空物資信息更改失敗,提示信息不能為空1-9更改物資單位信息,點(diǎn)擊保存單位:個(gè)單位:件物資信息更改成功物資信息更改成功1-10點(diǎn)擊刪除無彈出提示框,詢問是否確認(rèn)刪除彈出提示框,詢問是否確認(rèn)刪除1-11點(diǎn)擊刪除醫(yī)用口罩信息,點(diǎn)擊確認(rèn)刪除無醫(yī)用口罩物資信息被刪除,頁(yè)面數(shù)據(jù)刷新醫(yī)用口罩物資信息被刪除,頁(yè)面數(shù)據(jù)刷新6.2.6物資來源測(cè)試用例對(duì)疫情物資管理系統(tǒng)的物資來源模塊進(jìn)行測(cè)試,具體情況如表6.7所示。表6.7物資來源測(cè)試用例表功能模塊名物資來源模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1點(diǎn)擊物資來源無跳轉(zhuǎn)到物資來源模塊跳轉(zhuǎn)到物資來源模塊1-2輸入地區(qū)信息不點(diǎn)擊查詢地區(qū):河北省頁(yè)面數(shù)據(jù)不刷新頁(yè)面數(shù)據(jù)不刷新續(xù)表6.71-3輸入地區(qū)信息點(diǎn)擊查詢地區(qū):河北省系統(tǒng)搜索出河北省的信息進(jìn)行展示系統(tǒng)搜索出河北省的信息進(jìn)行展示1-4點(diǎn)擊添加按鈕無彈出添加物資來源的彈窗彈出添加物資來源的彈窗1-5填寫物資來源信息,點(diǎn)擊保存物資來源信息物資來源信息保存成功物資來源信息保存成功1-6點(diǎn)擊編輯無彈出物資來源信息彈窗彈出物資來源信息彈窗1-7更改物資來源信息聯(lián)系人姓名,點(diǎn)擊確定姓名:劉佳恒姓名:劉家恒物資來源信息更新成功物資來源信息更新成功1-8點(diǎn)擊ID為10的數(shù)據(jù)進(jìn)行刪除無刪除成功,頁(yè)面數(shù)據(jù)刷新刪除成功,頁(yè)面數(shù)據(jù)刷新6.2.7用戶管理測(cè)試用例對(duì)疫情物資管理系統(tǒng)的用戶管理模塊進(jìn)行測(cè)試,具體情況如表6.8所示。表6.8用戶管理測(cè)試用例表功能模塊名用戶管理模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1點(diǎn)擊用戶管理無跳轉(zhuǎn)到用戶管理模塊跳轉(zhuǎn)到用戶管理模塊1-2輸出用戶姓名王誠(chéng)進(jìn)行搜索姓名:王誠(chéng)搜索出王誠(chéng)的信息進(jìn)行展示搜索出王誠(chéng)的信息進(jìn)行展示1-3將王誠(chéng)的用戶姓名改為王晨姓名:王誠(chéng)姓名:王晨修改成功修改成功1-4點(diǎn)擊刪除劉俊的信息無提示刪除成功提示刪除成功6.2.8角色管理測(cè)試用例對(duì)疫情物資管理系統(tǒng)的角色管理模塊進(jìn)行測(cè)試,具體情況如表6.9所示。表6.9角色管理測(cè)試用例表功能模塊名角色管理模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1點(diǎn)擊角色管理無跳轉(zhuǎn)到角色管理模塊跳轉(zhuǎn)到角色管理模塊1-2輸入角色名稱管理員進(jìn)行搜索名稱:管理員系統(tǒng)搜索管理員信息進(jìn)行展示。系統(tǒng)搜索管理員信息進(jìn)行展示。 續(xù)表6.91-3點(diǎn)擊新增按鈕無彈出新增角色彈窗彈出新增角色彈窗1-4輸入角色角色名稱,描述,唯一標(biāo)識(shí)進(jìn)行保存名稱:普通人員描述:普通用戶角色唯一標(biāo)識(shí):user新增角色成功新增角色成功1-5點(diǎn)擊分配菜單無彈出菜單信息彈出菜單信息1-6選擇菜單物資入庫(kù)、物資出庫(kù)分配給后勤人員角色無分配菜單成功,后勤人員登錄后出現(xiàn)物資入庫(kù)、物資出庫(kù)菜單分配菜單成功,后勤人員登錄后出現(xiàn)物資入庫(kù)、物資出庫(kù)菜單1-7點(diǎn)擊刪除后勤人員角色無后勤人員角色刪除成功后勤人員角色刪除成功6.2.9物資入庫(kù)測(cè)試用例對(duì)疫情物資管理系統(tǒng)的物資入庫(kù)模塊進(jìn)行測(cè)試,具體情況如表6.10所示。表6.10物資入庫(kù)測(cè)試用例表功能模塊名物資入庫(kù)模塊用例編號(hào)測(cè)試步驟輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果1-1點(diǎn)擊物資入庫(kù)無跳轉(zhuǎn)到物資入庫(kù)模塊跳轉(zhuǎn)到物資入庫(kù)模塊1-2輸入單號(hào)a15edc199dbf47f2bc0944f47進(jìn)行搜索無系統(tǒng)搜索出對(duì)應(yīng)單號(hào)的具體信息進(jìn)行展示系統(tǒng)搜索出對(duì)應(yīng)單號(hào)的具體信息進(jìn)行展示1-3點(diǎn)擊入庫(kù)無彈出物資入庫(kù)單彈出物資入庫(kù)單1-4填寫物資入庫(kù)相關(guān)信息進(jìn)行保存物
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高職早期教育(嬰幼兒護(hù)理)試題及答案
- 2025年大學(xué)化工(化工研究方法)試題及答案
- 2025年大學(xué)大一(食品化學(xué))物質(zhì)轉(zhuǎn)化階段測(cè)試題及答案
- 2026年創(chuàng)新管理手冊(cè)(創(chuàng)新管理指南編寫)試題及答案
- 2025年注冊(cè)會(huì)計(jì)師(CPA)考試 會(huì)計(jì)科目難點(diǎn)解析與押題試卷及答案
- SCIE:標(biāo)準(zhǔn)助力智慧城市數(shù)字平臺(tái)建設(shè)
- 上海師范大學(xué)就業(yè)前景
- 招聘亮點(diǎn)話術(shù)
- 藝人職業(yè)規(guī)劃指南
- 祁東介紹教學(xué)課件
- 2025及未來5-10年高壓管匯項(xiàng)目投資價(jià)值市場(chǎng)數(shù)據(jù)分析報(bào)告
- 《國(guó)家十五五規(guī)劃綱要》全文
- 腹部手術(shù)圍手術(shù)期疼痛管理指南(2025版)課件
- 2025年衛(wèi)生人才評(píng)價(jià)考試(臨床醫(yī)學(xué)工程技術(shù)中級(jí))歷年參考題庫(kù)含答案
- 呼吸康復(fù)科普脫口秀
- 2025年《思想道德與法治》期末考試題庫(kù)及答案
- 2025初一英語(yǔ)閱讀理解100篇
- 2026屆四川省成都市青羊區(qū)樹德實(shí)驗(yàn)中學(xué)物理九年級(jí)第一學(xué)期期末考試試題含解析
- 高溫熔融金屬冶煉安全知識(shí)培訓(xùn)課
- 林業(yè)種苗培育與管理技術(shù)規(guī)范
- 遼寧中考數(shù)學(xué)三年(2023-2025)真題分類匯編:專題06 幾何與二次函數(shù)壓軸題 解析版
評(píng)論
0/150
提交評(píng)論