From 54c3da43fd94c86364ea7596b38ae078b9c8b38a Mon Sep 17 00:00:00 2001
From: 陈杰 <504987307@qq.com>
Date: Fri, 18 Oct 2019 08:28:34 +0800
Subject: [PATCH] 1
---
pom.xml | 2 +-
src/main/java/com/jevon/controller/InitController.java | 421 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
src/main/java/com/jevon/controller/LearnController.java | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/main/java/com/jevon/controller/MessageController.java | 316 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
src/main/java/com/jevon/controller/ScheduleController.java | 5 +++--
src/main/java/com/jevon/controller/ScheduleInitController.java | 415 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/main/java/com/jevon/controller/ScheduleMessageController.java | 322 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
src/main/java/com/jevon/mapper/CourseMapper.java | 2 ++
src/main/java/com/jevon/service/CourseService.java | 2 ++
src/main/java/com/jevon/service/impl/CourseServiceImpl.java | 5 +++++
src/main/java/com/jevon/vo/req/InitAnalyseReqVo.java | 28 ++++++++++++++++++++++++++++
src/main/resources/application.yml | 25 +++++++++----------------
src/main/resources/logback.xml | 2 +-
src/main/resources/mapping/CourseMapper.xml | 4 ++++
14 files changed, 869 insertions(+), 757 deletions(-)
delete mode 100644 src/main/java/com/jevon/controller/InitController.java
create mode 100644 src/main/java/com/jevon/controller/LearnController.java
delete mode 100644 src/main/java/com/jevon/controller/MessageController.java
create mode 100644 src/main/java/com/jevon/controller/ScheduleInitController.java
create mode 100644 src/main/java/com/jevon/controller/ScheduleMessageController.java
create mode 100644 src/main/java/com/jevon/vo/req/InitAnalyseReqVo.java
diff --git a/pom.xml b/pom.xml
index 9d08942..401fb22 100644
--- a/pom.xml
+++ b/pom.xml
@@ -19,7 +19,6 @@
httpclient
4.3
-
com.microsoft.sqlserver
mssql-jdbc
@@ -97,6 +96,7 @@
4.1.0
+
org.mybatis.spring.boot
diff --git a/src/main/java/com/jevon/controller/InitController.java b/src/main/java/com/jevon/controller/InitController.java
deleted file mode 100644
index 4d8db70..0000000
--- a/src/main/java/com/jevon/controller/InitController.java
+++ /dev/null
@@ -1,421 +0,0 @@
-package com.jevon.controller;
-
-import com.alibaba.fastjson.JSONObject;
-import com.jevon.model.*;
-import com.jevon.service.*;
-import com.jevon.utils.HttpClientUtils;
-import com.jevon.vo.BaseVo;
-import com.jevon.vo.rep.InitRepVo;
-import com.jevon.vo.rep.ScheduleRepVo;
-import com.jevon.vo.req.CreateScheduleReqVo;
-import com.jevon.vo.req.InitTeacherCourseReqVo;
-import com.jevon.vo.req.ScheduleIdReqVo;
-import com.jevon.vo.req.UpdateScheduleReqVo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.*;
-
-@RestController
-@RequestMapping(value = "/init")
-@Api(value = "排课表")
-public class InitController {
-
- @Autowired
- ClassModelService classModelService;
-
- @Autowired
- TeacherClassService teacherClassService;
-
- @Autowired
- CourseService courseService ;
-
- @Autowired
- TeacherService teacherService;
-
- @Autowired
- ScheduleService scheduleService;
-
- @Autowired
- TeacherCourseService teacherCourseService;
-
- @Autowired
- JoinClassService joinClassService;
-
- @Autowired
- ClassCourseService classCourseService;
-
- private static String url = "http://60.190.202.57:1000";
-
- private static String staticUrl = "F://wwwroot//smartcampus";
-
- @ApiOperation("创建排课计划 ")
- @RequestMapping(value = "createSchedule", method = RequestMethod.POST)
- public ScheduleRepVo createSchedule(@RequestBody CreateScheduleReqVo createScheduleReqVo){
- ScheduleRepVo baseVo = new ScheduleRepVo();
- Schedule schedule = new Schedule();
- schedule.setTeam(createScheduleReqVo.getTeam());
- schedule.setScheduleName(createScheduleReqVo.getScheduleName());
- schedule.setSchoolId(createScheduleReqVo.getSchoolId());
- Schedule temp = scheduleService.selectBySchoolAndTeam(schedule);
- if(temp == null){
- scheduleService.insert(schedule);
- }else {
- baseVo.setSuccess(false);
- baseVo.setMessage("该学校该学年学期已创建了排课计划");
- return baseVo;
- }
- temp = scheduleService.selectBySchoolAndTeam(schedule);
- initMessage(schedule.getSchoolId());
- baseVo.setScheduleId(temp.getId());
- return baseVo;
- }
-
- @ApiOperation("更新计划")
- @RequestMapping(value = "updateSchedule", method = RequestMethod.POST)
- public BaseVo updateSchedule(@RequestBody UpdateScheduleReqVo updateScheduleReqVo){
- BaseVo baseVo = new BaseVo();
- Schedule schedule = scheduleService.selectById(updateScheduleReqVo.getScheduleId());
- schedule.setScheduleName(updateScheduleReqVo.getScheduleName());
- schedule.setTeam(updateScheduleReqVo.getTeam());
- scheduleService.update(schedule);
- return baseVo;
- }
-
- @ApiOperation("复制")
- @RequestMapping(value = "copySchedule", method = RequestMethod.POST)
- public BaseVo copySchedule(@RequestBody UpdateScheduleReqVo updateScheduleReqVo){
- BaseVo baseVo = new BaseVo();
- Schedule schedule = scheduleService.selectById(updateScheduleReqVo.getScheduleId());
- if(schedule == null){
- baseVo.setMessage("原始课表不存在");
- baseVo.setSuccess(false);
- return baseVo;
- }
- Schedule temp = new Schedule();
- temp.setSchoolId(schedule.getSchoolId());
- temp.setTeam(updateScheduleReqVo.getTeam());
- Schedule result = scheduleService.selectBySchoolAndTeam(temp);
- if(result != null){
- baseVo.setMessage("该学年学期已创建课表计划");
- baseVo.setSuccess(false);
- return baseVo;
- }
- temp.setScheduleName(updateScheduleReqVo.getScheduleName());
- scheduleService.insert(temp);
- Date date = new Date();
- //复制 classCourse teacherClass teacherCourse
- List classCourses = classCourseService.copyClassCourse(schedule.getSchoolId(),schedule.getTeam());
- for(ClassCourse classCourse :classCourses){
- classCourse.setSchoolId(temp.getSchoolId());
- classCourse.setTeam(temp.getTeam());
- classCourse.setCreateTime(date);
- }
- classCourseService.insertBatch(classCourses);
- TeacherClass teacherClass = new TeacherClass();
- teacherClass.setSchoolId(schedule.getSchoolId());
- teacherClass.setTeam(schedule.getTeam());
- List teacherClasses = teacherClassService.selectBySchoolAndTeam(teacherClass);
- for(TeacherClass teacherClass1 :teacherClasses){
- teacherClass1.setSchoolId(temp.getSchoolId());
- teacherClass1.setTeam(temp.getTeam());
- teacherClass1.setCreateTime(date);
- }
- teacherClassService.insertBatch(teacherClasses);
-
- List teacherCourses = teacherCourseService.selectBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
- for(TeacherCourse teacherCourse : teacherCourses){
- teacherCourse.setSchoolId(temp.getSchoolId());
- teacherCourse.setTeam(temp.getTeam());
- teacherCourse.setCreateTime(date);
- }
- teacherCourseService.insertBatch(teacherCourses);
- return baseVo;
- }
-
- @ApiOperation("删除排课计划")
- @RequestMapping(value = "deleteSchedule", method = RequestMethod.POST)
- public BaseVo deleteSchedule(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
- BaseVo baseVo = new BaseVo();
- Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
- if(schedule == null){
- baseVo.setSuccess(false);
- baseVo.setMessage("无排课计划");
- return baseVo;
- }
- teacherCourseService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
- joinClassService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
- classCourseService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
- TeacherClass teacherClass = new TeacherClass();
- teacherClass.setSchoolId(schedule.getSchoolId());
- teacherClass.setTeam(schedule.getTeam());
- teacherClassService.deleteBySchoolAndTeam(teacherClass);
- courseService.initSchoolId(schedule.getSchoolId());
- scheduleService.deleteBySchedule(schedule.getId());
- return baseVo;
- }
-
- @ApiOperation("获取基础信息")
- @RequestMapping(value = "getInitMessage", method = RequestMethod.POST)
- public InitRepVo getInitMessage(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
- InitRepVo initRepVo = new InitRepVo();
- Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
- if(schedule == null){
- initRepVo.setSuccess(false);
- initRepVo.setMessage("没有改排课计划");
- return initRepVo;
- }
- List courses = courseService.selectBySchoolId(schedule.getSchoolId());
- List teachers = teacherService.selectBySchoolId(schedule.getSchoolId());
- List classModels = classModelService.selectBySchoolId(schedule.getSchoolId());
- initRepVo.setClassNumber(classModels.size());
- initRepVo.setCourseNumber(courses.size());
- initRepVo.setTeacherNumber(teachers.size());
- return initRepVo;
- }
-
- @Transactional
- @ApiOperation("教师授课信息")
- @RequestMapping(value = "initTeacherCourse", method = RequestMethod.POST)
- public BaseVo initTeacherCourse(@RequestBody InitTeacherCourseReqVo initTeacherCourseReqVo){
- BaseVo baseVo = new BaseVo();
- Date date = new Date();
- try{
- TeacherClass temp = new TeacherClass();
- Schedule schedule = scheduleService.selectById(initTeacherCourseReqVo.getScheduleId());
- if(schedule != null && schedule.getSpeed() == 2) {
- temp.setSchoolId(schedule.getSchoolId());
- temp.setTeam(schedule.getTeam());
- List list = teacherClassService.selectBySchoolAndTeam(temp);
- if (list != null && list.size() > 0) {
- teacherClassService.deleteBySchoolAndTeam(temp);
- }
- String fileUrl = initTeacherCourseReqVo.getUrl();
- fileUrl = fileUrl.replace(url, staticUrl);
- File excelFile = new File(fileUrl);
- // 获得工作簿
- String file = excelFile.getName();
- Workbook workbook = null;
- if (file.endsWith("xls")) {
- workbook = new HSSFWorkbook(new FileInputStream(excelFile));
- } else {
- workbook = new XSSFWorkbook(new FileInputStream(excelFile));
- }
- // 获得工作表
- Sheet sheet = workbook.getSheetAt(0);
- int rows = sheet.getPhysicalNumberOfRows();
- Map courseTeacherMap = new HashMap<>();
- int courseNumber = 0;
- List teacherClasses = new ArrayList<>();
- for (int i = 0; i < rows; i++) {
- // 获取第i行数据
- Row sheetRow = sheet.getRow(i);
- if (i == 0) {
- //获取表头
- int j = 1;
- while (sheetRow.getCell(2 * j) != null && StringUtils.isNotBlank(sheetRow.getCell(2 * j).getStringCellValue().trim())) {
- Course course = courseService.selectBySchoolIdAndCourseName(schedule.getSchoolId(), sheetRow.getCell(2 * j).getStringCellValue().trim());
- courseTeacherMap.put(j, course);
- j++;
- }
- courseNumber = j - 1;
- } else {
- if (StringUtils.isBlank(sheetRow.getCell(0).getStringCellValue().trim())) {
- continue;
- }
- String className = sheetRow.getCell(1).getStringCellValue().trim();
- ClassModel classModel = new ClassModel();
- classModel.setSchoolId(schedule.getSchoolId());
- classModel.setClassName(className);
- classModel.setGrade(sheetRow.getCell(0).getStringCellValue().trim());
- ClassModel resultClass = classModelService.selectBySchoolIdAndClassNameAndGrade(classModel);
- for (int j = 1; j <= courseNumber; j++) {
- Cell cell = sheetRow.getCell(2 * j);
- if (cell != null) {
- cell.setCellType(CellType.STRING);
- String times = sheetRow.getCell(2 * j).getStringCellValue().trim();
- if (StringUtils.isNotBlank((times))) {
- Course course = courseTeacherMap.get(j);
- String teacherName = sheetRow.getCell(2 * j + 1).getStringCellValue().trim();
- Teacher teacher = new Teacher();
- teacher.setTeacherName(teacherName);
- teacher.setSchoolId(schedule.getSchoolId());
- Teacher resultTeacher = teacherService.selectByTeacher(teacher);
- if (course != null && resultTeacher != null) {
- TeacherClass teacherClass = new TeacherClass();
- teacherClass.setTeam(schedule.getTeam());
- teacherClass.setSchoolId(schedule.getSchoolId());
- teacherClass.setCourseName(course.getCourseName());
- teacherClass.setTeacherName(resultTeacher.getTeacherName());
- teacherClass.setTeacherId(resultTeacher.getTeacherId());
- teacherClass.setGrade(sheetRow.getCell(0).getStringCellValue().trim());
- teacherClass.setClassId(resultClass.getClassId());
- String[] msg = times.split("\\+");
- if (msg.length > 1) {
- //有联课
- teacherClass.setJoinTimes(Integer.valueOf(msg[1]));
- teacherClass.setTimes(Integer.valueOf(msg[1]) * 2 + Integer.valueOf(msg[0]));
- } else {
- teacherClass.setJoinTimes(0);
- teacherClass.setTimes(Integer.valueOf(msg[0]));
- }
- teacherClass.setStatus(0);
- teacherClass.setCreateTime(date);
- teacherClasses.add(teacherClass);
- } else {
- baseVo.setMessage("课程或老师缺失");
- baseVo.setSuccess(false);
- return baseVo;
- }
- }
-
- }
- }
- }
- }
- teacherClassService.insertBatch(teacherClasses);
- schedule.setSpeed(3);
- scheduleService.updateSpeed(schedule);
- }else {
- baseVo.setMessage("排课计划不存在或已导入");
- baseVo.setSuccess(false);
- }
- }catch (Exception e){
- System.out.println(e);
- baseVo.setSuccess(false);
- }
- return baseVo;
- }
-
-
- private void initMessage(int schoolId){
- JSONObject teacherList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolTeacher?SchoolId="+schoolId);
- List openTeacherList = (List)teacherList.get("data");
- List teachers = new ArrayList<>();
- for(JSONObject json :openTeacherList){
- Teacher teacher = new Teacher();
- teacher.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
- teacher.setTeacherId(Integer.valueOf(json.get("teacher_id").toString()));
- teacher.setTeacherName(json.get("name").toString());
- teachers.add(teacher);
- }
- initTeacher(teachers);
- JSONObject classList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolClass?SchoolId="+schoolId);
- List openClasses = (List)classList.get("data");
- List classModels = new ArrayList<>();
- for(JSONObject json :openClasses){
- ClassModel classModel = new ClassModel();
- classModel.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
- classModel.setClassId(Integer.valueOf(json.get("class_id").toString()));
- classModel.setGrade(json.get("gardeName").toString());
- classModel.setClassName(json.get("class_name").toString());
- classModels.add(classModel);
- }
- initClass(classModels);
- JSONObject courseList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolSubject?SchoolId="+schoolId);
- List openCourses = (List)courseList.get("data");
- List courses = new ArrayList<>();
- for(JSONObject json :openCourses){
- Course course = new Course();
- course.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
- course.setCourseId(Integer.valueOf(json.get("subject_id").toString()));
- course.setCourseName(json.get("subject_name").toString());
- course.setCourseType(0);
- courses.add(course);
- }
- initCourse(courses);
- }
- public BaseVo initCourse(List courseList){
- BaseVo baseVo = new BaseVo();
- List list = courseService.selectBySchoolId(courseList.get(0).getSchoolId());
- if(list != null && list.size() > 0){
- courseService.deleteSchoolId(courseList.get(0).getSchoolId());
- }
- for(Course course : courseList){
- if(course.getCourseId() == 0 || StringUtils.isBlank(course.getCourseName())){
- baseVo.setSuccess(false);
- baseVo.setMessage("缺少参数");
- break;
- }
- }
- if(baseVo.isSuccess()){
- courseService.insertBatch(courseList);
- baseVo.setSuccess(true);
- return baseVo;
- }else {
- return baseVo;
- }
- }
-
- public BaseVo initClass(List classList){
- BaseVo baseVo = new BaseVo();
- List list = classModelService.selectBySchoolId(classList.get(0).getSchoolId());
- if(list != null && list.size() > 0){
- classModelService.deleteSchool(classList.get(0).getSchoolId());
- }
- for(ClassModel classModel : classList){
- if(classModel.getClassId() == 0 || StringUtils.isBlank(classModel.getClassName()) ||
- StringUtils.isBlank(classModel.getGrade()) || classModel.getSchoolId() == 0){
- baseVo.setSuccess(false);
- baseVo.setMessage("缺少参数");
- break;
- }
- }
- if(baseVo.isSuccess()){
- classModelService.insertBatch(classList);
- baseVo.setSuccess(true);
- return baseVo;
- }else {
- return baseVo;
- }
- }
-
- public BaseVo initTeacher(List teacherList){
- List result = new ArrayList<>();
- for(Teacher teacher : teacherList){
- boolean isExist = false;
- for(Teacher t : result){
- if(t.getTeacherName().equals(teacher.getTeacherName())){
- isExist = true;
- }
- }
- if(!isExist){
- result.add(teacher);
- }
- }
- BaseVo baseVo = new BaseVo();
- List list = teacherService.selectBySchoolId(result.get(0).getSchoolId());
- if(list != null && list.size()>0){
- teacherService.deleteSchool(result.get(0).getSchoolId());
- }
- for(Teacher teacher : result){
- if(teacher.getSchoolId() == 0 || StringUtils.isBlank(teacher.getTeacherName()) ||
- teacher.getTeacherId() == 0){
- baseVo.setSuccess(false);
- baseVo.setMessage("缺少参数");
- break;
- }
- }
- if(baseVo.isSuccess()){
- teacherService.insertBatch(result);
- baseVo.setSuccess(true);
- return baseVo;
- }else {
- return baseVo;
- }
- }
-
-}
diff --git a/src/main/java/com/jevon/controller/LearnController.java b/src/main/java/com/jevon/controller/LearnController.java
new file mode 100644
index 0000000..ce56901
--- /dev/null
+++ b/src/main/java/com/jevon/controller/LearnController.java
@@ -0,0 +1,77 @@
+package com.jevon.controller;
+
+import com.jevon.model.*;
+import com.jevon.vo.BaseVo;
+import com.jevon.vo.req.InitAnalyseReqVo;
+import io.swagger.annotations.Api;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.*;
+
+/**
+ * @author chen
+ * @version 1.0
+ * @date 2019/10/17 0017 13:33
+ */
+@RestController
+@RequestMapping(value = "/learn")
+@Api(value = "学情分析")
+public class LearnController {
+
+
+ public BaseVo initAnalyse(@RequestBody InitAnalyseReqVo initAnalyseReqVo){
+ BaseVo baseVo = new BaseVo();
+ Date date = new Date();
+ try{
+ String fileUrl = initAnalyseReqVo.getUrl();
+ File excelFile = new File(fileUrl);
+ // 获得工作簿
+ String file = excelFile.getName();
+ Workbook workbook = null;
+ if (file.endsWith("xls")) {
+ workbook = new HSSFWorkbook(new FileInputStream(excelFile));
+ } else {
+ workbook = new XSSFWorkbook(new FileInputStream(excelFile));
+ }
+ // 获得工作表
+ Sheet sheet = workbook.getSheetAt(0);
+ int rows = sheet.getPhysicalNumberOfRows();
+ int column = 0 ;
+ int courseNumber = 0;
+ for (int i = 0; i < rows; i++) {
+ // 获取第i行数据
+ Row sheetRow = sheet.getRow(i);
+ if (i == 0) {
+ //获取标题
+ String title = sheetRow.getCell(0).getStringCellValue().trim();
+ }else if(i == 1){
+ //获取表头
+ int j = 0 ;
+ while (sheetRow.getCell(j) != null && StringUtils.isNotBlank(sheetRow.getCell(j).getStringCellValue().trim())) {
+ j++ ;
+ }
+ column = j ;
+ } else {
+ for (int j = 0; j < column; j++) {
+ Cell cell = sheetRow.getCell(j);
+ if(cell != null){
+ cell.setCellType(CellType.STRING);
+ }
+ }
+ }
+ }
+ }catch (Exception e){
+ System.out.println(e);
+ baseVo.setSuccess(false);
+ }
+ return baseVo;
+ }
+}
diff --git a/src/main/java/com/jevon/controller/MessageController.java b/src/main/java/com/jevon/controller/MessageController.java
deleted file mode 100644
index 11f93c1..0000000
--- a/src/main/java/com/jevon/controller/MessageController.java
+++ /dev/null
@@ -1,316 +0,0 @@
-package com.jevon.controller;
-
-import com.jevon.model.*;
-import com.jevon.service.*;
-import com.jevon.utils.ExcelUtils;
-import com.jevon.vo.BaseVo;
-import com.jevon.vo.rep.*;
-import com.jevon.vo.req.CourseClassReqVo;
-import com.jevon.vo.req.GetClassCourseReqVo;
-import com.jevon.vo.req.ScheduleIdReqVo;
-import com.jevon.vo.req.SchoolIdReqVo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author chen
- * @version 1.0
- * @date 2019/10/11 0011 14:00
- */
-@RestController
-@Api(value = "获取信息")
-public class MessageController {
-
- @Autowired
- ScheduleService scheduleService;
-
- @Autowired
- CourseService courseService;
-
- @Autowired
- ClassCourseService classCourseService;
-
- @Autowired
- ClassModelService classModelService;
-
- @Autowired
- JoinClassService joinClassService;
-
- @Autowired
- TeacherClassService teacherClassService;
-
- @ApiOperation("获取学校排课计划")
- @RequestMapping(value = "getScheduleList", method = RequestMethod.POST)
- public ScheduleListRepVo getScheduleList(@RequestBody SchoolIdReqVo schoolIdReqVo){
- ScheduleListRepVo scheduleListRepVo = new ScheduleListRepVo();
- scheduleListRepVo.setData(scheduleService.selectBySchool(schoolIdReqVo.getSchoolId()));
- return scheduleListRepVo;
- }
-
- @ApiOperation("获取学校下所有班级信息")
- @RequestMapping(value = "getClassList", method = RequestMethod.POST)
- public ClassRepVo getClassList(@RequestBody SchoolIdReqVo schoolIdReqVo){
- ClassRepVo classRepVo = new ClassRepVo();
- classRepVo.setData(classModelService.selectBySchoolId(schoolIdReqVo.getSchoolId()));
- return classRepVo;
- }
-
- @ApiOperation("获取学校课程")
- @RequestMapping(value = "getCourseList", method = RequestMethod.POST)
- public CourseRepVo getCourseList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
- CourseRepVo courseRepVo = new CourseRepVo();
- Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
- if(schedule == null){
- courseRepVo.setSuccess(false);
- courseRepVo.setMessage("请先创建计划");
- return courseRepVo;
- }
- courseRepVo.setData(courseService.selectBySchoolId(schedule.getSchoolId()));
- return courseRepVo;
- }
-
- @ApiOperation("获取要学习某个学科的班级集合")
- @RequestMapping(value = "getCourseClassList", method = RequestMethod.POST)
- public List getCourseClassList(@RequestBody CourseClassReqVo courseClassReqVo){
- List repVos = new ArrayList<>();
- Schedule schedule = scheduleService.selectById(courseClassReqVo.getScheduleId());
- if(schedule == null){
- return null;
- }
- TeacherClass search = new TeacherClass();
- search.setSchoolId(schedule.getSchoolId());
- search.setTeam(schedule.getTeam());
- String courseName =courseService.selectBySchoolIdAndCourseId(schedule.getSchoolId(),courseClassReqVo.getCourseId()).getCourseName();
- search.setCourseName(courseName);
- List list = teacherClassService.selectByCourseName(search);
- for(TeacherClass teacherClass : list){
- GetCourseClassListRepVo repVo = new GetCourseClassListRepVo();
- repVo.setClassId(teacherClass.getClassId());
- repVo.setClassName(classModelService.selectByPrimaryKey(teacherClass.getClassId()).getClassName());
- repVo.setCourseId(courseClassReqVo.getCourseId());
- repVo.setCourseName(courseName);
- repVo.setTeacherName(teacherClass.getTeacherName());
- repVos.add(repVo);
- }
- return repVos;
- }
-
- @ApiOperation("获取班级排课课程")
- @RequestMapping(value = "getClassCourseList", method = RequestMethod.POST)
- public ClassCourseRepVo getClassCourseList(@RequestBody GetClassCourseReqVo getClassCourseReqVo){
- ClassCourseRepVo classCourseRepVo = new ClassCourseRepVo();
- Schedule schedule = scheduleService.selectById(getClassCourseReqVo.getScheduleId());
- if(schedule == null){
- classCourseRepVo.setSuccess(false);
- classCourseRepVo.setMessage("请先创建计划");
- return classCourseRepVo;
- }
- ClassCourse search = new ClassCourse();
- search.setClassId(getClassCourseReqVo.getClassId());
- search.setSingleOrDouble(1);
- search.setTeam(schedule.getTeam());
- classCourseRepVo.setData(classCourseService.selectByClassIdAndSingleOrDouble(search));
- return classCourseRepVo;
- }
-
- @ApiOperation("获取合班信息")
- @RequestMapping(value = "getJoinList", method = RequestMethod.POST)
- public JoinRepVo getJoinList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
- JoinRepVo joinRepVo = new JoinRepVo();
- Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
- JoinClass joinClass = new JoinClass();
- joinClass.setSchoolId(schedule.getSchoolId());
- joinClass.setTeam(schedule.getTeam());
- List list = joinClassService.selectByCourse(joinClass);
- List joinDetails = new ArrayList<>();
- for(JoinClass temp : list){
- boolean flag = false ;
- ClassModel classModel = classModelService.selectByPrimaryKey(temp.getClassId());
- for(JoinDetail joinDetail : joinDetails){
- if(temp.getCourseGroup() == joinDetail.getCourseGroup()){
- flag = true;
- if(!joinDetail.getClassName().contains(classModel.getClassName())){
- joinDetail.setClassName(joinDetail.getClassName()+","+classModel.getClassName());
- }
- }
- }
- if(!flag){
- JoinDetail joinDetail = new JoinDetail();
- joinDetail.setCourseGroup(temp.getCourseGroup());
- joinDetail.setClassName(classModel.getClassName());
- joinDetail.setCourseName(temp.getCourseName());
- TeacherClass search = new TeacherClass();
- search.setSchoolId(schedule.getSchoolId());
- search.setTeam(schedule.getTeam());
- search.setClassId(temp.getClassId());
- search.setCourseName(temp.getCourseName());
- joinDetail.setTeacherName(teacherClassService.selectByCourseAndClass(search).getTeacherName());
- joinDetails.add(joinDetail);
- }
- }
- joinRepVo.setData(joinDetails);
- return joinRepVo;
- }
-
- @ApiOperation("获取导入任课信息")
- @RequestMapping(value = "getTeacherClassList", method = RequestMethod.POST)
- public TeacherCourseRepVo getTeacherClassList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
- TeacherCourseRepVo teacherCourseRepVo = new TeacherCourseRepVo();
- Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
- TeacherClass temp = new TeacherClass();
- temp.setSchoolId(schedule.getSchoolId());
- temp.setTeam(schedule.getTeam());
- List data = new ArrayList<>();
- List courseNameList = new ArrayList<>();
- List teacherClasses = teacherClassService.selectBySchoolAndTeam(temp);
- for(TeacherClass teacherClass :teacherClasses){
- boolean isExist = false;
- if(!courseNameList.contains(teacherClass.getCourseName())){
- courseNameList.add(teacherClass.getCourseName());
- }
- for(ClassCourseVO classCourseVO : data){
- if(classCourseVO.getClassId() == teacherClass.getClassId()){
- isExist = true ;
- ClassCourseDetailVo classCourseDetailVo = new ClassCourseDetailVo(teacherClass);
- List classCourseDetailVos = classCourseVO.getList();
- classCourseDetailVos.add(classCourseDetailVo);
- classCourseVO.setAllCount(classCourseVO.getAllCount()+teacherClass.getTimes());
- classCourseVO.setList(classCourseDetailVos);
- }
- }
- if(!isExist){
- ClassCourseVO classCourseVO = new ClassCourseVO();
- classCourseVO.setClassId(teacherClass.getClassId());
- classCourseVO.setAllCount(teacherClass.getTimes());
- classCourseVO.setClassName(classModelService.selectByPrimaryKey(teacherClass.getClassId()).getClassName());
- List classCourseDetailVos = new ArrayList<>();
- classCourseDetailVos.add(new ClassCourseDetailVo(teacherClass));
- classCourseVO.setList(classCourseDetailVos);
- data.add(classCourseVO);
- }
- }
- teacherCourseRepVo.setData(data);
- teacherCourseRepVo.setCourseNameList(courseNameList);
- return teacherCourseRepVo;
- }
-
- @ApiOperation("获取主课,副科,公共课列表")
- @RequestMapping(value = "getCourseTypeList", method = RequestMethod.POST)
- public GetCourseTypeListRepVo getCourseTypeList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
- GetCourseTypeListRepVo getCourseTypeListRepVo = new GetCourseTypeListRepVo();
- List data = new ArrayList<>();
- Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
- if(schedule == null){
- getCourseTypeListRepVo.setSuccess(false);
- getCourseTypeListRepVo.setMessage("请先创建计划");
- return getCourseTypeListRepVo;
- }
- for(int i = 1 ; i <=3 ; i++){
- CourseTypeListVO vo = new CourseTypeListVO();
- vo.setCourseType(i);
- switch (i){
- case 1 :
- vo.setCourseTypeName("主课");
- break;
- case 2:
- vo.setCourseTypeName("副科");
- break;
- case 3:
- vo.setCourseTypeName("公共课");
- break;
- }
- Course course = new Course();
- course.setSchoolId(schedule.getSchoolId());
- course.setCourseType(i);
- vo.setList(courseService.selectByCourse(course));
- data.add(vo);
- }
- getCourseTypeListRepVo.setData(data);
- getCourseTypeListRepVo.setScheduleId(schedule.getSchoolId());
- return getCourseTypeListRepVo;
- }
-
- @ApiOperation("获取未设置学科类型的科目")
- @RequestMapping(value = "getUnCourseList", method = RequestMethod.POST)
- public CourseRepVo getUnCourseList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
- CourseRepVo courseRepVo = new CourseRepVo();
- Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
- if(schedule == null){
- courseRepVo.setSuccess(false);
- courseRepVo.setMessage("请先创建计划");
- return courseRepVo;
- }
- Course course = new Course();
- course.setSchoolId(schedule.getSchoolId());
- course.setCourseType(0);
- courseRepVo.setData(courseService.selectByCourse(course));
- return courseRepVo;
- }
-
- @ApiOperation("删除设置的 主课 副科 公共课")
- @RequestMapping(value = "deleteCourseType", method = RequestMethod.POST)
- public BaseVo deleteCourseType(@RequestBody CourseClassReqVo courseClassReqVo){
- BaseVo baseVo = new BaseVo();
- Schedule schedule = scheduleService.selectById(courseClassReqVo.getScheduleId());
- if(schedule == null){
- baseVo.setSuccess(false);
- baseVo.setMessage("请先创建计划");
- return baseVo;
- }
- if(teacherClassService.selectHasSchedule(schedule.getSchoolId(),schedule.getTeam()) > 0){
- baseVo.setSuccess(false);
- baseVo.setMessage("已经排课,不能再删除");
- return baseVo;
- }
- courseService.updateCourseType(courseClassReqVo.getCourseId(),0,schedule.getSchoolId());
- return baseVo;
- }
-
- @ApiOperation("获取设置的作息 获取排课计划详情")
- @RequestMapping(value = "getSchedule", method = RequestMethod.POST)
- public Schedule getSchedule(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
- Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
- return schedule;
- }
-
- @ApiOperation("导出模板")
- @RequestMapping(value = "export", method = RequestMethod.GET)
- public void export(int scheduleId , HttpServletRequest request, HttpServletResponse response){
- ExcelUtils excelUtils = new ExcelUtils();
- List headList = new ArrayList<>();
- headList.add("年级");
- headList.add("班级");
- List heardKey = new ArrayList<>();
- heardKey.add("grade");
- heardKey.add("class");
- List