基于Java+MySQL实现的医药销售管理系统

news2025/3/18 8:06:02

医药销售管理系统

开发环境和开发工具

操作系统:win8.1
开发环境:Mysql、Web
开发工具:Workbench、Eclipse、JDBC

功能需求分析

  • 员工有权查看、添加会员,查看、添加供应商,查询药品(输入药品编号或名称、类别等查询该药品或该类药品库存),添加药品采购记录,销售药品,处理退货,盘点仓库,查看销售、退货、入库记录,修改个人信息
  • 经理有权查看、添加、删除会员,查看、添加、删除供应商,查看、添加、删除员工,盘点仓库,查看销售、退货、入库记录,修改个人信息,无权进行销售和退货业务
  • 供应商和顾客对此系统没有使用权限 系统设计

系统设计

登录用户(用户编号,用户名,密码,类别)
员工(员工编号,员工姓名,联系电话,用户编号)
经理(经理编号,用户编号)
财政收支(收支编号,药品编号,员工编号,数量,日期,总额,类型)
供应商(供应商编号,供应商名称,联系人,联系方式,所在城市)
会员(客户编号,客户姓名,联系方式)
入库记录(入库记录编号,供应商编号,收支编号)
退货管理(退货编号,销售编号,收支编号)
销售管理(销售编号,客户编号,收支编号)
药品(药品编号,药品名称,供应商编号,生产批号,产地,所属类别,进价,单价,会员折扣,库存,包装规格,生产日期,有效期)

数据库物理结构设计

本次项目使用的引擎是InnoDB,MySQL的数据库引擎之一。InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与MyISAM表不同,比如在MyISAM表中每个表被存在分离的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上。InnoDB默认地被包含在MySQL二进制分发中。

Windows Essentials installer使InnoDB成为Windows上MySQL的默认表。


此外还使用了数据库索引,索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。各表索引如下:
会员:primary key(客户编号)
药品:primary key(药品编号),
     INDEX 供应商编号_idx (供应商编号 ASC),
供应商:primary key(供应商编号)
登录用户:primary key(用户编号)
                 用户名  unique,
经理:primary key(经理编号),
     INDEX 经理编号_idx (用户编号 ASC),
员工:primary key(员工编号),
     INDEX 员工编号_idx (用户编号 ASC),
财政收支:PRIMARY KEY (收支编号),
         INDEX 药品编号_idx (药品编号 ASC),
         INDEX 员工编号_idx (员工编号 ASC),
入库记录:primary key(入库记录编号),
         INDEX 供应商编号_idx (供应商编号 ASC),
         INDEX 收支编号_idx (收支编号 ASC),
销售管理:PRIMARY KEY (销售编号),
 INDEX 客户编号_idx (客户编号 ASC),
         INDEX 收支编号_idx (收支编号 ASC),
退货管理:PRIMARY KEY (退货编号),
         INDEX 销售编号_idx (销售编号 ASC),
         INDEX 收支编号_idx (收支编号 ASC),

界面效果

登录

主页

仓库

点击新增进行药品入库

入库/销售/退货记录

员工可查看/增加客户,供应商

经理可增删员工,客户,供应商

销售药品

退货

财务统计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316376.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【DeepSeek应用】DeepSeek模型本地化部署方案及Python实现

DeepSeek实在是太火了,虽然经过扩容和调整,但反应依旧不稳定,甚至小圆圈转半天最后却提示“服务器繁忙,请稍后再试。” 故此,本文通过讲解在本地部署 DeepSeek并配合python代码实现,让你零成本搭建自己的AI助理,无惧任务提交失败的压力。 一、环境准备 1. 安装依赖库 …

Vue 中的 MVVM、MVC 和 MVP 模式深度解析

文章目录 1. 模式概览与核心概念1.1 模式定义1.2 架构对比图 2. MVC 模式详解2.1 MVC 流程图2.2 Vue 中的 MVC 实现 3. MVP 模式详解3.1 MVP 流程图3.2 Vue 中的 MVP 实现 4. MVVM 模式详解4.1 MVVM 流程图4.2 Vue 中的 MVVM 实现 5. 模式对比分析5.1 职责对比5.2 通信方式对比…

基于DeepSeek×MWORKS 2025a的ROM Builder自动化降阶实战

一、引言 当前,工业仿真领域正经历着前所未有的「智能焦虑」——当自动驾驶算法已能理解城市路网,当大模型开始设计蛋白质结构,这个驱动大国重器研发的核心领域,却仍在与千万级方程组成的庞杂模型艰难博弈。传统仿真降阶如同在数…

入门基础项目-前端Vue_02

文章目录 1. 用户信息1.1 整体设计1.2 完整代码 User.vue1.2.1 数据加载1.2.2 表格 el-table1.2.2.1 多选1.2.2.2 自定义列的内容 Slot1.2.2.3 图片 el-image1.2.2.4 分页 el-pagination 1.2.3 编辑1.2.3.1 弹出框 el-dialog1.2.3.2 上传 el-upload 1.2.4 新增1.2.5 删除1.2.6 …

Qt6.8.2中JavaScript调用WebAssembly的js文件<1>

前段时间已经学习了如何在QtAssembly中编译FFmpeg资源了,接下来需要使用Html来调用QtCreator中WebAssembly套件写的功能,逐步实现javascrpt与c复杂功能的视线。 接下来我先为大家介绍一个非常简单的加法调用吧! 功能讲解 开发环境&#xf…

【mysql】centOS7安装mysql详细操作步骤!—通过tar包方式

【mysql】centOS7安装mysql详细操作步骤! linux系统安装mysql版本 需要 root 权限,使用 root 用户进行命令操作。使用tar文件包,安装,gz包也可以但是还需要配置用户,tar包虽然大,但是全啊! 1. …

Linux 下 MySQL 8 搭建教程

一、下载 你可以从 MySQL 官方下载地址 下载所需的 MySQL 安装包。 二、环境准备 1. 查看 MySQL 是否存在 使用以下命令查看系统中是否已经安装了 MySQL: rpm -qa|grep -i mysql2. 清空 /etc/ 目录下的 my.cnf 执行以下命令删除 my.cnf 文件: [roo…

单口路由器多拨号ADSL实现方法

条件是多拨号场景,公司路由器接口不够用

最新版VMware 17.6.3安装包分享

修复 Windows 11 主机无响应问题:Windows 11 主机锁定或解锁后,虚拟机可能变得无响应,此问题已在 17.6.3 版本中解决。 解决虚拟机启动崩溃问题:在某些系统上启动虚拟机后,Workstation Pro 可能会崩溃,新版…

Java高频面试之集合-12

hello啊,各位观众姥爷们!!!本baby今天来报道了!哈哈哈哈哈嗝🐶 面试官:HashMap 的 hash 函数是怎么设计的? HashMap的hash函数设计核心在于减少碰撞、提高数据分布均匀性,具体实现…

视频推拉流EasyDSS案例分析:互联网直播/点播技术与平台创新应用

随着互联网技术的快速发展,直播/点播平台已成为信息传播和娱乐的重要载体。特别是在电视购物领域,互联网直播/点播平台与技术的应用,不仅为用户带来了全新的购物体验,也为商家提供了更广阔的营销渠道。传统媒体再一次切实感受到了…

【黑马点评|项目】万字总结(下)

文章上半部分: 【黑马点评|项目】万字总结(上) 优惠卷秒杀 当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题: id的规律性太明显,容易出…

[数据结构]排序之 直接选择排序

1 基本思想: 每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的 数据元素排完 。 2 直接选择排序 : 在元素集合 array[i]--array[n-1] 中选择关键码最大 ( 小 ) 的数据元素…

前端工程化之前端工程化详解 包管理工具

前端工程化详解 & 包管理工具 前端工程化什么是前端工程化前端工程化发展脚手架能力 体验度量规范流程效能流程扭转 稳定性建设针对整体稳定性建设 可监控:前端监控系统 包管理工具npm包详解package.jsonname 模块名description 模块描述信息keywords&#xff1…

Linux 蓝牙音频软件栈实现分析

Linux 蓝牙音频软件栈实现分析 蓝牙协议栈简介蓝牙控制器探测BlueZ 插件系统及音频插件蓝牙协议栈简介 蓝牙协议栈是实现蓝牙通信功能的软件架构,它由多个层次组成,每一层负责特定的功能。蓝牙协议栈的设计遵循蓝牙标准 (由蓝牙技术联盟,Bluetooth SIG 定义),支持多种蓝牙…

PySide(PyQt),使用types.MethodType动态定义事件

以PySide(PyQt)的图片项为例,比如一个视窗的场景底图是一个QGraphicsPixmapItem,需要修改它的鼠标滚轮事件,以实现鼠标滚轮缩放显示的功能。为了达到这个目的,可以重新定义一个QGraphicsPixmapItem类,并重写它的wheelE…

SpringData JPA事务管理:@Transactional注解与事务传播

文章目录 引言一、事务基础概念二、Transactional注解详解2.1 基本用法2.2 属性配置2.3 类级别与方法级别 三、事务传播行为详解3.1 REQUIRED(默认)3.2 REQUIRES_NEW3.3 其他传播行为 四、事务隔离级别五、事务最佳实践5.1 正确设置事务边界5.2 合理使用…

第2章、WPF窗体及其属性

1、窗体的宽与高。 2、启动窗体设置 3、窗体的启动位置设置 4、窗体图标更换 5、应用程序的图标更改 6、 7、窗体属性汇总: AllowsTransparency 类型: bool 描述: 该属性决定窗口是否可以有透明效果。如果设置为true,窗口的背景必须设置为Transpar…

关于ModbusTCP/RTU协议对接Ethernet/IP(CIP)协议的方案

IGT-DSER智能网关模块支持西门子、倍福(BECKHOFF)、罗克韦尔AB,以及三菱、欧姆龙等各种品牌的PLC之间通讯,支持Ethernet/IP(CIP)、Profinet(S7),以及FINS、MC等工业自动化常用协议,同时也支持PLC与Modbus协议的工业机器人、智能仪…

WPF 与 GMap.NET 结合实现雷达目标动态显示与地图绘制

概述 雷达上位机是雷达系统中用于数据可视化、分析和控制的核心软件。本文将介绍如何使用 C# 和 WPF 框架开发一个雷达上位机程序,主要功能包括: 显示目标轨迹:在界面上实时绘制雷达探测到的目标轨迹。点击显示详细信息:用户点击…