基于javaweb+springboot的教务管理系统(java+JSP+Spring+SpringBoot+layui+maven)

基于javaweb+springboot的教务管理系统(java+JSP+Spring+SpringBoot+layui+maven)

一、项目简述

功能包括:
三角色教师 管理员,学生教务管理系统,包括院系管理,课题综合管理,信息管理,以及差旅管理,学生选题等等。

二、项目运行

环境配置:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)

项目技术:

JSP +Spring + SpringBoot + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

            flag = indexService.projectselectedstuflag(student.getId());
            if (flag == 0L) {
                str = "未选题";
            } else if (flag == 1L) {
                str = "选题待审核";
            } else if (flag == 2L) {
                str = "选题未通过";
            } else if (flag == 3L) {
                str = "选题通过";
            }
            model.addAttribute("flag", str);
            model.addAttribute("teacher", project.getTeachernames());
            request.getSession().setAttribute("filePath",project.getFilepath());
        }
        //用来判断当前页是否为首页
    }
    //学期述职
    @PostMapping("/upload_term_debriefing")
    @ResponseBody
    public Msg fun9(String year, String term, String teachingTask, String scientificResearch,
                    String otherWork, String winAward, String summary, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        DebriefingWithBLOBs debriefingWithBLOBs = new DebriefingWithBLOBs();
        debriefingWithBLOBs.setIdTeacher(teacher.getId());
        debriefingWithBLOBs.setYear(Long.parseLong(year));
            httpSession.removeAttribute("");
        } else {
            httpSession.setAttribute("XZproject", project.getProjectname());
            model.addAttribute("XZproject", project.getProjectname());
            model.addAttribute("projectName", project.getProjectname());
            flag = indexService.projectselectedstuflag(student.getId());
            if (flag == 0L) {
                str = "未选题";
            } else if (flag == 1L) {
                str = "选题待审核";
            } else if (flag == 2L) {
                str = "选题未通过";
            } else if (flag == 3L) {
                str = "选题通过";
            }
            model.addAttribute("flag", str);
            model.addAttribute("teacher", project.getTeachernames());
            request.getSession().setAttribute("filePath",project.getFilepath());
        }
        //用来判断当前页是否为首页
            subject.setReleaseFlag(0);
            subjectService.updateSubjectByid(subject);
            return Msg.success();
        } else {
            //获取课题
            SubjectWithBLOBs subject1 = subjectService.getSubjectByID(id);
            //获取课题路径
            String oldPath = subject1.getFilepath();
            File oldFile = new File(oldPath);
            //如果文件存在则删除
            if (oldFile.exists()) {
                //删除成功
                if (oldFile.delete()) {
                } else {
                    return Msg.fail();
                }
            }
            ServletContext servletContext = request.getSession().getServletContext();
            String uploadFileName = file.getOriginalFilename(); // 获取上传文件的原名
            uploadFileName = uploadFileName.substring(uploadFileName.lastIndexOf(File.separator) + 1);
            File path = new File(ResourceUtils.getURL("target").getPath());
//            String savePath = path.getAbsolutePath() + "\\classes\\static\\model\\" + teacher.getId();
//            String saveFileName = savePath + "\\" + uploadFileName;
            project.setVerifyprojectFlag(0);
            project.setReleaseFlag(0);
            int i = subjectService.updateSubjectByid(project);
            return Msg.success();
        }
    }
    @GetMapping("/getSubjectById")
    @ResponseBody
    public Msg getss(Long id) {
        SubjectWithBLOBs subject = subjectService.getSubjectByID(id);
        System.out.println(subject);
        subject.setFilepath(subject.getFilepath().substring(subject.getFilepath().lastIndexOf("\\") + 1));
        String[] teachers = subject.getTeachernames().split("&");
    @ResponseBody
    public Msg fun17(HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        List<AnnualAssessment> list = teacherService.selectAnnualAssessmentByYear(teacher.getId());
        if (list.isEmpty()) {
            return Msg.fail();
        } else {
            return Msg.success().add("year", list);
        }
    }
    //查询指定年度考核信息
    @GetMapping("/select_annualassessment_year_info")
    @ResponseBody
    public Msg fun18(Long year, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        AnnualAssessmentWithBLOBs assessment = teacherService.selectAnnualAssessmentInfo(teacher.getId(), year);
        return Msg.success().add("assessmentInfo", assessment);
    }
    //查询度专业技术人员考核表年份
    @GetMapping("/select_technical_personnel_year")
    @ResponseBody
    public Msg fun18(HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        List<TechnicalPersonnel> list = teacherService.selectTechnicalPersonnelByYear(teacher.getId());
    @GetMapping("select_debriefing_term")
    @ResponseBody
    public Msg fun13() {
        List<Debriefing> list = teacherService.selectDebriefingTermByYear();
        List<Long> temp = new ArrayList<>();
        //去除重复的年份
        for (Debriefing s : list) {
            if (!temp.contains(s.getYear())) {
                temp.add(s.getYear());
            }
        }
        return Msg.success().add("year", temp);
    }
    //查询指定年份的学期述职信息
    @GetMapping("/select_debriefing_term_info")
    @ResponseBody
    public Msg fun14(Long year, String term, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        DebriefingWithBLOBs debriefing = teacherService.selectTermDebriefingInfo(teacher.getId(), year, term);
        return Msg.success().add("debriefingInfo", debriefing);
    }
    //年度考核
    @PostMapping("/upload_annual_assessment")
        Subject project = indexService.indexinfo(student.getId());
        String str = null;
        Long flag = null;
        if (project == null) {
            model.addAttribute("projectName", "未选课题");
            model.addAttribute("flag", "未选题");
            model.addAttribute("teacher", "无");
            httpSession.removeAttribute("");
        } else {
            httpSession.setAttribute("XZproject", project.getProjectname());
            model.addAttribute("XZproject", project.getProjectname());
            model.addAttribute("projectName", project.getProjectname());
            flag = indexService.projectselectedstuflag(student.getId());
            if (flag == 0L) {
    public Msg fun6(String oldpwd, String newpwd, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        int flag = teacherService.teacherUpdetpwd(teacher.getUsername(), oldpwd, newpwd);
        return Msg.success().add("flag", flag);
    }
    //修改教师信息
    @PostMapping("/teacherupdeteinfo")
    @ResponseBody
    public Msg updateinfo(String name, String gender, HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        teacher.setName(name);
        teacher.setGender(gender);
        teacherService.teacherupdateInfo(teacher);
        return Msg.success();
    }
    //教师出差模块
    //查询所有教师出差申请信息
    @GetMapping("/select_work_all")
    @ResponseBody
    public Msg fun1(HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        debriefingWithBLOBs.setAchievementsinscientificresearch(scientificResearch);
        debriefingWithBLOBs.setOtherwork(otherWork);
        debriefingWithBLOBs.setWinaward(winAward);
        debriefingWithBLOBs.setSummary(summary);
        int flag = teacherService.selectTermDebriefingFlag(teacher.getId(), Long.parseLong(year), term);
        if (flag == 1) {
            teacherService.updateTermDebriefing(debriefingWithBLOBs);
        } else {
            int i = teacherService.insertTermDebriefing(debriefingWithBLOBs);
        }
        return "teacher/showtable/technicalpersonnel";
    }
    @GetMapping("/show_workload")
    public String showWorkLoad() {
        return "teacher/showtable/workload";
    }
    @GetMapping("/exit")
    public String exit(HttpServletResponse response) {
        //将Cookie 中的token 置空
        Cookie cookie = new Cookie("token", null);
        cookie.setPath("/");
    }
    //修改教师信息
    @PostMapping("/teacherupdeteinfo")
    @ResponseBody
    public Msg updateinfo(String name, String gender, HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        teacher.setName(name);
        teacher.setGender(gender);
        teacherService.teacherupdateInfo(teacher);
        return Msg.success();
    }
    //教师出差模块
    //查询所有教师出差申请信息
    @GetMapping("/select_work_all")
    @ResponseBody
    public Msg fun1(HttpSession httpSession) {
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) httpSession.getAttribute("teacherInfo");
        List<WorkapprovalWithBLOBs> list = teacherService.selectTeacherWorkAll(teacher.getId());
        return Msg.success().add("workinfo", list);
    }
    //查询申请成功教师出差申请
        String[] teachers = subject.getTeachernames().split("&");
        String teacher2 = "";
        if (teachers.length >= 2) {
            teacher2 = teachers[teachers.length - 1];
        }
        subject.setTeachernames(teacher2);
        return Msg.success()
                .add("subject", subject)
                ;
    }
    //查看自己所在教研室的课题发布记录
    @GetMapping("/cxallProject")
    public String fun7(ModelMap modelMap, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        List<Project> projects = teacherService.selecSectionProject(teacher.getSectionName());
        for (int i = 0; i < projects.size(); i++) {
            if (projects.get(i).getVerifyprojectFlag() == 0) projects.get(i).setProjectZT("未审核");
            else if (projects.get(i).getVerifyprojectFlag() == 1) projects.get(i).setProjectZT("审核未通过");
            else projects.get(i).setProjectZT("审核通过");
        }
        modelMap.addAttribute("allproject", projects);
        return "teacher/graduation/section_xq/subjectinfoto";
    }
}
        }
        return Msg.success();
    }
    //查询年度述职中年份
    @GetMapping("/select_debriefing_year")
    @ResponseBody
    public Msg fun11() {
        List<DebriefingYear> list = teacherService.selectDebriefingByYear();
//         把年份排序
        Collections.sort(list, new Comparator<DebriefingYear>() {
            @Override
            public int compare(DebriefingYear o1, DebriefingYear o2) {
                return (int) (o2.getYear() - o1.getYear());
            }
        });
        return Msg.success().add("year", list);
    }
    //查询指定年份的年度述职信息
    @GetMapping("/select_debriefing_year_info")
    @ResponseBody
    public Msg fun12(Long year, HttpSession httpSession) {
        return "teacher/fillouttable/annualassessment";
    }
    @GetMapping("/work_load")
    public String workLoad() {
        return "teacher/fillouttable/workload";
    }
    @GetMapping("/technical_personnel")
    public String technicalPersonnel() {
        return "teacher/fillouttable/technicalpersonnel";
    }
    @GetMapping("/term_business")
    public String termBusiness() {
        return "teacher/fillouttable/termbusiness";
    }
    //查看表格页面
    @GetMapping("/show_year_debriefing")
    public String showYearDebriefing() {
        return "teacher/showtable/yeardebriefing";
        List<Projectsource> projectsources = teacherService.select_allProjectsource();
        List<Specialty> specialties = teacherService.select_allSpecialty(teacher.getIdSection());
        modelMap.addAttribute("projecttypes", projecttypes);
        modelMap.addAttribute("projectsources", projectsources);
        modelMap.addAttribute("specialties", specialties);
        return "teacher/graduation/upload";
    }
    // 上传课题
    @PostMapping("/up_project")
    @ResponseBody
    public Msg fun20(String projectName, Long idProjecttype, Long idProjectsource, String marchspecialty, String teachernames, @RequestParam("file") MultipartFile file, HttpServletRequest request, HttpSession httpSession) throws IOException {
        if (file == null) {
            return Msg.fail().add("msg","文件上传失败");
        }
        if(teacherService.selectProjectByName(projectName).size()>0){
        File dirs = new File(savePath);
        //判断路径是否存在,如果不存在就创建一个
        if (!dirs.exists()) {
            dirs.mkdirs();
        }
        file.transferTo(new File(dirs, uploadFileName)); // 开始接受文件
        System.out.println(teachernames);
        ProjectWithBLOBs project = new ProjectWithBLOBs();
        project.setProjectname(projectName);
        project.setIdProjecttype(idProjecttype);
        project.setIdProjectsource(idProjectsource);
        project.setIdTeacher(teacher.getId());
        project.setFilepath(saveFileName);
        project.setMarchspecialty(marchspecialty.trim());
        project.setTeachernames(teachernames);
        project.setSelectcount(0);
        project.setSelectFlag(0);
        project.setVerifyprojectFlag(0);
        project.setReleaseFlag(0);
        int i = teacherService.insert_project(project);
        return Msg.success();
    }
    //查看自己的课题发布记录
    @GetMapping("/cxmyProject")
        map.put("pd", "" + 1);
        return JSONObject.toJSONString(map);
    }
    @PostMapping("del_project")
    @ResponseBody
    public Msg deleteProject(Long id) {
        teacherService.deleteProject(id);
        return Msg.success();
    }
    @PostMapping("/updateSubject")
    @ResponseBody
    public Msg updateProject(Long id, String projectName, Long idProjecttype, Long idProjectsource, String marchspecialty, String teachernames, @RequestParam(value = "file", required = false) MultipartFile file, HttpServletRequest request, HttpSession httpSession) throws IOException {
        //拼接 teacherNames 字段
        TeacherWithBLOBs teacher = (TeacherWithBLOBs) request.getSession().getAttribute("teacherInfo");
        String teacherName = teacher.getName();
        if (teachernames == null || teachernames.trim().length() == 0) {
            teachernames = teacherName;
        } else {
            teachernames = teacherName + "&" + teachernames;
        }
            int i = teacherService.insertAnnualAssessment(assessment);
        }
        return Msg.success();
    }
    //年度专业技术人员考核表
    @PostMapping("/upload_technical_personnel")
    @ResponseBody
    public Msg fun16(String year, String mainAchievements, String attendance, String rewardsAndPunishments, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        TechnicalPersonnelWithBLOBs technicalPersonnelWithBLOBs = new TechnicalPersonnelWithBLOBs();
        technicalPersonnelWithBLOBs.setIdTeacher(teacher.getId());
        technicalPersonnelWithBLOBs.setYear(year);
        technicalPersonnelWithBLOBs.setMainachievements(mainAchievements);
        technicalPersonnelWithBLOBs.setAttendance(attendance);
        technicalPersonnelWithBLOBs.setRewardsandpunishments(rewardsAndPunishments);
        Long flag = teacherService.selectTechnicalPersonnelFlag(teacher.getId(), Long.parseLong(year));
        if (flag == 1) {
            int i = teacherService.updateTechnicalPersonnel(technicalPersonnelWithBLOBs);
    }
    /**
     * 查看班级选报信息
     */
    @RequestMapping("/classinfo")
    public String classinfo(Model model,HttpSession httpSession) {
        Student student = (Student) request.getSession().getAttribute("student");
        removeSession();
        List<Static_student> list =  adminService.select_student(null, null, student.getIdClass(), null, null);
        System.out.println(list);
        model.addAttribute("list", list);
        return "student/classinfo";
    }
    /**
     * 查看课题
     */
    @RequestMapping("/topics")
@Authority(roles = {Role.STUDENT})
@Controller
@RequestMapping("/student")
public class StudentController {
    private static final Logger LOGGER = LoggerFactory.getLogger(StudentController.class);
    @Autowired
    private StudentService studentService;
    @Autowired
    private HttpServletRequest request;
    @Autowired
    private LoginServiceImpl loginService;
            //生成Token 存到 Cookie
            Cookie cookie = new Cookie("token", TokenUtil.createToken(
                    user
            ));
            //该Cookie无法被js读取
            cookie.setHttpOnly(true);
            cookie.setPath("/");
            response.addCookie(cookie);
            Teacher teacher = teacherService.selectTeacher(name);
            httpSession.setAttribute("teacherInfo", teacher);
            httpSession.setMaxInactiveInterval(3600);
        }
            model.addAttribute("student", student);
        }
        if (count > 0) {
            request.getSession().setAttribute("student",student);
            request.getSession().setAttribute("modifyFlag",1);
            return "200";
        } else {
            request.getSession().setAttribute("modifyFlag",0);
            return "201";
        }
    }*/
    /**
     *   跳转页面(修改密码)
     */
    @RequestMapping("/changepsw")
    public String changepsw() {
        return "student/changepsw";
    }
    /**
     * 200修改成功
     * 201对不起密码错误
     * 202对不起输入框为空
            //该Cookie无法被js读取
            cookie.setHttpOnly(true);
            cookie.setPath("/");
            response.addCookie(cookie);
            Teacher teacher = teacherService.selectTeacher(name);
            httpSession.setAttribute("teacherInfo", teacher);
            httpSession.setMaxInactiveInterval(3600);
        }
        return Msg.success().add("info", flag);
    }
    //教师信息修改
    //修改教师密码
    @PostMapping("/teacherupdetpwd")
    @ResponseBody
    public Msg fun6(String oldpwd, String newpwd, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        int flag = teacherService.teacherUpdetpwd(teacher.getUsername(), oldpwd, newpwd);
        assessment.setIdTeacher(teacher.getId());
        assessment.setPersonalsummary(personalSummary);
        assessment.setYear(year);
        assessment.setRemark(remark);
        Long flag = teacherService.selectAnnualAssessmentFlag(teacher.getId(), year);
        if (flag == 1) {
            int i = teacherService.updateAnnualAssessment(assessment);
        } else {
            int i = teacherService.insertAnnualAssessment(assessment);
        }
        return Msg.success();
    }
    //年度专业技术人员考核表
    @PostMapping("/upload_technical_personnel")
    @ResponseBody
    public Msg fun16(String year, String mainAchievements, String attendance, String rewardsAndPunishments, HttpSession httpSession) {
        Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
        TechnicalPersonnelWithBLOBs technicalPersonnelWithBLOBs = new TechnicalPersonnelWithBLOBs();
        List<Workapprovaldata> list = teacherService.selectWorkData(teacher.getIdSection());
        PageInfo page = new PageInfo(list, 5);
        return Msg.success().add("dataInfo", page);
    }
    //出差附件下载
    @RequestMapping(value = "/file_download")
    public ResponseEntity<byte[]> downloadFile(String dataId, HttpServletRequest req, HttpServletResponse response) throws IOException {
        Workapprovaldata workapprovaldata = null;
        if (dataId != null) {
            Long id = Long.valueOf(dataId);
            workapprovaldata = teacherService.selectWorkDataById(id);
        }
        if (workapprovaldata != null) {

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值