基于Java+Springmvc+vue+element实现大学生科技创新创业项目管理系统

Posted java李杨勇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Java+Springmvc+vue+element实现大学生科技创新创业项目管理系统相关的知识,希望对你有一定的参考价值。

  博主介绍公司项目主程、全网粉丝10W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计

公众号:java奥斯卡  简历模板、学习资料、面试题库等都给你💪

🍅文末获取源码联系🍅

🍅CSDN官方推荐10W+JAVA技术人文章发布打卡社区🍅

前言介绍:

          随着社会的不断快速发展,计算机的影响是全面且深入的。人们生活水平的不断提高,日常生活中人们对大学生创新创业项目管理方面的要求也在不断的提高、需要大学生创新创业项目管理的人数更是不断增加,使得大学生创新创业项目管理的开发成为必需而且紧迫的事情。大学生创新创业项目管理主要是借助计算机,通过对大学生创新创业项目管理所需的信息管理,增加用户选择,同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。大学生创新创业项目管理对一些用户带来了更多的便利, 该系统通过和mysql数据库管理系统软件协作来满足用户的需求保存数据等。

系统设计:

开发工具:idea/eclipse、navicat for mysql

开发语言:java、jdk1.8、mysql5

硬件环境:Win10系统、Google等。

主要技术:springmvc、mybatis、vue 、java等

主要功能设计:首页、个人中心、学生管理、指导老师管理、评审专家管理、项目任务书管理、中期检查报告管理、项目申请书管理、结项报告管理、项目进展日志管理、项目立项申请管理、项目评价管理

功能截图:

用户登录注册:管理员通过输入用户名、密码、选择角色等信息,然后点击登录就能登录到系统

管理员登录进入系统之后,就可以对所有的信息进行查看,可以查看到首页、个人中心、学生管理、指导老师管理、评审专家管理、项目任务书管理、中期检查报告管理、项目申请书管理、结项报告管理、项目进展日志管理、项目立项申请管理、项目评价管理等,并且还可以对其进行相应的操作管理

学生信息管理:在学生管理页面中可以对索引、姓名、学号、性别、手机、邮箱、联系地址、身份证、照片等信息进行详情,修改或删除等操作

指导老师管理:指导老师管理,在指导老师管理页面中可以对索引、工号、指导老师姓名、性别、手机、邮箱、身份证、图片等信息进行详情,修改或删除等操作

评审专家管理:在评审专家管理页面中可以对索引、账号、姓名、性别、身份证、手机、邮箱、照片等信息进行详情,修改或删除等操作

项目任务书管理:在项目申请书管理页面中可以对索引、项目名称、学号、姓名、手机、邮箱、指导老师姓名、工号、文件、联系地址、申请时间、审核回复、审核状态等信息进行详情,修改或删除等操作

中期检查报告管理:在中期检查报告管理页面中可以对索引、项目名称、项目类别、学号、文件、编号、项目负责人、指导老师姓名、工号、提交时间、审核回复、审核状态等信息进行详情,修改或删除等操作

项目申请书管理:在项目进展日志管理页面中可以对索引、项目名称、文件、指导老师姓名、工号、学号、姓名、提交时间等信息进行详情,修改或删除等操作

结项报告管理:在结项报告管理页面中可以对索引、项目名称、项目类型、学号、文件、编号、项目负责人、指导老师姓名、工号、提交时间、审核回复、审核状态等信息进行详情,修改或删除等操作

项目进展日志管理:在项目进展日志管理页面中可以对索引、项目名称、文件、指导老师姓名、工号、学号、姓名、提交时间等信息进行详情,修改或删除等操作

项目评价管理:在项目进展日志管理页面中可以对索引、项目名称、文件、指导老师姓名、工号、学号、姓名、提交时间等信息进行详情,修改或删除等操作

数据设计:

项目申请书管理实体属性图,如图所示:

 结项报告管理实体属性图如图所示:

部分数据库表设计:

将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。

项目任务书

字段名称

类型

长度

字段说明

id

bigint

主键

addtime

timestamp

创建时间

xiangmumingcheng

varchar2

200

项目名称

wenjian

varchar2

200

文件

lixiangdengji

varchar2

200

立项等级

xiangmubianhao

varchar2

200

项目编号

xiangmufuzeren

varchar2

200

项目负责人

xuehao

varchar2

200

学号

suozaixueyuan

varchar2

200

所在学院

zhidaolaoshixingming

varchar2

200

指导老师姓名

gonghao

varchar2

200

工号

kaishishijian

datetime

开始时间

jieshushijian

datetime

结束时间

shuoming

longtext

4294967295

说明

项目评价

字段名称

类型

长度

字段说明

id

bigint

主键

addtime

timestamp

创建时间

xiangmumingcheng

varchar2

200

项目名称

xiangmuleixing

varchar2

200

项目类型

xiangmufuzeren

varchar2

200

项目负责人

xuehao

varchar2

200

学号

zhidaolaoshixingming

varchar2

200

指导老师姓名

gonghao

varchar2

200

工号

pingjia

varchar2

200

评价

shuoming

longtext

4294967295

说明

项目立项申请

字段名称

类型

长度

字段说明

id

bigint

主键

addtime

timestamp

创建时间

xiangmumingcheng

varchar2

200

项目名称

shangchuanwenjian

varchar2

200

上传文件

gonghao

varchar2

200

工号

zhidaolaoshixingming

varchar2

200

指导老师姓名

xuehao

varchar2

200

学号

xingming

varchar2

200

姓名

shenqingshijian

datetime

申请时间

shuoming

longtext

4294967295

说明

sfsh

varchar2

200

是否审核

shhf

longtext

4294967295

审核回复

项目进展日志

字段名称

类型

长度

字段说明

id

bigint

主键

addtime

timestamp

创建时间

xiangmumingcheng

varchar2

200

项目名称

wenjian

varchar2

200

文件

xuehao

varchar2

200

学号

xingming

varchar2

200

姓名

zhidaolaoshixingming

varchar2

200

指导老师姓名

gonghao

varchar2

200

工号

tijiaoshijian

datetime

提交时间

shuoming

longtext

4294967295

说明

表4-5用户表

字段名称

类型

长度

字段说明

id

bigint

主键

username

varchar2

100

用户名

password

varchar2

100

密码

role

varchar2

100

角色

addtime

timestamp

新增时间

中期检查报告

字段名称

类型

长度

字段说明

id

bigint

主键

addtime

timestamp

创建时间

xiangmumingcheng

varchar2

200

项目名称

xiangmuleibie

varchar2

200

项目类别

wenjian

varchar2

200

文件

bianhao

varchar2

200

编号

xiangmufuzeren

varchar2

200

项目负责人

xuehao

varchar2

200

学号

zhidaolaoshixingming

varchar2

200

指导老师姓名

gonghao

varchar2

200

工号

tijiaoshijian

datetime

提交时间

shuoming

longtext

4294967295

说明

sfsh

varchar2

200

是否审核

shhf

longtext

4294967295

审核回复

代码实现:



/**
 * 项目立项申请
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-10 16:31:21
 */
@RestController
@RequestMapping("/xiangmulixiangshenqing")
public class XiangmulixiangshenqingController 
    @Autowired
    private XiangmulixiangshenqingService xiangmulixiangshenqingService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,XiangmulixiangshenqingEntity xiangmulixiangshenqing, 
		HttpServletRequest request)

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("zhidaolaoshi")) 
			xiangmulixiangshenqing.setGonghao((String)request.getSession().getAttribute("username"));
		
		if(tableName.equals("xuesheng")) 
			xiangmulixiangshenqing.setXuehao((String)request.getSession().getAttribute("username"));
		
        EntityWrapper<XiangmulixiangshenqingEntity> ew = new EntityWrapper<XiangmulixiangshenqingEntity>();
		PageUtils page = xiangmulixiangshenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiangmulixiangshenqing), params), params));
        return R.ok().put("data", page);
    
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request)
        EntityWrapper<XiangmulixiangshenqingEntity> ew = new EntityWrapper<XiangmulixiangshenqingEntity>();
		PageUtils page = xiangmulixiangshenqingService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiangmulixiangshenqing), params), params));
        return R.ok().put("data", page);
    

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( XiangmulixiangshenqingEntity xiangmulixiangshenqing)
       	EntityWrapper<XiangmulixiangshenqingEntity> ew = new EntityWrapper<XiangmulixiangshenqingEntity>();
      	ew.allEq(MPUtil.allEQMapPre( xiangmulixiangshenqing, "xiangmulixiangshenqing")); 
        return R.ok().put("data", xiangmulixiangshenqingService.selectListView(ew));
    

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(XiangmulixiangshenqingEntity xiangmulixiangshenqing)
        EntityWrapper< XiangmulixiangshenqingEntity> ew = new EntityWrapper< XiangmulixiangshenqingEntity>();
 		ew.allEq(MPUtil.allEQMapPre( xiangmulixiangshenqing, "xiangmulixiangshenqing")); 
		XiangmulixiangshenqingView xiangmulixiangshenqingView =  xiangmulixiangshenqingService.selectView(ew);
		return R.ok("查询项目立项申请成功").put("data", xiangmulixiangshenqingView);
    
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/id")
    public R info(@PathVariable("id") Long id)
        XiangmulixiangshenqingEntity xiangmulixiangshenqing = xiangmulixiangshenqingService.selectById(id);
        return R.ok().put("data", xiangmulixiangshenqing);
    

    /**
     * 前端详情
     */
    @RequestMapping("/detail/id")
    public R detail(@PathVariable("id") Long id)
        XiangmulixiangshenqingEntity xiangmulixiangshenqing = xiangmulixiangshenqingService.selectById(id);
        return R.ok().put("data", xiangmulixiangshenqing);
    
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request)
    	xiangmulixiangshenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(xiangmulixiangshenqing);

        xiangmulixiangshenqingService.insert(xiangmulixiangshenqing);
        return R.ok();
    
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request)
    	xiangmulixiangshenqing.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(xiangmulixiangshenqing);

        xiangmulixiangshenqingService.insert(xiangmulixiangshenqing);
        return R.ok();
    

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody XiangmulixiangshenqingEntity xiangmulixiangshenqing, HttpServletRequest request)
        //ValidatorUtils.validateEntity(xiangmulixiangshenqing);
        xiangmulixiangshenqingService.updateById(xiangmulixiangshenqing);//全部更新
        return R.ok();
    
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids)
        xiangmulixiangshenqingService.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<XiangmulixiangshenqingEntity> wrapper = new EntityWrapper<XiangmulixiangshenqingEntity>();
		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("zhidaolaoshi")) 
			wrapper.eq("gonghao", (String)request.getSession().getAttribute("username"));
		
		if(tableName.equals("xuesheng")) 
			wrapper.eq("xuehao", (String)request.getSession().getAttribute("username"));
		

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



<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <mvc:default-servlet-handler/>

    <!-- Controller包(自动注入) -->
    <context:component-scan base-package="com.controller"/>

    <!-- FastJson注入 -->
    <mvc:annotation-driven>
        <!-- <mvc:message-converters register-defaults="true">
            避免IE执行AJAX时,返回JSON出现下载文件
            FastJson
            <bean id="fastJsonHttpMessageConverter"
                  class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        这里顺序不能反,一定先写text/html,不然ie下出现下载提示
                        <value>text/html;charset=UTF-8</value>
                        <value>application/json;charset=UTF-8</value>
                    </list>
                </property>
                <property name="features">
                    <array value-type="com.alibaba.fastjson.serializer.SerializerFeature">
                        避免循环引用
                        <value>DisableCircularReferenceDetect</value>
                        是否输出值为null的字段
                        <value>WriteMapNullValue</value>
                        数值字段如果为null,输出为0,而非null
                        <value>WriteNullNumberAsZero</value>
                        字符类型字段如果为null,输出为"",而非null 
                        <value>WriteNullStringAsEmpty</value>
                        List字段如果为null,输出为[],而非null
                        <value>WriteNullListAsEmpty</value>
                        Boolean字段如果为null,输出为false,而非null
                        <value>WriteNullBooleanAsFalse</value>
                    </array>
                </property>
            </bean>
        </mvc:message-converters> -->
    </mvc:annotation-driven>
    <!-- 静态资源配置 -->
    <mvc:resources mapping="/resources/**" location="/resources/"/>
    <!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/pages/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
    
    <!-- 拦截器配置 -->
    <mvc:interceptors>
        <mvc:interceptor>
            <mvc:mapping path="/**"/>
            <mvc:exclude-mapping path="/upload"/>
            <bean class="com.interceptor.AuthorizationInterceptor"/>
        </mvc:interceptor>
    </mvc:interceptors>

    <!-- 上传限制 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 上传文件大小限制为31M,31*1024*1024 -->
        <property name="maxUploadSize" value="32505856"/>
    </bean>

</beans>

论文参考:

  

1 系统概述

1.1 概述

1.2课题意义

1.3主要内容

2 系统开发环境

2.1 SSM框架

2.2 JAVA简介

2.3访问数据库实现方法

2.4系统对MySQL数据库的两种连接方式

2.5 MySql数据库

3 需求分析

3.1技术可行性:技术背景

3.2经济可行性

3.3操作可行性

3.4系统设计规则

3.5系统流程和逻辑

4系统概要设计

4.1 概述

4.2 系统结构

4.3. 数据库设计

4.3.1 数据库实体

4.3.2 数据库设计表

5 系统详细设计

5.1管理员功能模块

5.2学生功能模块

5.3指导老师功能模块

5.4评审专家功能模块

6 系统测试

6.1系统测试的目的

6.2系统测试方法

6.3 测试结果

结论

致 谢

参考文献

源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻微信公众号获取联系方式👇🏻👇🏻👇🏻

打卡 文章 更新 261/  365

 精彩专栏推荐订阅下方专栏👇🏻👇🏻👇🏻👇🏻

Java项目精品实战案例《100套》

web前端期末大作业网页实战《100套》

以上是关于基于Java+Springmvc+vue+element实现大学生科技创新创业项目管理系统的主要内容,如果未能解决你的问题,请参考以下文章

基于Java+Springmvc+vue+element实现高校心理健康系统详细设计和实现

基于Java+SpringMvc+Vue求职招聘系统详细设计实现

基于Java+SpringMvc+Vue求职招聘系统详细设计实现

基于Java+Springmvc+vue+element员工信息管理系统详细设计

基于Java+SpringMvc+vue+element实现校园闲置物品交易网站

基于Java+SpringMVC+vue+element宠物管理系统设计实现