大家好,欢迎来到IT知识分享网。
一.项目需求
- 实现物料的分类管理;
- 实现部门和员工信息管理;
- 实现物料的入库和领用管理;
- 实现物料的转仓管理;
- 创建触发器,实现物料入库和领用时相应物料库存的自动更新;
- 创建触发器,实现转仓时转入仓库物料增加、转出仓库物料减少;
- 创建存储过程统计各仓库各种物料的现存数量;
- 创建存储过程统计指定时间段内各种物料的入库数量和领用数量;
- 建立数据库相关表之间的参照完整性约束;
二.需求分析
本系统是一个基于mysql数据库的可视化管理系统,运用于中小型工厂的仓储集群管理。仓库管理员通过本系统来进行数据维护,包括对物料信息、员工信息、仓库信息的录入、修改、查询,以及对于物料的出库、入库和转仓的管理。以此来更好的实现工厂物料信息管理的系统化、规范化和自动化。以此提高工厂的数据管理效率,更好的辅助企业进行存储信息管理。
1.基于mysql的数据库开发
MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持。
2.基于tomcat的简单服务器部署
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,适用于部署一些中小型轻量级应用服务器。
3.基于Maven框架的JavaWeb架构
Maven 翻译为”专家”、”内行”,是一款服务于java平台的自动化构建工具是 ,Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型概念的项目管理工具,可以对 Java 项目进行构建、依赖管理,可被用于构建和管理各种项目。
4.基于jsp脚本开发可视化交互页面
JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java 库单元提供了一个接口来服务于HTTP的应用程序。
三.项目设计与实现
1.系统功能设计
2.数据库设计与实现
2.1 ER图
2.1 建表语句
1.管理员表user:
用户名:username(主键),
密码:password,
CREATE TABLE user ( username VARCHAR(255) PRIMARY KEY, password VARCHAR(255) );
2.仓库表warehouse:
仓库编号:id(主键),
仓库名称:name,
仓库总存储数量:quantity(默认为0,且最小为0)
CREATE TABLE warehouse ( id INT PRIMARY KEY, name VARCHAR(255), quantity INT DEFAULT 0 CHECK (quantity >= 0) );
3.物料类别表material_category:
类别编号:id(主键),
类别名称:name,
CREATE TABLE material_category ( id INT PRIMARY KEY, name VARCHAR(255) );
4.物料表material:
物料编号:id(主键),
物料名称:name,
物料类别:category_id(与物料类别表的id相关联)
CREATE TABLE material ( id INT PRIMARY KEY, name VARCHAR(255), category_id INT, FOREIGN KEY (category_id) REFERENCES material_category(id) );
5.仓库物料存储表material_stored:
仓库编号:warehouse_id(与仓库表的id相关联),
物料编号:material_id(与物料表的id相关联),
存储数量:quantity(默认为0,且最小为0)
主键为(warehouse_id,material_id),
CREATE TABLE material_stored ( warehouse_id INT, material_id INT, quantity INT DEFAULT 0 CHECK (quantity >= 0), PRIMARY KEY (warehouse_id, material_id), FOREIGN KEY (warehouse_id) REFERENCES warehouse(id), FOREIGN KEY (material_id) REFERENCES material(id) );
6.入库表stock_in:
入库编号:id(主键),
仓库编号:warehouse_id(与warehouse表的id相关联),
物料编号:material_id(与material表的id相关联),
入库数量:quantity(默认为0),
入库日期:stock_in_date,
CREATE TABLE stock_in ( id INT PRIMARY KEY, warehouse_id INT, material_id INT, quantity INT DEFAULT 0, stock_in_date DATE, FOREIGN KEY (warehouse_id) REFERENCES warehouse(id), FOREIGN KEY (material_id) REFERENCES material(id) );
7.出库表stock_out:
出库编号:id(主键),
仓库编号:warehouse_id(与warehouse表的id相关联),
物料编号:material_id(与material表的id相关联),
出库数量:quantity(默认为0),
出库日期:stock_out_date,
CREATE TABLE stock_out ( id INT PRIMARY KEY, warehouse_id INT, material_id INT, quantity INT DEFAULT 0, stock_out_date DATE, FOREIGN KEY (warehouse_id) REFERENCES warehouse(id), FOREIGN KEY (material_id) REFERENCES material(id) );
8.转仓表transfer:
转仓编号:id(主键),
源仓库编号:source_warehouse_id,
目的仓库编号:purpose_warehouse_id,
目的物料编号:material_id,
转仓数量:quantity(默认为0)
转仓日期:transfer_date,
CREATE TABLE transfer ( id INT PRIMARY KEY, source_warehouse_id INT, purpose_warehouse_id INT, material_id INT, quantity INT DEFAULT 0 CHECK (quantity > 0), transfer_date DATE, FOREIGN KEY (source_warehouse_id) REFERENCES warehouse(id), FOREIGN KEY (purpose_warehouse_id) REFERENCES warehouse(id), FOREIGN KEY (material_id) REFERENCES material(id) );
9.员工表employee:
员工编号:id(主键)
员工名称:name
部门编号:department_id
CREATE TABLE employee ( id INT PRIMARY KEY, name VARCHAR(255), department_id INT, FOREIGN KEY (department_id) REFERENCES department(id) );
10.部门编号department:
部门编号:id(主键)
部门名称:name
CREATE TABLE department ( id INT PRIMARY KEY, name VARCHAR(255) );
3.服务器配置
4.JSP页面设计
四.项目运行
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/139375.html