Commit 74b6b20f778f6be05fd80493bed7e27af6986f82
1 parent
94e3820a
Exists in
master
四维诊断
Showing
35 changed files
with
604 additions
and
37 deletions
Show diff stats
src/main/java/com/jevon/controller/LearnController.java
| @@ -7,6 +7,8 @@ import com.jevon.service.*; | @@ -7,6 +7,8 @@ import com.jevon.service.*; | ||
| 7 | import com.jevon.vo.BaseVo; | 7 | import com.jevon.vo.BaseVo; |
| 8 | import com.jevon.vo.excel.ExamExcelVo; | 8 | import com.jevon.vo.excel.ExamExcelVo; |
| 9 | import com.jevon.vo.excel.ScoreExcelVo; | 9 | import com.jevon.vo.excel.ScoreExcelVo; |
| 10 | +import com.jevon.vo.rep.GetLeague; | ||
| 11 | +import com.jevon.vo.rep.GetLeagueRepVo; | ||
| 10 | import com.jevon.vo.req.*; | 12 | import com.jevon.vo.req.*; |
| 11 | import io.swagger.annotations.Api; | 13 | import io.swagger.annotations.Api; |
| 12 | import io.swagger.annotations.ApiOperation; | 14 | import io.swagger.annotations.ApiOperation; |
| @@ -15,6 +17,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; | @@ -15,6 +17,7 @@ import org.apache.poi.hssf.usermodel.HSSFWorkbook; | ||
| 15 | import org.apache.poi.ss.usermodel.*; | 17 | import org.apache.poi.ss.usermodel.*; |
| 16 | import org.apache.poi.xssf.usermodel.XSSFWorkbook; | 18 | import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
| 17 | import org.springframework.beans.factory.annotation.Autowired; | 19 | import org.springframework.beans.factory.annotation.Autowired; |
| 20 | +import org.springframework.beans.factory.annotation.Value; | ||
| 18 | import org.springframework.web.bind.annotation.RequestBody; | 21 | import org.springframework.web.bind.annotation.RequestBody; |
| 19 | import org.springframework.web.bind.annotation.RequestMapping; | 22 | import org.springframework.web.bind.annotation.RequestMapping; |
| 20 | import org.springframework.web.bind.annotation.RequestMethod; | 23 | import org.springframework.web.bind.annotation.RequestMethod; |
| @@ -55,6 +58,11 @@ public class LearnController { | @@ -55,6 +58,11 @@ public class LearnController { | ||
| 55 | @Autowired | 58 | @Autowired |
| 56 | LeagueService leagueService; | 59 | LeagueService leagueService; |
| 57 | 60 | ||
| 61 | + @Value("${remoting.url}") | ||
| 62 | + private String url ; | ||
| 63 | + @Value("${remoting.prefixFile}") | ||
| 64 | + private String staticUrl ; | ||
| 65 | + | ||
| 58 | @ApiOperation("获取列表") | 66 | @ApiOperation("获取列表") |
| 59 | @RequestMapping(value = "getList", method = RequestMethod.POST) | 67 | @RequestMapping(value = "getList", method = RequestMethod.POST) |
| 60 | public List<Analyse> getList(){ | 68 | public List<Analyse> getList(){ |
| @@ -71,6 +79,7 @@ public class LearnController { | @@ -71,6 +79,7 @@ public class LearnController { | ||
| 71 | analyse.setExamName(createExamReqVo.getExamName()); | 79 | analyse.setExamName(createExamReqVo.getExamName()); |
| 72 | analyse.setExamTime(createExamReqVo.getExamTime()); | 80 | analyse.setExamTime(createExamReqVo.getExamTime()); |
| 73 | analyse.setCreateTime(new Date()); | 81 | analyse.setCreateTime(new Date()); |
| 82 | + analyse.setGrade(createExamReqVo.getGrade()); | ||
| 74 | analyseService.insert(analyse); | 83 | analyseService.insert(analyse); |
| 75 | baseVo.setMessage(analyse.getId()+""); | 84 | baseVo.setMessage(analyse.getId()+""); |
| 76 | return baseVo; | 85 | return baseVo; |
| @@ -89,6 +98,8 @@ public class LearnController { | @@ -89,6 +98,8 @@ public class LearnController { | ||
| 89 | analyse.setExamTime(updateExamReqVo.getExamTime()); | 98 | analyse.setExamTime(updateExamReqVo.getExamTime()); |
| 90 | analyse.setExamName(updateExamReqVo.getExamName()); | 99 | analyse.setExamName(updateExamReqVo.getExamName()); |
| 91 | analyse.setCourseName(updateExamReqVo.getCourseName()); | 100 | analyse.setCourseName(updateExamReqVo.getCourseName()); |
| 101 | + analyse.setGrade(updateExamReqVo.getGrade()); | ||
| 102 | + analyseService.update(analyse); | ||
| 92 | return baseVo; | 103 | return baseVo; |
| 93 | } | 104 | } |
| 94 | 105 | ||
| @@ -107,6 +118,7 @@ public class LearnController { | @@ -107,6 +118,7 @@ public class LearnController { | ||
| 107 | Float maxScore = 0f; | 118 | Float maxScore = 0f; |
| 108 | Analyse analyse = analyseService.selectById(initAnalyseReqVo.getAnalyseId()); | 119 | Analyse analyse = analyseService.selectById(initAnalyseReqVo.getAnalyseId()); |
| 109 | String fileUrl = initAnalyseReqVo.getUrl(); | 120 | String fileUrl = initAnalyseReqVo.getUrl(); |
| 121 | + fileUrl = fileUrl.replace(url, staticUrl); | ||
| 110 | File excelFile = new File(fileUrl); | 122 | File excelFile = new File(fileUrl); |
| 111 | // 获得工作簿 | 123 | // 获得工作簿 |
| 112 | String file = excelFile.getName(); | 124 | String file = excelFile.getName(); |
| @@ -207,6 +219,7 @@ public class LearnController { | @@ -207,6 +219,7 @@ public class LearnController { | ||
| 207 | scoreMap.put(analyseDetail.getQuestionNumber(),analyseDetail.getScore()); | 219 | scoreMap.put(analyseDetail.getQuestionNumber(),analyseDetail.getScore()); |
| 208 | } | 220 | } |
| 209 | String fileUrl = initAnalyseReqVo.getUrl(); | 221 | String fileUrl = initAnalyseReqVo.getUrl(); |
| 222 | + fileUrl = fileUrl.replace(url, staticUrl); | ||
| 210 | File excelFile = new File(fileUrl); | 223 | File excelFile = new File(fileUrl); |
| 211 | // 获得工作簿 | 224 | // 获得工作簿 |
| 212 | String file = excelFile.getName(); | 225 | String file = excelFile.getName(); |
| @@ -236,7 +249,7 @@ public class LearnController { | @@ -236,7 +249,7 @@ public class LearnController { | ||
| 236 | while (sheetRow.getCell(j) != null){ | 249 | while (sheetRow.getCell(j) != null){ |
| 237 | Cell cell = sheetRow.getCell(j); | 250 | Cell cell = sheetRow.getCell(j); |
| 238 | cell.setCellType(CellType.STRING); | 251 | cell.setCellType(CellType.STRING); |
| 239 | - map.put(j,cell.getStringCellValue().trim()); | 252 | + map.put(j,cell.getStringCellValue().trim().replace("(","(").replace(")",")")); |
| 240 | j++; | 253 | j++; |
| 241 | } | 254 | } |
| 242 | column = j ; | 255 | column = j ; |
| @@ -304,4 +317,41 @@ public class LearnController { | @@ -304,4 +317,41 @@ public class LearnController { | ||
| 304 | leagueService.insertBatch(leagues); | 317 | leagueService.insertBatch(leagues); |
| 305 | return baseVo; | 318 | return baseVo; |
| 306 | } | 319 | } |
| 320 | + | ||
| 321 | + @ApiOperation("获取该次考试联盟学校信息") | ||
| 322 | + @RequestMapping(value = "getLeague", method = RequestMethod.GET) | ||
| 323 | + public GetLeagueRepVo getLeague(int analyseId){ | ||
| 324 | + GetLeagueRepVo getLeagueRepVo = new GetLeagueRepVo(); | ||
| 325 | + List<League> leagues = leagueService.selectByAnalyseId(analyseId); | ||
| 326 | + List<GetLeague> getLeagues = new ArrayList<>(); | ||
| 327 | + for(League league : leagues){ | ||
| 328 | + boolean isExist = false ; | ||
| 329 | + for(GetLeague getLeague : getLeagues){ | ||
| 330 | + if(getLeague.getLeagueName().equals(league.getLeague())){ | ||
| 331 | + isExist = true ; | ||
| 332 | + List<League> list = getLeague.getLeagues(); | ||
| 333 | + list.add(league); | ||
| 334 | + getLeague.setLeagues(list); | ||
| 335 | + } | ||
| 336 | + } | ||
| 337 | + if(!isExist){ | ||
| 338 | + GetLeague getLeague = new GetLeague(); | ||
| 339 | + getLeague.setLeagueName(league.getLeague()); | ||
| 340 | + List<League> list = new ArrayList<>(); | ||
| 341 | + list.add(league); | ||
| 342 | + getLeague.setLeagues(list); | ||
| 343 | + getLeagues.add(getLeague); | ||
| 344 | + } | ||
| 345 | + } | ||
| 346 | + getLeagueRepVo.setData(getLeagues); | ||
| 347 | + return getLeagueRepVo; | ||
| 348 | + } | ||
| 349 | + | ||
| 350 | + @ApiOperation("更新联盟校信息") | ||
| 351 | + @RequestMapping(value = "updateLeague", method = RequestMethod.POST) | ||
| 352 | + public BaseVo updateLeague(@RequestBody UpdateLeagueReqVo updateLeagueReqVo){ | ||
| 353 | + BaseVo baseVo = new BaseVo(); | ||
| 354 | + leagueService.update(updateLeagueReqVo.getId(),updateLeagueReqVo.getLeague()); | ||
| 355 | + return baseVo; | ||
| 356 | + } | ||
| 307 | } | 357 | } |
src/main/java/com/jevon/controller/LearnStatController.java
| @@ -4,16 +4,19 @@ import com.jevon.enums.DifficultEnums; | @@ -4,16 +4,19 @@ import com.jevon.enums.DifficultEnums; | ||
| 4 | import com.jevon.enums.DimensionalEnums; | 4 | import com.jevon.enums.DimensionalEnums; |
| 5 | import com.jevon.model.*; | 5 | import com.jevon.model.*; |
| 6 | import com.jevon.service.*; | 6 | import com.jevon.service.*; |
| 7 | +import com.jevon.vo.rep.SuggestRepVo; | ||
| 7 | import com.jevon.vo.req.GetLearnReqVo; | 8 | import com.jevon.vo.req.GetLearnReqVo; |
| 8 | import com.jevon.wordDTO.*; | 9 | import com.jevon.wordDTO.*; |
| 9 | import io.swagger.annotations.Api; | 10 | import io.swagger.annotations.Api; |
| 10 | import io.swagger.annotations.ApiOperation; | 11 | import io.swagger.annotations.ApiOperation; |
| 12 | +import io.swagger.models.auth.In; | ||
| 11 | import org.springframework.beans.factory.annotation.Autowired; | 13 | import org.springframework.beans.factory.annotation.Autowired; |
| 12 | import org.springframework.web.bind.annotation.RequestBody; | 14 | import org.springframework.web.bind.annotation.RequestBody; |
| 13 | import org.springframework.web.bind.annotation.RequestMapping; | 15 | import org.springframework.web.bind.annotation.RequestMapping; |
| 14 | import org.springframework.web.bind.annotation.RequestMethod; | 16 | import org.springframework.web.bind.annotation.RequestMethod; |
| 15 | import org.springframework.web.bind.annotation.RestController; | 17 | import org.springframework.web.bind.annotation.RestController; |
| 16 | 18 | ||
| 19 | +import java.text.DecimalFormat; | ||
| 17 | import java.util.ArrayList; | 20 | import java.util.ArrayList; |
| 18 | import java.util.HashMap; | 21 | import java.util.HashMap; |
| 19 | import java.util.List; | 22 | import java.util.List; |
| @@ -49,25 +52,25 @@ public class LearnStatController { | @@ -49,25 +52,25 @@ public class LearnStatController { | ||
| 49 | @Autowired | 52 | @Autowired |
| 50 | LeagueService leagueService; | 53 | LeagueService leagueService; |
| 51 | 54 | ||
| 52 | - @ApiOperation("getForm1_1") | ||
| 53 | - @RequestMapping(value = "getForm1_1", method = RequestMethod.POST) | ||
| 54 | - public List<Form7> getForm1_1(@RequestBody GetLearnReqVo getLearnReqVo){ | ||
| 55 | - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); | ||
| 56 | - List<Form7> list = new ArrayList<>(); | ||
| 57 | - Form7 form7 = new Form7(); | ||
| 58 | - form7.setName(DifficultEnums.easy.getDifficultName()); | ||
| 59 | - form7.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.easy.getDifficultType())/analyse.getMaxScore()*100); | ||
| 60 | - list.add(form7); | ||
| 61 | - Form7 form = new Form7(); | ||
| 62 | - form.setName(DifficultEnums.medium.getDifficultName()); | ||
| 63 | - form.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.medium.getDifficultType())/analyse.getMaxScore()*100); | ||
| 64 | - list.add(form); | ||
| 65 | - Form7 form2 = new Form7(); | ||
| 66 | - form2.setName(DifficultEnums.difficult.getDifficultName()); | ||
| 67 | - form2.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.difficult.getDifficultType())/analyse.getMaxScore()*100); | ||
| 68 | - list.add(form2); | ||
| 69 | - return list; | ||
| 70 | - } | 55 | +// @ApiOperation("getForm1_1") |
| 56 | +// @RequestMapping(value = "getForm1_1", method = RequestMethod.POST) | ||
| 57 | +// public List<Form7> getForm1_1(@RequestBody GetLearnReqVo getLearnReqVo){ | ||
| 58 | +// Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); | ||
| 59 | +// List<Form7> list = new ArrayList<>(); | ||
| 60 | +// Form7 form7 = new Form7(); | ||
| 61 | +// form7.setName(DifficultEnums.easy.getDifficultName()); | ||
| 62 | +// form7.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.easy.getDifficultType())/analyse.getMaxScore()*100); | ||
| 63 | +// list.add(form7); | ||
| 64 | +// Form7 form = new Form7(); | ||
| 65 | +// form.setName(DifficultEnums.medium.getDifficultName()); | ||
| 66 | +// form.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.medium.getDifficultType())/analyse.getMaxScore()*100); | ||
| 67 | +// list.add(form); | ||
| 68 | +// Form7 form2 = new Form7(); | ||
| 69 | +// form2.setName(DifficultEnums.difficult.getDifficultName()); | ||
| 70 | +// form2.setPercent(analyseDetailService.selectDifficult(analyse.getId(),DifficultEnums.difficult.getDifficultType())/analyse.getMaxScore()*100); | ||
| 71 | +// list.add(form2); | ||
| 72 | +// return list; | ||
| 73 | +// } | ||
| 71 | 74 | ||
| 72 | @ApiOperation("getForm2_1_1") | 75 | @ApiOperation("getForm2_1_1") |
| 73 | @RequestMapping(value = "getForm2_1_1", method = RequestMethod.POST) | 76 | @RequestMapping(value = "getForm2_1_1", method = RequestMethod.POST) |
| @@ -635,4 +638,131 @@ public class LearnStatController { | @@ -635,4 +638,131 @@ public class LearnStatController { | ||
| 635 | return repVO; | 638 | return repVO; |
| 636 | } | 639 | } |
| 637 | 640 | ||
| 641 | + private Form6RepVo initSchoolDimensional(GetLearnReqVo getLearnReqVo , int dimensionalType){ | ||
| 642 | + Form6RepVo repVO = new Form6RepVo(); | ||
| 643 | + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); | ||
| 644 | + if(analyse == null){ | ||
| 645 | + repVO.setSuccess(false); | ||
| 646 | + repVO.setMessage("请先创建考试"); | ||
| 647 | + return repVO; | ||
| 648 | + } | ||
| 649 | + List<String> highStudent = new ArrayList<>(); | ||
| 650 | + List<String> lowStudent = new ArrayList<>(); | ||
| 651 | + List<Student> students = studentService.selectBySchoolName(analyse.getId(),null,getLearnReqVo.getSchoolName()); | ||
| 652 | + int number = (int) Math.floor(students.size()*0.27) ; | ||
| 653 | + { | ||
| 654 | + //获取本校高分段 低分段 学生编号 | ||
| 655 | + for (int i = 0; i < number ; i++) { | ||
| 656 | + highStudent.add(students.get(i).getStudentNumber()); | ||
| 657 | + } | ||
| 658 | + for(int i =students.size()-number ; i < students.size() ; i++){ | ||
| 659 | + lowStudent.add(students.get(i).getStudentNumber()); | ||
| 660 | + } | ||
| 661 | + } | ||
| 662 | + List<Form6> list = new ArrayList<>(); | ||
| 663 | + List<Dimensional> knowledgeList = dimensionalService.selectByAnalyse(analyse.getId(),dimensionalType); | ||
| 664 | + for(Dimensional dimensional : knowledgeList){ | ||
| 665 | + Form6 form6 = new Form6(); | ||
| 666 | + form6.setDimensional(dimensional.getDimensionalName()); | ||
| 667 | + List<AnalyseDimensional> analyseDimensionals = analyseDimensionalService.selectByDimensional(analyse.getId(),dimensional.getId()); | ||
| 668 | + Double score = 0d; | ||
| 669 | + StringBuffer examNumber = new StringBuffer(); | ||
| 670 | + List<String> examNumberList = new ArrayList<>(); | ||
| 671 | + for(AnalyseDimensional analyseDimensional :analyseDimensionals){ | ||
| 672 | + score = score + analyseDimensional.getScore() ; | ||
| 673 | + examNumber.append(analyseDimensional.getQuestionNumber()).append(","); | ||
| 674 | + examNumberList.add(analyseDimensional.getQuestionNumber()); | ||
| 675 | + } | ||
| 676 | + Double schoolSumScore = studentDetailService.selectSumScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),examNumberList); | ||
| 677 | + int high = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,getLearnReqVo.getSchoolName() ,examNumberList,highStudent); | ||
| 678 | + int low = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,getLearnReqVo.getSchoolName() ,examNumberList,lowStudent); | ||
| 679 | + form6.setScore(score); | ||
| 680 | + form6.setSchoolRate(schoolSumScore / new Double(students.size()) / score); | ||
| 681 | + form6.setSchoolAvg(schoolSumScore / new Double(students.size())); | ||
| 682 | + form6.setSchoolDist(new Double(high-low) / new Double(number * analyseDimensionals.size())); | ||
| 683 | + form6.setExamNumber(examNumber.toString().substring(0,examNumber.toString().length()-1)); | ||
| 684 | + list.add(form6); | ||
| 685 | + } | ||
| 686 | + repVO.setData(list); | ||
| 687 | + return repVO; | ||
| 688 | + } | ||
| 689 | + | ||
| 690 | + @ApiOperation("获取教学改进建议") | ||
| 691 | + @RequestMapping(value = "getSuggest", method = RequestMethod.POST) | ||
| 692 | + public SuggestRepVo getSuggest(@RequestBody GetLearnReqVo getLearnReqVo){ | ||
| 693 | + SuggestRepVo suggestRepVo = new SuggestRepVo() ; | ||
| 694 | + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); | ||
| 695 | + Double avg = studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName()) ; | ||
| 696 | + DecimalFormat df = new DecimalFormat("#.00"); | ||
| 697 | + //得分率 | ||
| 698 | + String avgStr = df.format(avg / analyse.getMaxScore()); | ||
| 699 | + | ||
| 700 | + List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); | ||
| 701 | + int a = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.85,analyse.getMaxScore()+1f); | ||
| 702 | + //优秀率 | ||
| 703 | + String aStr = df.format(new Double(a) / new Double(students.size()) * 100); | ||
| 704 | + suggestRepVo.setDifficultyDegree(avgStr); | ||
| 705 | + suggestRepVo.setExcellentRate(aStr); | ||
| 706 | + suggestRepVo.setErrorList(getErrorRate(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),students.size())); | ||
| 707 | + Form6RepVo knowledge = initSchoolDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()); | ||
| 708 | + List<String> lessKnowledgeList = new ArrayList<>(); //不足50% | ||
| 709 | + List<String> midKnowledgeList = new ArrayList<>(); //50-70% | ||
| 710 | + for(Form6 form6 :knowledge.getData()){ | ||
| 711 | + if(form6.getSchoolRate() < 0.5d){ | ||
| 712 | + lessKnowledgeList.add(form6.getDimensional()); | ||
| 713 | + }else if(form6.getSchoolRate() < 0.7d){ | ||
| 714 | + midKnowledgeList.add(form6.getDimensional()); | ||
| 715 | + } | ||
| 716 | + } | ||
| 717 | + suggestRepVo.setLessKnowledgeList(lessKnowledgeList); | ||
| 718 | + suggestRepVo.setMidKnowledgeList(midKnowledgeList); | ||
| 719 | + Form6RepVo ability = initSchoolDimensional(getLearnReqVo,DimensionalEnums.ability.getDimensionalType()); | ||
| 720 | + List<String> lessAbilityList = new ArrayList<>(); //不足70% | ||
| 721 | + List<String> midAbilityList = new ArrayList<>(); //70-80% | ||
| 722 | + List<String> highAbilityList = new ArrayList<>(); //大于80% | ||
| 723 | + for(Form6 form6 :ability.getData()){ | ||
| 724 | + if(form6.getSchoolRate() < 0.7d){ | ||
| 725 | + lessAbilityList.add(form6.getDimensional()); | ||
| 726 | + }else if(form6.getSchoolRate() < 0.8d){ | ||
| 727 | + midAbilityList.add(form6.getDimensional()); | ||
| 728 | + }else if(form6.getSchoolRate() >= 0.8d){ | ||
| 729 | + highAbilityList.add(form6.getDimensional()); | ||
| 730 | + } | ||
| 731 | + } | ||
| 732 | + suggestRepVo.setLessAbilityList(lessAbilityList); | ||
| 733 | + suggestRepVo.setMidAbilityList(midAbilityList); | ||
| 734 | + suggestRepVo.setHighAbilityList(highAbilityList); | ||
| 735 | + Form6RepVo skill = initSchoolDimensional(getLearnReqVo,DimensionalEnums.skill.getDimensionalType()); | ||
| 736 | + List<String> lessSkillList = new ArrayList<>(); //不足70% | ||
| 737 | + List<String> midSkillList = new ArrayList<>(); //70-80% | ||
| 738 | + List<String> highSkillList = new ArrayList<>(); //大于80% | ||
| 739 | + for(Form6 form6 :skill.getData()){ | ||
| 740 | + if(form6.getSchoolRate() < 0.7d){ | ||
| 741 | + lessSkillList.add(form6.getDimensional()); | ||
| 742 | + }else if(form6.getSchoolRate() < 0.8d){ | ||
| 743 | + midSkillList.add(form6.getDimensional()); | ||
| 744 | + }else if(form6.getSchoolRate() >= 0.8d){ | ||
| 745 | + highSkillList.add(form6.getDimensional()); | ||
| 746 | + } | ||
| 747 | + } | ||
| 748 | + suggestRepVo.setLessSkillList(lessSkillList); | ||
| 749 | + suggestRepVo.setMidSkillList(midSkillList); | ||
| 750 | + suggestRepVo.setHighSkillList(highSkillList); | ||
| 751 | + return suggestRepVo; | ||
| 752 | + } | ||
| 753 | + | ||
| 754 | + public List<String> getErrorRate(int analyseId , String schoolName , int studentSize){ | ||
| 755 | + List<String> errorList = new ArrayList<>(); | ||
| 756 | + List<AnalyseDetail> analyseDetails = analyseDetailService.selectByAnalyseId(analyseId); | ||
| 757 | + double errorNumber = Math.ceil(studentSize * 0.15) ; | ||
| 758 | + for(AnalyseDetail analyseDetail :analyseDetails){ | ||
| 759 | + if("选择题".equals(analyseDetail.getQuestionType())){ | ||
| 760 | + int number = studentDetailService.selectTrueByExamNumber(analyseId,schoolName,analyseDetail.getQuestionNumber()); | ||
| 761 | + if(errorNumber < (studentSize-number)){ | ||
| 762 | + errorList.add(analyseDetail.getQuestionNumber()); | ||
| 763 | + } | ||
| 764 | + } | ||
| 765 | + } | ||
| 766 | + return errorList; | ||
| 767 | + } | ||
| 638 | } | 768 | } |
src/main/java/com/jevon/mapper/LeagueMapper.java
| @@ -13,5 +13,7 @@ public interface LeagueMapper { | @@ -13,5 +13,7 @@ public interface LeagueMapper { | ||
| 13 | 13 | ||
| 14 | int insertBatch(List<League> list); | 14 | int insertBatch(List<League> list); |
| 15 | 15 | ||
| 16 | + int update(League league); | ||
| 17 | + | ||
| 16 | List<League> selectByLeague(League league); | 18 | List<League> selectByLeague(League league); |
| 17 | } | 19 | } |
src/main/java/com/jevon/model/Analyse.java
| @@ -15,6 +15,7 @@ public class Analyse { | @@ -15,6 +15,7 @@ public class Analyse { | ||
| 15 | private String courseName ; | 15 | private String courseName ; |
| 16 | private Date createTime ; | 16 | private Date createTime ; |
| 17 | private Double maxScore ; | 17 | private Double maxScore ; |
| 18 | + private String grade ; | ||
| 18 | 19 | ||
| 19 | public int getId() { | 20 | public int getId() { |
| 20 | return id; | 21 | return id; |
| @@ -63,4 +64,12 @@ public class Analyse { | @@ -63,4 +64,12 @@ public class Analyse { | ||
| 63 | public void setMaxScore(Double maxScore) { | 64 | public void setMaxScore(Double maxScore) { |
| 64 | this.maxScore = maxScore; | 65 | this.maxScore = maxScore; |
| 65 | } | 66 | } |
| 67 | + | ||
| 68 | + public String getGrade() { | ||
| 69 | + return grade; | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + public void setGrade(String grade) { | ||
| 73 | + this.grade = grade; | ||
| 74 | + } | ||
| 66 | } | 75 | } |
src/main/java/com/jevon/service/LeagueService.java
| @@ -13,6 +13,8 @@ public interface LeagueService { | @@ -13,6 +13,8 @@ public interface LeagueService { | ||
| 13 | 13 | ||
| 14 | int insertBatch(List<League> list); | 14 | int insertBatch(List<League> list); |
| 15 | 15 | ||
| 16 | + int update(int id , String league); | ||
| 17 | + | ||
| 16 | List<League> selectByAnalyseId(int analyseId); | 18 | List<League> selectByAnalyseId(int analyseId); |
| 17 | 19 | ||
| 18 | List<String> getLeagueBySchoolName(int analyseId , String schoolName); | 20 | List<String> getLeagueBySchoolName(int analyseId , String schoolName); |
src/main/java/com/jevon/service/StudentDetailService.java
| @@ -17,6 +17,8 @@ public interface StudentDetailService { | @@ -17,6 +17,8 @@ public interface StudentDetailService { | ||
| 17 | 17 | ||
| 18 | Double selectSumScore(int analyseId, List<String> league , String schoolName, List<String> examNumbers); | 18 | Double selectSumScore(int analyseId, List<String> league , String schoolName, List<String> examNumbers); |
| 19 | 19 | ||
| 20 | + int selectTrueByExamNumber(int analyseId , String schoolName , String examNumber); | ||
| 21 | + | ||
| 20 | int selectTrueByExamNumber(int analyseId , List<String> league , String schoolName , String examNumber , List<String> studentNumbers); | 22 | int selectTrueByExamNumber(int analyseId , List<String> league , String schoolName , String examNumber , List<String> studentNumbers); |
| 21 | 23 | ||
| 22 | int selectTrueByExamNumber(int analyseId , List<String> league , String schoolName , List<String> examNumbers , List<String> studentNumbers); | 24 | int selectTrueByExamNumber(int analyseId , List<String> league , String schoolName , List<String> examNumbers , List<String> studentNumbers); |
src/main/java/com/jevon/service/impl/LeagueServiceImpl.java
| @@ -26,6 +26,14 @@ public class LeagueServiceImpl implements LeagueService { | @@ -26,6 +26,14 @@ public class LeagueServiceImpl implements LeagueService { | ||
| 26 | } | 26 | } |
| 27 | 27 | ||
| 28 | @Override | 28 | @Override |
| 29 | + public int update(int id, String league) { | ||
| 30 | + League update = new League(); | ||
| 31 | + update.setId(id); | ||
| 32 | + update.setLeague(league); | ||
| 33 | + return leagueMapper.update(update); | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | + @Override | ||
| 29 | public List<League> selectByAnalyseId(int analyseId) { | 37 | public List<League> selectByAnalyseId(int analyseId) { |
| 30 | League league = new League(); | 38 | League league = new League(); |
| 31 | league.setAnalyseId(analyseId); | 39 | league.setAnalyseId(analyseId); |
src/main/java/com/jevon/service/impl/StudentDetailServiceImpl.java
| @@ -46,6 +46,7 @@ public class StudentDetailServiceImpl implements StudentDetailService { | @@ -46,6 +46,7 @@ public class StudentDetailServiceImpl implements StudentDetailService { | ||
| 46 | return studentDetailMapper.selectSumScore(studentDetail); | 46 | return studentDetailMapper.selectSumScore(studentDetail); |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | + | ||
| 49 | @Override | 50 | @Override |
| 50 | public Double selectSumScore(int analyseId, List<String> league, String schoolName, List<String> examNumbers) { | 51 | public Double selectSumScore(int analyseId, List<String> league, String schoolName, List<String> examNumbers) { |
| 51 | StudentDetail studentDetail = new StudentDetail(); | 52 | StudentDetail studentDetail = new StudentDetail(); |
| @@ -57,6 +58,15 @@ public class StudentDetailServiceImpl implements StudentDetailService { | @@ -57,6 +58,15 @@ public class StudentDetailServiceImpl implements StudentDetailService { | ||
| 57 | } | 58 | } |
| 58 | 59 | ||
| 59 | @Override | 60 | @Override |
| 61 | + public int selectTrueByExamNumber(int analyseId, String schoolName, String examNumber) { | ||
| 62 | + StudentDetail studentDetail = new StudentDetail(); | ||
| 63 | + studentDetail.setAnalyseId(analyseId); | ||
| 64 | + studentDetail.setSchoolName(schoolName); | ||
| 65 | + studentDetail.setExamNumber(examNumber); | ||
| 66 | + return studentDetailMapper.selectTrueByExamNumber(studentDetail); | ||
| 67 | + } | ||
| 68 | + | ||
| 69 | + @Override | ||
| 60 | public int selectTrueByExamNumber(int analyseId,List<String> league , String schoolName, String examNumber, List<String> studentNumbers) { | 70 | public int selectTrueByExamNumber(int analyseId,List<String> league , String schoolName, String examNumber, List<String> studentNumbers) { |
| 61 | StudentDetail studentDetail = new StudentDetail(); | 71 | StudentDetail studentDetail = new StudentDetail(); |
| 62 | studentDetail.setAnalyseId(analyseId); | 72 | studentDetail.setAnalyseId(analyseId); |
| @@ -0,0 +1,32 @@ | @@ -0,0 +1,32 @@ | ||
| 1 | +package com.jevon.vo.rep; | ||
| 2 | + | ||
| 3 | +import com.jevon.model.League; | ||
| 4 | + | ||
| 5 | +import java.util.List; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * @author chen | ||
| 9 | + * @version 1.0 | ||
| 10 | + * @date 2019/10/22 0022 15:46 | ||
| 11 | + */ | ||
| 12 | +public class GetLeague { | ||
| 13 | + | ||
| 14 | + private String leagueName ; | ||
| 15 | + private List<League> leagues ; | ||
| 16 | + | ||
| 17 | + public String getLeagueName() { | ||
| 18 | + return leagueName; | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + public void setLeagueName(String leagueName) { | ||
| 22 | + this.leagueName = leagueName; | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + public List<League> getLeagues() { | ||
| 26 | + return leagues; | ||
| 27 | + } | ||
| 28 | + | ||
| 29 | + public void setLeagues(List<League> leagues) { | ||
| 30 | + this.leagues = leagues; | ||
| 31 | + } | ||
| 32 | +} |
| @@ -0,0 +1,23 @@ | @@ -0,0 +1,23 @@ | ||
| 1 | +package com.jevon.vo.rep; | ||
| 2 | + | ||
| 3 | +import com.jevon.vo.BaseVo; | ||
| 4 | + | ||
| 5 | +import java.util.List; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * @author chen | ||
| 9 | + * @version 1.0 | ||
| 10 | + * @date 2019/10/22 0022 15:48 | ||
| 11 | + */ | ||
| 12 | +public class GetLeagueRepVo extends BaseVo { | ||
| 13 | + | ||
| 14 | + private List<GetLeague> data ; | ||
| 15 | + | ||
| 16 | + public List<GetLeague> getData() { | ||
| 17 | + return data; | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + public void setData(List<GetLeague> data) { | ||
| 21 | + this.data = data; | ||
| 22 | + } | ||
| 23 | +} |
| @@ -0,0 +1,135 @@ | @@ -0,0 +1,135 @@ | ||
| 1 | +package com.jevon.vo.rep; | ||
| 2 | + | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 6 | +import java.util.List; | ||
| 7 | + | ||
| 8 | +/** | ||
| 9 | + * @author chen | ||
| 10 | + * @version 1.0 | ||
| 11 | + * @date 2019/10/23 0023 9:04 | ||
| 12 | + */ | ||
| 13 | +@ApiModel | ||
| 14 | +public class SuggestRepVo { | ||
| 15 | + @ApiModelProperty(value = "总体情况") | ||
| 16 | + private String assess ; | ||
| 17 | + @ApiModelProperty(value = "难度系数") | ||
| 18 | + private String difficultyDegree ; | ||
| 19 | + @ApiModelProperty(value = "优秀率") | ||
| 20 | + private String excellentRate ; | ||
| 21 | + @ApiModelProperty(value = "知识点得分率不到50%的") | ||
| 22 | + private List<String> lessKnowledgeList ; | ||
| 23 | + @ApiModelProperty(value = "知识点得分率不到70%") | ||
| 24 | + private List<String> midKnowledgeList ; | ||
| 25 | + @ApiModelProperty(value = "学习能力得分率<69%") | ||
| 26 | + private List<String> lessAbilityList ; | ||
| 27 | + @ApiModelProperty(value = "学习能力得分率在70%≤η<80%") | ||
| 28 | + private List<String> midAbilityList ; | ||
| 29 | + @ApiModelProperty(value = "学习能力得分率≥80%") | ||
| 30 | + private List<String> highAbilityList ; | ||
| 31 | + @ApiModelProperty(value = "探究技能方面得分率<69%") | ||
| 32 | + private List<String> lessSkillList ; | ||
| 33 | + @ApiModelProperty(value = "探究技能方面得分率在70%≤η<80%") | ||
| 34 | + private List<String> midSkillList ; | ||
| 35 | + @ApiModelProperty(value = "探究技能方面得分率≥80%") | ||
| 36 | + private List<String> highSkillList ; | ||
| 37 | + @ApiModelProperty(value = "选择题错误率>15%") | ||
| 38 | + private List<String> errorList ; | ||
| 39 | + | ||
| 40 | + public List<String> getErrorList() { | ||
| 41 | + return errorList; | ||
| 42 | + } | ||
| 43 | + | ||
| 44 | + public void setErrorList(List<String> errorList) { | ||
| 45 | + this.errorList = errorList; | ||
| 46 | + } | ||
| 47 | + | ||
| 48 | + public String getAssess() { | ||
| 49 | + return assess; | ||
| 50 | + } | ||
| 51 | + | ||
| 52 | + public void setAssess(String assess) { | ||
| 53 | + this.assess = assess; | ||
| 54 | + } | ||
| 55 | + | ||
| 56 | + public String getDifficultyDegree() { | ||
| 57 | + return difficultyDegree; | ||
| 58 | + } | ||
| 59 | + | ||
| 60 | + public void setDifficultyDegree(String difficultyDegree) { | ||
| 61 | + this.difficultyDegree = difficultyDegree; | ||
| 62 | + } | ||
| 63 | + | ||
| 64 | + public String getExcellentRate() { | ||
| 65 | + return excellentRate; | ||
| 66 | + } | ||
| 67 | + | ||
| 68 | + public void setExcellentRate(String excellentRate) { | ||
| 69 | + this.excellentRate = excellentRate; | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + public List<String> getLessKnowledgeList() { | ||
| 73 | + return lessKnowledgeList; | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + public void setLessKnowledgeList(List<String> lessKnowledgeList) { | ||
| 77 | + this.lessKnowledgeList = lessKnowledgeList; | ||
| 78 | + } | ||
| 79 | + | ||
| 80 | + public List<String> getMidKnowledgeList() { | ||
| 81 | + return midKnowledgeList; | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + public void setMidKnowledgeList(List<String> midKnowledgeList) { | ||
| 85 | + this.midKnowledgeList = midKnowledgeList; | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + public List<String> getLessAbilityList() { | ||
| 89 | + return lessAbilityList; | ||
| 90 | + } | ||
| 91 | + | ||
| 92 | + public void setLessAbilityList(List<String> lessAbilityList) { | ||
| 93 | + this.lessAbilityList = lessAbilityList; | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + public List<String> getMidAbilityList() { | ||
| 97 | + return midAbilityList; | ||
| 98 | + } | ||
| 99 | + | ||
| 100 | + public void setMidAbilityList(List<String> midAbilityList) { | ||
| 101 | + this.midAbilityList = midAbilityList; | ||
| 102 | + } | ||
| 103 | + | ||
| 104 | + public List<String> getHighAbilityList() { | ||
| 105 | + return highAbilityList; | ||
| 106 | + } | ||
| 107 | + | ||
| 108 | + public void setHighAbilityList(List<String> highAbilityList) { | ||
| 109 | + this.highAbilityList = highAbilityList; | ||
| 110 | + } | ||
| 111 | + | ||
| 112 | + public List<String> getLessSkillList() { | ||
| 113 | + return lessSkillList; | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + public void setLessSkillList(List<String> lessSkillList) { | ||
| 117 | + this.lessSkillList = lessSkillList; | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + public List<String> getMidSkillList() { | ||
| 121 | + return midSkillList; | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + public void setMidSkillList(List<String> midSkillList) { | ||
| 125 | + this.midSkillList = midSkillList; | ||
| 126 | + } | ||
| 127 | + | ||
| 128 | + public List<String> getHighSkillList() { | ||
| 129 | + return highSkillList; | ||
| 130 | + } | ||
| 131 | + | ||
| 132 | + public void setHighSkillList(List<String> highSkillList) { | ||
| 133 | + this.highSkillList = highSkillList; | ||
| 134 | + } | ||
| 135 | +} |
src/main/java/com/jevon/vo/req/CreateExamReqVo.java
| 1 | package com.jevon.vo.req; | 1 | package com.jevon.vo.req; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/18 0018 14:48 | 9 | * @date 2019/10/18 0018 14:48 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class CreateExamReqVo { | 12 | public class CreateExamReqVo { |
| 9 | - | 13 | + @ApiModelProperty(value="考试名称") |
| 10 | private String examName ; | 14 | private String examName ; |
| 15 | + @ApiModelProperty(value="学科") | ||
| 11 | private String courseName ; | 16 | private String courseName ; |
| 17 | + @ApiModelProperty(value="考试时间") | ||
| 12 | private String examTime ; | 18 | private String examTime ; |
| 19 | + @ApiModelProperty(value="年级") | ||
| 20 | + private String grade ; | ||
| 13 | 21 | ||
| 14 | public String getExamName() { | 22 | public String getExamName() { |
| 15 | return examName; | 23 | return examName; |
| @@ -34,4 +42,12 @@ public class CreateExamReqVo { | @@ -34,4 +42,12 @@ public class CreateExamReqVo { | ||
| 34 | public void setExamTime(String examTime) { | 42 | public void setExamTime(String examTime) { |
| 35 | this.examTime = examTime; | 43 | this.examTime = examTime; |
| 36 | } | 44 | } |
| 45 | + | ||
| 46 | + public String getGrade() { | ||
| 47 | + return grade; | ||
| 48 | + } | ||
| 49 | + | ||
| 50 | + public void setGrade(String grade) { | ||
| 51 | + this.grade = grade; | ||
| 52 | + } | ||
| 37 | } | 53 | } |
src/main/java/com/jevon/vo/req/GetLearnReqVo.java
| 1 | package com.jevon.vo.req; | 1 | package com.jevon.vo.req; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/18 0018 14:57 | 9 | * @date 2019/10/18 0018 14:57 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class GetLearnReqVo { | 12 | public class GetLearnReqVo { |
| 9 | - | 13 | + @ApiModelProperty(value="考试主键") |
| 10 | private int analyseId ; | 14 | private int analyseId ; |
| 15 | + @ApiModelProperty(value="学校名称") | ||
| 11 | private String schoolName ; | 16 | private String schoolName ; |
| 12 | 17 | ||
| 13 | public int getAnalyseId() { | 18 | public int getAnalyseId() { |
src/main/java/com/jevon/vo/req/InitLeague.java
| 1 | package com.jevon.vo.req; | 1 | package com.jevon.vo.req; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | import java.util.List; | 6 | import java.util.List; |
| 4 | 7 | ||
| 5 | /** | 8 | /** |
| @@ -7,9 +10,11 @@ import java.util.List; | @@ -7,9 +10,11 @@ import java.util.List; | ||
| 7 | * @version 1.0 | 10 | * @version 1.0 |
| 8 | * @date 2019/10/22 0022 9:28 | 11 | * @date 2019/10/22 0022 9:28 |
| 9 | */ | 12 | */ |
| 13 | +@ApiModel | ||
| 10 | public class InitLeague { | 14 | public class InitLeague { |
| 11 | - | 15 | + @ApiModelProperty(value="联盟名称") |
| 12 | private String league ; | 16 | private String league ; |
| 17 | + @ApiModelProperty(value="联盟校集合") | ||
| 13 | private List<String> schoolNames ; | 18 | private List<String> schoolNames ; |
| 14 | 19 | ||
| 15 | public String getLeague() { | 20 | public String getLeague() { |
src/main/java/com/jevon/vo/req/UpdateExamReqVo.java
| 1 | package com.jevon.vo.req; | 1 | package com.jevon.vo.req; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/18 0018 14:53 | 9 | * @date 2019/10/18 0018 14:53 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class UpdateExamReqVo extends CreateExamReqVo{ | 12 | public class UpdateExamReqVo extends CreateExamReqVo{ |
| 9 | 13 | ||
| 14 | + @ApiModelProperty(value="主键") | ||
| 10 | private int analyseId ; | 15 | private int analyseId ; |
| 11 | 16 | ||
| 12 | public int getAnalyseId() { | 17 | public int getAnalyseId() { |
| @@ -0,0 +1,28 @@ | @@ -0,0 +1,28 @@ | ||
| 1 | +package com.jevon.vo.req; | ||
| 2 | + | ||
| 3 | +/** | ||
| 4 | + * @author chen | ||
| 5 | + * @version 1.0 | ||
| 6 | + * @date 2019/10/22 0022 16:04 | ||
| 7 | + */ | ||
| 8 | +public class UpdateLeagueReqVo { | ||
| 9 | + | ||
| 10 | + private int id ; | ||
| 11 | + private String league ; | ||
| 12 | + | ||
| 13 | + public int getId() { | ||
| 14 | + return id; | ||
| 15 | + } | ||
| 16 | + | ||
| 17 | + public void setId(int id) { | ||
| 18 | + this.id = id; | ||
| 19 | + } | ||
| 20 | + | ||
| 21 | + public String getLeague() { | ||
| 22 | + return league; | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + public void setLeague(String league) { | ||
| 26 | + this.league = league; | ||
| 27 | + } | ||
| 28 | +} |
src/main/java/com/jevon/wordDTO/Form1.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/18 0018 15:37 | 9 | * @date 2019/10/18 0018 15:37 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class Form1 { | 12 | public class Form1 { |
| 9 | 13 | ||
| 14 | + @ApiModelProperty(value="等级") | ||
| 10 | private String level ; | 15 | private String level ; |
| 16 | + @ApiModelProperty(value="人数") | ||
| 11 | private int number ; | 17 | private int number ; |
| 18 | + @ApiModelProperty(value="比例") | ||
| 12 | private double prop ; | 19 | private double prop ; |
| 13 | 20 | ||
| 14 | public String getLevel() { | 21 | public String getLevel() { |
src/main/java/com/jevon/wordDTO/Form1RepVO.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | import java.util.List; | 6 | import java.util.List; |
| 4 | import java.util.Map; | 7 | import java.util.Map; |
| 5 | 8 | ||
| @@ -8,9 +11,12 @@ import java.util.Map; | @@ -8,9 +11,12 @@ import java.util.Map; | ||
| 8 | * @version 1.0 | 11 | * @version 1.0 |
| 9 | * @date 2019/10/18 0018 15:46 | 12 | * @date 2019/10/18 0018 15:46 |
| 10 | */ | 13 | */ |
| 14 | +@ApiModel | ||
| 11 | public class Form1RepVO { | 15 | public class Form1RepVO { |
| 12 | 16 | ||
| 17 | + @ApiModelProperty(value="分数段区间") | ||
| 13 | private Map<String ,String> map ; | 18 | private Map<String ,String> map ; |
| 19 | + @ApiModelProperty(value="分数段详情") | ||
| 14 | private List<Form1> list ; | 20 | private List<Form1> list ; |
| 15 | 21 | ||
| 16 | public Map<String, String> getMap() { | 22 | public Map<String, String> getMap() { |
src/main/java/com/jevon/wordDTO/Form2.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/18 0018 16:10 | 9 | * @date 2019/10/18 0018 16:10 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class Form2 { | 12 | public class Form2 { |
| 9 | 13 | ||
| 14 | + @ApiModelProperty(value="名称") | ||
| 10 | private String name ; | 15 | private String name ; |
| 16 | + @ApiModelProperty(value="参考人数") | ||
| 11 | private int studentNumber ; | 17 | private int studentNumber ; |
| 18 | + @ApiModelProperty(value="参考人数占比") | ||
| 12 | private double studentProp ; | 19 | private double studentProp ; |
| 20 | + @ApiModelProperty(value="高分段人数") | ||
| 13 | private int highNumber ; | 21 | private int highNumber ; |
| 22 | + @ApiModelProperty(value="高分段人数占比") | ||
| 14 | private double highProp ; | 23 | private double highProp ; |
| 24 | + @ApiModelProperty(value="低分段人数") | ||
| 15 | private int lowNumber ; | 25 | private int lowNumber ; |
| 26 | + @ApiModelProperty(value="低分段人数占比") | ||
| 16 | private double lowProp ; | 27 | private double lowProp ; |
| 17 | 28 | ||
| 18 | public String getName() { | 29 | public String getName() { |
src/main/java/com/jevon/wordDTO/Form2RepVO.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | import com.jevon.vo.BaseVo; | 3 | import com.jevon.vo.BaseVo; |
| 4 | +import io.swagger.annotations.ApiModel; | ||
| 5 | +import io.swagger.annotations.ApiModelProperty; | ||
| 4 | 6 | ||
| 5 | import java.util.List; | 7 | import java.util.List; |
| 6 | 8 | ||
| @@ -9,8 +11,9 @@ import java.util.List; | @@ -9,8 +11,9 @@ import java.util.List; | ||
| 9 | * @version 1.0 | 11 | * @version 1.0 |
| 10 | * @date 2019/10/22 0022 9:51 | 12 | * @date 2019/10/22 0022 9:51 |
| 11 | */ | 13 | */ |
| 14 | +@ApiModel | ||
| 12 | public class Form2RepVO extends BaseVo { | 15 | public class Form2RepVO extends BaseVo { |
| 13 | - | 16 | + @ApiModelProperty(value="数据") |
| 14 | private List<Form2> data ; | 17 | private List<Form2> data ; |
| 15 | 18 | ||
| 16 | public List<Form2> getData() { | 19 | public List<Form2> getData() { |
src/main/java/com/jevon/wordDTO/Form3.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/21 0021 9:03 | 9 | * @date 2019/10/21 0021 9:03 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class Form3 { | 12 | public class Form3 { |
| 9 | 13 | ||
| 14 | + @ApiModelProperty(value="名称") | ||
| 10 | private String name ; | 15 | private String name ; |
| 16 | + @ApiModelProperty(value="最高分") | ||
| 11 | private Double maxScore ; | 17 | private Double maxScore ; |
| 18 | + @ApiModelProperty(value="平均分") | ||
| 12 | private Double average ; | 19 | private Double average ; |
| 20 | + @ApiModelProperty(value="最低分") | ||
| 13 | private Double minScore ; | 21 | private Double minScore ; |
| 22 | + @ApiModelProperty(value="优秀率") | ||
| 14 | private Double apercent ; | 23 | private Double apercent ; |
| 24 | + @ApiModelProperty(value="良好率") | ||
| 15 | private Double bpercent ; | 25 | private Double bpercent ; |
| 26 | + @ApiModelProperty(value="及格率") | ||
| 16 | private Double cpercent ; | 27 | private Double cpercent ; |
| 28 | + @ApiModelProperty(value="不及格率") | ||
| 17 | private Double dpercent ; | 29 | private Double dpercent ; |
| 18 | 30 | ||
| 19 | public String getName() { | 31 | public String getName() { |
src/main/java/com/jevon/wordDTO/Form4.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/21 0021 9:51 | 9 | * @date 2019/10/21 0021 9:51 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class Form4 { | 12 | public class Form4 { |
| 9 | 13 | ||
| 14 | + @ApiModelProperty(value="名称") | ||
| 10 | private String name ; | 15 | private String name ; |
| 16 | + @ApiModelProperty(value="众数") | ||
| 11 | private Double modeNumber ; | 17 | private Double modeNumber ; |
| 18 | + @ApiModelProperty(value="中位数") | ||
| 12 | private Double medianNumber ; | 19 | private Double medianNumber ; |
| 20 | + @ApiModelProperty(value="标准差") | ||
| 13 | private Double stdev ; | 21 | private Double stdev ; |
| 22 | + @ApiModelProperty(value="平均分") | ||
| 14 | private Double avgNumber ; | 23 | private Double avgNumber ; |
| 15 | 24 | ||
| 16 | public String getName() { | 25 | public String getName() { |
src/main/java/com/jevon/wordDTO/Form4RepVO.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | import com.jevon.vo.BaseVo; | 3 | import com.jevon.vo.BaseVo; |
| 4 | +import io.swagger.annotations.ApiModel; | ||
| 4 | 5 | ||
| 5 | import java.util.List; | 6 | import java.util.List; |
| 6 | 7 | ||
| @@ -9,6 +10,7 @@ import java.util.List; | @@ -9,6 +10,7 @@ import java.util.List; | ||
| 9 | * @version 1.0 | 10 | * @version 1.0 |
| 10 | * @date 2019/10/22 0022 10:23 | 11 | * @date 2019/10/22 0022 10:23 |
| 11 | */ | 12 | */ |
| 13 | +@ApiModel | ||
| 12 | public class Form4RepVO extends BaseVo { | 14 | public class Form4RepVO extends BaseVo { |
| 13 | 15 | ||
| 14 | private List<Form4> data ; | 16 | private List<Form4> data ; |
src/main/java/com/jevon/wordDTO/Form5.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/21 0021 9:59 | 9 | * @date 2019/10/21 0021 9:59 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class Form5 { | 12 | public class Form5 { |
| 9 | - | 13 | + @ApiModelProperty(value="题号") |
| 10 | private String examNumber ; | 14 | private String examNumber ; |
| 15 | + @ApiModelProperty(value="难度") | ||
| 11 | private String difficultName ; | 16 | private String difficultName ; |
| 17 | + @ApiModelProperty(value="分值") | ||
| 12 | private Double score ; | 18 | private Double score ; |
| 19 | + @ApiModelProperty(value="得分率 区") | ||
| 13 | private Double allRate ; | 20 | private Double allRate ; |
| 21 | + @ApiModelProperty(value="得分率 联盟校") | ||
| 14 | private Double leagueRate ; | 22 | private Double leagueRate ; |
| 23 | + @ApiModelProperty(value="得分率 本校") | ||
| 15 | private Double schoolRate ; | 24 | private Double schoolRate ; |
| 25 | + @ApiModelProperty(value="平均分 区") | ||
| 16 | private Double allAvg ; | 26 | private Double allAvg ; |
| 27 | + @ApiModelProperty(value="平均分 联盟校") | ||
| 17 | private Double leagueAvg ; | 28 | private Double leagueAvg ; |
| 29 | + @ApiModelProperty(value="平均分 本校") | ||
| 18 | private Double schoolAvg ; | 30 | private Double schoolAvg ; |
| 31 | + @ApiModelProperty(value="区分度 区") | ||
| 19 | private Double allDist ; | 32 | private Double allDist ; |
| 33 | + @ApiModelProperty(value="区分度 联盟校") | ||
| 20 | private Double leagueDist ; | 34 | private Double leagueDist ; |
| 35 | + @ApiModelProperty(value="区分度 本校") | ||
| 21 | private Double schoolDist ; | 36 | private Double schoolDist ; |
| 22 | 37 | ||
| 38 | + | ||
| 23 | public String getExamNumber() { | 39 | public String getExamNumber() { |
| 24 | return examNumber; | 40 | return examNumber; |
| 25 | } | 41 | } |
src/main/java/com/jevon/wordDTO/Form5RepVO.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | import com.jevon.vo.BaseVo; | 3 | import com.jevon.vo.BaseVo; |
| 4 | +import io.swagger.annotations.ApiModel; | ||
| 4 | 5 | ||
| 5 | import java.util.List; | 6 | import java.util.List; |
| 6 | 7 | ||
| @@ -9,6 +10,7 @@ import java.util.List; | @@ -9,6 +10,7 @@ import java.util.List; | ||
| 9 | * @version 1.0 | 10 | * @version 1.0 |
| 10 | * @date 2019/10/22 0022 10:28 | 11 | * @date 2019/10/22 0022 10:28 |
| 11 | */ | 12 | */ |
| 13 | +@ApiModel | ||
| 12 | public class Form5RepVO extends BaseVo { | 14 | public class Form5RepVO extends BaseVo { |
| 13 | 15 | ||
| 14 | private List<Form5> data ; | 16 | private List<Form5> data ; |
src/main/java/com/jevon/wordDTO/Form6.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/21 0021 11:25 | 9 | * @date 2019/10/21 0021 11:25 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class Form6 { | 12 | public class Form6 { |
| 13 | + @ApiModelProperty(value="维度名称") | ||
| 9 | private String dimensional ; | 14 | private String dimensional ; |
| 15 | + @ApiModelProperty(value="分值") | ||
| 10 | private Double score ; | 16 | private Double score ; |
| 17 | + @ApiModelProperty(value="得分率 区") | ||
| 11 | private Double allRate ; | 18 | private Double allRate ; |
| 19 | + @ApiModelProperty(value="得分率 联盟校") | ||
| 12 | private Double leagueRate ; | 20 | private Double leagueRate ; |
| 21 | + @ApiModelProperty(value="得分率 本校") | ||
| 13 | private Double schoolRate ; | 22 | private Double schoolRate ; |
| 23 | + @ApiModelProperty(value="平均分 区") | ||
| 14 | private Double allAvg ; | 24 | private Double allAvg ; |
| 25 | + @ApiModelProperty(value="平均分 联盟校") | ||
| 15 | private Double leagueAvg ; | 26 | private Double leagueAvg ; |
| 27 | + @ApiModelProperty(value="平均分 本校") | ||
| 16 | private Double schoolAvg ; | 28 | private Double schoolAvg ; |
| 29 | + @ApiModelProperty(value="区分度 区") | ||
| 17 | private Double allDist ; | 30 | private Double allDist ; |
| 31 | + @ApiModelProperty(value="区分度 联盟校") | ||
| 18 | private Double leagueDist ; | 32 | private Double leagueDist ; |
| 33 | + @ApiModelProperty(value="区分度 本校") | ||
| 19 | private Double schoolDist ; | 34 | private Double schoolDist ; |
| 20 | 35 | ||
| 36 | + | ||
| 21 | private String examNumber ; | 37 | private String examNumber ; |
| 22 | 38 | ||
| 23 | 39 |
src/main/java/com/jevon/wordDTO/Form6RepVo.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | import com.jevon.vo.BaseVo; | 3 | import com.jevon.vo.BaseVo; |
| 4 | +import io.swagger.annotations.ApiModel; | ||
| 4 | 5 | ||
| 5 | import java.util.List; | 6 | import java.util.List; |
| 6 | 7 | ||
| @@ -9,6 +10,7 @@ import java.util.List; | @@ -9,6 +10,7 @@ import java.util.List; | ||
| 9 | * @version 1.0 | 10 | * @version 1.0 |
| 10 | * @date 2019/10/22 0022 10:51 | 11 | * @date 2019/10/22 0022 10:51 |
| 11 | */ | 12 | */ |
| 13 | +@ApiModel | ||
| 12 | public class Form6RepVo extends BaseVo { | 14 | public class Form6RepVo extends BaseVo { |
| 13 | 15 | ||
| 14 | private List<Form6> data ; | 16 | private List<Form6> data ; |
src/main/java/com/jevon/wordDTO/Form7.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | + | ||
| 3 | /** | 5 | /** |
| 4 | * @author chen | 6 | * @author chen |
| 5 | * @version 1.0 | 7 | * @version 1.0 |
| 6 | * @date 2019/10/21 0021 14:58 | 8 | * @date 2019/10/21 0021 14:58 |
| 7 | */ | 9 | */ |
| 10 | +@ApiModel | ||
| 8 | public class Form7 { | 11 | public class Form7 { |
| 9 | 12 | ||
| 10 | private String name ; | 13 | private String name ; |
src/main/java/com/jevon/wordDTO/Form8.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/21 0021 15:14 | 9 | * @date 2019/10/21 0021 15:14 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class Form8 { | 12 | public class Form8 { |
| 9 | 13 | ||
| 14 | + @ApiModelProperty(value="题目难度") | ||
| 10 | private String difficultName ; | 15 | private String difficultName ; |
| 16 | + @ApiModelProperty(value="分值") | ||
| 11 | private Double score ; | 17 | private Double score ; |
| 18 | + @ApiModelProperty(value="得分率 区") | ||
| 12 | private Double allRate ; | 19 | private Double allRate ; |
| 20 | + @ApiModelProperty(value="得分率 联盟校") | ||
| 13 | private Double leagueRate ; | 21 | private Double leagueRate ; |
| 22 | + @ApiModelProperty(value="得分率 本校") | ||
| 14 | private Double schoolRate ; | 23 | private Double schoolRate ; |
| 15 | 24 | ||
| 16 | public String getDifficultName() { | 25 | public String getDifficultName() { |
src/main/java/com/jevon/wordDTO/Form8RepVO.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | import com.jevon.vo.BaseVo; | 3 | import com.jevon.vo.BaseVo; |
| 4 | +import io.swagger.annotations.ApiModel; | ||
| 4 | 5 | ||
| 5 | import java.util.List; | 6 | import java.util.List; |
| 6 | 7 | ||
| @@ -9,6 +10,7 @@ import java.util.List; | @@ -9,6 +10,7 @@ import java.util.List; | ||
| 9 | * @version 1.0 | 10 | * @version 1.0 |
| 10 | * @date 2019/10/22 0022 10:47 | 11 | * @date 2019/10/22 0022 10:47 |
| 11 | */ | 12 | */ |
| 13 | +@ApiModel | ||
| 12 | public class Form8RepVO extends BaseVo { | 14 | public class Form8RepVO extends BaseVo { |
| 13 | 15 | ||
| 14 | private List<Form8> data ; | 16 | private List<Form8> data ; |
src/main/java/com/jevon/wordDTO/Table1.java
| 1 | package com.jevon.wordDTO; | 1 | package com.jevon.wordDTO; |
| 2 | 2 | ||
| 3 | +import io.swagger.annotations.ApiModel; | ||
| 4 | +import io.swagger.annotations.ApiModelProperty; | ||
| 5 | + | ||
| 3 | /** | 6 | /** |
| 4 | * @author chen | 7 | * @author chen |
| 5 | * @version 1.0 | 8 | * @version 1.0 |
| 6 | * @date 2019/10/21 0021 8:34 | 9 | * @date 2019/10/21 0021 8:34 |
| 7 | */ | 10 | */ |
| 11 | +@ApiModel | ||
| 8 | public class Table1 { | 12 | public class Table1 { |
| 9 | - | 13 | + @ApiModelProperty(value="分数段") |
| 10 | private String score ; | 14 | private String score ; |
| 15 | + @ApiModelProperty(value="人数") | ||
| 11 | private int number ; | 16 | private int number ; |
| 12 | 17 | ||
| 13 | public String getScore() { | 18 | public String getScore() { |
src/main/java/com/jevon/wordDTO/test.java
src/main/resources/mapping/AnalyseMapper.xml
| @@ -8,11 +8,12 @@ | @@ -8,11 +8,12 @@ | ||
| 8 | <result column="course_name" property="courseName" jdbcType="VARCHAR" /> | 8 | <result column="course_name" property="courseName" jdbcType="VARCHAR" /> |
| 9 | <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> | 9 | <result column="create_time" property="createTime" jdbcType="TIMESTAMP" /> |
| 10 | <result column="max_score" property="maxScore" jdbcType="FLOAT" /> | 10 | <result column="max_score" property="maxScore" jdbcType="FLOAT" /> |
| 11 | + <result column="grade" property="grade" jdbcType="VARCHAR" /> | ||
| 11 | </resultMap> | 12 | </resultMap> |
| 12 | 13 | ||
| 13 | <insert id="insert" parameterType="com.jevon.model.Analyse" useGeneratedKeys="true" keyProperty="id"> | 14 | <insert id="insert" parameterType="com.jevon.model.Analyse" useGeneratedKeys="true" keyProperty="id"> |
| 14 | - insert into sz_learn_analyse (exam_name, exam_time,course_name,create_time) | ||
| 15 | - values (#{examName},#{examTime},#{courseName},#{createTime}) | 15 | + insert into sz_learn_analyse (exam_name, exam_time,course_name,create_time,grade) |
| 16 | + values (#{examName},#{examTime},#{courseName},#{createTime},#{grade}) | ||
| 16 | </insert> | 17 | </insert> |
| 17 | 18 | ||
| 18 | <update id="update" parameterType="com.jevon.model.Analyse"> | 19 | <update id="update" parameterType="com.jevon.model.Analyse"> |
| @@ -24,6 +25,9 @@ | @@ -24,6 +25,9 @@ | ||
| 24 | <if test="examTime != null" > | 25 | <if test="examTime != null" > |
| 25 | exam_time = #{examTime}, | 26 | exam_time = #{examTime}, |
| 26 | </if> | 27 | </if> |
| 28 | + <if test="grade != null" > | ||
| 29 | + grade = #{grade}, | ||
| 30 | + </if> | ||
| 27 | <if test="maxScore != 0" > | 31 | <if test="maxScore != 0" > |
| 28 | max_score = #{maxScore}, | 32 | max_score = #{maxScore}, |
| 29 | </if> | 33 | </if> |
src/main/resources/mapping/LeagueMapper.xml
| @@ -16,6 +16,10 @@ | @@ -16,6 +16,10 @@ | ||
| 16 | </foreach> | 16 | </foreach> |
| 17 | </insert> | 17 | </insert> |
| 18 | 18 | ||
| 19 | + <update id="update" parameterType="com.jevon.model.League"> | ||
| 20 | + update sz_learn_league set league = #{league} where id = #{id} | ||
| 21 | + </update> | ||
| 22 | + | ||
| 19 | <select id="selectByLeague" parameterType="com.jevon.model.League" resultMap="BaseResultMap"> | 23 | <select id="selectByLeague" parameterType="com.jevon.model.League" resultMap="BaseResultMap"> |
| 20 | select * from sz_learn_league | 24 | select * from sz_learn_league |
| 21 | <where> | 25 | <where> |