相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低学校的运营人员成本,实现了高校毕业生离校管理的标准化、制度化、程序化的管理,有效地防止了高校毕业生离校管理系统的随意管理,提高了信息的处理速度和精确度,能够及时、准确地查询和修正校园公告等信息。
课题主要采用Uni-weixin、springboot架构技术,前端以小程序页面呈现给用户,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据存储。微信小程序主要包括学生、教务人员、宿管员、图书管理员、财务人员、离校申请、物流信息、钥匙归还、图片归还、欠费信息、催缴信息等功能,从而实现智能化的管理方式,提高工作效率。
关键字:高校毕业生离校管理系统;springboot框架;MySQL数据库
Abstract
Compared with the traditional manual management method before, the intelligent management method can significantly reduce the cost of the school's operating personnel, realize the standardized, institutionalized and procedural management of the college graduates' departure management, effectively prevent the random management of the college graduates' departure management system, improve the processing speed and accuracy of information, and can timely and accurately query and correct the campus announcement and other information.
The subject mainly adopts Uni-weixin and spring boot architecture technology. The front end is presented to users with small program pages. The page is improved by combining the background java language. The background uses MySQL database for data storage. The WeChat widget mainly includes the functions of students, academic staff, housekeeper, librarian, financial staff, school departure application, logistics information, key return, picture return, arrears information, and payment information, so as to realize intelligent management and improve work efficiency.
Key words: college graduates leaving school management system; Spring boot framework; MySQL database
springboot vue高校毕业生离校管理系统源码和答辩PPT论文823
演示视频:
springboot vue高校毕业生离校管理系统源码和答辩PPT论文【小程序源码】
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 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.LixiaoshenqingEntity;
import com.entity.view.LixiaoshenqingView;
import com.service.LixiaoshenqingService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
/**
* 离校申请
* 后端接口
* @author
* @email
* @date 2023-03-07 22:37:07
*/
@RestController
@RequestMapping("/lixiaoshenqing")
public class LixiaoshenqingController {
@Autowired
private LixiaoshenqingService lixiaoshenqingService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,LixiaoshenqingEntity lixiaoshenqing,
HttpServletRequest request){
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
lixiaoshenqing.setUserid((Long)request.getSession().getAttribute("userId"));
}
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
lixiaoshenqing.setXuehao((String)request.getSession().getAttribute("username"));
}
if(tableName.equals("jiaowurenyuan")) {
lixiaoshenqing.setJiaowuchuzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<LixiaoshenqingEntity> ew = new EntityWrapper<LixiaoshenqingEntity>();
PageUtils page = lixiaoshenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, lixiaoshenqing), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,LixiaoshenqingEntity lixiaoshenqing,
HttpServletRequest request){
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
lixiaoshenqing.setXuehao((String)request.getSession().getAttribute("username"));
}
if(tableName.equals("jiaowurenyuan")) {
lixiaoshenqing.setJiaowuchuzhanghao((String)request.getSession().getAttribute("username"));
}
EntityWrapper<LixiaoshenqingEntity> ew = new EntityWrapper<LixiaoshenqingEntity>();
PageUtils page = lixiaoshenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, lixiaoshenqing), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( LixiaoshenqingEntity lixiaoshenqing){
EntityWrapper<LixiaoshenqingEntity> ew = new EntityWrapper<LixiaoshenqingEntity>();
ew.allEq(MPUtil.allEQMapPre( lixiaoshenqing, "lixiaoshenqing"));
return R.ok().put("data", lixiaoshenqingService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(LixiaoshenqingEntity lixiaoshenqing){
EntityWrapper< LixiaoshenqingEntity> ew = new EntityWrapper< LixiaoshenqingEntity>();
ew.allEq(MPUtil.allEQMapPre( lixiaoshenqing, "lixiaoshenqing"));
LixiaoshenqingView lixiaoshenqingView = lixiaoshenqingService.selectView(ew);
return R.ok("查询离校申请成功").put("data", lixiaoshenqingView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
LixiaoshenqingEntity lixiaoshenqing = lixiaoshenqingService.selectById(id);
return R.ok().put("data", lixiaoshenqing);
}
/**
* 前端详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
LixiaoshenqingEntity lixiaoshenqing = lixiaoshenqingService.selectById(id);
return R.ok().put("data", lixiaoshenqing);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody LixiaoshenqingEntity lixiaoshenqing, HttpServletRequest request){
lixiaoshenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(lixiaoshenqing);
lixiaoshenqing.setUserid((Long)request.getSession().getAttribute("userId"));
lixiaoshenqingService.insert(lixiaoshenqing);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody LixiaoshenqingEntity lixiaoshenqing, HttpServletRequest request){
lixiaoshenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(lixiaoshenqing);
lixiaoshenqing.setUserid((Long)request.getSession().getAttribute("userId"));
lixiaoshenqingService.insert(lixiaoshenqing);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
@Transactional
public R update(@RequestBody LixiaoshenqingEntity lixiaoshenqing, HttpServletRequest request){
//ValidatorUtils.validateEntity(lixiaoshenqing);
lixiaoshenqingService.updateById(lixiaoshenqing);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
lixiaoshenqingService.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<LixiaoshenqingEntity> wrapper = new EntityWrapper<LixiaoshenqingEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
if(!request.getSession().getAttribute("role").toString().equals("管理员")) {
wrapper.eq("userid", (Long)request.getSession().getAttribute("userId"));
}
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
}
if(tableName.equals("jiaowurenyuan")) {
wrapper.eq("jiaowuchuzhanghao", (String)request.getSession().getAttribute("username"));
}
int count = lixiaoshenqingService.selectCount(wrapper);
return R.ok().put("count", count);
}
/**
* (按值统计)
*/
@RequestMapping("/value/{xColumnName}/{yColumnName}")
public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("xColumn", xColumnName);
params.put("yColumn", yColumnName);
EntityWrapper<LixiaoshenqingEntity> ew = new EntityWrapper<LixiaoshenqingEntity>();
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
ew.eq("xuehao", (String)request.getSession().getAttribute("username"));
}
if(tableName.equals("jiaowurenyuan")) {
ew.eq("jiaowuchuzhanghao", (String)request.getSession().getAttribute("username"));
}
List<Map<String, Object>> result = lixiaoshenqingService.selectValue(params, ew);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for(Map<String, Object> m : result) {
for(String k : m.keySet()) {
if(m.get(k) instanceof Date) {
m.put(k, sdf.format((Date)m.get(k)));
}
}
}
return R.ok().put("data", result);
}
/**
* (按值统计)时间统计类型
*/
@RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")
public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("xColumn", xColumnName);
params.put("yColumn", yColumnName);
params.put("timeStatType", timeStatType);
EntityWrapper<LixiaoshenqingEntity> ew = new EntityWrapper<LixiaoshenqingEntity>();
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
ew.eq("xuehao", (String)request.getSession().getAttribute("username"));
}
if(tableName.equals("jiaowurenyuan")) {
ew.eq("jiaowuchuzhanghao", (String)request.getSession().getAttribute("username"));
}
List<Map<String, Object>> result = lixiaoshenqingService.selectTimeStatValue(params, ew);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for(Map<String, Object> m : result) {
for(String k : m.keySet()) {
if(m.get(k) instanceof Date) {
m.put(k, sdf.format((Date)m.get(k)));
}
}
}
return R.ok().put("data", result);
}
/**
* 分组统计
*/
@RequestMapping("/group/{columnName}")
public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {
Map<String, Object> params = new HashMap<String, Object>();
params.put("column", columnName);
EntityWrapper<LixiaoshenqingEntity> ew = new EntityWrapper<LixiaoshenqingEntity>();
String tableName = request.getSession().getAttribute("tableName").toString();
if(tableName.equals("xuesheng")) {
ew.eq("xuehao", (String)request.getSession().getAttribute("username"));
}
if(tableName.equals("jiaowurenyuan")) {
ew.eq("jiaowuchuzhanghao", (String)request.getSession().getAttribute("username"));
}
List<Map<String, Object>> result = lixiaoshenqingService.selectGroup(params, ew);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
for(Map<String, Object> m : result) {
for(String k : m.keySet()) {
if(m.get(k) instanceof Date) {
m.put(k, sdf.format((Date)m.get(k)));
}
}
}
return R.ok().put("data", result);
}
}