




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于Java的藥店庫存管理系統設計摘要隨著計算機科學技術的快速發展,越來越多的行業趨向于無紙化辦公。采用計算機管理系統的方式進行相應的管理操作,不僅能夠解決大量人力、物力、財力資源的浪費,而且能夠達到高效、便捷的管理。就目前而言,我國許多醫藥行業也已經采用計算機管理系統的方式進行管理。因此,本次畢業設計決定開發藥店庫存管理系統,幫助藥店進行相應的管理操作。 針對這一需求,本文設計的藥店庫存管理系統是基于SpringBoot的后臺管理系統,使用Window10作為服務端的操作系統,后臺開發語言使用的是Java,數據庫使用的是MySQL,使用Mybatis做為數據庫連接技術,服務器使用的是SpringBoot內嵌的Tomcat服務器,前端頁面使用的是Layui框架技術,對該系統進行完整設計。通過對相關管理系統的調查研究,開發了本藥店庫存管理系統。該系統實現了用戶登錄、藥品管理、類型管理、用戶管理、權限管理、處方管理、公告管理、統計管理等幾大功能模塊。其中藥品管理模塊主要實現了查看藥品列表、庫存管理、倉庫管理等功能;類型管理主要實現了藥品類型添加、查看類型列表等功能;用戶管理主要實現了查看用戶列表、用戶添加等功能;權限管理主要實現了角色管理、菜單管理等主要功能;處方管理主要實現了添加處方信息、查看處方列表主要功能;公告管理主要實現了查看公告列表、發布公告的功能;統計管理主要實現了藥品統計、處方統計的功能。關鍵詞:管理系統;JAVA;MySQL數據庫目錄摘要 I1緒論 11.1研究背景與意義 11.2研究現狀 11.3論文結構 22主要技術和工具介紹 32.1SpringBoot簡介 32.2MySQL簡介 42.3IDEA簡介 42.4Tomcat簡介 43系統分析 63.1可行性分析 63.2系統功能需求分析 73.3系統非功能需求分析 84系統設計 94.1系統功能結構圖 94.2數據庫設計 94.2.1數據庫實體 104.2.2數據庫表設計 135系統實現 175.1用戶登錄模塊 175.2藥品管理模塊 175.2.1查看藥品列表 185.2.2庫存管理 185.2.3倉庫管理 195.3類型管理模塊 205.3.1藥品類型添加 205.3.2查看藥品類型 215.4用戶管理模塊 215.4.1查看用戶列表 225.4.2添加用戶 225.5權限管理模塊 235.5.1角色管理 235.5.2菜單管理 245.6處方管理模塊 255.7公告管理模塊 265.7.1查看公告列表 265.7.2發布公告 275.8統計管理模塊 285.8.1藥品統計 285.8.2處方統計 296系統測試 326.1測試目的與定義 326.2功能測試 326.3測試結果 347結束語 35參考文獻 361緒論本文章圍繞系統的設計與實現展開詳細敘述,本章主要介紹藥店庫存管理系統的研究背景與意義以及研究現狀。1.1研究背景與意義隨著計算機科學技術的快速發展,越來越多的行業趨向于無紙化辦公。采用計算機管理系統的方式進行相應的管理操作,不僅能夠解決大量人力、物力、財力資源的浪費,而且能夠達到高效、便捷的管理。就目前而言,我國許多醫藥行業也已經采用計算機管理系統的方式進行管理。因此,本次畢業設計決定開發藥店庫存管理系統,幫助藥店進行相應的管理操作。傳統的藥店庫存等相關信息管理需要依靠人工記錄的手段實現對藥品、處方信息相關管理,不僅需要大量的人力、物力資源,而且非常容易造成數據的錯誤和缺失。然而,這些信息的數據又非常重要,不容出現一絲的錯誤,所以對這方面的管理在之前一直是人們較為頭疼的一件事情。隨著相關計算機管理系統的出現,采用管理系統的方式對這方面的信息進行管理,可以有限的解決浪費資源、效率低下、容易出錯等相關問題。本篇論文簡單的開發并且研究了對于藥店庫存的管理系統,它是一種基于JAVA技術的Web應用程序。該系統實現了藥店庫存管理的基本業務,方便了工作人員,提高了工作人員管理質量和工作效率。1.2研究現狀孫赟,沈寧喬,顧明辰(2019)指出2000年6月建立了較先進的計算機網絡管理系統,醫師用計算機開處方,將電子處方先
傳送到收費處,患者付費后,再傳送到藥房配藥,患者走到藥房時藥已調配好,無須排長隊等待;該系統實現了中西藥房、中西藥庫的網絡化管理、能快速統計、處理各種與藥品的庫存數、種類、消耗、處方數、價格等等相關的數據,目前,有關西藥房實行計算機網絡管理的報道很多,但由于中醫藥的一些特殊性,中藥實行計
算機網絡管理的實例較少[1]。汪步升(2019)指出通過對目前中醫處方系統存在的重財務收費,輕中醫臨床應用;審核功能不全面以及應用友好性不夠等問題進行分析,進一步闡述通過處方業務流程優化;按方劑學改造處方模板功能;增加審核功能,強化應用友好性來解決中醫處方系統存在的問題,進一步推進中醫信息化的建設發展[2]。趙虎(2017)指出隨著互聯網技術的發展,中醫館、中醫診所、中醫院、連鎖中醫館實現規范化管理,信息化管理越來越受到重視,對于信息化的掌握不僅是能夠科學化管理運營醫療機構,同時能夠提高一半的效率,節省非常多的時間,保達中醫處方系統就提供一套完善的解決方案[3]。趙士潔(2019)指出目前,還有很多門診醫院的處方發藥操作仍是由人工完成,其效率低下而且易錯,降低了醫院的工作效率,中醫處方管理房系統彌補了這方面的不足,它將處方的發藥操作交由軟件系統控制,自動機件系統完成操作,高效且準確[4]。劉霏(2018)指出對中藥房而言中藥電子處方清晰明了,既避免了醫生和調劑人員因理解的偏差而出現生熟制品混淆的現象,又杜絕了因醫生字跡潦草而出現配錯的情況;中藥電子處方的應用使原來由兩人承擔的收方劃價發藥工作,變為一人負責完成;在處方統計中,只要輕點鼠標,就可輕松完成過去花很長時間才完成的工作;中藥電子處方在發藥完成后,可從電腦中直接查詢庫存情況,及時申領藥物,保證門診用藥需求,避免了過去在配藥時才發現缺藥而讓患者久等的現象;在盤點工作中,只要將實物數字輸入電腦按財務程序處理數據,很快藥物的進、消、存、報損、報溢數據便一目了然,盡收眼底,中藥電子處方的應用提高了中藥房的效率和配方的準確率[5]。1.3論文結構本文主要研究設計藥店庫存管理系統的設計與實現。運用Java編程語言、相應的技術框架和MySQL數據庫等對管理系統進行設計實現,對相應的數據信息進行整合分類,實現在網頁的管理查看。本論文主要分為七個章節,以下是對各章節的概括簡述:第一章是論文的緒論部分,主要介紹了課題的研究背景以及研究目的和意義。第二章研究了藥店庫存管理系統系統所采用的開發技術和開發工具。第三章研究了藥店庫存管理系統系統的需求分析,根據系統的特點,分析系統采用的體系結構及開發方法,以及該系統的運行環境。第四章是對系統的詳細設計進行說明。第五章是系統的具體實現,介紹系統的各個模塊的具體實現。第六章在前幾章的基礎上對系統進行測試和運行。最后對系統進行了認真的總結,以此對未來有一個新的展望。2主要技術和工具介紹該系統采用技術主要包括Java編程語言、LayUI框架和SpringBoot框架等技術,使用MySQL數據庫、IDEA和Tomcat服務器等開發工具實現,如下是對所應用技術的介紹。2.1SpringBoot簡介現如今后臺開源框架主流的有SSH、SSM、SpringBoot,但是SSH、SSM框架的環境配置項較多,而SpringBoot主要的設計思想就是約定大于配置,故而SpingBoot在設計時幾乎達到零配置。SpringBoot整合了業界上的開源框架,如Spring、SpringMVC、Mybatis、Struts、Hibernate。具體采用技術框架描述如下:(1)Mybatis:Mybatis的前身是Apache的開源框架iBatis,與Hibernate一樣是一個Java持久層的框架。Mybatis的優勢在于靈活,它幾乎可以替代JDBC,同時提供了接口編程。目前Mybatis的數據訪問層DAO(DataAccessObject)是不需要實習類的,它只需要一個接口和XML(或者注解),建議使用注解來實現。Mybatis提供自動映射,動態SQL,級聯,緩存,注解,代碼和SQL分離等特性,使用方便,同時也對SQL進行優化[6]。因為其具有封裝少,映射多樣化,支持存儲過程,可以進行SQL優化等特點,是的它取代了Hibernate成為Java互聯網中首選持久層框架。(2)SpringMVC:SpringMVC和眾多其他web框架一樣,它基于MVC的設計理念,此外,它采用可松散耦合可插拔組件結構,比其他MVC框架更具擴展性和靈活性。SpringMVC通過一套MVC注解,讓POJO成為處理請求的控制器,無需實現任何接口,同時,SpringMVC還支持REST風格的URL請求[7]。SpringMVC框架圍繞DispatcherServlet核心展開,DispatcherServlet是springMVC框架的總導演,總策劃,它負責截獲請求并將其分派給相應的處理器處理。
SpringMVC屬于Spring體系中Servlet一部分。(3)SpringBoot:SpringBoot是一個簡化Spring開發的框架。用來監護spring應用開發,約定大于配置,去繁就簡,justrun就能創建一個獨立的,產品級的應用。我們在使用SpringBoot時只需要配置相應的SpringBoot就可以用所有的Spring組件,簡單的說,springboot就是整合了很多優秀的框架,不用我們自己手動的去寫一堆xml配置然后進行配置。從本質上來說,SpringBoot就是Spring,它做了那些沒有它你也會去做的SpringBean配置[8]。SpringBoot是一款非常強大后臺框架,因為SpringBoot開發時可以基本不用寫配置文件,所以使用SpringBoot搭建網站的后臺環境,在SpringBoot的yml配置文件中寫入項目啟動端口,項目就可以啟動。項目的Java文件還有靜態文件都是由SpringBoot來管理。2.2MySQL簡介MySQL是一個面向公眾的、免費、開源的數據庫,它的原開發者為瑞典的MySQLAB公司,于2008年被昇陽微系統(SunMicrosystems)收購。2009年,甲骨文公司(Oracle)收購昇陽微系統公司,MySQL成為Oracle旗下產品[9]。MySQL,是一種真正的多用戶、多線程的SQL數據庫服務器,是基于SQL的客戶/服務器模式的關系數據庫管理系統,它具有功能強大、管理方便、使用簡單、安全可靠性高、多線程、跨平臺性、較穩定性等優點。MySQL有如下特點:(1)MySQL數據庫是用C和C++語言編寫的,并且使用了多種編輯器進行測試,以保證源碼的可移植性[10]。(2)支持多個操作系統例如:Windows、Linux、MacOS等等。(3)支持多線程,可以充分的利用CPU資源。(4)為多種編程語言提供API,包括C語言,Java,PHP。Python語言等。(5)MySQL優化了SQL算法,有效的提高了查詢速度。(6)MySQL開放源代碼且無版權制約,自主性及使用成本低。2.3IDEA簡介IDEA全稱IntelliJIDEA,是用于Java語言開發的集成環境(也可用于其他語言),IntelliJ在業界被公認為最好的Java開發工具之一,尤其在智能代碼助手、代碼自動提示、重構、J2EE支持、Ant、JUnit、CVS整合、代碼審查以及創新的GUI設計等方面的功能可以說是超常的[11]。IDEA是JetBrains公司的產品,這家公司總部位于捷克共和國的首都布拉格,開發人員以嚴謹著稱的東歐程序員為主。IDEA具有強大的整合能力,提示功能的快速、便捷,提示功能的范圍比較廣,好用的快捷鍵和代碼模塊。2.4Tomcat簡介Tomcat是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發而成。由于有了Sun的參與和支持,最新的Servlet和JSP規范總是能在Tomcat中得到體現。因為Tomcat技術先進、性能穩定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web應用服務器。因為Tomcat的穩定性,其在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,并且因為得到Java運維公司的支持,對JSP的最新規范做的很好,是開發和調試JSP程序的首選[12]。
3系統分析在完成系統開發工具的選擇和系統的整體開發框架確定后,為了更加高效的進行系統的開發,這一章主要是對中醫處方管理系統的功能做了可行性分析和需求分析。分析了中醫處方管理系統要實現的功能以及完成這個項目后想要達到什么樣的效果。3.1可行性分析系統的可行性是確定該系統是否是有必要開發的程序系統。在每次可行性分析期間對系統進行全面評估。通過系統可行性分析,有利于減少不必要的社會勞動,使開發過程合理可行。同時,系統的可行性分析是系統分析過程中的一個步驟。它是系統開發之前的一個環節。這個鏈接不是為了實現系統,而是通過簡單的分析過程進行可行和深入的調查。從任務開始,系統的設計是可行的,并且還可以將設計的系統直接放置在穩定的服務器上。以下將從四個方面分析系統的可行性。技術可行性在Java+MySQL的基礎上,對本科學習階段學習到的技術進行了深入研究,一些框架知識將更簡單,更易學。因此,從MVC框架技術應用學習框架也有利于SPRING技術的操作和使用。對建立這個管理系統提供幫助。由于學習曲線比較平滑,技術難點在于文件的導入和導出,以及一些系統優化的處理。以前,沒有積累的技術和經驗,因此應該通過自己的探索解決這些問題。另外,經過我們的分析和考慮,通過一定的研究和分析可以解決上述難點和問題。經濟可行性從收入/投資比率的角度考慮該系統,效益相當可觀。從大的角度來看,它可以節省系統管理時間,提高管理效率。系統估算編寫,運營和維護項目的成本,估算未來收益以及成本是否高于收入。最后,該系統被認為是經濟上可行的。法律可行性分析在任何情況下都不能越過法律的界限,本系統的開發在法律方面符合法律要求,分析系統是否涉及侵權、合同、責任向抵觸的問題,避免出現。我國已經頒布了計算機軟件保護條例和著作權法,不能夠盜用他人作品,本系統是自己設計,沒有復制任何版權類問題,法律分析是完全可行的。拓展可行原則系統在開發中要考慮后期的維護,對于拓展性方面,代碼是否可以進行拓展和文本復用,隨著人們需求的不斷提高,系統也要結合實際進行不斷升級,保證系統拓展后可以正常使用,數據可以存儲大量信息。操作者如果需要添加、修改和刪除功能,如果系統拓展差的話,系統可能會奔潰,導致不必要的麻煩的產生,所有我們在開發前期就應該想到系統的拓展性能,必須能夠達到要求。3.2系統功能需求分析通過對相關管理系統的調查研究,開發了本藥店庫存管理系統。該系統實現了用戶登錄、藥品管理、類型管理、用戶管理、權限管理、處方管理、公告管理、統計管理等幾大功能模塊。其中藥品管理模塊主要實現了查看藥品列表、庫存管理、倉庫管理等功能;類型管理主要實現了藥品類型添加、查看類型列表等功能;用戶管理主要實現了查看用戶列表、用戶添加等功能;權限管理主要實現了角色管理、菜單管理等主要功能;處方管理主要實現了添加處方信息、查看處方列表主要功能;公告管理主要實現了查看公告列表、發布公告的功能;統計管理主要實現了藥品統計、處方統計的功能。用戶登錄:用戶的登錄是進入系統的前提,只有擁有系統賬號密碼的用戶才能進入系統,在系統中進行相關的管理操作。藥品管理:系統用戶進入系統后,可以查看系統中的藥品信息,并且可以添加新的藥品,同時可以對藥店庫存和倉庫進行相關的管理操作。類型管理:系統用戶進入系統后,可以查看系統中所有藥品類型的詳細信息,并且可以進行相關的操作,同時可以添加新的藥品類型。用戶管理:系統用戶進入系統后,可以查看系統中所有用戶的詳細信息,并且可以進行相關的管理操作,同時可以添加新的用戶。權限管理:用戶進入系統后,可以查看系統的角色和菜單的詳細信息,并且可以進行相關的管理操作。處方管理:系統用戶進入系統后,可以查看系統中所有的處方信息,并且可以進行相關的管理操作,并且可以添加新的處方。公告管理:系統用戶進入系統后,可以查看系統中所有發布的公告信息的詳細信息,并且可以進行相關的管理操作,同時可以進行發布新的公告的操作。統計管理:系統用戶進入系統后,可以查看藥品統計、處方統計等詳細信息。3.3系統非功能需求分析(1)系統的實用性系統的實用性是指系統設計開發的功能要盡量簡單、實用,用戶在使用系統過程中能夠感受到系統的快捷、方便,不存在很多累贅和多余的操作或者功能。(2)系統的穩定性系統穩定性差則預示著系統在用戶使用時,可能會出現數據操作錯誤,頁面響應時間過長或者干脆無法響應等,因此系統的穩定性是用戶對系統評價的重要指標之一。系統應采用穩定的操作系統、數據庫、中間件等,以保證系統的穩定性。(3)系統的開放性系統的開放性是指系統具有良好的可兼容性,可以在Windows的大部分版本的操作系統中正常的運行,另外,也支持不同瀏覽器版本,能夠在微軟的IE瀏覽器、谷歌瀏覽器等常用的瀏覽器上正常運行。系統的易升級和管理也是系統開放性的表現。
4系統設計當系統分析完成之后,所需要做的就是對系統的詳細設計。本章節的目的就是從邏輯和物理層面考慮搭建出可以實現的系統框架,方便后期的實現。4.1系統功能結構圖通過對相關管理系統的調查研究,開發了本中醫處方管理系統。該系統實現了用戶登錄、藥品管理、類型管理、用戶管理、權限管理、處方管理、公告管理、統計管理等幾大功能模塊。其中中藥管理模塊主要實現了添加藥品信息、查看藥材列表等功能;類型管理主要實現了藥品類型添加、查看類型列表等功能;用戶管理主要實現了查看用戶列表、用戶添加等功能;權限管理主要實現了角色管理、菜單管理等主要功能;處方管理主要實現了添加處方信息、查看處方列表主要功能;公告管理主要實現了查看公告列表、發布公告的功能;統計管理主要實現了藥品統計、處方統計的功能。系統的功能結構圖如圖4-1所示。圖4-1系統的功能結構圖4.2數據庫設計數據庫設計就是根據業務系統和您選擇的DBMS的需求設計最佳的數據存儲模型。同時,建立表的結構以及表與表之間的關系。建立基于數據分析的系統分析和數據庫設計,然后從以前的分析角度鞏固設計角度,最后完成系統的結構分析和優化設計。使用E-R圖對數據庫進行邏輯建模。4.2.1數據庫實體數據庫實體是指數據庫管理系統中的各種用于數據管理方便而設定的各種數據管理對象,廣義上講,這些對象中所存儲的數據也是數據庫實體。實體就是指可以摸到的存在的具有區分其他事物的特性或屬性并與其他實體有聯系的實體。(1)用戶實體包括用戶ID、用戶名、密碼、角色ID、狀態。用戶實體屬性圖如4-2所示。圖4-2用戶實體屬性圖(2)角色實體屬性包括角色ID、角色名、角色描述、狀態。角色實體屬性圖如圖4-3所示。圖4-3角色實體屬性圖(3)藥品類型實體屬性包括藥品類型ID、類型名、狀態。藥品類型實體屬性圖如4-4所示。圖4-4藥品類型實體屬性圖(4)藥品實體屬性包括藥品ID、藥品編號、藥品名、藥品類型、藥材基原、藥材別名、性味歸經、功能主治、藥材出處、計量單位、注意事項、狀態。藥品實體屬性圖如4-5所示。圖4-5藥品實體屬性圖處方類型實體屬性包括處方類型ID、處方名、狀態。處方類型實體屬性圖如4-6所示。圖4-6處方類型實體屬性圖(6)處方實體屬性包括處方ID、處方編號、處方出處、處方名、處方組成、處方類別、制成方法、主治、禁忌、狀態。處方實體屬性圖如4-7所示。圖4-7處方實體屬性圖(7)公告實體屬性包括公告ID、用戶名、公告內容、發布時間、狀態、角色名。公告方實體屬性圖如4-8所示。圖4-8公告實體屬性圖4.2.2數據庫表設計概念設計的目標是反映系統所需的數據庫概念的結構,即概念模型。概念架構獨立于數據庫的邏輯結構,是一個獨立的DBMS,不需要依賴計算機系統。以下是本系統中的數據庫表:(1)用戶表:用來存放用戶所需要的信息,包括用戶ID、用戶名、密碼、角色ID、狀態。用戶表如表4-1所示。表4-1用戶表序號字段名稱字段類型長度允許為空是否為主鍵備注1idint11NoYes自動遞增2usernamevarchar255YesNo用戶名3passwordvarchar255YesNo密碼4role_idint11YesNo角色ID5statusint11YesNo狀態(2)角色表:用來存放角色的基本信息。包括角色ID、角色名、角色描述、狀態。角色表如表4-2所示。表4-2角色表序號字段名稱字段類型長度允許為空是否為主鍵備注1idint11NoYes自動遞增2role_namevarchar255YesNo角色名3role_descvarchar255YesNo角色描述4statusint11YesNo狀態
(3)藥品類型表:用來存放藥品類型的基本信息。包括藥品類型ID、類型名、狀態。藥品類型表如表4-3所示。表4-3藥品類型表序號字段名稱字段類型長度允許為空是否為主鍵備注1idint11NoYes自動遞增2type_namevarchar255YesNo類型名3statusint11YesNo狀態(4)藥品表:該表用于保存藥品的相關信息,包括藥品ID、藥品編號、藥品名、藥品類型、藥材基原、藥材別名、性味歸經、功能主治、藥材出處、計量單位、注意事項、狀態。藥品表如表4-4所示。表4-4藥品表序號字段名稱字段類型長度允許為空是否為主鍵備注1idint11NoYes自動遞增2drug_codevarchar255YesNo藥品編號3drug_namevarchar255YesNo藥品名4drug_typevarchar255YesNo藥品類型5drug_componentvarchar255YesNo藥材基原6another_namevarchar255YesNo藥材別名7tastevarchar255YesNo性味歸經8featuresvarchar255YesNo功能主治9drug_fromvarchar255YesNo藥材出處10drug_unitvarchar255YesNo計量單位11precautionsvarchar255YesNo注意事項12statusint11YesNo狀態
(5)處方類型表:該表用于保存處方類型的相關信息。包括處方類型ID、處方類型名、狀態。處方類型表如表4-5所示。表4-5處方類型表序號字段名稱字段類型長度允許為空是否為主鍵備注1idint11NoYes自動遞增2prescription_namevarchar255YesNo類型名3statusint11YesNo狀態
(6)處方表:該表用于保存處方的相關信息,包括處方ID、處方編號、處方出處、處方名、處方組成、處方類別、制成方法、主治、禁忌、狀態。處方信息表如表4-6所示。表4-6處方信息表序號字段名稱字段類型長度允許為空是否為主鍵備注1idint11NoYes自動遞增2prescription_codevarchar255YesNo處方編號3prescription_fromvarchar255YesNo處方出處4prescription_namevarchar255YesNo處方名5prescription_componentvarchar255YesNo處方組成6prescription_typevarchar255YesNo處方類別7prescription_methodvarchar255YesNo制成方法8prescription_treatmentvarchar255YesNo主治9prescription_taboovarchar255YesNo禁忌10statusint11YesNo狀態
(7)公告表:該表用于保存公告的相關信息,包括公告ID、用戶名、公告內容、發布時間、狀態、角色名。公告信息表如表4-6所示。表4-6公告信息表序號字段名稱字段類型長度允許為空是否為主鍵備注1idint11NoYes自動遞增2user_namevarchar255YesNo用戶名3contextvarchar255YesNo公告內容4create_timedatetime0YesNo發布時間5statusint11YesNo狀態6role_namevarchar255YesNo角色表
5系統實現為了將本系統的實現更仔細的進行介紹,本章節對各個功能模塊進行詳細的展示和介紹。5.1用戶登錄模塊該系統需要用戶登錄后才可以使用,用戶在登錄頁面展示的表單中輸入自己的登錄信息,點擊登錄按,如果查詢有結果,則判定用戶存在,返回登陸成功跳轉的頁面地址,否則返回用戶信息錯誤提示。用戶登錄界面如圖5-1所示。圖5-1用戶登錄用戶登錄的主要代碼如下:@RequestMapping("/login")
@ResponseBody
publicObjectlogin(@RequestBodyUseruser,HttpServletRequestrequest){
UserExampleue=newUserExample();
ue.createCriteria().andUsernameEqualTo(user.getUsername()).andPasswordEqualTo(user.getPassword());
List<User>users=userMapper.selectByExample(ue);
if(users.size()>0){
request.getSession().setAttribute("user",users.get(0));
returnLayuiResult.LayuiData(200,"登陸成功","/");
}
returnLayuiResult.LayuiData(0,"賬號密碼錯誤",null);
}5.2藥品管理模塊藥品管理模塊主要實現了查看藥品列表、庫存管理、倉庫管理等功能,以下是對藥品管理模塊功能的具體介紹。5.2.1查看藥品列表管理員進入到后臺管理系統后,點擊進入系統左邊功能欄中的“藥品管理”頁面,可以查看系統中所有藥品的詳細信息列表,并且可以對藥品信息作出刪除或者修改操作,同時可以上傳藥品信息表格到系統當中,藥品管理展示如圖5-2所示。圖5-2藥品管理展示藥品管理關鍵代碼如下:@RequestMapping("/get")
publicObjectget(Integerpage,Integerlimit){
DrugsExampledrugsExample=newDrugsExample();
List<Drugs>drugs=drugsMapper.selectByExample(drugsExample);
Pager<Drugs>pager=newPager<>();
pager.setCurentPageIndex(page);
pager.setCountPerpage(limit);
pager.setBigList(drugs);
returnLayuiResult.LayuiData(0,"success",pager.getSmallList(),pager.getRecordCount());
}5.2.2庫存管理管理員進入到后臺管理系統后,點擊進入系統左邊功能欄中的“藥品管理”頁面下的庫存管理,可以查看系統中所有藥品庫存的詳細信息列表,并且可以對藥品庫存信息作出刪除或者修改操作,同時可以添加新的藥品庫存信息,庫存管理展示如圖5-3所示。圖5-3庫存管理展示庫存管理關鍵代碼如下:@RequestMapping("/add")
publicObjectadd(@RequestBodyDrugStockdrugStock){
QueryWrapper<DrugStock>queryWrapper=newQueryWrapper<>();
queryWrapper.eq("drug_id",drugStock.getDrugId()).eq("stock_id",drugStock.getStockId());
List<DrugStock>drugStocks=drugStockMapper.selectList(queryWrapper);
if(drugStocks.size()>0){
returnLayuiResult.LayuiData(0,"藥品庫存記錄已存在,請勿重復操作",null);
}
drugStockMapper.insert(drugStock);
returnLayuiResult.LayuiData(0,"創建藥品庫存記錄成功",null);
}5.2.3倉庫管理管理員進入到后臺管理系統后,點擊進入系統左邊功能欄中的“藥品管理”頁面下的倉庫管理,可以查看系統中所有藥品倉庫的詳細信息列表,并且可以對藥品倉庫信息作出刪除或者修改操作,同時可以添加新的藥品倉庫信息,倉庫管理展示如圖5-4所示。圖5-4倉庫管理展示倉庫管理關鍵代碼如下:@RequestMapping("/get")
publicObjectget(Integerpage,Integerlimit){
QueryWrapper<Stock>queryWrapper=newQueryWrapper<>();
List<Stock>stocks=stockMapper.selectList(queryWrapper);
Pager<Stock>pager=newPager<>();
pager.setCurentPageIndex(page);
pager.setCountPerpage(limit);
pager.setBigList(stocks);
returnLayuiResult.LayuiData(0,"success",pager.getSmallList(),pager.getRecordCount());
}5.3類型管理模塊該模塊下主要實現了藥品類型添加、查看類型列表等功能,以下是對該模塊下的功能進行具體的介紹。5.3.1藥品類型添加管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“類型管理”下的類型添加,可以通過填寫藥品類型名,從而完成藥品類型的添加,藥品類型添加展示如圖5-5所示。圖5-5藥品類型添加藥品類型添加關鍵代碼如下:@RequestMapping("/add")
publicObjectadd(@RequestBodyDrugTypedrugType){
drugTypeMapper.insertSelective(drugType);
returnLayuiResult.LayuiData(0,"添加藥材類別成功",null);
}5.3.2查看藥品類型管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“類型管理”下的類型列表,可以看到系統中所有藥品類型的詳細信息,并且可以進行相關的管理操作功,查看藥品類型信息展示如圖5-6所示。圖5-6查看藥品類型信息展示查看藥品類型信息關鍵代碼如下:@RequestMapping("/get")
publicObjectget(Integerpage,Integerlimit){
DrugTypeExampledte=newDrugTypeExample();
List<DrugType>drugTypes=drugTypeMapper.selectByExample(dte);
Pager<DrugType>pager=newPager<>();
pager.setCurentPageIndex(page);
pager.setCountPerpage(limit);
pager.setBigList(drugTypes);
returnLayuiResult.LayuiData(0,"success",pager.getSmallList(),pager.getRecordCount());
}5.4用戶管理模塊該模塊下主要實現了查看用戶列表、用戶添加等功能,以下是對該模塊下的功能進行具體的介紹。5.4.1查看用戶列表管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“用戶管理”下的用戶列表,可以看到該系統中所有的系統用戶信息,并且可以進行相應的操作,查看用戶列表展示如圖5-7所示。圖5-7查看用戶列表查看用戶列表關鍵代碼如下:@RequestMapping("/get")
publicObjectget(Integerpage,Integerlimit){
UserExampleuserExample=newUserExample();
List<User>users=userMapper.selectByExample(userExample);
users.forEach(user->{
Rolerole=roleMapper.selectByPrimaryKey(user.getRoleId());
user.setRoleName(role.getRoleName());
user.setRoleDesc(role.getRoleDesc());
});
Pager<User>pager=newPager<>();
pager.setCurentPageIndex(page);
pager.setCountPerpage(limit);
pager.setBigList(users);
returnLayuiResult.LayuiData(0,"success",pager.getSmallList(),pager.getRecordCount());
}5.4.2添加用戶管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“用戶管理”下的添加用戶,填寫詳細的用戶信息,包括用戶名、密碼、用戶角色等用戶基本信息,即可添加成功,添加用戶展示如圖5-8所示。圖5-8添加用戶展示添加用戶關鍵代碼如下:@RequestMapping("/add")
publicObjectadd(@RequestBodyUseruser){
userMapper.insertSelective(user);
returnLayuiResult.LayuiData(0,"添加用戶成功",null);
}5.5權限管理模塊該模塊下主要實現了角色管理、菜單管理等主要功能,以下是對該模塊下的功能進行具體的介紹。5.5.1角色管理管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“權限管理”下的角色管理,可以看到該系統中所有的角色的詳細信息,并且可以進行相應的添加、修改、刪除等操作,同時可以給角色賦予相關的權限,角色管理展示如圖5-9所示。圖5-7角色管理角色管理關鍵代碼如下:@RequestMapping("/get")
publicObjectget(Integerpage,Integerlimit){
RoleExampleroleExample=newRoleExample();
List<Role>roles=roleMapper.selectByExample(roleExample);
Pager<Role>pager=newPager<>();
pager.setCurentPageIndex(page);
pager.setCountPerpage(limit);
pager.setBigList(roles);
returnLayuiResult.LayuiData(0,"請求成功",pager.getSmallList(),pager.getRecordCount());
}5.5.2菜單管理管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“權限管理”下的菜單管理,可以看到該系統中所有的菜單的詳細信息,并且可以進行相應的添加、修改、刪除等操作,菜單管理展示如圖5-10所示。圖5-10菜單管理菜單管理關鍵代碼如下:@RequestMapping("/get")
publicObjectget(){
MenuExampleme=newMenuExample();
me.createCriteria().andParentIdEqualTo(0);
List<Menu>menus=menuMapper.selectByExample(me);
List<Object>list=newArrayList<>();
for(Menumenu:menus){
Map<String,Object>map=newHashMap<>();
map.put("id",menu.getId());
map.put("menuName",menu.getMenuName());
map.put("menuUrl",menu.getMenuUrl());
MenuExamplemenuExample=newMenuExample();
menuExample.createCriteria().andParentIdEqualTo(menu.getId());
List<Menu>menus1=menuMapper.selectByExample(menuExample);
map.put("child",menus1);
list.add(map);
}
returnLayuiResult.LayuiData(0,"請求成功",list);
}5.6處方管理模塊管理員進入到后臺管理系統后,點擊進入系統左邊功能欄中的“處方管理”頁面,可以查看系統中所有處方的詳細信息列表,并且可以對處方信息作出刪除或者修改操作,同時可以上傳處方信息表格到系統當中,處方管理展示如圖5-11所示。圖5-11處方管理處方管理關鍵代碼如下:@RequestMapping("/get")
publicObjectget(Integerpage,Integerlimit){
PrescriptionExamplepe=newPrescriptionExample();
List<Prescription>prescriptions=prescriptionMapper.selectByExample(pe);
Pager<Prescription>pager=newPager<>();
pager.setCurentPageIndex(page);
pager.setCountPerpage(limit);
pager.setBigList(prescriptions);
returnLayuiResult.LayuiData(0,"success",pager.getSmallList(),pager.getRecordCount());
}5.7公告管理模塊該模塊下主要實現了查看公告列表、發布公告的功能,以下是對該模塊下的功能進行具體的介紹。5.7.1查看公告列表管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“公告管理”下的公告列表,可以查看系統中所有發布的公告列表的詳細信息,并且可以進行相關的管理操作,查看公告列表展示如圖5-12所示。圖5-12查看公告列表查看公告列表關鍵代碼如下:@RequestMapping("/get")
publicObjectget(Integerpage,Integerlimit){
SystemNoticeExamplesne=newSystemNoticeExample();
List<SystemNotice>systemNotices=systemNoticeMapper.selectByExample(sne);
Pager<SystemNotice>pager=newPager<>();
pager.setCurentPageIndex(page);
pager.setCountPerpage(limit);
pager.setBigList(systemNotices);
returnLayuiResult.LayuiData(0,"success",pager.getSmallList(),pager.getRecordCount());
}5.7.2發布公告管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“公告管理”下的發布公告,通過填寫完整的公告信息進行系統公告的發布操作,發布公告展示如圖5-13所示。圖5-13發布公告發布公告關鍵代碼如下:@RequestMapping("/add/{context}")
publicObjectadd(@PathVariableStringcontext,HttpServletRequestrequest){
Useruser=(User)request.getSession().getAttribute("user");
Rolerole=roleMapper.selectByPrimaryKey(user.getRoleId());
SystemNoticesystemNotice=newSystemNotice();
systemNotice.setContext(context);
systemNotice.setUserName(user.getUsername());
systemNotice.setRoleName(role.getRoleName());
systemNotice.setCreatedTime(newDate());
systemNoticeMapper.insertSelective(systemNotice);
returnLayuiResult.LayuiData(0,"發布公告成功",null);
}5.8統計管理模塊該模塊下主要實現了藥品統計、處方統計的功能,以下是對該模塊下的功能進行具體的介紹。5.8.1藥品統計管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“統計管理”下的藥品統計,可以看到當前系統中所有的藥品的統計圖表信息,查看藥品統計展示如圖5-14所示。圖5-14查看藥品統計查看藥品統計關鍵代碼如下:@RequestMapping("/drug/get")
publicObjectdrugGet(){
DrugTypeExampledte=newDrugTypeExample();
List<DrugType>drugTypes=drugTypeMapper.selectByExample(dte);
Map<String,Object>map=newHashMap<>();
List<String>typeNameList=newArrayList<>();
List<Object>mapList=newArrayList<>();
drugTypes.forEach(drugType->{
typeNameList.add(drugType.getTypeName());
DrugsExamplede=newDrugsExample();
de.createCriteria().andDrugTypeEqualTo(drugType.getTypeName());
List<Drugs>drugs=drugsMapper.selectByExample(de);
Map<String,Object>drugMap=newHashMap<>();
drugMap.put("value",drugs.size());
drugMap.put("name",drugType.getTypeName());
mapList.add(drugMap);
});
map.put("typeData",typeNameList);
map.put("data",mapList);
returnLayuiResult.LayuiData(0,"success",map);
}5.8.2處方統計管理員進入到后臺管理系統后,點擊系統左邊功能欄中的“統計管理”下的處方統計,可以看到當前系統中所有的處方的統計圖表信息,查看處方統計展示如圖5-15所示。圖5-15查看處方統計查看處方統計關鍵代碼如下:@RequestMapping("/prescription/get")
publicObjectprescriptionGet(){
PrescriptionTypeExamplepte=newPrescriptionTypeExample();
List<PrescriptionType>prescriptionTypes=prescriptionTypeMapper.selectByExample(pte);
Map<String,Object>map=newHashMap<>();
List<String>typeList=newArrayList<>();
List<Object>mapList=newArrayList<>();
prescriptionTypes.forEach(prescriptionType->{
typeList.add(prescriptionType.getPrescriptionName());
PrescriptionExampleprescriptionExample=newPrescriptionExample();
prescriptionExample.createCriteria().andPrescriptionTypeEqualTo(prescriptionType.getPrescriptionName());
List<Prescription>prescriptions=prescriptionMapper.selectByExample(prescriptionExample);
Map<String,Object>prescriptionMap=newHashMap<>();
prescriptionMap.put("value",prescriptions.size());
prescriptionMap.put("name",prescriptionType.getPrescriptionName());
mapList.add(prescriptionMap);
});
map.put("typeData",typeList);
map.put("data",mapList);
returnLayuiResult.LayuiData(0,"success",map);
}
6系統測試系統測試就是對設計完成的軟件進行功能和穩定性的測試,看是否能夠達到設計目標的需求。根據軟件的功能進行逐一實現,看是否達到預期設計目的,若能夠達到要求滿足用戶的需求則說明設計成功。6.1測試目的與定義系統測試是系統的最后一部分,在系統開發過程中多多少少會出現錯誤,這些錯
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧中醫藥大學杏林學院《計算復雜性》2023-2024學年第二學期期末試卷
- 湘南學院《大學體育V》2023-2024學年第一學期期末試卷
- 沙洲職業工學院《版面設計與軟件應用》2023-2024學年第二學期期末試卷
- 江蘇省鹽城市大豐區實驗初級中學2024-2025學年初三下期4月月考復習語文試題試卷含解析
- 江門市重點中學2025年初三沖刺中考最后1卷化學試題含解析
- 武漢華夏理工學院《市場營銷學原理》2023-2024學年第二學期期末試卷
- 麗江職業技術學院《英語基礎寫作(二)》2023-2024學年第一學期期末試卷
- 內蒙古鴻德文理學院《車橋耦合振動》2023-2024學年第二學期期末試卷
- 羊只買賣合同范本
- 長沙理工大學城南學院《英語精讀(3)》2023-2024學年第一學期期末試卷
- 川教版(2024)小學信息技術三年級上冊《跨學科主題活動-在線健康小達人》教學實錄
- 2025中考物理總復習填空題練習100題(附答案及解析)
- 機械專業英語
- 高空作業車(剪叉式、曲臂式)驗收表
- 廣東省廣州市2024屆高三下學期一模考試 政治 含解析
- 血透患者敘事護理故事
- 義務教育小學科學課程標準-2022版
- 江西省南昌市2023-2024學年八年級下學期期中英語試題(含聽力)【含答案解析】
- 2024年全國國家版圖知識競賽題庫及答案
- 新教師三筆字培訓課件
- 藍色西湖大學頂部導航欄博士碩士研究生畢業論文答辯模板.x
評論
0/150
提交評論