From 96601d7c3629169bcbf1881c2008c23e92527594 Mon Sep 17 00:00:00 2001 From: 陈杰 <504987307@qq.com> Date: Thu, 14 Nov 2019 10:42:42 +0800 Subject: [PATCH] 学情 排课 嵌入分布式 --- cloud/common/pom.xml | 21 +++++++++++++++++++++ cloud/common/src/main/java/com/sincere/common/util/ExcelUtils.java | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseClassReqVo.java | 28 ++++++++++++++++++++++++++++ cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseTypeListVO.java | 1 - cloud/common/src/main/java/com/sincere/common/vo/independence/paike/GetClassCourseReqVo.java | 28 ++++++++++++++++++++++++++++ cloud/common/src/main/java/com/sincere/common/vo/independence/paike/InitTeacherCourseReqVo.java | 27 +++++++++++++++++++++++++++ cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleIdReqVo.java | 19 +++++++++++++++++++ cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleRepVo.java | 21 +++++++++++++++++++++ cloud/common/src/main/java/com/sincere/common/vo/independence/paike/SchoolIdReqVo.java | 19 +++++++++++++++++++ cloud/common/src/main/java/com/sincere/common/vo/independence/paike/UpdateScheduleReqVo.java | 36 ++++++++++++++++++++++++++++++++++++ cloud/independence/src/main/java/com/sincere/independence/controller/LearnController.java | 55 +++++++++++++++++++++++++++---------------------------- cloud/independence/src/main/java/com/sincere/independence/controller/LearnStatController.java | 38 +++++++++++++++++++------------------- cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleController.java | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cloud/independence/src/main/java/com/sincere/independence/feign/IndependenceFeign.java | 218 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ cloud/independence/src/main/java/com/sincere/independence/feign/LearnFeign.java | 121 ------------------------------------------------------------------------------------------------------------------------- cloud/independence/src/main/java/com/sincere/independence/filter/AllowOriginFilter.java | 76 ++++++++++++++++++++++++++++++++++++++-------------------------------------- cloud/independence/src/main/resources/application.yaml | 7 ++++++- cloud/search_independence/pom.xml | 17 +++++++++++++++++ cloud/search_independence/src/main/java/com/sincere/independence/IndependenceSearchApplication.java | 2 +- cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------- cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java | 28 +++++++++++++++++++++------- cloud/search_independence/src/main/java/com/sincere/independence/model/TeacherClass.java | 31 ++++++++++++++++++++----------- cloud/search_independence/src/main/resources/application.yml | 1 + cloud/search_independence/src/main/resources/mapper/ScheduleMapper.xml | 2 +- 26 files changed, 1142 insertions(+), 260 deletions(-) create mode 100644 cloud/common/src/main/java/com/sincere/common/util/ExcelUtils.java create mode 100644 cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseClassReqVo.java create mode 100644 cloud/common/src/main/java/com/sincere/common/vo/independence/paike/GetClassCourseReqVo.java create mode 100644 cloud/common/src/main/java/com/sincere/common/vo/independence/paike/InitTeacherCourseReqVo.java create mode 100644 cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleIdReqVo.java create mode 100644 cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleRepVo.java create mode 100644 cloud/common/src/main/java/com/sincere/common/vo/independence/paike/SchoolIdReqVo.java create mode 100644 cloud/common/src/main/java/com/sincere/common/vo/independence/paike/UpdateScheduleReqVo.java create mode 100644 cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleController.java create mode 100644 cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java create mode 100644 cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java create mode 100644 cloud/independence/src/main/java/com/sincere/independence/feign/IndependenceFeign.java delete mode 100644 cloud/independence/src/main/java/com/sincere/independence/feign/LearnFeign.java diff --git a/cloud/common/pom.xml b/cloud/common/pom.xml index 1f9bd63..785ef72 100644 --- a/cloud/common/pom.xml +++ b/cloud/common/pom.xml @@ -60,6 +60,27 @@ springfox-swagger-ui 2.5.0 + + commons-net + commons-net + 2.0 + + + org.apache.poi + poi + 4.1.0 + + + + org.apache.poi + poi-ooxml + 4.1.0 + + + org.apache.commons + commons-lang3 + 3.3.2 + diff --git a/cloud/common/src/main/java/com/sincere/common/util/ExcelUtils.java b/cloud/common/src/main/java/com/sincere/common/util/ExcelUtils.java new file mode 100644 index 0000000..2a5463a --- /dev/null +++ b/cloud/common/src/main/java/com/sincere/common/util/ExcelUtils.java @@ -0,0 +1,147 @@ +package com.sincere.common.util; + +import com.google.common.base.Strings; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.hssf.usermodel.HSSFCell; +import org.apache.poi.hssf.usermodel.HSSFRow; +import org.apache.poi.hssf.usermodel.HSSFSheet; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.math.BigDecimal; +import java.util.List; +import java.util.Map; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/16 0016 18:46 + */ +public class ExcelUtils { + + //各个列的表头 + private List heardList; + //各个列的元素key值 + private List heardKey; + //需要填充的数据信息 + private List> data; + //工作表 + private String sheetName = "模板"; + + + public List getHeardList() { + return heardList; + } + + public void setHeardList(List heardList) { + this.heardList = heardList; + } + + public List getHeardKey() { + return heardKey; + } + + public void setHeardKey(List heardKey) { + this.heardKey = heardKey; + } + + public List> getData() { + return data; + } + + public void setData(List> data) { + this.data = data; + } + + public String getSheetName() { + return sheetName; + } + + public void setSheetName(String sheetName) { + this.sheetName = sheetName; + } + + /** + * 开始导出数据信息 + * + */ + public byte[] exportExport(HttpServletRequest request, HttpServletResponse response) throws IOException { + //检查参数配置信息 + checkConfig(); + //创建工作簿 + HSSFWorkbook wb = new HSSFWorkbook(); + //创建工作表 + HSSFSheet wbSheet = wb.createSheet(this.sheetName); + + //在第0行创建rows + HSSFRow row = wbSheet.createRow((int)0); + //设置列头元素 + HSSFCell cellHead = null; + for (int i = 0; i < heardList.size(); i++) { + cellHead = row.createCell(i); + cellHead.setCellValue(heardList.get(i)); + } + //开始写入实体数据信息 + int a = 1; + for (int i = 0; i < data.size(); i++) { + HSSFRow roww = wbSheet.createRow((int) a); + Map map = data.get(i); + HSSFCell cell = null; + for (int j = 0; j < heardKey.size(); j++) { + cell = roww.createCell(j); + Object valueObject = map.get(heardKey.get(j)); + String value = null; + if (valueObject == null) { + valueObject = ""; + } + if (valueObject instanceof String) { + //取出的数据是字符串直接赋值 + value = (String) map.get(heardKey.get(j)); + } else if (valueObject instanceof Integer) { + //取出的数据是Integer + value = String.valueOf(((Integer) (valueObject)).floatValue()); + } else if (valueObject instanceof BigDecimal) { + //取出的数据是BigDecimal + value = String.valueOf(((BigDecimal) (valueObject)).floatValue()); + } else { + value = valueObject.toString(); + } + cell.setCellValue(Strings.isNullOrEmpty(value) ? "" : value); + } + a++; + } + + //导出数据 + try { + //设置Http响应头告诉浏览器下载这个附件 + response.setHeader("Content-Disposition", "attachment;Filename=" + System.currentTimeMillis() + ".xls"); + OutputStream outputStream = response.getOutputStream(); + wb.write(outputStream); + outputStream.flush(); + outputStream.close(); + return wb.getBytes(); + } catch (Exception ex) { + ex.printStackTrace(); + throw new IOException("导出Excel出现严重异常,异常信息:" + ex.getMessage()); + } + + } + + /** + * 检查数据配置问题 + * + * @throws IOException 抛出数据异常类 + */ + protected void checkConfig() throws IOException { + if (heardKey == null || heardList.size() == 0) { + throw new IOException("列名数组不能为空或者为NULL"); + } + if (StringUtils.isBlank(sheetName)) { + throw new IOException("工作表表名不能为NULL"); + } + } + +} diff --git a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseClassReqVo.java b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseClassReqVo.java new file mode 100644 index 0000000..c9f228e --- /dev/null +++ b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseClassReqVo.java @@ -0,0 +1,28 @@ +package com.sincere.common.vo.independence.paike; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/12 0012 9:18 + */ +public class CourseClassReqVo { + + private int scheduleId ; + private int courseId ; + + public int getScheduleId() { + return scheduleId; + } + + public void setScheduleId(int scheduleId) { + this.scheduleId = scheduleId; + } + + public int getCourseId() { + return courseId; + } + + public void setCourseId(int courseId) { + this.courseId = courseId; + } +} diff --git a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseTypeListVO.java b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseTypeListVO.java index 9c44bf1..56c768a 100644 --- a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseTypeListVO.java +++ b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/CourseTypeListVO.java @@ -1,6 +1,5 @@ package com.sincere.common.vo.independence.paike; -import com.jevon.model.Course; import com.sincere.common.dto.independence.CourseDto; import java.util.List; diff --git a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/GetClassCourseReqVo.java b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/GetClassCourseReqVo.java new file mode 100644 index 0000000..6e3d4e5 --- /dev/null +++ b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/GetClassCourseReqVo.java @@ -0,0 +1,28 @@ +package com.sincere.common.vo.independence.paike; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/11 0011 10:21 + */ +public class GetClassCourseReqVo { + + private int scheduleId ; + private int classId ; + + public int getScheduleId() { + return scheduleId; + } + + public void setScheduleId(int scheduleId) { + this.scheduleId = scheduleId; + } + + public int getClassId() { + return classId; + } + + public void setClassId(int classId) { + this.classId = classId; + } +} diff --git a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/InitTeacherCourseReqVo.java b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/InitTeacherCourseReqVo.java new file mode 100644 index 0000000..03c99a7 --- /dev/null +++ b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/InitTeacherCourseReqVo.java @@ -0,0 +1,27 @@ +package com.sincere.common.vo.independence.paike; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/10 0010 9:04 + */ +public class InitTeacherCourseReqVo { + private int scheduleId ; + private String url ; + + public int getScheduleId() { + return scheduleId; + } + + public void setScheduleId(int scheduleId) { + this.scheduleId = scheduleId; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } +} diff --git a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleIdReqVo.java b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleIdReqVo.java new file mode 100644 index 0000000..89be97e --- /dev/null +++ b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleIdReqVo.java @@ -0,0 +1,19 @@ +package com.sincere.common.vo.independence.paike; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/11 0011 14:41 + */ +public class ScheduleIdReqVo { + + private int scheduleId ; + + public int getScheduleId() { + return scheduleId; + } + + public void setScheduleId(int scheduleId) { + this.scheduleId = scheduleId; + } +} diff --git a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleRepVo.java b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleRepVo.java new file mode 100644 index 0000000..0aa08e5 --- /dev/null +++ b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/ScheduleRepVo.java @@ -0,0 +1,21 @@ +package com.sincere.common.vo.independence.paike; + +import com.sincere.common.vo.BaseVo; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/10 0010 11:32 + */ +public class ScheduleRepVo extends BaseVo { + + private int scheduleId ; + + public int getScheduleId() { + return scheduleId; + } + + public void setScheduleId(int scheduleId) { + this.scheduleId = scheduleId; + } +} diff --git a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/SchoolIdReqVo.java b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/SchoolIdReqVo.java new file mode 100644 index 0000000..27cf5a3 --- /dev/null +++ b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/SchoolIdReqVo.java @@ -0,0 +1,19 @@ +package com.sincere.common.vo.independence.paike; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/11 0011 14:41 + */ +public class SchoolIdReqVo { + + private int schoolId ; + + public int getSchoolId() { + return schoolId; + } + + public void setSchoolId(int schoolId) { + this.schoolId = schoolId; + } +} diff --git a/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/UpdateScheduleReqVo.java b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/UpdateScheduleReqVo.java new file mode 100644 index 0000000..524086f --- /dev/null +++ b/cloud/common/src/main/java/com/sincere/common/vo/independence/paike/UpdateScheduleReqVo.java @@ -0,0 +1,36 @@ +package com.sincere.common.vo.independence.paike; + +/** + * @author chen + * @version 1.0 + * @date 2019/10/14 0014 16:52 + */ +public class UpdateScheduleReqVo { + private int scheduleId; + private String team ; + private String scheduleName ; + + public int getScheduleId() { + return scheduleId; + } + + public void setScheduleId(int scheduleId) { + this.scheduleId = scheduleId; + } + + public String getTeam() { + return team; + } + + public void setTeam(String team) { + this.team = team; + } + + public String getScheduleName() { + return scheduleName; + } + + public void setScheduleName(String scheduleName) { + this.scheduleName = scheduleName; + } +} diff --git a/cloud/independence/src/main/java/com/sincere/independence/controller/LearnController.java b/cloud/independence/src/main/java/com/sincere/independence/controller/LearnController.java index 1361b99..f3ae6ca 100644 --- a/cloud/independence/src/main/java/com/sincere/independence/controller/LearnController.java +++ b/cloud/independence/src/main/java/com/sincere/independence/controller/LearnController.java @@ -5,7 +5,7 @@ import com.sincere.common.enums.DifficultEnums; import com.sincere.common.enums.DimensionalEnums; import com.sincere.common.util.RedisUtils; import com.sincere.common.vo.BaseVo; -import com.sincere.independence.feign.LearnFeign; +import com.sincere.independence.feign.IndependenceFeign; import com.sincere.independence.vo.*; import com.sincere.independence.vo.excel.ExamExcelVo; import com.sincere.independence.vo.excel.ScoreExcelVo; @@ -17,7 +17,6 @@ import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; -import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.FileInputStream; @@ -35,12 +34,12 @@ import java.util.*; public class LearnController { @Autowired - LearnFeign learnFeign ; + IndependenceFeign independenceFeign; @ApiOperation("获取列表") @RequestMapping(value = "getList", method = RequestMethod.POST) public List getList(){ - return learnFeign.getList(new AnalyseDto()); + return independenceFeign.getList(new AnalyseDto()); } @ApiOperation("获取详情,微信入口") @@ -51,10 +50,10 @@ public class LearnController { String[] msg = grade.split(","); for(String gradeMsg : msg){ search.setGrade(initGrade(gradeMsg,schoolName)); - List analyseList = learnFeign.getList(search); + List analyseList = independenceFeign.getList(search); if(analyseList != null && analyseList.size() > 0){ for(AnalyseDto analyse :analyseList){ - List leagues = learnFeign.getLeagueByAnalyse(analyse.getId()); + List leagues = independenceFeign.getLeagueByAnalyse(analyse.getId()); for(LeagueDto league : leagues){ if(league.getSchoolName() != null && league.getSchoolName().equals(schoolName)){ result.add(analyse); @@ -67,7 +66,7 @@ public class LearnController { if(result.size() == 0){ AnalyseDto searchAnalyse = new AnalyseDto(); searchAnalyse.setExamName("顺治中学模拟考试"); - List analyseList = learnFeign.getList(searchAnalyse); + List analyseList = independenceFeign.getList(searchAnalyse); if(analyseList != null && analyseList.size() > 0){ result.add(analyseList.get(0)); } @@ -132,14 +131,14 @@ public class LearnController { analyse.setExamTime(createExamReqVo.getExamTime()); analyse.setCreateTime(new Date()); analyse.setGrade(createExamReqVo.getGrade()); - return learnFeign.insertAnalyse(analyse); + return independenceFeign.insertAnalyse(analyse); } @ApiOperation("更新考试信息") @RequestMapping(value = "updateExam", method = RequestMethod.POST) public BaseVo updateExam(@RequestBody UpdateExamReqVo updateExamReqVo){ BaseVo baseVo = new BaseVo(); - AnalyseDto analyse = learnFeign.selectById(updateExamReqVo.getAnalyseId()); + AnalyseDto analyse = independenceFeign.selectById(updateExamReqVo.getAnalyseId()); if(analyse == null){ baseVo.setMessage("考试不存在"); baseVo.setSuccess(false); @@ -149,15 +148,15 @@ public class LearnController { analyse.setExamName(updateExamReqVo.getExamName()); analyse.setCourseName(updateExamReqVo.getCourseName()); analyse.setGrade(updateExamReqVo.getGrade()); - return learnFeign.updateAnalyse(analyse); + return independenceFeign.updateAnalyse(analyse); } @ApiOperation("试卷信息导入") @RequestMapping(value = "initAnalyse", method = RequestMethod.POST) public BaseVo initAnalyse(@RequestBody InitAnalyseReqVo initAnalyseReqVo){ BaseVo baseVo = new BaseVo(); - AnalyseDto analyse = learnFeign.selectById(initAnalyseReqVo.getAnalyseId()); - List analyseDetails = learnFeign.isImportExam(analyse.getId()); + AnalyseDto analyse = independenceFeign.selectById(initAnalyseReqVo.getAnalyseId()); + List analyseDetails = independenceFeign.isImportExam(analyse.getId()); if(analyseDetails != null & analyseDetails.size() > 0){ baseVo.setMessage("已经导入"); baseVo.setSuccess(false); @@ -173,7 +172,7 @@ public class LearnController { List analyseDetails = new ArrayList<>(); List analyseDimensionals = new ArrayList<>(); Float maxScore = 0f; - AnalyseDto analyse = learnFeign.selectById(initAnalyseReqVo.getAnalyseId()); + AnalyseDto analyse = independenceFeign.selectById(initAnalyseReqVo.getAnalyseId()); File excelFile = new File(initAnalyseReqVo.getUrl()); // 获得工作簿 String file = excelFile.getName(); @@ -225,10 +224,10 @@ public class LearnController { } } } - learnFeign.insertBatchAnalyseDetail(analyseDetails); - learnFeign.insertBatchAnalyseDimensional(analyseDimensionals); + independenceFeign.insertBatchAnalyseDetail(analyseDetails); + independenceFeign.insertBatchAnalyseDimensional(analyseDimensionals); analyse.setMaxScore(new Double(maxScore)); - learnFeign.updateAnalyse(analyse); + independenceFeign.updateAnalyse(analyse); }catch (Exception e){ e.printStackTrace(); } @@ -240,7 +239,7 @@ public class LearnController { for (int j = 0; j < message.length ; j++) { if(StringUtils.isNotBlank(message[j])){ //查数据库是否已存在该四维诊断 不存在则导入 - int dimensionalId = learnFeign.selectDimensional(dimensionalType,message[j]); + int dimensionalId = independenceFeign.selectDimensional(dimensionalType,message[j]); AnalyseDimensionalDto analyseDimensional = new AnalyseDimensionalDto(); analyseDimensional.setAnalyseId(analyse.getId()); analyseDimensional.setDimensionalId(dimensionalId); @@ -267,8 +266,8 @@ public class LearnController { private boolean analysisScoreExcel(InitScoreReqVo initScoreReqVo){ try{ - AnalyseDto analyse = learnFeign.selectById(initScoreReqVo.getAnalyseId()); - List analyseDetails = learnFeign.isImportExam(analyse.getId()); + AnalyseDto analyse = independenceFeign.selectById(initScoreReqVo.getAnalyseId()); + List analyseDetails = independenceFeign.isImportExam(analyse.getId()); Map scoreMap = new HashMap<>(); for(AnalyseDetailDto analyseDetail : analyseDetails){ scoreMap.put(analyseDetail.getQuestionNumber(),analyseDetail.getScore()); @@ -337,10 +336,10 @@ public class LearnController { } } } - boolean flag = learnFeign.initLeagueSchool(initScoreReqVo.getLeagueId(),students.get(0).getSchoolName()); + boolean flag = independenceFeign.initLeagueSchool(initScoreReqVo.getLeagueId(),students.get(0).getSchoolName()); if(flag){ - learnFeign.insertBatchStudent(students); - learnFeign.insertBatchStudentDetail(studentDetails); + independenceFeign.insertBatchStudent(students); + independenceFeign.insertBatchStudentDetail(studentDetails); return true ; }else { return false ; @@ -376,7 +375,7 @@ public class LearnController { @RequestMapping(value = "getLeague", method = RequestMethod.GET) public GetLeagueRepVo getLeague(int analyseId){ GetLeagueRepVo getLeagueRepVo = new GetLeagueRepVo(); - List leagues = learnFeign.getLeagueByAnalyse(analyseId); + List leagues = independenceFeign.getLeagueByAnalyse(analyseId); List getLeagues = new ArrayList<>(); for(LeagueDto league : leagues){ boolean isExist = false ; @@ -406,10 +405,10 @@ public class LearnController { public BaseVo createLeague(@RequestBody CreateLeagueReqVo createLeagueReqVo){ BaseVo baseVo = new BaseVo(); LeagueDto league = new LeagueDto(); - AnalyseDto analyse = learnFeign.selectById(createLeagueReqVo.getAnalyseId()); + AnalyseDto analyse = independenceFeign.selectById(createLeagueReqVo.getAnalyseId()); league.setAnalyseId(analyse.getId()); league.setLeague(createLeagueReqVo.getLeague()); - int id = learnFeign.insertLeague(league); + int id = independenceFeign.insertLeague(league); baseVo.setMessage(id +""); return baseVo; } @@ -422,7 +421,7 @@ public class LearnController { analyseDto.setId(chapterReqVo.getAnalyseId()); analyseDto.setExamTime(chapterReqVo.getExamTime()); analyseDto.setExamScope(chapterReqVo.getExamScope()); - learnFeign.updateAnalyse(analyseDto); + independenceFeign.updateAnalyse(analyseDto); List list = new ArrayList<>(); for(ChapterReq chapterReq :chapterReqVo.getList()){ ChapterDto chapter = new ChapterDto(); @@ -432,13 +431,13 @@ public class LearnController { chapter.setChapterScore(chapterReq.getScore()); list.add(chapter); } - learnFeign.initChapter(list); + independenceFeign.initChapter(list); return baseVo; } @ApiOperation("获取导入的学校列表") @RequestMapping(value = "getSchoolName", method = RequestMethod.GET) public List getSchoolName(int analyseId){ - return learnFeign.getSchoolName(analyseId); + return independenceFeign.getSchoolName(analyseId); } } diff --git a/cloud/independence/src/main/java/com/sincere/independence/controller/LearnStatController.java b/cloud/independence/src/main/java/com/sincere/independence/controller/LearnStatController.java index 5df282a..1cc256b 100644 --- a/cloud/independence/src/main/java/com/sincere/independence/controller/LearnStatController.java +++ b/cloud/independence/src/main/java/com/sincere/independence/controller/LearnStatController.java @@ -2,7 +2,7 @@ package com.sincere.independence.controller; import com.sincere.common.dto.independence.GetLearnDto; import com.sincere.common.vo.independence.school.*; -import com.sincere.independence.feign.LearnFeign; +import com.sincere.independence.feign.IndependenceFeign; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; @@ -24,109 +24,109 @@ import java.util.Map; @Api(value = "学情分析") public class LearnStatController { @Autowired - LearnFeign learnFeign ; + IndependenceFeign independenceFeign; @ApiOperation("getForm1_1") @RequestMapping(value = "getForm1_1", method = RequestMethod.POST) public Form7RepVO getForm1_1(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm1_1(getLearnDto); + return independenceFeign.getForm1_1(getLearnDto); } @ApiOperation("getForm2_1_1") @RequestMapping(value = "getForm2_1_1", method = RequestMethod.POST) public Form1RepVO getForm2_1_1(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_1_1(getLearnDto); + return independenceFeign.getForm2_1_1(getLearnDto); } @ApiOperation("getForm2_1_2") @RequestMapping(value = "getForm2_1_2", method = RequestMethod.POST) public Form2RepVO getForm2_1_2(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_1_2(getLearnDto); + return independenceFeign.getForm2_1_2(getLearnDto); } @ApiOperation("getForm2_1_3_2") @RequestMapping(value = "getForm2_1_3_2", method = RequestMethod.POST) public Form2RepVO getForm2_1_3_2(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_1_3_2(getLearnDto); + return independenceFeign.getForm2_1_3_2(getLearnDto); } @ApiOperation("getForm2_1_3") @RequestMapping(value = "getForm2_1_3", method = RequestMethod.POST) public List getForm2_1_3(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_1_3(getLearnDto); + return independenceFeign.getForm2_1_3(getLearnDto); } @ApiOperation("getForm2_2_1") @RequestMapping(value = "getForm2_2_1", method = RequestMethod.POST) public Form3RepVO getForm2_2_1(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_2_1(getLearnDto); + return independenceFeign.getForm2_2_1(getLearnDto); } @ApiOperation("getForm2_2_2") @RequestMapping(value = "getForm2_2_2", method = RequestMethod.POST) public Form4RepVO getForm2_2_2(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_2_2(getLearnDto); + return independenceFeign.getForm2_2_2(getLearnDto); } @ApiOperation("getForm2_2_3") @RequestMapping(value = "getForm2_2_3", method = RequestMethod.POST) public Form5RepVO getForm2_2_3(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_2_3(getLearnDto); + return independenceFeign.getForm2_2_3(getLearnDto); } @ApiOperation("getForm2_2_4") @RequestMapping(value = "getForm2_2_4", method = RequestMethod.POST) public Form8RepVO getForm2_2_4(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_2_4(getLearnDto); + return independenceFeign.getForm2_2_4(getLearnDto); } @ApiOperation("getForm2_2_5") @RequestMapping(value = "getForm2_2_5", method = RequestMethod.POST) public Map getForm2_2_5(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm2_2_5(getLearnDto); + return independenceFeign.getForm2_2_5(getLearnDto); } @ApiOperation("getForm3_1") @RequestMapping(value = "getForm3_1", method = RequestMethod.POST) public Form6RepVO getForm3_1(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm3_1(getLearnDto); + return independenceFeign.getForm3_1(getLearnDto); } @ApiOperation("getForm3_1_1") @RequestMapping(value = "getForm3_1_1", method = RequestMethod.POST) public Table2RepVO getForm3_1_1(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm3_1_1(getLearnDto); + return independenceFeign.getForm3_1_1(getLearnDto); } @ApiOperation("getForm3_2") @RequestMapping(value = "getForm3_2", method = RequestMethod.POST) public Form6RepVO getForm3_2(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm3_2(getLearnDto); + return independenceFeign.getForm3_2(getLearnDto); } @ApiOperation("getForm3_3") @RequestMapping(value = "getForm3_3", method = RequestMethod.POST) public Form6RepVO getForm3_3(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm3_3(getLearnDto); + return independenceFeign.getForm3_3(getLearnDto); } @ApiOperation("getForm3_4") @RequestMapping(value = "getForm3_4", method = RequestMethod.POST) public Form6RepVO getForm3_4(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getForm3_4(getLearnDto); + return independenceFeign.getForm3_4(getLearnDto); } @ApiOperation("获取教学改进建议") @RequestMapping(value = "getSuggest", method = RequestMethod.POST) public String getSuggest(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getSuggest(getLearnDto); + return independenceFeign.getSuggest(getLearnDto); } @ApiOperation("获取教学改进建议") @RequestMapping(value = "getSuggest2", method = RequestMethod.POST) public String getSuggest2(@RequestBody GetLearnDto getLearnDto){ - return learnFeign.getSuggest2(getLearnDto); + return independenceFeign.getSuggest2(getLearnDto); } } diff --git a/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleController.java b/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleController.java new file mode 100644 index 0000000..5d48fdc --- /dev/null +++ b/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleController.java @@ -0,0 +1,70 @@ +package com.sincere.independence.controller; + + +import com.sincere.common.vo.BaseVo; +import com.sincere.common.vo.independence.paike.*; +import com.sincere.independence.feign.IndependenceFeign; +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; + +@RestController +@RequestMapping(value = "/schedule") +@Api(value = "排课表") +public class ScheduleController { + + @Autowired + IndependenceFeign independenceFeign; + + @ApiOperation("作息安排") + @RequestMapping(value = "firstChoose", method = RequestMethod.POST) + public BaseVo firstChoose(@RequestBody FirstReqVo firstReqVo){ + return independenceFeign.firstChoose(firstReqVo); + } + + @ApiOperation("设置公共资源课,主课,副课") + @RequestMapping(value = "setCourseType", method = RequestMethod.POST) + public BaseVo setCourseType(@RequestBody SetTypeReqVo setTypeReqVo){ + return independenceFeign.setCourseType(setTypeReqVo); + } + + @ApiOperation("合班") + @RequestMapping(value = "joinClass", method = RequestMethod.POST) + public BaseVo joinClass(@RequestBody JoinClassReqVo joinClassReqVo){ + return independenceFeign.joinClass(joinClassReqVo); + } + + @ApiOperation("删除某个合班信息") + @RequestMapping(value = "deleteJoinClass", method = RequestMethod.POST) + public BaseVo deleteJoinClass(@RequestBody CourseGroupReqVo courseGroupReqVo){ + return independenceFeign.deleteJoinClass(courseGroupReqVo); + } + + @ApiOperation("不排课") + @RequestMapping(value = "noSchedule", method = RequestMethod.POST) + public BaseVo noSchedule(@RequestBody NoScheduleReqVo noScheduleReqVo){ + return independenceFeign.noSchedule(noScheduleReqVo); + } + + @ApiOperation("选择拟排科目类型,设置优先区间 提示") + @RequestMapping(value = "secondChooseBefore", method = RequestMethod.POST) + public BaseVo secondChooseBefore(@RequestBody ParallelClassReqVo parallelClassReqVo){ + return independenceFeign.secondChooseBefore(parallelClassReqVo); + } + + @ApiOperation("选择拟排科目类型,设置优先区间") + @RequestMapping(value = "secondChoose", method = RequestMethod.POST) + public BaseVo secondChoose(@RequestBody ParallelClassReqVo parallelClassReqVo) { + return independenceFeign.secondChoose(parallelClassReqVo); + } + + @ApiOperation("排课撤回") + @RequestMapping(value = "recall", method = RequestMethod.POST) + public BaseVo recall(@RequestBody RecallReqVo recallReqVo){ + return independenceFeign.recall(recallReqVo); + } +} diff --git a/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java b/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java new file mode 100644 index 0000000..4b6be3c --- /dev/null +++ b/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java @@ -0,0 +1,78 @@ +package com.sincere.independence.controller; + +import com.sincere.common.vo.BaseVo; +import com.sincere.common.vo.independence.paike.*; +import com.sincere.independence.feign.IndependenceFeign; +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; + +@RestController +@RequestMapping(value = "/init") +@Api(value = "排课表") +public class ScheduleInitController { + + @Autowired + IndependenceFeign independenceFeign ; + + + @ApiOperation("创建排课计划 ") + @RequestMapping(value = "createSchedule", method = RequestMethod.POST) + public ScheduleRepVo createSchedule(HttpServletRequest request){ + ScheduleRepVo baseVo = new ScheduleRepVo(); + String team = request.getParameter("team"); + String scheduleName = request.getParameter("scheduleName"); + int schoolId = Integer.valueOf(request.getParameter("schoolId")); + int id = independenceFeign.createSchedule(team,scheduleName,schoolId); + if(id > 0){ + baseVo.setScheduleId(id); + baseVo.setSuccess(true); + }else { + baseVo.setSuccess(false); + } + return baseVo; + } + + @ApiOperation("更新计划") + @RequestMapping(value = "updateSchedule", method = RequestMethod.POST) + public BaseVo updateSchedule(@RequestBody UpdateScheduleReqVo updateScheduleReqVo){ + BaseVo baseVo = new BaseVo(); + boolean success = independenceFeign.updateSchedule(updateScheduleReqVo.getScheduleId(),updateScheduleReqVo.getScheduleName(),updateScheduleReqVo.getTeam()); + baseVo.setSuccess(success); + return baseVo; + } + + @ApiOperation("复制") + @RequestMapping(value = "copySchedule", method = RequestMethod.POST) + public BaseVo copySchedule(@RequestBody UpdateScheduleReqVo updateScheduleReqVo){ + BaseVo baseVo = independenceFeign.copySchedule(updateScheduleReqVo.getScheduleId(),updateScheduleReqVo.getScheduleName(),updateScheduleReqVo.getTeam()); + return baseVo; + } + + @ApiOperation("删除排课计划") + @RequestMapping(value = "deleteSchedule", method = RequestMethod.POST) + public BaseVo deleteSchedule(@RequestBody ScheduleIdReqVo scheduleIdReqVo){ + BaseVo baseVo = new BaseVo(); + baseVo.setSuccess(independenceFeign.deleteSchedule(scheduleIdReqVo.getScheduleId())); + return baseVo; + } + + @ApiOperation("获取基础信息") + @RequestMapping(value = "getInitMessage", method = RequestMethod.POST) + public InitRepVo getInitMessage(@RequestBody ScheduleIdReqVo scheduleIdReqVo){ + InitRepVo initRepVo = independenceFeign.getInitMessage(scheduleIdReqVo.getScheduleId()); + return initRepVo; + } + + @ApiOperation("教师授课信息") + @RequestMapping(value = "initTeacherCourse", method = RequestMethod.POST) + public BaseVo initTeacherCourse(@RequestBody InitTeacherCourseReqVo initTeacherCourseReqVo) { + return independenceFeign.initTeacherCourse(initTeacherCourseReqVo); + } +} diff --git a/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java b/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java new file mode 100644 index 0000000..92bb082 --- /dev/null +++ b/cloud/independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java @@ -0,0 +1,137 @@ +package com.sincere.independence.controller; + +import com.sincere.common.dto.independence.ClassModelDto; +import com.sincere.common.dto.independence.CourseDto; +import com.sincere.common.dto.independence.ScheduleDto; +import com.sincere.common.util.ExcelUtils; +import com.sincere.common.vo.BaseVo; +import com.sincere.common.vo.independence.paike.*; +import com.sincere.independence.feign.IndependenceFeign; +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 ScheduleMessageController { + + @Autowired + IndependenceFeign independenceFeign; + + @ApiOperation("获取学校排课计划") + @RequestMapping(value = "getScheduleList", method = RequestMethod.POST) + public ScheduleListRepVo getScheduleList(@RequestBody SchoolIdReqVo schoolIdReqVo){ + return independenceFeign.getScheduleList(schoolIdReqVo.getSchoolId()); + } + + @ApiOperation("获取学校下所有班级信息") + @RequestMapping(value = "getClassList", method = RequestMethod.POST) + public ClassRepVo getClassList(@RequestBody SchoolIdReqVo schoolIdReqVo){ + return independenceFeign.getClassList(schoolIdReqVo.getSchoolId()); + } + + @ApiOperation("获取学校课程") + @RequestMapping(value = "getCourseList", method = RequestMethod.POST) + public CourseRepVo getCourseList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){ + return independenceFeign.getCourseList(scheduleIdReqVo.getScheduleId()); + } + + @ApiOperation("获取要学习某个学科的班级集合") + @RequestMapping(value = "getCourseClassList", method = RequestMethod.POST) + public List getCourseClassList(@RequestBody CourseClassReqVo courseClassReqVo){ + return independenceFeign.getCourseClassList(courseClassReqVo.getScheduleId(),courseClassReqVo.getCourseId()); + } + + @ApiOperation("获取班级排课课程") + @RequestMapping(value = "getClassCourseList", method = RequestMethod.POST) + public ClassCourseRepVo getClassCourseList(@RequestBody GetClassCourseReqVo getClassCourseReqVo){ + return independenceFeign.getClassCourseList(getClassCourseReqVo.getScheduleId(),getClassCourseReqVo.getClassId()); + } + + @ApiOperation("获取合班信息") + @RequestMapping(value = "getJoinList", method = RequestMethod.POST) + public JoinRepVo getJoinList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){ + return independenceFeign.getJoinList(scheduleIdReqVo.getScheduleId()); + } + + @ApiOperation("获取导入任课信息") + @RequestMapping(value = "getTeacherClassList", method = RequestMethod.POST) + public TeacherCourseRepVo getTeacherClassList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){ + return independenceFeign.getTeacherClassList(scheduleIdReqVo.getScheduleId()); + } + + @ApiOperation("获取主课,副科,公共课列表") + @RequestMapping(value = "getCourseTypeList", method = RequestMethod.POST) + public GetCourseTypeListRepVo getCourseTypeList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){ + return independenceFeign.getCourseTypeList(scheduleIdReqVo.getScheduleId()); + } + + @ApiOperation("获取未设置学科类型的科目") + @RequestMapping(value = "getUnCourseList", method = RequestMethod.POST) + public CourseRepVo getUnCourseList(@RequestBody ScheduleIdReqVo scheduleIdReqVo){ + return independenceFeign.getUnCourseList(scheduleIdReqVo.getScheduleId()); + } + + @ApiOperation("删除设置的 主课 副科 公共课") + @RequestMapping(value = "deleteCourseType", method = RequestMethod.POST) + public BaseVo deleteCourseType(@RequestBody CourseClassReqVo courseClassReqVo){ + return independenceFeign.deleteCourseType(courseClassReqVo.getScheduleId(),courseClassReqVo.getCourseId()); + } + + @ApiOperation("获取设置的作息 获取排课计划详情") + @RequestMapping(value = "getSchedule", method = RequestMethod.POST) + public ScheduleDto getSchedule(@RequestBody ScheduleIdReqVo scheduleIdReqVo){ + return independenceFeign.getSchedule(scheduleIdReqVo.getScheduleId()); + } + + @ApiOperation("导出模板") + @RequestMapping(value = "export", method = RequestMethod.GET) + public void export(int scheduleId , HttpServletRequest request, HttpServletResponse response){ + ExcelUtils excelUtils = new ExcelUtils(); + ScheduleDto schedule = independenceFeign.getSchedule(scheduleId); + List headList = new ArrayList<>(); + headList.add("年级"); + headList.add("班级"); + List courses = independenceFeign.getCourseBySchoolId(schedule.getSchoolId()); + for(CourseDto course : courses){ + headList.add(course.getCourseName()); + headList.add("任课老师"); + + } + List heardKey = new ArrayList<>(); + heardKey.add("grade"); + heardKey.add("class"); + List> data = new ArrayList<>(); + List list = independenceFeign.getClassModelBySchoolId(schedule.getSchoolId()); + for(ClassModelDto classModel : list){ + Map map = new HashMap<>(); + map.put("grade",classModel.getGrade()); + map.put("class",classModel.getClassName()); + data.add(map); + } + excelUtils.setHeardList(headList); + excelUtils.setHeardKey(heardKey); + excelUtils.setData(data); + try{ + excelUtils.exportExport(request,response); + }catch (Exception e){ + + } + } +} diff --git a/cloud/independence/src/main/java/com/sincere/independence/feign/IndependenceFeign.java b/cloud/independence/src/main/java/com/sincere/independence/feign/IndependenceFeign.java new file mode 100644 index 0000000..e6e263c --- /dev/null +++ b/cloud/independence/src/main/java/com/sincere/independence/feign/IndependenceFeign.java @@ -0,0 +1,218 @@ +package com.sincere.independence.feign; + +import com.sincere.common.dto.independence.*; +import com.sincere.common.vo.BaseVo; +import com.sincere.common.vo.independence.paike.*; +import com.sincere.common.vo.independence.school.*; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +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.RequestParam; + +import java.util.*; + +/** + * @author chen + * @version 1.0 + * @date 2019/11/13 0013 11:32 + */ +@FeignClient("independenceSearch") +public interface IndependenceFeign { + + @RequestMapping(value = "/learn/init/getList", method = RequestMethod.POST) + List getList(@RequestBody AnalyseDto analyseDto); + + @RequestMapping(value = "/learn/init/insertAnalyse", method = RequestMethod.POST) + BaseVo insertAnalyse(@RequestBody AnalyseDto analyseDto); + + @RequestMapping(value = "/learn/init/updateAnalyse", method = RequestMethod.POST) + BaseVo updateAnalyse(@RequestBody AnalyseDto analyseDto); + + @RequestMapping(value = "/learn/init/selectById", method = RequestMethod.GET) + AnalyseDto selectById(@RequestParam("analyseId") int analyseId) ; + + @RequestMapping(value = "/learn/init/getLeagueByAnalyse", method = RequestMethod.GET) + List getLeagueByAnalyse(@RequestParam("analyseId") int analyseId); + + @RequestMapping(value = "/learn/init/isImportExam", method = RequestMethod.GET) + List isImportExam(@RequestParam("analyseId") int analyseId); + + @RequestMapping(value = "/learn/init/insertBatchAnalyseDetail", method = RequestMethod.POST) + boolean insertBatchAnalyseDetail(@RequestBody List analyseDetailDtos); + + @RequestMapping(value = "/learn/init/insertBatchAnalyseDimensional", method = RequestMethod.POST) + boolean insertBatchAnalyseDimensional(@RequestBody List analyseDimensionalDtos); + + //查数据库是否已存在该四维诊断 不存在则导入 返回主键 + @RequestMapping(value = "/learn/init/selectDimensional", method = RequestMethod.GET) + int selectDimensional(@RequestParam("type") int type, @RequestParam("name") String name); + + @RequestMapping(value = "/learn/init/insertBatchStudent", method = RequestMethod.POST) + boolean insertBatchStudent(@RequestBody List studentDtos); + + @RequestMapping(value = "/learn/init/insertBatchStudentDetail", method = RequestMethod.POST) + boolean insertBatchStudentDetail(@RequestBody List studentDetailDtos); + + @RequestMapping(value = "/learn/init/initLeagueSchool", method = RequestMethod.GET) + boolean initLeagueSchool(@RequestParam("leagueId")int leagueId , @RequestParam("schoolName")String schoolName); + + @RequestMapping(value = "/learn/init/insertLeague", method = RequestMethod.POST) + int insertLeague(@RequestBody LeagueDto leagueDto); + + @RequestMapping(value = "/learn/init/getSchoolName", method = RequestMethod.GET) + List getSchoolName(@RequestParam("analyseId")int analyseId); + + @RequestMapping(value = "/learn/init/initChapter", method = RequestMethod.POST) + boolean initChapter(@RequestBody List chapterDtos); + + + + @RequestMapping(value = "learn/getLearn/getForm1_1", method = RequestMethod.POST) + Form7RepVO getForm1_1(@RequestBody GetLearnDto getLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_1_1", method = RequestMethod.POST) + Form1RepVO getForm2_1_1(@RequestBody GetLearnDto getLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_1_2", method = RequestMethod.POST) + Form2RepVO getForm2_1_2(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_1_3_2", method = RequestMethod.POST) + Form2RepVO getForm2_1_3_2(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_1_3", method = RequestMethod.POST) + List getForm2_1_3(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_2_1", method = RequestMethod.POST) + Form3RepVO getForm2_2_1(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_2_2", method = RequestMethod.POST) + Form4RepVO getForm2_2_2(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_2_3", method = RequestMethod.POST) + Form5RepVO getForm2_2_3(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_2_4", method = RequestMethod.POST) + Form8RepVO getForm2_2_4(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm2_2_5", method = RequestMethod.POST) + Map getForm2_2_5(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm3_1", method = RequestMethod.POST) + Form6RepVO getForm3_1(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm3_1_1", method = RequestMethod.POST) + Table2RepVO getForm3_1_1(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm3_2", method = RequestMethod.POST) + Form6RepVO getForm3_2(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm3_3", method = RequestMethod.POST) + Form6RepVO getForm3_3(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getForm3_4", method = RequestMethod.POST) + Form6RepVO getForm3_4(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getSuggest", method = RequestMethod.POST) + String getSuggest(@RequestBody GetLearnDto GetLearnDto); + + @RequestMapping(value = "learn/getLearn/getSuggest2", method = RequestMethod.POST) + String getSuggest2(@RequestBody GetLearnDto GetLearnDto); + + + + //排课 + @RequestMapping(value = "/message/getScheduleList", method = RequestMethod.GET) + ScheduleListRepVo getScheduleList(@RequestParam("schoolId") int schoolId); + + @RequestMapping(value = "/message/getClassList", method = RequestMethod.GET) + ClassRepVo getClassList(@RequestParam("schoolId") int schoolId); + + @RequestMapping(value = "/message/getCourseList", method = RequestMethod.GET) + CourseRepVo getCourseList(@RequestParam("scheduleId") int scheduleId); + + @RequestMapping(value = "/message/getCourseClassList", method = RequestMethod.GET) + List getCourseClassList(@RequestParam("scheduleId") int scheduleId , @RequestParam("courseId") int courseId); + + @ApiOperation("获取班级排课课程") + @RequestMapping(value = "/message/getClassCourseList", method = RequestMethod.GET) + ClassCourseRepVo getClassCourseList(@RequestParam("scheduleId") int scheduleId , @RequestParam("classId") int classId); + + @ApiOperation("获取合班信息") + @RequestMapping(value = "/message/getJoinList", method = RequestMethod.GET) + JoinRepVo getJoinList(@RequestParam("scheduleId") int scheduleId); + + @ApiOperation("获取导入任课信息") + @RequestMapping(value = "/message/getTeacherClassList", method = RequestMethod.GET) + TeacherCourseRepVo getTeacherClassList(@RequestParam("scheduleId") int scheduleId); + + @ApiOperation("获取主课,副科,公共课列表") + @RequestMapping(value = "/message/getCourseTypeList", method = RequestMethod.GET) + GetCourseTypeListRepVo getCourseTypeList(@RequestParam("scheduleId") int scheduleId); + + @ApiOperation("获取未设置学科类型的科目") + @RequestMapping(value = "/message/getUnCourseList", method = RequestMethod.GET) + CourseRepVo getUnCourseList(@RequestParam("scheduleId") int scheduleId); + + @ApiOperation("删除设置的 主课 副科 公共课") + @RequestMapping(value = "/message/deleteCourseType", method = RequestMethod.GET) + BaseVo deleteCourseType(@RequestParam("scheduleId") int scheduleId , @RequestParam("courseId") int courseId); + + @RequestMapping(value = "/message/getSchedule", method = RequestMethod.GET) + ScheduleDto getSchedule(@RequestParam("scheduleId") int scheduleId); + + @RequestMapping(value = "/message/getCourseBySchoolId", method = RequestMethod.GET) + List getCourseBySchoolId(@RequestParam("schoolId") int schoolId); + + @RequestMapping(value = "/message/getClassModelBySchoolId", method = RequestMethod.GET) + List getClassModelBySchoolId(@RequestParam("schoolId") int schoolId); + + + @RequestMapping(value = "/schedule/firstChoose", method = RequestMethod.POST) + BaseVo firstChoose(@RequestBody FirstReqVo firstReqVo); + + @RequestMapping(value = "/schedule/setCourseType", method = RequestMethod.POST) + BaseVo setCourseType(@RequestBody SetTypeReqVo setTypeReqVo); + + @RequestMapping(value = "/schedule/joinClass", method = RequestMethod.POST) + BaseVo joinClass(@RequestBody JoinClassReqVo joinClassReqVo); + + @RequestMapping(value = "/schedule/deleteJoinClass", method = RequestMethod.POST) + BaseVo deleteJoinClass(@RequestBody CourseGroupReqVo courseGroupReqVo); + + @RequestMapping(value = "/schedule/noSchedule", method = RequestMethod.POST) + BaseVo noSchedule(@RequestBody NoScheduleReqVo noScheduleReqVo); + + @RequestMapping(value = "/schedule/secondChooseBefore", method = RequestMethod.POST) + BaseVo secondChooseBefore(@RequestBody ParallelClassReqVo parallelClassReqVo); + + @RequestMapping(value = "/schedule/secondChoose", method = RequestMethod.POST) + BaseVo secondChoose(@RequestBody ParallelClassReqVo parallelClassReqVo); + + @RequestMapping(value = "/schedule/recall", method = RequestMethod.POST) + BaseVo recall(@RequestBody RecallReqVo recallReqVo); + + + @RequestMapping(value = "/init/createSchedule", method = RequestMethod.GET) + int createSchedule(@RequestParam("team")String team , @RequestParam("scheduleName") String scheduleName , + @RequestParam("schoolId") int schoolId); + + @RequestMapping(value = "/init/updateSchedule", method = RequestMethod.GET) + boolean updateSchedule(@RequestParam("scheduleId") int scheduleId , @RequestParam("scheduleName")String scheduleName, + @RequestParam("team")String team); + + @RequestMapping(value = "/init/copySchedule", method = RequestMethod.GET) + BaseVo copySchedule(@RequestParam("scheduleId") int scheduleId , @RequestParam("scheduleName")String scheduleName, + @RequestParam("team")String team); + + @RequestMapping(value = "/init/deleteSchedule", method = RequestMethod.GET) + boolean deleteSchedule(@RequestParam("scheduleId") int scheduleId); + + @RequestMapping(value = "/init/getInitMessage", method = RequestMethod.GET) + InitRepVo getInitMessage(@RequestParam("scheduleId") int scheduleId); + + + @RequestMapping(value = "/init/initTeacherCourse", method = RequestMethod.POST) + BaseVo initTeacherCourse(@RequestBody InitTeacherCourseReqVo initTeacherCourseReqVo); +} diff --git a/cloud/independence/src/main/java/com/sincere/independence/feign/LearnFeign.java b/cloud/independence/src/main/java/com/sincere/independence/feign/LearnFeign.java deleted file mode 100644 index 61f564c..0000000 --- a/cloud/independence/src/main/java/com/sincere/independence/feign/LearnFeign.java +++ /dev/null @@ -1,121 +0,0 @@ -package com.sincere.independence.feign; - -import com.sincere.common.dto.independence.*; -import com.sincere.common.vo.BaseVo; -import com.sincere.common.vo.independence.school.*; -import org.springframework.cloud.openfeign.FeignClient; -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.RequestParam; - -import java.util.List; -import java.util.Map; - -/** - * @author chen - * @version 1.0 - * @date 2019/11/13 0013 11:32 - */ -@FeignClient("independenceSearch") -public interface LearnFeign { - - @RequestMapping(value = "/learn/init/getList", method = RequestMethod.POST) - List getList(@RequestBody AnalyseDto analyseDto); - - @RequestMapping(value = "/learn/init/insertAnalyse", method = RequestMethod.POST) - BaseVo insertAnalyse(@RequestBody AnalyseDto analyseDto); - - @RequestMapping(value = "/learn/init/updateAnalyse", method = RequestMethod.POST) - BaseVo updateAnalyse(@RequestBody AnalyseDto analyseDto); - - @RequestMapping(value = "/learn/init/selectById", method = RequestMethod.GET) - AnalyseDto selectById(@RequestParam("analyseId") int analyseId) ; - - @RequestMapping(value = "/learn/init/getLeagueByAnalyse", method = RequestMethod.GET) - List getLeagueByAnalyse(@RequestParam("analyseId") int analyseId); - - @RequestMapping(value = "/learn/init/isImportExam", method = RequestMethod.GET) - List isImportExam(@RequestParam("analyseId") int analyseId); - - @RequestMapping(value = "/learn/init/insertBatchAnalyseDetail", method = RequestMethod.POST) - boolean insertBatchAnalyseDetail(@RequestBody List analyseDetailDtos); - - @RequestMapping(value = "/learn/init/insertBatchAnalyseDimensional", method = RequestMethod.POST) - boolean insertBatchAnalyseDimensional(@RequestBody List analyseDimensionalDtos); - - //查数据库是否已存在该四维诊断 不存在则导入 返回主键 - @RequestMapping(value = "/learn/init/selectDimensional", method = RequestMethod.GET) - int selectDimensional(@RequestParam("type") int type, @RequestParam("name") String name); - - @RequestMapping(value = "/learn/init/insertBatchStudent", method = RequestMethod.POST) - boolean insertBatchStudent(@RequestBody List studentDtos); - - @RequestMapping(value = "/learn/init/insertBatchStudentDetail", method = RequestMethod.POST) - boolean insertBatchStudentDetail(@RequestBody List studentDetailDtos); - - @RequestMapping(value = "/learn/init/initLeagueSchool", method = RequestMethod.GET) - boolean initLeagueSchool(@RequestParam("leagueId")int leagueId , @RequestParam("schoolName")String schoolName); - - @RequestMapping(value = "/learn/init/insertLeague", method = RequestMethod.POST) - int insertLeague(@RequestBody LeagueDto leagueDto); - - @RequestMapping(value = "/learn/init/getSchoolName", method = RequestMethod.GET) - List getSchoolName(@RequestParam("analyseId")int analyseId); - - @RequestMapping(value = "/learn/init/initChapter", method = RequestMethod.POST) - boolean initChapter(@RequestBody List chapterDtos); - - - - @RequestMapping(value = "learn/getLearn/getForm1_1", method = RequestMethod.POST) - Form7RepVO getForm1_1(@RequestBody GetLearnDto getLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_1_1", method = RequestMethod.POST) - Form1RepVO getForm2_1_1(@RequestBody GetLearnDto getLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_1_2", method = RequestMethod.POST) - Form2RepVO getForm2_1_2(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_1_3_2", method = RequestMethod.POST) - Form2RepVO getForm2_1_3_2(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_1_3", method = RequestMethod.POST) - List getForm2_1_3(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_2_1", method = RequestMethod.POST) - Form3RepVO getForm2_2_1(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_2_2", method = RequestMethod.POST) - public Form4RepVO getForm2_2_2(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_2_3", method = RequestMethod.POST) - Form5RepVO getForm2_2_3(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_2_4", method = RequestMethod.POST) - Form8RepVO getForm2_2_4(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm2_2_5", method = RequestMethod.POST) - Map getForm2_2_5(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm3_1", method = RequestMethod.POST) - Form6RepVO getForm3_1(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm3_1_1", method = RequestMethod.POST) - Table2RepVO getForm3_1_1(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm3_2", method = RequestMethod.POST) - Form6RepVO getForm3_2(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm3_3", method = RequestMethod.POST) - Form6RepVO getForm3_3(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getForm3_4", method = RequestMethod.POST) - Form6RepVO getForm3_4(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getSuggest", method = RequestMethod.POST) - String getSuggest(@RequestBody GetLearnDto GetLearnDto); - - @RequestMapping(value = "learn/getLearn/getSuggest2", method = RequestMethod.POST) - String getSuggest2(@RequestBody GetLearnDto GetLearnDto); -} diff --git a/cloud/independence/src/main/java/com/sincere/independence/filter/AllowOriginFilter.java b/cloud/independence/src/main/java/com/sincere/independence/filter/AllowOriginFilter.java index 34c5f1c..aa412b7 100644 --- a/cloud/independence/src/main/java/com/sincere/independence/filter/AllowOriginFilter.java +++ b/cloud/independence/src/main/java/com/sincere/independence/filter/AllowOriginFilter.java @@ -1,38 +1,38 @@ -package com.sincere.independence.filter; - -import org.springframework.stereotype.Component; - -import javax.servlet.*; -import javax.servlet.annotation.WebFilter; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; - -/** - * 用于解决跨域问题 - * @author chen - * @version 1.0 - * @date 2019/10/11 0011 10:17 - */ -@Component -@WebFilter(urlPatterns = "/*", filterName = "authFilter") -public class AllowOriginFilter implements Filter { - - @Override - public void init(FilterConfig filterConfig) throws ServletException { - } - - public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { - HttpServletResponse response = (HttpServletResponse) res; - response.setHeader("Access-Control-Allow-Origin", "*"); - response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); - response.setHeader("Access-Control-Allow-Credentials", "true"); - response.setHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept"); - chain.doFilter(req, res); - } - - @Override - public void destroy() { - } -} - - +//package com.sincere.independence.filter; +// +//import org.springframework.stereotype.Component; +// +//import javax.servlet.*; +//import javax.servlet.annotation.WebFilter; +//import javax.servlet.http.HttpServletResponse; +//import java.io.IOException; +// +///** +// * 用于解决跨域问题 +// * @author chen +// * @version 1.0 +// * @date 2019/10/11 0011 10:17 +// */ +//@Component +//@WebFilter(urlPatterns = "/*", filterName = "authFilter") +//public class AllowOriginFilter implements Filter { +// +// @Override +// public void init(FilterConfig filterConfig) throws ServletException { +// } +// +// public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { +// HttpServletResponse response = (HttpServletResponse) res; +// response.setHeader("Access-Control-Allow-Origin", "*"); +// response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); +// response.setHeader("Access-Control-Allow-Credentials", "true"); +// response.setHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept"); +// chain.doFilter(req, res); +// } +// +// @Override +// public void destroy() { +// } +//} +// +// diff --git a/cloud/independence/src/main/resources/application.yaml b/cloud/independence/src/main/resources/application.yaml index 4a58736..1d7d719 100644 --- a/cloud/independence/src/main/resources/application.yaml +++ b/cloud/independence/src/main/resources/application.yaml @@ -7,6 +7,9 @@ spring: profiles: active: dev +ribbon: + ReadTimeout: 50000 + ConnectTimeout: 5000 eureka: instance: @@ -17,4 +20,6 @@ eureka: service-url: # defaultZone: http://localhost:8761/eureka/ defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ - + config: + connect-timeout: 5000 + read-timeout: 60000 diff --git a/cloud/search_independence/pom.xml b/cloud/search_independence/pom.xml index d2b61b8..df8e2e3 100644 --- a/cloud/search_independence/pom.xml +++ b/cloud/search_independence/pom.xml @@ -56,6 +56,23 @@ mybatis-spring-boot-starter 1.3.0 + + commons-net + commons-net + 2.0 + + + org.apache.poi + poi + 4.1.0 + + + + org.apache.poi + poi-ooxml + 4.1.0 + + diff --git a/cloud/search_independence/src/main/java/com/sincere/independence/IndependenceSearchApplication.java b/cloud/search_independence/src/main/java/com/sincere/independence/IndependenceSearchApplication.java index 535f39f..5b198e3 100644 --- a/cloud/search_independence/src/main/java/com/sincere/independence/IndependenceSearchApplication.java +++ b/cloud/search_independence/src/main/java/com/sincere/independence/IndependenceSearchApplication.java @@ -14,7 +14,7 @@ import org.springframework.context.annotation.ComponentScan; @EnableEurekaClient @SpringBootApplication @MapperScan("com.sincere.independence.mapper") -@ComponentScan("com.sincere.common") +@ComponentScan("com.sincere") public class IndependenceSearchApplication { public static void main(String[] args) { diff --git a/cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java b/cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java index 4c6ccb8..37835a1 100644 --- a/cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java +++ b/cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleInitController.java @@ -4,23 +4,26 @@ import com.alibaba.fastjson.JSONObject; import com.sincere.common.util.HttpClientUtils; import com.sincere.common.vo.BaseVo; import com.sincere.common.vo.independence.paike.InitRepVo; +import com.sincere.common.vo.independence.paike.InitTeacherCourseReqVo; import com.sincere.independence.model.*; import com.sincere.independence.service.*; -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.beans.factory.annotation.Value; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.io.File; +import java.io.FileInputStream; +import java.io.InputStream; +import java.util.*; @RestController @RequestMapping(value = "/init") -@Api(value = "排课表") public class ScheduleInitController { @Autowired @@ -61,24 +64,26 @@ public class ScheduleInitController { Schedule temp = scheduleService.selectBySchoolAndTeam(schedule); if(temp == null){ scheduleService.insert(schedule); + initMessage(schoolId); + return schedule.getId(); }else { return 0 ; } - temp = scheduleService.selectBySchoolAndTeam(schedule); - initMessage(schedule.getSchoolId()); - return temp.getId(); } @ApiOperation("更新计划") @RequestMapping(value = "updateSchedule", method = RequestMethod.GET) - public BaseVo updateSchedule(@RequestParam("scheduleId") int scheduleId , @RequestParam("scheduleName")String scheduleName, + public boolean updateSchedule(@RequestParam("scheduleId") int scheduleId , @RequestParam("scheduleName")String scheduleName, @RequestParam("team")String team){ - BaseVo baseVo = new BaseVo(); Schedule schedule = scheduleService.selectById(scheduleId); - schedule.setScheduleName(scheduleName); - schedule.setTeam(team); - scheduleService.update(schedule); - return baseVo; + if(schedule != null){ + schedule.setScheduleName(scheduleName); + schedule.setTeam(team); + scheduleService.update(schedule); + return true; + }else { + return false ; + } } @ApiOperation("复制") @@ -135,13 +140,10 @@ public class ScheduleInitController { @ApiOperation("删除排课计划") @RequestMapping(value = "deleteSchedule", method = RequestMethod.GET) - public BaseVo deleteSchedule(@RequestParam("scheduleId") int scheduleId){ - BaseVo baseVo = new BaseVo(); + public boolean deleteSchedule(@RequestParam("scheduleId") int scheduleId){ Schedule schedule = scheduleService.selectById(scheduleId); if(schedule == null){ - baseVo.setSuccess(false); - baseVo.setMessage("无排课计划"); - return baseVo; + return true; } teacherCourseService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam()); joinClassService.deleteBySchoolIdAndTeam(schedule.getSchoolId(),schedule.getTeam()); @@ -152,7 +154,7 @@ public class ScheduleInitController { teacherClassService.deleteBySchoolAndTeam(teacherClass); courseService.initSchoolId(schedule.getSchoolId()); scheduleService.deleteBySchedule(schedule.getId()); - return baseVo; + return true ; } @ApiOperation("获取基础信息") @@ -177,16 +179,124 @@ public class ScheduleInitController { @Transactional @ApiOperation("教师授课信息") @RequestMapping(value = "initTeacherCourse", method = RequestMethod.POST) - public boolean initTeacherCourse(@RequestBody List teacherClasses){ + public BaseVo initTeacherCourse(@RequestBody InitTeacherCourseReqVo initTeacherCourseReqVo){ BaseVo baseVo = new BaseVo(); - Schedule search = new Schedule(); - search.setSchoolId(teacherClasses.get(0).getSchoolId()); - search.setTeam(teacherClasses.get(0).getTeam()); - Schedule schedule = scheduleService.selectBySchoolAndTeam(search); - teacherClassService.insertBatch(teacherClasses); - schedule.setSpeed(3); - scheduleService.updateSpeed(schedule); - return true; + 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(); + File excelFile = new File(fileUrl); + // 获得工作簿 + Workbook workbook = null; + String file = excelFile.getName(); + InputStream inputStream = new FileInputStream(excelFile) ; + //InputStream inputStream = HttpClientUtils.GetFileInputStream(initTeacherCourseReqVo.getUrl()); + if(inputStream == null){ + baseVo.setMessage("路径不存在"); + baseVo.setSuccess(false); + return baseVo; + } + if (file.endsWith("xls")) { + workbook = new HSSFWorkbook(inputStream); + } else { + workbook = new XSSFWorkbook(inputStream); + } + // 获得工作表 + 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(sheetRow.getCell(0) != null){ + 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){ + e.printStackTrace(); + baseVo.setMessage("导入的数据有误"); + baseVo.setSuccess(false); + } + return baseVo; } private void initMessage(int schoolId){ @@ -227,7 +337,7 @@ public class ScheduleInitController { initCourse(courses,schoolId); } - public BaseVo initCourse(List courseList ,int schoolId){ + private BaseVo initCourse(List courseList ,int schoolId){ BaseVo baseVo = new BaseVo(); courseService.deleteSchoolId(schoolId); for(Course course : courseList){ @@ -246,7 +356,7 @@ public class ScheduleInitController { } } - public BaseVo initClass(List classList , int schoolId){ + private BaseVo initClass(List classList , int schoolId){ BaseVo baseVo = new BaseVo(); classModelService.deleteSchool(schoolId); for(ClassModel classModel : classList){ @@ -266,7 +376,7 @@ public class ScheduleInitController { } } - public BaseVo initTeacher(List teacherList , int schoolId){ + private BaseVo initTeacher(List teacherList , int schoolId){ List result = new ArrayList<>(); for(Teacher teacher : teacherList){ boolean isExist = false; diff --git a/cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java b/cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java index d22d046..4bcbe2b 100644 --- a/cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java +++ b/cloud/search_independence/src/main/java/com/sincere/independence/controller/ScheduleMessageController.java @@ -5,7 +5,6 @@ import com.sincere.common.vo.BaseVo; import com.sincere.common.vo.independence.paike.*; import com.sincere.independence.model.*; import com.sincere.independence.service.*; -import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @@ -21,6 +20,7 @@ import java.util.List; * @date 2019/10/11 0011 14:00 */ @RestController +@RequestMapping(value = "/message") public class ScheduleMessageController { @Autowired @@ -142,7 +142,6 @@ public class ScheduleMessageController { return repVos; } - @ApiOperation("获取班级排课课程") @RequestMapping(value = "getClassCourseList", method = RequestMethod.GET) public ClassCourseRepVo getClassCourseList(@RequestParam("scheduleId") int scheduleId , @RequestParam("classId") int classId){ ClassCourseRepVo classCourseRepVo = new ClassCourseRepVo(); @@ -201,7 +200,6 @@ public class ScheduleMessageController { } - @ApiOperation("获取合班信息") @RequestMapping(value = "getJoinList", method = RequestMethod.GET) public JoinRepVo getJoinList(@RequestParam("scheduleId") int scheduleId){ JoinRepVo joinRepVo = new JoinRepVo(); @@ -240,7 +238,6 @@ public class ScheduleMessageController { return joinRepVo; } - @ApiOperation("获取导入任课信息") @RequestMapping(value = "getTeacherClassList", method = RequestMethod.GET) public TeacherCourseRepVo getTeacherClassList(@RequestParam("scheduleId") int scheduleId){ TeacherCourseRepVo teacherCourseRepVo = new TeacherCourseRepVo(); @@ -300,7 +297,6 @@ public class ScheduleMessageController { return teacherClassDto; } - @ApiOperation("获取主课,副科,公共课列表") @RequestMapping(value = "getCourseTypeList", method = RequestMethod.GET) public GetCourseTypeListRepVo getCourseTypeList(@RequestParam("scheduleId") int scheduleId){ GetCourseTypeListRepVo getCourseTypeListRepVo = new GetCourseTypeListRepVo(); @@ -341,7 +337,6 @@ public class ScheduleMessageController { return getCourseTypeListRepVo; } - @ApiOperation("获取未设置学科类型的科目") @RequestMapping(value = "getUnCourseList", method = RequestMethod.GET) public CourseRepVo getUnCourseList(@RequestParam("scheduleId") int scheduleId){ CourseRepVo courseRepVo = new CourseRepVo(); @@ -363,7 +358,6 @@ public class ScheduleMessageController { return courseRepVo; } - @ApiOperation("删除设置的 主课 副科 公共课") @RequestMapping(value = "deleteCourseType", method = RequestMethod.GET) public BaseVo deleteCourseType(@RequestParam("scheduleId") int scheduleId , @RequestParam("courseId") int courseId){ BaseVo baseVo = new BaseVo(); @@ -388,4 +382,24 @@ public class ScheduleMessageController { return initSchedule(schedule); } + @RequestMapping(value = "getCourseBySchoolId", method = RequestMethod.GET) + public List getCourseBySchoolId(@RequestParam("schoolId") int schoolId){ + List courses = courseService.selectBySchoolId2(schoolId); + List courseDtoList = new ArrayList<>(); + for(Course course : courses){ + courseDtoList.add(initCourse(course)); + } + return courseDtoList; + } + + + @RequestMapping(value = "getClassModelBySchoolId", method = RequestMethod.GET) + public List getClassModelBySchoolId(@RequestParam("schoolId") int schoolId){ + List classModels = classModelService.selectBySchoolId(schoolId); + List classModelDtoList = new ArrayList<>(); + for(ClassModel classModel : classModels){ + classModelDtoList.add(initClassModel(classModel)); + } + return classModelDtoList; + } } diff --git a/cloud/search_independence/src/main/java/com/sincere/independence/model/TeacherClass.java b/cloud/search_independence/src/main/java/com/sincere/independence/model/TeacherClass.java index 3225777..1660242 100644 --- a/cloud/search_independence/src/main/java/com/sincere/independence/model/TeacherClass.java +++ b/cloud/search_independence/src/main/java/com/sincere/independence/model/TeacherClass.java @@ -1,33 +1,42 @@ package com.sincere.independence.model; +import com.sincere.common.dto.independence.TeacherClassDto; + import java.io.Serializable; import java.util.Date; public class TeacherClass implements Serializable { private Integer tClassId; - private Integer teacherId; - private String teacherName; - private Integer schoolId; - private String grade; - private Integer classId; - private String courseName; - private Integer times; - private Integer joinTimes; - private Date createTime; - private String team ; - private int status ; + public TeacherClass(TeacherClassDto teacherClassDto) { + this.tClassId = teacherClassDto.gettClassId(); + this.teacherId = teacherClassDto.getTeacherId(); + this.teacherName = teacherClassDto.getTeacherName(); + this.schoolId = teacherClassDto.getSchoolId(); + this.grade = teacherClassDto.getGrade(); + this.classId = teacherClassDto.getClassId(); + this.courseName = teacherClassDto.getCourseName(); + this.times = teacherClassDto.getTimes(); + this.joinTimes = teacherClassDto.getJoinTimes(); + this.createTime = teacherClassDto.getCreateTime(); + this.team = teacherClassDto.getTeam(); + this.status = teacherClassDto.getStatus(); + } + + public TeacherClass() { + } + public Integer gettClassId() { return tClassId; } diff --git a/cloud/search_independence/src/main/resources/application.yml b/cloud/search_independence/src/main/resources/application.yml index 8cddfc5..5bf9068 100644 --- a/cloud/search_independence/src/main/resources/application.yml +++ b/cloud/search_independence/src/main/resources/application.yml @@ -23,6 +23,7 @@ eureka: service-url: defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/ + remoting: # url: http://60.190.202.57:1000 url: http://campus.myjxt.com diff --git a/cloud/search_independence/src/main/resources/mapper/ScheduleMapper.xml b/cloud/search_independence/src/main/resources/mapper/ScheduleMapper.xml index 8c43864..04c1008 100644 --- a/cloud/search_independence/src/main/resources/mapper/ScheduleMapper.xml +++ b/cloud/search_independence/src/main/resources/mapper/ScheduleMapper.xml @@ -14,7 +14,7 @@ - + insert into sz_schedule ( schedule_name , school_id, team,create_time,speed) values (#{scheduleName},#{schoolId},#{team},#{createTime},#{speed}) -- libgit2 0.21.0