Commit 037d605e93c265e3f05e21dea8c9f92ba200ad54

Authored by 陈杰
1 parent bca34565
Exists in master

临时微信入口

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 +