springboot藥房庫存管理系統-計算機畢業設計源碼50588

目 ?錄

摘要

1 緒論

1.1 研究背景與意義

1.2開發現狀

1.3論文結構與章節安排

2?藥房庫存管理系統系統分析

2.1 可行性分析

2.1.1 技術可行性分析

2.1.2 經濟可行性分析

2.1.3 法律可行性分析

2.2 系統功能分析

2.2.1 功能性分析

2.2.2 非功能性分析

2.3 系統用例分析

2.4 系統流程分析

2.4.1 數據流程

2.4.2 業務流程

2.5本章小結

3 藥房庫存管理系統總體設計

3.1 系統功能模塊設計

3.1.1整體功能模塊設計

3.1.2用戶模塊設計

3.1.3 評論管理模塊設計

3.1.4藥品管理模塊設計

3.2 數據庫設計

3.2.1 數據庫概念結構設計

3.3.2 數據庫邏輯結構設計

3.4本章小結

4?藥房庫存管理系統詳細設計與實現

4.1用戶功能模塊

4.1.1 前臺首頁界面

4.1.2 用戶注冊界面

4.1.3 用戶登錄界面

4.1.4我的賬戶界面

4.1.5 新聞資訊界面

4.1.6 藥品詳情界面

4.1.7購買界面

4.1.8留言反饋界面

4.2管理員功能模塊

4.2.1系統用戶管理界面

4.2.2藥品信息管理界面

4.2.3退藥信息管理界面

4.2.4入庫信息管理界面

4.2.5資源管理界面

5系統測試

5.1 系統測試用例

5.2 系統測試結果

結論

參考文獻

??

摘要

藥房庫存管理系統是一種用于管理和監控藥房庫存的信息系統。該系統通過電子化方式實現對藥品庫存的記錄、采購、銷售和盤點等操作,提高藥房管理的效率和準確性。本文介紹了藥房庫存管理系統的設計與實現,包括系統的需求分析、系統架構設計、功能模塊設計以及系統的測試和部署。系統主要包括藥品信息管理、購藥記錄管理、采購信息管理、入庫信息管理、出入信息管理、調價信息管理、盤點信息管理等模塊,以滿足藥房的日常運營需求。通過該系統,藥房可以實時掌握藥品庫存情況,合理安排采購和報損丟失,避免藥品過期或缺貨的情況發生。實際應用表明,藥房庫存管理系統能夠提高藥房的工作效率,減少人為錯誤,并有效控制藥品成本,提供良好的服務質量。本系統采取MySQL作為后臺數據的主要存儲單元,采用SpringBoot框架、Java語言進行業務系統的編碼及其開發,實現了本系統的全部功能。系統主要包括患者用戶、醫生用戶和管理員用戶功能三大模塊。

本文首先分析了課題的研究的背景和意義,針對藥房庫存管理系統的各項需求及開發的可行性進行分析;然后對設計系統需要使用的技術軟件以及設計思想做了基本的介紹;最后實現藥房庫存管理系統并運行使用。

關鍵詞:JAVA;SpringBoot;藥房庫存管理系統?;MySQL

Abstract

The pharmacy inventory management system is an information system used to manage and monitor pharmacy inventory. This system achieves electronic recording, procurement, sales, and inventory of drug inventory, improving the efficiency and accuracy of pharmacy management. This article introduces the design and implementation of a pharmacy inventory management system, including system requirements analysis, system architecture design, functional module design, and system testing and deployment. The system mainly includes modules such as drug information management, purchase record management, procurement information management, inbound and outbound information management, price adjustment information management, inventory information management, etc., to meet the daily operational needs of the pharmacy. Through this system, pharmacies can keep track of drug inventory in real time, arrange procurement and report losses reasonably, and avoid the occurrence of expired or out of stock drugs. Practical applications have shown that the pharmacy inventory management system can improve the efficiency of pharmacy work, reduce human errors, effectively control drug costs, and provide good service quality. This system adopts MySQL as the main storage unit for backend data, and uses the SpringBoot framework and Java language for business system coding and development, achieving all functions of this system. The system mainly includes three modules: patient user, doctor user, and administrator user functions.

This article first analyzes the background and significance of the research topic, and analyzes the various requirements and feasibility of developing a pharmacy inventory management system; Then, a basic introduction was given to the technical software and design concepts required for designing the system; Finally, implement and operate the pharmacy inventory management system.

Keywords:JAVA; SpringBoot; Pharmacy inventory management system; MySQL

1 緒論

1.1 研究背景與意義

藥房是醫療機構的重要組成部分,負責藥品的采購、存儲和銷售等工作。傳統上,藥房庫存管理主要依靠手工記錄和人工操作,存在著信息不準確、庫存過剩或缺貨等問題,導致了資源浪費和服務效率低下的情況。

隨著信息技術的迅速發展,越來越多的藥房開始關注電子化的藥房庫存管理系統。這種系統可以通過自動化和數字化方式,對藥品的庫存進行實時監控和管理,提高庫存的準確性和運營效率。

藥房庫存管理系統可以實現藥品信息的電子化記錄和管理,從而減少了繁瑣的手工操作和紙質文檔的管理。通過自動化的庫存監控和管理,系統能夠大大提高藥房的管理效率,減少人為錯誤和時間成本。同時,該系統能夠實時監控藥品的庫存情況,并根據庫存水平和銷售情況進行智能的采購和銷售決策。這樣一來,就能夠避免藥品過期或缺貨的情況發生,進一步減少了庫存積壓和資金浪費。此外,藥房庫存管理系統還能夠提供準確的藥品信息和庫存狀態,幫助藥房員工快速找到所需藥品并提供及時的服務。通過提高服務效率和準確性,可以有效地提升患者的滿意度和信任度。最后,該系統還能夠通過合理的庫存管理和供應鏈優化,幫助藥房控制藥品的采購和庫存成本。通過精確的需求預測和合理的采購策略,可以降低藥品的過剩庫存和損耗,實現成本的最小化。綜上所述,藥房庫存管理系統在實現藥品信息的電子化記錄和管理、優化采購和銷售、提升服務質量以及降低藥品成本等方面具有重要的作用。

1.2開發現狀

在國內,越來越多的醫院和藥店開始意識到藥房庫存管理的重要性,因此對藥房庫存管理系統的研發和應用也逐漸增加。一些大型醫院和連鎖藥店已經自主開發了針對自身需求的定制化藥房庫存管理系統。同時,也有一些軟件公司提供了通用的藥房庫存管理系統解決方案,以滿足中小型醫院和藥店的需求。

這些系統通常包括藥品信息管理、購藥記錄管理、采購信息管理、入庫信息管理、出入信息管理、調價信息管理、盤點信息管理等基本功能模塊,并根據實際需求進行定制化開發。一些系統還支持移動端訪問,便于用戶隨時隨地進行操作和查詢。然而,目前國內的藥房庫存管理系統仍面臨一些挑戰,例如數據安全性、界面友好性和系統穩定性等方面仍有待改進。

?在國外,藥房庫存管理系統的研發和應用相對較成熟。許多發達國家的醫療機構和藥店普遍采用先進的電子化藥房庫存管理系統。這些系統具備高度自動化和智能化的特點,通過與供應商和制藥公司的電子數據交換,實現了藥品信息的準確記錄、出入庫管理和采購補貨等功能。

國外的藥房庫存管理系統通常包括藥品信息管理、采購管理、庫存管理等模塊,以滿足醫療機構和藥店的全面需求。此外,一些系統還具備數據分析功能,可以幫助用戶更好地掌握藥品需求和市場趨勢。

總體而言,國內外對藥房庫存管理系統的開發和應用都在不斷進步。國內在定制化解決方案和移動端訪問方面有一定的優勢,而國外則在自動化、智能化和供應鏈管理等方面更為先進。隨著技術的不斷發展和應用需求的增加,未來藥房庫存管理系統將繼續向更高效、更智能的方向發展。

1.3論文結構與章節安排

本文共分為六章,章節內容安排如下:

第一章為引言,此章節對所設計和實現的系統的背景和狀況以及意義進行詳細的論述以及說明,同時進行了論文整體框架的結構的簡要介紹。

第二章為系統需求分析,章節所做的主要的工作是對系統進行了技術、經濟和操作方面可行性的分析;對系統實行了總體功能的需求、用例分析。

第三章為系統的設計,主要是對系統的功能結構進行設計,并對系統數據庫的概念結構以及物理結構的設計進行了分析。

第四章就是對系統的實現,根據系統功能的劃分,分別的對系統所需要實現的前臺客戶功能和后臺管理員功能進行了分析和說明。

第五章:系統測試。主要對系統的部分界面進行測試并對主要功能進行測試

第六章:總結。

2?藥房庫存管理系統分析

系統需求分析是系統開發的一個關鍵環節,它在系統的設計和實現上起到了一個承上啟下的位置。系統需求分析是對所需要做的系統進行一個需求的挖掘,如果分析的準確可以精準的解決現實中碰到的問題。如果分析不到位會影響后期系統的實現。一個系統的優秀程度需求分析也是占據了非常大的比例,如果需求分析不到位,后面的系統設計要實現就是一個偏離導航的設計。

2.1 可行性分析

系統可行行分析是對系統對系統可行性進行一個探討。在探討系統的可行性上我們主要從技術上的可行性和經濟上的可行性以及法律層面的可行性上進行分析,如果三個層面度通過,我們則認為系統是比較可行的。

2.1.1 技術可行性分析

藥房庫存管理系統設計與實現是一個基于Web的管理平臺,我們在實現這個系統所采用的技術方案是基于JAVA語言,SpringBoot框架,MYSQL數據庫,在大學的學習中這兩門課程都已經學過,而且自己也用這些技術開發過小的項目,在平時的課程設計以及作業也經常用到JAVA和MYSQL,在技術上實現自己的自主開發是可行的。

2.1.2?經濟可行性分析

開發藥房庫存管理系統并不需要投入太多,開發工具、服務器、數據庫等,都可以通過網絡搜索、下載、安裝,只需要一臺普通的計算機就可以完成操作,而且在系統功能規劃上通過走訪調查目前用戶對藥房庫存管理系統的需求,了解它們對系統具體實現的功能需求,然后進行設計開發,不存在任何開銷,因此系統的開發在經濟方面是可行的。

2.1.3 法律可行性分析

系統從法律層面上來沒有對第三方有其他放有法律層面的問題,系統數據庫采用的Mysql 開源社區數據庫、框架采用的是開源的SpringBoot。系統資訊和相關內容也是呵呵法律層面的。在源碼的管理上采用git開源進行管理,所以在法律可行性上是成立的。

2.2 系統功能分析

2.2.1 功能性分析

藥房庫存管理系統我劃分為了患者用戶管理模塊、醫生用戶管理模塊和管理員模塊這三大部分。

患者用戶管理模塊:

(1)用戶注冊登錄:游客可以隨時進入到系統中,對系統中的信息瀏覽,但是想要實現藥品信息的收藏評論等,就必須有這個系統的賬號,如果沒有賬號的話,可以注冊成用戶進行相關的操作,同時用戶還可以對個人信息以及操作的信息進行管控。

(2)查看藥房庫存管理系統的首頁信息:藥房庫存管理系統的首頁信息包含了首頁、通知公告、新聞資訊、藥品信息、留言反饋、咨詢醫生等。

(3)通知公告:當用戶點擊“通知公告”這一菜單按鈕,會顯示管理員在后臺發布的所有的通知公告,可以查看詳情;

(4)新聞資訊:當用戶點擊“新聞資訊”這一菜單按鈕,會顯示管理員在后臺發布的所有的新聞資訊,可以查看詳情,進行收藏、點贊、評論等;

(5)藥品信息:當用戶點擊“藥品信息”這一菜單按鈕,會顯示管理員在后臺發布的所有的藥品信息,支持通過關鍵詞對藥品信息進行搜索,選擇需要的藥品信息點擊可以進入到藥品信息詳細的介紹界面,在詳細界面可以查看到藥品的藥品編號、藥品名稱、藥品類型、藥品庫存、藥品價格、不良反應、用法用量、生產日期、所在庫房等信息,同時可以進行購買、點贊、收藏、評論操作;

(6)留言反饋:點擊“留言反饋”后跳轉到留言反饋提交界面,選擇反饋類型,輸入反饋標題、患者姓名、反饋日期、反饋內容,然后點擊提交留言反饋就完成了。

(7)我的賬戶:在前臺點擊“我的”下面的“我的賬戶”可以對個人資料+密碼修改的信息進行管控。

(8)個人中心:在“個人中心”這一菜單下,我們會看到首頁、購藥記錄、退藥信息、留言反饋、咨詢醫生、收藏,用戶可以對其進行操作。

管理員管理模塊:

(1)登錄:管理員在后臺可以輸入用戶名+密碼進行登錄,管理員的用戶名和密碼是在數據庫中直接設定好的。

(2)系統管理:管理員點擊“系統管理”菜單可以對首頁展示的輪播圖進行增刪改查。

(3)通知公告:管理員點擊“通知公告”菜單可以查看到系統中的所有通知公告信息,對已經存在的通知公告,管理員可以修改,也可以添加新的通知公告或者刪除通知公告。

(4)系統用戶:管理員點擊“系統用戶”菜單可以對系統中存在的用戶進行管理,包含了管理員用戶、醫生用戶和患者用戶。

(5)資源管理:管理員點擊“資源管理”菜單能夠對其下子菜單新聞資訊和新聞資訊的分類進行增刪改查。

(6)藥品信息:管理員點擊“藥品信息”會顯示出所有的藥品信息,支持輸入藥品名稱或者藥品類型對藥品信息進行查詢,如果想要添加新的藥品信息,點擊“添加”按鈕,輸入藥品名稱、藥品類型、藥品編號、藥品價格、藥品庫存、適用癥狀、不良反應等信息,點擊“提交”按鈕就可以添加了,同時可以選擇某一條藥品信息,點擊“刪除”進行刪除,也可以對用戶提交的藥品信息評論的信息進行管控;

(7)購藥記錄:管理員點擊“購藥記錄”會顯示出所有的購藥記錄信息,支持輸入購買數量或者購買總價對購藥記錄信息進行查詢,也可以選擇某一條購藥記錄信息,點擊“刪除”進行刪除,也可以點擊后面的“退藥”按鈕對購藥記錄的退藥信息進行更新維護;

(8)留言反饋:管理員點擊“留言反饋”會顯示出所有的留言反饋信息,支持通過反饋標題或者反饋用戶對留言反饋信息進行查詢,如果想要添加新的留言反饋信息,點擊“添加”按鈕,輸入相關信息,點擊“提交”按鈕就可以添加了,同時可以選擇某一條留言反饋信息,點擊“刪除”進行刪除。

2.2.2 非功能性分析

藥房庫存管理系統的非功能性需求比如藥房庫存管理系統的安全性怎么樣,可靠性怎么樣,性能怎么樣,可拓展性怎么樣等。具體可以表示在如下3-1表格中:

3-1藥房庫存管理系統非功能需求表

安全性

主要指藥房庫存管理系統數據庫的安裝,數據庫的使用和密碼的設定必須合乎規范。

可靠性

可靠性是指藥房庫存管理系統能夠按照用戶提交的指示進行操作,經過測試,可靠性90%以上。

性能

性能是影響藥房庫存管理系統占據市場的必要條件,所以性能最好要佳才好。

可擴展性

比如數據庫預留多個屬性,比如接口的使用等確保了系統的非功能性需求。

易用性

用戶只要跟著藥房庫存管理系統的頁面展示內容進行操作,就可以了。

可維護性

藥房庫存管理系統開發的可維護性是非常重要的,經過測試,可維護性沒有問題

2.3?系統用例分析

藥房庫存管理系統的完整UML用例圖分別是圖2-1和圖2-2。

圖2-1就是患者用戶角色的用例展示。

圖2-1?藥房庫存管理系統患者用戶角色用例圖

圖2-2就是管理員角色的用例展示。

圖2-2?藥房庫存管理系統管理員角色用例圖

2.4 系統流程分析

2.4.1?數據流程

開發藥房庫存管理系統最主要的一個目的就是實現用戶對藥品的購買,圖2-4就是系統的數據流圖。

圖2-3藥品購買操作展開圖

2.4.2?業務流程

分析完藥房庫存管理系統的數據流,那么接下來我們來看系統的業務流程,圖2-4就是業務流程圖:

圖2-4業務流程圖

2.5本章小結

本章主要通過對藥房庫存管理系統的可行性分析、功能需求分析、系統用例分析、系統流程分析,確定整個藥房庫存管理系統要實現的功能。同時也為藥房庫存管理系統的代碼實現和測試提供了標準。

3 藥房庫存管理系統總體設計

本章主要討論的內容包括藥房庫存管理系統的功能模塊設計、數據庫系統設計。

3.1?系統功能模塊設計

3.1.1整體功能模塊設計

在上一章節中主要對系統的功能性需求和非功能性需求進行分析,并且根據需求分析了本藥房庫存管理系統中的用例。那么接下來就要開始對本藥房庫存管理系統的架構、主要功能和數據庫開始進行設計。藥房庫存管理系統根據前面章節的需求分析得出,其總體設計模塊圖如圖3-1所示。

圖3-1?藥房庫存管理系統功能模塊圖

3.1.2用戶模塊設計

本系統的用戶包括管理員和用戶兩種用戶模塊的功能基本是相同的,用戶比管理員多了一個注冊功能,所以以用戶模塊的結構圖為例進行分析,用戶模塊結構圖為例進行分析,如下圖:

圖3-2用戶模塊結構圖

3.1.3?評論管理模塊設計

藥房庫存管理系統是一個交流性質的公開平臺,用戶在平臺上提交評論,增加用戶之間的互動性。但是同時也為了更好的規范評論的內容,給予管理員刪除不合適的評論的功能,所以需要專門設計一個評論管理模塊,具體的結構圖如下:

圖3-3評論管理模塊結構圖

3.1.4藥品管理模塊設計

藥房庫存管理系統是中需要存儲不少藥品信息,其模塊功能結構,具體的結構圖如下:

圖3-4藥品信息模塊結構圖

3.2 數據庫設計

數據庫設計一般包括需求分析、概念模型設計、數據庫表建立三大過程,其中需求分析前面章節已經闡述,概念模型設計有概念模型和邏輯結構設計兩部分。

3.2.1 數據庫概念結構設計

下面是整個藥房庫存管理系統中主要的數據庫表總E-R實體關系圖。

圖3-5?藥房庫存管理系統總E-R關系圖

3.3.2 數據庫邏輯結構設計

通過上一小節中藥房庫存管理系統中總E-R關系圖上得出一共需要創建很多個數據表。在此我主要羅列幾個主要的數據庫表結構設計。

表comment (評論)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

comment_id

int

10

0

N

Y

評論ID:

2

user_id

int

10

0

N

N

0

評論人ID:

3

reply_to_id

int

10

0

N

N

0

回復評論ID:空為0

4

content

longtext

2147483647

0

Y

N

內容:

5

nickname

varchar

255

0

Y

N

昵稱:

6

avatar

varchar

255

0

Y

N

頭像地址:[0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

創建時間:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間:

9

source_table

varchar

255

0

Y

N

來源表:

10

source_field

varchar

255

0

Y

N

來源字段:

11

source_id

int

10

0

N

N

0

來源ID:

表consult_a_doctor (咨詢醫生)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

consult_a_doctor_id

int

10

0

N

Y

咨詢醫生ID

2

consultation_title

varchar

64

0

Y

N

咨詢標題

3

patient_users

int

10

0

Y

N

0

患者用戶

4

doctor_users

int

10

0

Y

N

0

醫生用戶

5

patient_content

text

65535

0

Y

N

患者內容

6

doctors_content

text

65535

0

Y

N

醫生內容

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表doctor_users (醫生用戶)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

doctor_users_id

int

10

0

N

Y

醫生用戶ID

2

doctors_name

varchar

64

0

Y

N

醫生姓名

3

doctors_gender

varchar

64

0

Y

N

醫生性別

4

contact_phone_number

varchar

16

0

Y

N

聯系電話

5

doctors_id

varchar

64

0

N

N

醫生工號

6

examine_state

varchar

16

0

N

N

已通過

審核狀態

7

user_id

int

10

0

N

N

0

用戶ID

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表drug_information (藥品信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

drug_information_id

int

10

0

N

Y

藥品信息ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

drug_prices

int

10

0

Y

N

0

藥品價格

6

drug_inventory

int

10

0

Y

N

0

藥品庫存

7

applicable_symptoms

varchar

64

0

Y

N

適用癥狀

8

adverse_reactions

varchar

64

0

Y

N

不良反應

9

prohibited_population

varchar

64

0

Y

N

禁服人群

10

usage_and_dosage

varchar

64

0

Y

N

用法用量

11

production_date

date

10

0

Y

N

生產日期

12

located_in_the_warehouse

varchar

64

0

Y

N

所在庫房

13

drug_images

varchar

255

0

Y

N

藥品圖片

14

drug_introduction

longtext

2147483647

0

Y

N

藥品介紹

15

hits

int

10

0

N

N

0

點擊數

16

praise_len

int

10

0

N

N

0

點贊數

17

recommend

int

10

0

N

N

0

智能推薦

18

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

19

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表drug_purchase_records (購藥記錄)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

drug_purchase_records_id

int

10

0

N

Y

購藥記錄ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

drug_prices

varchar

64

0

Y

N

藥品價格

6

patient_users

int

10

0

Y

N

0

患者用戶

7

patient_name

varchar

64

0

Y

N

患者姓名

8

contact_phone_number

varchar

64

0

Y

N

聯系電話

9

purchase_quantity

int

10

0

Y

N

0

購買數量

10

total_purchase_price

varchar

64

0

Y

N

購買總價

11

purchase_notes

text

65535

0

Y

N

購買備注

12

pay_state

varchar

16

0

N

N

未支付

支付狀態

13

pay_type

varchar

16

0

Y

N

支付類型: 微信、支付寶、網銀

14

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

15

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表drug_return_information (退藥信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

drug_return_information_id

int

10

0

N

Y

退藥信息ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

drug_prices

varchar

64

0

Y

N

藥品價格

6

patient_users

int

10

0

Y

N

0

患者用戶

7

patient_name

varchar

64

0

Y

N

患者姓名

8

contact_phone_number

varchar

64

0

Y

N

聯系電話

9

purchase_quantity

varchar

64

0

Y

N

購買數量

10

reason_for_drug_withdrawal

text

65535

0

Y

N

退藥原因

11

examine_state

varchar

16

0

N

N

未審核

審核狀態

12

examine_reply

varchar

16

0

Y

N

審核回復

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表drug_type (藥品類型)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

drug_type_id

int

10

0

N

Y

藥品類型ID

2

drug_type

varchar

64

0

Y

N

藥品類型

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表inventory_information (盤點信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

inventory_information_id

int

10

0

N

Y

盤點信息ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

drug_inventory

varchar

64

0

Y

N

藥品庫存

6

inventory_date

date

10

0

Y

N

盤點日期

7

physical_inventory

int

10

0

Y

N

0

盤點數量

8

inventory_remarks

text

65535

0

Y

N

盤點備注

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表loss_reporting (報損丟失)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

loss_reporting_id

int

10

0

N

Y

報損丟失ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

reported_lost_quantity

int

10

0

Y

N

0

報丟數量

6

reason_for_reporting_loss

text

65535

0

Y

N

報丟原因

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表message_feedback (留言反饋)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

message_feedback_id

int

10

0

N

Y

留言反饋ID

2

feedback_title

varchar

64

0

Y

N

反饋標題

3

feedback_to_users

int

10

0

Y

N

0

反饋用戶

4

patient_name

varchar

64

0

Y

N

患者姓名

5

feedback_date

date

10

0

Y

N

反饋日期

6

feedback_content

text

65535

0

Y

N

反饋內容

7

examine_state

varchar

16

0

N

N

未審核

審核狀態

8

examine_reply

varchar

16

0

Y

N

審核回復

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表outbound_information (出庫信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

outbound_information_id

int

10

0

N

Y

出庫信息ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

outbound_date

date

10

0

Y

N

出庫日期

6

outbound_quantity

int

10

0

Y

N

0

出庫數量

7

outbound_remarks

text

65535

0

Y

N

出庫備注

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表patient_users (患者用戶)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

patient_users_id

int

10

0

N

Y

患者用戶ID

2

patient_name

varchar

64

0

Y

N

患者姓名

3

patient_gender

varchar

64

0

Y

N

患者性別

4

contact_phone_number

varchar

16

0

Y

N

聯系電話

5

examine_state

varchar

16

0

N

N

已通過

審核狀態

6

user_id

int

10

0

N

N

0

用戶ID

7

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表price_info (調價信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

price_info_id

int

10

0

N

Y

調價信息ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

drug_prices

varchar

64

0

Y

N

藥品價格

6

adjust_date

date

10

0

Y

N

調整日期

7

adjusting_prices

int

10

0

Y

N

0

調整價格

8

adjusting_remarks

text

65535

0

Y

N

調整備注

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表procurement_information (采購信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

procurement_information_id

int

10

0

N

Y

采購信息ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

drug_inventory

varchar

64

0

Y

N

藥品庫存

6

doctor_users

int

10

0

Y

N

0

醫生用戶

7

purchase_date

date

10

0

Y

N

采購日期

8

purchase_quantity

int

10

0

Y

N

0

采購數量

9

procurement_remarks

text

65535

0

Y

N

采購備注

10

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

11

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表sensitive_vocabulary (敏感詞匯)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

sensitive_vocabulary_id

int

10

0

N

Y

敏感詞匯ID

2

sensitive_vocabulary

varchar

64

0

Y

N

敏感詞匯

3

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

表storage_information (入庫信息)

編號

名稱

數據類型

長度

小數位

允許空值

主鍵

默認值

說明

1

storage_information_id

int

10

0

N

Y

入庫信息ID

2

drug_number

varchar

64

0

Y

N

藥品編號

3

drug_name

varchar

64

0

Y

N

藥品名稱

4

drug_type

varchar

64

0

Y

N

藥品類型

5

storage_date

date

10

0

Y

N

入庫日期

6

inventory_quantity

int

10

0

Y

N

0

入庫數量

7

storage_remarks

text

65535

0

Y

N

入庫備注

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

創建時間

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新時間

3.4本章小結

整個藥房庫存管理系統的需求分析主要對系統總體架構以及功能模塊的設計,通過建立E-R模型和數據庫邏輯系統設計完成了數據庫系統設計。

4?藥房庫存管理系統詳細設計與實現

藥房庫存管理系統的詳細設計與實現主要是根據前面的藥房庫存管理系統的需求分析和藥房庫存管理系統的總體設計來設計頁面并實現業務邏輯。主要從藥房庫存管理系統界面實現、業務邏輯實現這兩部分進行介紹。

4.1用戶功能模塊

4.1.1 前臺首頁界面

當進入藥房庫存管理系統的時候,系統以上中下的布局進行展示,首先映入眼簾的是系統的導航欄,下面是輪播圖,再往下是公告信息,其主界面展示如下圖4-1所示。

圖4-1?前臺首頁界面圖

4.1.2 用戶注冊界面

藥房庫存管理系統的游客和患者用戶時可以進行注冊登錄,當用戶右上角“注冊”按鈕的時候,當填寫上自己的賬號+密碼+確認密碼+昵稱+郵箱+手機號等后再點擊“注冊”按鈕后將會先驗證輸入的有沒有空數據,再次驗證密碼和確認密碼是否是一樣的,最后驗證輸入的賬戶名和數據庫表中已經注冊的賬戶名是否重復,只有都驗證沒問題后即可用戶注冊成功。其用用戶注冊界面展示如下圖4-2所示。

圖4-2注冊界面圖

注冊關鍵代碼如下:

/**

?????* 注冊

?????* @param user

?????* @return

?????*/

????@PostMapping("register")

????public Map<String, Object> signUp(@RequestBody User user) {

????????// 查詢用戶

????????Map<String, String> query = new HashMap<>();

????????Map<String,Object> map = JSON.parseObject(JSON.toJSONString(user));

????????query.put("username",user.getUsername());

????????List list = service.selectBaseList(service.select(query, new HashMap<>()));

????????if (list.size()>0){

????????????return error(30000, "用戶已存在");

????????}

????????map.put("password",service.encryption(String.valueOf(map.get("password"))));

????????service.insert(map);

????????return success(1);

} ????

4.1.3 用戶登錄界面

藥房庫存管理系統中的前臺上注冊后的用戶是可以通過自己的賬戶名和密碼進行登錄的,當患者用戶輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數據,再次驗證輸入的賬戶名+密碼和數據庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉到藥房庫存管理系統的首頁中;否則將會提示相應錯誤信息,用戶登錄界面如下圖4-3所示。

圖4-3用戶登錄界面圖

登錄的邏輯代碼如下所示。

/**

?????* 登錄

?????* @param data

?????* @param httpServletRequest

?????* @return

?????*/

????@PostMapping("login")

????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

????????log.info("[執行登錄接口]");

????????String username = data.get("username");

????????String email = data.get("email");

????????String phone = data.get("phone");

????????String password = data.get("password");

????????List resultList = null;

????????Map<String, String> map = new HashMap<>();

????????if(username != null && "".equals(username) == false){

????????????map.put("username", username);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}

????????else if(email != null && "".equals(email) == false){

????????????map.put("email", email);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}

????????else if(phone != null && "".equals(phone) == false){

????????????map.put("phone", phone);

????????????resultList = service.select(map, new HashMap<>()).getResultList();

????????}else{

????????????return error(30000, "賬號或密碼不能為空");

????????}

????????if (resultList == null || password == null) {

????????????return error(30000, "賬號或密碼不能為空");

????????}

????????//判斷是否有這個用戶

????????if (resultList.size()<=0){

????????????return error(30000,"用戶不存在");

????????}

????????User byUsername = (User) resultList.get(0);

????????Map<String, String> groupMap = new HashMap<>();

????????groupMap.put("name",byUsername.getUserGroup());

????????List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();

????????if (groupList.size()<1){

????????????return error(30000,"用戶組不存在");

????????}

????????UserGroup userGroup = (UserGroup) groupList.get(0);

????????//查詢用戶審核狀態

????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){

????????????String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

????????????String res = String.valueOf(service.runCountSql(sql).getSingleResult());

????????????if (res==null){

????????????????return error(30000,"用戶不存在");

????????????}

????????????if (!res.equals("已通過")){

????????????????return error(30000,"該用戶審核未通過");

????????????}

????????}

????????//查詢用戶狀態

????????if (byUsername.getState()!=1){

????????????return error(30000,"用戶非可用狀態,不能登錄");

????????}

????????String md5password = service.encryption(password);

????????if (byUsername.getPassword().equals(md5password)) {

????????????// 存儲Token到數據庫

????????????AccessToken accessToken = new AccessToken();

????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

????????????accessToken.setUser_id(byUsername.getUserId());

????????????tokenService.save(accessToken);

????????????// 返回用戶信息

????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

????????????user.put("token", accessToken.getToken());

????????????JSONObject ret = new JSONObject();

????????????ret.put("obj",user);

????????????return success(ret);

????????} else {

????????????return error(30000, "賬號或密碼不正確");

????????}

}

4.1.4我的賬戶界面

當用戶點擊右上角“我的”這個按鈕,會出現子菜單,點擊“我的賬戶”可以對個人的資料、登錄系統的密碼的信息進行設置管理,我的賬戶界面如下圖4-4所示。

圖4-4我的賬戶界面圖

4.1.5?新聞資訊界面

當訪客點擊藥房庫存管理系統中導航欄上的“新聞資訊”后將會進入到該“新聞資訊”列表的界面,然后選擇想要看的新聞資訊,點擊進入到詳細界面,在詳細界面可以收藏+贊+評論等操作,新聞資訊界面如下圖4-5所示。

圖4-5新聞資訊界面圖

4.1.6?藥品詳情界面

當用戶點擊“藥品信息”這一菜單按鈕,會顯示管理員在后臺發布的所有的藥品信息,支持通過關鍵詞對藥品信息進行搜索,選擇需要的藥品信息點擊可以進入到藥品信息詳細的介紹界面,在詳細界面可以查看到藥品信息的藥品編號、藥品名稱、藥品類型、藥品庫存、藥品價格、不良反應、用法用量、生產日期、所在庫房等信息,同時可以進行購買、點贊、收藏、評論等操作,藥品信息界面如下圖4-6所示。

圖4-6?藥品詳情界面圖

4.1.7購買界面

當用戶在藥品詳情界面想要進行購買,點擊下方的“購買”按鈕,就會跳轉到購買信息填寫界面,根據界面提示輸入購買信息,點擊“提交”按鈕,購買就完成了。購買界面如下圖4-7所示。

圖4-7購買界面圖

4.1.8留言反饋界面

點擊導航欄上的“留言反饋”,可以選擇反饋類型,患者姓名、反饋用戶、反饋日期、反饋內容,然后點擊“提交”按鈕進行提交問題反饋,留言反饋界面如下圖4-8所示。

圖4-8?留言反饋界面圖

4.2管理員功能模塊

4.2.1系統用戶管理界面

管理員點擊“系統用戶”這一菜單會顯示管理員、醫生用戶和患者用戶這三個子菜單,管理員可以對這三個角色的信息進行增刪改查操作,界面如下圖4-9所示。

圖4-9系統用戶管理界面圖

用戶管理關鍵代碼如下:

??@PostMapping("/add")

????@Transactional

????public Map<String, Object> add(HttpServletRequest request) throws IOException {

????????service.insert(service.readBody(request.getReader()));

????????return success(1);

????}

public Map<String, Object> addMap(Map<String,Object> map){

????service.insert(map);

?????return success(1);

?}

4.2.2藥品信息管理界面

管理員點擊“藥品信息”會顯示出所有的藥品信息,支持選擇藥品編號或者藥品名稱對藥品信息進行查詢,如果想要添加新的藥品信息,點擊“添加”按鈕,輸入藥品編號、藥品名稱、藥品類型、藥品庫存、藥品價格、不良反應、用法用量、生產日期、所在庫房等信息,點擊“提交”按鈕就可以添加了,同時可以選擇某一條藥品信息,點擊“刪除”進行刪除,也可以對用戶提交的藥品信息評論的信息進行管控。界面如下圖4-10所示。

圖4-10藥品信息管理界面圖

藥品信息管理關鍵代碼如下:

@RequestMapping("/get_obj")

????public Map<String, Object> obj(HttpServletRequest request) {

????????List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

????????if (resultList.size() > 0) {

????????????JSONObject jsonObject = new JSONObject();

????????????jsonObject.put("obj",resultList.get(0));

????????????return success(jsonObject);

????????} else {

????????????return success(null);

????????}

????}

4.2.3退藥信息管理界面

管理員點擊“退藥信息”會顯示出所有的退藥信息,支持通過藥品編號或者藥品名稱對退藥信息進行查詢,也可以選擇某一條退藥信息,點擊“刪除”進行刪除。界面如下圖4-11所示。

圖4-11退藥信息管理界面圖

退藥信息管理關鍵代碼如下:

?@RequestMapping("/get_list")

????public Map<String, Object> getList(HttpServletRequest request) {

????????Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));

????????return success(map);

????}

4.2.4入庫信息管理界面

管理員點擊“入庫信息”會顯示出所有的入庫信息,支持輸入藥品名稱或者藥品類型對入庫信息進行查詢,也可以選擇某一條入庫信息,點擊“刪除”進行刪除。界面如下圖4-12所示。

圖4-12 入庫信息管理界面圖

入庫信息管理關鍵代碼如下:

@PostMapping("/set")

@Transactional

????public Map<String, Object> set(HttpServletRequest request) throws IOException {

????????service.update(service.readQuery(request), service.readConfig(request), service.readBody(request.getReader()));

????????return success(1);

????}

4.2.5資源管理界面

資源管理主要管理員是對新聞資訊以及新聞資訊所屬的分類進行管控,包含了用戶對新聞資訊提交的評論信息,界面如下圖4-13所示。

圖4-13?資源管理界面圖

資源管理關鍵代碼如下:

@RequestMapping(value = "/del")

????@Transactional

????public Map<String, Object> del(HttpServletRequest request) {

????????service.delete(service.readQuery(request), service.readConfig(request));

????????return success(1);

????}

????public void delete(Map<String,String> query,Map<String,String> config){

????????QueryWrapper wrapper = new QueryWrapper<E>();

????????toWhereWrapper(query, "0".equals(config.get(FindConfig.GROUP_BY)),wrapper);

????????baseMapper.delete(wrapper);

????????log.info("[{}] - 刪除操作:{}",wrapper.getSqlSelect());

????}

5系統測試

5.1?系統測試用例

系統測試包括:用戶登錄功能測試、新聞資訊展示功能測試、藥品信息添加、藥品信息搜索、密碼修改、購買功能測試,如表5-1、5-2、5-3、5-4、5-5、5-6所示:

用戶登錄功能測試:

表5-1?用戶登錄功能測試表

用例名稱

用戶登錄系統

目的

測試用戶通過正確的用戶名和密碼可否登錄功能

前提

未登錄的情況下

測試流程

1) 進入登錄頁面

2) 輸入正確的用戶名和密碼

預期結果

用戶名和密碼正確的時候,跳轉到登錄成功界面,反之則顯示錯誤信息,提示重新輸入

實際結果

實際結果與預期結果一致

新聞資訊查看功能測試:

表5-2?新聞資訊查看功能測試表

用例名稱

新聞資訊查看

目的

測試新聞資訊查看功能

前提

用戶登錄

測試流程

點擊新聞資訊列表

預期結果

可以查看到所有新聞資訊信息

實際結果

實際結果與預期結果一致

醫生用戶添加藥品信息界面測試:

表5-3?醫生用戶添加藥品信息界面測試表

用例名稱

添加藥品信息測試用例

目的

測試藥品信息添加功能

前提

醫生用戶用戶正常登錄情況下

測試流程

1)醫生用戶點擊藥品信息,然后點擊添加后并填寫信息。

2)點擊進行提交。

預期結果

提交以后,頁面首頁會顯示新的藥品信息?

實際結果

實際結果與預期結果一致

藥品信息搜索功能測試:

表5-4藥品信息搜索功能測試表

用例名稱

藥品信息搜索測試

目的

測試藥品信息搜索功能

前提

測試流程

1)在搜索框填入搜索關鍵字。

2)點擊搜索按鈕。

預期結果

頁面顯示包含有搜索關鍵字的藥品信息

實際結果

實際結果與預期結果一致

密碼修改搜索功能測試:

表5-5 密碼修改功能測試表

用例名稱

密碼修改測試用例

目的

測試管理員密碼修改功能

前提

管理員用戶正常登錄情況下

測試流程

1)管理員密碼修改并完成填寫。

2)點擊進行提交。

預期結果

使用新的密碼可以登錄

實際結果

實際結果與預期結果一致

購買功能測試:

表5-6購買功能測試表

用例名稱

購買測試用例

目的

測試用戶購買功能

前提

用戶正常登錄情況下

測試流程

1)搜索查看藥品信息,點擊購買。

2)填寫購買信息,點擊進行提交。

預期結果

購買成功

實際結果

實際結果與預期結果一致

5.2?系統測試結果

通過編寫藥房庫存管理系統的測試用例,已經檢測完畢用戶登錄模塊、新聞資訊展示模塊、藥品信息添加模塊、藥品信息搜索模塊、密碼修改模塊、購買模塊功能測試,通過這6大模塊為藥房庫存管理系統的后期推廣運營提供了強力的技術支撐。

結論

本文描述了藥房庫存管理系統設計與實現的原理和開發過程,該系統是通過SpringBoot框架來搭建后臺,中間件使用的是Tomcat服務器,數據庫管理平臺采用開源的Mysql,前臺使用的是JQuery框架,同時使用Validate校驗框架,這樣就可以減少前端代碼的輸入量,而且基于JQuery框架的Validat框架使用簡單,是流行的前端使用框架,前端使用的主要是HTML頁面展示技術。?

在開發前做了許多的準備,在本系統的設計和開發過程中閱覽和學習了許多文獻資料,從開發這個藥房庫存管理系統的過程中我也收獲了許許多多寶貴的方法以及設計思路,對系統的開發也起到了很重要的作用,系統的開發技術選用的都是自己比較熟悉的,比如Web、SpringBoot、MYSQL,這些技術都是在以前的學習中學到了,其中許多的設計思路和方法都是在以前不斷地學習中摸索出來的經驗,其實對于我們來說工作量還是比較大的,但是正是由于之前的積累與準備,才能順利的完成這個項目,由此看來,積累經驗跟做好準備是十分重要的事情。

當然在該系統的設計與實現的過程中也離不開老師以及同學們的幫助,正是因為他們的指導與幫助,我才能夠成功的在預期內完成了這個系統。同時在這個過程當中我也收獲了很多東西,此系統也有需要改進的地方,但是由于專業知識的淺薄,并不能做到十分完美,希望以后有機會可以讓其真正的投入到使用之中。

參考文獻

[1]宋曉燕,楊芬. Java程序設計語言的分層教學實踐 [J]. 電子技術, 2023, 52 (11): 182-183.

[2]劉明,楊勝飛,張冶鋒等. 基于SpringBoot框架的長距離輸水工程水量監測系統設計 [J]. 云南水力發電, 2023, 39 (11): 359-362.

[3]尹應荊. JAVA編程語言在計算機軟件開發中的應用 [J]. 石河子科技, 2023, (05): 45-47.

[4]李彩霞,宮兆東,李娜. 藥品實庫存管理模式在門診藥品管理中的應用效果 [J]. 臨床合理用藥, 2023, 16 (27): 163-166.

[5]Liang C . School Vehicle Management System Based on JAVA Language [J]. Academic Journal of Computing & Information Science, 2023, 6 (9):

[6]袁琳琳. 淺析Java語言在計算機軟件開發中的應用 [J]. 信息記錄材料, 2023, 24 (09): 81-83.

[7]孟思明. 基于SpringBoot框架選購系統的設計與實現 [J]. 中國設備工程, 2023, (11): 94-95.

[8]岳峰,段政偉. 基于SpringBoot框架的營區手機管控平臺設計與實現 [J]. 無線互聯科技, 2023, 20 (11): 49-52.

[9]王曼卿. 一種基于圖像處理的藥房庫存管理系統和方法[P]. 湖北省: CN108229888B, 2022-09-09.

[10]Nguyen H P ,Dang K V T ,Nguyen T P , et al. 5-year inventory management of drug products using ABC-VEN analysis in the pharmacy store of a specialized public hospital in Vietnam [J]. Pharmacia, 2022, 69 (2): 517-525.

[11]Boelman V . Inventory management is a team effort [J]. ISE ; Industrial and Systems Engineering at Work, 2022, 54 (5): 24-24.

[12]金銀芝,張慧慧,吳松. 智能中藥房輔助配藥與庫存管理系統的設計與應用 [J]. 浙江中醫雜志, 2021, 56 (10): 778-779.

[13]王穎瑞. 藥房信息管理系統的設計與實現[D]. 北京郵電大學, 2020.

[14]姚海艇. 網絡一體化在藥房管理中的作用分析 [J]. 中醫藥管理雜志, 2020, 28 (06): 49-50.

[15]楊誠. 基于圖像識別的藥房庫存管理系統設計與實現[D]. 南京理工大學, 2020.

[16]顧曉琴. 醫院藥品庫存管理系統的改進 [J]. 數字技術與應用, 2020, (07): 152.

致 ?謝

逝者如斯夫,不舍晝夜。轉眼間,大學生活便已經接近尾聲,人面對著離別與結束,總是充滿著不舍與茫然,我亦如此,仍記得那年秋天,我迫不及待的提前一天到了學校,面對學校巍峨的大門,我心里充滿了期待:這里,就是我新生活的起點嗎?那天,陽光明媚,學校的歡迎儀式很熱烈,我面對著一個個對著我微笑的同學,仿佛一縷縷陽光透過胸口照進了我心里,同時,在那天我認識可愛的室友,我們攜手共同度過了這難忘的兩年。如今,我望著這篇論文的致謝,不禁又要問自己:現在,我們就要說再見了嗎?

感慨莫名,不知所言。遙想當初剛來學校的時候,心里總是想著工科學校會過于板正,會缺乏一些柔情,當時心里甚至有一點點排斥,但是隨著我對學校的慢慢認識與了解,我才認識到了她的美麗,她的柔情,并且慢慢的喜歡上了這個校園,但是時間太快了,快到我還沒有好好體會她的美麗便要離開了,但是她帶給我的回憶,永遠不會離開我,也許真正離開那天我的眼里會滿含淚水,我不是因為難過,我只是想將她的樣子映在我的淚水里,刻在我的心里。最后,感謝我的老師們,是你們教授了我們知識與做人的道理;感謝我的室友們,是你們陪伴了我如此之久;感謝每位關心與支持我的人。

少年,追風趕月莫停留,平荒盡處是春山。

免費領取項目源碼,請關注?點贊收藏并私信博主,謝謝~

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:
http://www.pswp.cn/web/43618.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/43618.shtml
英文地址,請注明出處:http://en.pswp.cn/web/43618.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MES ERP PM 質量管理 人機料法環測 質量控制六要素

七要素 在質量管理理論中&#xff0c;特別是在制造業中&#xff0c;分析生產過程中影響產品質量的七個關鍵因素 人機料法環測七要素是指在質量管理理論中&#xff0c;特別是在制造業中&#xff0c;分析生產過程中影響產品質量的七個關鍵因素。這七個要素包括&#xff1a; …

谷歌報告顯示:2023 年 50% 的0day漏洞利用背后都是間諜軟件供應商

人不走空 &#x1f308;個人主頁&#xff1a;人不走空 &#x1f496;系列專欄&#xff1a;算法專題 ?詩詞歌賦&#xff1a;斯是陋室&#xff0c;惟吾德馨 導 讀 谷歌威脅分析小組 (TAG) 和谷歌子公司 Mandiant 表示&#xff0c;他們觀察到 2023 年攻擊中利用的0day漏洞…

print(f‘ \‘)python中加了\之后有很大空行,如何去掉

在 Python 中&#xff0c;反斜杠 \ 通常用于表示字符串的續行符&#xff0c;允許你將長字符串拆分成多行。然而&#xff0c;如果你在 print 函數中使用反斜杠并在其后面加上空格或換行符&#xff0c;可能會導致意外的空行或空格。 在 print 函數中避免這些空行或空格&#xff…

垃圾百度網盤到底誰在使用

通過鏈接分享 通過鏈接分享到vx給好友查看好友在微信聊天框內打開百度網盤鏈接直接查看即使點擊查看大圖查看的圖片依舊很模糊&#xff0c;不是原圖點擊右下角去app查看在百度網盤內部查看時&#xff0c;顯示的和下載的才是原圖真的是用戶體驗極差&#xff0c;真的垃圾… 通過…

數據結構與算法的聯系(筆記)

文章目錄 1. 什么是數據結構定義舉例CRUD難道不是都一樣嗎&#xff1f; 總結 2. 什么是算法3. 數據結構與算法的聯系舉例 4. 推薦 1. 什么是數據結構 定義 數據結構(data structure)是計算機中存儲、組織數據的方式。 關鍵詞&#xff1a;① 數據 ② 存儲 ③ 組織 舉例 以手機通…

基于 Nginx + Spring Boot + Vue + JPA 的網站安全防護指南

引言 在現代互聯網時代&#xff0c;確保網站的安全性非常重要。尤其是基于前后端分離架構&#xff0c;更需要特別注意安全防護。接下來&#xff0c;帶你了解幾種常見的安全攻擊及其應對措施。 常見的安全攻擊及應對措施 1. 跨站腳本攻擊 (XSS) 攻擊描述&#xff1a; 跨站腳…

css簡單易懂的加載動畫,看不會算我輸好吧

效果展示 步驟 第一階段 先準備結構&#xff0c;并且放置12個div&#xff0c;每一個div旋轉30*n度&#xff0c; 做一個圓圈 dom <div class"modal"><div class"loading"><div class"item1"></div><div class&quo…

Spark 分布式彈性計算集(RDD)相關概念介紹

目錄 一、概述 二、RDD的核心概念 2.1 Partition 2.2 Partitioner 2.3 RDD的依賴關系 2.4 Stage 2.5 PreferredLocation 2.6 CheckPoint 三、RDD的持久化 3.1 概述 3.2 概念 3.3 RDD持久化級別 3.3.1 MEMORY_ONLY 3.3.2 MEMORY_AND_DISK 3.3.3 MEMORY_ONLY_SER …

基于語義的法律問答系統

第一步&#xff0c;準備數據集 第二步&#xff0c;構建索引數據集&#xff0c;問答對數據集&#xff0c;訓練數據集&#xff0c;召回評估數據集 第三步&#xff0c;構建dataloader,選擇優化器訓練模型&#xff0c;之后召回評估 第四步&#xff0c;模型動轉靜&#xff0c;之后…

Synchronized底層工作原理

Synchronized 是Java中最常用的內置鎖機制&#xff0c;用于確保多線程環境下的同步。其底層原理涉及到JVM&#xff08;Java虛擬機&#xff09;和字節碼指令。以下是 synchronized 的底層工作原理的詳細介紹&#xff1a; 1. 基本概念 對象頭&#xff08;Object Header&#xf…

【UE5.1 角色練習】15-槍械射擊——子彈發射物

目錄 效果 步驟 一、創建并發射子彈 二、優化子彈 效果 步驟 一、創建并發射子彈 1. 在前面的文章中&#xff08;【UE5.1 角色練習】06-角色發射火球-part1&#xff09;我們創建了藍圖“BP_Skill_FireBall” 這里我們復制一份命名為“BP_Ammo_5mm”&#xff0c;用于表示…

科技的成就(六十一)

567、數據虛擬化 用來描述所有數據管理方法的涵蓋性術語&#xff0c;這些方法允許應用程序檢索并管理數據&#xff0c;且不需要數據相關的技術細節&#xff0c;例如它格式化的方式或物理位置所在。數據整合的過程&#xff0c;以此獲得更多的數據信息&#xff0c;這個過程通常會…

SLAM中的塊矩陣與schur補

文章目錄 SLAM中的塊矩陣與schur補Schur補的另一種解釋對角塊矩陣的逆為各個塊的逆的組合 SLAM中的塊矩陣與schur補 Schur補的另一種解釋 Schur從概率角度來解釋是比較常見的一種推導&#xff0c;可以參考博客https://blog.csdn.net/weixin_41469272/article/details/1219944…

若依搭建 帝可得 售貨機 筆記

一、搭建項目 1.后端gitee鏈接&#xff1a; 啟動項目時記得修改mysql和redis的相關信息&#xff1b;創建項目相關數據庫&#xff0c;并導入初始化的SQL腳本 dkd-parent: 帝可得后臺管理系統 (gitee.com) 2.前端gitee鏈接&#xff1a; 啟動項目時記得安裝依賴&#xff1a;np…

Github Action 自動部署更新靜態網頁服務

本文首發于 Anyeの小站&#xff0c;點擊跳轉 獲得更優質的閱讀體驗 前言 貼一段胡話 在用過 應用&#xff1a;靜態網頁服務 之后&#xff0c;事實證明&#xff1a; 總而言之&#xff0c;自動化是一個很令人著迷的東西&#xff0c;擺脫重復繁瑣的工作&#xff0c;解放了雙手的…

JCR一區 | Matlab實現GAF-PCNN-MATT、GASF-CNN、GADF-CNN的多特征輸入數據分類預測/故障診斷

JJCR一區 | Matlab實現GAF-PCNN-MATT、GASF-CNN、GADF-CNN的多特征輸入數據分類預測/故障診斷 目錄 JJCR一區 | Matlab實現GAF-PCNN-MATT、GASF-CNN、GADF-CNN的多特征輸入數據分類預測/故障診斷分類效果格拉姆矩陣圖GAF-PCNN-MATTGASF-CNNGADF-CNN 基本介紹程序設計參考資料 分…

【45 Pandas+Pyecharts | 去哪兒海南旅游攻略數據分析可視化】

文章目錄 &#x1f3f3;??&#x1f308; 1. 導入模塊&#x1f3f3;??&#x1f308; 2. Pandas數據處理2.1 讀取數據2.2 查看數據信息2.3 日期處理&#xff0c;提取年份、月份2.4 經費處理2.5 天數處理 &#x1f3f3;??&#x1f308; 3. Pyecharts數據可視化3.1 出發日期_…

華南師范大學“大學生校外實踐教學基地”授牌儀式暨見習參觀活動圓滿結束

為促進校企合作的深入發展&#xff0c;培育出具有實際應用技能的人才&#xff0c;7月9日&#xff0c;華南師范大學數學科學院與廣東泰迪智能科技股份有限公司聯合開展“大學生校外實踐教學基地”授牌儀式暨見習參觀活動。華南師范大學數學科學院數據科學系主任陳艷男、副主任陳…

深入理解model.eval()與torch.no_grad()

model.eval() 使用model.eval()切換到測試模式&#xff0c;不會更新模型的w&#xff08;權重&#xff09;&#xff0c;b&#xff08;偏置&#xff09;參數通知dropout層和batchnorm層在train和val中間進行切換&#xff1a; 在train模式&#xff0c;dropout層會按照設定的參數p…

Idea 2023 使用GitLab提交代碼提示輸入Token

項目場景&#xff1a; 今天電腦換硬盤了&#xff0c;安裝了 IDEA2023 款的社區版開發工具&#xff0c;下載代碼后&#xff0c;提交并推送代碼到遠程服務器的時候&#xff0c;提示輸入Token&#xff0c;并不是用戶名和密碼。 問題描述 推送代碼到遠程GitLab本地倉庫的時候&…