ssm新生报到系统源码和论文PPT

ssm新生报到系统源码和论文PPT004

开发环境

开发工具:idea 

 数据库mysql5.7+(mysql5.7最佳)

 数据库链接工具:navcat,小海豚等

开发技术:java  ssm tomcat8.5

选题依据及意义

  每学年九月份随着新生的入校,学校工作中的重点都会集中到学生信息的采集环节中。近年来,高校招生规模不断扩大,新生人数逐年递增,传统的纸张式的新生报到模式,如人工办理新生入学手续、人工统计报到情况等等方式已不能满足需要。随着计算机网络技术的迅猛发展及电子档案信息管理系统的广泛应用, 以往的单机管理系统被彻底改变,基于网络的新生报到系统开始出现,开始实施新生入学电子注册制度, 软件技术进步和硬件的全面升级, 有力地推动了高校新生入学管理模式的全面创新。但是, 随着时代的发展和国家教育部宏观调控的需要, 既有的新生入学管理模块已经不能完全适应新形势下高校入学管理的要求, 入学管理工作与相关软件相脱节等问题开始浮现出来。学校管理信息化的飞速发展,新生数据的采集要求越来越精细。如何快速、准确、有效的完成学生信息的采集工作,已经成为每个高校都需要面对的一项重要工作。因此, 需要对入学信息管理方式进行改革,对现有的新生入学管理平台作更进一步的完善和提高。为新生提供方便、高效、一体化的入学报到环境,加强各个部门之间的信息流通和工作配合,使新生信息能够及时、准确更新,从而提高学校各部门的工作效率。

 

package com.controller;import java.lang.reflect.Array;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;import com.annotation.IgnoreAuth;
import com.entity.DormitoryXueshengEntity;
import com.entity.PayEntity;
import com.entity.UserEntity;
import com.entity.view.XueshengView;
import com.service.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.jasper.tagplugins.jstl.core.ForEach;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;import com.entity.XueshengEntity;import com.utils.PageUtils;
import com.utils.R;/*** 学生* 后端接口* @author* @email* @date 2023-01-30
*/
@RestController
@Controller
@RequestMapping("/xuesheng")
public class XueshengController {private static final Logger logger = LoggerFactory.getLogger(XueshengController.class);@Autowiredprivate XueshengService xueshengService;@Autowiredprivate PayService payService; // 缴费信息@Autowiredprivate TokenService tokenService;@Autowiredprivate DormitoryXueshengService dormitoryXueshengService;// 宿舍与学生关系/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params){logger.debug("Controller:"+this.getClass().getName()+",page方法");PageUtils page = xueshengService.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方法");XueshengEntity xuesheng = xueshengService.selectById(id);if(xuesheng!=null){return R.ok().put("data", xuesheng);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){logger.debug("Controller:"+this.getClass().getName()+",save");Wrapper<XueshengEntity> queryWrapper = new EntityWrapper<XueshengEntity>().eq("account", xuesheng.getAccount()).eq("notification_code", xuesheng.getNotificationCode()).eq("phone", xuesheng.getPhone());logger.info("sql语句:"+queryWrapper.getSqlSegment());XueshengEntity xueshengEntity = xueshengService.selectOne(queryWrapper);xuesheng.setMima("");if("".equals(xuesheng.getPortraitPhoto()) || "null".equals(xuesheng.getPortraitPhoto())){xuesheng.setPortraitPhoto(null);}if(xueshengEntity==null){xueshengService.insert(xuesheng);PayEntity<Object> pay = new PayEntity<>();pay.setPayFlag(2);//未交费pay.setMoneyTime(new Date());pay.setCreateTime(new Date());pay.setXueshengId(xuesheng.getId());//学生idpay.setMoney(33.3);payService.insert(pay);return R.ok();}else {return R.error(511,"账户,通知书编码,手机号已被使用");}}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){logger.debug("Controller:"+this.getClass().getName()+",update");//根据字段查询是否有相同数据Wrapper<XueshengEntity> queryWrapper = new EntityWrapper<XueshengEntity>().notIn("id",xuesheng.getId()).eq("account", xuesheng.getAccount()).eq("notification_code", xuesheng.getNotificationCode()).eq("phone", xuesheng.getPhone());logger.info("sql语句:"+queryWrapper.getSqlSegment());XueshengEntity xueshengEntity = xueshengService.selectOne(queryWrapper);if("".equals(xuesheng.getPortraitPhoto()) || "null".equals(xuesheng.getPortraitPhoto())){xuesheng.setPortraitPhoto(null);}if(xueshengEntity==null){xueshengService.updateById(xuesheng);//根据id更新return R.ok();}else {return R.error(511,"账户,通知书编码,手机号已被使用");}}/*** 注册*/@RequestMapping("/register")public R register(@RequestBody XueshengEntity xuesheng, HttpServletRequest request){logger.debug("Controller:"+this.getClass().getName()+",register");//编号姓名一致 并且账户为空的才是注册Wrapper<XueshengEntity> queryWrapper1 = new EntityWrapper<XueshengEntity>().in("notification_code",xuesheng.getNotificationCode()).in("xingming",xuesheng.getXingming()).addFilterIfNeed(true,"account = ''");//查询账户没有被使用Wrapper<XueshengEntity> queryWrapper2 = new EntityWrapper<XueshengEntity>().in("account",xuesheng.getAccount());logger.info("sql语句1:"+queryWrapper1.getSqlSegment());logger.info("sql语句2:"+queryWrapper1.getSqlSegment());XueshengEntity xueshengEntity1 = xueshengService.selectOne(queryWrapper1);XueshengEntity xueshengEntity2 = xueshengService.selectOne(queryWrapper2);if(xueshengEntity1!=null && xueshengEntity2==null){//编号未被其他账户使用  并且账户不存在为注册用户xuesheng.setId(xueshengEntity1.getId());xueshengService.updateById(xuesheng);//根据id更新return R.ok();}else {return R.error(511,"通知书编号已经被使用 或 账户已存在");}}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){logger.debug("Controller:"+this.getClass().getName()+",delete");for(Long id :ids){PayEntity pay = payService.selectOne(new EntityWrapper<PayEntity>().in("xuesheng_id", String.valueOf(id)));Integer count = dormitoryXueshengService.selectCount(new EntityWrapper<DormitoryXueshengEntity>().in("xuesheng_id", String.valueOf(id)));//查询学生id是否绑定用宿舍if(pay!=null){XueshengEntity xueshengEntity = xueshengService.selectById(id);return R.error(512,"姓名为:"+xueshengEntity.getXingming()+"的账户下有缴费记录");}else if(count>0){XueshengEntity xueshengEntity = xueshengService.selectById(id);return R.error(512,"姓名为:"+xueshengEntity.getXingming()+"的账户下有住宿信息未清除");}}xueshengService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {XueshengEntity xuesheng = xueshengService.selectOne(new EntityWrapper<XueshengEntity>().eq("account", username));if(xuesheng==null || !xuesheng.getMima().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(xuesheng.getId(),username, "users", "学生");R r = R.ok();r.put("token", token);r.put("role","学生");r.put("userId",xuesheng.getId());return r;}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Integer id = (Integer)request.getSession().getAttribute("userId");XueshengEntity xueshengEntity = xueshengService.selectById(id);return R.ok().put("data", xueshengEntity);}}

package com.controller;import java.text.SimpleDateFormat;
import java.util.*;
import javax.servlet.http.HttpServletRequest;import org.apache.commons.lang3.StringUtils;
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.DormitoryXueshengEntity;import com.service.DormitoryXueshengService;
import com.utils.PageUtils;
import com.utils.R;/*** 宿舍与学生一对多关系表* 后端接口* @author* @email* @date 2021-01-30
*/
@RestController
@Controller
@RequestMapping("/dormitoryXuesheng")
public class DormitoryXueshengController {private static final Logger logger = LoggerFactory.getLogger(DormitoryXueshengController.class);@Autowiredprivate DormitoryXueshengService dormitoryXueshengService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params){logger.debug("Controller:"+this.getClass().getName()+",page方法");PageUtils page = dormitoryXueshengService.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方法");DormitoryXueshengEntity dormitoryXuesheng = dormitoryXueshengService.selectById(id);if(dormitoryXuesheng!=null){return R.ok().put("data", dormitoryXuesheng);}else {return R.error(511,"查不到数据");}}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody DormitoryXueshengEntity dormitoryXuesheng, HttpServletRequest request){logger.debug("Controller:"+this.getClass().getName()+",save");Wrapper<DormitoryXueshengEntity> queryWrapper = new EntityWrapper<DormitoryXueshengEntity>().eq("xuesheng_id", dormitoryXuesheng.getXueshengId());logger.info("sql语句:"+queryWrapper.getSqlSegment());DormitoryXueshengEntity dormitoryXueshengEntity = dormitoryXueshengService.selectOne(queryWrapper);if(dormitoryXueshengEntity==null){dormitoryXueshengService.insert(dormitoryXuesheng);return R.ok();}else {return R.error(511,"该学生已经绑定过宿舍");}}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody DormitoryXueshengEntity dormitoryXuesheng, HttpServletRequest request){logger.debug("Controller:"+this.getClass().getName()+",update");//根据字段查询是否有相同数据Wrapper<DormitoryXueshengEntity> queryWrapper = new EntityWrapper<DormitoryXueshengEntity>().notIn("id",dormitoryXuesheng.getId()).eq("xuesheng_id", dormitoryXuesheng.getXueshengId());logger.info("sql语句:"+queryWrapper.getSqlSegment());DormitoryXueshengEntity dormitoryXueshengEntity = dormitoryXueshengService.selectOne(queryWrapper);if(dormitoryXueshengEntity==null){dormitoryXueshengService.updateById(dormitoryXuesheng);//根据id更新return R.ok();}else {return R.error(511,"该学生已经绑定过宿舍");}}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){logger.debug("Controller:"+this.getClass().getName()+",delete");dormitoryXueshengService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

 

新生报到系统分为学院管理员,宿舍管理员,财务管理员,辅导员,学生五种登录身份

学院管理员界面登入后台后有个人信息的展示,可对余下的四种身份信息进行增删改查,可进行对高考信息的导入导出,对报到情况的统计,发放通知等功能

宿舍管理员登入后台后有个人信息的展示,可进行宿舍的管理(宿舍信息管理),对学生宿舍进行分配,对学生进行报到的一个情况统计,以及消息的通知功能

财务管理员登入后台后有个人信息的展示,可进行一个缴费信息的导入导出,发放缴费信息的通知,缴费情况的统计

辅导员登入后台有个人信息的展示,班级信息的一个显示,对学生报到的一个统计,发放通知是相关功能

学生端分为未注册和已注册,未注册的学生要进行自主注册,登录,通过录取通知单的编码进行识别。注册过的学生登录后展示自己的个人信息,(班级学院宿舍等),能接受到学院,宿管,财务,辅导员的通知,能够在线报道,能够在线缴费等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/61807.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

章节2:客户端的Cookie

章节2&#xff1a;客户端的Cookie 无状态的影响 现实&#xff1a;每个请求都是独立的 需求&#xff1a;保持会话 cookie内容 key/value 格式&#xff0c;例如&#xff1a; namewuya id99 islogin1 cookie怎么产生 Cookie格式 Set-Cookie&#xff1a;第一次访问&#…

并发编程面试题1

并发编程面试题1 一、原子性高频问题&#xff1a; 1.1 Java中如何实现线程安全? 多线程操作共享数据出现的问题。 锁&#xff1a; 悲观锁&#xff1a;synchronized&#xff0c;lock乐观锁&#xff1a;CAS 可以根据业务情况&#xff0c;选择ThreadLocal&#xff0c;让每个…

橡胶履带行业分析报告2023-2029

橡胶履带行业分析报告&#xff0c;2022年全球橡胶履带市场规模达到了19.2亿美元 橡胶履带是用橡胶和骨架材料制成的履带&#xff0c;它被广泛用于工程机械、农用机械和军用装备。橡胶履带行业产业链主要原材料包括橡胶、芯金、炭黑、钢丝、各类橡胶化学助剂等&#xff0c;上游…

电脑蓝屏显示恢复怎么办,电脑蓝屏后出现恢复界面怎么回事

电脑蓝屏显示恢复怎么办,电脑蓝屏后出现恢复界面怎么回事 目录 下面是问题描述&#xff08;看看和你遇到的问题一不一样&#xff09; 图片一 图片二 图片三 开始解决问题 步骤 1&#xff1a;耐心等待 步骤 2&#xff1a;重启计算机 步骤 3&#xff1a;进入安全模式 步骤…

数据库数据恢复-Oracle数据库数据恢复案例

数据库数据恢复环境&#xff1a; Oracle数据库ASM磁盘组有4块成员盘。 数据库故障&分析&#xff1a; Oracle数据库ASM磁盘组掉线 &#xff0c;ASM实例无法挂载&#xff0c;用户联系我们要求恢复oracle数据库。 数据库数据恢复工程师拿到磁盘后&#xff0c;先将所有磁盘以只…

【Vue3 博物馆管理系统】使用Vue3、Element-plus菜单组件构建前台用户菜单

系列文章目录 第一章 定制上中下&#xff08;顶部菜单、底部区域、中间主区域显示&#xff09;三层结构首页 第二章 使用Vue3、Element-plus菜单组件构建菜单 [第三章 使用Vue3、Element-plus菜单组件构建轮播图] [第四章 使用Vue3、Element-plus菜单组件构建组图文章] 文章目…

Uniapp基于微信小程序以及web端文件、图片下载,带在线文件测试地址

一、效果 传送门 二、UI视图 <scroll-view scroll-x="true" scroll-y="true" :style

[C++ 网络协议] 套接字和地址族、数据序列

目录 1. 套接字 1.1 在Linux平台下构建套接字 1.1.1 用于接听的套接字(服务器端套接字) 1.1.2 用于发送请求的套接字(客户端套接字) 1.2 在Windows平台下构建套接字 1.2.1 Winsock的初始化 1.2.2 用于接听的套接字(服务器端套接字) 1.2.3 用于发送请求的套接字(客户端套…

【云原生】K8S集群

目录 一、调度约束1.1 POT的创建过程1.1调度过程 二、指定节点调度2.1 通过标签选择节点 三、亲和性3.1requiredDuringSchedulingIgnoredDuringExecution&#xff1a;硬策略3.1 preferredDuringSchedulingIgnoredDuringExecution&#xff1a;软策略3.3Pod亲和性与反亲和性3.4使…

【MySQL常见面试题】

索引的基本原理 索引⽤来快速地寻找那些具有特定值的记录。如果没有索引&#xff0c;⼀般来说执⾏查询时遍历整张表。 索引的原理&#xff1a;就是把⽆序的数据变成有序的查询 把创建了索引的列的内容进⾏排序 对排序结果⽣成倒排表 在倒排表内容上拼上数据地址链 在查询的…

自动驾驶传感器选型

360的场景&#xff0c;避免有盲区&#xff0c;长距离 Lidar&#xff08;激光雷达&#xff09; 典型特点一圈一圈的&#xff0c;轮廓和很高的位置精度 禾赛的机械雷达 速腾的固态雷达 固态雷达是车规级的&#xff0c;车规级的意思是可以装到量产车上 Radar&#xff08;毫米…

腾讯云服务器镜像操作系统大全_Linux_Windows清单

腾讯云CVM服务器的公共镜像是由腾讯云官方提供的镜像&#xff0c;公共镜像包含基础操作系统和腾讯云提供的初始化组件&#xff0c;公共镜像分为Windows和Linux两大类操作系统&#xff0c;如TencentOS Server、Windows Server、OpenCloudOS、CentOS Stream、CentOS、Ubuntu、Deb…