Vue+SpringBoot打造大学兼职教师管理系统(附源码文档)(二)

简介: Vue+SpringBoot打造大学兼职教师管理系统(附源码文档)

3.4 授课管理模块

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询授课")
public Result<IPage<GiveLessons>> getByPage(@ModelAttribute GiveLessons giveLessons ,@ModelAttribute PageVo page){
    QueryWrapper<GiveLessons> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(giveLessons.getCurriculumName())) {
        qw.like("curriculum_name",giveLessons.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(giveLessons.getTeaName())) {
        qw.like("tea_name",giveLessons.getTeaName());
    }
    IPage<GiveLessons> data = iGiveLessonsService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<GiveLessons>>().setData(data);
}

@RequestMapping(value = "/update", method = RequestMethod.POST)
@ApiOperation(value = "编辑授课")
public Result<GiveLessons> update(GiveLessons giveLessons){
    Curriculum c = iCurriculumService.getById(giveLessons.getCurriculumId());
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    giveLessons.setCurriculumName(c.getTitle());
    giveLessons.setImage(c.getImage());
    User t = iUserService.getById(giveLessons.getTeaId());
    if(t == null) {
        return ResultUtil.error("老师不存在");
    }
    giveLessons.setTeaName(t.getNickname());
    iGiveLessonsService.saveOrUpdate(giveLessons);
    return new ResultUtil<GiveLessons>().setData(giveLessons);
}

3.5 课程考勤模块

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程考勤")
public Result<IPage<Attendance>> getByPage(@ModelAttribute Attendance attendance ,@ModelAttribute PageVo page){
    QueryWrapper<Attendance> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND (role_id = '1667344323877933056' OR role_id = '1536606659751841799')");
    if(iUserService.count(userQw) < 1L) {
        qw.eq("stu_id",currUser.getId());
    }
    if(!ZwzNullUtils.isNull(attendance.getCurriculumName())) {
        qw.like("curriculum_name",attendance.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(attendance.getStuName())) {
        qw.like("stu_name",attendance.getStuName());
    }
    IPage<Attendance> data = iAttendanceService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Attendance>>().setData(data);
}

@RequestMapping(value = "/insert", method = RequestMethod.POST)
@ApiOperation(value = "新增课程考勤")
public Result<Attendance> insert(Attendance attendance){
    Curriculum c = iCurriculumService.getById(attendance.getCurriculumId());
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    attendance.setCurriculumName(c.getTitle());
    attendance.setImage(c.getImage());
    User s = iUserService.getById(attendance.getStuId());
    if(s == null) {
        return ResultUtil.error("学生不存在");
    }
    attendance.setStuName(s.getNickname());
    iAttendanceService.saveOrUpdate(attendance);
    return new ResultUtil<Attendance>().setData(attendance);
}

3.6 课程评价模块

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程评价")
public Result<IPage<Appraise>> getByPage(@ModelAttribute Appraise appraise ,@ModelAttribute PageVo page){
    QueryWrapper<Appraise> qw = new QueryWrapper<>();
    if(!ZwzNullUtils.isNull(appraise.getCurriculumName())) {
        qw.like("curriculum_name",appraise.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(appraise.getStuName())) {
        qw.like("stu_name",appraise.getStuName());
    }
    IPage<Appraise> data = iAppraiseService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Appraise>>().setData(data);
}

@RequestMapping(value = "/addOne", method = RequestMethod.GET)
@ApiOperation(value = "添加评价")
public Result<Object> addOne(@RequestParam String id,@RequestParam String content){
    Curriculum c = iCurriculumService.getById(id);
    if(c == null) {
        return ResultUtil.error("课程不存在");
    }
    User currUser = securityUtil.getCurrUser();
    Appraise a = new Appraise();
    a.setCurriculumId(c.getId());
    a.setCurriculumName(c.getTitle());
    a.setImage(c.getImage());
    a.setStuId(currUser.getId());
    a.setStuName(currUser.getNickname());
    a.setContent(content);
    iAppraiseService.saveOrUpdate(a);
    return ResultUtil.success();
}

3.7 课程成绩模块

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询课程成绩")
public Result<IPage<Achievement>> getByPage(@ModelAttribute Achievement achievement ,@ModelAttribute PageVo page){
    QueryWrapper<Achievement> qw = new QueryWrapper<>();
    User currUser = securityUtil.getCurrUser();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("id",currUser.getId());
    userQw.inSql("id","SELECT user_id FROM a_user_role WHERE del_flag = 0 AND (role_id = '1667344323877933056' OR role_id = '1536606659751841799')");
    if(iUserService.count(userQw) < 1L) {
        qw.eq("stu_id",currUser.getId());
    }
    if(!ZwzNullUtils.isNull(achievement.getCurriculumName())) {
        qw.like("curriculum_name",achievement.getCurriculumName());
    }
    if(!ZwzNullUtils.isNull(achievement.getStuName())) {
        qw.like("stu_name",achievement.getStuName());
    }
    if(!ZwzNullUtils.isNull(achievement.getTeaName())) {
        qw.like("tea_name",achievement.getTeaName());
    }
    IPage<Achievement> data = iAchievementService.page(PageUtil.initMpPage(page),qw);
    return new ResultUtil<IPage<Achievement>>().setData(data);
}

@RequestMapping(value = "/makeGrade", method = RequestMethod.GET)
@ApiOperation(value = "打分")
public Result<Object> makeGrade(@RequestParam String id,@RequestParam BigDecimal grade){
    Achievement a = iAchievementService.getById(id);
    if(a == null) {
        return ResultUtil.error("成绩单不存在");
    }
    a.setNumber1(grade);
    a.setNumberSum(a.getNumber1().multiply(BigDecimal.valueOf(0.6)).add(a.getNumber2().multiply(BigDecimal.valueOf(0.4))));
    iAchievementService.saveOrUpdate(a);
    return ResultUtil.success();
}

3.8 可视化图表

@RequestMapping(value = "/getAntvVoList2", method = RequestMethod.GET)
@ApiOperation(value = "教龄分析")
public Result<List<AntvVo>> getAntvVoList2(){
    List<AntvVo> ansList = new ArrayList<>();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("type",1);
    List<User> teacherList = iUserService.list(userQw);
    for (User o : teacherList) {
        boolean flag = false;
        for (AntvVo vo : ansList) {
            if(Objects.equals(vo.getTitle(),o.getAge().toString())) {
                flag = true;
                vo.setValue(vo.getValue().add(BigDecimal.ONE));
                break;
            }
        }
        if(!flag) {
            AntvVo vo = new AntvVo();
            vo.setTitle(o.getAge().toString());
            vo.setType("教龄");
            vo.setValue(BigDecimal.ONE);
            ansList.add(vo);
        }
    }
    return new ResultUtil<List<AntvVo>>().setData(ansList);
}

@RequestMapping(value = "/getAntvVoList1", method = RequestMethod.GET)
@ApiOperation(value = "工资分析")
public Result<List<AntvVo>> getAntvVoList1(){
    List<AntvVo> ansList = new ArrayList<>();
    QueryWrapper<User> userQw = new QueryWrapper<>();
    userQw.eq("type",1);
    List<User> teacherList = iUserService.list(userQw);
    for (User o : teacherList) {
        String title = change1(o.getMoneyData());
        boolean flag = false;
        for (AntvVo vo : ansList) {
            if(Objects.equals(vo.getTitle(),title)) {
                flag = true;
                vo.setValue(vo.getValue().add(BigDecimal.ONE));
                break;
            }
        }
        if(!flag) {
            AntvVo vo = new AntvVo();
            vo.setTitle(title);
            vo.setType("工资");
            vo.setValue(BigDecimal.ONE);
            ansList.add(vo);
        }
    }
    return new ResultUtil<List<AntvVo>>().setData(ansList);
}

截止现在,大学兼职教师管理系统终于开发完成,在大学兼职教师管理系统的开发过程中,我首先对大学兼职教师管理系统的研究背景和意义进行了评估,然后去图书馆查阅大量关于大学兼职教师管理系统的国内外现状,最后得出大学兼职教师管理系统的主要研究内容,完成了论文的第一章。接着上网查阅了现有的大学兼职教师管理系统产品,确定了大学兼职教师管理系统采用的关键技术,接着对大学兼职教师管理系统的功能需求和使用群体进行了分析和总结,最后完成了大学兼职教师管理系统的设计和实现。

未来,我将会花费更多时间,完善大学兼职教师管理系统的其他功能模块,比如提供第三方的API接口,开发和企业微信和钉钉进行免登整合等功能,让大学兼职教师管理系统变得更强大。

相关文章
|
1月前
|
数据采集 监控 前端开发
二级公立医院绩效考核系统源码,B/S架构,前后端分别基于Spring Boot和Avue框架
医院绩效管理系统通过与HIS系统的无缝对接,实现数据网络化采集、评价结果透明化管理及奖金分配自动化生成。系统涵盖科室和个人绩效考核、医疗质量考核、数据采集、绩效工资核算、收支核算、工作量统计、单项奖惩等功能,提升绩效评估的全面性、准确性和公正性。技术栈采用B/S架构,前后端分别基于Spring Boot和Avue框架。
|
6天前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
52 13
|
14天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
1月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
45 0
|
JSON 前端开发 Java
SpringBoot 如何生成接口文档
pringBoot老鸟系列的文章已经写了两篇,每篇的阅读反响都还不错,果然大家还是对SpringBoot比较感兴趣。那今天我们就带来老鸟系列的第三篇:集成Swagger接口文档以及Swagger的高级功能。
421 0
SpringBoot 如何生成接口文档
|
3月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的服装商城管理系统
基于Java+Springboot+Vue开发的服装商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的服装商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
179 2
基于Java+Springboot+Vue开发的服装商城管理系统
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
176 1
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
115 62
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
80 2
下一篇
DataWorks