Commit 54c3da43fd94c86364ea7596b38ae078b9c8b38a

Authored by 陈杰
1 parent 2f75c847
Exists in master

1

pom.xml
... ... @@ -19,7 +19,6 @@
19 19 <artifactId>httpclient</artifactId>
20 20 <version>4.3</version>
21 21 </dependency>
22   -
23 22 <dependency>
24 23 <groupId>com.microsoft.sqlserver</groupId>
25 24 <artifactId>mssql-jdbc</artifactId>
... ... @@ -97,6 +96,7 @@
97 96 <version>4.1.0</version>
98 97 </dependency>
99 98  
  99 +
100 100 <!--数据库-->
101 101 <dependency>
102 102 <groupId>org.mybatis.spring.boot</groupId>
... ...
src/main/java/com/jevon/controller/InitController.java
... ... @@ -1,421 +0,0 @@
1   -package com.jevon.controller;
2   -
3   -import com.alibaba.fastjson.JSONObject;
4   -import com.jevon.model.*;
5   -import com.jevon.service.*;
6   -import com.jevon.utils.HttpClientUtils;
7   -import com.jevon.vo.BaseVo;
8   -import com.jevon.vo.rep.InitRepVo;
9   -import com.jevon.vo.rep.ScheduleRepVo;
10   -import com.jevon.vo.req.CreateScheduleReqVo;
11   -import com.jevon.vo.req.InitTeacherCourseReqVo;
12   -import com.jevon.vo.req.ScheduleIdReqVo;
13   -import com.jevon.vo.req.UpdateScheduleReqVo;
14   -import io.swagger.annotations.Api;
15   -import io.swagger.annotations.ApiOperation;
16   -import org.apache.commons.lang3.StringUtils;
17   -import org.apache.poi.hssf.usermodel.HSSFWorkbook;
18   -import org.apache.poi.ss.usermodel.*;
19   -import org.apache.poi.xssf.usermodel.XSSFWorkbook;
20   -import org.springframework.beans.factory.annotation.Autowired;
21   -import org.springframework.transaction.annotation.Transactional;
22   -import org.springframework.web.bind.annotation.RequestBody;
23   -import org.springframework.web.bind.annotation.RequestMapping;
24   -import org.springframework.web.bind.annotation.RequestMethod;
25   -import org.springframework.web.bind.annotation.RestController;
26   -
27   -import javax.servlet.http.HttpServletRequest;
28   -import java.io.File;
29   -import java.io.FileInputStream;
30   -import java.util.*;
31   -
32   -@RestController
33   -@RequestMapping(value = "/init")
34   -@Api(value = "排课表")
35   -public class InitController {
36   -
37   - @Autowired
38   - ClassModelService classModelService;
39   -
40   - @Autowired
41   - TeacherClassService teacherClassService;
42   -
43   - @Autowired
44   - CourseService courseService ;
45   -
46   - @Autowired
47   - TeacherService teacherService;
48   -
49   - @Autowired
50   - ScheduleService scheduleService;
51   -
52   - @Autowired
53   - TeacherCourseService teacherCourseService;
54   -
55   - @Autowired
56   - JoinClassService joinClassService;
57   -
58   - @Autowired
59   - ClassCourseService classCourseService;
60   -
61   - private static String url = "http://60.190.202.57:1000";
62   -
63   - private static String staticUrl = "F://wwwroot//smartcampus";
64   -
65   - @ApiOperation("创建排课计划 ")
66   - @RequestMapping(value = "createSchedule", method = RequestMethod.POST)
67   - public ScheduleRepVo createSchedule(@RequestBody CreateScheduleReqVo createScheduleReqVo){
68   - ScheduleRepVo baseVo = new ScheduleRepVo();
69   - Schedule schedule = new Schedule();
70   - schedule.setTeam(createScheduleReqVo.getTeam());
71   - schedule.setScheduleName(createScheduleReqVo.getScheduleName());
72   - schedule.setSchoolId(createScheduleReqVo.getSchoolId());
73   - Schedule temp = scheduleService.selectBySchoolAndTeam(schedule);
74   - if(temp == null){
75   - scheduleService.insert(schedule);
76   - }else {
77   - baseVo.setSuccess(false);
78   - baseVo.setMessage("该学校该学年学期已创建了排课计划");
79   - return baseVo;
80   - }
81   - temp = scheduleService.selectBySchoolAndTeam(schedule);
82   - initMessage(schedule.getSchoolId());
83   - baseVo.setScheduleId(temp.getId());
84   - return baseVo;
85   - }
86   -
87   - @ApiOperation("更新计划")
88   - @RequestMapping(value = "updateSchedule", method = RequestMethod.POST)
89   - public BaseVo updateSchedule(@RequestBody UpdateScheduleReqVo updateScheduleReqVo){
90   - BaseVo baseVo = new BaseVo();
91   - Schedule schedule = scheduleService.selectById(updateScheduleReqVo.getScheduleId());
92   - schedule.setScheduleName(updateScheduleReqVo.getScheduleName());
93   - schedule.setTeam(updateScheduleReqVo.getTeam());
94   - scheduleService.update(schedule);
95   - return baseVo;
96   - }
97   -
98   - @ApiOperation("复制")
99   - @RequestMapping(value = "copySchedule", method = RequestMethod.POST)
100   - public BaseVo copySchedule(@RequestBody UpdateScheduleReqVo updateScheduleReqVo){
101   - BaseVo baseVo = new BaseVo();
102   - Schedule schedule = scheduleService.selectById(updateScheduleReqVo.getScheduleId());
103   - if(schedule == null){
104   - baseVo.setMessage("原始课表不存在");
105   - baseVo.setSuccess(false);
106   - return baseVo;
107   - }
108   - Schedule temp = new Schedule();
109   - temp.setSchoolId(schedule.getSchoolId());
110   - temp.setTeam(updateScheduleReqVo.getTeam());
111   - Schedule result = scheduleService.selectBySchoolAndTeam(temp);
112   - if(result != null){
113   - baseVo.setMessage("该学年学期已创建课表计划");
114   - baseVo.setSuccess(false);
115   - return baseVo;
116   - }
117   - temp.setScheduleName(updateScheduleReqVo.getScheduleName());
118   - scheduleService.insert(temp);
119   - Date date = new Date();
120   - //复制 classCourse teacherClass teacherCourse
121   - List<ClassCourse> classCourses = classCourseService.copyClassCourse(schedule.getSchoolId(),schedule.getTeam());
122   - for(ClassCourse classCourse :classCourses){
123   - classCourse.setSchoolId(temp.getSchoolId());
124   - classCourse.setTeam(temp.getTeam());
125   - classCourse.setCreateTime(date);
126   - }
127   - classCourseService.insertBatch(classCourses);
128   - TeacherClass teacherClass = new TeacherClass();
129   - teacherClass.setSchoolId(schedule.getSchoolId());
130   - teacherClass.setTeam(schedule.getTeam());
131   - List<TeacherClass> teacherClasses = teacherClassService.selectBySchoolAndTeam(teacherClass);
132   - for(TeacherClass teacherClass1 :teacherClasses){
133   - teacherClass1.setSchoolId(temp.getSchoolId());
134   - teacherClass1.setTeam(temp.getTeam());
135   - teacherClass1.setCreateTime(date);
136   - }
137   - teacherClassService.insertBatch(teacherClasses);
138   -
139   - List<TeacherCourse> teacherCourses = teacherCourseService.selectBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
140   - for(TeacherCourse teacherCourse : teacherCourses){
141   - teacherCourse.setSchoolId(temp.getSchoolId());
142   - teacherCourse.setTeam(temp.getTeam());
143   - teacherCourse.setCreateTime(date);
144   - }
145   - teacherCourseService.insertBatch(teacherCourses);
146   - return baseVo;
147   - }
148   -
149   - @ApiOperation("删除排课计划")
150   - @RequestMapping(value = "deleteSchedule", method = RequestMethod.POST)
151   - public BaseVo deleteSchedule(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
152   - BaseVo baseVo = new BaseVo();
153   - Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
154   - if(schedule == null){
155   - baseVo.setSuccess(false);
156   - baseVo.setMessage("无排课计划");
157   - return baseVo;
158   - }
159   - teacherCourseService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
160   - joinClassService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
161   - classCourseService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
162   - TeacherClass teacherClass = new TeacherClass();
163   - teacherClass.setSchoolId(schedule.getSchoolId());
164   - teacherClass.setTeam(schedule.getTeam());
165   - teacherClassService.deleteBySchoolAndTeam(teacherClass);
166   - courseService.initSchoolId(schedule.getSchoolId());
167   - scheduleService.deleteBySchedule(schedule.getId());
168   - return baseVo;
169   - }
170   -
171   - @ApiOperation("获取基础信息")
172   - @RequestMapping(value = "getInitMessage", method = RequestMethod.POST)
173   - public InitRepVo getInitMessage(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
174   - InitRepVo initRepVo = new InitRepVo();
175   - Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
176   - if(schedule == null){
177   - initRepVo.setSuccess(false);
178   - initRepVo.setMessage("没有改排课计划");
179   - return initRepVo;
180   - }
181   - List<Course> courses = courseService.selectBySchoolId(schedule.getSchoolId());
182   - List<Teacher> teachers = teacherService.selectBySchoolId(schedule.getSchoolId());
183   - List<ClassModel> classModels = classModelService.selectBySchoolId(schedule.getSchoolId());
184   - initRepVo.setClassNumber(classModels.size());
185   - initRepVo.setCourseNumber(courses.size());
186   - initRepVo.setTeacherNumber(teachers.size());
187   - return initRepVo;
188   - }
189   -
190   - @Transactional
191   - @ApiOperation("教师授课信息")
192   - @RequestMapping(value = "initTeacherCourse", method = RequestMethod.POST)
193   - public BaseVo initTeacherCourse(@RequestBody InitTeacherCourseReqVo initTeacherCourseReqVo){
194   - BaseVo baseVo = new BaseVo();
195   - Date date = new Date();
196   - try{
197   - TeacherClass temp = new TeacherClass();
198   - Schedule schedule = scheduleService.selectById(initTeacherCourseReqVo.getScheduleId());
199   - if(schedule != null && schedule.getSpeed() == 2) {
200   - temp.setSchoolId(schedule.getSchoolId());
201   - temp.setTeam(schedule.getTeam());
202   - List<TeacherClass> list = teacherClassService.selectBySchoolAndTeam(temp);
203   - if (list != null && list.size() > 0) {
204   - teacherClassService.deleteBySchoolAndTeam(temp);
205   - }
206   - String fileUrl = initTeacherCourseReqVo.getUrl();
207   - fileUrl = fileUrl.replace(url, staticUrl);
208   - File excelFile = new File(fileUrl);
209   - // 获得工作簿
210   - String file = excelFile.getName();
211   - Workbook workbook = null;
212   - if (file.endsWith("xls")) {
213   - workbook = new HSSFWorkbook(new FileInputStream(excelFile));
214   - } else {
215   - workbook = new XSSFWorkbook(new FileInputStream(excelFile));
216   - }
217   - // 获得工作表
218   - Sheet sheet = workbook.getSheetAt(0);
219   - int rows = sheet.getPhysicalNumberOfRows();
220   - Map<Integer, Course> courseTeacherMap = new HashMap<>();
221   - int courseNumber = 0;
222   - List<TeacherClass> teacherClasses = new ArrayList<>();
223   - for (int i = 0; i < rows; i++) {
224   - // 获取第i行数据
225   - Row sheetRow = sheet.getRow(i);
226   - if (i == 0) {
227   - //获取表头
228   - int j = 1;
229   - while (sheetRow.getCell(2 * j) != null && StringUtils.isNotBlank(sheetRow.getCell(2 * j).getStringCellValue().trim())) {
230   - Course course = courseService.selectBySchoolIdAndCourseName(schedule.getSchoolId(), sheetRow.getCell(2 * j).getStringCellValue().trim());
231   - courseTeacherMap.put(j, course);
232   - j++;
233   - }
234   - courseNumber = j - 1;
235   - } else {
236   - if (StringUtils.isBlank(sheetRow.getCell(0).getStringCellValue().trim())) {
237   - continue;
238   - }
239   - String className = sheetRow.getCell(1).getStringCellValue().trim();
240   - ClassModel classModel = new ClassModel();
241   - classModel.setSchoolId(schedule.getSchoolId());
242   - classModel.setClassName(className);
243   - classModel.setGrade(sheetRow.getCell(0).getStringCellValue().trim());
244   - ClassModel resultClass = classModelService.selectBySchoolIdAndClassNameAndGrade(classModel);
245   - for (int j = 1; j <= courseNumber; j++) {
246   - Cell cell = sheetRow.getCell(2 * j);
247   - if (cell != null) {
248   - cell.setCellType(CellType.STRING);
249   - String times = sheetRow.getCell(2 * j).getStringCellValue().trim();
250   - if (StringUtils.isNotBlank((times))) {
251   - Course course = courseTeacherMap.get(j);
252   - String teacherName = sheetRow.getCell(2 * j + 1).getStringCellValue().trim();
253   - Teacher teacher = new Teacher();
254   - teacher.setTeacherName(teacherName);
255   - teacher.setSchoolId(schedule.getSchoolId());
256   - Teacher resultTeacher = teacherService.selectByTeacher(teacher);
257   - if (course != null && resultTeacher != null) {
258   - TeacherClass teacherClass = new TeacherClass();
259   - teacherClass.setTeam(schedule.getTeam());
260   - teacherClass.setSchoolId(schedule.getSchoolId());
261   - teacherClass.setCourseName(course.getCourseName());
262   - teacherClass.setTeacherName(resultTeacher.getTeacherName());
263   - teacherClass.setTeacherId(resultTeacher.getTeacherId());
264   - teacherClass.setGrade(sheetRow.getCell(0).getStringCellValue().trim());
265   - teacherClass.setClassId(resultClass.getClassId());
266   - String[] msg = times.split("\\+");
267   - if (msg.length > 1) {
268   - //有联课
269   - teacherClass.setJoinTimes(Integer.valueOf(msg[1]));
270   - teacherClass.setTimes(Integer.valueOf(msg[1]) * 2 + Integer.valueOf(msg[0]));
271   - } else {
272   - teacherClass.setJoinTimes(0);
273   - teacherClass.setTimes(Integer.valueOf(msg[0]));
274   - }
275   - teacherClass.setStatus(0);
276   - teacherClass.setCreateTime(date);
277   - teacherClasses.add(teacherClass);
278   - } else {
279   - baseVo.setMessage("课程或老师缺失");
280   - baseVo.setSuccess(false);
281   - return baseVo;
282   - }
283   - }
284   -
285   - }
286   - }
287   - }
288   - }
289   - teacherClassService.insertBatch(teacherClasses);
290   - schedule.setSpeed(3);
291   - scheduleService.updateSpeed(schedule);
292   - }else {
293   - baseVo.setMessage("排课计划不存在或已导入");
294   - baseVo.setSuccess(false);
295   - }
296   - }catch (Exception e){
297   - System.out.println(e);
298   - baseVo.setSuccess(false);
299   - }
300   - return baseVo;
301   - }
302   -
303   -
304   - private void initMessage(int schoolId){
305   - JSONObject teacherList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolTeacher?SchoolId="+schoolId);
306   - List<JSONObject> openTeacherList = (List<JSONObject>)teacherList.get("data");
307   - List<Teacher> teachers = new ArrayList<>();
308   - for(JSONObject json :openTeacherList){
309   - Teacher teacher = new Teacher();
310   - teacher.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
311   - teacher.setTeacherId(Integer.valueOf(json.get("teacher_id").toString()));
312   - teacher.setTeacherName(json.get("name").toString());
313   - teachers.add(teacher);
314   - }
315   - initTeacher(teachers);
316   - JSONObject classList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolClass?SchoolId="+schoolId);
317   - List<JSONObject> openClasses = (List<JSONObject>)classList.get("data");
318   - List<ClassModel> classModels = new ArrayList<>();
319   - for(JSONObject json :openClasses){
320   - ClassModel classModel = new ClassModel();
321   - classModel.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
322   - classModel.setClassId(Integer.valueOf(json.get("class_id").toString()));
323   - classModel.setGrade(json.get("gardeName").toString());
324   - classModel.setClassName(json.get("class_name").toString());
325   - classModels.add(classModel);
326   - }
327   - initClass(classModels);
328   - JSONObject courseList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolSubject?SchoolId="+schoolId);
329   - List<JSONObject> openCourses = (List<JSONObject>)courseList.get("data");
330   - List<Course> courses = new ArrayList<>();
331   - for(JSONObject json :openCourses){
332   - Course course = new Course();
333   - course.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
334   - course.setCourseId(Integer.valueOf(json.get("subject_id").toString()));
335   - course.setCourseName(json.get("subject_name").toString());
336   - course.setCourseType(0);
337   - courses.add(course);
338   - }
339   - initCourse(courses);
340   - }
341   - public BaseVo initCourse(List<Course> courseList){
342   - BaseVo baseVo = new BaseVo();
343   - List<Course> list = courseService.selectBySchoolId(courseList.get(0).getSchoolId());
344   - if(list != null && list.size() > 0){
345   - courseService.deleteSchoolId(courseList.get(0).getSchoolId());
346   - }
347   - for(Course course : courseList){
348   - if(course.getCourseId() == 0 || StringUtils.isBlank(course.getCourseName())){
349   - baseVo.setSuccess(false);
350   - baseVo.setMessage("缺少参数");
351   - break;
352   - }
353   - }
354   - if(baseVo.isSuccess()){
355   - courseService.insertBatch(courseList);
356   - baseVo.setSuccess(true);
357   - return baseVo;
358   - }else {
359   - return baseVo;
360   - }
361   - }
362   -
363   - public BaseVo initClass(List<ClassModel> classList){
364   - BaseVo baseVo = new BaseVo();
365   - List<ClassModel> list = classModelService.selectBySchoolId(classList.get(0).getSchoolId());
366   - if(list != null && list.size() > 0){
367   - classModelService.deleteSchool(classList.get(0).getSchoolId());
368   - }
369   - for(ClassModel classModel : classList){
370   - if(classModel.getClassId() == 0 || StringUtils.isBlank(classModel.getClassName()) ||
371   - StringUtils.isBlank(classModel.getGrade()) || classModel.getSchoolId() == 0){
372   - baseVo.setSuccess(false);
373   - baseVo.setMessage("缺少参数");
374   - break;
375   - }
376   - }
377   - if(baseVo.isSuccess()){
378   - classModelService.insertBatch(classList);
379   - baseVo.setSuccess(true);
380   - return baseVo;
381   - }else {
382   - return baseVo;
383   - }
384   - }
385   -
386   - public BaseVo initTeacher(List<Teacher> teacherList){
387   - List<Teacher> result = new ArrayList<>();
388   - for(Teacher teacher : teacherList){
389   - boolean isExist = false;
390   - for(Teacher t : result){
391   - if(t.getTeacherName().equals(teacher.getTeacherName())){
392   - isExist = true;
393   - }
394   - }
395   - if(!isExist){
396   - result.add(teacher);
397   - }
398   - }
399   - BaseVo baseVo = new BaseVo();
400   - List<Teacher> list = teacherService.selectBySchoolId(result.get(0).getSchoolId());
401   - if(list != null && list.size()>0){
402   - teacherService.deleteSchool(result.get(0).getSchoolId());
403   - }
404   - for(Teacher teacher : result){
405   - if(teacher.getSchoolId() == 0 || StringUtils.isBlank(teacher.getTeacherName()) ||
406   - teacher.getTeacherId() == 0){
407   - baseVo.setSuccess(false);
408   - baseVo.setMessage("缺少参数");
409   - break;
410   - }
411   - }
412   - if(baseVo.isSuccess()){
413   - teacherService.insertBatch(result);
414   - baseVo.setSuccess(true);
415   - return baseVo;
416   - }else {
417   - return baseVo;
418   - }
419   - }
420   -
421   -}
src/main/java/com/jevon/controller/LearnController.java 0 → 100644
... ... @@ -0,0 +1,77 @@
  1 +package com.jevon.controller;
  2 +
  3 +import com.jevon.model.*;
  4 +import com.jevon.vo.BaseVo;
  5 +import com.jevon.vo.req.InitAnalyseReqVo;
  6 +import io.swagger.annotations.Api;
  7 +import org.apache.commons.lang3.StringUtils;
  8 +import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  9 +import org.apache.poi.ss.usermodel.*;
  10 +import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  11 +import org.springframework.web.bind.annotation.RequestBody;
  12 +import org.springframework.web.bind.annotation.RequestMapping;
  13 +import org.springframework.web.bind.annotation.RestController;
  14 +
  15 +import java.io.File;
  16 +import java.io.FileInputStream;
  17 +import java.util.*;
  18 +
  19 +/**
  20 + * @author chen
  21 + * @version 1.0
  22 + * @date 2019/10/17 0017 13:33
  23 + */
  24 +@RestController
  25 +@RequestMapping(value = "/learn")
  26 +@Api(value = "学情分析")
  27 +public class LearnController {
  28 +
  29 +
  30 + public BaseVo initAnalyse(@RequestBody InitAnalyseReqVo initAnalyseReqVo){
  31 + BaseVo baseVo = new BaseVo();
  32 + Date date = new Date();
  33 + try{
  34 + String fileUrl = initAnalyseReqVo.getUrl();
  35 + File excelFile = new File(fileUrl);
  36 + // 获得工作簿
  37 + String file = excelFile.getName();
  38 + Workbook workbook = null;
  39 + if (file.endsWith("xls")) {
  40 + workbook = new HSSFWorkbook(new FileInputStream(excelFile));
  41 + } else {
  42 + workbook = new XSSFWorkbook(new FileInputStream(excelFile));
  43 + }
  44 + // 获得工作表
  45 + Sheet sheet = workbook.getSheetAt(0);
  46 + int rows = sheet.getPhysicalNumberOfRows();
  47 + int column = 0 ;
  48 + int courseNumber = 0;
  49 + for (int i = 0; i < rows; i++) {
  50 + // 获取第i行数据
  51 + Row sheetRow = sheet.getRow(i);
  52 + if (i == 0) {
  53 + //获取标题
  54 + String title = sheetRow.getCell(0).getStringCellValue().trim();
  55 + }else if(i == 1){
  56 + //获取表头
  57 + int j = 0 ;
  58 + while (sheetRow.getCell(j) != null && StringUtils.isNotBlank(sheetRow.getCell(j).getStringCellValue().trim())) {
  59 + j++ ;
  60 + }
  61 + column = j ;
  62 + } else {
  63 + for (int j = 0; j < column; j++) {
  64 + Cell cell = sheetRow.getCell(j);
  65 + if(cell != null){
  66 + cell.setCellType(CellType.STRING);
  67 + }
  68 + }
  69 + }
  70 + }
  71 + }catch (Exception e){
  72 + System.out.println(e);
  73 + baseVo.setSuccess(false);
  74 + }
  75 + return baseVo;
  76 + }
  77 +}
... ...
src/main/java/com/jevon/controller/MessageController.java
... ... @@ -1,316 +0,0 @@
1   -package com.jevon.controller;
2   -
3   -import com.jevon.model.*;
4   -import com.jevon.service.*;
5   -import com.jevon.utils.ExcelUtils;
6   -import com.jevon.vo.BaseVo;
7   -import com.jevon.vo.rep.*;
8   -import com.jevon.vo.req.CourseClassReqVo;
9   -import com.jevon.vo.req.GetClassCourseReqVo;
10   -import com.jevon.vo.req.ScheduleIdReqVo;
11   -import com.jevon.vo.req.SchoolIdReqVo;
12   -import io.swagger.annotations.Api;
13   -import io.swagger.annotations.ApiOperation;
14   -import org.springframework.beans.factory.annotation.Autowired;
15   -import org.springframework.web.bind.annotation.RequestBody;
16   -import org.springframework.web.bind.annotation.RequestMapping;
17   -import org.springframework.web.bind.annotation.RequestMethod;
18   -import org.springframework.web.bind.annotation.RestController;
19   -
20   -import javax.servlet.http.HttpServletRequest;
21   -import javax.servlet.http.HttpServletResponse;
22   -import java.util.ArrayList;
23   -import java.util.HashMap;
24   -import java.util.List;
25   -import java.util.Map;
26   -
27   -/**
28   - * @author chen
29   - * @version 1.0
30   - * @date 2019/10/11 0011 14:00
31   - */
32   -@RestController
33   -@Api(value = "获取信息")
34   -public class MessageController {
35   -
36   - @Autowired
37   - ScheduleService scheduleService;
38   -
39   - @Autowired
40   - CourseService courseService;
41   -
42   - @Autowired
43   - ClassCourseService classCourseService;
44   -
45   - @Autowired
46   - ClassModelService classModelService;
47   -
48   - @Autowired
49   - JoinClassService joinClassService;
50   -
51   - @Autowired
52   - TeacherClassService teacherClassService;
53   -
54   - @ApiOperation("获取学校排课计划")
55   - @RequestMapping(value = "getScheduleList", method = RequestMethod.POST)
56   - public ScheduleListRepVo getScheduleList(@RequestBody SchoolIdReqVo schoolIdReqVo){
57   - ScheduleListRepVo scheduleListRepVo = new ScheduleListRepVo();
58   - scheduleListRepVo.setData(scheduleService.selectBySchool(schoolIdReqVo.getSchoolId()));
59   - return scheduleListRepVo;
60   - }
61   -
62   - @ApiOperation("获取学校下所有班级信息")
63   - @RequestMapping(value = "getClassList", method = RequestMethod.POST)
64   - public ClassRepVo getClassList(@RequestBody SchoolIdReqVo schoolIdReqVo){
65   - ClassRepVo classRepVo = new ClassRepVo();
66   - classRepVo.setData(classModelService.selectBySchoolId(schoolIdReqVo.getSchoolId()));
67   - return classRepVo;
68   - }
69   -
70   - @ApiOperation("获取学校课程")
71   - @RequestMapping(value = "getCourseList", method = RequestMethod.POST)
72   - public CourseRepVo getCourseList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
73   - CourseRepVo courseRepVo = new CourseRepVo();
74   - Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
75   - if(schedule == null){
76   - courseRepVo.setSuccess(false);
77   - courseRepVo.setMessage("请先创建计划");
78   - return courseRepVo;
79   - }
80   - courseRepVo.setData(courseService.selectBySchoolId(schedule.getSchoolId()));
81   - return courseRepVo;
82   - }
83   -
84   - @ApiOperation("获取要学习某个学科的班级集合")
85   - @RequestMapping(value = "getCourseClassList", method = RequestMethod.POST)
86   - public List<GetCourseClassListRepVo> getCourseClassList(@RequestBody CourseClassReqVo courseClassReqVo){
87   - List<GetCourseClassListRepVo> repVos = new ArrayList<>();
88   - Schedule schedule = scheduleService.selectById(courseClassReqVo.getScheduleId());
89   - if(schedule == null){
90   - return null;
91   - }
92   - TeacherClass search = new TeacherClass();
93   - search.setSchoolId(schedule.getSchoolId());
94   - search.setTeam(schedule.getTeam());
95   - String courseName =courseService.selectBySchoolIdAndCourseId(schedule.getSchoolId(),courseClassReqVo.getCourseId()).getCourseName();
96   - search.setCourseName(courseName);
97   - List<TeacherClass> list = teacherClassService.selectByCourseName(search);
98   - for(TeacherClass teacherClass : list){
99   - GetCourseClassListRepVo repVo = new GetCourseClassListRepVo();
100   - repVo.setClassId(teacherClass.getClassId());
101   - repVo.setClassName(classModelService.selectByPrimaryKey(teacherClass.getClassId()).getClassName());
102   - repVo.setCourseId(courseClassReqVo.getCourseId());
103   - repVo.setCourseName(courseName);
104   - repVo.setTeacherName(teacherClass.getTeacherName());
105   - repVos.add(repVo);
106   - }
107   - return repVos;
108   - }
109   -
110   - @ApiOperation("获取班级排课课程")
111   - @RequestMapping(value = "getClassCourseList", method = RequestMethod.POST)
112   - public ClassCourseRepVo getClassCourseList(@RequestBody GetClassCourseReqVo getClassCourseReqVo){
113   - ClassCourseRepVo classCourseRepVo = new ClassCourseRepVo();
114   - Schedule schedule = scheduleService.selectById(getClassCourseReqVo.getScheduleId());
115   - if(schedule == null){
116   - classCourseRepVo.setSuccess(false);
117   - classCourseRepVo.setMessage("请先创建计划");
118   - return classCourseRepVo;
119   - }
120   - ClassCourse search = new ClassCourse();
121   - search.setClassId(getClassCourseReqVo.getClassId());
122   - search.setSingleOrDouble(1);
123   - search.setTeam(schedule.getTeam());
124   - classCourseRepVo.setData(classCourseService.selectByClassIdAndSingleOrDouble(search));
125   - return classCourseRepVo;
126   - }
127   -
128   - @ApiOperation("获取合班信息")
129   - @RequestMapping(value = "getJoinList", method = RequestMethod.POST)
130   - public JoinRepVo getJoinList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
131   - JoinRepVo joinRepVo = new JoinRepVo();
132   - Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
133   - JoinClass joinClass = new JoinClass();
134   - joinClass.setSchoolId(schedule.getSchoolId());
135   - joinClass.setTeam(schedule.getTeam());
136   - List<JoinClass> list = joinClassService.selectByCourse(joinClass);
137   - List<JoinDetail> joinDetails = new ArrayList<>();
138   - for(JoinClass temp : list){
139   - boolean flag = false ;
140   - ClassModel classModel = classModelService.selectByPrimaryKey(temp.getClassId());
141   - for(JoinDetail joinDetail : joinDetails){
142   - if(temp.getCourseGroup() == joinDetail.getCourseGroup()){
143   - flag = true;
144   - if(!joinDetail.getClassName().contains(classModel.getClassName())){
145   - joinDetail.setClassName(joinDetail.getClassName()+","+classModel.getClassName());
146   - }
147   - }
148   - }
149   - if(!flag){
150   - JoinDetail joinDetail = new JoinDetail();
151   - joinDetail.setCourseGroup(temp.getCourseGroup());
152   - joinDetail.setClassName(classModel.getClassName());
153   - joinDetail.setCourseName(temp.getCourseName());
154   - TeacherClass search = new TeacherClass();
155   - search.setSchoolId(schedule.getSchoolId());
156   - search.setTeam(schedule.getTeam());
157   - search.setClassId(temp.getClassId());
158   - search.setCourseName(temp.getCourseName());
159   - joinDetail.setTeacherName(teacherClassService.selectByCourseAndClass(search).getTeacherName());
160   - joinDetails.add(joinDetail);
161   - }
162   - }
163   - joinRepVo.setData(joinDetails);
164   - return joinRepVo;
165   - }
166   -
167   - @ApiOperation("获取导入任课信息")
168   - @RequestMapping(value = "getTeacherClassList", method = RequestMethod.POST)
169   - public TeacherCourseRepVo getTeacherClassList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
170   - TeacherCourseRepVo teacherCourseRepVo = new TeacherCourseRepVo();
171   - Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
172   - TeacherClass temp = new TeacherClass();
173   - temp.setSchoolId(schedule.getSchoolId());
174   - temp.setTeam(schedule.getTeam());
175   - List<ClassCourseVO> data = new ArrayList<>();
176   - List<String> courseNameList = new ArrayList<>();
177   - List<TeacherClass> teacherClasses = teacherClassService.selectBySchoolAndTeam(temp);
178   - for(TeacherClass teacherClass :teacherClasses){
179   - boolean isExist = false;
180   - if(!courseNameList.contains(teacherClass.getCourseName())){
181   - courseNameList.add(teacherClass.getCourseName());
182   - }
183   - for(ClassCourseVO classCourseVO : data){
184   - if(classCourseVO.getClassId() == teacherClass.getClassId()){
185   - isExist = true ;
186   - ClassCourseDetailVo classCourseDetailVo = new ClassCourseDetailVo(teacherClass);
187   - List<ClassCourseDetailVo> classCourseDetailVos = classCourseVO.getList();
188   - classCourseDetailVos.add(classCourseDetailVo);
189   - classCourseVO.setAllCount(classCourseVO.getAllCount()+teacherClass.getTimes());
190   - classCourseVO.setList(classCourseDetailVos);
191   - }
192   - }
193   - if(!isExist){
194   - ClassCourseVO classCourseVO = new ClassCourseVO();
195   - classCourseVO.setClassId(teacherClass.getClassId());
196   - classCourseVO.setAllCount(teacherClass.getTimes());
197   - classCourseVO.setClassName(classModelService.selectByPrimaryKey(teacherClass.getClassId()).getClassName());
198   - List<ClassCourseDetailVo> classCourseDetailVos = new ArrayList<>();
199   - classCourseDetailVos.add(new ClassCourseDetailVo(teacherClass));
200   - classCourseVO.setList(classCourseDetailVos);
201   - data.add(classCourseVO);
202   - }
203   - }
204   - teacherCourseRepVo.setData(data);
205   - teacherCourseRepVo.setCourseNameList(courseNameList);
206   - return teacherCourseRepVo;
207   - }
208   -
209   - @ApiOperation("获取主课,副科,公共课列表")
210   - @RequestMapping(value = "getCourseTypeList", method = RequestMethod.POST)
211   - public GetCourseTypeListRepVo getCourseTypeList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
212   - GetCourseTypeListRepVo getCourseTypeListRepVo = new GetCourseTypeListRepVo();
213   - List<CourseTypeListVO> data = new ArrayList<>();
214   - Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
215   - if(schedule == null){
216   - getCourseTypeListRepVo.setSuccess(false);
217   - getCourseTypeListRepVo.setMessage("请先创建计划");
218   - return getCourseTypeListRepVo;
219   - }
220   - for(int i = 1 ; i <=3 ; i++){
221   - CourseTypeListVO vo = new CourseTypeListVO();
222   - vo.setCourseType(i);
223   - switch (i){
224   - case 1 :
225   - vo.setCourseTypeName("主课");
226   - break;
227   - case 2:
228   - vo.setCourseTypeName("副科");
229   - break;
230   - case 3:
231   - vo.setCourseTypeName("公共课");
232   - break;
233   - }
234   - Course course = new Course();
235   - course.setSchoolId(schedule.getSchoolId());
236   - course.setCourseType(i);
237   - vo.setList(courseService.selectByCourse(course));
238   - data.add(vo);
239   - }
240   - getCourseTypeListRepVo.setData(data);
241   - getCourseTypeListRepVo.setScheduleId(schedule.getSchoolId());
242   - return getCourseTypeListRepVo;
243   - }
244   -
245   - @ApiOperation("获取未设置学科类型的科目")
246   - @RequestMapping(value = "getUnCourseList", method = RequestMethod.POST)
247   - public CourseRepVo getUnCourseList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
248   - CourseRepVo courseRepVo = new CourseRepVo();
249   - Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
250   - if(schedule == null){
251   - courseRepVo.setSuccess(false);
252   - courseRepVo.setMessage("请先创建计划");
253   - return courseRepVo;
254   - }
255   - Course course = new Course();
256   - course.setSchoolId(schedule.getSchoolId());
257   - course.setCourseType(0);
258   - courseRepVo.setData(courseService.selectByCourse(course));
259   - return courseRepVo;
260   - }
261   -
262   - @ApiOperation("删除设置的 主课 副科 公共课")
263   - @RequestMapping(value = "deleteCourseType", method = RequestMethod.POST)
264   - public BaseVo deleteCourseType(@RequestBody CourseClassReqVo courseClassReqVo){
265   - BaseVo baseVo = new BaseVo();
266   - Schedule schedule = scheduleService.selectById(courseClassReqVo.getScheduleId());
267   - if(schedule == null){
268   - baseVo.setSuccess(false);
269   - baseVo.setMessage("请先创建计划");
270   - return baseVo;
271   - }
272   - if(teacherClassService.selectHasSchedule(schedule.getSchoolId(),schedule.getTeam()) > 0){
273   - baseVo.setSuccess(false);
274   - baseVo.setMessage("已经排课,不能再删除");
275   - return baseVo;
276   - }
277   - courseService.updateCourseType(courseClassReqVo.getCourseId(),0,schedule.getSchoolId());
278   - return baseVo;
279   - }
280   -
281   - @ApiOperation("获取设置的作息 获取排课计划详情")
282   - @RequestMapping(value = "getSchedule", method = RequestMethod.POST)
283   - public Schedule getSchedule(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
284   - Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
285   - return schedule;
286   - }
287   -
288   - @ApiOperation("导出模板")
289   - @RequestMapping(value = "export", method = RequestMethod.GET)
290   - public void export(int scheduleId , HttpServletRequest request, HttpServletResponse response){
291   - ExcelUtils excelUtils = new ExcelUtils();
292   - List<String> headList = new ArrayList<>();
293   - headList.add("年级");
294   - headList.add("班级");
295   - List<String> heardKey = new ArrayList<>();
296   - heardKey.add("grade");
297   - heardKey.add("class");
298   - List<Map<String , String >> data = new ArrayList<>();
299   - Schedule schedule = scheduleService.selectById(scheduleId);
300   - List<ClassModel> list = classModelService.selectBySchoolId(schedule.getSchoolId());
301   - for(ClassModel classModel : list){
302   - Map<String ,String> map = new HashMap<>();
303   - map.put("grade",classModel.getGrade());
304   - map.put("class",classModel.getClassName());
305   - data.add(map);
306   - }
307   - excelUtils.setHeardList(headList);
308   - excelUtils.setHeardKey(heardKey);
309   - excelUtils.setData(data);
310   - try{
311   - excelUtils.exportExport(request,response);
312   - }catch (Exception e){
313   -
314   - }
315   - }
316   -}
src/main/java/com/jevon/controller/ScheduleController.java
... ... @@ -518,7 +518,7 @@ public class ScheduleController {
518 518 classCourse.setCourseOpenId(course.getCourseId());
519 519 classCourse.setCourseName(teacherClass.getCourseName());
520 520 //判断当天是否已经排该课程
521   - if(classCourseService.selectCourseByClassIdAndWeek(classCourse) > 0){
  521 + if(classCourseService.selectCourseByClassIdAndWeek(classCourse) > 1){
522 522 break;
523 523 }
524 524 TeacherCourse searchTeacherCourse = new TeacherCourse();
... ... @@ -640,7 +640,8 @@ public class ScheduleController {
640 640 weekChange = weekChange + 5;
641 641 }
642 642 List<ClassCourse> list = classCourseService.selectWeekCourse(classCourse.getClassId(),weekChange,classCourse.getSingleOrDouble(),teacherClass.getCourseName(),teacherClass.getTeam());
643   - if(list.size() > 0){
  643 + //查询当天是否已经有该节课,扩大了
  644 + if(list.size() > 1){
644 645 continue;
645 646 }
646 647 for(int j = -1 ; j<=1 ; j++){
... ...
src/main/java/com/jevon/controller/ScheduleInitController.java 0 → 100644
... ... @@ -0,0 +1,415 @@
  1 +package com.jevon.controller;
  2 +
  3 +import com.alibaba.fastjson.JSONObject;
  4 +import com.jevon.model.*;
  5 +import com.jevon.service.*;
  6 +import com.jevon.utils.HttpClientUtils;
  7 +import com.jevon.vo.BaseVo;
  8 +import com.jevon.vo.rep.InitRepVo;
  9 +import com.jevon.vo.rep.ScheduleRepVo;
  10 +import com.jevon.vo.req.CreateScheduleReqVo;
  11 +import com.jevon.vo.req.InitTeacherCourseReqVo;
  12 +import com.jevon.vo.req.ScheduleIdReqVo;
  13 +import com.jevon.vo.req.UpdateScheduleReqVo;
  14 +import com.sun.xml.bind.v2.runtime.unmarshaller.IntArrayData;
  15 +import io.swagger.annotations.Api;
  16 +import io.swagger.annotations.ApiOperation;
  17 +import org.apache.commons.lang3.StringUtils;
  18 +import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  19 +import org.apache.poi.ss.usermodel.*;
  20 +import org.apache.poi.xssf.usermodel.XSSFWorkbook;
  21 +import org.springframework.beans.factory.annotation.Autowired;
  22 +import org.springframework.beans.factory.annotation.Value;
  23 +import org.springframework.transaction.annotation.Transactional;
  24 +import org.springframework.web.bind.annotation.RequestBody;
  25 +import org.springframework.web.bind.annotation.RequestMapping;
  26 +import org.springframework.web.bind.annotation.RequestMethod;
  27 +import org.springframework.web.bind.annotation.RestController;
  28 +
  29 +import javax.servlet.http.HttpServletRequest;
  30 +import java.io.File;
  31 +import java.io.FileInputStream;
  32 +import java.util.*;
  33 +
  34 +@RestController
  35 +@RequestMapping(value = "/init")
  36 +@Api(value = "排课表")
  37 +public class ScheduleInitController {
  38 +
  39 + @Autowired
  40 + ClassModelService classModelService;
  41 +
  42 + @Autowired
  43 + TeacherClassService teacherClassService;
  44 +
  45 + @Autowired
  46 + CourseService courseService ;
  47 +
  48 + @Autowired
  49 + TeacherService teacherService;
  50 +
  51 + @Autowired
  52 + ScheduleService scheduleService;
  53 +
  54 + @Autowired
  55 + TeacherCourseService teacherCourseService;
  56 +
  57 + @Autowired
  58 + JoinClassService joinClassService;
  59 +
  60 + @Autowired
  61 + ClassCourseService classCourseService;
  62 +
  63 + @Value("${remoting.url}")
  64 + private String url ;
  65 + @Value("${remoting.prefixFile}")
  66 + private String staticUrl ;
  67 +
  68 + @ApiOperation("创建排课计划 ")
  69 + @RequestMapping(value = "createSchedule", method = RequestMethod.POST)
  70 + public ScheduleRepVo createSchedule(HttpServletRequest request){
  71 + ScheduleRepVo baseVo = new ScheduleRepVo();
  72 + Schedule schedule = new Schedule();
  73 + schedule.setTeam(request.getParameter("team"));
  74 + schedule.setScheduleName(request.getParameter("scheduleName"));
  75 + schedule.setSchoolId(Integer.valueOf(request.getParameter("schoolId")));
  76 + Schedule temp = scheduleService.selectBySchoolAndTeam(schedule);
  77 + if(temp == null){
  78 + scheduleService.insert(schedule);
  79 + }else {
  80 + baseVo.setSuccess(false);
  81 + baseVo.setMessage("该学校该学年学期已创建了排课计划");
  82 + return baseVo;
  83 + }
  84 + temp = scheduleService.selectBySchoolAndTeam(schedule);
  85 + initMessage(schedule.getSchoolId());
  86 + baseVo.setScheduleId(temp.getId());
  87 + return baseVo;
  88 + }
  89 +
  90 + @ApiOperation("更新计划")
  91 + @RequestMapping(value = "updateSchedule", method = RequestMethod.POST)
  92 + public BaseVo updateSchedule(@RequestBody UpdateScheduleReqVo updateScheduleReqVo){
  93 + BaseVo baseVo = new BaseVo();
  94 + Schedule schedule = scheduleService.selectById(updateScheduleReqVo.getScheduleId());
  95 + schedule.setScheduleName(updateScheduleReqVo.getScheduleName());
  96 + schedule.setTeam(updateScheduleReqVo.getTeam());
  97 + scheduleService.update(schedule);
  98 + return baseVo;
  99 + }
  100 +
  101 + @ApiOperation("复制")
  102 + @RequestMapping(value = "copySchedule", method = RequestMethod.POST)
  103 + public BaseVo copySchedule(@RequestBody UpdateScheduleReqVo updateScheduleReqVo){
  104 + BaseVo baseVo = new BaseVo();
  105 + Schedule schedule = scheduleService.selectById(updateScheduleReqVo.getScheduleId());
  106 + if(schedule == null){
  107 + baseVo.setMessage("原始课表不存在");
  108 + baseVo.setSuccess(false);
  109 + return baseVo;
  110 + }
  111 + Schedule temp = new Schedule();
  112 + temp.setSchoolId(schedule.getSchoolId());
  113 + temp.setTeam(updateScheduleReqVo.getTeam());
  114 + Schedule result = scheduleService.selectBySchoolAndTeam(temp);
  115 + if(result != null){
  116 + baseVo.setMessage("该学年学期已创建课表计划");
  117 + baseVo.setSuccess(false);
  118 + return baseVo;
  119 + }
  120 + temp.setScheduleName(updateScheduleReqVo.getScheduleName());
  121 + scheduleService.insert(temp);
  122 + Date date = new Date();
  123 + //复制 classCourse teacherClass teacherCourse
  124 + List<ClassCourse> classCourses = classCourseService.copyClassCourse(schedule.getSchoolId(),schedule.getTeam());
  125 + for(ClassCourse classCourse :classCourses){
  126 + classCourse.setSchoolId(temp.getSchoolId());
  127 + classCourse.setTeam(temp.getTeam());
  128 + classCourse.setCreateTime(date);
  129 + }
  130 + classCourseService.insertBatch(classCourses);
  131 + TeacherClass teacherClass = new TeacherClass();
  132 + teacherClass.setSchoolId(schedule.getSchoolId());
  133 + teacherClass.setTeam(schedule.getTeam());
  134 + List<TeacherClass> teacherClasses = teacherClassService.selectBySchoolAndTeam(teacherClass);
  135 + for(TeacherClass teacherClass1 :teacherClasses){
  136 + teacherClass1.setSchoolId(temp.getSchoolId());
  137 + teacherClass1.setTeam(temp.getTeam());
  138 + teacherClass1.setCreateTime(date);
  139 + }
  140 + teacherClassService.insertBatch(teacherClasses);
  141 +
  142 + List<TeacherCourse> teacherCourses = teacherCourseService.selectBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
  143 + for(TeacherCourse teacherCourse : teacherCourses){
  144 + teacherCourse.setSchoolId(temp.getSchoolId());
  145 + teacherCourse.setTeam(temp.getTeam());
  146 + teacherCourse.setCreateTime(date);
  147 + }
  148 + teacherCourseService.insertBatch(teacherCourses);
  149 + return baseVo;
  150 + }
  151 +
  152 + @ApiOperation("删除排课计划")
  153 + @RequestMapping(value = "deleteSchedule", method = RequestMethod.POST)
  154 + public BaseVo deleteSchedule(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
  155 + BaseVo baseVo = new BaseVo();
  156 + Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
  157 + if(schedule == null){
  158 + baseVo.setSuccess(false);
  159 + baseVo.setMessage("无排课计划");
  160 + return baseVo;
  161 + }
  162 + teacherCourseService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
  163 + joinClassService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
  164 + classCourseService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam());
  165 + TeacherClass teacherClass = new TeacherClass();
  166 + teacherClass.setSchoolId(schedule.getSchoolId());
  167 + teacherClass.setTeam(schedule.getTeam());
  168 + teacherClassService.deleteBySchoolAndTeam(teacherClass);
  169 + courseService.initSchoolId(schedule.getSchoolId());
  170 + scheduleService.deleteBySchedule(schedule.getId());
  171 + return baseVo;
  172 + }
  173 +
  174 + @ApiOperation("获取基础信息")
  175 + @RequestMapping(value = "getInitMessage", method = RequestMethod.POST)
  176 + public InitRepVo getInitMessage(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
  177 + InitRepVo initRepVo = new InitRepVo();
  178 + Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
  179 + if(schedule == null){
  180 + initRepVo.setSuccess(false);
  181 + initRepVo.setMessage("没有改排课计划");
  182 + return initRepVo;
  183 + }
  184 + List<Course> courses = courseService.selectBySchoolId2(schedule.getSchoolId());
  185 + List<Teacher> teachers = teacherService.selectBySchoolId(schedule.getSchoolId());
  186 + List<ClassModel> classModels = classModelService.selectBySchoolId(schedule.getSchoolId());
  187 + initRepVo.setClassNumber(classModels.size());
  188 + initRepVo.setCourseNumber(courses.size());
  189 + initRepVo.setTeacherNumber(teachers.size());
  190 + return initRepVo;
  191 + }
  192 +
  193 + @Transactional
  194 + @ApiOperation("教师授课信息")
  195 + @RequestMapping(value = "initTeacherCourse", method = RequestMethod.POST)
  196 + public BaseVo initTeacherCourse(@RequestBody InitTeacherCourseReqVo initTeacherCourseReqVo){
  197 + BaseVo baseVo = new BaseVo();
  198 + Date date = new Date();
  199 + try{
  200 + TeacherClass temp = new TeacherClass();
  201 + Schedule schedule = scheduleService.selectById(initTeacherCourseReqVo.getScheduleId());
  202 + if(schedule != null && schedule.getSpeed() == 2) {
  203 + temp.setSchoolId(schedule.getSchoolId());
  204 + temp.setTeam(schedule.getTeam());
  205 + List<TeacherClass> list = teacherClassService.selectBySchoolAndTeam(temp);
  206 + if (list != null && list.size() > 0) {
  207 + teacherClassService.deleteBySchoolAndTeam(temp);
  208 + }
  209 + String fileUrl = initTeacherCourseReqVo.getUrl();
  210 + fileUrl = fileUrl.replace(url, staticUrl);
  211 + File excelFile = new File(fileUrl);
  212 + // 获得工作簿
  213 + String file = excelFile.getName();
  214 + Workbook workbook = null;
  215 + if (file.endsWith("xls")) {
  216 + workbook = new HSSFWorkbook(new FileInputStream(excelFile));
  217 + } else {
  218 + workbook = new XSSFWorkbook(new FileInputStream(excelFile));
  219 + }
  220 + // 获得工作表
  221 + Sheet sheet = workbook.getSheetAt(0);
  222 + int rows = sheet.getPhysicalNumberOfRows();
  223 + Map<Integer, Course> courseTeacherMap = new HashMap<>();
  224 + int courseNumber = 0;
  225 + List<TeacherClass> teacherClasses = new ArrayList<>();
  226 + for (int i = 0; i < rows; i++) {
  227 + // 获取第i行数据
  228 + Row sheetRow = sheet.getRow(i);
  229 + if (i == 0) {
  230 + //获取表头
  231 + int j = 1;
  232 + while (sheetRow.getCell(2 * j) != null && StringUtils.isNotBlank(sheetRow.getCell(2 * j).getStringCellValue().trim())) {
  233 + Course course = courseService.selectBySchoolIdAndCourseName(schedule.getSchoolId(), sheetRow.getCell(2 * j).getStringCellValue().trim());
  234 + courseTeacherMap.put(j, course);
  235 + j++;
  236 + }
  237 + courseNumber = j - 1;
  238 + } else {
  239 + if (StringUtils.isBlank(sheetRow.getCell(0).getStringCellValue().trim())) {
  240 + continue;
  241 + }
  242 + String className = sheetRow.getCell(1).getStringCellValue().trim();
  243 + ClassModel classModel = new ClassModel();
  244 + classModel.setSchoolId(schedule.getSchoolId());
  245 + classModel.setClassName(className);
  246 + classModel.setGrade(sheetRow.getCell(0).getStringCellValue().trim());
  247 + ClassModel resultClass = classModelService.selectBySchoolIdAndClassNameAndGrade(classModel);
  248 + for (int j = 1; j <= courseNumber; j++) {
  249 + Cell cell = sheetRow.getCell(2 * j);
  250 + if (cell != null) {
  251 + cell.setCellType(CellType.STRING);
  252 + String times = sheetRow.getCell(2 * j).getStringCellValue().trim();
  253 + if (StringUtils.isNotBlank((times))) {
  254 + Course course = courseTeacherMap.get(j);
  255 + String teacherName = sheetRow.getCell(2 * j + 1).getStringCellValue().trim();
  256 + Teacher teacher = new Teacher();
  257 + teacher.setTeacherName(teacherName);
  258 + teacher.setSchoolId(schedule.getSchoolId());
  259 + Teacher resultTeacher = teacherService.selectByTeacher(teacher);
  260 + if (course != null && resultTeacher != null) {
  261 + TeacherClass teacherClass = new TeacherClass();
  262 + teacherClass.setTeam(schedule.getTeam());
  263 + teacherClass.setSchoolId(schedule.getSchoolId());
  264 + teacherClass.setCourseName(course.getCourseName());
  265 + teacherClass.setTeacherName(resultTeacher.getTeacherName());
  266 + teacherClass.setTeacherId(resultTeacher.getTeacherId());
  267 + teacherClass.setGrade(sheetRow.getCell(0).getStringCellValue().trim());
  268 + teacherClass.setClassId(resultClass.getClassId());
  269 + String[] msg = times.split("\\+");
  270 + if (msg.length > 1) {
  271 + //有联课
  272 + teacherClass.setJoinTimes(Integer.valueOf(msg[1]));
  273 + teacherClass.setTimes(Integer.valueOf(msg[1]) * 2 + Integer.valueOf(msg[0]));
  274 + } else {
  275 + teacherClass.setJoinTimes(0);
  276 + teacherClass.setTimes(Integer.valueOf(msg[0]));
  277 + }
  278 + teacherClass.setStatus(0);
  279 + teacherClass.setCreateTime(date);
  280 + teacherClasses.add(teacherClass);
  281 + } else {
  282 + baseVo.setMessage("课程或老师缺失");
  283 + baseVo.setSuccess(false);
  284 + return baseVo;
  285 + }
  286 + }
  287 +
  288 + }
  289 + }
  290 + }
  291 + }
  292 + teacherClassService.insertBatch(teacherClasses);
  293 + schedule.setSpeed(3);
  294 + scheduleService.updateSpeed(schedule);
  295 + }else {
  296 + baseVo.setMessage("排课计划不存在或已导入");
  297 + baseVo.setSuccess(false);
  298 + }
  299 + }catch (Exception e){
  300 + System.out.println(e);
  301 + baseVo.setSuccess(false);
  302 + }
  303 + return baseVo;
  304 + }
  305 +
  306 + private void initMessage(int schoolId){
  307 + JSONObject teacherList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolTeacher?SchoolId="+schoolId);
  308 + List<JSONObject> openTeacherList = (List<JSONObject>)teacherList.get("data");
  309 + List<Teacher> teachers = new ArrayList<>();
  310 + for(JSONObject json :openTeacherList){
  311 + Teacher teacher = new Teacher();
  312 + teacher.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
  313 + teacher.setTeacherId(Integer.valueOf(json.get("teacher_id").toString()));
  314 + teacher.setTeacherName(json.get("name").toString());
  315 + teachers.add(teacher);
  316 + }
  317 + initTeacher(teachers);
  318 + JSONObject classList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolClass?SchoolId="+schoolId);
  319 + List<JSONObject> openClasses = (List<JSONObject>)classList.get("data");
  320 + List<ClassModel> classModels = new ArrayList<>();
  321 + for(JSONObject json :openClasses){
  322 + ClassModel classModel = new ClassModel();
  323 + classModel.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
  324 + classModel.setClassId(Integer.valueOf(json.get("class_id").toString()));
  325 + classModel.setGrade(json.get("gardeName").toString());
  326 + classModel.setClassName(json.get("class_name").toString());
  327 + classModels.add(classModel);
  328 + }
  329 + initClass(classModels);
  330 + JSONObject courseList = HttpClientUtils.httpGet(url+"/api/EasyN/GetSchoolSubject?SchoolId="+schoolId);
  331 + List<JSONObject> openCourses = (List<JSONObject>)courseList.get("data");
  332 + List<Course> courses = new ArrayList<>();
  333 + for(JSONObject json :openCourses){
  334 + Course course = new Course();
  335 + course.setSchoolId(Integer.valueOf(json.get("school_id").toString()));
  336 + course.setCourseId(Integer.valueOf(json.get("subject_id").toString()));
  337 + course.setCourseName(json.get("subject_name").toString());
  338 + course.setCourseType(0);
  339 + courses.add(course);
  340 + }
  341 + initCourse(courses);
  342 + }
  343 +
  344 + public BaseVo initCourse(List<Course> courseList){
  345 + BaseVo baseVo = new BaseVo();
  346 + courseService.deleteSchoolId(courseList.get(0).getSchoolId());
  347 + for(Course course : courseList){
  348 + if(course.getCourseId() == 0 || StringUtils.isBlank(course.getCourseName())){
  349 + baseVo.setSuccess(false);
  350 + baseVo.setMessage("缺少参数");
  351 + break;
  352 + }
  353 + }
  354 + if(baseVo.isSuccess()){
  355 + courseService.insertBatch(courseList);
  356 + baseVo.setSuccess(true);
  357 + return baseVo;
  358 + }else {
  359 + return baseVo;
  360 + }
  361 + }
  362 +
  363 + public BaseVo initClass(List<ClassModel> classList){
  364 + BaseVo baseVo = new BaseVo();
  365 + classModelService.deleteSchool(classList.get(0).getSchoolId());
  366 + for(ClassModel classModel : classList){
  367 + if(classModel.getClassId() == 0 || StringUtils.isBlank(classModel.getClassName()) ||
  368 + StringUtils.isBlank(classModel.getGrade()) || classModel.getSchoolId() == 0){
  369 + baseVo.setSuccess(false);
  370 + baseVo.setMessage("缺少参数");
  371 + break;
  372 + }
  373 + }
  374 + if(baseVo.isSuccess()){
  375 + classModelService.insertBatch(classList);
  376 + baseVo.setSuccess(true);
  377 + return baseVo;
  378 + }else {
  379 + return baseVo;
  380 + }
  381 + }
  382 +
  383 + public BaseVo initTeacher(List<Teacher> teacherList){
  384 + List<Teacher> result = new ArrayList<>();
  385 + for(Teacher teacher : teacherList){
  386 + boolean isExist = false;
  387 + for(Teacher t : result){
  388 + if(t.getTeacherName().equals(teacher.getTeacherName())){
  389 + isExist = true;
  390 + }
  391 + }
  392 + if(!isExist && StringUtils.isNotBlank(teacher.getTeacherName())){
  393 + result.add(teacher);
  394 + }
  395 + }
  396 + BaseVo baseVo = new BaseVo();
  397 + teacherService.deleteSchool(result.get(0).getSchoolId());
  398 + for(Teacher teacher : result){
  399 + if(teacher.getSchoolId() == 0 || StringUtils.isBlank(teacher.getTeacherName()) ||
  400 + teacher.getTeacherId() == 0){
  401 + baseVo.setSuccess(false);
  402 + baseVo.setMessage("缺少参数");
  403 + break;
  404 + }
  405 + }
  406 + if(baseVo.isSuccess()){
  407 + teacherService.insertBatch(result);
  408 + baseVo.setSuccess(true);
  409 + return baseVo;
  410 + }else {
  411 + return baseVo;
  412 + }
  413 + }
  414 +
  415 +}
... ...
src/main/java/com/jevon/controller/ScheduleMessageController.java 0 → 100644
... ... @@ -0,0 +1,322 @@
  1 +package com.jevon.controller;
  2 +
  3 +import com.jevon.model.*;
  4 +import com.jevon.service.*;
  5 +import com.jevon.utils.ExcelUtils;
  6 +import com.jevon.vo.BaseVo;
  7 +import com.jevon.vo.rep.*;
  8 +import com.jevon.vo.req.CourseClassReqVo;
  9 +import com.jevon.vo.req.GetClassCourseReqVo;
  10 +import com.jevon.vo.req.ScheduleIdReqVo;
  11 +import com.jevon.vo.req.SchoolIdReqVo;
  12 +import io.swagger.annotations.Api;
  13 +import io.swagger.annotations.ApiOperation;
  14 +import org.springframework.beans.factory.annotation.Autowired;
  15 +import org.springframework.web.bind.annotation.RequestBody;
  16 +import org.springframework.web.bind.annotation.RequestMapping;
  17 +import org.springframework.web.bind.annotation.RequestMethod;
  18 +import org.springframework.web.bind.annotation.RestController;
  19 +
  20 +import javax.servlet.http.HttpServletRequest;
  21 +import javax.servlet.http.HttpServletResponse;
  22 +import java.util.ArrayList;
  23 +import java.util.HashMap;
  24 +import java.util.List;
  25 +import java.util.Map;
  26 +
  27 +/**
  28 + * @author chen
  29 + * @version 1.0
  30 + * @date 2019/10/11 0011 14:00
  31 + */
  32 +@RestController
  33 +@Api(value = "获取信息")
  34 +public class ScheduleMessageController {
  35 +
  36 + @Autowired
  37 + ScheduleService scheduleService;
  38 +
  39 + @Autowired
  40 + CourseService courseService;
  41 +
  42 + @Autowired
  43 + ClassCourseService classCourseService;
  44 +
  45 + @Autowired
  46 + ClassModelService classModelService;
  47 +
  48 + @Autowired
  49 + JoinClassService joinClassService;
  50 +
  51 + @Autowired
  52 + TeacherClassService teacherClassService;
  53 +
  54 + @ApiOperation("获取学校排课计划")
  55 + @RequestMapping(value = "getScheduleList", method = RequestMethod.POST)
  56 + public ScheduleListRepVo getScheduleList(@RequestBody SchoolIdReqVo schoolIdReqVo){
  57 + ScheduleListRepVo scheduleListRepVo = new ScheduleListRepVo();
  58 + scheduleListRepVo.setData(scheduleService.selectBySchool(schoolIdReqVo.getSchoolId()));
  59 + return scheduleListRepVo;
  60 + }
  61 +
  62 + @ApiOperation("获取学校下所有班级信息")
  63 + @RequestMapping(value = "getClassList", method = RequestMethod.POST)
  64 + public ClassRepVo getClassList(@RequestBody SchoolIdReqVo schoolIdReqVo){
  65 + ClassRepVo classRepVo = new ClassRepVo();
  66 + classRepVo.setData(classModelService.selectBySchoolId(schoolIdReqVo.getSchoolId()));
  67 + return classRepVo;
  68 + }
  69 +
  70 + @ApiOperation("获取学校课程")
  71 + @RequestMapping(value = "getCourseList", method = RequestMethod.POST)
  72 + public CourseRepVo getCourseList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
  73 + CourseRepVo courseRepVo = new CourseRepVo();
  74 + Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
  75 + if(schedule == null){
  76 + courseRepVo.setSuccess(false);
  77 + courseRepVo.setMessage("请先创建计划");
  78 + return courseRepVo;
  79 + }
  80 + courseRepVo.setData(courseService.selectBySchoolId(schedule.getSchoolId()));
  81 + return courseRepVo;
  82 + }
  83 +
  84 + @ApiOperation("获取要学习某个学科的班级集合")
  85 + @RequestMapping(value = "getCourseClassList", method = RequestMethod.POST)
  86 + public List<GetCourseClassListRepVo> getCourseClassList(@RequestBody CourseClassReqVo courseClassReqVo){
  87 + List<GetCourseClassListRepVo> repVos = new ArrayList<>();
  88 + Schedule schedule = scheduleService.selectById(courseClassReqVo.getScheduleId());
  89 + if(schedule == null){
  90 + return null;
  91 + }
  92 + TeacherClass search = new TeacherClass();
  93 + search.setSchoolId(schedule.getSchoolId());
  94 + search.setTeam(schedule.getTeam());
  95 + String courseName =courseService.selectBySchoolIdAndCourseId(schedule.getSchoolId(),courseClassReqVo.getCourseId()).getCourseName();
  96 + search.setCourseName(courseName);
  97 + List<TeacherClass> list = teacherClassService.selectByCourseName(search);
  98 + for(TeacherClass teacherClass : list){
  99 + GetCourseClassListRepVo repVo = new GetCourseClassListRepVo();
  100 + repVo.setClassId(teacherClass.getClassId());
  101 + repVo.setClassName(classModelService.selectByPrimaryKey(teacherClass.getClassId()).getClassName());
  102 + repVo.setCourseId(courseClassReqVo.getCourseId());
  103 + repVo.setCourseName(courseName);
  104 + repVo.setTeacherName(teacherClass.getTeacherName());
  105 + repVos.add(repVo);
  106 + }
  107 + return repVos;
  108 + }
  109 +
  110 + @ApiOperation("获取班级排课课程")
  111 + @RequestMapping(value = "getClassCourseList", method = RequestMethod.POST)
  112 + public ClassCourseRepVo getClassCourseList(@RequestBody GetClassCourseReqVo getClassCourseReqVo){
  113 + ClassCourseRepVo classCourseRepVo = new ClassCourseRepVo();
  114 + Schedule schedule = scheduleService.selectById(getClassCourseReqVo.getScheduleId());
  115 + if(schedule == null){
  116 + classCourseRepVo.setSuccess(false);
  117 + classCourseRepVo.setMessage("请先创建计划");
  118 + return classCourseRepVo;
  119 + }
  120 + ClassCourse search = new ClassCourse();
  121 + search.setClassId(getClassCourseReqVo.getClassId());
  122 + search.setSingleOrDouble(1);
  123 + search.setTeam(schedule.getTeam());
  124 + classCourseRepVo.setData(classCourseService.selectByClassIdAndSingleOrDouble(search));
  125 + return classCourseRepVo;
  126 + }
  127 +
  128 + @ApiOperation("获取合班信息")
  129 + @RequestMapping(value = "getJoinList", method = RequestMethod.POST)
  130 + public JoinRepVo getJoinList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
  131 + JoinRepVo joinRepVo = new JoinRepVo();
  132 + Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
  133 + JoinClass joinClass = new JoinClass();
  134 + joinClass.setSchoolId(schedule.getSchoolId());
  135 + joinClass.setTeam(schedule.getTeam());
  136 + List<JoinClass> list = joinClassService.selectByCourse(joinClass);
  137 + List<JoinDetail> joinDetails = new ArrayList<>();
  138 + for(JoinClass temp : list){
  139 + boolean flag = false ;
  140 + ClassModel classModel = classModelService.selectByPrimaryKey(temp.getClassId());
  141 + for(JoinDetail joinDetail : joinDetails){
  142 + if(temp.getCourseGroup() == joinDetail.getCourseGroup()){
  143 + flag = true;
  144 + if(!joinDetail.getClassName().contains(classModel.getClassName())){
  145 + joinDetail.setClassName(joinDetail.getClassName()+","+classModel.getClassName());
  146 + }
  147 + }
  148 + }
  149 + if(!flag){
  150 + JoinDetail joinDetail = new JoinDetail();
  151 + joinDetail.setCourseGroup(temp.getCourseGroup());
  152 + joinDetail.setClassName(classModel.getClassName());
  153 + joinDetail.setCourseName(temp.getCourseName());
  154 + TeacherClass search = new TeacherClass();
  155 + search.setSchoolId(schedule.getSchoolId());
  156 + search.setTeam(schedule.getTeam());
  157 + search.setClassId(temp.getClassId());
  158 + search.setCourseName(temp.getCourseName());
  159 + joinDetail.setTeacherName(teacherClassService.selectByCourseAndClass(search).getTeacherName());
  160 + joinDetails.add(joinDetail);
  161 + }
  162 + }
  163 + joinRepVo.setData(joinDetails);
  164 + return joinRepVo;
  165 + }
  166 +
  167 + @ApiOperation("获取导入任课信息")
  168 + @RequestMapping(value = "getTeacherClassList", method = RequestMethod.POST)
  169 + public TeacherCourseRepVo getTeacherClassList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
  170 + TeacherCourseRepVo teacherCourseRepVo = new TeacherCourseRepVo();
  171 + Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
  172 + TeacherClass temp = new TeacherClass();
  173 + temp.setSchoolId(schedule.getSchoolId());
  174 + temp.setTeam(schedule.getTeam());
  175 + List<ClassCourseVO> data = new ArrayList<>();
  176 + List<String> courseNameList = new ArrayList<>();
  177 + List<TeacherClass> teacherClasses = teacherClassService.selectBySchoolAndTeam(temp);
  178 + for(TeacherClass teacherClass :teacherClasses){
  179 + boolean isExist = false;
  180 + if(!courseNameList.contains(teacherClass.getCourseName())){
  181 + courseNameList.add(teacherClass.getCourseName());
  182 + }
  183 + for(ClassCourseVO classCourseVO : data){
  184 + if(classCourseVO.getClassId() == teacherClass.getClassId()){
  185 + isExist = true ;
  186 + ClassCourseDetailVo classCourseDetailVo = new ClassCourseDetailVo(teacherClass);
  187 + List<ClassCourseDetailVo> classCourseDetailVos = classCourseVO.getList();
  188 + classCourseDetailVos.add(classCourseDetailVo);
  189 + classCourseVO.setAllCount(classCourseVO.getAllCount()+teacherClass.getTimes());
  190 + classCourseVO.setList(classCourseDetailVos);
  191 + }
  192 + }
  193 + if(!isExist){
  194 + ClassCourseVO classCourseVO = new ClassCourseVO();
  195 + classCourseVO.setClassId(teacherClass.getClassId());
  196 + classCourseVO.setAllCount(teacherClass.getTimes());
  197 + classCourseVO.setClassName(classModelService.selectByPrimaryKey(teacherClass.getClassId()).getClassName());
  198 + List<ClassCourseDetailVo> classCourseDetailVos = new ArrayList<>();
  199 + classCourseDetailVos.add(new ClassCourseDetailVo(teacherClass));
  200 + classCourseVO.setList(classCourseDetailVos);
  201 + data.add(classCourseVO);
  202 + }
  203 + }
  204 + teacherCourseRepVo.setData(data);
  205 + teacherCourseRepVo.setCourseNameList(courseNameList);
  206 + return teacherCourseRepVo;
  207 + }
  208 +
  209 + @ApiOperation("获取主课,副科,公共课列表")
  210 + @RequestMapping(value = "getCourseTypeList", method = RequestMethod.POST)
  211 + public GetCourseTypeListRepVo getCourseTypeList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
  212 + GetCourseTypeListRepVo getCourseTypeListRepVo = new GetCourseTypeListRepVo();
  213 + List<CourseTypeListVO> data = new ArrayList<>();
  214 + Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
  215 + if(schedule == null){
  216 + getCourseTypeListRepVo.setSuccess(false);
  217 + getCourseTypeListRepVo.setMessage("请先创建计划");
  218 + return getCourseTypeListRepVo;
  219 + }
  220 + for(int i = 1 ; i <=3 ; i++){
  221 + CourseTypeListVO vo = new CourseTypeListVO();
  222 + vo.setCourseType(i);
  223 + switch (i){
  224 + case 1 :
  225 + vo.setCourseTypeName("主课");
  226 + break;
  227 + case 2:
  228 + vo.setCourseTypeName("副科");
  229 + break;
  230 + case 3:
  231 + vo.setCourseTypeName("公共课");
  232 + break;
  233 + }
  234 + Course course = new Course();
  235 + course.setSchoolId(schedule.getSchoolId());
  236 + course.setCourseType(i);
  237 + vo.setList(courseService.selectByCourse(course));
  238 + data.add(vo);
  239 + }
  240 + getCourseTypeListRepVo.setData(data);
  241 + getCourseTypeListRepVo.setScheduleId(schedule.getSchoolId());
  242 + return getCourseTypeListRepVo;
  243 + }
  244 +
  245 + @ApiOperation("获取未设置学科类型的科目")
  246 + @RequestMapping(value = "getUnCourseList", method = RequestMethod.POST)
  247 + public CourseRepVo getUnCourseList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
  248 + CourseRepVo courseRepVo = new CourseRepVo();
  249 + Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
  250 + if(schedule == null){
  251 + courseRepVo.setSuccess(false);
  252 + courseRepVo.setMessage("请先创建计划");
  253 + return courseRepVo;
  254 + }
  255 + Course course = new Course();
  256 + course.setSchoolId(schedule.getSchoolId());
  257 + course.setCourseType(0);
  258 + courseRepVo.setData(courseService.selectByCourse(course));
  259 + return courseRepVo;
  260 + }
  261 +
  262 + @ApiOperation("删除设置的 主课 副科 公共课")
  263 + @RequestMapping(value = "deleteCourseType", method = RequestMethod.POST)
  264 + public BaseVo deleteCourseType(@RequestBody CourseClassReqVo courseClassReqVo){
  265 + BaseVo baseVo = new BaseVo();
  266 + Schedule schedule = scheduleService.selectById(courseClassReqVo.getScheduleId());
  267 + if(schedule == null){
  268 + baseVo.setSuccess(false);
  269 + baseVo.setMessage("请先创建计划");
  270 + return baseVo;
  271 + }
  272 + if(teacherClassService.selectHasSchedule(schedule.getSchoolId(),schedule.getTeam()) > 0){
  273 + baseVo.setSuccess(false);
  274 + baseVo.setMessage("已经排课,不能再删除");
  275 + return baseVo;
  276 + }
  277 + courseService.updateCourseType(courseClassReqVo.getCourseId(),0,schedule.getSchoolId());
  278 + return baseVo;
  279 + }
  280 +
  281 + @ApiOperation("获取设置的作息 获取排课计划详情")
  282 + @RequestMapping(value = "getSchedule", method = RequestMethod.POST)
  283 + public Schedule getSchedule(@RequestBody ScheduleIdReqVo scheduleIdReqVo){
  284 + Schedule schedule = scheduleService.selectById(scheduleIdReqVo.getScheduleId());
  285 + return schedule;
  286 + }
  287 +
  288 + @ApiOperation("导出模板")
  289 + @RequestMapping(value = "export", method = RequestMethod.GET)
  290 + public void export(int scheduleId , HttpServletRequest request, HttpServletResponse response){
  291 + ExcelUtils excelUtils = new ExcelUtils();
  292 + Schedule schedule = scheduleService.selectById(scheduleId);
  293 + List<String> headList = new ArrayList<>();
  294 + headList.add("年级");
  295 + headList.add("班级");
  296 + List<Course> courses = courseService.selectBySchoolId2(schedule.getSchoolId());
  297 + for(Course course : courses){
  298 + headList.add(course.getCourseName());
  299 + headList.add("任课老师");
  300 +
  301 + }
  302 + List<String> heardKey = new ArrayList<>();
  303 + heardKey.add("grade");
  304 + heardKey.add("class");
  305 + List<Map<String , String >> data = new ArrayList<>();
  306 + List<ClassModel> list = classModelService.selectBySchoolId(schedule.getSchoolId());
  307 + for(ClassModel classModel : list){
  308 + Map<String ,String> map = new HashMap<>();
  309 + map.put("grade",classModel.getGrade());
  310 + map.put("class",classModel.getClassName());
  311 + data.add(map);
  312 + }
  313 + excelUtils.setHeardList(headList);
  314 + excelUtils.setHeardKey(heardKey);
  315 + excelUtils.setData(data);
  316 + try{
  317 + excelUtils.exportExport(request,response);
  318 + }catch (Exception e){
  319 +
  320 + }
  321 + }
  322 +}
... ...
src/main/java/com/jevon/mapper/CourseMapper.java
... ... @@ -15,6 +15,8 @@ public interface CourseMapper {
15 15  
16 16 List<Course> selectBySchoolId(int schoolId);
17 17  
  18 + List<Course> selectBySchoolId2(int schoolId);
  19 +
18 20 List<Course> selectByCourse(Course course);
19 21  
20 22 int updateCourseType(Course course);
... ...
src/main/java/com/jevon/service/CourseService.java
... ... @@ -15,6 +15,8 @@ public interface CourseService {
15 15  
16 16 List<Course> selectBySchoolId(int schoolId);
17 17  
  18 + List<Course> selectBySchoolId2(int schoolId);
  19 +
18 20 List<Course> selectByCourse(Course course);
19 21  
20 22 Course selectBySchoolIdAndCourseId(int schoolId , int courseId);
... ...
src/main/java/com/jevon/service/impl/CourseServiceImpl.java
... ... @@ -30,6 +30,11 @@ public class CourseServiceImpl implements CourseService {
30 30 }
31 31  
32 32 @Override
  33 + public List<Course> selectBySchoolId2(int schoolId) {
  34 + return courseMapper.selectBySchoolId2(schoolId);
  35 + }
  36 +
  37 + @Override
33 38 public List<Course> selectByCourse(Course course) {
34 39 return courseMapper.selectByCourse(course);
35 40 }
... ...
src/main/java/com/jevon/vo/req/InitAnalyseReqVo.java 0 → 100644
... ... @@ -0,0 +1,28 @@
  1 +package com.jevon.vo.req;
  2 +
  3 +/**
  4 + * @author chen
  5 + * @version 1.0
  6 + * @date 2019/10/17 0017 13:36
  7 + */
  8 +public class InitAnalyseReqVo {
  9 +
  10 + private int analyseId ;
  11 + private String url ;
  12 +
  13 + public int getAnalyseId() {
  14 + return analyseId;
  15 + }
  16 +
  17 + public void setAnalyseId(int analyseId) {
  18 + this.analyseId = analyseId;
  19 + }
  20 +
  21 + public String getUrl() {
  22 + return url;
  23 + }
  24 +
  25 + public void setUrl(String url) {
  26 + this.url = url;
  27 + }
  28 +}
... ...
src/main/resources/application.yml
... ... @@ -2,26 +2,13 @@ server:
2 2 port: 8008
3 3  
4 4 spring:
5   - freemarker:
6   - template-loader-path: classpath:/templates/
7   - prefix:
8   - suffix: .html
9   - ##是否允许使用request
10   - allow-request-override: true
11   - request-context-attribute: request
12   -
13   - cache: false
14   - check-template-location: true
15   - charset: UTF-8
16   - content-type: text/html;charset=UTF-8
17   - expose-request-attributes: false
18   - expose-session-attributes: false
19   - expose-spring-macro-helpers: false
20   -
21 5 datasource:
22 6 username: SZJXTUSER
23 7 password: xst200919
24 8 url: jdbc:sqlserver://60.190.202.57:14333;database=SmartPaike
  9 +# username: szjxtuser
  10 +# password: RQminVCJota3H1u8bBYH
  11 +# url: jdbc:sqlserver://116.62.155.137:33419;database=SmartCampus_java
25 12 driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
26 13 filters: stat
27 14 maxActive: 20
... ... @@ -52,3 +39,9 @@ pagehelper:
52 39 Logger:
53 40 level:
54 41 com.jevon.mapper: info
  42 +
  43 +remoting:
  44 + url: http://60.190.202.57:1000
  45 + prefixFile: F://wwwroot//smartcampus
  46 +# url: http://campus.myjxt.com
  47 +# prefixFile: E://wwwhtdocs//SmartCampus
... ...
src/main/resources/logback.xml
... ... @@ -5,7 +5,7 @@
5 5  
6 6     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
7 7 <!--    <property name="LOG_HOME" value="/opt/web/log/" />-->
8   - <property name="LOG_HOME" value="D://log"/>
  8 + <property name="LOG_HOME" value="E://smartCampus_java//log"/>
9 9  
10 10     <!-- 控制台输出 -->
11 11     <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
... ...
src/main/resources/mapping/CourseMapper.xml
... ... @@ -22,6 +22,10 @@
22 22 and sz_sch_course.course_name in ( select course_name from sz_sch_teacher_class where school_id = #{schoolId})
23 23 </select>
24 24  
  25 + <select id="selectBySchoolId2" parameterType="java.lang.Integer" resultMap="BaseResultMap">
  26 + select * from sz_sch_course where school_Id = #{schoolId}
  27 + </select>
  28 +
25 29 <delete id="deleteSchoolId" parameterType="java.lang.Integer">
26 30 delete from sz_sch_course where school_Id =#{schoolId}
27 31 </delete>
... ...