springboot中药材进存销管理系统

server/2024/9/24 11:23:40/

 基于springboot+vue实现的中药材进存销管理系统  (源码+L文+ppt)4-079 

图片

4 系统总体设计  

4.1系统功能结构设计图  

根据需求说明设计系统各功能模块。采用模块化设计方法实现一个复杂结构进行简化,分成一个个小的容易解决的板块,然后再将小的板块继续分化成功能单一的更小模块。模块化设计方法使测试调试、维护更容易,减少模块间的干扰。各模块可以同时开发提高开发效率。本系统功能结构图:

图片

图 4-1系统功能结构图

4.2 数据库设计与实现  

在进行信息管理类型的系统的开发中,都是需要以数据库的设计为基础来进行详细的设计与开发的。

4.2.1  E-R模型简介  

一般在进行数据库结构的划分时,常使用到E-R图来进行直观的展示。在一个图中有三种元素,分别为实体、属性,以及两者之间的联系。    

(1)实体指的是一种具体的事务,可以是任何东西。

(2)联系指的是实体与它的属性之间的关系,可以有不同种类的联系。

(3)属性指的是一个实体本身的特点。

4.2.2  系统E-R图  

E-R图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。将“客户信息、供应商、中药材、员工、药材入库”等作为实体,它们的局部E-R图,如图4-2所示:

图片

图4-2局部E-R图

4.2.3 系统数据表设计  (共13张表)

数据库表的设计通常是根据业务逻辑设置的。数据库模型在数据库中设计,并根据模型创建数据库表。数据库包含以下数据表来实现对数据库的存储和调用。以下是每个数据表的字段名称、类型、长度、字段说明、主键和默认值。    

表4-1:客户信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                        

主键

主键

                        

addtime

timestamp

                        

创建时间

                        

CURRENT_TIMESTAMP

kehubianhao

varchar

200

客户编号

                        

                        

kehumingcheng

varchar

200

客户名称

                        

                        

kehudizhi

longtext

4294967295

客户地址

                        

                        

fuzeren

varchar

200

负责人

                        

                        

lianxifangshi

varchar

200

联系方式

                        

                        

dengjishijian

datetime

                        

登记时间

                        

                        

kehuxiangqing

longtext

4294967295

客户详情

                        

                        

此处省略11张表。。。

表4-13:token表

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

                        

主键

主键

                        

userid

bigint

                        

用户id

                        

                        

username

varchar

100

用户名

                        

                        

tablename

varchar

100

表名

                        

                        

role

varchar

100

角色

                        

                        

token

varchar

200

密码

                        

                        

addtime        

timestamp

                        

新增时间

                        

CURRENT_TIMESTAMP

expiratedtime

timestamp

                        

过期时间

                        

CURRENT_TIMESTAMP

4.3小结  

本章刚开始总结了整个系统的总体功能,以树型图展示出来,使得看上去更加清晰明朗,而后介绍了每一个模型的属性和对数据库表的设计。

                

5 系统详细设计与实现  

按照软件工程的流程来说,在系统的详细设计与实现阶段,要把模块、视图、模板进行相应的组合完成一个个所需的功能,此章将会把设计中模块一一说明如何设计和实现的。

5.1系统注册登录功能实现  

在注册流程中,用户在Vue前端填写必要信息(如用户名、密码等)并提交。前端将这些信息通过HTTP请求发送到Java后端。后端处理这些信息,检查用户名是否唯一,并将新用户数据存入MySQL数据库。完成后,后端向前端发送注册成功的确认,前端随后通知用户完成注册。这个过程实现了新用户的数据收集、验证和存储。注册页面如图5-1所示:

图片

图5-1 系统注册界面

                

在登录流程中,用户首先在Vue前端界面输入用户名和密码。这些信息通过HTTP请求发送到Java后端。后端接收请求,通过与MySQL数据库交互验证用户凭证。如果认证成功,后端会返回给前端,允许用户访问系统。这个过程涵盖了从用户输入到系统验证和响应的全过程。如图5-2所示:    

图片

图5-2系统登录页面

5.2管理员功能实现  

管理员进入主页面,主要功能包括对个人中心、员工管理、供应商管理、客户信息管理、中药材类型管理、中药材管理、药材出库管理、药材入库管理、销售信息管理、采购信息管理、系统管理等进行操作。如图5-3所示。

图片

图5-3 管理员主界面

                

员工功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写员工表单。这些员工表单动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除员工信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便员工功能可以看到最新的信息或相应的操作反馈。如图5-4所示:    

图片

图5-4员工界面

                

供应商功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写供应商信息表单。这些供应商信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除供应商信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便供应商功能可以看到最新的信息或相应的操作反馈。如图5-5所示:    

图片

图5-5供应商界面

客户信息功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写客户信息表单。这些客户信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除客户信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便客户信息功能可以看到最新的信息或相应的操作反馈。如图5-6所示:

图片

图5-6客户信息界面

                

中药材类型功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写中药材类型信息表单。这些中药材类型信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除中药材类型信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便中药材类型信息功能可以看到最新的信息或相应的操作反馈。如图5-7所示:    

图片

图5-7中药材类型界面

                

中药材功能在视图层(view层)进行交互,比如点击“查询、添加或删除”按钮或填写中药材信息表单。这些中药材信息动作被视图层捕获并作为请求发送给相应的控制器层(controller层)。控制器接收到这些请求后,调用服务层(service层)以执行相关的业务逻辑,例如验证输入数据的有效性和与数据库的交互。服务层处理完这些逻辑后,进一步与数据访问对象层(DAO层)交互,后者负责具体的数据操作如查看、修改或删除中药材信息,并将操作结果返回给控制器。最终,控制器根据这些结果更新视图层,以便中药材信息功能可以看到最新的信息或相应的操作反馈。如图5-8所示:    

图片

图5-8中药材界面

5.3员工功能实现  

员工进入主页面,主要功能包括对个人中心、中药材管理、药材出库管理、药材入库管理、销售信息管理、采购信息管理等进行操作。如图5-9所示。

图片

图5-9员工主界面 

点击领取源码


http://www.ppmy.cn/server/121331.html

相关文章

FastAPI挂载静态资源

FastAPI挂载静态资源 使用场景:前后端不分离,后端挂载图片,css,js等静态资源,给客户端响应html页面 首先假设项目根目录为app,app目录下的static为存放静态资源的目录 #app/main.py from fastapi import FastAPIapp…

浅谈分布式系统

单机架构 单机架构就是只有一台服务器,这台服务器负责所有的工作。 初期,在用户访问量很少,没有对我们的性能、安全等提出很高的要求,而且系统架构简单,无需专业的运维团队,所以选择单机架构是合适的。 当…

构建自己的文生图工具:Python + Stable Diffusion + CUDA

构建自己的文生图工具:Python Stable Diffusion CUDA 前言概述环境搭建安装PyTorch安装Stable Diffusion编写Python代码结论结语 前言 在这个数字化和人工智能飞速发展的时代,图像生成技术正逐渐成为现实。想象一下,只需输入几个关键词&…

[ffmpeg] 录制

整理 ffmpeg 录制用到的一些 API,以及一些理解 API调用 常用API AVFormatContext *avformat_alloc_context(void); // 创建 avformat 上下文结构体 void avformat_free_context(AVFormatContext *s);// int avformat_alloc_output_context2(AVFormatContext **c…

我的AI工具箱Tauri版-VideoClipMixingCut视频批量混剪

本教程基于自研的AI工具箱Tauri版进行VideoClipMixingCut视频批量混剪。 VideoClipMixingCut视频批量混剪 是自研AI工具箱Tauri版中的一款强大工具,专为自动化视频批量混剪设计。该模块通过将预设的解说文稿与视频素材进行自动拼接生成混剪视频,适合需要…

NAS求变,“0成本、低门槛”的鲁大师能否脱颖而出?

互联网科技的高速发展,推动了全球信息爆炸的进程。如何高效地存储和使用这些海量数据成了困扰企业、乃至个人的一大难题。从U盘、到移动硬盘、再到各种网云盘、以及愈发大众化的NAS……存储解决方案也随着个人及家庭数据存储需求的不断增长而发展着。如今&#xff0…

LabVIEW提高开发效率技巧----使用事件结构优化用户界面响应

事件结构(Event Structure) 是 LabVIEW 中用于处理用户界面事件的强大工具。通过事件驱动的编程方式,程序可以在用户操作时动态执行特定代码,而不是通过轮询(Polling)的方式不断检查界面控件状态。这种方式…

ansible批量安装postgresql软件

本文为杭州云贝教育 刘老师 原创,请尊重知识产权,转发请注明出处,不接受任何抄袭、演绎和未经注明出处的转载。 随着分布式系统和大规模应用的普及,自动化部署和管理变得越来越重要。Ansible 是一种流行的自动化工具,它…