基于SSM的药店管理系统-毕业设计源码20241

摘 要

随着人们健康意识的提升和中医药产业的兴起,中药材的科普与销售变得愈发重要。然而,传统的中药材信息传播和销售方式存在信息不透明、销售渠道狭窄等问题,为此,开发基于SSM的药店管理系统成为迫切需求。这种网站将为用户提供可靠的中药材信息、科学的中药材知识普及以及便捷的中药材销售服务,促进中药材行业的健康发展。

本研究旨在设计与实现基于SSM的药店管理系统,系统功能包括中药材科普知识展示、中药材信息查询、用户注册与登录、在线购买与支付等。通过该网站的建立,旨在为用户提供全面、科学的中药材知识普及,增强用户对中药材的了解与信任;同时,提供便捷的中药材购买服务,满足用户对中药材的需求。本研究将探讨系统的设计与实现过程,为中药材科普和销售领域的发展提供实践经验和启示。

关键词:中药材科普及销售;Java语言;SSM框架;Mysql数据库

Abstract

With the improvement of people's health awareness and the rise of the traditional Chinese medicine industry, the popularization and sales of Chinese medicinal materials have become increasingly important. However, traditional methods of information dissemination and sales of traditional Chinese medicinal materials suffer from issues such as information opacity and narrow sales channels. Therefore, developing a Chinese medicinal material science popularization and sales website based on the Spring Boot framework has become an urgent need. This website will provide users with reliable information on traditional Chinese medicine, scientific knowledge dissemination of traditional Chinese medicine, and convenient sales services, promoting the healthy development of the traditional Chinese medicine industry.

The aim of this study is to design and implement a Chinese herbal medicine popularization and sales website based on the Spring Boot framework. The system functions include displaying Chinese herbal medicine popularization knowledge, querying Chinese herbal medicine information, user registration and login, online purchase and payment, etc. The establishment of this website aims to provide users with comprehensive and scientific knowledge of traditional Chinese medicine, and enhance their understanding and trust in traditional Chinese medicine; At the same time, we provide convenient purchasing services for traditional Chinese medicine to meet the needs of users. This study will explore the design and implementation process of the system, providing practical experience and inspiration for the development of traditional Chinese medicine science popularization and sales.

Keywords: Popularization and sales of traditional Chinese medicine; Java language; SpringBoot framework; MySQL database

1章  

1.1 研究背景及意义

本研究旨在设计和实现一个基于SSM的药店管理系统,包括后台首页、药品信息管理、销售信息管理、采购计划管理、进货信息管理、药品入库管理、供应商信息管理、药品类型管理、部门信息管理、医保信息管理、员工考勤管理、通知公告管理等功能模块。通过该系统,药店管理人员可以便捷地进行药品库存管理、销售管理、采购管理、员工管理等工作。本研究将充分考虑药店管理的实际需求,结合SSM框架的优势,设计一个功能完善、性能稳定的药店管理系统,以提高药店管理的效率和准确性。

随着医药行业的快速发展,药店管理面临着越来越多的挑战。传统的药店管理方式往往效率低下,信息传递存在阻碍,药品库存管理和销售管理等方面存在一定的问题。因此,设计并实现一个基于SSM的药店管理系统具有重要意义。该系统将为药店管理人员提供一个高效的信息管理平台,方便进行药品信息管理、销售管理、采购管理等工作。同时,系统也将为药店管理者提供便捷的员工管理和医保信息管理功能,提高药店管理的效率。因此,本研究对于促进药店管理的现代化转型,提升药店管理的效率和准确性,具有重要的现实意义。

1.2研究现状

当前,随着医药行业的不断发展和信息化水平的提高,药店管理系统的研究和应用得到了广泛关注。在国内外,许多药店已经开始关注药店管理系统的建设,通过信息化手段提高药店管理的效率和服务质量。一些先进的药店管理系统已经应用了SSM(Spring+SpringMVC+MyBatis)等框架,并结合了传统的药品信息管理、销售信息管理、采购计划管理等功能,以满足药店的日常管理需求。

1.3系统开发的目标意义

基于SSM的药店管理系统的开发旨在提高管理效率、优化服务质量、提升安全性、改善用户体验,并为药店提供数据分析和决策支持功能。通过系统化的药品信息管理、销售信息管理、采购计划管理等功能,药店可以提高管理效率和准确性,降低人力成本,优化服务质量,提高销售和库存管理的准确性,降低风险,提高用户满意度。因此,系统的建立具有重要的现实意义和应用价值。

1.4论文结构与章节安排

本文共分为六章,章节内容安排如下:

第一章:结论。此章节对所设计和实现的系统的背景和状况以及意义进行详细的论述以及说明,同时进行了论文整体框架的结构的简要介绍。

第二章:系统需求分析。章节所做的主要的工作是对系统进行了技术、经济和操作方面可行性的分析;对系统实行了总体功能的需求、用例分析。

第三章:系统的设计。主要是对系统的功能结构进行设计,并对系统数据库的概念结构以及物理结构的设计进行了分析。

第四章:系统的实现。根据系统功能的划分,分别的对系统所需要实现的前台客户功能和后台管理员功能进行了分析和说明。

第五章:系统测试。主要对系统的部分界面进行测试并对主要功能进行测试

第六章:总结。

以上是一个典型的论文结构与章节安排,每个章节可以根据具体研究内容和需要进行调整和补充。这样的结构安排可以使论文的内容逻辑清晰、条理清楚,有助于读者理解和阅读。

2章 药店管理系统系统分析

系统分析是设计与实现基于SSM框架的药店管理系统的关键步骤,包括需求分析、功能分析、数据分析、系统架构分析、用户体验分析和安全性分析等方面。通过系统分析,可以深入了解系统需求和设计方向,确保系统功能完善、稳定运行、用户体验良好,并为系统的设计与开发奠定坚实基础,以满足用户需求和实现系统的预期目标。

2.1 可行性分析

2.1.1技术可行性分析

基于SSM框架的药店管理系统在技术上具有较高的可行性。Spring作为主流的Java企业应用开发框架,提供了强大的依赖注入和面向切面编程的支持,使得系统的业务逻辑开发更加简洁高效。Spring MVC作为Spring的一个子项目,提供了强大的MVC框架支持,便于开发人员进行系统的Web层开发。MyBatis作为持久层框架,能够有效地简化数据库操作,提高数据访问层的开发效率。

除此之外,SSM框架本身具备良好的扩展性和灵活性,能够满足药店管理系统的复杂业务需求。同时,基于SSM框架的系统开发能够充分利用Java语言的跨平台特性,便于系统的部署和维护。因此,从技术角度来看,基于SSM的药店管理系统的设计与实现具有较高的可行性,能够满足药店管理系统的开发需求。

2.1.2经济可行性分析

基于SSM框架的药店管理系统在经济上具有较高的可行性。首先,SSM框架是开源免费的,能够有效降低系统开发成本,同时Java作为主流编程语言,具有丰富的资源和开发人才,降低了人力成本。其次,SSM框架具有良好的稳定性和可维护性,能够降低系统后期的维护成本。最后,药店管理系统的应用将提高药店的管理效率和服务质量,有望提升销售业绩和客户满意度,进而带来一定的经济收益。因此,基于SSM框架的药店管理系统在经济上具有一定的可行性,能够在一定程度上降低成本,提高收益,为药店带来经济效益。

2.1.3操作可行性分析

此次项目设计的时候我参考了很多类似系统的成功案例,对它们的操作界面以及功能都进行了系统的分析,将众多案例结合在一起,突出以人为本简化操作,所以具有基本计算机知识的人都会操作本项目。因此操作可行性也没有问题。

2.2 系统功能分析

2.2.1 功能性分析

系统功能性分析是对系统所需实现的各项功能进行详细、全面的分析和描述,包括用户需求、操作流程、数据处理、界面设计等方面。在设计与实现基于SSM的药店管理系统时,系统功能性分析应涵盖以下方面:

(1)管理员功能模块:

药品信息管理:包括药品的添加、修改、删除等操作,以及库存量的监控。

销售信息管理:记录和查看药品的销售情况,统计销售数据。

采购计划管理:制定药品的采购计划,跟踪采购进度和库存情况。

进货信息管理:记录药品的进货信息,包括供应商信息、进货数量、时间等。

药品入库管理:对进货的药品进行验收入库,并更新库存信息。

供应商信息管理:管理供应商的信息,包括联系方式、进货记录等。

(2)员工用户功能模块:

药品查询:查询药品的基本信息、库存情况等。

销售记录查询:查询个人的销售记录和工作业绩。

个人信息管理:包括个人信息的查看和修改。

医保信息管理:记录医保患者信息,方便医保结算。

员工考勤管理:记录个人的考勤情况。

通过以上功能性分析,管理员和员工用户可以根据其权限和角色进行不同的操作,以实现药店管理系统的高效运行。

2.2.2 非功能性分析

药店管理系统的非功能性需求比如药店管理系统的安全性怎么样,可靠性怎么样,性能怎么样,可拓展性怎么样等。具体可以表示在如下3-1表格中:

3-1药店管理系统非功能需求表

安全性

主要指药店管理系统数据库的安装,数据库的使用和密码的设定必须合乎规范。

可靠性

可靠性是指药店管理系统能够安装用户的指示进行操作,经过测试,可靠性90%以上。

性能

性能是影响药店管理系统占据市场的必要条件,所以性能最好要佳才好。

可扩展性

比如数据库预留多个属性,比如接口的使用等确保了系统的非功能性需求。

易用性

用户只要跟着药店管理系统的页面展示内容进行操作,就可以了。

可维护性

药店管理系统开发的可维护性是非常重要的,经过测试,可维护性没有问题

2.3 系统用例分析

药店管理系统的完整UML用例图分别是图2-1和图2-2。在参与者上包括普通用户和管理员。普通用户角色用例如图2-1所示。

图2-1 药店管理系统普通用户角色用例图

web后台管理上的管理员是维护整个药店管理系统中所有数据信息的,管理员可以进行登录、系统用户(管理员、普通用户)、系统管理(轮播图管理)、系统通知公告管理、中药信息管理、订单信息管理、系统管理、资源管理(中药资讯、资讯分类)、权限管理。管理员角色用例如图2-3所示。

图2-3 药店管理系统管理员角色用例图

2.4业务流程分析

药店管理系统的基本业务流程图如图2-4所示:

图2.5 业务流程图

2.5本章小结

本章我们探讨了基于SSM框架的药店管理系统的设计与实现。通过功能性分析,我们明确了系统各模块的功能需求,包括后台首页、药品信息管理、销售信息管理、采购计划管理、进货信息管理、药品入库管理、供应商信息管理、药品类型管理、部门信息管理、医保信息管理、员工考勤管理、通知公告管理等功能。我们从技术、经济和操作等方面进行了可行性分析,认为系统在技术上具有可行性,经济上具有成本效益,操作上具有便捷性。最后,通过系统的设计目标意义和功能性分析,基于SSM的药店管理系统的设计与实现将提高药店的管理效率、数据准确性和服务质量,为药店的经营发展提供重要支持。系统的建立将有助于提升药店的现代化水平,优化服务质量,提高安全性,改善用户体验,并提供数据支持,具有重要的现实意义和应用前景。

3章 药店管理系统总体设计

本章主要讨论的内容包括药店管理系统的功能模块设计、数据库系统设计。

3.1 系统架构设计

本药店管理系统从架构上分为三层:表现层(UI)、业务逻辑层(BLL)以及数据层(DL)。

图3-1药店管理系统系统架构设计图

表现层(UI):又称UI层,主要完成本药店管理系统的UI交互功能,一个良好的UI可以打打提高用户的用户体验,增强用户使用本药店管理系统时的舒适度。UI的界面设计也要适应不同版本的药店管理系统以及不同尺寸的分辨率,以做到良好的兼容性。UI交互功能要求合理,用户进行交互操作时必须要得到与之相符的交互结果,这就要求表现层要与业务逻辑层进行良好的对接。

业务逻辑层(BLL):主要完成本药店管理系统的数据处理功能。用户从表现层传输过来的数据经过业务逻辑层进行处理交付给数据层,系统从数据层读取的数据经过业务逻辑层进行处理交付给表现层。

数据层(DL):由于本药店管理系统的数据是放在服务端的mysql数据库中,因此本属于服务层的部分可以直接整合在业务逻辑层中,所以数据层中只有数据库,其主要完成本药店管理系统的数据存储和管理功能。

3.2 系统模块设计

在上一章节中主要对系统的功能性需求和非功能性需求进行分析,并且根据需求分析了本药店管理系统中的用例。那么接下来就要开始对本药店管理系统的架构、主要功能和数据库开始进行设计。药店管理系统根据前面章节的需求分析得出,其总体设计模块图如图3-2所示。

图3-2 药店管理系统功能模块图

3.3 数据库设计

数据库设计一般包括需求分析、概念模型设计、数据库表建立三大过程,其中需求分析前面章节已经阐述,概念模型设计有概念模型和逻辑结构设计两部分。

3.3.1 数据库概念结构设计

下面是整个药店管理系统中主要的数据库表总E-R实体关系图。

图3-2 药店管理系统总E-R关系图

3.3.2 数据库逻辑结构设计

通过上一小节中药店管理系统中总E-R关系图上得出一共需要创建很多个数据表。在此我主要罗列几个主要的数据库表结构设计。

表access_token (登陆访问时长)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

token_id

int

10

0

N

Y

临时访问牌ID

2

token

varchar

64

0

Y

N

临时访问牌

3

info

text

65535

0

Y

N

4

maxage

int

10

0

N

N

2

最大寿命:默认2小时

5

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

7

user_id

int

10

0

N

N

0

用户编号:

表auth (用户权限管理)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

auth_id

int

10

0

N

Y

授权ID:

2

user_group

varchar

64

0

Y

N

用户组:

3

mod_name

varchar

64

0

Y

N

模块名:

4

table_name

varchar

64

0

Y

N

表名:

5

page_title

varchar

255

0

Y

N

页面标题:

6

path

varchar

255

0

Y

N

路由路径:

7

position

varchar

32

0

Y

N

位置:

8

mode

varchar

32

0

N

N

_blank

跳转方式:

9

add

tinyint

3

0

N

N

1

是否可增加:

10

del

tinyint

3

0

N

N

1

是否可删除:

11

set

tinyint

3

0

N

N

1

是否可修改:

12

get

tinyint

3

0

N

N

1

是否可查看:

13

field_add

text

65535

0

Y

N

添加字段:

14

field_set

text

65535

0

Y

N

修改字段:

15

field_get

text

65535

0

Y

N

查询字段:

16

table_nav_name

varchar

500

0

Y

N

跨表导航名称:

17

table_nav

varchar

500

0

Y

N

跨表导航:

18

option

text

65535

0

Y

N

配置:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

表department_information (部门信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

department_information_id

int

10

0

N

Y

部门信息ID

2

department_name

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

更新时间

表drugs_warehousing (药品入库)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

drugs_warehousing_id

int

10

0

N

Y

药品入库ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

drug_name

varchar

64

0

Y

N

药品名称

5

drug_category

varchar

64

0

Y

N

药品类别

6

drug_number

varchar

64

0

Y

N

药品编号

7

inventory_quantity

int

10

0

Y

N

0

入库数量

8

storage_time

datetime

19

0

Y

N

入库时间

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表drug_category (药品类别)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

drug_category_id

int

10

0

N

Y

药品类别ID

2

drug_category

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

更新时间

表drug_outbound (药品出库)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

drug_outbound_id

int

10

0

N

Y

药品出库ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

drug_name

varchar

64

0

Y

N

药品名称

5

drug_category

varchar

64

0

Y

N

药品类别

6

drug_number

varchar

64

0

Y

N

药品编号

7

outbound_quantity

int

10

0

Y

N

0

出库数量

8

outbound_time

datetime

19

0

Y

N

出库时间

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表employee_attendance (员工考勤)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_attendance_id

int

10

0

N

Y

员工考勤ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

attendance_days

int

10

0

Y

N

0

出勤天数

5

leave_days

int

10

0

Y

N

0

请假天数

6

overtime_days

int

10

0

Y

N

0

加班天数

7

performance_appraisal

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

更新时间

表employee_users (员工用户)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

employee_users_id

int

10

0

N

Y

员工用户ID

2

employee_name

varchar

64

0

Y

N

员工姓名

3

employee_gender

varchar

64

0

Y

N

员工性别

4

contact_information

varchar

64

0

Y

N

联系方式

5

department_name

varchar

64

0

Y

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

更新时间

表hits (用户点击)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

hits_id

int

10

0

N

Y

点赞ID:

2

user_id

int

10

0

N

N

0

点赞人:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

表medical_insurance_information (医保信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

medical_insurance_information_id

int

10

0

N

Y

医保信息ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

customer_name

varchar

64

0

Y

N

客户姓名

5

drug_name

varchar

64

0

Y

N

药品名称

6

medical_insurance_payment

int

10

0

Y

N

0

医保支付

7

purchase_date

datetime

19

0

Y

N

购买日期

8

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表notification_announcement (通知公告)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

notification_announcement_id

int

10

0

N

Y

通知公告ID

2

announcement_name

varchar

64

0

Y

N

公告名称

3

announcement_title

varchar

64

0

Y

N

公告标题

4

announcement_image

varchar

255

0

Y

N

公告图片

5

release_time

date

10

0

Y

N

发布时间

6

announcement_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

更新时间

表procurement_plan (采购计划)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

procurement_plan_id

int

10

0

N

Y

采购计划ID

2

plan_name

varchar

64

0

Y

N

计划名称

3

drug_name

varchar

64

0

Y

N

药品名称

4

drug_category

varchar

64

0

Y

N

药品类别

5

drug_number

varchar

64

0

Y

N

药品编号

6

purchase_quantity

int

10

0

Y

N

0

采购数量

7

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

更新时间

表purchasing_information (进货信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

purchasing_information_id

int

10

0

N

Y

进货信息ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

drug_name

varchar

64

0

Y

N

药品名称

5

drug_category

varchar

64

0

Y

N

药品类别

6

drug_number

varchar

64

0

Y

N

药品编号

7

purchase_quantity

int

10

0

Y

N

0

进货数量

8

purchase_price

int

10

0

Y

N

0

进货价格

9

supplier_name

varchar

64

0

Y

N

供应商名称

10

purchase_time

datetime

19

0

Y

N

进货时间

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表sales_information (销售信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

sales_information_id

int

10

0

N

Y

销售信息ID

2

employee_users

int

10

0

Y

N

0

员工用户

3

employee_name

varchar

64

0

Y

N

员工姓名

4

drug_name

varchar

64

0

Y

N

药品名称

5

drug_category

varchar

64

0

Y

N

药品类别

6

drug_number

varchar

64

0

Y

N

药品编号

7

sales_quantity

int

10

0

Y

N

0

销售数量

8

drug_prices

int

10

0

Y

N

0

药品价格

9

sales_price

varchar

64

0

Y

N

销售价格

10

sales_date

datetime

19

0

Y

N

销售日期

11

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

12

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表storage_information (药品信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

storage_information_id

int

10

0

N

Y

药品信息ID

2

drug_name

varchar

64

0

Y

N

药品名称

3

drug_category

varchar

64

0

Y

N

药品类别

4

drug_images

varchar

255

0

Y

N

药品图片

5

drug_number

varchar

64

0

Y

N

药品编号

6

drug_inventory

int

10

0

Y

N

0

药品库存

7

drug_prices

int

10

0

Y

N

0

药品价格

8

drug_effects

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

更新时间

表supplier_information (供应商信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

supplier_information_id

int

10

0

N

Y

供应商信息ID

2

supplier_name

varchar

64

0

Y

N

供应商名称

3

contact_information

varchar

64

0

Y

N

联系方式

4

supplier_address

varchar

64

0

Y

N

供应商地址

5

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

创建时间

6

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间

表upload (文件上传)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

upload_id

int

10

0

N

Y

上传ID

2

name

varchar

64

0

Y

N

文件名

3

path

varchar

255

0

Y

N

访问路径

4

file

varchar

255

0

Y

N

文件路径

5

display

varchar

255

0

Y

N

显示顺序

6

father_id

int

10

0

Y

N

0

父级ID

7

dir

varchar

255

0

Y

N

文件夹

8

type

varchar

32

0

Y

N

文件类型

表user (用户账户:用于保存用户登录信息)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

user_id

mediumint

8

0

N

Y

用户ID:[0,8388607]用户获取其他与用户相关的数据

2

state

smallint

5

0

N

N

1

账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

3

user_group

varchar

32

0

Y

N

所在用户组:[0,32767]决定用户身份和权限

4

login_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

上次登录时间:

5

phone

varchar

11

0

Y

N

手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

6

phone_state

smallint

5

0

N

N

0

手机认证:[0,1](0未认证|1审核中|2已认证)

7

username

varchar

16

0

N

N

用户名:[0,16]用户登录时所用的账户名称

8

nickname

varchar

16

0

Y

N

昵称:[0,16]

9

password

varchar

64

0

N

N

密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

10

email

varchar

64

0

Y

N

邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

11

email_state

smallint

5

0

N

N

0

邮箱认证:[0,1](0未认证|1审核中|2已认证)

12

avatar

varchar

255

0

Y

N

头像地址:[0,255]

13

open_id

varchar

255

0

Y

N

针对获取用户信息字段

14

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

15

vip_level

varchar

255

0

Y

N

会员等级

16

vip_discount

double

11

2

Y

N

0.00

会员折扣

表user_group (用户组:用于用户前端身份和鉴权)

编号

名称

数据类型

长度

小数位

允许空值

主键

默认值

说明

1

group_id

mediumint

8

0

N

Y

用户组ID:[0,8388607]

2

display

smallint

5

0

N

N

100

显示顺序:[0,1000]

3

name

varchar

16

0

N

N

名称:[0,16]

4

description

varchar

255

0

Y

N

描述:[0,255]描述该用户组的特点或权限范围

5

source_table

varchar

255

0

Y

N

来源表:

6

source_field

varchar

255

0

Y

N

来源字段:

7

source_id

int

10

0

N

N

0

来源ID:

8

register

smallint

5

0

Y

N

0

注册位置:

9

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

创建时间:

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

更新时间:

3.4本章小结

整个药店管理系统的需求分析主要对系统总体架构以及功能模块的设计,通过建立E-R模型和数据库逻辑系统设计完成了数据库系统设计。

4章 药店管理系统功能的实现

药店管理系统的详细设计与实现主要是根据前面的药店管理系统的需求分析和药店管理系统的总体设计来设计页面并实现业务逻辑。主要从药店管理系统界面实现、业务逻辑实现这两部分进行介绍。

4.1普能用户功能模块

4.1.1普通用户首页界面

普通用户进入药店管理系统的首页界面,可查看销售信息统计和药品统计信息数据。其主界面展示如下图4-1所示。

图4-1 普通用户首页界面图

关键代码如下:

public String encryption(String plainText) {

        String re_md5 = new String();

        try {

            MessageDigest md = MessageDigest.getInstance("MD5");

            md.update(plainText.getBytes());

            byte b[] = md.digest();

            int i;

            StringBuffer buf = new StringBuffer("");

            for (int offset = 0; offset < b.length; offset++) {

                i = b[offset];

                if (i < 0)

                    i += 256;

                if (i < 16)

                    buf.append("0");

                buf.append(Integer.toHexString(i));

4.1.2 用户登录界面

药店管理系统中的前台上注册后的用户是可以通过自己的账户名和密码进行登录的,当用户输入完整的自己的账户名和密码信息并点击“登录”按钮后,将会首先验证输入的有没有空数据,再次验证输入的账户名+密码和数据库中当前保存的用户信息是否一致,只有在一致后将会登录成功并自动跳转到药店管理系统的首页中;否则将会提示相应错误信息,用户登录界面如下图4-2所示。

图4-2用户登录界面图

关键代码如下:

   @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;

        QueryWrapper wrapper = new QueryWrapper<User>();

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

4.1.3 药品信息管理界面

用户进入“药品信息管理”界面,具有对药品信息进行添加、编辑和管理的权限。并且可以进行查询、重置和删除等操作。药品信息管理界面如下图4-3所示。

图4-3药品信息管理界面图

4.1.4 采购计划管理界面

用户进入“采购计划管理”界面,具有对采购信息进行添加、编辑和管理的权限。并且可以进行查询、重置和删除等操作。药品信息管理界面如下图4-4所示。

图4-4 采购计划管理界面图

4.1.5医保信息管理界面

用户进入“医保信息管理”界面,具有对医保信息进行添加、编辑和管理的权限。并且可以进行查询、重置和删除等操作。医保信息管理界面如下图4-5所示。

图4-5医保信息管理界面图

关键代码如下:

 @Slf4j

public class LoginInterceptor implements HandlerInterceptor {

    private String tokenName = "x-auth-token";

    @Override

    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {

        String token = request.getHeader(this.tokenName);

        setHeader(request, response);

        log.info("[请求接口] - {} , [请求类型] - {}",request.getRequestURL().toString(),request.getMethod());

4.2管理员功能模块

4.2.1 管理员首页界面

管理员进入药店管理系统的首页界面,可查看销售信息统计和药品统计信息数据。其主界面展示如下图4-6所示。

图4-6管理员首页界面图

4.2.2员工考勤管理界面

管理人员在“员工考勤管理”这一菜单中是可以对员工信息列表进行增加、删除等操作。员工考勤管理界面如下图4-7所示。

图4-7员工考勤管理界面图

关键代码如下:

private void setHeader(HttpServletRequest request, HttpServletResponse response) {

        response.setHeader("Access-control-Allow-Origin", request.getHeader("Origin"));

        response.setHeader("Access-Control-Allow-Methods", "GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH");

        response.setHeader("Access-Control-Allow-Credentials", "true");

        response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));

        response.setHeader("Access-Control-Max-Age", "1800");

        response.setHeader("Content-Type", "application/json;charset=UTF-8");

        response.setStatus(HttpStatus.OK.value());

}

4.2.3通知公告管理界面

管理人员在“通知公告管理”这一菜单中是可以对通知公告列表进行增加、删除、分类等操作。通知公告管理界面如下图4-8所示。

图4-8通知公告管理界面图

5章 系统测试

5.1 系统测试用例

系统测试包括:用户登录功能测试、用户注册功能测试、药品展示功能测试、药品添加功能测试,如表5-1、5-2、5-3、5-4所示:

用户登录功能测试:

表5-1 用户登录功能测试表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

用户登录模块测试

正确输入用户信息,用户成功登录

输入用户的信息

1.在密码框输入用户密码。2.点击登录

跳转到首页

正确

用户注册功能测试:

表5-2 用户登录功能测试表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

用户注册模块测试

正确输入用户星系,完成用户注册

输入用户的基本信息

在注册页面填写用户相应的信息,然后点击“注册”按钮。

提示成功并跳转到登录界面

正确

用户注册模块测试

用户注册失败

用户两次输入密码不一致

用户在注册页面填写信息时输入两个不一致的密码然后点击“注册”按钮。

注册失败提示两次密码输入不一致

正确

药品信息界面测试:

表5-3 药品信息界面测试表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

药品信息功能模块测试

药品信息正常的显示

浏览药品信息

在前台首页选择一个药品分类进入分类列表,然后选择一个药品

进入该药品的详细信息界面

正确

管理员添加药品功能测试:

表5-4 管理员添加药品功能测试表

测试名称

测试功能

操作

操作过程

预期结果

测试结果

管理员添加药品功能测试

添加药品成功的情况

输入新药品的基本信息

后台选择“发布药品”选项,然后填写新药品基本信息点击“添加”按钮

新药品添加成功

正确

管理员添加药品功能测试

添加药品失败的情况

输入药品基本信息不完全

后台选择“发布药品”选项,然后不完全填写药品信息,点击“添加”按钮。

对应信息框后出现提示请输入药品信息

正确

管理员添加药品功能测试

添加药品失败的情况

管理员在价格框输入非数字字符

后台选择“发布药品”选项然后再价格框输入非数字字符,点击“添加”按钮。

添加失败,提示“价格必须时货币格式!”

正确

5.2 系统测试结果

通过编写药店管理系统的测试用例,已经检测完毕用户登录模块、用户注册模块、药品分类展示模块、药品添加模块功能测试,通过这4大模块为药店管理系统的后期推广运营提供了强力的技术支撑。

6章  

该系统的设计旨在提高药店的管理效率、数据准确性和服务质量。后台首页提供了整体信息概览,方便管理员快速获取关键数据和信息。药品信息管理、销售信息管理、采购计划管理、进货信息管理、药品入库管理等功能模块,为药店提供了全面的药品管理工具,从采购到销售,再到库存管理,系统都能提供准确、高效的支持。供应商信息管理、药品类型管理、部门信息管理、医保信息管理、员工考勤管理等功能,为药店提供了全面的管理工具,从供应商和部门管理到员工和医保信息管理,都提供了系统化的解决方案。通知公告管理功能,为管理员提供了一个便捷的通知发布平台,方便及时地向员工传达重要信息。

综上所述,基于SSM的药店管理系统的设计与实现,将为药店提供一个高效、便捷的信息管理平台,有望提高药店的管理效率和数据的准确性,为药店的经营发展提供有力的支持。因此,该系统的设计与实现具有重要的现实意义和应用前景。

参考文献

[1] 徐少军,李宗哲,梅杰等. 基于Springboot+Vue框架的质量检验监督管理系统研发[J].  纺织标准与质量, 2024, (01):11-14+21.  

[2] 韩小龙,司珍,吕晓峰等. 基于面向对象编程的Java语言程序设计方法分析[J]. 集成电路应用, 2024,41 (01): 228-229.  

[3] 白茹鑫.基于SpringBoot+SSM框架的企业安全培训管理系统设计与实现 [J]. 现代信息科技, 2024, 8 (01): 44-49.  

[4] 谭光兴,甘景,戚秋晨.基于Java语言的远程数据采集系统设计与实现 [J]. 科技与创新,  2024, (01): 19-22.  

[5] 吴伶琳.基于SpringBoot的客户关系管理系统设计与实现[J]. 无线互联科技, 2023, 20 (24): 60-62.  

[6] 曲锦旭.基于SpringBoot的农作物受灾分析系统的设计与实现[J]. 农业工程技术,2023,  43 (35): 18-19.  

[7] 吴昊,张丹. 基于SpringBoot框架的大学生网上兼职系统设计与实现 [J]. 电脑知识与技术, 2023, 19 (35): 68-72.  

[8] 叶周专,魏骅,杜亚萍等. 药品零售商与消费者对网上药店模式选择行为的演化博弈    [J]. 赣南医学院学报, 2023, 43 (10): 1046-1052.  

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

[10] Allen C ,Mazanko A ,Abdehagh N , et al. A New ODE-Based Julia Implementation of the Anaerobic Digestion Model No. 1 Greatly Outperforms Existing DAE-Based Java and Python Implementations [J]. Processes, 2023,11(7):    

[11] 刁情波. 我国网上药店营销策略研究[J]. 中国市场, 2023,(15): 125-128.  

[12] 吕颖,李美册,李金等. 基于超星平台混合式教学在药店零售与服务课程的实训教学实施报告[J].卫生职业教育, 2023, 41 (10): 47-51.  

[13] Yang Y . Design and Implementation of Student Information Management System Based on Springboot  [J]. Advances in Computer, Signals and Systems, 2022, 6 (6):    

[14] 杜嫚雲. 基于服务设计理念的智慧药店购药服务系统设计研究[D]. 广州大学,    2022.      

[15] Hongyan W .Construction of Online Teaching System Based on SpringBoot Framework for Normal University Students’ Informatization Teaching Ability Training[C]

[16] Cheng F . Talent Recruitment Management System for Small and Micro Enterprises Based on Springboot Framework [J]. Advances in Educational Technology and Psychology, 2021,5  (2):    

[17] 郝岚. 平台型的药店长什么样 [J]. 中国药店, 2021,(02): 2.  

[18] Chen G ,Xu J .Design and implementation of efficient Learning platform based on SpringBoot Framework[J]. Journal of Electronics and Information Science, 2020, 6 (1):    

[19] Chen J ,Jian C ,Hailan P . Design of Man Hour Management Information System on SpringBoot Framework [J].Journal of Physics: Conference Series, 2020, 1646 (1):012136-.  

[20] 王雪丽. 基于云计算服务平台的单体药店管理系统[D]. 浙江工业大学, 2016.  

 

在论文完成之际,我要借此机会表达我对众多支持者的由衷感激和深深敬意。首先,我要感谢那些在我人生中扮演重要角色的人,无论是亲人、朋友还是导师和同事,你们的陪伴和支持让我在人生道路上更加坚定和前行。你们的理解、鼓励和信任是我不断努力的动力和勇气源泉,让我敢于追求梦想、勇往直前。

其次,我要感谢那些平凡而伟大的人们,那些为社会默默奉献的人、为他人奉献的人、为科学事业奉献的人。你们的无私奉献和善良之举让这个世界更加温暖、更加美好。在你们身上,我看到了人性的光芒和善良的力量,让我深受感动和启发。

此外,我还要感谢那些曾经为我提供帮助和支持的陌生人,无论是在学术道路上遇到的问题还是生活中遇到的困难,你们的帮助和支持让我感受到人与人之间的温暖和连接。你们的善良和友善让我相信这个世界充满爱和希望,让我坚信善良和美好永远存在。

最后,我要感谢这个世界,感谢生命赋予我这一切,感谢每一个瞬间的存在和每一次遇见。感谢每一个曾经出现在我生命中的人和事,你们的存在让我的生命更加丰富多彩,让我对未来充满期待和信心。感谢每一个眼前的美好和每一次的感动,让我懂得珍惜和感恩,让我懂得人生的意义和价值。

在这个充满感恩和希望的时刻,我要向所有支持和关心过我的人们致以最诚挚的谢意和最深沉的感激。愿我们共同努力,共同成长,共同创造更美好的未来!感恩之情,永远不变。

免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~

  • 12
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值