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

news2024/11/29 0:49:18

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);

    @Autowired
    private XueshengService xueshengService;

    @Autowired
    private PayService payService; // 缴费信息

    @Autowired
    private TokenService tokenService;

    @Autowired
    private 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());//学生id
            pay.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);

    @Autowired
    private 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.coloradmin.cn/o/858002.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Endnote中导入和显示中文文献国标格式具体实现步骤

Endnote中导入和显示中文文献国标格式具体实现步骤 目录 Endnote中导入和显示中文文献国标格式具体实现步骤一、下载中文文献引用标准格式二、将下载的两种格式复制到Endnote安装文件下的Styles子文件夹中三、对导入的样式进行标记&#xff0c;以便在word中方便显示和使用四、在…

领航优配:美联储货币政策风向或已生变 私行纵论下半年黄金配置价值

美联储钱银方针风向或已生变&#xff0c;黄金的拥趸开端跃跃欲试。 费城联储主席帕特里克哈克周二标明&#xff0c;美国有一条通往经济软着陆的路径&#xff0c;失业率或许有所上升&#xff0c;但起伏不会太大&#xff1b;不希望美联储过度收紧钱银方针&#xff0c;估计明年某时…

springBoot整合RabbitMq实现手动确认消息

如何保证消息的可靠性投递&#xff1f; 1.保证生产者向broke可靠性投递&#xff0c;开启ack投递成功确认&#xff0c;如果失败的话进行消息补偿 /*** author yueF_L* date 2023-08-10 01:32* ConfirmCallback&#xff1a;消息只要被 RabbitMQ broker 接收到就会触发confirm方…

OpenAI-Translator 实战总结

最近在极客时间学习《AI 大模型应用开发实战营》&#xff0c;自己一边跟着学一边开发了一个进阶版本的 OpenAI-Translator&#xff0c;在这里简单记录下开发过程和心得体会&#xff0c;供有兴趣的同学参考 功能概览 通过openai的chat API&#xff0c;实现一个pdf翻译器实现一个…

牛客小白月赛75C题题解

文章目录 方豆子问题建模问题分析代码 方豆子 问题建模 给定一个整数n&#xff0c;要求输出n级好豆豆&#xff0c;n级好豆豆由3个n-1级好豆豆和1个n-1级坏豆豆组成&#xff0c;已经给出了1级好豆豆和1级坏豆豆。 问题分析 由于最终的豆豆是由其上一级的豆豆产生的&#xff0…

将应用设置成系统App/获取Android设备SN号

1&#xff0c;和系统签名一致&#xff1b;&#xff08;签名设置签名文件&#xff09; 2&#xff0c;配置Manifest 至此你的App就是一个系统App了&#xff0c;可以执行一些系统App才能有的操作&#xff0c;如获取机器SN号&#xff1a; public String getSerialNumber() {Strin…

如何系统的学习单片机?

一、学习单片机需要的一些基础知识 &#xff08;1&#xff09;要具有一些模电、数电的知识&#xff08;不一定要精通&#xff0c;但基本至少要知道&#xff09; &#xff08;2&#xff09;具备C语言基础&#xff0c;有基础就可以入门了。数据结构、设计模式、汇编这些&#x…

IAR目标代码4字节对齐

向工程添加文件 eof.c : // 文件头 #if defined(__CC_ARM) // MDK // uint32_t g_update_flag[2] __attribute__((zero_init, at(0x1000FFF0)));const unsigned long gc_eof __attribute__((used)) 0xFFFFFFFFul; #elif defined(__ICCARM__) // IAR__root const unsigned…

【ur3机械臂配置夹爪Robotiq2F-85】

【ur3机械臂配置夹爪Robotiq2F-85】 1. 前言2. 按照官网要求清点安装设备3. 在示教器上配置夹爪3.1 另一头连接好夹爪和缆线3.2 下载官网驱动 5. 总结 1. 前言 欢迎大家阅读2345VOR的博客【ur3机械臂配置夹爪Robotiq2F-85】&#x1f973;&#x1f973;&#x1f973;2345VOR鹏鹏…

【100天精通python】Day31:使用python操作数据库_数据库编程接口,连接对象和游标对象,数据库连接配置

专栏导读 专栏订阅地址&#xff1a;https://blog.csdn.net/qq_35831906/category_12375510.html 数据库编程接口是用于连接、操作和管理数据库的一组函数、类和方法。不同类型的数据库可能有不同的编程接口。以下是一些常见的数据库编程接口&#xff1a; 一、数据库编程接口 …

Android AOSP源码编译——AOSP下载(一)

一、电脑配置 Ubuntu16.04 16G&#xff0c;硬盘的大小最好大于300G (我这边是找了个win电脑装了双系统 没有使用虚拟机的方式) 二、基础环境配置 1、安装git sudo apt install git配置git email和name git config --global user.email "youexample.com" git conf…

大环境下,企业如何找到大数据传输解决方案

随着网络技术的进步和智能设备的普及&#xff0c;大数据成为了当下社会的热点话题。但是&#xff0c;大数据的传输和处理仍然存在着很多的困难和挑战。在大数据传输中&#xff0c;如何解决数据量巨大、网络带宽不足、传输时间过长和数据安全等问题&#xff0c;是当前亟待破解的…

zmibra ssl证书替换

一、阿里云上申请证书 选择其他证书 二、证书上传及制作 首先当然要去阿里云申请的ssl证书下载其他类型证书,解压缩后有两个文件上传到相应目录, 文件名类似18131-mail.xxx.comkey和181111-mail.xxx.com.pem 创建目录 /opt/zimbra/ssl/aliyunssl/ 上传这两个文件 以上是…

JVM 查看配置 jinfo 及使用 jstat,查看堆栈jstack及GC

1. Jinfo 查看正在运行的Java应用程序的扩展参数: 包含 JVM 参数与 java 系统参数 命令&#xff1a; jinfo pid 2 jstat 查看堆内存使用情况及 GC 回收频率等&#xff1a; jstat [-命令选项] [vmid] [间隔时间(毫秒)] [查询次数] 2.1 jstat -gc pid 最常用&#xff0c;可…

多区域平台lazada,虾皮电商商品详情API接口返回值说明

Lazada和虾皮&#xff08;Shopee&#xff09;都是知名的电商平台&#xff0c;主要在东南亚地区运营。以下是关于它们的一些信息&#xff1a; Lazada&#xff08;来赞达&#xff09;&#xff1a; Lazada成立于2012年&#xff0c;起初是一个全球性的电子商务平台&#xff0c;后来…

如何使用Mac终端给树莓派pico构建C/C++程序进行开发,以及遇到各种问题该怎么处理,不使用任何IDE或编辑器(例如VS Code)

写本文的原因是官方的教程已经过时了&#xff0c;如果你现在按照官方教程来在 Mac 上进行配置&#xff0c;那么会遇到一堆问题&#xff0c;比如我几乎把能踩的“雷”都踩了。所以这里记录了完整过程&#xff0c;以及各种错误的原因和处理方法&#xff0c;不然以后换 Mac 了或者…

CH-87——矿井水除氟的技术汇总

矿井水除氟的要求一般是处理后水中的含氟量≤1.0mg/L。氟化物含量高的原水往往呈偏碱性&#xff0c;pH值常大于7.5。利用阴离子交换树脂上的可交换阴离子&#xff0c;去交换水中的氟离子&#xff0c;达到除氟目的。氟离子的选择交换性较大&#xff0c;树脂上的SO42-、Cl-等阴离…

回收站删除的文件怎么恢复?文件恢复方法就看这3个!

回收站是什么呢&#xff1f;一般来说&#xff0c;在我们使用电脑时&#xff0c;如果在电脑上进行删除操作&#xff0c;被删除的文件会被系统自动放入回收站中。这实际上也是在给电脑用户一个思考的时间&#xff0c;如果是误操作&#xff0c;可以通过回收站对文件进行还原&#…

在矩池云安装使用 PaddleHub 和 PaddlePaddle

在安装 PaddleHub 导入的时候我们常常会遇到各种错误&#xff0c;不是这个包没这个模块&#xff0c;就是哪个包没这个属性&#xff0c;每次遇到都会很头痛&#xff0c;网上也没有 PaddleHub 和 PaddlePaddle 对应的版本&#xff0c;只能自己慢慢尝试&#xff0c;通过不断查错误…

Nacos Server 安装

Nacos Server 安装 版本说明 查看方式 进入Spring Cloud Alibaba wiki查看版本对应关系&#xff0c;下载相应的版本。 组件版本关系 Spring Cloud Alibaba VersionSentinel VersionNacos VersionRocketMQ VersionDubbo VersionSeata Version2.2.6.RELEASE1.8.11.4.24.4.02…