Java毕业设计-科研工作管理系统

🔥作者主页:疯狂行者🔥 💖✌java领域优质创作者,专注于Java技术领域技术交流✌💖
💖文末获取源码💖
精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻

Java精彩实战项目案例

Java精彩新手项目案例


前言

本次文章主要是介绍SpringBoot+Vue科研工作管理系统的功能,系统分类两个角色,分别是管理员、秘书、教师

一、系统功能

1.1 开发环境

  • 开发语言:Java - 技术:SpringBoot+Vue
  • 数据库:MySQL - 架构:B/S - 源码类型: Web
  • 编译工具:Idea、Eclipse、MyEclipse (选其一)
  • 其他:jdk1.8、Tomcat8.5【内置】 、Navicat

二、系统设计

2.1 研究思路分析

在系统流程分析当中调查分析它是比较重要的环节,因为在这个系统当中它都涉及到每个环节的业务流程,所以从Java+SpringBoot+Vue实现的科研工作管理系统的设计的整体设计上要保证各个信息的正确输入和输出以及对数据储存的完整,并结合实际的操作步骤来绘制出具体的流程图。具体流程图如下图所示:
在这里插入图片描述

2.2 系统功能结构图

系统的功能需求如下:
管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员功能来管理后台系统。主要功能有:个人中心、基础数据管理【科研获奖类型、科研文档类型、科研项目类型管理】、教师管理、秘书管理、科研获奖管理、科研文档管理、科研项目管理、总工作量统计;秘书的功能有科研获奖管理、个人中心、教师管理、科研文档管理、科研项目管理、总工作量统计;教师的功能有科研获奖管理、个人中心、科研文档管理、科研项目管理、总工作量统计。
在这里插入图片描述

三、部分功能展示

☀️登录界面☀️
在这里插入图片描述

☀️管理员_科研获奖管理☀️
在这里插入图片描述

☀️管理员_科研获奖类型管理☀️
在这里插入图片描述

☀️管理员_科研项目管理☀️
在这里插入图片描述

☀️秘书_科研获奖审核管理☀️
在这里插入图片描述

☀️秘书_科研项目审核管理☀️
在这里插入图片描述

☀️管理员_总工作量统计☀️
在这里插入图片描述

三、部分代码设计

3.1.登录查询【代码如下(示例):】

   /**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		R r = R.ok();
		r.put("token", token);
		r.put("role",user.getRole());
		r.put("userId",user.getId());
		return r;
	}

3.2.科研获奖查询【代码如下(示例):】

/**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永不会进入");
        else if("秘书".equals(role))
            params.put("mishuId",request.getSession().getAttribute("userId"));
        else if("教师".equals(role))
            params.put("jiaoshiId",request.getSession().getAttribute("userId"));
        if(params.get("orderBy")==null || params.get("orderBy")==""){
            params.put("orderBy","id");
        }
        PageUtils page = keyanhuojiangService.queryPage(params);

        //字典表数据转换
        List<KeyanhuojiangView> list =(List<KeyanhuojiangView>)page.getList();
        for(KeyanhuojiangView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c, request);
        }
        return R.ok().put("data", page);
    }

3.3.工作量信息查询【代码如下(示例):】

 /**
    * 后端列表
    */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
        logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
        String role = String.valueOf(request.getSession().getAttribute("role"));
        if(false)
            return R.error(511,"永不会进入");
        else if("秘书".equals(role))
            params.put("mishuId",request.getSession().getAttribute("userId"));
        else if("教师".equals(role))
            params.put("jiaoshiId",request.getSession().getAttribute("userId"));
        if(params.get("orderBy")==null || params.get("orderBy")==""){
            params.put("orderBy","id");
        }
        PageUtils page = gongzuoliangService.queryPage(params);
        //字典表数据转换
        List<GongzuoliangView> list =(List<GongzuoliangView>)page.getList();
        for(GongzuoliangView c:list){
            //修改对应字典表字段
            dictionaryService.dictionaryConvert(c, request);
        }
        return R.ok().put("data", page);
    }

总结

源码获取:

大家点赞、收藏、关注、评论啦 、

打卡 文章 更新 38/ 365天

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

Java精彩实战项目案例

Java精彩新手项目案例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

疯狂行者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值