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