物流管理系统目录
目录
博主介绍:✌️大厂码农|毕设布道师,阿里云开发社区乘风者计划专家博主,CSDN平台Java领域优质创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。✌️
主要项目:小程序、SpringBoot、SSM、Vue、Html、Jsp、Nodejs等设计与开发。
🍅文末获取源码联系🍅
👉 毕设答疑 👈
基于Springboot的物流管理系统设计与实现
一、前言
本次开发一套物流管理系统有管理员和用户两个角色。管理员功能有个人中心,用户管理,车辆信息管理,公告信息管理,司机管理,物流信息管理,运单信息管理,车辆类型管理,车辆状态管理,公告类型管理,物流状态管理,运单状态管理。用户可以注册登录,查看公告信息,查看物流信息,可以添加运单信息。物流管理系统服务端用Java开发,用Spring Boot框架开发的网站后台,数据库用到了MySQL数据库作为数据的存储。这样就让用户用着方便快捷,都通过同一个后台进行业务处理,而后台又可以根据并发量做好部署,用硬件和软件进行协作,满足于数据的交互式处理,让用户的数据存储更安全,得到数据更方便。
关键字:物流管理系统;Spring Boot框架;Java;MySQL
二、系统功能设计
绘制的管理员功能结构见下图。管理员可以管理所有,包含个人中心,用户管理,管理员管理,公告信息管理,咨询信息管理,车辆信息管理,物流信息管理,试题管理,系统管理,考试管理等。
三、系统实现
1、管理员和管理员功能实现
(1)用户管理
管理员可以对用户信息进行添加,修改,删除,查询操作。
图5-1 用户管理页面
(2)公告信息管理
管理员可以对公告信息信息进行添加,修改,删除,查询操作。
图5-2 公告信息管理页面
(3)物流信息管理
管理员可以对物流信息进行添加,修改,删除,查询操作。
图5-3 物流信息管理页面
(4)车辆信息管理
管理员可以对车辆信息进行添加,修改,删除操作。
图5-4 车辆信息管理页面
2、用户功能实现
(1)物流信息
用户登录后可以查看物流信息,可以看到物流信息状态和详情。
图5-5 物流信息页面
(2)运单信息添加
用户可以在运单信息管理里面添加运单信息。
图5-6 运单信息添加页面
(3)运单管理
用户可以对自己发布的运单信息进行添加修改删除查询操作。
图5-7 运单管理页面
(4)个人信息
用户可以在个人信息里面修改自己的资料。
图5-8 个人信息页面
四、数据库设计
1、实体ER图
物流信息管理系统的E-R图如下图所示:
(1)管理员实体属性图通过Visio工具绘制,绘制结果展示如下:
图4-4 管理员实体属性图
(2)用户实体属性图通过Visio工具绘制,绘制结果展示如下:
图4-5 用户实体属性图
(3)公告信息实体属性图通过Visio工具绘制,绘制结果展示如下:
图4-6 公告信息实体属性图
2、具体的表设计如下所示:
司机表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | siji_name | String | 司机姓名 | 是 |
3 | siji_photo | String | 头像 | 是 |
4 | sex_types | Integer | 性别 | 是 |
5 | siji_phone | String | 联系方式 | 是 |
6 | create_time | Date | 创建时间 | 是 |
运单信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | yonghu_id | Integer | 用户 | 是 |
3 | yundan_address | String | 送货地点 | 是 |
4 | yundan_name | String | 收件人 | 是 |
5 | yundan_phone | String | 联系方式 | 是 |
6 | yundan_status_types | Integer | 运单状态 | 是 |
7 | create_time | Date | 创建时间 | 是 |
管理员表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | username | String | 用户名 | 是 |
3 | password | String | 密码 | 是 |
4 | role | String | 角色 | 是 |
5 | addtime | Date | 新增时间 | 是 |
车辆信息表
序号 | 列名 | 数据类型 | 说明 | 允许空 |
1 | Id | Int | id | 否 |
2 | cheliang_uuid_number | String | 车辆编号 | 是 |
3 | cheliang_name | String | 车辆名称 | 是 |
4 | cheliang_types | Integer | 车辆类型 | 是 |
5 | cheliang_status_types | Integer | 车辆状态 | 是 |
6 | cheliang_content | String | 车辆详情 | 是 |
7 | create_time | Date | 创建时间 | 是 |
五、核心代码
package com.service.impl; import com.utils.StringUtil; import org.springframework.stereotype.Service; import java.lang.reflect.Field; import java.util.*; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import com.utils.PageUtils; import com.utils.Query; import org.springframework.web.context.ContextLoader; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import com.dao.WuliuDao; import com.entity.WuliuEntity; import com.service.WuliuService; import com.entity.view.WuliuView; /** * 物流信息 服务实现类 */ @Service("wuliuService") @Transactional public class WuliuServiceImpl extends ServiceImpl<WuliuDao, WuliuEntity> implements WuliuService { @Override public PageUtils queryPage(Map<String,Object> params) { if(params != null && (params.get("limit") == null || params.get("page") == null)){ params.put("page","1"); params.put("limit","10"); } Page<WuliuView> page =new Query<WuliuView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,params)); return new PageUtils(page); } } package com.service.impl; import com.utils.StringUtil; import org.springframework.stereotype.Service; import java.lang.reflect.Field; import java.util.*; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import com.utils.PageUtils; import com.utils.Query; import org.springframework.web.context.ContextLoader; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import com.dao.SijiDao; import com.entity.SijiEntity; import com.service.SijiService; import com.entity.view.SijiView; /** * 司机 服务实现类 */ @Service("sijiService") @Transactional public class SijiServiceImpl extends ServiceImpl<SijiDao, SijiEntity> implements SijiService { @Override public PageUtils queryPage(Map<String,Object> params) { if(params != null && (params.get("limit") == null || params.get("page") == null)){ params.put("page","1"); params.put("limit","10"); } Page<SijiView> page =new Query<SijiView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,params)); return new PageUtils(page); } } package com.service.impl; import com.utils.StringUtil; import org.springframework.stereotype.Service; import java.lang.reflect.Field; import java.util.*; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import org.springframework.transaction.annotation.Transactional; import com.utils.PageUtils; import com.utils.Query; import org.springframework.web.context.ContextLoader; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import com.dao.CheliangDao; import com.entity.CheliangEntity; import com.service.CheliangService; import com.entity.view.CheliangView; /** * 车辆信息 服务实现类 */ @Service("cheliangService") @Transactional public class CheliangServiceImpl extends ServiceImpl<CheliangDao, CheliangEntity> implements CheliangService { @Override public PageUtils queryPage(Map<String,Object> params) { if(params != null && (params.get("limit") == null || params.get("page") == null)){ params.put("page","1"); params.put("limit","10"); } Page<CheliangView> page =new Query<CheliangView>(params).getPage(); page.setRecords(baseMapper.selectListView(page,params)); return new PageUtils(page); } }
六、论文参考
七、最新计算机毕设选题推荐
八、源码获取:
大家点赞、收藏、关注、评论啦 、👇🏻获取联系方式在文章末尾👇🏻