基于Springboot+vue特困救助供养信息管理系统 毕业设计

很多朋友发现后期找不到文章,收藏关注不迷路

项目介绍

信息化的迅速发展,对人们的衣食住行产生了很大影响。越来越多的人习惯并依赖于通过信息技术和智能化的形式来处理日常各类事物。为了满足特困救助供养的需要,以及适应现代化特困救助供养管理的需求,决定开发特困救助供养信息管理系统。帮助特困人员解决日常生活的问题,并提高效率。
本系统是选择面向对象的Java语言开发,通过服务端程序框架进行设计,使用关系型数据库MySQL存储数据。使用B/S开发方式,用户只需要通过浏览器访问系统即可获取特困救助供养信息,并可以在线管理特困人员等业务,实现了信息的科学管理与查询统计。本文先通过对相关系统的调研,提出开发特困救助供养信息管理系统的意义,然后使用当前主流的技术进行开发,满足特困救助供养信息管理系统的技术要求,分析系统需要实现的功能并进行设计。梳理业务流程,并根据功能设计数据库,最后通过编码实现,介绍实现的关键算法逻辑。在测试阶段通过测试用例来确保系统可以正常运行,并达到前期要求的目的。系统的实施方便了特困人员管理,将信息化技术完美的应用在特困救助供养信息管理系统中,使得特困救助供养变得快捷高效。

课题的来源

当前,随着我国保障制度的完善,各地纷纷构建高品质的特困救助供养机构来适应社会的发展,特困救助供养机构品质的上升并不等于特困救助供养机构服务质量的上升,这就对特困救助供养机构管理提出更高的要求。在传统的特困救助供养机构管理中,许多工作都是依靠人力去解决。比如特困人员管理、机构运转经费管理需要通过工人进行记录,往往积攒了许多的工单,长年累月积累的资料很难进,已交和未交费用的特困人员难以统计。随着社会进入信息化时代,特困救助供养机构也要逐渐提高这种管理方式,通过计算机来进行办公。把所有的资料存储在软件中,通过系统可以快捷的查询出对应的数据。
在特困救助供养方面,通过特困救助供养信息管理系统可以发布相关的费用标准,通知特困救助机构及时的了解特困人员情况,同时也可以在线进行集中供养和分散供养,帮助特困人员完成生活保障。如果通过手工劳动,很难记录这些信息,不但效率低下,还容易出错。
目前技术比较成熟和方便使用的java、jsp等网页技术,这些技术目前在很多信息网站和管理系统中取得了良好的运用,也不断的在实践过程中得到肯定 。java、jsp等网页技术最大的重点在数据库的应用上,通过java、jsp等网页技术可以轻松的获取网络中的各种数据库,并且网页也能根据依照不同的情况对网络中动态做出不同的响应,这样建立的动态响应的机制,也可以达到更好的缩短程序开发时间功效。

课题研究意义

特困救助供养信息管理系统使用B/S架构开发Web应用程序,在Java平台下开发性能稳定的管理系统。本系统除了为特困救助供养机构提供使用外,也可以为民政部门提供使用,实现具体的特困救助供养机构管理业务。
本文研究的目的就是出于对特困人员的关注和特困人员生活指数的关心,开发一个针对特困人员的专业化特困救助供养信息管理系统,为他们解决生活问题,方便用户查找和使用,同时可以和多个特困救助机构合作,建立在线互通平台,更好的解决特困人员生活的问题。
特困救助供养信息管理系统有着重要的实现意义,主要表现以下几点:1、特困救助供养信息管理系统是目前生活管理的重要手段。通过系统可以系统化管理特困救助供养机构的日常工作情况,并提高效率。2、特困救助供养信息管理系统可以更好的促进特困人员管理的深化。让民政部门更好的解决特困人员的问题,并且特困救助机构在线服务,让问题得到较为满意的解决。

技术介绍

1、管理员账号:abo 密码:abo
2、开发环境为Eclipse/idea,数据库为mysql 使用java语言开发。
3.配置好Tomcat并点击启动按钮即可运行
4.数据库连接src\main\resources\application.yml中修改
5.maven包版本apache-maven-3.3.9.
开发语言:Java
框架:SSM
前端框架:vue.js
JDK版本:JDK1.8+
服务器:tomcat8+
数据库工具:Navicat
开发软件:idea 支持eclipse

Springboot是当前最流向的一个框架,它的配置更加的简单,使开发变得更加的简单迅速。
Springboot的基础结构共三个文件,具体如下:
src/main/java:程序开发以及主程序入口;
src/main/resources:配置文件;
src/test/java:测试程序。
ssm的数据库配置默认支持两种格式的配置文件
1,application.properties
2,application.yaml

项目界面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
系统的使用角色主要为民政部门相关管理人员、特困救助机构管理者和系统后台管理者三类。每类角色的权限各不相同。
(1)登录功能模块
开发过程中需要登录人员的身份进行识别和判定,定义不同角色,设定用户使用权限。展示当前登录用户添加的机构信息、及当前登录用户所属区划及其下属区划下已发布的机构信息。
(2)特困人员管理模块
特困人员的管理主要分为集中供养和分散供养两种方式。对机构的入住人员信息维护、包括入住人员信息的录入、编辑、删除、查看等操作。
(3)特困人员供养机构管理模块
主要是对特困救助机构的数据进行核对和修改,该模块完成特困救助机构的信息维护、包括录入、编辑、批量删除、查看、查看入住信息等功能。主要用来维护特困救助机构的基本信息。涉及到的有机构名称、组织机构代码、发证时间、有效期至、机构法人、法人代表身份证号、机构地址、建设时间、注册资金(万元)、 占地面积(平方米)、建筑面积(平方米)等等。
(4)费用标准管理模块
该模块主要是分为供养标准和机构运转经费两个部分。
供养标准模块:完成对辖区内特困人员补助费用标准的设定,因为补助的费用标准可能会根据年人均收入等因素而发生改变、所以提供动态的设置功能,以应对标准随时变更,包括标准的录入、编辑、查看、批量删除功能。涉及到的数据元素有标准名称、供养方式、年度、基本生活费(元)、照料护理费一档(元)、照料护理费二档(元)、照料护理费三档(元)等。
机构运转经费模块:该模块完成对辖区内不同供养机构运转经费的设定,因为运转经费可能会根据每年机构的情况等因素而发生改变,所以提供动态的设置功能。所涉及到的数据元素主要包括特困救助机构、年度、机构运转经费(元)。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
通过走访某特困救助供养机构实际情况,整理特困救助供养机构管理的业务流程,分析当前特困救助供养机构管理存在的各种问题,利用软件开发思想对特困救助供养机构特困救助供养机构管理进行系统设计分析。最终得出本特困救助供养信息管理系统分为民政端和特困救助机构端两个部分。
民政端的管理人员负责整理本地区的特困救助机构信息和特困人员信息。
特困救助机构端的管理人员主要负责对该机构下的救助供养机构信息和入住的特困人员信息进行管理。
另外,系统还需要提供管理员,对系统的所有机构,人员进行管理。

在这里插入图片描述
选择民政部门人员角色,使用对应的凭证进行登录,登录后可以修改个人信息。进行特困救助机构、照料护理费管理。
在这里插入图片描述
选择特困救助机构角色,使用对应的凭证进行登录,登录后可以修改个人信息。对工作人员管理、集中供养管理、分散供养管理、费用标准管理、机构运转费用管理。
在这里插入图片描述

关键代码


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

目录

目 录
目 录 III
1 绪论 1
1.1 研究背景 1
1.2 目的和意义 1
1.3 论文结构安排 2
2 相关技术 3
2.1 Springboot框架介绍 3
2.2 B/S结构介绍 3
2.3 Mysql数据库介绍 4
3 系统分析 6
3.1 系统可行性分析 6
3.1.1 技术可行性分析 6
3.1.2 经济可行性分析 6
3.1.3 运行可行性分析 6
3.2 系统性能分析 7
3.2.1 易用性指标 7
3.2.2 可扩展性指标 7
3.2.3 健壮性指标 7
3.2.4 安全性指标 8
3.3 系统流程分析 8
3.3.1 操作流程分析 8
3.3.2 登录流程分析 9
3.3.3 信息添加流程分析 10
3.3.4 信息删除流程分析 11
4 系统设计 12
4.1 系统概要设计 12
4.2 系统功能结构设计 12
4.3 数据库设计 13
4.3.1 数据库E-R图设计 13
4.3.2 数据库表结构设计 14
5 系统实现 17
5.1用户部分功能17
5.2 管理员部分功能展示

6 系统测试
6.1 系统测试的特点 
6.2 系统功能测试
6.2.1 登录功能测试
6.2.2 添加类别功能测试
6.3 测试结果分析
结 论
致 谢
参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值