大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。
💞当前专栏:Java毕业设计
精彩专栏推荐👇🏻👇🏻👇🏻
开发环境
开发语言:Java
框架:ssm
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql 5.7
数据库工具:Navicat12
开发软件:eclipse/myeclipse/idea
Maven包:Maven3.3.9
浏览器:谷歌浏览器
源码下载地址:
https://download.csdn.net/download/m0_46388260/89082735
论文目录
【如需全文请按文末获取联系】
目录
一、项目简介
系统可以提供信息显示和相应服务,其学院管理员管理所有内容,涵盖了班级,专业,学院,学生,缴费以及宿舍等方面的信息,学院管理员可以统计缴费信息以及学生报到信息。宿舍管理员管理宿舍,查看入住宿舍的学生,管理学生,发布与维护消息通知。财务管理员统计缴费信息,增删改学生缴费信息,管理学生和消息通知。辅导员统计学生报到信息,管理班级和消息通知。学生查询缴费信息,查看所有管理人员发布的消息通知。
二、系统设计
2.1软件功能模块设计
在前面分析的学院管理员功能的基础上,进行接下来的设计工作,最终展示设计的学院管理员结构图(见下图)。学院管理员管理所有内容,涵盖了班级,专业,学院,学生,缴费以及宿舍等方面的信息,学院管理员可以统计缴费信息以及学生报到信息。
在前面分析的宿舍管理员功能的基础上,进行接下来的设计工作,最终展示设计的宿舍管理员结构图(见下图)。宿舍管理员管理宿舍,查看入住宿舍的学生,管理学生,发布与维护消息通知。
在前面分析的财务管理员功能的基础上,进行接下来的设计工作,最终展示设计的财务管理员结构图(见下图)。财务管理员统计缴费信息,增删改学生缴费信息,管理学生和消息通知。
在前面分析的辅导员功能的基础上,进行接下来的设计工作,最终展示设计的辅导员结构图(见下图)。辅导员统计学生报到信息,管理班级和消息通知。
在前面分析的学生功能的基础上,进行接下来的设计工作,最终展示设计的学生结构图(见下图)。学生查询缴费信息,查看所有管理人员发布的消息通知。
2.2数据库设计
(1)下图是学生实体和其具备的属性。
(3)下图是缴费信息实体和其具备的属性。
(4)下图是管理员实体和其具备的属性。
(5)下图为上述各实体间相互之间的关系。
三、系统项目部分截图
3.1学院管理员功能实现
管理员管理
学院管理员进入指定功能操作区之后可以管理管理员。其页面见下图。这里的管理员角色包括宿舍管理员,财务管理员,辅导员等信息,学院管理员只能对这些信息增删改。
专业管理
学院管理员进入指定功能操作区之后可以管理专业。其页面见下图。对学院的各个专业信息进行登记与维护是学院管理员负责的内容。
学院管理
学院管理员进入指定功能操作区之后可以管理学院。其页面见下图。本页面显示所有学院的名称信息以及学院的编码信息,学院管理员只能对这些信息增删改。
3.2宿舍管理员功能实现
宿舍管理
宿舍管理员进入指定功能操作区之后可以管理宿舍以及宿舍人员信息。其页面见下图。宿舍管理员点击查看人员按钮即可查看入住本宿舍的学生信息。
消息通知
宿舍管理员进入指定功能操作区之后可以管理消息通知。其页面见下图。宿舍管理员也具备发布消息通知,修改,删除消息通知的权限。
3.3财务管理员功能实现
缴费管理
财务管理员进入指定功能操作区之后可以管理缴费。其页面见下图。财务管理员负责增删改缴费信息,可以点击报表统计缴费信息。
学生缴费统计
财务管理员进入指定功能操作区之后可以统计学生缴费。其页面见下图。财务管理员在本页面可以查看已缴费和未缴费的占比情况。
3.4辅导员功能实现
学生管理
辅导员进入指定功能操作区之后可以管理学生。其页面见下图。辅导员根据录取通知单编码查询学生信息,辅导员点击报表按钮可以统计学生报到信息。
学生报到统计
辅导员进入指定功能操作区之后可以统计学生报到信息。其页面见下图。辅导员在本页面可以查看已报到和未报到的学生占比信息。
四、部分核心代码
4.1 用户部分
package com.controller;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.entity.DictionaryEntity;
import com.entity.XueshengEntity;
import com.entity.view.PayView;
import com.service.DictionaryService;
import com.service.XueshengService;
import com.utils.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
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.entity.PayEntity;
import com.service.PayService;
/**
* 缴费信息表
* 后端接口
* @author
* @email
* @date 2021-01-30
*/
@RestController
@Controller
@RequestMapping("/pay")
public class PayController {
private static final Logger logger = LoggerFactory.getLogger(PayController.class);
@Autowired
private PayService payService;
@Autowired
private DictionaryService dictionaryService;
@Autowired
private XueshengService xueshengService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",page方法");
//如果权限是学生 就只能查询自己的缴费信息
if("学生".equals(String.valueOf(request.getSession().getAttribute("role")))){
params.put("xueshengId",String .valueOf(request.getSession().getAttribute("userId")));
}
PageUtils page = payService.queryPage(params);
return R.ok().put("data", page);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
logger.debug("Controller:"+this.getClass().getName()+",info方法");
PayEntity pay = payService.selectById(id);
if(pay!=null){
return R.ok().put("data", pay);
}else {
return R.error(511,"查不到数据");
}
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody PayEntity pay, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",save");
Wrapper<PayEntity> queryWrapper = new EntityWrapper<PayEntity>()
.eq("xuesheng_id", pay.getXueshengId())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
PayEntity payEntity = payService.selectOne(queryWrapper);
pay.setMoneyTime(new Date());
if(payEntity==null){
payService.insert(pay);
return R.ok();
}else {
return R.error(511,"该学生已经创建过缴费订单");
}
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody PayEntity pay, HttpServletRequest request){
logger.debug("Controller:"+this.getClass().getName()+",update");
//根据字段查询是否有相同数据
Wrapper<PayEntity> queryWrapper = new EntityWrapper<PayEntity>()
.notIn("id",pay.getId())
.eq("xuesheng_id", pay.getXueshengId())
;
logger.info("sql语句:"+queryWrapper.getSqlSegment());
PayEntity payEntity = payService.selectOne(queryWrapper);
pay.setMoneyTime(new Date());
if(payEntity==null){
payService.updateById(pay);//根据id更新
return R.ok();
}else {
return R.error(511,"该学生已经有缴费订单");
}
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
logger.debug("Controller:"+this.getClass().getName()+",delete");
payService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
获取源码或论文
如需对应的论文或源码,以及其他定制需求,也可以下方微信联系我。