APP下载

物流仓储管理系统的设计与实现

2023-05-08黄勇强郑英姿

电脑知识与技术 2023年9期

黄勇强 郑英姿

关键词:物流仓储;前后端分离技术;Jeecg-boot

1 概述

随着现代信息技术飞速发展,使得国内的经济得到了快速的发展,仓储行业技术也得到了提高,仓储行业发展迅速,凸显出发展的良好势头。但有些仓储还是以票据来保存数据,容易造成数据丢失、管理困难、工作效率不高等,因此开发一个物流仓储管理系统,以便更好地提升其运作效率和管理水平[1]。

通过研究和分析,设计出一套基于Jeecg-boot平台的物流仓储管理系统的方案。本系统能够保存大量数据,以便核对数据,避免出现损失等情况,降低出错率,有效地控制和管理物资,做到及时补充物资,避免出现物资不足的情况,将物流、物资和人员整合到一起,提高工作效率,方便运输物资,加快物资的流动速度,方便且高效地管理仓储[2]。通过本系统,能够带来更大的便捷和更好的实用性,提高工作效率,改善管理方式,让仓储业变得更好。

本文经对物流仓储管理系统的需求分析,利用Jeecg-boot平台搭建开发环境,提高开发效率,节省开发时间,使用开发文档和各种插件,提高整个系统的运行速度,优化系统的整体性能,降低系统的耦合性[3]。

2 系统需求分析

根据用户提出的需求,确定用户的需求,制定需求文档,最终确定要实现登录、用户管理、车辆管理、计划管理、仓库管理、库存管理、财务管理、统计报表、系统管理这9个功能模块。

2.1 登录

用户输入用户名、密码和验证码后,点击登录,验证成功后进入系统首页。

2.2 用户管理

1) 员工管理:管理用户,分配用户角色,被冻结的用户无法登录系统;

2) 部门设置:管理部门,分配用户部门;

3) 角色权限:管理系统角色。

2.3 车辆管理

1) 车辆列表:管理车辆,车辆用来运输物料,维修的车辆无法执行任务;

2) 车辆保险:管理车辆保险,车辆保险过期的前一周,系统将进行信息提醒;

3) 车辆任务:可以查询往5年期间的该车辆执行过的具体任务。

2.4 计划管理

1) 计划列表:管理和制定计划,对计划中的物料、人员、车辆进行派单、完单等操作。

2.5 仓库管理

1) 仓库设置:管理仓库,仓库可以设置许多的库位;

2) 库位设置:管理库位,库位用来存放物料;

3) 转移记录:查看转移后物料的详细信息。

2.6 库存管理

1) 物料管理:管理物料,可以对物料进行增删改查等操作;

2) 库存查询:可以查询指定仓库-指定库位-存储的物料信息。

2.7 财务管理

1) 计划结算:对完成的计划进行结算;

2) 出入库台账:查询出入库的记录;

3) 年度出入库台账:查看近5年每个月物料的出入库记录。

2.8 统计报表

1) 出车统计:统计近5年的每个月的车辆执行任务的次数;

2) 人员任务统计:统计近5年中每个月员工执行任务的次数;

3) 物料出入统计:统计仓库中物料。

2.9 系统管理

1) 消息通知:提醒用户阅读消息;

2) 定时任务:自定义定时任务并自动执行;

3) 菜单管理:管理系统的菜单信息;

4) 数据字典:管理系统的数据字典。

3 系统设计

3.1 系统功能设计

物流仓储管理系统的角色分为管理员和普通用户,管理员可以访问的功能模块有:用户管理、车辆管理、计划管理、仓库管理、库存管理、财务管理、统计报表和系统管理,普通用户可以访问的功能模块有用户管理和车辆管理。系统的功能模块图如图1所示。

3.2 数据库设计

本系统采用MySQL 数据库对系统所产生的数据进行存储,使用Navicat 连接MySQL,以此来提高开发效率和方便操作数据[4]。

在项目设计的过程中,合理设计数据库的结构可以提高系统运行效率以及用户体验感。同时E-R图是能够清晰体现实体、属性、联系之间的关系[5]。

数据库E-R图设计:

1) 仓库-物料实体联系

一个仓库拥有多种物料,一种物料可以存入多个仓库,因此,仓库和物料的关系之间是多对多的关系。

2) 计划列表-物料实体联系

一种计划存在一种物料,一种物料可以被写入多个计划,因此,该系统的物料和计划列表的关系之间是1对多的关系。

3) 计划列表-派单实体联系

一个计划可以进行多次派单,一次派单对应一个计划,因此,该系统的计划列表和派单的关系之间是1对多的关系。

4) 用户-派单实体联系

一次派单派遣多个员工,一个员工也是对应多个派单,因此,该系统的派单和用户的关系之间是多对多的关系。

5) 车辆-派单实体联系

一次派单派遣多个车辆,一个车辆也是对应多个派单,因此,该系统的派单和车辆的关系之间是多对多的关系。

6) 仓库-派单实体联系

一次派单与仓库交接一次,一个仓库可以与一次派单交接,因此,该系统的派单和仓库的关系之间是1对1的关系。

数据库整体设计E-R图如图2所示。

在设计数据表的时候,我们都需要为每张数据表中设计该表的唯一性,来标识唯一的记录。每个数据库表对应一个实体逻辑结构[6],本系统的数据库名叫cable,其包括了12 个数据表,分别为:用户表(sys_user) ,字典表(sys_dict_item) ,角色表(sys_role) ,系统通告表(sys_announcement) ,车辆表(vehicle) ,车辆保险表(insurance) ,仓庫表(warehouse) ,库位表(stor⁃age_location) ,物料表(material) ,计划列表(plan1) ,派单表(send_orders) ,派单- 车辆- 员工表(send_or⁃ders_subtabulation) 。

4 系统实现

目前本系统的角色分为管理员和普通用户,不同的角色拥有不同的权限,系统由24个功能组成,分别是:登录、首页、员工管理、部门设置、角色权限、车辆列表、车辆保险、车辆任务、计划列表、仓库设置、库位设置、转移记录、物料管理、库存查询、计划结算、出入库台账、年度出入库台账、出车统计、人员任务统计、物料出入统计、定时任务、消息通知、菜单管理、数据字典。

4.1 管理员模块实现

1) 员工管理

进入员工管理界面(UserList.vue) ,发送查询所有用户的请求,调用查询SQL语句,前端将结果渲染在表格上。输入搜索条件查找用户,搜索条件作为key进行模糊查询,将搜索结果重新渲染在表格上。点击修改按钮,弹出修改界面(UserModal.vue) ,表单将请求数据和该行数据进行回显,修改好内容后,携带表单中数据发送保存用户请求,调用修改SQL语句,如果为true则成功,false为失败。点击删除按钮,携带id发送删除请求,调用删除SQL语句,如果为true则成功,false为失败。点击添加按钮,填写添加用户信息,发送添加请求,调用插入SQL语句,如果为true则成功,false为失败。

2) 车辆列表

进入车辆列表界面(VehicleList.vue) ,发送查询所有车辆的请求,调用查询SQL语句,前端将结果渲染在表格上。输入搜索条件查找车辆,搜索条件作为key进行模糊查询,将搜索结果重新渲染在表格上。点击修改按钮,弹出修改界面(VehicleModal.vue) ,表单将该行数据进行回显,修改好内容后,携带表单中数据发送保存车辆请求,调用修改SQL语句,如果为true则成功,false为失败。点击删除按钮,携带id发送删除请求,调用删除SQL 语句,如果为true 则成功,false为失败。点击新增按钮,填写新增车辆信息,发送添加请求,调用插入SQL语句,如果为true则成功,false为失败。

3) 计划列表

进入计划列表界面(Plan1List.vue) ,发送查询所有计划的请求,调用查询SQL语句,前端将结果渲染在表格上。输入搜索条件查找计划,搜索条件作为key进行模糊查询,将搜索结果重新渲染在表格上。点击详情按钮,弹出详情界面(Plan1Modal.vue) ,表单将请求数据和该行数据进行回显,修改好内容后,携带表单中数据发送保存计划请求,调用修改SQL语句,如果为true则成功,false为失败。点击删除按钮,携带id发送删除请求,调用删除SQL语句,如果为true则成功,false为失败。点击新增按钮,填写新增计划信息,发送添加请求,调用插入SQL语句,如果为true则成功,false 为失败。点击派单按钮,弹出派单界面(MergePlanModelPlan1.vue) ,表单将请求数据和该行数据进行回显,修改好内容后,携带表单中数据发送保存派单请求,调用修改SQL语句,如果为true则成功,false为失败。点击完单按钮,弹出完单界面(Com⁃pletePlan1Model.vue) ,表单将数据和该行数据进行回显,修改好内容后,携带表单中数据发送保存完单请求,调用修改SQL 语句,如果为true 则成功,false 为失败。

4) 仓库设置

进入仓库设置界面(WarehouseList.vue) ,发送查询所有仓库的请求,调用查询SQL语句,前端将结果渲染在表格上。输入搜索条件查找仓库,搜索条件作为key进行模糊查询,将搜索结果重新渲染在表格上。点击编辑按钮,弹出编辑界面(WarehouseModal.vue) ,表单将该行数据进行回显,修改好内容后,携带表单中数据發送保存仓库请求,调用修改SQL语句,如果为true则成功,false为失败。点击删除按钮,携带id发送删除请求,调用删除SQL语句,如果为true则成功,false为失败。点击新增按钮,填写新增仓库信息,发送添加请求,调用插入SQL语句,如果为true则成功,false为失败。

5) 物料管理

进入物料管理界面(MaterialList.vue) ,发送查询所有物料的请求,调用查询SQL语句,前端将结果渲染在表格上。输入搜索条件查找物料,搜索条件作为key进行模糊查询,将搜索结果重新渲染在表格上。点击编辑按钮,弹出编辑界面(MaterialModal.vue) ,表单将该行数据进行回显,修改好内容后,携带表单中数据发送保存物料请求,调用修改SQL语句,如果为true则成功,false为失败。点击删除按钮,携带id发送删除请求,调用删除SQL 语句,如果为true 则成功,false为失败。点击新增按钮,填写新增物料信息,发送添加请求,调用插入SQL语句,如果为true则成功,false为失败。

4.2 普通用户模块实现

1) 员工管理

进入员工管理界面(UserList.vue) ,发送查询所有用户的请求,调用查询SQL语句,前端将结果渲染在表格上。输入搜索条件查找用户,搜索条件作为key进行模糊查询,将搜索结果重新渲染在表格上。

2) 车辆列表

进入车辆列表界面(VehicleList.vue) ,发送查询所有车辆的请求,调用查询SQL语句,前端将结果渲染在表格上。输入搜索条件查找车辆,搜索条件作为key进行模糊查询,将搜索结果重新渲染在表格上。

5 总结

本文研究基于Jeecg-boot 平台快速搭建开发环境,使用前后端分离技术来开发系统的全过程,该系统设置了管理员和普通用户这两种角色,通过各种权限(菜单权限、按钮权限)实现了不同角色拥有不同的权限,系统包含的功能模块有:登录、用户管理、车辆管理、计划管理、仓库管理、库存管理、财务管理、统计报表和系统管理。按照系统开发的思路,从需求分析、系统设计、系统实现到系统测试的方式最终完成系统开发。

经过测试,本系统开发完成且具备下列优点:

1) 对重复部分封装成组件,方便维护和使用。

2) 使用前后端分离技术,能够快速开发,降低系统耦合性。

3) 使用一系列的插件和打包工具,优化系统运行速度。