Commit 037d605e93c265e3f05e21dea8c9f92ba200ad54
1 parent
bca34565
Exists in
master
临时微信入口
Showing
3 changed files
with
166 additions
and
48 deletions
Show diff stats
src/main/java/com/jevon/controller/LearnController.java
| ... | ... | @@ -80,18 +80,20 @@ public class LearnController { |
| 80 | 80 | search.setGrade(initGrade(gradeMsg,schoolName)); |
| 81 | 81 | List<Analyse> analyseList = analyseService.select(search); |
| 82 | 82 | if(analyseList != null && analyseList.size() > 0){ |
| 83 | - List<League> leagues = leagueService.selectByAnalyseId(analyseList.get(0).getId()); | |
| 84 | - for(League league : leagues){ | |
| 85 | - if(league.getSchoolName().equals(schoolName)){ | |
| 86 | - result.add(analyseList.get(0)); | |
| 87 | - break; | |
| 83 | + for(Analyse analyse :analyseList){ | |
| 84 | + List<League> leagues = leagueService.selectByAnalyseId(analyse.getId()); | |
| 85 | + for(League league : leagues){ | |
| 86 | + if(league.getSchoolName() != null && league.getSchoolName().equals(schoolName)){ | |
| 87 | + result.add(analyse); | |
| 88 | + break; | |
| 89 | + } | |
| 88 | 90 | } |
| 89 | 91 | } |
| 90 | 92 | } |
| 91 | 93 | } |
| 92 | 94 | if(result.size() == 0){ |
| 93 | 95 | Analyse searchAnalyse = new Analyse(); |
| 94 | - searchAnalyse.setExamName("顺治中学模板考试"); | |
| 96 | + searchAnalyse.setExamName("顺治中学模拟考试"); | |
| 95 | 97 | List<Analyse> analyseList = analyseService.select(searchAnalyse); |
| 96 | 98 | if(analyseList != null && analyseList.size() > 0){ |
| 97 | 99 | result.add(analyseList.get(0)); |
| ... | ... | @@ -102,19 +104,19 @@ public class LearnController { |
| 102 | 104 | |
| 103 | 105 | private String initGrade(String grade , String schoolName){ |
| 104 | 106 | String result = null ; |
| 105 | - if(schoolName.equals("皋埠中学")){ | |
| 106 | - if(grade.equals("初中一年级")){ | |
| 107 | + if(schoolName.equals("绍兴市越城区皋埠中学")){ | |
| 108 | + if(grade.equals("2019级初中一年级")){ | |
| 107 | 109 | result = "七年级" ; |
| 108 | 110 | } |
| 109 | - if(grade.equals("2017级")){ | |
| 111 | + if(grade.equals("2017级初中三年级")){ | |
| 110 | 112 | result = "九年级" ; |
| 111 | 113 | } |
| 112 | 114 | } |
| 113 | - if(schoolName.equals("建功中学")){ | |
| 114 | - if(grade.equals("2019届")){ | |
| 115 | + if(schoolName.equals("绍兴市建功中学")){ | |
| 116 | + if(grade.equals("2019级初中一年级")){ | |
| 115 | 117 | result = "七年级" ; |
| 116 | 118 | } |
| 117 | - if(grade.equals("2017届")){ | |
| 119 | + if(grade.equals("2017级初中三年级")){ | |
| 118 | 120 | result = "九年级" ; |
| 119 | 121 | } |
| 120 | 122 | } | ... | ... |
src/main/java/com/jevon/controller/LearnStatController.java
| ... | ... | @@ -414,7 +414,7 @@ public class LearnStatController { |
| 414 | 414 | } |
| 415 | 415 | { |
| 416 | 416 | Form4 form = new Form4(); |
| 417 | - form.setName(getLearnReqVo.getSchoolName()); | |
| 417 | + form.setName("联盟校"); | |
| 418 | 418 | form.setModeNumber(studentService.selectModeNumber(analyse.getId(),leagues,null)); |
| 419 | 419 | form.setMedianNumber(studentService.selectMedian(analyse.getId(),leagues,null)); |
| 420 | 420 | form.setStdev(studentService.selectStdev(analyse.getId(),leagues,null)); |
| ... | ... | @@ -633,33 +633,35 @@ public class LearnStatController { |
| 633 | 633 | |
| 634 | 634 | private List<Table2> sort(List<Table2> target){ |
| 635 | 635 | List<Table2> course = new ArrayList<>(); |
| 636 | - for(Table2 table2 : target){ | |
| 637 | - if(table2.getSchoolRate() < 0.75 && Double.valueOf(table2.getAvg()) >2){ | |
| 638 | - course.add(table2); | |
| 639 | - } | |
| 640 | - } | |
| 641 | - if(course.size() == 0){ | |
| 642 | - Double avg = new Double("0"); | |
| 643 | - Table2 result = new Table2(); | |
| 636 | + if(target.size() > 0){ | |
| 644 | 637 | for(Table2 table2 : target){ |
| 645 | - if(avg < new Double(table2.getAvg())){ | |
| 646 | - avg = new Double(table2.getAvg()) ; | |
| 647 | - result = table2 ; | |
| 638 | + if(table2.getSchoolRate() < 0.75 && Double.valueOf(table2.getAvg()) >2){ | |
| 639 | + course.add(table2); | |
| 648 | 640 | } |
| 649 | 641 | } |
| 650 | - course.add(result); | |
| 651 | - } | |
| 642 | + if(course.size() == 0){ | |
| 643 | + Double avg = new Double("0"); | |
| 644 | + Table2 result = new Table2(); | |
| 645 | + for(Table2 table2 : target){ | |
| 646 | + if(avg < new Double(table2.getAvg())){ | |
| 647 | + avg = new Double(table2.getAvg()) ; | |
| 648 | + result = table2 ; | |
| 649 | + } | |
| 650 | + } | |
| 651 | + course.add(result); | |
| 652 | + } | |
| 652 | 653 | |
| 653 | - if(course.size() > 5){ | |
| 654 | - course = course.subList(0,5); | |
| 655 | - } | |
| 656 | - for (int i = 0; i < course.size() ; i++) { | |
| 657 | - Table2 temp = new Table2(); | |
| 658 | - for (int j = 0; j < course.size() ; j++) { | |
| 659 | - if(new Double(course.get(i).getAvg()) > new Double(course.get(j).getAvg())){ | |
| 660 | - temp = course.get(j); | |
| 661 | - course.set(j,course.get(i)); | |
| 662 | - course.set(i,temp); | |
| 654 | + if(course.size() > 5){ | |
| 655 | + course = course.subList(0,5); | |
| 656 | + } | |
| 657 | + for (int i = 0; i < course.size() ; i++) { | |
| 658 | + Table2 temp = new Table2(); | |
| 659 | + for (int j = 0; j < course.size() ; j++) { | |
| 660 | + if(new Double(course.get(i).getAvg()) > new Double(course.get(j).getAvg())){ | |
| 661 | + temp = course.get(j); | |
| 662 | + course.set(j,course.get(i)); | |
| 663 | + course.set(i,temp); | |
| 664 | + } | |
| 663 | 665 | } |
| 664 | 666 | } |
| 665 | 667 | } |
| ... | ... | @@ -980,9 +982,9 @@ public class LearnStatController { |
| 980 | 982 | |
| 981 | 983 | private String initSuggest(SuggestRepVo suggestRepVo){ |
| 982 | 984 | StringBuffer stringBuffer = new StringBuffer(); |
| 983 | - stringBuffer.append("本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") | |
| 985 | + stringBuffer.append("<p>本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") | |
| 984 | 986 | .append(suggestRepVo.getDifficultyDegree()).append(",优秀率是").append(suggestRepVo.getExcellentRate()).append("%。") |
| 985 | - .append("对有关知识,总体掌握情况比较好。\n从考试结果分析,各知识点掌握程度较好,唯"); | |
| 987 | + .append("对有关知识,总体掌握情况比较好。</p><p>从考试结果分析,各知识点掌握程度较好,唯"); | |
| 986 | 988 | for (int i = 0; i < suggestRepVo.getMidKnowledgeList().size(); i++) { |
| 987 | 989 | if(i == suggestRepVo.getMidKnowledgeList().size() - 1 ){ |
| 988 | 990 | stringBuffer.append(suggestRepVo.getMidKnowledgeList().get(i)); |
| ... | ... | @@ -998,7 +1000,7 @@ public class LearnStatController { |
| 998 | 1000 | stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)).append("、"); |
| 999 | 1001 | } |
| 1000 | 1002 | } |
| 1001 | - stringBuffer.append("几个知识点学生的理解有些问题。\n探究技能方面:"); | |
| 1003 | + stringBuffer.append("几个知识点学生的理解有些问题。</p><p>探究技能方面:"); | |
| 1002 | 1004 | for (int i = 0; i < suggestRepVo.getHighSkillList().size(); i++) { |
| 1003 | 1005 | if(i == suggestRepVo.getHighSkillList().size() - 1 ){ |
| 1004 | 1006 | stringBuffer.append(suggestRepVo.getHighSkillList().get(i)); |
| ... | ... | @@ -1022,7 +1024,7 @@ public class LearnStatController { |
| 1022 | 1024 | stringBuffer.append(suggestRepVo.getLessSkillList().get(i)).append("、"); |
| 1023 | 1025 | } |
| 1024 | 1026 | } |
| 1025 | - stringBuffer.append("学生掌握有些问题。\n学习能力上:"); | |
| 1027 | + stringBuffer.append("学生掌握有些问题。</p><p>学习能力上:"); | |
| 1026 | 1028 | for (int i = 0; i < suggestRepVo.getHighAbilityList().size(); i++) { |
| 1027 | 1029 | if(i == suggestRepVo.getHighAbilityList().size() - 1 ){ |
| 1028 | 1030 | stringBuffer.append(suggestRepVo.getHighAbilityList().get(i)); |
| ... | ... | @@ -1054,7 +1056,7 @@ public class LearnStatController { |
| 1054 | 1056 | stringBuffer.append(suggestRepVo.getErrorList().get(i)).append("、"); |
| 1055 | 1057 | } |
| 1056 | 1058 | } |
| 1057 | - stringBuffer.append("错误率大于15%。\n后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫。提升"); | |
| 1059 | + stringBuffer.append("错误率大于15%。</p><p>后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫。提升"); | |
| 1058 | 1060 | for (int i = 0; i < suggestRepVo.getLessKnowledgeList().size(); i++) { |
| 1059 | 1061 | if(i == suggestRepVo.getLessKnowledgeList().size() - 1 ){ |
| 1060 | 1062 | stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)); |
| ... | ... | @@ -1070,7 +1072,120 @@ public class LearnStatController { |
| 1070 | 1072 | stringBuffer.append(suggestRepVo.getLessAbilityList().get(i)).append("、"); |
| 1071 | 1073 | } |
| 1072 | 1074 | } |
| 1073 | - stringBuffer.append("等方面的能力;重视将知识应用到具体的实践中,尤其是做好试题审题和思路分析的引导,教师自己开发一些新情景的试题。"); | |
| 1075 | + stringBuffer.append("等方面的能力;重视将知识应用到具体的实践中,尤其是做好试题审题和思路分析的引导,教师自己开发一些新情景的试题。</p>"); | |
| 1076 | + return stringBuffer.toString(); | |
| 1077 | + } | |
| 1078 | + | |
| 1079 | + @ApiOperation("获取教学改进建议") | |
| 1080 | + @RequestMapping(value = "getSuggest2", method = RequestMethod.POST) | |
| 1081 | + public String getSuggest2(@RequestBody GetLearnReqVo getLearnReqVo){ | |
| 1082 | + String suggest = null ; | |
| 1083 | + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest2")){ | |
| 1084 | + suggest = RedisUtils.getString(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest2"); | |
| 1085 | + }else { | |
| 1086 | + SuggestRepVo suggestRepVo = new SuggestRepVo() ; | |
| 1087 | + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); | |
| 1088 | + Double avg = studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName()) ; | |
| 1089 | + DecimalFormat df = new DecimalFormat("#.00"); | |
| 1090 | + //得分率 | |
| 1091 | + String avgStr = df.format(avg / analyse.getMaxScore()); | |
| 1092 | + | |
| 1093 | + List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); | |
| 1094 | + int a = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.85,analyse.getMaxScore()+1f); | |
| 1095 | + //优秀率 | |
| 1096 | + Double apercent = new Double(a) / new Double(students.size()) * 100 ; | |
| 1097 | + String aStr = df.format(apercent); | |
| 1098 | + String access = ""; | |
| 1099 | + if(avg>=80){ | |
| 1100 | + if(apercent >= 20){ | |
| 1101 | + access = "良好"; | |
| 1102 | + }else { | |
| 1103 | + access = "相对可以"; | |
| 1104 | + } | |
| 1105 | + }else if(avg >= 75){ | |
| 1106 | + if(apercent >= 35){ | |
| 1107 | + access = "很好"; | |
| 1108 | + }else if(apercent >= 20){ | |
| 1109 | + access = "良好"; | |
| 1110 | + }else { | |
| 1111 | + access = "相对可以"; | |
| 1112 | + } | |
| 1113 | + }else if(avg >= 70){ | |
| 1114 | + if(apercent >= 20){ | |
| 1115 | + access = "良好"; | |
| 1116 | + }else { | |
| 1117 | + access = "相对可以"; | |
| 1118 | + } | |
| 1119 | + } else if (avg >= 60) { | |
| 1120 | + if(apercent >= 10){ | |
| 1121 | + access = "相对可以"; | |
| 1122 | + }else { | |
| 1123 | + access = "一般"; | |
| 1124 | + } | |
| 1125 | + }else { | |
| 1126 | + access = "暴露出一些问题,试卷偏难,学生掌握不够理想"; | |
| 1127 | + } | |
| 1128 | + suggestRepVo.setAssess(access); | |
| 1129 | + suggestRepVo.setDifficultyDegree(avgStr); | |
| 1130 | + suggestRepVo.setExcellentRate(aStr); | |
| 1131 | + suggestRepVo.setErrorList(getErrorRate(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),students.size())); | |
| 1132 | + Form6RepVO knowledge = initSchoolDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()); | |
| 1133 | + List<String> lessKnowledgeList = new ArrayList<>(); //不足50% | |
| 1134 | + List<String> midKnowledgeList = new ArrayList<>(); //50-70% | |
| 1135 | + for(Form6 form6 :knowledge.getData()){ | |
| 1136 | + if(form6.getSchoolRate() < 0.5d){ | |
| 1137 | + lessKnowledgeList.add(form6.getDimensional()); | |
| 1138 | + }else if(form6.getSchoolRate() < 0.7d){ | |
| 1139 | + midKnowledgeList.add(form6.getDimensional()); | |
| 1140 | + } | |
| 1141 | + } | |
| 1142 | + suggestRepVo.setLessKnowledgeList(lessKnowledgeList); | |
| 1143 | + suggestRepVo.setMidKnowledgeList(midKnowledgeList); | |
| 1144 | + Form6RepVO ability = initSchoolDimensional(getLearnReqVo,DimensionalEnums.ability.getDimensionalType()); | |
| 1145 | + List<String> lessAbilityList = new ArrayList<>(); //不足70% | |
| 1146 | + List<String> midAbilityList = new ArrayList<>(); //70-80% | |
| 1147 | + List<String> highAbilityList = new ArrayList<>(); //大于80% | |
| 1148 | + for(Form6 form6 :ability.getData()){ | |
| 1149 | + if(form6.getSchoolRate() < 0.7d){ | |
| 1150 | + lessAbilityList.add(form6.getDimensional()); | |
| 1151 | + }else if(form6.getSchoolRate() < 0.8d){ | |
| 1152 | + midAbilityList.add(form6.getDimensional()); | |
| 1153 | + }else if(form6.getSchoolRate() >= 0.8d){ | |
| 1154 | + highAbilityList.add(form6.getDimensional()); | |
| 1155 | + } | |
| 1156 | + } | |
| 1157 | + suggestRepVo.setLessAbilityList(lessAbilityList); | |
| 1158 | + suggestRepVo.setMidAbilityList(midAbilityList); | |
| 1159 | + suggestRepVo.setHighAbilityList(highAbilityList); | |
| 1160 | + Form6RepVO skill = initSchoolDimensional(getLearnReqVo,DimensionalEnums.skill.getDimensionalType()); | |
| 1161 | + List<String> lessSkillList = new ArrayList<>(); //不足70% | |
| 1162 | + List<String> midSkillList = new ArrayList<>(); //70-80% | |
| 1163 | + List<String> highSkillList = new ArrayList<>(); //大于80% | |
| 1164 | + for(Form6 form6 :skill.getData()){ | |
| 1165 | + if(form6.getSchoolRate() < 0.7d){ | |
| 1166 | + lessSkillList.add(form6.getDimensional()); | |
| 1167 | + }else if(form6.getSchoolRate() < 0.8d){ | |
| 1168 | + midSkillList.add(form6.getDimensional()); | |
| 1169 | + }else if(form6.getSchoolRate() >= 0.8d){ | |
| 1170 | + highSkillList.add(form6.getDimensional()); | |
| 1171 | + } | |
| 1172 | + } | |
| 1173 | + suggestRepVo.setLessSkillList(lessSkillList); | |
| 1174 | + suggestRepVo.setMidSkillList(midSkillList); | |
| 1175 | + suggestRepVo.setHighSkillList(highSkillList); | |
| 1176 | + suggest = initSuggest2(suggestRepVo); | |
| 1177 | + RedisUtils.setString(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest2",suggest); | |
| 1178 | + } | |
| 1179 | + return suggest; | |
| 1180 | + } | |
| 1181 | + | |
| 1182 | + private String initSuggest2(SuggestRepVo suggestRepVo){ | |
| 1183 | + StringBuffer stringBuffer = new StringBuffer(); | |
| 1184 | + stringBuffer.append("<p>本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") | |
| 1185 | + .append(suggestRepVo.getDifficultyDegree()).append(",优秀率是").append(suggestRepVo.getExcellentRate()).append("%。") | |
| 1186 | + .append("对有关知识,总体掌握情况比较好。</p><p>从考试结果分析,各知识点掌握程度较好,唯......"); | |
| 1187 | + stringBuffer.append("</p><p>后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫......</p>"); | |
| 1074 | 1188 | return stringBuffer.toString(); |
| 1075 | 1189 | } |
| 1190 | + | |
| 1076 | 1191 | } | ... | ... |
src/main/resources/application.yml
| ... | ... | @@ -3,12 +3,12 @@ server: |
| 3 | 3 | |
| 4 | 4 | spring: |
| 5 | 5 | datasource: |
| 6 | - username: SZJXTUSER | |
| 7 | - password: xst200919 | |
| 8 | - url: jdbc:sqlserver://60.190.202.57:14333;database=SmartPaike | |
| 9 | -# username: szjxtuser | |
| 10 | -# password: RQminVCJota3H1u8bBYH | |
| 11 | -# url: jdbc:sqlserver://116.62.241.27:33419;database=SmartCampus_java | |
| 6 | +# username: SZJXTUSER | |
| 7 | +# password: xst200919 | |
| 8 | +# url: jdbc:sqlserver://60.190.202.57:14333;database=SmartPaike | |
| 9 | + username: szjxtuser | |
| 10 | + password: RQminVCJota3H1u8bBYH | |
| 11 | + url: jdbc:sqlserver://116.62.241.27:33419;database=SmartCampus_java | |
| 12 | 12 | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| 13 | 13 | filters: stat |
| 14 | 14 | maxActive: 20 |
| ... | ... | @@ -43,3 +43,4 @@ Logger: |
| 43 | 43 | remoting: |
| 44 | 44 | # url: http://60.190.202.57:1000 |
| 45 | 45 | url: http://campus.myjxt.com |
| 46 | + | ... | ... |