1. 项目概述
本仓库管理系统旨在实现对仓库中商品、供应商、客户、员工、权限、日志等信息的有效管理,提升仓库运营效率和管理水平。系统主要功能包括基础数据管理、进货管理、销售管理、库存管理、系统管理等。
2. 系统架构
2.1技术选型
- 后端:Spring Boot + MyBatis Plus + MySQL + Shiro
- 前端:Thymeleaf + HTML + CSS + JavaScript
2.2功能架构
- 基础数据管理:负责管理商品、供应商、客户、员工、部门、权限等基础信息。
- 进货管理:处理商品进货、进货退货相关操作。
- 销售管理:涵盖商品销售、销售退货相关流程。
- 库存管理:包括库存盘点、库存预警等功能。
- 系统管理:实现用户管理、角色管理、权限管理、日志管理、系统设置等操作。
2.3数据库设计
- 商品表(goods):存储商品的基本信息,如商品名称、规格、单位、价格、库存等。
- 供应商表(provider):记录供应商的信息,包括供应商名称、联系人、联系电话、地址等。
- 客户表(customer):存放客户的相关信息,如客户名称、联系人、联系电话、地址等。
- 员工表(user):存储员工的基本信息,如用户名、密码、姓名、性别、部门、职位等。
- 部门表(dept):记录部门的信息,包括部门名称、部门负责人等。
- 权限表(permission):存储权限的相关信息,如权限名称、权限描述等。
- 角色表(role):存放角色的信息,包括角色名称、角色描述等。
- 用户角色中间表(user_role):关联用户和角色,记录用户所拥有的角色。
- 角色权限中间表(role_permission):关联角色和权限,记录角色所拥有的权限。
- 进货单表(inport):存储进货单的相关信息,如进货单号、进货日期、供应商、商品、数量、单价、金额等。
- 进货退货单表(outport):记录进货退货单的信息,如退货单号、退货日期、供应商、商品、数量、单价、金额等。
- 销售单表(sales):存放销售单的相关信息,如销售单号、销售日期、客户、商品、数量、单价、金额等。
- 销售退货单表(salesback):存储销售退货单的信息,如退货单号、退货日期、客户、商品、数量、单价、金额等。
- 库存盘点表(checkstock):记录库存盘点的相关信息,如盘点单号、盘点日期、盘点人、商品、实际库存、系统库存、盈亏数量等。
- 库存预警表(warningstock):存放库存预警的相关信息,如预警单号、预警日期、商品、库存数量、预警类型等。
- 日志表(loginfo):存储系统操作日志,如操作人、操作时间、操作内容、操作结果等。
3. 详细设计
3.1商品管理模块
- 商品信息维护
- 提供商品的添加、编辑、删除、查询功能。
- 商品信息包括商品名称、规格、单位、价格、库存等。
- 商品库存管理
- 实时更新商品库存数量。
- 提供库存盘点功能,生成库存盘点报表。
- 支持库存预警设置,当库存数量低于或高于设定阈值时,发送预警信息。
3.2供应商管理模块
- 供应商信息维护
- 实现供应商的添加、编辑、删除、查询功能。
- 供应商信息包括供应商名称、联系人、联系电话、地址等。
- 供应商评价管理
- 对供应商进行评价,评价内容包括供货质量、供货及时性、服务态度等。
- 根据评价结果,对供应商进行分级管理,优先选择优质供应商合作。
3.3客户管理模块
- 客户信息维护
- 提供客户的添加、编辑、删除、查询功能。
- 客户信息包括客户名称、联系人、联系电话、地址等。
- 客户信用管理
- 对客户进行信用评估,评估内容包括付款及时性、交易金额、交易次数等。
- 根据信用评估结果,对客户进行信用分级管理,针对不同信用等级的客户采取不同的销售策略。
3.4员工管理模块
- 员工信息维护
- 实现员工的添加、编辑、删除、查询功能。
- 员工信息包括用户名、密码、姓名、性别、部门、职位等。
- 员工考勤管理
- 记录员工的考勤信息,包括上班打卡时间、下班打卡时间、请假记录、加班记录等。
- 根据考勤信息,生成员工考勤报表,统计员工的出勤天数、请假天数、加班天数等。
3.5权限管理模块
- 角色管理
- 提供角色的添加、编辑、删除、查询功能。
- 角色信息包括角色名称、角色描述等。
- 为角色分配相应的权限,实现不同角色拥有不同的系统操作权限。
- 权限管理
- 实现权限的添加、编辑、删除、查询功能。
- 权限信息包括权限名称、权限描述等。
- 支持权限的层级管理,细化权限控制粒度。
3.6日志管理模块
- 操作日志记录
- 自动记录系统中所有用户的操作日志,包括操作人、操作时间、操作内容、操作结果等。
- 操作日志详细记录系统中发生的各种事件,以便后续进行审计和追踪。
- 日志查询与分析
- 提供日志查询功能,方便管理员根据不同条件查询操作日志,如按操作人、操作时间、操作类型等进行查询。
- 对操作日志进行统计分析,生成报表,展示系统的使用情况和操作频率等信息,为系统优化和管理提供数据支持。
3.7系统设置模块
- 系统参数配置
- 配置系统的基本参数,如公司名称、公司地址、联系电话、系统默认语言、系统主题等。
- 可以根据企业的实际需求进行个性化的系统参数设置,以适应不同的业务环境。
- 数据备份与恢复
- 提供数据备份功能,定期备份系统中的重要数据,防止数据丢失。
- 支持数据恢复操作,在数据出现问题或丢失时,可以从备份文件中恢复数据,确保系统数据的安全性和完整性。
3.8报表管理模块
- 报表生成
- 根据系统中的数据,生成各种报表,如库存报表、销售报表、进货报表、财务报表等。
- 报表格式可以多样化,如Excel、PDF等,满足不同用户的需求。
- 报表定制
- 允许用户根据自己的需求定制报表的内容和格式,选择需要显示的数据字段、排序方式、筛选条件等,生成个性化的报表。
3.9其他模块(可根据实际需求扩展)
- 通知管理模块
- 实现系统内通知的发布、接收、查看功能。
- 通知类型可以包括系统公告、任务提醒、审批通知等,确保重要信息能够及时传达给相关人员。
- 审批流程模块
- 定义和管理系统中的各种审批流程,如采购审批、销售审批、请假审批等。
- 支持自定义审批流程的步骤、审批人、审批条件等,实现审批流程的自动化和规范化。
4. 系统部署
4.1硬件环境
- 服务器:配置根据系统规模和性能要求确定,如CPU、内存、硬盘等。
- 网络设备:确保网络稳定、带宽满足系统运行需求。
4.2软件环境
- 操作系统:选择适合服务器的操作系统,如Windows Server、Linux等。
- 数据库:MySQL数据库服务器。
- 中间件:如Tomcat等。
4.3部署步骤
- 安装操作系统和相关依赖软件。
- 安装和配置数据库服务器,创建数据库和相关用户。
- 部署项目后端代码到服务器,配置相关参数,如数据库连接信息、服务器端口等。
- 部署项目前端代码到服务器,确保前端页面能够正确访问后端接口。
- 进行系统测试,确保系统各项功能正常运行。
5. 系统测试
5.1测试计划
- 制定详细的测试计划,包括测试目标、测试范围、测试方法、测试环境、测试人员等。
- 明确测试的重点和优先级,确保系统的关键功能和业务流程得到充分测试。
5.2测试用例
- 设计全面的测试用例,覆盖系统的各个功能模块和业务场景。
- 测试用例应包括正常情况和异常情况的测试,以验证系统的稳定性和容错性。
5.3测试结果
- 记录测试过程中发现的问题和缺陷,详细描述问题的现象、出现的环境和操作步骤。
- 对测试结果进行分析和总结,评估系统的质量和可靠性,为系统的改进和优化提供依据。
5.4性能测试
- 对系统进行性能测试,评估系统在高并发情况下的响应时间、吞吐量、资源利用率等性能指标。
- 根据性能测试结果,对系统进行优化和调整,确保系统能够满足实际业务需求。
6. 系统维护
6.1日常维护
- 监控系统运行状态,及时发现和解决系统故障和问题。
- 定期备份系统数据,确保数据安全。
- 检查系统日志,分析系统运行情况,发现潜在风险。
6.2系统更新
- 根据业务需求和用户反馈,对系统进行功能升级和优化。
- 及时更新系统的安全补丁,保障系统安全。
- 在系统更新前,进行充分的测试,确保更新后的系统稳定可靠。
6.3技术支持
- 为用户提供技术支持服务,解答用户在使用系统过程中遇到的问题。
- 建立用户反馈渠道,收集用户意见和建议,不断改进系统。
7. 部分页面展示