基于SSH和MySQL的仓库管理系统的设计与实现
摘 要
随着企业规模的不断发展,仓库管理的物资种类数量在不断增加、出入库频率剧增,仓库管理作业也已十分复杂和多样化,传统的人工仓库作业模式和数据采集方式已难以满足仓库管理的快速、准确要求,严重影响了企业的运行工作效率,成为制约企业发展的一大障碍。
本方案设计的仓库管理系统主要使用SSH框架搭建,MySQL作为数据库开发,bootstrap、jquery等作为辅助设计。
通过本系统,用户能够快速了解仓库中相关产品的信息,能将产品信息快速录入到数据库中,减少手工记录带来的失误率。图形化、数据化的显示能够使用户更加直接了解仓库库存。
关键词 :SSH;bootstrap;图形化
1 绪论
1.1 设计背景
随着企业规模的不断发展,仓库管理的物资种类数量在不断增加、出入库频率剧增,仓库管理作业也已十分复杂和多样化,传统的人工仓库作业模式和数据采集方式已难以满足仓库管理的快速、准确要求,严重影响了企业的运行工作效率,成为制约企业发展的一大障碍。
随着计算机技术以及电子商务的普及,新型的仓库作业模式及数据采集方式的流行将是大势所趋。
1.2 设计意义
对于小型企业而言,由于经营范围以及经营规模的限制,传统的手工记录相关信息已经足够,但是对于中大型企业,很显然,手工记录并不满足他们的需求,况且手工记录所带来的问题如数据丢失、人工成本高等也会给企业造成很大的麻烦,所以,信息化管理迫在眉睫。
1.3 设计思路
关于本产品设计主要的思路如下:
-
用户进入登录界面,软件开始运行,提供登录(含验证码验证)功能。且禁止用户未登录对系统进行操作
-
用户登录后,根据当前用户所处角色及所含权限显示菜单。管理员显示所有菜单
-
不同角色只能对其显示菜单内不同功能进行操作,例如角色hr,拥有员工增加、删除、更新、查询、批量删除、列表显示,部门列表显示,角色列表显示权限,就只能对其进行相关操作。如越权操作,会跳至提示界面
-
管理员可修改其他非管理员角色的权限,也可修改系统信息
-
相关信息应该图形化显示便于分析
2 需求分析
2.1 仓库管理系统需求概论
2.1.1 目的
-
减少手工记录带来的失误率
-
使产品信息能快速录入到数据库中
-
减少原材料的浪费和成品的丢失
-
降低人工成本
2.1.2 用户
中小型企业或个人经营者。
2.2 仓库管理系统需求规定
-
角色 :每个角色应该有每个角色的权限,不同角色只能在自己的权限内进行相关操作
-
图形分析 :单独的数字显示,不易分析也不易整理数据,而图形化的展示能够给用户直观感受
-
数据导出 :不同用户可能会有不一样的需求,对于某些用户而言,可能需要对每个月或者每个季度的数据进行保存或者备份
3 系统设计
3.1 仓库管理系统架构设计
3.1.1 系统架构设计
仓库管理系统后端使用了传统的SSH框架,前端使用了bootstrap框架以及一些js插件,部分处使用了ajax+json提高用户体验。由于后端代码以及前端页面互相存在部分重复,所以利用了freemarker自动生成代码。前端图形展示的部分暂定使用Highcharts,数据导出使用POI技术。
3.1.2 功能架构设计
仓库管理系统功能架构如图:
用户只能通过登录界面进入系统:
- 个人中心
- 个人信息:添加或修改当前用户信息
- 查看权限:查看当前用户所拥有的权限
-
修改密码:修改当前用户登录密码
-
系统管理
- 员工管理:对员工及其相关信息进行增加、删除、更新、查询、批量删除
- 角色管理:对角色及其相关信息进行增加、删除、更新、批量删除、修改权限
- 部门管理:对部门及其相关信息进行增加、删除、更新
-
菜单管理:对系统菜单及其相关信息进行增加、删除、更新
-
库存管理
- 商品管理:对商品及其相关信息进行增加、删除、更新、查询、批量删除
- 品牌管理:对品牌及其相关信息进行增加、删除、更新
- 即时库存:对现有库存进行查询、图形分析、数据导出
3.2 数据库架构设计
3.2.1 数据库建模
仓库管理系统的数据库采用了MySQL来进行数据的保存,使用hibernate连接数据库,并迎合开发的需求对设计的数据表有良好的优化。在确保数据正确的情况下,最大化查询效率。
3.2.2 数据表结构
取其中几个表作为示例:
employee表
序号 | 列名 | 数据类型 | 长度 | 标识 | 主键 | 允许空 | 默认值 | 说明 |
---|---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment | |
2 | name | varchar | 255 | 是 | ||||
3 | password | varchar | 255 | 是 | ||||
4 | varchar | 255 | 是 | |||||
5 | age | int | 11 | 是 | ||||
6 | admin | bit | 是 | |||||
7 | imgPath | varchar | 255 | 否 | /upload/employee/default.png | |||
8 | dept_id | bigint | 20 | 是 |
role表
序号 | 列名 | 数据类型 | 长度 | 标识 | 主键 | 允许空 | 说明 |
---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment |
2 | name | varchar | 255 | 是 | |||
3 | num | varchar | 255 | 是 |
employee_roles表
序号 | 列名 | 数据类型 | 长度 | 允许空 |
---|---|---|---|---|
1 | employee_id | bigint | 20 | 否 |
2 | role_id | bigint | 20 | 否 |
permission表
序号 | 列名 | 数据类型 | 长度 | 标识 | 主键 | 允许空 | 说明 |
---|---|---|---|---|---|---|---|
1 | id | bigint | 20 | 是 | 是 | 否 | auto_increment |
2 | name | varchar | 255 | 是 | |||
3 | expression | varchar | 255 | 是 |
role_permissions表
序号 | 列名 | 数据类型 | 长度 | 允许空 |
---|---|---|---|---|
1 | role_id | bigint | 20 | 否 |
2 | permission_id | bigint | 20 | 否 |
4 系统实现
4.1 登录界面
登录界面利用了jquery-validate以及验证码验证数据正确性。
验证码代码
由于美观问题,暂时未找到合适的方法展示验证码。
4.2 个人中心
个人中心
个人信息
上传图片代码
4.3 系统管理
以员工管理为例:
员工列表
员工编辑
5 产品测试
5.1 测试方法与策略
在对仓库管理系统的稳定性测试方面,使用到了spring测试;由于该系统是基于角色的权限访问控制,所以一般使用不同角色登录,然后在进行越权操作,看是否出现问题。
5.2 测试结果
就进行的多次测试而言,一般的问题出现在前端js的使用以及页面的协调,至于后端一般的问题是无法创建bean。
原因在于:使用freemaker生成xml追加至bean.hbm.xml中,由于使用的xml解析方式为sax解析以及代码的写法问题,使得bean.hbm.xml中的约束被注释,导致无法创建bean。
6 结论
6.1 毕业设计成果特点
-
库存信息以图形化的方式展示
-
支持数据导出
-
支持上传图片
6.2 设计成果的实用价值或应用前景
6.2.1 实用价值
-
减少手工记录带来的失误率
-
使产品信息能快速录入到数据库中
-
减少原材料的浪费和成品的丢失
-
降低人工成本
6.2.2 应用前景
随着计算机技术以及电子商务的普及,新型的仓库作业模式及数据采集方式的流行将是大势所趋。
6.3 不足之处或遗留未予解决的问题
通过此次毕业设计的仓库管理系统,第一是使我学到了很多知识的同时回顾了这几个学年所学到的基本内容。做该系统的这段时间也是使我养成了一些良好的学习习惯于生活习惯。也让我对做一个项目的流程有了很多的了解,与认识到了自己很多的不足与此次设计的很多缺点。
当然本次设计的不足也有很多,深令我感到遗憾!
首先从功能设计上来说,一个仓库管理系统应该还需要包含销售出库单管理、采购订单管理、采购入库单管理、库存预警、销售报表等功能,但是由于时间及个人原因,只有放弃;其次,虽然利用了freemaker自动生成代码,但是却没有使用版本控制工具,导致会在代码的修改上浪费大量时间,降低效率。
参考文献
- 铁路信号设备材料库房管理系统的设计与实现(吉林大学·焦晓亮)
- 基于JavaEE的仓库管理系统的设计与实现(电子科技大学·林杨)
- 某物流公司仓储管理信息系统的设计与实现(厦门大学·戴靖钰)
- 基于B/S结构的物流企业管理信息系统的设计(电子科技大学·宋东泽)
- 基于SAP的WMS无线扫描系统的设计与实现(山东大学·滕军委)
- 基于智能客户端的仓储管理系统的设计与实现(南京理工大学·田海梅)
- 基于JavaEE的仓库管理系统的设计与实现(电子科技大学·林杨)
- 铁路信号设备材料库房管理系统的设计与实现(吉林大学·焦晓亮)
- 基于RFID射频的中小企业仓库管理系统的设计与实现(电子科技大学·袁玫鹃)
- 安能物流管理系统的设计与实现(大连理工大学·许燕伟)
- 仓库管理系统的设计与开发(电子科技大学·黄垚)
- 面向供电公司的仓库管理系统设计与实现(电子科技大学·刘维)
- 中小型企业仓库管理系统的设计与实现(吉林大学·郭楠)
- 基于J2EE技术的进销存系统设计(南京理工大学·杨陆杨)
- ASP库存管理系统设计与实现(电子科技大学·宋森)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设客栈 ,原文地址:https://m.bishedaima.com/yuanma/35318.html