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,18 +80,20 @@ public class LearnController { | ||
80 | search.setGrade(initGrade(gradeMsg,schoolName)); | 80 | search.setGrade(initGrade(gradeMsg,schoolName)); |
81 | List<Analyse> analyseList = analyseService.select(search); | 81 | List<Analyse> analyseList = analyseService.select(search); |
82 | if(analyseList != null && analyseList.size() > 0){ | 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 | if(result.size() == 0){ | 94 | if(result.size() == 0){ |
93 | Analyse searchAnalyse = new Analyse(); | 95 | Analyse searchAnalyse = new Analyse(); |
94 | - searchAnalyse.setExamName("顺治中学模板考试"); | 96 | + searchAnalyse.setExamName("顺治中学模拟考试"); |
95 | List<Analyse> analyseList = analyseService.select(searchAnalyse); | 97 | List<Analyse> analyseList = analyseService.select(searchAnalyse); |
96 | if(analyseList != null && analyseList.size() > 0){ | 98 | if(analyseList != null && analyseList.size() > 0){ |
97 | result.add(analyseList.get(0)); | 99 | result.add(analyseList.get(0)); |
@@ -102,19 +104,19 @@ public class LearnController { | @@ -102,19 +104,19 @@ public class LearnController { | ||
102 | 104 | ||
103 | private String initGrade(String grade , String schoolName){ | 105 | private String initGrade(String grade , String schoolName){ |
104 | String result = null ; | 106 | String result = null ; |
105 | - if(schoolName.equals("皋埠中学")){ | ||
106 | - if(grade.equals("初中一年级")){ | 107 | + if(schoolName.equals("绍兴市越城区皋埠中学")){ |
108 | + if(grade.equals("2019级初中一年级")){ | ||
107 | result = "七年级" ; | 109 | result = "七年级" ; |
108 | } | 110 | } |
109 | - if(grade.equals("2017级")){ | 111 | + if(grade.equals("2017级初中三年级")){ |
110 | result = "九年级" ; | 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 | result = "七年级" ; | 117 | result = "七年级" ; |
116 | } | 118 | } |
117 | - if(grade.equals("2017届")){ | 119 | + if(grade.equals("2017级初中三年级")){ |
118 | result = "九年级" ; | 120 | result = "九年级" ; |
119 | } | 121 | } |
120 | } | 122 | } |
src/main/java/com/jevon/controller/LearnStatController.java
@@ -414,7 +414,7 @@ public class LearnStatController { | @@ -414,7 +414,7 @@ public class LearnStatController { | ||
414 | } | 414 | } |
415 | { | 415 | { |
416 | Form4 form = new Form4(); | 416 | Form4 form = new Form4(); |
417 | - form.setName(getLearnReqVo.getSchoolName()); | 417 | + form.setName("联盟校"); |
418 | form.setModeNumber(studentService.selectModeNumber(analyse.getId(),leagues,null)); | 418 | form.setModeNumber(studentService.selectModeNumber(analyse.getId(),leagues,null)); |
419 | form.setMedianNumber(studentService.selectMedian(analyse.getId(),leagues,null)); | 419 | form.setMedianNumber(studentService.selectMedian(analyse.getId(),leagues,null)); |
420 | form.setStdev(studentService.selectStdev(analyse.getId(),leagues,null)); | 420 | form.setStdev(studentService.selectStdev(analyse.getId(),leagues,null)); |
@@ -633,33 +633,35 @@ public class LearnStatController { | @@ -633,33 +633,35 @@ public class LearnStatController { | ||
633 | 633 | ||
634 | private List<Table2> sort(List<Table2> target){ | 634 | private List<Table2> sort(List<Table2> target){ |
635 | List<Table2> course = new ArrayList<>(); | 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 | for(Table2 table2 : target){ | 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,9 +982,9 @@ public class LearnStatController { | ||
980 | 982 | ||
981 | private String initSuggest(SuggestRepVo suggestRepVo){ | 983 | private String initSuggest(SuggestRepVo suggestRepVo){ |
982 | StringBuffer stringBuffer = new StringBuffer(); | 984 | StringBuffer stringBuffer = new StringBuffer(); |
983 | - stringBuffer.append("本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") | 985 | + stringBuffer.append("<p>本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") |
984 | .append(suggestRepVo.getDifficultyDegree()).append(",优秀率是").append(suggestRepVo.getExcellentRate()).append("%。") | 986 | .append(suggestRepVo.getDifficultyDegree()).append(",优秀率是").append(suggestRepVo.getExcellentRate()).append("%。") |
985 | - .append("对有关知识,总体掌握情况比较好。\n从考试结果分析,各知识点掌握程度较好,唯"); | 987 | + .append("对有关知识,总体掌握情况比较好。</p><p>从考试结果分析,各知识点掌握程度较好,唯"); |
986 | for (int i = 0; i < suggestRepVo.getMidKnowledgeList().size(); i++) { | 988 | for (int i = 0; i < suggestRepVo.getMidKnowledgeList().size(); i++) { |
987 | if(i == suggestRepVo.getMidKnowledgeList().size() - 1 ){ | 989 | if(i == suggestRepVo.getMidKnowledgeList().size() - 1 ){ |
988 | stringBuffer.append(suggestRepVo.getMidKnowledgeList().get(i)); | 990 | stringBuffer.append(suggestRepVo.getMidKnowledgeList().get(i)); |
@@ -998,7 +1000,7 @@ public class LearnStatController { | @@ -998,7 +1000,7 @@ public class LearnStatController { | ||
998 | stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)).append("、"); | 1000 | stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)).append("、"); |
999 | } | 1001 | } |
1000 | } | 1002 | } |
1001 | - stringBuffer.append("几个知识点学生的理解有些问题。\n探究技能方面:"); | 1003 | + stringBuffer.append("几个知识点学生的理解有些问题。</p><p>探究技能方面:"); |
1002 | for (int i = 0; i < suggestRepVo.getHighSkillList().size(); i++) { | 1004 | for (int i = 0; i < suggestRepVo.getHighSkillList().size(); i++) { |
1003 | if(i == suggestRepVo.getHighSkillList().size() - 1 ){ | 1005 | if(i == suggestRepVo.getHighSkillList().size() - 1 ){ |
1004 | stringBuffer.append(suggestRepVo.getHighSkillList().get(i)); | 1006 | stringBuffer.append(suggestRepVo.getHighSkillList().get(i)); |
@@ -1022,7 +1024,7 @@ public class LearnStatController { | @@ -1022,7 +1024,7 @@ public class LearnStatController { | ||
1022 | stringBuffer.append(suggestRepVo.getLessSkillList().get(i)).append("、"); | 1024 | stringBuffer.append(suggestRepVo.getLessSkillList().get(i)).append("、"); |
1023 | } | 1025 | } |
1024 | } | 1026 | } |
1025 | - stringBuffer.append("学生掌握有些问题。\n学习能力上:"); | 1027 | + stringBuffer.append("学生掌握有些问题。</p><p>学习能力上:"); |
1026 | for (int i = 0; i < suggestRepVo.getHighAbilityList().size(); i++) { | 1028 | for (int i = 0; i < suggestRepVo.getHighAbilityList().size(); i++) { |
1027 | if(i == suggestRepVo.getHighAbilityList().size() - 1 ){ | 1029 | if(i == suggestRepVo.getHighAbilityList().size() - 1 ){ |
1028 | stringBuffer.append(suggestRepVo.getHighAbilityList().get(i)); | 1030 | stringBuffer.append(suggestRepVo.getHighAbilityList().get(i)); |
@@ -1054,7 +1056,7 @@ public class LearnStatController { | @@ -1054,7 +1056,7 @@ public class LearnStatController { | ||
1054 | stringBuffer.append(suggestRepVo.getErrorList().get(i)).append("、"); | 1056 | stringBuffer.append(suggestRepVo.getErrorList().get(i)).append("、"); |
1055 | } | 1057 | } |
1056 | } | 1058 | } |
1057 | - stringBuffer.append("错误率大于15%。\n后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫。提升"); | 1059 | + stringBuffer.append("错误率大于15%。</p><p>后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫。提升"); |
1058 | for (int i = 0; i < suggestRepVo.getLessKnowledgeList().size(); i++) { | 1060 | for (int i = 0; i < suggestRepVo.getLessKnowledgeList().size(); i++) { |
1059 | if(i == suggestRepVo.getLessKnowledgeList().size() - 1 ){ | 1061 | if(i == suggestRepVo.getLessKnowledgeList().size() - 1 ){ |
1060 | stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)); | 1062 | stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)); |
@@ -1070,7 +1072,120 @@ public class LearnStatController { | @@ -1070,7 +1072,120 @@ public class LearnStatController { | ||
1070 | stringBuffer.append(suggestRepVo.getLessAbilityList().get(i)).append("、"); | 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 | return stringBuffer.toString(); | 1188 | return stringBuffer.toString(); |
1075 | } | 1189 | } |
1190 | + | ||
1076 | } | 1191 | } |
src/main/resources/application.yml
@@ -3,12 +3,12 @@ server: | @@ -3,12 +3,12 @@ server: | ||
3 | 3 | ||
4 | spring: | 4 | spring: |
5 | datasource: | 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 | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver | 12 | driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver |
13 | filters: stat | 13 | filters: stat |
14 | maxActive: 20 | 14 | maxActive: 20 |
@@ -43,3 +43,4 @@ Logger: | @@ -43,3 +43,4 @@ Logger: | ||
43 | remoting: | 43 | remoting: |
44 | # url: http://60.190.202.57:1000 | 44 | # url: http://60.190.202.57:1000 |
45 | url: http://campus.myjxt.com | 45 | url: http://campus.myjxt.com |
46 | + |