基于java+springboot+vue的高校专业实习管理系统

项目介绍

随着国内市场经济这几十年来的蓬勃发展,突然遇到了从国外传入国内的互联网技术,互联网产业从开始的群众不信任,到现在的离不开,中间经历了很多挫折。本次开发的高校专业实习管理系统有管理员,院系负责人,教师,实习单位,学生五个角色。功能模块主要有个人中心,院系管理,专业管理,院系负责人管理,教师管理,实习单位管理,学生管理,实习流程管理,实习公告管理,实习内容管理,实习申请管理,实习安排管理,单位反馈管理,学生反馈管理,实习保障管理,成绩评定管理,实习综合成绩管理。开发本程序后台用到了Spring Boot开发技术,页面设计采用VUE框架和layui样式。数据库采用关系数据库市场占有率最高的MySQL作为本程序使用的数据库,完全符合程序使用并且有丰富的拓展余地。程序从需求到设计,从开发到测试,都在功能上和性能上都不断的进行了调试,让开发的程序在使用上用户体验更美好。

在这里插入图片描述

开发环境

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

系统实现

5.1 管理员功能实现
5.1.1 专业管理
管理员可以对专业信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.1 专业管理页面

5.1.2 院系管理
管理员可以对院系信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.2 院系管理页面

5.1.3 院系负责人管理
管理员可以对院系负责人信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.3 院系负责人管理页面

5.2 院系负责人实现
5.2.1 教师管理
院系负责人可以对教师信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.4 教师管理页面

5.3 教师功能实现
5.2.1 学生管理
教师可以对自己发布过的学生信息进行添加,修改,删除,查询操作,还可以查看评论。
在这里插入图片描述

图5.5学生管理页面

5.2.2 实习流程管理
教师可以对自己发布过的实习流程信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.6 实习流程管理页面

5.2.3 实习公告管理
教师可以对自己发布过的实习公告信息进行添加,修改,删除,查询操作。。
在这里插入图片描述

图5.7 实习公告管理页面

5.4 实习单位功能实现
5.4.1 实习内容管理
实习单位可以对自己发布过的实习内容信息进行添加,修改,删除,查询操作。。
在这里插入图片描述

图5.8 实习内容管理页面

5.4.2 单位反馈管理
实习单位可以对自己发布过的单位反馈信息进行添加,修改,删除,查询操作。。
在这里插入图片描述

图5.9 单位反馈管理页面

5.4.3 成绩评定管理
实习单位可以对自己发布过的成绩评定信息进行添加,修改,删除,查询操作。。
在这里插入图片描述

图5.10 成绩评定管理页面

5.5 学生功能实现
5.5.1 实习申请管理
学生可以对自己发布过的实习申请信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.11 实习申请管理页面

5.5.2 学生反馈管理
学生可以对自己发布过的学生反馈信息进行添加,修改,删除,查询操作。
在这里插入图片描述

图5.12 学生反馈管理页面

5.5.3 实习综合成绩管理
学生查看和搜索自己的实习综合成绩。
在这里插入图片描述

图5.13 实习综合成绩管理页面

核心代码

package com.controller;

import java.text.SimpleDateFormat;
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.ChengjipingdingEntity;
import com.entity.view.ChengjipingdingView;

import com.service.ChengjipingdingService;
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 
 */
@RestController
@RequestMapping("/chengjipingding")
public class ChengjipingdingController {
    @Autowired
    private ChengjipingdingService chengjipingdingService;


    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,ChengjipingdingEntity chengjipingding,
                @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date tianjiariqistart,
                @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date tianjiariqiend,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			chengjipingding.setXuehao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("jiaoshi")) {
			chengjipingding.setJiaoshigonghao((String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("shixidanwei")) {
			chengjipingding.setDanweimingcheng((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<ChengjipingdingEntity> ew = new EntityWrapper<ChengjipingdingEntity>();
                if(tianjiariqistart!=null) ew.ge("tianjiariqi", tianjiariqistart);
                if(tianjiariqiend!=null) ew.le("tianjiariqi", tianjiariqiend);
		PageUtils page = chengjipingdingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chengjipingding), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,ChengjipingdingEntity chengjipingding, 
                @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date tianjiariqistart,
                @RequestParam(required = false) @DateTimeFormat(pattern="yyyy-MM-dd") Date tianjiariqiend,
		HttpServletRequest request){
        EntityWrapper<ChengjipingdingEntity> ew = new EntityWrapper<ChengjipingdingEntity>();
                if(tianjiariqistart!=null) ew.ge("tianjiariqi", tianjiariqistart);
                if(tianjiariqiend!=null) ew.le("tianjiariqi", tianjiariqiend);
		PageUtils page = chengjipingdingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chengjipingding), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( ChengjipingdingEntity chengjipingding){
       	EntityWrapper<ChengjipingdingEntity> ew = new EntityWrapper<ChengjipingdingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( chengjipingding, "chengjipingding")); 
        return R.ok().put("data", chengjipingdingService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ChengjipingdingEntity chengjipingding){
        EntityWrapper< ChengjipingdingEntity> ew = new EntityWrapper< ChengjipingdingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( chengjipingding, "chengjipingding")); 
		ChengjipingdingView chengjipingdingView =  chengjipingdingService.selectView(ew);
		return R.ok("查询成绩评定成功").put("data", chengjipingdingView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ChengjipingdingEntity chengjipingding = chengjipingdingService.selectById(id);
        return R.ok().put("data", chengjipingding);
    }

    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ChengjipingdingEntity chengjipingding = chengjipingdingService.selectById(id);
        return R.ok().put("data", chengjipingding);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody ChengjipingdingEntity chengjipingding, HttpServletRequest request){
    	chengjipingding.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chengjipingding);
        chengjipingdingService.insert(chengjipingding);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody ChengjipingdingEntity chengjipingding, HttpServletRequest request){
    	chengjipingding.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(chengjipingding);
        chengjipingdingService.insert(chengjipingding);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody ChengjipingdingEntity chengjipingding, HttpServletRequest request){
        //ValidatorUtils.validateEntity(chengjipingding);
        chengjipingdingService.updateById(chengjipingding);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        chengjipingdingService.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<ChengjipingdingEntity> wrapper = new EntityWrapper<ChengjipingdingEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("xuesheng")) {
			wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("jiaoshi")) {
			wrapper.eq("jiaoshigonghao", (String)request.getSession().getAttribute("username"));
		}
		if(tableName.equals("shixidanwei")) {
			wrapper.eq("danweimingcheng", (String)request.getSession().getAttribute("username"));
		}

		int count = chengjipingdingService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	







}

论文参考

在这里插入图片描述

目 录
1 绪论 1
1.1 研究背景 1
1.2 研究意义 1
1.3 研究内容 1
2 开发技术 3
2.1 VUE框架 3
2.2 Mysql数据库 3
2.3 Spring Boot框架 3
2.4 layui介绍 4
3 系统分析 5
3.1可行性研究 5
3.2系统性能分析 6
3.3 系统流程分析 6
3.3.1 系统开发流程 6
3.3.2 系统注册流程 7
3.3.3 系统登录流程 8
4 系统设计 10
4.1 系统结构设计 10
4.2系统功能模块设计 11
4.3数据库设计 11
4.3.1数据库E-R图 11
4.3.2 数据库表结构 13
5 系统实现 20
5.1 管理员功能实现 20
5.1.1 专业管理 20
5.1.2 院系管理 20
5.1.3 院系负责人管理 21
5.2 院系负责人实现 21
5.2.1 教师管理 21
5.3 教师功能实现 22
5.2.1 学生管理 22
5.2.2 实习流程管理 23
5.2.3 实习公告管理 23
5.4 实习单位功能实现 24
5.4.1 实习内容管理 24
5.4.2 单位反馈管理 24
5.4.3 成绩评定管理 25
5.5 学生功能实现 26
5.5.1 实习申请管理 26
5.5.2 学生反馈管理 26
5.5.3 实习综合成绩管理 27
6系统测试 28
6.1 测试的基本概念 28
6.2 测试的任务和目的  29
6.2.1测试的任务  29
6.2.2测试的目的  29
6.3 测试结果分析 29
结 论 30
参考文献 31
致 谢 32

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Java毕业设计-基于Springboot+Vue高校专业实习管理系统的设计和开发-源码+数据库+使用文档+演示视频(高分项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为期末作业 Java毕业设计-基于Springboot+Vue高校专业实习管理系统的设计和开发-源码+数据库+使用文档+演示视频(高分项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为期末作业 Java毕业设计-基于Springboot+Vue高校专业实习管理系统的设计和开发-源码+数据库+使用文档+演示视频(高分项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为期末作业 Java毕业设计-基于Springboot+Vue高校专业实习管理系统的设计和开发-源码+数据库+使用文档+演示视频(高分项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为期末作业 Java毕业设计-基于Springboot+Vue高校专业实习管理系统的设计和开发-源码+数据库+使用文档+演示视频(高分项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为期末作业

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_3306428634

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

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

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

打赏作者

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

抵扣说明:

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

余额充值