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 | + | ... | ... |