💕💕作者:计算机源码社
💕💕个人简介:本人七年开发经验,擅长Java、Python、PHP、.NET、微信小程序、爬虫、大数据等,大家有这一块的问题可以一起交流!
💕💕学习资料、程序开发、技术解答、文档报告
💕💕JavaWeb项目
💕💕微信小程序项目
💕💕Python项目
💕💕Android项目
对学生毕业管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的学生毕业管理小程序。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员,教师和学生三种角色,主要包含系统首页,个人中心,学生管理,教师管理,师生双选管理,院校管理,开题答辩管理,答辩评审管理,学生推优管理,学生过程文档管理,教师过程文档管理,系统管理等功能。系统开发主要在Windows系统下进行,采用支持跨平台的java语言开发完成,因此可以运行在任意开发环境下。系统采用MySQL数据库和B/S结构的方式,按照SSM框架进行开发。
根据日常实际需要,一方面需要在系统中实现基础信息的管理,同时还需要结合实际情况的需要,提供学生毕业管理功能,方便学生毕业管理工作的展开,综合考虑,本套系统应该满足如下要求:
首先,在系统中需要实现对基础信息,包括系统首页,个人中心,学生管理,教师管理,师生双选管理,院校管理,开题答辩管理,答辩评审管理,学生推优管理,学生过程文档管理,教师过程文档管理,系统管理等功能的管理,这些是系统的基础信息,和系统中其他内容密切相关。然后,系统中需要实现对教师和学生信息的管理,允许管理员对教师和学生进行必要的设置,同时要避免管理员对个人信息进行操作,保障教师和学生的信息安全。
(1)管理员可以对系统首页,个人中心,学生管理,教师管理,师生双选管理,院校管理,开题答辩管理,答辩评审管理,学生推优管理,学生过程文档管理,教师过程文档管理,系统管理等进行基本的信息管理。其用例分析如图1所示。
(2)学生可以对教师,师生双选,开题答辩,答辩评审,学生推优,学生过程文档等进行操作,用例分析如图2所示。
(3)教师可以对师生双选,开题答辩,答辩评审,学生推优,教师过程文档等进行操作,用例分析如图3所示。
package com.controller;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.text.ParseException;
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 java.io.IOException;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
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.XueshengguochengwendangEntity;
import com.entity.view.XueshengguochengwendangView;
import com.service.XueshengguochengwendangService;
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
*/
@RestController
@RequestMapping("/xueshengguochengwendang")
public class XueshengguochengwendangController {
@Autowired
private XueshengguochengwendangService xueshengguochengwendangService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,XueshengguochengwendangEntity xueshengguochengwendang,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
xueshengguochengwendang.setXuehao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<XueshengguochengwendangEntity> ew = new EntityWrapper<XueshengguochengwendangEntity>();
PageUtils page = xueshengguochengwendangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xueshengguochengwendang), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,XueshengguochengwendangEntity xueshengguochengwendang,
HttpServletRequest request){
EntityWrapper<XueshengguochengwendangEntity> ew = new EntityWrapper<XueshengguochengwendangEntity>();
PageUtils page = xueshengguochengwendangService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xueshengguochengwendang), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( XueshengguochengwendangEntity xueshengguochengwendang){
EntityWrapper<XueshengguochengwendangEntity> ew = new EntityWrapper<XueshengguochengwendangEntity>();
ew.allEq(MPUtil.allEQMapPre( xueshengguochengwendang, "xueshengguochengwendang"));
return R.ok().put("data", xueshengguochengwendangService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(XueshengguochengwendangEntity xueshengguochengwendang){
EntityWrapper< XueshengguochengwendangEntity> ew = new EntityWrapper< XueshengguochengwendangEntity>();
ew.allEq(MPUtil.allEQMapPre( xueshengguochengwendang, "xueshengguochengwendang"));
XueshengguochengwendangView xueshengguochengwendangView = xueshengguochengwendangService.selectView(ew);
return R.ok("查询学生过程文档成功").put("data", xueshengguochengwendangView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
XueshengguochengwendangEntity xueshengguochengwendang = xueshengguochengwendangService.selectById(id);
return R.ok().put("data", xueshengguochengwendang);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
XueshengguochengwendangEntity xueshengguochengwendang = xueshengguochengwendangService.selectById(id);
return R.ok().put("data", xueshengguochengwendang);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody XueshengguochengwendangEntity xueshengguochengwendang, HttpServletRequest request){
xueshengguochengwendang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(xueshengguochengwendang);
xueshengguochengwendangService.insert(xueshengguochengwendang);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody XueshengguochengwendangEntity xueshengguochengwendang, HttpServletRequest request){
xueshengguochengwendang.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(xueshengguochengwendang);
xueshengguochengwendangService.insert(xueshengguochengwendang);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
@Transactional
public R update(@RequestBody XueshengguochengwendangEntity xueshengguochengwendang, HttpServletRequest request){
//ValidatorUtils.validateEntity(xueshengguochengwendang);
xueshengguochengwendangService.updateById(xueshengguochengwendang);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
xueshengguochengwendangService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}