一、项目简述
功能包括: 管理员可以增删改查教材、教材商、入库教材、用户(用 户包括学生和教师)可以对教材商、教材进行。xcel的导入 导出操作。教U阿以领取入库的教材,可以退还教材。学 生只能在对应的教师那里领取教材,并且可以退还教材、 查询自己已经领取的教材。并且对已领教材付款等等。
二、项目运行
环境配置: Jdk1.8 + Tomcat8.5 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
//查询年度述职中年份
@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);
headers.setContentType(MediaType.MULTIPART_FORM_DATA);
String encodeFilename = URLEncoder.encode(fileName, StandardCharsets.UTF_8.toString());
headers.setContentDispositionFormData("attachment", encodeFilename);
return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),
headers, HttpStatus.CREATED);
}
return null;
}
//学期述职
@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));
debriefingWithBLOBs.setTerm(term);
debriefingWithBLOBs.setTeachingtask(teachingTask);
debriefingWithBLOBs.setAchievementsinscientificresearch(scientificResearch);
public Msg delType(@RequestBody SubjectType type) throws MyException {
return Msg.sqlChange(subjectService.delSubjectType(type.getId()));
}
@ResponseBody
@PutMapping("/sujecttype")
public Msg updateType(@RequestBody @Validated SubjectType type) {
return Msg.sqlChange(subjectService.updateSubjectType(type));
}
//课题管理
@GetMapping("/SubjectManagement")
public String Subject() {
return "admin/Subject/SubjectManagement";
}
@ResponseBody
@GetMapping("/subjects")
public Msg getSubjects(
@RequestParam Integer offset,
@RequestParam(required = false) Long sectionId,
@RequestParam(required = false) String keyWord,
@ModelAttribute("id_institute") long id_institute) {
long total = subjectService.selectSubjectsCount(offset, keyWord, sectionId, id_institute);
return Msg.success()
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);
return Msg.sqlChange(subjectService.delSubjectType(type.getId()));
}
@ResponseBody
@PutMapping("/sujecttype")
public Msg updateType(@RequestBody @Validated SubjectType type) {
return Msg.sqlChange(subjectService.updateSubjectType(type));
}
//课题管理
@GetMapping("/SubjectManagement")
public String Subject() {
return "admin/Subject/SubjectManagement";
}
@ResponseBody
@GetMapping("/subjects")
public Msg getSubjects(
@RequestParam Integer offset,
@RequestParam(required = false) Long sectionId,
@RequestParam(required = false) String keyWord,
@ModelAttribute("id_institute") long id_institute) {
long total = subjectService.selectSubjectsCount(offset, keyWord, sectionId, id_institute);
return Msg.success()
}
@ResponseBody
@PutMapping("/subject")
public Msg updateSubject(
@RequestBody @Validated(Update.class) SubjectWithBLOBs subject,
@ModelAttribute("id_institute") long id_institute) throws MyException {
return Msg.sqlChange(subjectService.updateSuject(subject, id_institute));
}
//get学生选题的状态
@GetMapping("/SRS")
@ResponseBody
public Msg getSelectSubjected(
@ModelAttribute("id_institute") long id_institute
return teacherService.getBusiness(teacher.getId(), year, trem)
.add("teacher", teacher);
}
@PostMapping("/business")
@ResponseBody
public Msg saveBusiness(
@RequestBody BusinessDTO businessDTO
) {
Teacher teacher = (Teacher) request.getSession().getAttribute("teacherInfo");
return Msg.sqlChange((int) teacherService.saveBusiness(businessDTO, teacher));
}
//年度述职
@PostMapping("/upload_year_debriefing")
@ResponseBody
public Msg fun10(String year, String teachingTask, String scientificResearch,
String otherWork, String winAward, String summary, HttpSession httpSession) {
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
DebriefingYearWithBLOBs debriefingYear = new DebriefingYearWithBLOBs();
debriefingYear.setIdTeacher(teacher.getId());
debriefingYear.setYear(Long.parseLong(year));
debriefingYear.setTeachingtask(teachingTask);
debriefingYear.setAchievementsinscientificresearch(scientificResearch);
debriefingYear.setOtherwork(otherWork);
debriefingYear.setWinaward(winAward);
debriefingYear.setSummary(summary);
Long flag = teacherService.selectYearDebriefingFlag(teacher.getId(), Long.parseLong(year));
if (flag == 1) {
// 上传课题
@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){
System.out.println("上传失败");
return Msg.fail().add("msg","课题名已存在");
}
Teacher teacher = (Teacher) httpSession.getAttribute("teacherInfo");
ServletContext servletContext = request.getSession().getServletContext();
String uploadFileName = file.getOriginalFilename(); // 获取上传文件的原名
}
//年度专业技术人员考核表
@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);
} else {
int i = teacherService.insertTechnicalPersonnel(technicalPersonnelWithBLOBs);
}
@RequestBody StudentWithBLOBs student,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) studentService.delStudent(student, id_institute));
}
@ResponseBody
@PostMapping("/student")
public Msg addStudent(
@RequestBody @Validated(Add.class) StudentWithBLOBs student,
@ModelAttribute("id_institute") long id_institute
) throws MyException {
return Msg.sqlChange((int) studentService.addStudent(student, id_institute));
}
@Autowired
ClassService classService;
@Autowired
TeacherService teacherService;
@Autowired
StudentService studentService;
@Autowired
SubjectService subjectService;
@Autowired
ExcelService excelService;
@Autowired
SubjectRelationStudentMapper subjectRelationStudentMapper;
@Autowired
HttpServletRequest request;
@Autowired
HttpServletResponse response;
@Autowired
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("&");
String teacher2 = "";
if (teachers.length >= 2) {
teacher2 = teachers[teachers.length - 1];
}
subject.setTeachernames(teacher2);
return Msg.success()
.add("subject", subject)
;
}
//查看自己所在教研室的课题发布记录
@GetMapping("/cxallProject")