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

devtools/2025/3/17 0:10:46/

医药销售管理系统

开发环境和开发工具

操作系统: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.ppmy.cn/devtools/167676.html

相关文章

单元测试、系统测试、集成测试

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 实际的测试工作当中,我们会从不同的角度对软件测试的活动进行分类,“单元测试,集成测试,系统测试”,是按…

基于 GEE 利用 Sentinel-2 数据反演叶绿素与冠层水分含量

目录 1 数据加载与预处理 2 叶绿素含量反演 3 冠层水分反演 4 数据可视化与导出 5 完整代码 6 运行结果 在生态学和环境科学领域,植被的健康状况是评估生态系统稳定性和功能的关键指标之一。而叶绿素含量和冠层水分含量作为反映植被生理状态的重要参数&#x…

qt stm32 发送接受浮点数以及两字节数

void MainWindow::on_pushButton_4_clicked() { TPCANMsg msg; bool ok; float dianliu ui->lineEditdianliu->text().toFloat(&ok); // 输入验证 if (!ok) { ui->status->setText("电流输入无效,请重新输入…

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

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

如何在androidstudio开发环境中查看sqlite数据库(按新版本Android Studio Giraffe提供详细步骤和操作说明,附截图,代码)

如何在androidstudio开发环境中查看sqlite数据库(按新版本Android Studio Giraffe提供详细步骤和操作说明,附截图,代码)鹿溪IT工作室提供_android studio查看数据库-CSDN博客

使用 ConfigMaps 可以优化 Spring Boot应用

基本概念 ConfigMaps:Kubernetes 中的一种资源对象,用于存储非敏感的配置数据,如应用程序属性、环境变量等。 主要优势 简化部署:无需在容器镜像中嵌入配置,减少镜像大小,加快部署速度。 动态更新&#…

如何在AVL树中高效插入并保持平衡:一步步掌握旋转与平衡因子 —— 平衡因子以及AVL结构篇

文章目录 AVL树的概念AVL树的结构AVL树的插入平衡因子更新终止条件插入以及平衡因子的保持AVL树的查找 AVL树的概念 AVL树(Adelson-Velsky and Landis Tree)是一种自平衡二叉查找树,它的特点是每个节点的左子树和右子树的高度差不能超过1。这…

grunt构建工具:scss转css

Grunt 是一个基于 JavaScript 的任务运行工具,通常用于自动化重复性任务,例如代码编译、文件压缩、单元测试等。它通过配置文件 Gruntfile.js 来定义任务和插件。 完整项目地址:https://github.com/ylpxzx/grunt-scss-to-css 以下是 Grunt 的…