基于java+ssm+vue的安徽新华学院实验中心管理系统

项目介绍

本安徽新华学院实验中心管理系统的设计目标是实现安徽新华学院实验中心的信息化管理,提高管理效率,使得安徽新华学院实验中心管理工作规范化、科学化、高效化。

本文重点阐述了安徽新华学院实验中心管理系统的开发过程,以实际运用为开发背景,基于SSM框架,运用了JSP技术和MYSQL数据库进行开发,充分保证系统的安全性和稳定性。本系统界面良好,操作简单方便,通过系统概述、系统分析、系统设计、数据库设计、系统测试这几个部分,详细的说明了系统的开发过程,最后并对整个开发过程进行了总结,实现了实验中心相关信息管理的重要功能。

本安徽新华学院实验中心管理系统运行效果稳定,操作方便、快捷,界面友好,是一个功能全面、实用性好、安全性高,并具有良好的可扩展性、可维护性的实验中心管理平台。
在这里插入图片描述

开发环境

开发语言:Java
数据库 :Mysql
系统架构:B/S
后端框架:SSM
前端框架:Vue
开发工具:idea或者eclipse,jdk1.8,maven
支持定做:java/php/python/android/小程序ue/爬虫/c#/asp.net

系统截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

部分代码

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.KechengEntity;

import com.service.KechengService;
import com.utils.PageUtils;
import com.utils.R;

/**
 * 课程
 * 后端接口
*/
@RestController
@Controller
@RequestMapping("/kecheng")
public class KechengController {
    private static final Logger logger = LoggerFactory.getLogger(KechengController.class);

    @Autowired
    private KechengService kechengService;

    /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",page方法");
        Object role = request.getSession().getAttribute("role");
        PageUtils page = null;
        if(role.equals("老师")){
            params.put("yh",request.getSession().getAttribute("userId"));
            page = kechengService.queryPage(params);
        }else{
            page = kechengService.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方法");
        KechengEntity kecheng = kechengService.selectById(id);
        if(kecheng!=null){
            return R.ok().put("data", kecheng);
        }else {
            return R.error(511,"查不到数据");
        }

    }

    /**
    * 后端保存
    */
    @RequestMapping("ve")
    public R save(@RequestBody KechengEntity kecheng, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",save");
        Wrapper<KechengEntity> queryWrapper = new EntityWrapper<KechengEntity>()
            .eq("name", kecheng.getName())
            .eq("course", kecheng.getCourse())
            .eq("ls_types", kecheng.getLsTypes())
            .eq("finish_time", kecheng.getFinishTime())
            .eq("attend_time", kecheng.getAttendTime())
            .eq("zy_types", kecheng.getZyTypes())
            .eq("notice_content", kecheng.getNoticeContent())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        KechengEntity kechengEntity = kechengService.selectOne(queryWrapper);

        //获取上课时间分钟数
        int minutes = kecheng.getAttendTime().getMinutes();
        //获取上课时间小时数
        int hours = kecheng.getAttendTime().getHours();

        //获取下课时间分钟数
        int minutes1 = kecheng.getFinishTime().getMinutes();
        //获取下课时间小时数
        int hours1 = kecheng.getFinishTime().getHours();

        if(hours == hours1 && minutes1==minutes){
            return R.error("下课时间、上课时间不能相等");
        }

        if(kechengEntity==null){
            if(hours1 == hours){
                kecheng.setCourse(minutes1-minutes+"分钟");
                kechengService.insert(kecheng);
                return R.ok();
            }

            if(hours1 > hours){
                kecheng.setCourse(((hours1*60)+minutes1) - ((hours*60)+minutes)+"分钟");
                kechengService.insert(kecheng);
                return R.ok();
            }
            return R.error();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }

    /**
    * 修改
    */
    @RequestMapping("/update")
    public R update(@RequestBody KechengEntity kecheng, HttpServletRequest request){
        logger.debug("Controller:"+this.getClass().getName()+",update");
        //根据字段查询是否有相同数据
        Wrapper<KechengEntity> queryWrapper = new EntityWrapper<KechengEntity>()
            .notIn("id",kecheng.getId())
            .eq("name", kecheng.getName())
            .eq("course", kecheng.getCourse())
            .eq("ls_types", kecheng.getLsTypes())
            .eq("zy_types", kecheng.getZyTypes())
            .eq("notice_content", kecheng.getNoticeContent())
            ;
        logger.info("sql语句:"+queryWrapper.getSqlSegment());
        KechengEntity kechengEntity = kechengService.selectOne(queryWrapper);
        //获取上课时间分钟数
        int minutes = kecheng.getAttendTime().getMinutes();
        //获取上课时间小时数
        int hours = kecheng.getAttendTime().getHours();

        //获取下课时间分钟数
        int minutes1 = kecheng.getFinishTime().getMinutes();
        //获取下课时间小时数
        int hours1 = kecheng.getFinishTime().getHours();

        if(hours == hours1 && minutes1==minutes){
            return R.error("下课时间、上课时间不能相等");
        }

        if(kechengEntity==null){
            if(hours1 == hours){
                kecheng.setCourse(minutes1-minutes+"分钟");
                kechengService.updateById(kecheng);
                return R.ok();
            }

            if(hours1 > hours){
                kecheng.setCourse(((hours1*60)+minutes1) - ((hours*60)+minutes)+"分钟");
                kechengService.updateById(kecheng);
                return R.ok();
            }
            return R.error();
        }else {
            return R.error(511,"表中有相同数据");
        }
    }


    /**
    * 删除
    */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        logger.debug("Controller:"+this.getClass().getName()+",delete");
        kechengService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

目 录
摘 要 I
Abstract II
1 绪论 1
1.1研究背景 1
1.2设计原则 1
1.3研究内容 2
2 相关技术简介 3
2.1 JSP技术 3
2.2 B/S结构 3
2.3 MYSQL数据库 4
2.4 JAVA技术 4
2.5 Tomcat简介 4
3 系统分析 6
3.1 可行性分析 6
3.1.1 技术可行性 6
3.1.2 经济可行性 6
3.1.3 操作可行性 6
3.1.4 时间可行性 6
3.2 系统性能分析 7
3.3 系统功能分析 7
3.4 系统流程分析 9
3.4.1操作流程 9
3.4.2添加信息流程 10
3.4.3 删除信息流程 11
4 系统设计 12
4.1 系统架构设计 12
4.2 系统结构设计 12
4.3 数据库设计 13
4.3.1数据库E-R图设计 13
4.3.2数据库表设计 15
5 系统实现 17
5.1 登录模块的实现 17
5.2 学生管理模块的实现 17
5.3 老师管理模块的实现 18
5.4 课程管理模块的实现 19
5.5 仪器管理模块的实现 20
5.6 专业管理模块的实现 21
5.7 留言管理模块的实现 21
6 系统测试 22
6.1 测试定义 22
6.2 性能测试 22
6.3 测试原理 22
6.4 测试分析 23
总结 24
参考文献 25
致谢 26

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_3306428634

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值