diff --git a/src/main/java/com/jevon/controller/LearnController.java b/src/main/java/com/jevon/controller/LearnController.java index 1f74a69..612eb03 100644 --- a/src/main/java/com/jevon/controller/LearnController.java +++ b/src/main/java/com/jevon/controller/LearnController.java @@ -80,18 +80,20 @@ public class LearnController { search.setGrade(initGrade(gradeMsg,schoolName)); List analyseList = analyseService.select(search); if(analyseList != null && analyseList.size() > 0){ - List leagues = leagueService.selectByAnalyseId(analyseList.get(0).getId()); - for(League league : leagues){ - if(league.getSchoolName().equals(schoolName)){ - result.add(analyseList.get(0)); - break; + for(Analyse analyse :analyseList){ + List leagues = leagueService.selectByAnalyseId(analyse.getId()); + for(League league : leagues){ + if(league.getSchoolName() != null && league.getSchoolName().equals(schoolName)){ + result.add(analyse); + break; + } } } } } if(result.size() == 0){ Analyse searchAnalyse = new Analyse(); - searchAnalyse.setExamName("顺治中学模板考试"); + searchAnalyse.setExamName("顺治中学模拟考试"); List analyseList = analyseService.select(searchAnalyse); if(analyseList != null && analyseList.size() > 0){ result.add(analyseList.get(0)); @@ -102,19 +104,19 @@ public class LearnController { private String initGrade(String grade , String schoolName){ String result = null ; - if(schoolName.equals("皋埠中学")){ - if(grade.equals("初中一年级")){ + if(schoolName.equals("绍兴市越城区皋埠中学")){ + if(grade.equals("2019级初中一年级")){ result = "七年级" ; } - if(grade.equals("2017级")){ + if(grade.equals("2017级初中三年级")){ result = "九年级" ; } } - if(schoolName.equals("建功中学")){ - if(grade.equals("2019届")){ + if(schoolName.equals("绍兴市建功中学")){ + if(grade.equals("2019级初中一年级")){ result = "七年级" ; } - if(grade.equals("2017届")){ + if(grade.equals("2017级初中三年级")){ result = "九年级" ; } } diff --git a/src/main/java/com/jevon/controller/LearnStatController.java b/src/main/java/com/jevon/controller/LearnStatController.java index 55bed6c..9423d48 100644 --- a/src/main/java/com/jevon/controller/LearnStatController.java +++ b/src/main/java/com/jevon/controller/LearnStatController.java @@ -414,7 +414,7 @@ public class LearnStatController { } { Form4 form = new Form4(); - form.setName(getLearnReqVo.getSchoolName()); + form.setName("联盟校"); form.setModeNumber(studentService.selectModeNumber(analyse.getId(),leagues,null)); form.setMedianNumber(studentService.selectMedian(analyse.getId(),leagues,null)); form.setStdev(studentService.selectStdev(analyse.getId(),leagues,null)); @@ -633,33 +633,35 @@ public class LearnStatController { private List sort(List target){ List course = new ArrayList<>(); - for(Table2 table2 : target){ - if(table2.getSchoolRate() < 0.75 && Double.valueOf(table2.getAvg()) >2){ - course.add(table2); - } - } - if(course.size() == 0){ - Double avg = new Double("0"); - Table2 result = new Table2(); + if(target.size() > 0){ for(Table2 table2 : target){ - if(avg < new Double(table2.getAvg())){ - avg = new Double(table2.getAvg()) ; - result = table2 ; + if(table2.getSchoolRate() < 0.75 && Double.valueOf(table2.getAvg()) >2){ + course.add(table2); } } - course.add(result); - } + if(course.size() == 0){ + Double avg = new Double("0"); + Table2 result = new Table2(); + for(Table2 table2 : target){ + if(avg < new Double(table2.getAvg())){ + avg = new Double(table2.getAvg()) ; + result = table2 ; + } + } + course.add(result); + } - if(course.size() > 5){ - course = course.subList(0,5); - } - for (int i = 0; i < course.size() ; i++) { - Table2 temp = new Table2(); - for (int j = 0; j < course.size() ; j++) { - if(new Double(course.get(i).getAvg()) > new Double(course.get(j).getAvg())){ - temp = course.get(j); - course.set(j,course.get(i)); - course.set(i,temp); + if(course.size() > 5){ + course = course.subList(0,5); + } + for (int i = 0; i < course.size() ; i++) { + Table2 temp = new Table2(); + for (int j = 0; j < course.size() ; j++) { + if(new Double(course.get(i).getAvg()) > new Double(course.get(j).getAvg())){ + temp = course.get(j); + course.set(j,course.get(i)); + course.set(i,temp); + } } } } @@ -980,9 +982,9 @@ public class LearnStatController { private String initSuggest(SuggestRepVo suggestRepVo){ StringBuffer stringBuffer = new StringBuffer(); - stringBuffer.append("本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") + stringBuffer.append("

本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") .append(suggestRepVo.getDifficultyDegree()).append(",优秀率是").append(suggestRepVo.getExcellentRate()).append("%。") - .append("对有关知识,总体掌握情况比较好。\n从考试结果分析,各知识点掌握程度较好,唯"); + .append("对有关知识,总体掌握情况比较好。

从考试结果分析,各知识点掌握程度较好,唯"); for (int i = 0; i < suggestRepVo.getMidKnowledgeList().size(); i++) { if(i == suggestRepVo.getMidKnowledgeList().size() - 1 ){ stringBuffer.append(suggestRepVo.getMidKnowledgeList().get(i)); @@ -998,7 +1000,7 @@ public class LearnStatController { stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)).append("、"); } } - stringBuffer.append("几个知识点学生的理解有些问题。\n探究技能方面:"); + stringBuffer.append("几个知识点学生的理解有些问题。

探究技能方面:"); for (int i = 0; i < suggestRepVo.getHighSkillList().size(); i++) { if(i == suggestRepVo.getHighSkillList().size() - 1 ){ stringBuffer.append(suggestRepVo.getHighSkillList().get(i)); @@ -1022,7 +1024,7 @@ public class LearnStatController { stringBuffer.append(suggestRepVo.getLessSkillList().get(i)).append("、"); } } - stringBuffer.append("学生掌握有些问题。\n学习能力上:"); + stringBuffer.append("学生掌握有些问题。

学习能力上:"); for (int i = 0; i < suggestRepVo.getHighAbilityList().size(); i++) { if(i == suggestRepVo.getHighAbilityList().size() - 1 ){ stringBuffer.append(suggestRepVo.getHighAbilityList().get(i)); @@ -1054,7 +1056,7 @@ public class LearnStatController { stringBuffer.append(suggestRepVo.getErrorList().get(i)).append("、"); } } - stringBuffer.append("错误率大于15%。\n后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫。提升"); + stringBuffer.append("错误率大于15%。

后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫。提升"); for (int i = 0; i < suggestRepVo.getLessKnowledgeList().size(); i++) { if(i == suggestRepVo.getLessKnowledgeList().size() - 1 ){ stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)); @@ -1070,7 +1072,120 @@ public class LearnStatController { stringBuffer.append(suggestRepVo.getLessAbilityList().get(i)).append("、"); } } - stringBuffer.append("等方面的能力;重视将知识应用到具体的实践中,尤其是做好试题审题和思路分析的引导,教师自己开发一些新情景的试题。"); + stringBuffer.append("等方面的能力;重视将知识应用到具体的实践中,尤其是做好试题审题和思路分析的引导,教师自己开发一些新情景的试题。

"); + return stringBuffer.toString(); + } + + @ApiOperation("获取教学改进建议") + @RequestMapping(value = "getSuggest2", method = RequestMethod.POST) + public String getSuggest2(@RequestBody GetLearnReqVo getLearnReqVo){ + String suggest = null ; + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest2")){ + suggest = RedisUtils.getString(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest2"); + }else { + SuggestRepVo suggestRepVo = new SuggestRepVo() ; + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); + Double avg = studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName()) ; + DecimalFormat df = new DecimalFormat("#.00"); + //得分率 + String avgStr = df.format(avg / analyse.getMaxScore()); + + List students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); + int a = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.85,analyse.getMaxScore()+1f); + //优秀率 + Double apercent = new Double(a) / new Double(students.size()) * 100 ; + String aStr = df.format(apercent); + String access = ""; + if(avg>=80){ + if(apercent >= 20){ + access = "良好"; + }else { + access = "相对可以"; + } + }else if(avg >= 75){ + if(apercent >= 35){ + access = "很好"; + }else if(apercent >= 20){ + access = "良好"; + }else { + access = "相对可以"; + } + }else if(avg >= 70){ + if(apercent >= 20){ + access = "良好"; + }else { + access = "相对可以"; + } + } else if (avg >= 60) { + if(apercent >= 10){ + access = "相对可以"; + }else { + access = "一般"; + } + }else { + access = "暴露出一些问题,试卷偏难,学生掌握不够理想"; + } + suggestRepVo.setAssess(access); + suggestRepVo.setDifficultyDegree(avgStr); + suggestRepVo.setExcellentRate(aStr); + suggestRepVo.setErrorList(getErrorRate(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),students.size())); + Form6RepVO knowledge = initSchoolDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()); + List lessKnowledgeList = new ArrayList<>(); //不足50% + List midKnowledgeList = new ArrayList<>(); //50-70% + for(Form6 form6 :knowledge.getData()){ + if(form6.getSchoolRate() < 0.5d){ + lessKnowledgeList.add(form6.getDimensional()); + }else if(form6.getSchoolRate() < 0.7d){ + midKnowledgeList.add(form6.getDimensional()); + } + } + suggestRepVo.setLessKnowledgeList(lessKnowledgeList); + suggestRepVo.setMidKnowledgeList(midKnowledgeList); + Form6RepVO ability = initSchoolDimensional(getLearnReqVo,DimensionalEnums.ability.getDimensionalType()); + List lessAbilityList = new ArrayList<>(); //不足70% + List midAbilityList = new ArrayList<>(); //70-80% + List highAbilityList = new ArrayList<>(); //大于80% + for(Form6 form6 :ability.getData()){ + if(form6.getSchoolRate() < 0.7d){ + lessAbilityList.add(form6.getDimensional()); + }else if(form6.getSchoolRate() < 0.8d){ + midAbilityList.add(form6.getDimensional()); + }else if(form6.getSchoolRate() >= 0.8d){ + highAbilityList.add(form6.getDimensional()); + } + } + suggestRepVo.setLessAbilityList(lessAbilityList); + suggestRepVo.setMidAbilityList(midAbilityList); + suggestRepVo.setHighAbilityList(highAbilityList); + Form6RepVO skill = initSchoolDimensional(getLearnReqVo,DimensionalEnums.skill.getDimensionalType()); + List lessSkillList = new ArrayList<>(); //不足70% + List midSkillList = new ArrayList<>(); //70-80% + List highSkillList = new ArrayList<>(); //大于80% + for(Form6 form6 :skill.getData()){ + if(form6.getSchoolRate() < 0.7d){ + lessSkillList.add(form6.getDimensional()); + }else if(form6.getSchoolRate() < 0.8d){ + midSkillList.add(form6.getDimensional()); + }else if(form6.getSchoolRate() >= 0.8d){ + highSkillList.add(form6.getDimensional()); + } + } + suggestRepVo.setLessSkillList(lessSkillList); + suggestRepVo.setMidSkillList(midSkillList); + suggestRepVo.setHighSkillList(highSkillList); + suggest = initSuggest2(suggestRepVo); + RedisUtils.setString(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest2",suggest); + } + return suggest; + } + + private String initSuggest2(SuggestRepVo suggestRepVo){ + StringBuffer stringBuffer = new StringBuffer(); + stringBuffer.append("

本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") + .append(suggestRepVo.getDifficultyDegree()).append(",优秀率是").append(suggestRepVo.getExcellentRate()).append("%。") + .append("对有关知识,总体掌握情况比较好。

从考试结果分析,各知识点掌握程度较好,唯......"); + stringBuffer.append("

后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫......

"); return stringBuffer.toString(); } + } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index cf9c937..108d6dc 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,12 +3,12 @@ server: spring: datasource: - username: SZJXTUSER - password: xst200919 - url: jdbc:sqlserver://60.190.202.57:14333;database=SmartPaike -# username: szjxtuser -# password: RQminVCJota3H1u8bBYH -# url: jdbc:sqlserver://116.62.241.27:33419;database=SmartCampus_java +# username: SZJXTUSER +# password: xst200919 +# url: jdbc:sqlserver://60.190.202.57:14333;database=SmartPaike + username: szjxtuser + password: RQminVCJota3H1u8bBYH + url: jdbc:sqlserver://116.62.241.27:33419;database=SmartCampus_java driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver filters: stat maxActive: 20 @@ -43,3 +43,4 @@ Logger: remoting: # url: http://60.190.202.57:1000 url: http://campus.myjxt.com + -- libgit2 0.21.0