【开源】JAVA+Vue.js实现农村物流配送系统

news2024/11/28 2:30:16

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 系统登录、注册界面
    • 2.2 系统功能
      • 2.2.1 快递信息管理:
      • 2.2.2 位置信息管理:
      • 2.2.3 配送人员分配:
      • 2.2.4 路线规划:
      • 2.2.5 个人中心:
      • 2.2.6 退换快递处理:
      • 2.2.7 客户评价:
  • 三、系统展示
  • 四、核心代码
    • 4.1 查询商家
    • 4.2 退换快递
    • 4.3 新增路线规划
    • 4.4 查询乡镇村社
    • 4.5 查询配送位置
  • 五、免责说明


一、摘要

1.1 项目介绍

基于Vue+SpringBoot+MySQL的农村物流配送系统,包含快递客户管理模块、配送位置管理模块、配送人员模块、路线规划模块、商家管理模块、商品退换模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,农村物流配送系统基于角色的访问控制,给物流管理员、配送人员使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

1.2 项目录屏


二、功能模块

2.1 系统登录、注册界面

1、快递员注册、登录此系统。
2、建立员工数据库,管理员工信息。

2.2 系统功能

2.2.1 快递信息管理:

(1)添加客户信息:输入收货人,取件码,快递单号。
(2)查询客户信息:输入收货人,ID。
(3)删除客户信息:
(4)修改客户信息;

2.2.2 位置信息管理:

(1)添加位置信息:输入起始地点,输入终点
(2)删除位置信息:
(3)修改位置信息:
(4)定位信息:请输入地点信息

2.2.3 配送人员分配:

(1)添加配送人员:输入性别,输入姓名,输入年龄
(2)删除配送人员信息:
(3)修改配送人员信息:

2.2.4 路线规划:

(1)划分路线图:输入乡镇名,村名,
(2)为每个配送人员添加自己的路线:
(3)删除路线:
(4)修改路线:

2.2.5 个人中心:

(1)员工个人信息管理:添加员工信息,输入姓名,性别,年龄;删除员工信息;查询员工信息;修改员工信息
(2)关于系统:系统版本
(3)退出系统:

2.2.6 退换快递处理:

(1)输入退换产品理由;
(2)输入商家信息:输入商家姓名,位置信息,联系方式
(3)输入客户信息:输入客户姓名,联系方式:
(4)删除商家信息:
(5)删除客户信息:
(6)修改商家信息:
(7)修改客户信息:

2.2.7 客户评价:

(1)非常满意,满意,一般,差评。


三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 查询商家

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询商家")
public Result<IPage<Business>> getByPage(@ModelAttribute Business business ,@ModelAttribute PageVo page){
    QueryWrapper<Business> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(business.getUserName())) {
        qw.like("user_name",business.getUserName());
    }
    if(!ZwzNullUtils.isNull(business.getAddress())) {
        qw.like("address",business.getAddress());
    }
    IPage<Business> data = iBusinessService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Business>>().setData(data);
}

4.2 退换快递

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增退换快递")
public Result<Exchange> insert(Exchange exchange){
    Business b = iBusinessService.getById(exchange.getBusinessId());
    if(b == null) {
        return ResultUtil.error("商家不存在");
    }
    exchange.setBusinessName(b.getUserName() + "-" + b.getAddress());
    Express e = iExpressService.getById(exchange.getExpressId());
    if(e == null) {
        return ResultUtil.error("快递客户不存在");
    }
    exchange.setExpressName(e.getUserName() + "-" + e.getAddress());
    iExchangeService.saveOrUpdate(exchange);
    return new ResultUtil<Exchange>().setData(exchange);
}

4.3 新增路线规划

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增路线规划")
public Result<Route> insert(Route route){
    Department d1 = iDepartmentService.getById(route.getTownshipId());
    if(d1 == null) {
        return ResultUtil.error("乡镇不存在");
    }
    route.setTownshipName(d1.getTitle());
    Department d2 = iDepartmentService.getById(route.getVillageId());
    if(d2 == null) {
        return ResultUtil.error("村社不存在");
    }
    route.setVillageName(d2.getTitle());
    User user = iUserService.getById(route.getDispatcherId());
    if(user == null) {
        return ResultUtil.error("配送员不存在");
    }
    route.setDispatcherName(user.getNickname());
    iRouteService.saveOrUpdate(route);
    return new ResultUtil<Route>().setData(route);
}

4.4 查询乡镇村社

@RequestMapping(value = "/getTopDepartment", method = RequestMethod.GET)
@ApiOperation(value = "查询乡镇")
public Result<List<Department>> getTopDepartment(){
    QueryWrapper<Department> qw = new QueryWrapper<>();
    qw.eq("parent_id",0);
    return new ResultUtil<List<Department>>().setData(iDepartmentService.list(qw));
}

@RequestMapping(value = "/getSonDepartment", method = RequestMethod.GET)
@ApiOperation(value = "查询村社")
public Result<List<Department>> getSonDepartment(@RequestParam String parentId){
    QueryWrapper<Department> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(parentId)) {
        qw.eq("parent_id",parentId);
    } else {
        qw.ne("parent_id",0);
    }
    return new ResultUtil<List<Department>>().setData(iDepartmentService.list(qw));
}

4.5 查询配送位置

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询位置")
public Result<IPage<Position>> getByPage(@ModelAttribute Position position ,@ModelAttribute PageVo page){
    QueryWrapper<Position> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(position.getTitle())) {
        qw.like("title",position.getTitle());
    }
    if(!ZwzNullUtils.isNull(position.getStartAddress())) {
        qw.like("start_address",position.getStartAddress());
    }
    if(!ZwzNullUtils.isNull(position.getEndAddress())) {
        qw.like("end_address",position.getEndAddress());
    }
    IPage<Position> data = iPositionService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Position>>().setData(data);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1456232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java入门基础语法

文章目录 3.1 字面量3.2 数据类型3.3 变量3.4 变量的案例3.4.1 手机信息描述3.4.2 疫情防控信息采集表 3.5 变量的注意事项3.6 关键字3.7 标识符 来学习 Java 基础语法部分的知识&#xff0c;这些内容是我们后面编写程序的基本功&#xff0c;所以呢&#xff0c;得好好学习&…

C/C++数据结构——剖析排序算法

1. 排序的概念及其运用 1.1 排序的概念 https://en.wikipedia.org/wiki/Insertion_sorthttps://en.wikipedia.org/wiki/Insertion_sort 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小&#xff0c;递增或递减的排列起来的…

MySQL篇之主从同步原理

一、原理 MySQL主从复制的核心就是二进制日志。 二进制日志&#xff08;BINLOG&#xff09;记录了所有的 DDL&#xff08;数据定义语言&#xff09;语句和 DML&#xff08;数据操纵语言&#xff09;语句&#xff0c;但不包括数据查询&#xff08;SELECT、SHOW&#xff09;语句。…

【开源】SpringBoot框架开发教学过程管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2.3.1 教师功能如下2.3.2 学生功能如下 三、系统展示 四、核心代码4.1 查询签到4.2 签到4.3 查询任务4.4 查询课程4.5 生成课程成绩 六、免责说明 一、摘要 1.1 项目介绍 基于JAVAVu…

DS:八大排序之归并排序、计数排序

创作不易&#xff0c;感谢三连支持&#xff01;&#xff01; 一、归并排序 1.1 思想 归并排序&#xff08;MERGE-SORT&#xff09;是建立在归并操作上的一种有效的排序算法,该算法是采用分治法&#xff08;Divide andConquer&#xff09;的一个非常典型的应用。将已有序的子…

序列发生器

一开始想直接FSM&#xff0c;划分出6状态依次输出对应的。但其实只要6比特的移位寄存器&#xff0c;每次输出高位。复位后的默认值时6’b001_011。这样就可以实现循环&#xff0c;这种移位寄存器也叫barrel_shifter。循环移位。也可以使用循环计数器&#xff0c;然后case计数器…

机试指南:3-4章

文章目录 第3章 排序与查找(一) 排序1.sort函数&#xff1a;sort(first,last,comp)2.自定义比较规则3.C函数重载&#xff1a;同一个函数名&#xff0c;有不同的参数列表4.机试考试最重要的事情&#xff1a;能把你曾经做过的题目&#xff0c;满分地做出来5.例题例题1&#xff1a…

找座位 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 100分 题解: Java / Python / C++ 题目描述 在一个大型体育场内举办了一场大型活动,由于疫情防控的需要,要求每位观众的必须间隔至少一个空位才允许落座。 现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出,在不移动现有观众座位…

全国工商企业名录

全国2023年12月份企业名录2.5亿条

成功交易者需要历经多少磨难才能成就辉煌?

前言 王国维在《人间词话》中说&#xff1a;古今之成大事业、大学问者&#xff0c;必经过三种之境界&#xff1a;“昨夜西风凋碧树&#xff0c;独上高楼&#xff0c;望尽天涯路。” 此第一境也。“ 衣带渐宽终不悔&#xff0c;为伊消得人憔悴。” 此第二境也。“众里寻他千百度…

2023年【四川省安全员B证】最新解析及四川省安全员B证新版试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年四川省安全员B证最新解析为正在备考四川省安全员B证操作证的学员准备的理论考试专题&#xff0c;每个月更新的四川省安全员B证新版试题祝您顺利通过四川省安全员B证考试。 1、【多选题】《建筑施工安全检查标准…

振弦采集仪在地铁隧道振动监测中的应用研究

振弦采集仪在地铁隧道振动监测中的应用研究 河北稳控科技振弦采集仪是一种用于测量振动信号的设备&#xff0c;广泛应用于结构和地铁隧道等工程监测中。在地铁隧道振动监测中&#xff0c;振弦采集仪可以提供以下方面的应用研究&#xff1a; 1. 地铁隧道振动监测&#xff1a;振…

测试演示文档1770532693631507859

测试录入文档 这是一个标题 正文正文 段落1段落2 随机数YY 第二张图 XXXY ct-1708314487159)] XXXY

第十三章[管理]:13.2:venv虚拟环境

一,虚拟环境 1,虚拟环境是什么? venv是Python的一个标准库,用于创建和管理虚拟环境。 虚拟环境是Python的一个隔离空间,在这个空间中, 你可以安装和管理Python包,而不会影响到系统中的其他Python环境。 2,虚拟环境的特点: 隔离性:每个虚拟环境都有自己的Python解释器…

在script标签写export为什么会抛错|type module import ES5 ES6 预处理 指令序言 JavaScript JS

今天我们进入到语法部分的学习。在讲解具体的语法结构之前&#xff0c;这一堂课我首先要给你介绍一下 JavaScript 语法的一些基本规则。 脚本和模块 首先&#xff0c;JavaScript 有两种源文件&#xff0c;一种叫做脚本&#xff0c;一种叫做模块。这个区分是在 ES6 引入了模块…

Windows制作Windows的U盘启动盘

概要&#xff1a; 本篇演示在Windows10系统中制作Windows10的U盘启动盘 一、下载Windows10的iso文件 自行去微软官方网站下载Windows10的iso文件 二、下载Ultraiso 在浏览器输入https://www.ultraiso.com进入ultraiso官网 点击FREE TRIAL下载免费试用版 下载好的文件&a…

PyCharm 取消所有断点

PyCharm 取消所有断点 1. Run -> View Breakpoints...2. Python Line Breakpoint3. Remove - DoneReferences 1. Run -> View Breakpoints… 2. Python Line Breakpoint ​​​ 3. Remove - Done References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

CrossOver For Mac v24.0.0 Beta3 在Mac运行Windows软件

CrossOver For Mac v24.0.0 是一款系统兼容软件&#xff0c;让您可以在 Mac 和 Linux 系统上运行 Windows 应用&#xff0c;不必购买 Windows 授权&#xff0c;不必重启系统&#xff0c;不必使用虚拟机。通过 CrossOver&#xff0c; 您可以从 dock 直接启动 Windows 应用&#…

Linux环境下HTTP隧道的安全性与性能优化策略

在Linux环境下&#xff0c;HTTP隧道技术为远程办公和数据同步提供了极大的便利。为了确保这种技术的安全性和性能&#xff0c;我们需要采取一系列策略来保障其稳定运行。 安全性策略 安全性是HTTP隧道技术的首要考虑因素。以下是一些建议&#xff0c;以确保HTTP隧道的安全性&…

系统测试计划(直接套用实际)

1测试目的 2测试范围 3资源要求 3.1人力资源 3.2指派干系人 3.3测试环境 3.4测试工具 4测试类型 5测试安排 5.1测试进度 5.2测试策略 5.2.1测试需求 5.2.2测试类型 6测试停止标准 7测试风险 8缺陷管理 8.1缺陷属性 8.2缺陷类型 8.3缺陷严重程度 8.4缺陷优先级 8.5缺陷状态 8.6缺…