基于Java+Springboot+vue的幼儿园管理系统设计与实现【源码(完整源码请私聊)+论文+演示视频+包运行成功】
博主介绍:专注于Java技术领域和毕业项目实战
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
Java项目精品实战案例(200套)
目录
一、效果演示
二、前言介绍
三、主要技术
四、系统设计(部分)
4.1、主要功能模块设计
4.2、系统登录设计
五、运行截图
5.1、用户功能模块
5.1.1、个人信息
5.1.2、缴费信息管理
5.1.3、儿童体检管理
5.2、管理员功能模块
5.2.1、管理员登录
5.2.2、用户管理
5.2.3、教师管理
5.2.4、资源信息管理
5.2.5、原料信息管理
5.2.6、菜谱信息管理
5.2.7、班级信息管理
5.3、教师功能模块
5.3.1、缴费信息管理
5.3.2、儿童体检管理
5.3.3、资源信息管理
5.3.4、原料信息管理
六、数据库设计(部分)
七、代码参考
八、源码获取
一、效果演示
基于Springboot+vue的幼儿园管理系统演示视频
二、前言介绍
随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于幼儿园管理系统当然也不能排除在外,随着网络技术的不断成熟,带动了幼儿园管理系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对幼儿园管理系统而言非常有利。
本系统采用的数据库是Mysql,使用SpringBoot框架开发,运行环境使用Tomcat服务器,ECLIPSE 是本系统的开发平台。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
三、主要技术
技术名 | 作用 |
---|---|
Springboot | 后端框架 |
Vue | 前端框架 |
MySQL | 数据库 |
四、系统设计(部分)
4.1、主要功能模块设计
4.2、系统登录设计
五、运行截图
5.1、用户功能模块
用户点击进入到系统操作界面,可以对首页、个人中心、幼儿信息管理、缴费信息管理、幼儿请假管理、儿童体检管理、菜谱信息管理等功能模块。
5.1.1、个人信息
图5-1个人信息界面图
5.1.2、缴费信息管理
图5-2缴费信息管理界面图
5.1.3、儿童体检管理
图5-3儿童体检管理界面图
5.2、管理员功能模块
管理员通过用户名和密码、角色填写完成后进行登录,如图5-4所示。管理员登录成功后进入到系统操作界面,可以对首页、个人中心、用户管理、教师管理、幼儿信息管理、班级信息管理、工作日志管理、会议记录管理、待办事项管理、职工考核管理、请假信息管理、缴费信息管理、幼儿请假管理、儿童体检管理、资源信息管理、原料信息管理、菜谱信息管理等功能模块进行相对应操作。
5.2.1、管理员登录
图5-4管理员登录页面
5.2.2、用户管理
图5-5用户管理页面
5.2.3、教师管理
图5-6教师管理界面图
5.2.4、资源信息管理
图5-7资源信息管理界面图
5.2.5、原料信息管理
图5-8原料信息管理界面图
5.2.6、菜谱信息管理
图5-9菜谱信息管理界面图
5.2.7、班级信息管理
图5-10班级信息管理界面图
5.3、教师功能模块
教师点击进入到系统操作界面,可以对首页、个人中心、幼儿信息管理、班级信息管理、工作日志管理、会议记录管理、待办事项管理、职工考核管理、请假信息管理、缴费信息管理、幼儿请假管理、儿童体检管理、资源信息管理、原料信息管理、菜谱信息管理等功能模块,幼儿信息管理:通过列表可以获取用户名、家长姓名、幼儿姓名、性别、手机、年龄、班级名称、备注、工号、教师姓名并进行修改操作,如图5-11所示。
图5-11幼儿信息管理界面图
5.3.1、缴费信息管理
图5-12缴费信息管理界面图
5.3.2、儿童体检管理
图5-13儿童体检管理界面图
5.3.3、资源信息管理
图5-14资源信息管理界面图
5.3.4、原料信息管理
图5-15原料信息管理界面图
六、数据库设计(部分)
每个数据库的应用它们都是和区分开的,当运行到一定的程序当中,它就会与自己相关的协议与客户端进行通讯。那么这个系统就会对使这些数据进行连接。当我们选择哪个桥段的时候,接下来就会简单的叙述这个数据库是如何来创建的。当点击完成按钮的时候就会自动在对话框内弹出数据源的名称,在进行点击下一步即可,直接在输入相对应的身份验证和登录密码。
幼儿园管理系统的数据流程:
图4-4 系统数据流程图
教师管理实体E-R图,如图4.5所示。
图4.5教师管理E-R图
七、代码参考
package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
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.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.BanjixinxiEntity;
import com.entity.view.BanjixinxiView;
import com.service.BanjixinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 班级信息
* 后端接口
* @author
* @email
* @date 2021-03-18 15:04:00
*/
@RestController
@RequestMapping("/banjixinxi")
public class BanjixinxiController {
@Autowired
private BanjixinxiService banjixinxiService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,BanjixinxiEntity banjixinxi,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("jiaoshi")) {
banjixinxi.setGonghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<BanjixinxiEntity> ew = new EntityWrapper<BanjixinxiEntity>();
PageUtils page = banjixinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, banjixinxi), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,BanjixinxiEntity banjixinxi, HttpServletRequest request){
EntityWrapper<BanjixinxiEntity> ew = new EntityWrapper<BanjixinxiEntity>();
PageUtils page = banjixinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, banjixinxi), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( BanjixinxiEntity banjixinxi){
EntityWrapper<BanjixinxiEntity> ew = new EntityWrapper<BanjixinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( banjixinxi, "banjixinxi"));
return R.ok().put("data", banjixinxiService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(BanjixinxiEntity banjixinxi){
EntityWrapper< BanjixinxiEntity> ew = new EntityWrapper< BanjixinxiEntity>();
ew.allEq(MPUtil.allEQMapPre( banjixinxi, "banjixinxi"));
BanjixinxiView banjixinxiView = banjixinxiService.selectView(ew);
return R.ok("查询班级信息成功").put("data", banjixinxiView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
BanjixinxiEntity banjixinxi = banjixinxiService.selectById(id);
return R.ok().put("data", banjixinxi);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
BanjixinxiEntity banjixinxi = banjixinxiService.selectById(id);
return R.ok().put("data", banjixinxi);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody BanjixinxiEntity banjixinxi, HttpServletRequest request){
banjixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(banjixinxi);
banjixinxiService.insert(banjixinxi);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody BanjixinxiEntity banjixinxi, HttpServletRequest request){
banjixinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(banjixinxi);
banjixinxiService.insert(banjixinxi);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody BanjixinxiEntity banjixinxi, HttpServletRequest request){
//ValidatorUtils.validateEntity(banjixinxi);
banjixinxiService.updateById(banjixinxi);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
banjixinxiService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
/**
* 提醒接口
*/
@RequestMapping("/remind/{columnName}/{type}")
public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request,
@PathVariable("type") String type,@RequestParam Map<String, Object> map) {
map.put("column", columnName);
map.put("type", type);
if(type.equals("2")) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar c = Calendar.getInstance();
Date remindStartDate = null;
Date remindEndDate = null;
if(map.get("remindstart")!=null) {
Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindStart);
remindStartDate = c.getTime();
map.put("remindstart", sdf.format(remindStartDate));
}
if(map.get("remindend")!=null) {
Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
c.setTime(new Date());
c.add(Calendar.DAY_OF_MONTH,remindEnd);
remindEndDate = c.getTime();
map.put("remindend", sdf.format(remindEndDate));
}
}
Wrapper<BanjixinxiEntity> wrapper = new EntityWrapper<BanjixinxiEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("jiaoshi")) {
wrapper.eq("gonghao", (String)request.getSession().getAttribute("username"));
}
int count = banjixinxiService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
八、源码获取
大家点赞、收藏、关注、评论啦 、查看文章结尾👇🏻获取联系方式👇🏻
精彩专栏推荐订阅:在下方专栏👇🏻👇🏻👇🏻👇🏻
Java项目精品实战案例(200套)
私信我即可打包获取200多个项目源码+论文+演示视频~