| @@ -4,11 +4,13 @@ import com.jevon.enums.DifficultEnums; |
| @@ -4,11 +4,13 @@ import com.jevon.enums.DifficultEnums; |
4
| import com.jevon.enums.DimensionalEnums; |
4
| import com.jevon.enums.DimensionalEnums; |
5
| import com.jevon.model.*; |
5
| import com.jevon.model.*; |
6
| import com.jevon.service.*; |
6
| import com.jevon.service.*; |
| |
7
| +import com.jevon.utils.RedisUtils; |
7
| import com.jevon.vo.rep.SuggestRepVo; |
8
| import com.jevon.vo.rep.SuggestRepVo; |
8
| import com.jevon.vo.req.GetLearnReqVo; |
9
| import com.jevon.vo.req.GetLearnReqVo; |
9
| import com.jevon.vo.school.*; |
10
| import com.jevon.vo.school.*; |
10
| import io.swagger.annotations.Api; |
11
| import io.swagger.annotations.Api; |
11
| import io.swagger.annotations.ApiOperation; |
12
| import io.swagger.annotations.ApiOperation; |
| |
13
| +import org.apache.poi.ss.formula.functions.T; |
12
| import org.springframework.beans.factory.annotation.Autowired; |
14
| import org.springframework.beans.factory.annotation.Autowired; |
13
| import org.springframework.web.bind.annotation.RequestBody; |
15
| import org.springframework.web.bind.annotation.RequestBody; |
14
| import org.springframework.web.bind.annotation.RequestMapping; |
16
| import org.springframework.web.bind.annotation.RequestMapping; |
| @@ -54,41 +56,49 @@ public class LearnStatController { |
| @@ -54,41 +56,49 @@ public class LearnStatController { |
54
| @Autowired |
56
| @Autowired |
55
| ChapterService chapterService; |
57
| ChapterService chapterService; |
56
| |
58
| |
| |
59
| + @Autowired |
| |
60
| + KnowledgeService knowledgeService ; |
| |
61
| + |
57
| @ApiOperation("getForm1_1") |
62
| @ApiOperation("getForm1_1") |
58
| @RequestMapping(value = "getForm1_1", method = RequestMethod.POST) |
63
| @RequestMapping(value = "getForm1_1", method = RequestMethod.POST) |
59
| public Form7RepVO getForm1_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
64
| public Form7RepVO getForm1_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
60
| Form7RepVO form7RepVO = new Form7RepVO(); |
65
| Form7RepVO form7RepVO = new Form7RepVO(); |
61
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
62
| - form7RepVO.setExamTime(analyse.getExamTime()); |
| |
63
| - form7RepVO.setMaxScore(analyse.getMaxScore()); |
| |
64
| - form7RepVO.setExamScope(analyse.getExamScope()); |
| |
65
| - form7RepVO.setCourseName(analyse.getCourseName()); |
| |
66
| - |
| |
67
| - List<Chapter> chapters = chapterService.selectByAnalyse(analyse.getId()); |
| |
68
| - for(Chapter chapter : chapters){ |
| |
69
| - chapter.setPercent(chapter.getChapterScore() / analyse.getMaxScore() * 100); |
| |
70
| - } |
| |
71
| - form7RepVO.setList(chapters); |
| |
72
| - List<Form7> difficultList = new ArrayList<>(); |
| |
73
| - for (DifficultEnums difficultEnums : DifficultEnums.values()){ |
| |
74
| - Form7 form7 = new Form7(); |
| |
75
| - form7.setName(difficultEnums.getDifficultShow()); |
| |
76
| - form7.setPercent(analyseDetailService.selectDifficult(analyse.getId(),difficultEnums.getDifficultType())/analyse.getMaxScore()*100); |
| |
77
| - difficultList.add(form7); |
| |
78
| - } |
| |
79
| - form7RepVO.setDifficultList(difficultList); |
| |
80
| - |
| |
81
| - List<Form7> typeList = new ArrayList<>(); |
| |
82
| - List<String> list = analyseDetailService.selectQuestionType(analyse.getId()); |
| |
83
| - for(String type : list){ |
| |
84
| - Form7 form7 = new Form7(); |
| |
85
| - form7.setName(type); |
| |
86
| - Double score = analyseDetailService.selectSumType(analyse.getId(),type); |
| |
87
| - form7.setScore(score); |
| |
88
| - form7.setPercent(score / analyse.getMaxScore() * 100); |
| |
89
| - typeList.add(form7); |
| |
90
| - } |
| |
91
| - form7RepVO.setTypeList(typeList); |
66
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_1_1")){ |
| |
67
| + form7RepVO = (Form7RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_1_1"); |
| |
68
| + }else { |
| |
69
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
70
| + form7RepVO.setExamTime(analyse.getExamTime()); |
| |
71
| + form7RepVO.setMaxScore(analyse.getMaxScore()); |
| |
72
| + form7RepVO.setExamScope(analyse.getExamScope()); |
| |
73
| + form7RepVO.setCourseName(analyse.getCourseName()); |
| |
74
| + |
| |
75
| + List<Chapter> chapters = chapterService.selectByAnalyse(analyse.getId()); |
| |
76
| + for(Chapter chapter : chapters){ |
| |
77
| + chapter.setPercent(chapter.getChapterScore() / analyse.getMaxScore() * 100); |
| |
78
| + } |
| |
79
| + form7RepVO.setList(chapters); |
| |
80
| + List<Form7> difficultList = new ArrayList<>(); |
| |
81
| + for (DifficultEnums difficultEnums : DifficultEnums.values()){ |
| |
82
| + Form7 form7 = new Form7(); |
| |
83
| + form7.setName(difficultEnums.getDifficultShow()); |
| |
84
| + form7.setPercent(analyseDetailService.selectDifficult(analyse.getId(),difficultEnums.getDifficultType())/analyse.getMaxScore()*100); |
| |
85
| + difficultList.add(form7); |
| |
86
| + } |
| |
87
| + form7RepVO.setDifficultList(difficultList); |
| |
88
| + |
| |
89
| + List<Form7> typeList = new ArrayList<>(); |
| |
90
| + List<String> list = analyseDetailService.selectQuestionType(analyse.getId()); |
| |
91
| + for(String type : list){ |
| |
92
| + Form7 form7 = new Form7(); |
| |
93
| + form7.setName(type); |
| |
94
| + Double score = analyseDetailService.selectSumType(analyse.getId(),type); |
| |
95
| + form7.setScore(score); |
| |
96
| + form7.setPercent(score / analyse.getMaxScore() * 100); |
| |
97
| + typeList.add(form7); |
| |
98
| + } |
| |
99
| + form7RepVO.setTypeList(typeList); |
| |
100
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_1_1",form7RepVO); |
| |
101
| + } |
92
| return form7RepVO; |
102
| return form7RepVO; |
93
| } |
103
| } |
94
| |
104
| |
| @@ -96,44 +106,49 @@ public class LearnStatController { |
| @@ -96,44 +106,49 @@ public class LearnStatController { |
96
| @RequestMapping(value = "getForm2_1_1", method = RequestMethod.POST) |
106
| @RequestMapping(value = "getForm2_1_1", method = RequestMethod.POST) |
97
| public Form1RepVO getForm2_1_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
107
| public Form1RepVO getForm2_1_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
98
| Form1RepVO form1RepVo = new Form1RepVO(); |
108
| Form1RepVO form1RepVo = new Form1RepVO(); |
99
| - //2.1表 |
| |
100
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
101
| - //分数段 |
| |
102
| - Double maxScore = analyse.getMaxScore(); |
| |
103
| - Map<String,String> segmentMap = new HashMap<>(); |
| |
104
| - segmentMap.put("A(优秀)",maxScore*0.85 + "~" + maxScore+"分"); |
| |
105
| - segmentMap.put("B(良好)",maxScore*0.7 + "~" + (maxScore*0.85-1f)+"分"); |
| |
106
| - segmentMap.put("C(及格)",maxScore*0.7 + "~" + (maxScore*0.7-1f)+"分"); |
| |
107
| - segmentMap.put("D(不及格)",0 + "~" + (maxScore*0.6-1f)+"分"); |
| |
108
| - form1RepVo.setMap(segmentMap); |
| |
109
| - List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); |
| |
110
| - double sum = new Double(students.size()); |
| |
111
| - int a = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),maxScore*0.85,maxScore+1f); |
| |
112
| - int b = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),maxScore*0.7,(maxScore*0.85)); |
| |
113
| - int c = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),maxScore*0.6,(maxScore*0.7)); |
| |
114
| - int d = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),maxScore*0,(maxScore*0.6)); |
| |
115
| - List<Form1> form1List = new ArrayList<>(); |
| |
116
| - Form1 formA = new Form1(); |
| |
117
| - formA.setLevel("A"); |
| |
118
| - formA.setNumber(a); |
| |
119
| - formA.setProp(a/sum*100); |
| |
120
| - Form1 formB = new Form1(); |
| |
121
| - formB.setLevel("B"); |
| |
122
| - formB.setNumber(b); |
| |
123
| - formB.setProp(b/sum*100); |
| |
124
| - Form1 formC = new Form1(); |
| |
125
| - formC.setLevel("C"); |
| |
126
| - formC.setNumber(c); |
| |
127
| - formC.setProp(c/sum*100); |
| |
128
| - Form1 formD = new Form1(); |
| |
129
| - formD.setLevel("D"); |
| |
130
| - formD.setNumber(d); |
| |
131
| - formD.setProp(d/sum*100); |
| |
132
| - form1List.add(formA); |
| |
133
| - form1List.add(formB); |
| |
134
| - form1List.add(formC); |
| |
135
| - form1List.add(formD); |
| |
136
| - form1RepVo.setList(form1List); |
109
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_1")){ |
| |
110
| + form1RepVo = (Form1RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_1"); |
| |
111
| + }else { |
| |
112
| + //2.1表 |
| |
113
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
114
| + //分数段 |
| |
115
| + Double maxScore = analyse.getMaxScore(); |
| |
116
| + Map<String,String> segmentMap = new HashMap<>(); |
| |
117
| + segmentMap.put("A(优秀)",maxScore*0.85 + "~" + maxScore+"分"); |
| |
118
| + segmentMap.put("B(良好)",maxScore*0.7 + "~" + (maxScore*0.85-1f)+"分"); |
| |
119
| + segmentMap.put("C(及格)",maxScore*0.7 + "~" + (maxScore*0.7-1f)+"分"); |
| |
120
| + segmentMap.put("D(不及格)",0 + "~" + (maxScore*0.6-1f)+"分"); |
| |
121
| + form1RepVo.setMap(segmentMap); |
| |
122
| + List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); |
| |
123
| + double sum = new Double(students.size()); |
| |
124
| + int a = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),maxScore*0.85,maxScore+1f); |
| |
125
| + int b = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),maxScore*0.7,(maxScore*0.85)); |
| |
126
| + int c = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),maxScore*0.6,(maxScore*0.7)); |
| |
127
| + int d = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),maxScore*0,(maxScore*0.6)); |
| |
128
| + List<Form1> form1List = new ArrayList<>(); |
| |
129
| + Form1 formA = new Form1(); |
| |
130
| + formA.setLevel("A"); |
| |
131
| + formA.setNumber(a); |
| |
132
| + formA.setProp(a/sum*100); |
| |
133
| + Form1 formB = new Form1(); |
| |
134
| + formB.setLevel("B"); |
| |
135
| + formB.setNumber(b); |
| |
136
| + formB.setProp(b/sum*100); |
| |
137
| + Form1 formC = new Form1(); |
| |
138
| + formC.setLevel("C"); |
| |
139
| + formC.setNumber(c); |
| |
140
| + formC.setProp(c/sum*100); |
| |
141
| + Form1 formD = new Form1(); |
| |
142
| + formD.setLevel("D"); |
| |
143
| + formD.setNumber(d); |
| |
144
| + formD.setProp(d/sum*100); |
| |
145
| + form1List.add(formA); |
| |
146
| + form1List.add(formB); |
| |
147
| + form1List.add(formC); |
| |
148
| + form1List.add(formD); |
| |
149
| + form1RepVo.setList(form1List); |
| |
150
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_1",form1RepVo); |
| |
151
| + } |
137
| return form1RepVo; |
152
| return form1RepVo; |
138
| } |
153
| } |
139
| |
154
| |
| @@ -141,63 +156,68 @@ public class LearnStatController { |
| @@ -141,63 +156,68 @@ public class LearnStatController { |
141
| @RequestMapping(value = "getForm2_1_2", method = RequestMethod.POST) |
156
| @RequestMapping(value = "getForm2_1_2", method = RequestMethod.POST) |
142
| public Form2RepVO getForm2_1_2(@RequestBody GetLearnReqVo getLearnReqVo){ |
157
| public Form2RepVO getForm2_1_2(@RequestBody GetLearnReqVo getLearnReqVo){ |
143
| Form2RepVO repVO = new Form2RepVO(); |
158
| Form2RepVO repVO = new Form2RepVO(); |
144
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
145
| - if(analyse == null){ |
| |
146
| - repVO.setSuccess(false); |
| |
147
| - repVO.setMessage("请先创建考试"); |
| |
148
| - return repVO; |
| |
149
| - } |
| |
150
| - List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
151
| - if(leagues == null){ |
| |
152
| - repVO.setSuccess(false); |
| |
153
| - repVO.setMessage("请先设定联盟校"); |
| |
154
| - return repVO; |
| |
155
| - } |
| |
156
| - List<Student> allStudents = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,null); |
| |
157
| - List<Student> leagueStudents = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),leagues,null); |
| |
158
| - List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); |
| |
159
| - //先算高分段的分数 |
| |
160
| - int highNumber = (int) Math.floor(allStudents.size()*0.27); |
| |
161
| - double highScore = allStudents.get(highNumber).getScore(); |
| |
162
| - int lowNumber = allStudents.size()-highNumber; |
| |
163
| - double lowScore = allStudents.get(lowNumber).getScore(); |
| |
164
| - List<Form2> list = new ArrayList<>(); |
| |
165
| - |
| |
166
| - int highAllCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,null,highScore,analyse.getMaxScore()+1f); |
| |
167
| - int lowAllCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,null,0,lowScore); |
| |
168
| - Form2 form2 = new Form2(); |
| |
169
| - form2.setName("区"); |
| |
170
| - form2.setStudentNumber(allStudents.size()); |
| |
171
| - form2.setHighNumber(highAllCount); |
| |
172
| - form2.setLowNumber(lowAllCount); |
| |
173
| - list.add(form2); |
| |
174
| - { |
| |
175
| - int highLeagueCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),leagues,null,highScore,analyse.getMaxScore()+1f); |
| |
176
| - int lowLeagueCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),leagues,null,0,lowScore); |
| |
177
| - Form2 form = new Form2(); |
| |
178
| - form.setName("联盟校"); |
| |
179
| - form.setStudentNumber(leagueStudents.size()); |
| |
180
| - form.setStudentProp(new Double(leagueStudents.size()) / new Double(allStudents.size())); |
| |
181
| - form.setHighNumber(highLeagueCount); |
| |
182
| - form.setLowNumber(lowLeagueCount); |
| |
183
| - form.setHighProp(highLeagueCount/new Double(highAllCount)); |
| |
184
| - form.setLowProp(lowLeagueCount/new Double(lowAllCount)); |
| |
185
| - list.add(form); |
| |
186
| - } |
| |
187
| - { |
| |
188
| - int highCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),highScore,analyse.getMaxScore()+1f); |
| |
189
| - int lowCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),0,lowScore); |
| |
190
| - Form2 form = new Form2(); |
| |
191
| - form.setName(getLearnReqVo.getSchoolName()); |
| |
192
| - form.setStudentNumber(students.size()); |
| |
193
| - form.setStudentProp(new Double(students.size()) / new Double(allStudents.size())); |
| |
194
| - form.setHighNumber(highCount); |
| |
195
| - form.setLowNumber(lowCount); |
| |
196
| - form.setHighProp(highCount/new Double(highAllCount)); |
| |
197
| - form.setLowProp(lowCount/new Double(lowAllCount)); |
| |
198
| - list.add(form); |
159
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_2")){ |
| |
160
| + repVO = (Form2RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_2"); |
| |
161
| + }else { |
| |
162
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
163
| + if(analyse == null){ |
| |
164
| + repVO.setSuccess(false); |
| |
165
| + repVO.setMessage("请先创建考试"); |
| |
166
| + return repVO; |
| |
167
| + } |
| |
168
| + List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
169
| + if(leagues == null){ |
| |
170
| + repVO.setSuccess(false); |
| |
171
| + repVO.setMessage("请先设定联盟校"); |
| |
172
| + return repVO; |
| |
173
| + } |
| |
174
| + List<Student> allStudents = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,null); |
| |
175
| + List<Student> leagueStudents = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),leagues,null); |
| |
176
| + List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); |
| |
177
| + //先算高分段的分数 |
| |
178
| + int highNumber = (int) Math.floor(allStudents.size()*0.27); |
| |
179
| + double highScore = allStudents.get(highNumber).getScore(); |
| |
180
| + int lowNumber = allStudents.size()-highNumber; |
| |
181
| + double lowScore = allStudents.get(lowNumber).getScore(); |
| |
182
| + List<Form2> list = new ArrayList<>(); |
| |
183
| + |
| |
184
| + int highAllCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,null,highScore,analyse.getMaxScore()+1f); |
| |
185
| + int lowAllCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,null,0,lowScore); |
| |
186
| + Form2 form2 = new Form2(); |
| |
187
| + form2.setName("区"); |
| |
188
| + form2.setStudentNumber(allStudents.size()); |
| |
189
| + form2.setHighNumber(highAllCount); |
| |
190
| + form2.setLowNumber(lowAllCount); |
| |
191
| + list.add(form2); |
| |
192
| + { |
| |
193
| + int highLeagueCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),leagues,null,highScore,analyse.getMaxScore()+1f); |
| |
194
| + int lowLeagueCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),leagues,null,0,lowScore); |
| |
195
| + Form2 form = new Form2(); |
| |
196
| + form.setName("联盟校"); |
| |
197
| + form.setStudentNumber(leagueStudents.size()); |
| |
198
| + form.setStudentProp(new Double(leagueStudents.size()) / new Double(allStudents.size())); |
| |
199
| + form.setHighNumber(highLeagueCount); |
| |
200
| + form.setLowNumber(lowLeagueCount); |
| |
201
| + form.setHighProp(highLeagueCount/new Double(highAllCount)); |
| |
202
| + form.setLowProp(lowLeagueCount/new Double(lowAllCount)); |
| |
203
| + list.add(form); |
| |
204
| + } |
| |
205
| + { |
| |
206
| + int highCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),highScore,analyse.getMaxScore()+1f); |
| |
207
| + int lowCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),0,lowScore); |
| |
208
| + Form2 form = new Form2(); |
| |
209
| + form.setName(getLearnReqVo.getSchoolName()); |
| |
210
| + form.setStudentNumber(students.size()); |
| |
211
| + form.setStudentProp(new Double(students.size()) / new Double(allStudents.size())); |
| |
212
| + form.setHighNumber(highCount); |
| |
213
| + form.setLowNumber(lowCount); |
| |
214
| + form.setHighProp(highCount/new Double(highAllCount)); |
| |
215
| + form.setLowProp(lowCount/new Double(lowAllCount)); |
| |
216
| + list.add(form); |
| |
217
| + } |
| |
218
| + repVO.setData(list); |
| |
219
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_2",repVO); |
199
| } |
220
| } |
200
| - repVO.setData(list); |
| |
201
| return repVO; |
221
| return repVO; |
202
| } |
222
| } |
203
| |
223
| |
| @@ -205,43 +225,48 @@ public class LearnStatController { |
| @@ -205,43 +225,48 @@ public class LearnStatController { |
205
| @RequestMapping(value = "getForm2_1_3_2", method = RequestMethod.POST) |
225
| @RequestMapping(value = "getForm2_1_3_2", method = RequestMethod.POST) |
206
| public Form2RepVO getForm2_1_3_2(@RequestBody GetLearnReqVo getLearnReqVo){ |
226
| public Form2RepVO getForm2_1_3_2(@RequestBody GetLearnReqVo getLearnReqVo){ |
207
| Form2RepVO repVO = new Form2RepVO(); |
227
| Form2RepVO repVO = new Form2RepVO(); |
208
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
209
| - if(analyse == null){ |
| |
210
| - repVO.setSuccess(false); |
| |
211
| - repVO.setMessage("请先创建考试"); |
| |
212
| - return repVO; |
228
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_3_2")){ |
| |
229
| + repVO = (Form2RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_3_2"); |
| |
230
| + }else { |
| |
231
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
232
| + if(analyse == null){ |
| |
233
| + repVO.setSuccess(false); |
| |
234
| + repVO.setMessage("请先创建考试"); |
| |
235
| + return repVO; |
| |
236
| + } |
| |
237
| + List<Student> allStudents = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); |
| |
238
| + //先算高分段的分数 |
| |
239
| + int highNumber = (int) Math.floor(allStudents.size()*0.27); |
| |
240
| + double highScore = allStudents.get(highNumber).getScore(); |
| |
241
| + int lowNumber = allStudents.size()-highNumber; |
| |
242
| + double lowScore = allStudents.get(lowNumber).getScore(); |
| |
243
| + int highAllCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),highScore,analyse.getMaxScore()+1f); |
| |
244
| + int lowAllCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),0,lowScore); |
| |
245
| + List<Form2> resultList = new ArrayList<>(); |
| |
246
| + Form2 form = new Form2(); |
| |
247
| + form.setName(getLearnReqVo.getSchoolName()); |
| |
248
| + form.setStudentNumber(allStudents.size()); |
| |
249
| + form.setHighNumber(highAllCount); |
| |
250
| + form.setLowNumber(lowAllCount); |
| |
251
| + resultList.add(form); |
| |
252
| + List<String> classNamList = studentService.selectClassNameBySchool(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName()); |
| |
253
| + for(String className : classNamList){ |
| |
254
| + List<Student> list = studentService.selectByClassName(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),className); |
| |
255
| + int highCount = studentService.selectCountBySchoolScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),className,highScore,analyse.getMaxScore()+1f); |
| |
256
| + int lowCount = studentService.selectCountBySchoolScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),className,0,lowScore); |
| |
257
| + Form2 form2 = new Form2(); |
| |
258
| + form2.setName(className); |
| |
259
| + form2.setStudentNumber(list.size()); |
| |
260
| + form2.setStudentProp(new Double(list.size()) / new Double(allStudents.size())); |
| |
261
| + form2.setHighNumber(highCount); |
| |
262
| + form2.setLowNumber(lowCount); |
| |
263
| + form2.setHighProp(highCount/new Double(highAllCount)); |
| |
264
| + form2.setLowProp(lowCount/new Double(lowAllCount)); |
| |
265
| + resultList.add(form2); |
| |
266
| + } |
| |
267
| + repVO.setData(resultList); |
| |
268
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_1_3_2",repVO); |
213
| } |
269
| } |
214
| - List<Student> allStudents = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); |
| |
215
| - //先算高分段的分数 |
| |
216
| - int highNumber = (int) Math.floor(allStudents.size()*0.27); |
| |
217
| - double highScore = allStudents.get(highNumber).getScore(); |
| |
218
| - int lowNumber = allStudents.size()-highNumber; |
| |
219
| - double lowScore = allStudents.get(lowNumber).getScore(); |
| |
220
| - int highAllCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),highScore,analyse.getMaxScore()+1f); |
| |
221
| - int lowAllCount = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),0,lowScore); |
| |
222
| - List<Form2> resultList = new ArrayList<>(); |
| |
223
| - Form2 form = new Form2(); |
| |
224
| - form.setName(getLearnReqVo.getSchoolName()); |
| |
225
| - form.setStudentNumber(allStudents.size()); |
| |
226
| - form.setHighNumber(highAllCount); |
| |
227
| - form.setLowNumber(lowAllCount); |
| |
228
| - resultList.add(form); |
| |
229
| - List<String> classNamList = studentService.selectClassNameBySchool(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName()); |
| |
230
| - for(String className : classNamList){ |
| |
231
| - List<Student> list = studentService.selectByClassName(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),className); |
| |
232
| - int highCount = studentService.selectCountBySchoolScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),className,highScore,analyse.getMaxScore()+1f); |
| |
233
| - int lowCount = studentService.selectCountBySchoolScore(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),className,0,lowScore); |
| |
234
| - Form2 form2 = new Form2(); |
| |
235
| - form2.setName(className); |
| |
236
| - form2.setStudentNumber(list.size()); |
| |
237
| - form2.setStudentProp(new Double(list.size()) / new Double(allStudents.size())); |
| |
238
| - form2.setHighNumber(highCount); |
| |
239
| - form2.setLowNumber(lowCount); |
| |
240
| - form2.setHighProp(highCount/new Double(highAllCount)); |
| |
241
| - form2.setLowProp(lowCount/new Double(lowAllCount)); |
| |
242
| - resultList.add(form2); |
| |
243
| - } |
| |
244
| - repVO.setData(resultList); |
| |
245
| return repVO; |
270
| return repVO; |
246
| } |
271
| } |
247
| |
272
| |
| @@ -285,71 +310,76 @@ public class LearnStatController { |
| @@ -285,71 +310,76 @@ public class LearnStatController { |
285
| @RequestMapping(value = "getForm2_2_1", method = RequestMethod.POST) |
310
| @RequestMapping(value = "getForm2_2_1", method = RequestMethod.POST) |
286
| public Form3RepVO getForm2_2_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
311
| public Form3RepVO getForm2_2_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
287
| Form3RepVO repVO = new Form3RepVO(); |
312
| Form3RepVO repVO = new Form3RepVO(); |
288
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
289
| - if(analyse == null){ |
| |
290
| - repVO.setSuccess(false); |
| |
291
| - repVO.setMessage("请先创建考试"); |
| |
292
| - return repVO; |
| |
293
| - } |
| |
294
| - List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
295
| - if(leagues == null){ |
| |
296
| - repVO.setSuccess(false); |
| |
297
| - repVO.setMessage("请先设定联盟校"); |
| |
298
| - return repVO; |
| |
299
| - } |
| |
300
| - List<Form3> list = new ArrayList<>(); |
| |
301
| - List<Student> allStudents = studentService.selectBySchoolName(analyse.getId(),null,null); |
| |
302
| - { |
| |
303
| - Form3 form3 = new Form3(); |
| |
304
| - form3.setName("区"); |
| |
305
| - form3.setMaxScore(studentService.selectMaxScore(analyse.getId(),null,null)); |
| |
306
| - form3.setAverage(studentService.selectAvgScore(analyse.getId(),null,null)); |
| |
307
| - form3.setMinScore(studentService.selectMinScore(analyse.getId(),null,null)); |
| |
308
| - int a = studentService.selectCountByScore(analyse.getId(),null,null,analyse.getMaxScore()*0.85,analyse.getMaxScore()+1); |
| |
309
| - form3.setApercent(a / new Double(allStudents.size()) * 100); |
| |
310
| - int b = studentService.selectCountByScore(analyse.getId(),null,null,analyse.getMaxScore()*0.7,analyse.getMaxScore()*0.85); |
| |
311
| - form3.setBpercent(b / new Double(allStudents.size()) * 100); |
| |
312
| - int c = studentService.selectCountByScore(analyse.getId(),null,null,analyse.getMaxScore()*0.6,analyse.getMaxScore()*0.7); |
| |
313
| - form3.setCpercent(c / new Double(allStudents.size()) * 100); |
| |
314
| - int d = studentService.selectCountByScore(analyse.getId(),null,null,analyse.getMaxScore()*0,analyse.getMaxScore()*0.6); |
| |
315
| - form3.setDpercent(d / new Double(allStudents.size()) * 100); |
| |
316
| - list.add(form3); |
| |
317
| - } |
| |
318
| - { |
| |
319
| - Form3 form = new Form3(); |
| |
320
| - form.setName("联盟校"); |
| |
321
| - List<Student> students = studentService.selectBySchoolName(analyse.getId(),leagues,null); |
| |
322
| - form.setMaxScore(studentService.selectMaxScore(analyse.getId(),leagues,null)); |
| |
323
| - form.setAverage(studentService.selectAvgScore(analyse.getId(),leagues,null)); |
| |
324
| - form.setMinScore(studentService.selectMinScore(analyse.getId(),leagues,null)); |
| |
325
| - int a1 = studentService.selectCountByScore(analyse.getId(),leagues,null,analyse.getMaxScore()*0.85,analyse.getMaxScore()+1); |
| |
326
| - form.setApercent(a1 / new Double(students.size()) * 100); |
| |
327
| - int b1 = studentService.selectCountByScore(analyse.getId(),leagues,null,analyse.getMaxScore()*0.7,analyse.getMaxScore()*0.85); |
| |
328
| - form.setBpercent(b1 / new Double(students.size()) * 100); |
| |
329
| - int c1 = studentService.selectCountByScore(analyse.getId(),leagues,null,analyse.getMaxScore()*0.6,analyse.getMaxScore()*0.7); |
| |
330
| - form.setCpercent(c1 / new Double(students.size()) * 100); |
| |
331
| - int d1 = studentService.selectCountByScore(analyse.getId(),leagues,null,analyse.getMaxScore()*0,analyse.getMaxScore()*0.6); |
| |
332
| - form.setDpercent(d1 / new Double(students.size()) * 100); |
| |
333
| - list.add(form); |
| |
334
| - } |
| |
335
| - { |
| |
336
| - Form3 form = new Form3(); |
| |
337
| - form.setName(getLearnReqVo.getSchoolName()); |
| |
338
| - List<Student> students = studentService.selectBySchoolName(analyse.getId(),null,getLearnReqVo.getSchoolName()); |
| |
339
| - form.setMaxScore(studentService.selectMaxScore(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
340
| - form.setAverage(studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
341
| - form.setMinScore(studentService.selectMinScore(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
342
| - int a1 = studentService.selectCountByScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.85,analyse.getMaxScore()+1); |
| |
343
| - form.setApercent(a1 / new Double(students.size()) * 100); |
| |
344
| - int b1 = studentService.selectCountByScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.7,analyse.getMaxScore()*0.85); |
| |
345
| - form.setBpercent(b1 / new Double(students.size()) * 100); |
| |
346
| - int c1 = studentService.selectCountByScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.6,analyse.getMaxScore()*0.7); |
| |
347
| - form.setCpercent(c1 / new Double(students.size()) * 100); |
| |
348
| - int d1 = studentService.selectCountByScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0,analyse.getMaxScore()*0.6); |
| |
349
| - form.setDpercent(d1 / new Double(students.size()) * 100); |
| |
350
| - list.add(form); |
313
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_1")){ |
| |
314
| + repVO = (Form3RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_1"); |
| |
315
| + }else { |
| |
316
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
317
| + if(analyse == null){ |
| |
318
| + repVO.setSuccess(false); |
| |
319
| + repVO.setMessage("请先创建考试"); |
| |
320
| + return repVO; |
| |
321
| + } |
| |
322
| + List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
323
| + if(leagues == null){ |
| |
324
| + repVO.setSuccess(false); |
| |
325
| + repVO.setMessage("请先设定联盟校"); |
| |
326
| + return repVO; |
| |
327
| + } |
| |
328
| + List<Form3> list = new ArrayList<>(); |
| |
329
| + List<Student> allStudents = studentService.selectBySchoolName(analyse.getId(),null,null); |
| |
330
| + { |
| |
331
| + Form3 form3 = new Form3(); |
| |
332
| + form3.setName("区"); |
| |
333
| + form3.setMaxScore(studentService.selectMaxScore(analyse.getId(),null,null)); |
| |
334
| + form3.setAverage(studentService.selectAvgScore(analyse.getId(),null,null)); |
| |
335
| + form3.setMinScore(studentService.selectMinScore(analyse.getId(),null,null)); |
| |
336
| + int a = studentService.selectCountByScore(analyse.getId(),null,null,analyse.getMaxScore()*0.85,analyse.getMaxScore()+1); |
| |
337
| + form3.setApercent(a / new Double(allStudents.size()) * 100); |
| |
338
| + int b = studentService.selectCountByScore(analyse.getId(),null,null,analyse.getMaxScore()*0.7,analyse.getMaxScore()*0.85); |
| |
339
| + form3.setBpercent(b / new Double(allStudents.size()) * 100); |
| |
340
| + int c = studentService.selectCountByScore(analyse.getId(),null,null,analyse.getMaxScore()*0.6,analyse.getMaxScore()*0.7); |
| |
341
| + form3.setCpercent(c / new Double(allStudents.size()) * 100); |
| |
342
| + int d = studentService.selectCountByScore(analyse.getId(),null,null,analyse.getMaxScore()*0,analyse.getMaxScore()*0.6); |
| |
343
| + form3.setDpercent(d / new Double(allStudents.size()) * 100); |
| |
344
| + list.add(form3); |
| |
345
| + } |
| |
346
| + { |
| |
347
| + Form3 form = new Form3(); |
| |
348
| + form.setName("联盟校"); |
| |
349
| + List<Student> students = studentService.selectBySchoolName(analyse.getId(),leagues,null); |
| |
350
| + form.setMaxScore(studentService.selectMaxScore(analyse.getId(),leagues,null)); |
| |
351
| + form.setAverage(studentService.selectAvgScore(analyse.getId(),leagues,null)); |
| |
352
| + form.setMinScore(studentService.selectMinScore(analyse.getId(),leagues,null)); |
| |
353
| + int a1 = studentService.selectCountByScore(analyse.getId(),leagues,null,analyse.getMaxScore()*0.85,analyse.getMaxScore()+1); |
| |
354
| + form.setApercent(a1 / new Double(students.size()) * 100); |
| |
355
| + int b1 = studentService.selectCountByScore(analyse.getId(),leagues,null,analyse.getMaxScore()*0.7,analyse.getMaxScore()*0.85); |
| |
356
| + form.setBpercent(b1 / new Double(students.size()) * 100); |
| |
357
| + int c1 = studentService.selectCountByScore(analyse.getId(),leagues,null,analyse.getMaxScore()*0.6,analyse.getMaxScore()*0.7); |
| |
358
| + form.setCpercent(c1 / new Double(students.size()) * 100); |
| |
359
| + int d1 = studentService.selectCountByScore(analyse.getId(),leagues,null,analyse.getMaxScore()*0,analyse.getMaxScore()*0.6); |
| |
360
| + form.setDpercent(d1 / new Double(students.size()) * 100); |
| |
361
| + list.add(form); |
| |
362
| + } |
| |
363
| + { |
| |
364
| + Form3 form = new Form3(); |
| |
365
| + form.setName(getLearnReqVo.getSchoolName()); |
| |
366
| + List<Student> students = studentService.selectBySchoolName(analyse.getId(),null,getLearnReqVo.getSchoolName()); |
| |
367
| + form.setMaxScore(studentService.selectMaxScore(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
368
| + form.setAverage(studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
369
| + form.setMinScore(studentService.selectMinScore(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
370
| + int a1 = studentService.selectCountByScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.85,analyse.getMaxScore()+1); |
| |
371
| + form.setApercent(a1 / new Double(students.size()) * 100); |
| |
372
| + int b1 = studentService.selectCountByScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.7,analyse.getMaxScore()*0.85); |
| |
373
| + form.setBpercent(b1 / new Double(students.size()) * 100); |
| |
374
| + int c1 = studentService.selectCountByScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.6,analyse.getMaxScore()*0.7); |
| |
375
| + form.setCpercent(c1 / new Double(students.size()) * 100); |
| |
376
| + int d1 = studentService.selectCountByScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0,analyse.getMaxScore()*0.6); |
| |
377
| + form.setDpercent(d1 / new Double(students.size()) * 100); |
| |
378
| + list.add(form); |
| |
379
| + } |
| |
380
| + repVO.setData(list); |
| |
381
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_1",repVO); |
351
| } |
382
| } |
352
| - repVO.setData(list); |
| |
353
| return repVO ; |
383
| return repVO ; |
354
| } |
384
| } |
355
| |
385
| |
| @@ -357,47 +387,52 @@ public class LearnStatController { |
| @@ -357,47 +387,52 @@ public class LearnStatController { |
357
| @RequestMapping(value = "getForm2_2_2", method = RequestMethod.POST) |
387
| @RequestMapping(value = "getForm2_2_2", method = RequestMethod.POST) |
358
| public Form4RepVO getForm2_2_2(@RequestBody GetLearnReqVo getLearnReqVo){ |
388
| public Form4RepVO getForm2_2_2(@RequestBody GetLearnReqVo getLearnReqVo){ |
359
| Form4RepVO repVO = new Form4RepVO(); |
389
| Form4RepVO repVO = new Form4RepVO(); |
360
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
361
| - if(analyse == null){ |
| |
362
| - repVO.setSuccess(false); |
| |
363
| - repVO.setMessage("请先创建考试"); |
| |
364
| - return repVO; |
| |
365
| - } |
| |
366
| - List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
367
| - if(leagues == null){ |
| |
368
| - repVO.setSuccess(false); |
| |
369
| - repVO.setMessage("请先设定联盟校"); |
| |
370
| - return repVO; |
| |
371
| - } |
| |
372
| - List<Form4> list = new ArrayList<>(); |
| |
373
| - { |
| |
374
| - Form4 form4 = new Form4(); |
| |
375
| - form4.setName("区"); |
| |
376
| - form4.setModeNumber(studentService.selectModeNumber(analyse.getId(),null,null)); |
| |
377
| - form4.setMedianNumber(studentService.selectMedian(analyse.getId(),null,null)); |
| |
378
| - form4.setStdev(studentService.selectStdev(analyse.getId(),null,null)); |
| |
379
| - form4.setAvgNumber(studentService.selectAvgScore(analyse.getId(),null,null)); |
| |
380
| - list.add(form4); |
| |
381
| - } |
| |
382
| - { |
| |
383
| - Form4 form = new Form4(); |
| |
384
| - form.setName(getLearnReqVo.getSchoolName()); |
| |
385
| - form.setModeNumber(studentService.selectModeNumber(analyse.getId(),leagues,null)); |
| |
386
| - form.setMedianNumber(studentService.selectMedian(analyse.getId(),leagues,null)); |
| |
387
| - form.setStdev(studentService.selectStdev(analyse.getId(),leagues,null)); |
| |
388
| - form.setAvgNumber(studentService.selectAvgScore(analyse.getId(),leagues,null)); |
| |
389
| - list.add(form); |
| |
390
| - } |
| |
391
| - { |
| |
392
| - Form4 form = new Form4(); |
| |
393
| - form.setName(getLearnReqVo.getSchoolName()); |
| |
394
| - form.setModeNumber(studentService.selectModeNumber(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
395
| - form.setMedianNumber(studentService.selectMedian(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
396
| - form.setStdev(studentService.selectStdev(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
397
| - form.setAvgNumber(studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
398
| - list.add(form); |
390
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_2")){ |
| |
391
| + repVO = (Form4RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_2"); |
| |
392
| + }else { |
| |
393
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
394
| + if(analyse == null){ |
| |
395
| + repVO.setSuccess(false); |
| |
396
| + repVO.setMessage("请先创建考试"); |
| |
397
| + return repVO; |
| |
398
| + } |
| |
399
| + List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
400
| + if(leagues == null){ |
| |
401
| + repVO.setSuccess(false); |
| |
402
| + repVO.setMessage("请先设定联盟校"); |
| |
403
| + return repVO; |
| |
404
| + } |
| |
405
| + List<Form4> list = new ArrayList<>(); |
| |
406
| + { |
| |
407
| + Form4 form4 = new Form4(); |
| |
408
| + form4.setName("区"); |
| |
409
| + form4.setModeNumber(studentService.selectModeNumber(analyse.getId(),null,null)); |
| |
410
| + form4.setMedianNumber(studentService.selectMedian(analyse.getId(),null,null)); |
| |
411
| + form4.setStdev(studentService.selectStdev(analyse.getId(),null,null)); |
| |
412
| + form4.setAvgNumber(studentService.selectAvgScore(analyse.getId(),null,null)); |
| |
413
| + list.add(form4); |
| |
414
| + } |
| |
415
| + { |
| |
416
| + Form4 form = new Form4(); |
| |
417
| + form.setName(getLearnReqVo.getSchoolName()); |
| |
418
| + form.setModeNumber(studentService.selectModeNumber(analyse.getId(),leagues,null)); |
| |
419
| + form.setMedianNumber(studentService.selectMedian(analyse.getId(),leagues,null)); |
| |
420
| + form.setStdev(studentService.selectStdev(analyse.getId(),leagues,null)); |
| |
421
| + form.setAvgNumber(studentService.selectAvgScore(analyse.getId(),leagues,null)); |
| |
422
| + list.add(form); |
| |
423
| + } |
| |
424
| + { |
| |
425
| + Form4 form = new Form4(); |
| |
426
| + form.setName(getLearnReqVo.getSchoolName()); |
| |
427
| + form.setModeNumber(studentService.selectModeNumber(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
428
| + form.setMedianNumber(studentService.selectMedian(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
429
| + form.setStdev(studentService.selectStdev(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
430
| + form.setAvgNumber(studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName())); |
| |
431
| + list.add(form); |
| |
432
| + } |
| |
433
| + repVO.setData(list); |
| |
434
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_2",repVO); |
399
| } |
435
| } |
400
| - repVO.setData(list); |
| |
401
| return repVO; |
436
| return repVO; |
402
| } |
437
| } |
403
| |
438
| |
| @@ -405,91 +440,96 @@ public class LearnStatController { |
| @@ -405,91 +440,96 @@ public class LearnStatController { |
405
| @RequestMapping(value = "getForm2_2_3", method = RequestMethod.POST) |
440
| @RequestMapping(value = "getForm2_2_3", method = RequestMethod.POST) |
406
| public Form5RepVO getForm2_2_3(@RequestBody GetLearnReqVo getLearnReqVo){ |
441
| public Form5RepVO getForm2_2_3(@RequestBody GetLearnReqVo getLearnReqVo){ |
407
| Form5RepVO repVO = new Form5RepVO(); |
442
| Form5RepVO repVO = new Form5RepVO(); |
408
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
409
| - if(analyse == null){ |
| |
410
| - repVO.setSuccess(false); |
| |
411
| - repVO.setMessage("请先创建考试"); |
| |
412
| - return repVO; |
| |
413
| - } |
| |
414
| - List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
415
| - if(leagues == null){ |
| |
416
| - repVO.setSuccess(false); |
| |
417
| - repVO.setMessage("请先设定联盟校"); |
| |
418
| - return repVO; |
| |
419
| - } |
| |
420
| - List<String> allHighStudent = new ArrayList<>(); |
| |
421
| - List<String> allLowStudent = new ArrayList<>(); |
| |
422
| - List<Student> allStudents = studentService.selectBySchoolName(analyse.getId(),null,null); |
| |
423
| - int allNumber = (int) Math.floor(allStudents.size()*0.27) ; |
| |
424
| - { |
| |
425
| - //获取区 高分段,低分段学生编号 |
| |
426
| - for (int i = 0; i < allNumber ; i++) { |
| |
427
| - allHighStudent.add(allStudents.get(i).getStudentNumber()); |
| |
428
| - } |
| |
429
| - for(int i =allStudents.size()-allNumber ; i < allStudents.size() ; i++){ |
| |
430
| - allLowStudent.add(allStudents.get(i).getStudentNumber()); |
443
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_3")){ |
| |
444
| + repVO = (Form5RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_3"); |
| |
445
| + }else { |
| |
446
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
447
| + if(analyse == null){ |
| |
448
| + repVO.setSuccess(false); |
| |
449
| + repVO.setMessage("请先创建考试"); |
| |
450
| + return repVO; |
431
| } |
451
| } |
432
| - } |
| |
433
| - List<String> leagueHighStudent = new ArrayList<>(); |
| |
434
| - List<String> leagueLowStudent = new ArrayList<>(); |
| |
435
| - List<Student> leagueStudents = studentService.selectBySchoolName(analyse.getId(),leagues,null); |
| |
436
| - int leagueNumber = (int) Math.floor(leagueStudents.size()*0.27) ; |
| |
437
| - { |
| |
438
| - //获取联盟校 高分段 低分段 学生编号 |
| |
439
| - for (int i = 0; i < leagueNumber ; i++) { |
| |
440
| - leagueHighStudent.add(leagueStudents.get(i).getStudentNumber()); |
452
| + List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
453
| + if(leagues == null){ |
| |
454
| + repVO.setSuccess(false); |
| |
455
| + repVO.setMessage("请先设定联盟校"); |
| |
456
| + return repVO; |
441
| } |
457
| } |
442
| - for(int i =leagueStudents.size()-leagueNumber ; i < leagueStudents.size() ; i++){ |
| |
443
| - leagueLowStudent.add(leagueStudents.get(i).getStudentNumber()); |
458
| + List<String> allHighStudent = new ArrayList<>(); |
| |
459
| + List<String> allLowStudent = new ArrayList<>(); |
| |
460
| + List<Student> allStudents = studentService.selectBySchoolName(analyse.getId(),null,null); |
| |
461
| + int allNumber = (int) Math.floor(allStudents.size()*0.27) ; |
| |
462
| + { |
| |
463
| + //获取区 高分段,低分段学生编号 |
| |
464
| + for (int i = 0; i < allNumber ; i++) { |
| |
465
| + allHighStudent.add(allStudents.get(i).getStudentNumber()); |
| |
466
| + } |
| |
467
| + for(int i =allStudents.size()-allNumber ; i < allStudents.size() ; i++){ |
| |
468
| + allLowStudent.add(allStudents.get(i).getStudentNumber()); |
| |
469
| + } |
444
| } |
470
| } |
445
| - } |
| |
446
| - List<String> highStudent = new ArrayList<>(); |
| |
447
| - List<String> lowStudent = new ArrayList<>(); |
| |
448
| - List<Student> students = studentService.selectBySchoolName(analyse.getId(),null,getLearnReqVo.getSchoolName()); |
| |
449
| - int number = (int) Math.floor(students.size()*0.27) ; |
| |
450
| - { |
| |
451
| - //获取本校高分段 低分段 学生编号 |
| |
452
| - for (int i = 0; i < number ; i++) { |
| |
453
| - highStudent.add(students.get(i).getStudentNumber()); |
471
| + List<String> leagueHighStudent = new ArrayList<>(); |
| |
472
| + List<String> leagueLowStudent = new ArrayList<>(); |
| |
473
| + List<Student> leagueStudents = studentService.selectBySchoolName(analyse.getId(),leagues,null); |
| |
474
| + int leagueNumber = (int) Math.floor(leagueStudents.size()*0.27) ; |
| |
475
| + { |
| |
476
| + //获取联盟校 高分段 低分段 学生编号 |
| |
477
| + for (int i = 0; i < leagueNumber ; i++) { |
| |
478
| + leagueHighStudent.add(leagueStudents.get(i).getStudentNumber()); |
| |
479
| + } |
| |
480
| + for(int i =leagueStudents.size()-leagueNumber ; i < leagueStudents.size() ; i++){ |
| |
481
| + leagueLowStudent.add(leagueStudents.get(i).getStudentNumber()); |
| |
482
| + } |
454
| } |
483
| } |
455
| - for(int i =students.size()-number ; i < students.size() ; i++){ |
| |
456
| - lowStudent.add(students.get(i).getStudentNumber()); |
484
| + List<String> highStudent = new ArrayList<>(); |
| |
485
| + List<String> lowStudent = new ArrayList<>(); |
| |
486
| + List<Student> students = studentService.selectBySchoolName(analyse.getId(),null,getLearnReqVo.getSchoolName()); |
| |
487
| + int number = (int) Math.floor(students.size()*0.27) ; |
| |
488
| + { |
| |
489
| + //获取本校高分段 低分段 学生编号 |
| |
490
| + for (int i = 0; i < number ; i++) { |
| |
491
| + highStudent.add(students.get(i).getStudentNumber()); |
| |
492
| + } |
| |
493
| + for(int i =students.size()-number ; i < students.size() ; i++){ |
| |
494
| + lowStudent.add(students.get(i).getStudentNumber()); |
| |
495
| + } |
457
| } |
496
| } |
458
| - } |
| |
459
| |
497
| |
460
| - List<Form5> list = new ArrayList<>(); |
498
| + List<Form5> list = new ArrayList<>(); |
461
| |
499
| |
462
| - List<AnalyseDetail> analyseDetails = analyseDetailService.selectByAnalyseId(analyse.getId()); |
| |
463
| - for(AnalyseDetail analyseDetail : analyseDetails){ |
| |
464
| - Form5 from5 = new Form5(); |
| |
465
| - Double allSumScore = studentDetailService.selectSumScore(analyse.getId(),null,null,analyseDetail.getQuestionNumber()); |
| |
466
| - Double leagueSumScore = studentDetailService.selectSumScore(analyse.getId(),leagues,null,analyseDetail.getQuestionNumber()); |
| |
467
| - Double schoolSumScore = studentDetailService.selectSumScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyseDetail.getQuestionNumber()); |
| |
468
| - from5.setExamNumber(analyseDetail.getQuestionNumber()); |
| |
469
| - from5.setScore(analyseDetail.getScore()); |
| |
470
| - from5.setDifficultName(DifficultEnums.getDifficultName(analyseDetail.getDifficult())); |
| |
471
| - from5.setAllRate(allSumScore/new Double(allStudents.size()) / analyseDetail.getScore()); |
| |
472
| - from5.setLeagueRate(leagueSumScore/new Double(leagueStudents.size()) / analyseDetail.getScore()); |
| |
473
| - from5.setSchoolRate(schoolSumScore/new Double(students.size()) / analyseDetail.getScore()); |
500
| + List<AnalyseDetail> analyseDetails = analyseDetailService.selectByAnalyseId(analyse.getId()); |
| |
501
| + for(AnalyseDetail analyseDetail : analyseDetails){ |
| |
502
| + Form5 from5 = new Form5(); |
| |
503
| + Double allSumScore = studentDetailService.selectSumScore(analyse.getId(),null,null,analyseDetail.getQuestionNumber()); |
| |
504
| + Double leagueSumScore = studentDetailService.selectSumScore(analyse.getId(),leagues,null,analyseDetail.getQuestionNumber()); |
| |
505
| + Double schoolSumScore = studentDetailService.selectSumScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyseDetail.getQuestionNumber()); |
| |
506
| + from5.setExamNumber(analyseDetail.getQuestionNumber()); |
| |
507
| + from5.setScore(analyseDetail.getScore()); |
| |
508
| + from5.setDifficultName(DifficultEnums.getDifficultName(analyseDetail.getDifficult())); |
| |
509
| + from5.setAllRate(allSumScore/new Double(allStudents.size()) / analyseDetail.getScore()); |
| |
510
| + from5.setLeagueRate(leagueSumScore/new Double(leagueStudents.size()) / analyseDetail.getScore()); |
| |
511
| + from5.setSchoolRate(schoolSumScore/new Double(students.size()) / analyseDetail.getScore()); |
474
| |
512
| |
475
| - from5.setAllAvg(allSumScore / new Double(allStudents.size())); |
| |
476
| - from5.setLeagueAvg(leagueSumScore / new Double(leagueStudents.size())); |
| |
477
| - from5.setSchoolAvg(schoolSumScore / new Double(students.size())); |
513
| + from5.setAllAvg(allSumScore / new Double(allStudents.size())); |
| |
514
| + from5.setLeagueAvg(leagueSumScore / new Double(leagueStudents.size())); |
| |
515
| + from5.setSchoolAvg(schoolSumScore / new Double(students.size())); |
478
| |
516
| |
479
| - int allHigh = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,null ,analyseDetail.getQuestionNumber(),allHighStudent); |
| |
480
| - int allLow = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,null ,analyseDetail.getQuestionNumber(),allLowStudent); |
517
| + int allHigh = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,null ,analyseDetail.getQuestionNumber(),allHighStudent); |
| |
518
| + int allLow = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,null ,analyseDetail.getQuestionNumber(),allLowStudent); |
481
| |
519
| |
482
| - int leagueHigh = studentDetailService.selectTrueByExamNumber(analyse.getId(),leagues,null ,analyseDetail.getQuestionNumber(),allHighStudent); |
| |
483
| - int leagueLow = studentDetailService.selectTrueByExamNumber(analyse.getId(),leagues,null ,analyseDetail.getQuestionNumber(),allLowStudent); |
520
| + int leagueHigh = studentDetailService.selectTrueByExamNumber(analyse.getId(),leagues,null ,analyseDetail.getQuestionNumber(),allHighStudent); |
| |
521
| + int leagueLow = studentDetailService.selectTrueByExamNumber(analyse.getId(),leagues,null ,analyseDetail.getQuestionNumber(),allLowStudent); |
484
| |
522
| |
485
| - int high = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,getLearnReqVo.getSchoolName() ,analyseDetail.getQuestionNumber(),highStudent); |
| |
486
| - int low = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,getLearnReqVo.getSchoolName() ,analyseDetail.getQuestionNumber(),lowStudent); |
| |
487
| - from5.setAllDist(new Double(allHigh-allLow)/new Double(allNumber)); |
| |
488
| - from5.setLeagueDist(new Double(leagueHigh-leagueLow)/new Double(leagueNumber)); |
| |
489
| - from5.setSchoolDist(new Double(high-low)/new Double(number)); |
| |
490
| - list.add(from5); |
523
| + int high = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,getLearnReqVo.getSchoolName() ,analyseDetail.getQuestionNumber(),highStudent); |
| |
524
| + int low = studentDetailService.selectTrueByExamNumber(analyse.getId(),null,getLearnReqVo.getSchoolName() ,analyseDetail.getQuestionNumber(),lowStudent); |
| |
525
| + from5.setAllDist(new Double(allHigh-allLow)/new Double(allNumber)); |
| |
526
| + from5.setLeagueDist(new Double(leagueHigh-leagueLow)/new Double(leagueNumber)); |
| |
527
| + from5.setSchoolDist(new Double(high-low)/new Double(number)); |
| |
528
| + list.add(from5); |
| |
529
| + } |
| |
530
| + repVO.setData(list); |
| |
531
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_3",repVO); |
491
| } |
532
| } |
492
| - repVO.setData(list); |
| |
493
| return repVO; |
533
| return repVO; |
494
| } |
534
| } |
495
| |
535
| |
| @@ -497,65 +537,142 @@ public class LearnStatController { |
| @@ -497,65 +537,142 @@ public class LearnStatController { |
497
| @RequestMapping(value = "getForm2_2_4", method = RequestMethod.POST) |
537
| @RequestMapping(value = "getForm2_2_4", method = RequestMethod.POST) |
498
| public Form8RepVO getForm2_2_4(@RequestBody GetLearnReqVo getLearnReqVo){ |
538
| public Form8RepVO getForm2_2_4(@RequestBody GetLearnReqVo getLearnReqVo){ |
499
| Form8RepVO repVO = new Form8RepVO(); |
539
| Form8RepVO repVO = new Form8RepVO(); |
500
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
501
| - if(analyse == null){ |
| |
502
| - repVO.setSuccess(false); |
| |
503
| - repVO.setMessage("请先创建考试"); |
| |
504
| - return repVO; |
| |
505
| - } |
| |
506
| - List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
507
| - if(leagues == null){ |
| |
508
| - repVO.setSuccess(false); |
| |
509
| - repVO.setMessage("请先设定联盟校"); |
| |
510
| - return repVO; |
| |
511
| - } |
| |
512
| - List<Form8> list = new ArrayList<>(); |
| |
513
| - List<Student> allStudents = studentService.selectBySchoolName(analyse.getId(),null,null); |
| |
514
| - List<Student> leagueStudents = studentService.selectBySchoolName(analyse.getId(),leagues,null); |
| |
515
| - List<Student> students = studentService.selectBySchoolName(analyse.getId(),null,getLearnReqVo.getSchoolName()); |
| |
516
| - for(DifficultEnums enums : DifficultEnums.values()){ |
| |
517
| - Form8 form8 = new Form8(); |
| |
518
| - form8.setDifficultName(enums.getDifficultName()); |
| |
519
| - form8.setScore(analyseDetailService.selectDifficult(analyse.getId(),enums.getDifficultType())); |
| |
520
| - List<AnalyseDetail> analyseDetails = analyseDetailService.selectDifficultDetail(analyse.getId(),enums.getDifficultType()); |
| |
521
| - Double allSumScore = 0d , leagueSumScore = 0d , schoolSumScore = 0d , score = 0d; |
| |
522
| - for(AnalyseDetail analyseDetail : analyseDetails){ |
| |
523
| - allSumScore = allSumScore + studentDetailService.selectSumScore(analyse.getId(),null,null,analyseDetail.getQuestionNumber()); |
| |
524
| - leagueSumScore = leagueSumScore + studentDetailService.selectSumScore(analyse.getId(),leagues,null,analyseDetail.getQuestionNumber()); |
| |
525
| - schoolSumScore = schoolSumScore + studentDetailService.selectSumScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyseDetail.getQuestionNumber()); |
| |
526
| - score = score + analyseDetail.getScore() ; |
540
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_4")){ |
| |
541
| + repVO = (Form8RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_4"); |
| |
542
| + }else { |
| |
543
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
544
| + if(analyse == null){ |
| |
545
| + repVO.setSuccess(false); |
| |
546
| + repVO.setMessage("请先创建考试"); |
| |
547
| + return repVO; |
| |
548
| + } |
| |
549
| + List<String> leagues = leagueService.getLeagueBySchoolName(analyse.getId(),getLearnReqVo.getSchoolName()); |
| |
550
| + if(leagues == null){ |
| |
551
| + repVO.setSuccess(false); |
| |
552
| + repVO.setMessage("请先设定联盟校"); |
| |
553
| + return repVO; |
527
| } |
554
| } |
528
| - form8.setAllRate(allSumScore / new Double(allStudents.size()) / score ); |
| |
529
| - form8.setLeagueRate(leagueSumScore / new Double(leagueStudents.size()) / score ); |
| |
530
| - form8.setSchoolRate(schoolSumScore / new Double(students.size()) / score); |
| |
531
| - list.add(form8); |
555
| + List<Form8> list = new ArrayList<>(); |
| |
556
| + List<Student> allStudents = studentService.selectBySchoolName(analyse.getId(),null,null); |
| |
557
| + List<Student> leagueStudents = studentService.selectBySchoolName(analyse.getId(),leagues,null); |
| |
558
| + List<Student> students = studentService.selectBySchoolName(analyse.getId(),null,getLearnReqVo.getSchoolName()); |
| |
559
| + for(DifficultEnums enums : DifficultEnums.values()){ |
| |
560
| + Form8 form8 = new Form8(); |
| |
561
| + form8.setDifficultName(enums.getDifficultName()); |
| |
562
| + form8.setScore(analyseDetailService.selectDifficult(analyse.getId(),enums.getDifficultType())); |
| |
563
| + List<AnalyseDetail> analyseDetails = analyseDetailService.selectDifficultDetail(analyse.getId(),enums.getDifficultType()); |
| |
564
| + Double allSumScore = 0d , leagueSumScore = 0d , schoolSumScore = 0d , score = 0d; |
| |
565
| + for(AnalyseDetail analyseDetail : analyseDetails){ |
| |
566
| + allSumScore = allSumScore + studentDetailService.selectSumScore(analyse.getId(),null,null,analyseDetail.getQuestionNumber()); |
| |
567
| + leagueSumScore = leagueSumScore + studentDetailService.selectSumScore(analyse.getId(),leagues,null,analyseDetail.getQuestionNumber()); |
| |
568
| + schoolSumScore = schoolSumScore + studentDetailService.selectSumScore(analyse.getId(),null,getLearnReqVo.getSchoolName(),analyseDetail.getQuestionNumber()); |
| |
569
| + score = score + analyseDetail.getScore() ; |
| |
570
| + } |
| |
571
| + form8.setAllRate(allSumScore / new Double(allStudents.size()) / score ); |
| |
572
| + form8.setLeagueRate(leagueSumScore / new Double(leagueStudents.size()) / score ); |
| |
573
| + form8.setSchoolRate(schoolSumScore / new Double(students.size()) / score); |
| |
574
| + list.add(form8); |
| |
575
| + } |
| |
576
| + repVO.setData(list); |
| |
577
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_2_2_4",repVO); |
532
| } |
578
| } |
533
| - repVO.setData(list); |
| |
534
| return repVO; |
579
| return repVO; |
535
| } |
580
| } |
536
| |
581
| |
537
| @ApiOperation("getForm3_1") |
582
| @ApiOperation("getForm3_1") |
538
| @RequestMapping(value = "getForm3_1", method = RequestMethod.POST) |
583
| @RequestMapping(value = "getForm3_1", method = RequestMethod.POST) |
539
| public Form6RepVO getForm3_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
584
| public Form6RepVO getForm3_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
540
| - return initDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()); |
585
| + Form6RepVO form6RepVO = new Form6RepVO(); |
| |
586
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_1")){ |
| |
587
| + form6RepVO = (Form6RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_1"); |
| |
588
| + }else { |
| |
589
| + form6RepVO = initDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()) ; |
| |
590
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_1",form6RepVO); |
| |
591
| + } |
| |
592
| + return form6RepVO; |
| |
593
| + } |
| |
594
| + |
| |
595
| + @ApiOperation("getForm3_1_1") |
| |
596
| + @RequestMapping(value = "getForm3_1_1", method = RequestMethod.POST) |
| |
597
| + public Table2RepVO getForm3_1_1(@RequestBody GetLearnReqVo getLearnReqVo){ |
| |
598
| + Table2RepVO table2RepVO = new Table2RepVO(); |
| |
599
| + Form6RepVO form6RepVO = new Form6RepVO(); |
| |
600
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_1")){ |
| |
601
| + form6RepVO = (Form6RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_1"); |
| |
602
| + }else { |
| |
603
| + form6RepVO = initDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()) ; |
| |
604
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_1",form6RepVO); |
| |
605
| + } |
| |
606
| + List<Knowledge> knowledges = knowledgeService.selectAll(); |
| |
607
| + List<Table2> table2List = new ArrayList<>(); |
| |
608
| + for(Knowledge knowledge : knowledges){ |
| |
609
| + Double sumScore = new Double("0"); |
| |
610
| + Double getScore = new Double("0"); |
| |
611
| + String[] detailArray = knowledge.getDetail().split("、"); |
| |
612
| + for(String detail : detailArray){ |
| |
613
| + for(Form6 form6 : form6RepVO.getData()){ |
| |
614
| + if(detail.equals(form6.getDimensional())){ |
| |
615
| + sumScore = sumScore + form6.getScore() ; |
| |
616
| + getScore = getScore + form6.getSchoolRate(); |
| |
617
| + } |
| |
618
| + } |
| |
619
| + } |
| |
620
| + if(sumScore > 0){ |
| |
621
| + Table2 table2 = new Table2(); |
| |
622
| + table2.setKnowledge(knowledge.getKnowledge()); |
| |
623
| + table2.setAvg(knowledge.getAvg()); |
| |
624
| + table2.setRate(knowledge.getRate()); |
| |
625
| + table2.setSchoolRate(getScore / sumScore); |
| |
626
| + table2List.add(table2); |
| |
627
| + } |
| |
628
| + } |
| |
629
| + List<Table2> data = new ArrayList<>(); |
| |
630
| + for(Table2 table2 : table2List){ |
| |
631
| + if(table2.getSchoolRate() < 0.75 && Double.valueOf(table2.getAvg()) >2){ |
| |
632
| + data.add(table2); |
| |
633
| + } |
| |
634
| + } |
| |
635
| + table2RepVO.setData(data); |
| |
636
| + return table2RepVO; |
541
| } |
637
| } |
542
| |
638
| |
543
| @ApiOperation("getForm3_2") |
639
| @ApiOperation("getForm3_2") |
544
| @RequestMapping(value = "getForm3_2", method = RequestMethod.POST) |
640
| @RequestMapping(value = "getForm3_2", method = RequestMethod.POST) |
545
| public Form6RepVO getForm3_2(@RequestBody GetLearnReqVo getLearnReqVo){ |
641
| public Form6RepVO getForm3_2(@RequestBody GetLearnReqVo getLearnReqVo){ |
546
| - return initDimensional(getLearnReqVo,DimensionalEnums.skill.getDimensionalType()); |
642
| + Form6RepVO form6RepVO = new Form6RepVO(); |
| |
643
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_2")){ |
| |
644
| + form6RepVO = (Form6RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_2"); |
| |
645
| + }else { |
| |
646
| + form6RepVO = initDimensional(getLearnReqVo,DimensionalEnums.skill.getDimensionalType()) ; |
| |
647
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_2",form6RepVO); |
| |
648
| + } |
| |
649
| + return form6RepVO; |
547
| } |
650
| } |
548
| |
651
| |
549
| @ApiOperation("getForm3_3") |
652
| @ApiOperation("getForm3_3") |
550
| @RequestMapping(value = "getForm3_3", method = RequestMethod.POST) |
653
| @RequestMapping(value = "getForm3_3", method = RequestMethod.POST) |
551
| public Form6RepVO getForm3_3(@RequestBody GetLearnReqVo getLearnReqVo){ |
654
| public Form6RepVO getForm3_3(@RequestBody GetLearnReqVo getLearnReqVo){ |
552
| - return initDimensional(getLearnReqVo,DimensionalEnums.ability.getDimensionalType()); |
655
| + Form6RepVO form6RepVO = new Form6RepVO(); |
| |
656
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_3")){ |
| |
657
| + form6RepVO = (Form6RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_3"); |
| |
658
| + }else { |
| |
659
| + form6RepVO = initDimensional(getLearnReqVo,DimensionalEnums.ability.getDimensionalType()) ; |
| |
660
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_3",form6RepVO); |
| |
661
| + } |
| |
662
| + return form6RepVO; |
553
| } |
663
| } |
554
| |
664
| |
555
| @ApiOperation("getForm3_4") |
665
| @ApiOperation("getForm3_4") |
556
| @RequestMapping(value = "getForm3_4", method = RequestMethod.POST) |
666
| @RequestMapping(value = "getForm3_4", method = RequestMethod.POST) |
557
| public Form6RepVO getForm3_4(@RequestBody GetLearnReqVo getLearnReqVo){ |
667
| public Form6RepVO getForm3_4(@RequestBody GetLearnReqVo getLearnReqVo){ |
558
| - return initDimensional(getLearnReqVo,DimensionalEnums.think.getDimensionalType()); |
668
| + Form6RepVO form6RepVO = new Form6RepVO(); |
| |
669
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_4")){ |
| |
670
| + form6RepVO = (Form6RepVO) RedisUtils.getObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_4"); |
| |
671
| + }else { |
| |
672
| + form6RepVO = initDimensional(getLearnReqVo,DimensionalEnums.think.getDimensionalType()) ; |
| |
673
| + RedisUtils.setObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_3_4",form6RepVO); |
| |
674
| + } |
| |
675
| + return form6RepVO; |
559
| } |
676
| } |
560
| |
677
| |
561
| private Form6RepVO initDimensional(GetLearnReqVo getLearnReqVo , int dimensionalType){ |
678
| private Form6RepVO initDimensional(GetLearnReqVo getLearnReqVo , int dimensionalType){ |
| @@ -716,97 +833,104 @@ public class LearnStatController { |
| @@ -716,97 +833,104 @@ public class LearnStatController { |
716
| @ApiOperation("获取教学改进建议") |
833
| @ApiOperation("获取教学改进建议") |
717
| @RequestMapping(value = "getSuggest", method = RequestMethod.POST) |
834
| @RequestMapping(value = "getSuggest", method = RequestMethod.POST) |
718
| public String getSuggest(@RequestBody GetLearnReqVo getLearnReqVo){ |
835
| public String getSuggest(@RequestBody GetLearnReqVo getLearnReqVo){ |
719
| - SuggestRepVo suggestRepVo = new SuggestRepVo() ; |
| |
720
| - Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
721
| - Double avg = studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName()) ; |
| |
722
| - DecimalFormat df = new DecimalFormat("#.00"); |
| |
723
| - //得分率 |
| |
724
| - String avgStr = df.format(avg / analyse.getMaxScore()); |
| |
725
| - |
| |
726
| - List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); |
| |
727
| - int a = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.85,analyse.getMaxScore()+1f); |
| |
728
| - //优秀率 |
| |
729
| - Double apercent = new Double(a) / new Double(students.size()) * 100 ; |
| |
730
| - String aStr = df.format(apercent); |
| |
731
| - String access = ""; |
| |
732
| - if(avg>=80){ |
| |
733
| - if(apercent >= 20){ |
| |
734
| - access = "良好"; |
836
| + String suggest = null ; |
| |
837
| + if(RedisUtils.existsObject(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest")){ |
| |
838
| + suggest = RedisUtils.getString(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest"); |
| |
839
| + }else { |
| |
840
| + SuggestRepVo suggestRepVo = new SuggestRepVo() ; |
| |
841
| + Analyse analyse = analyseService.selectById(getLearnReqVo.getAnalyseId()); |
| |
842
| + Double avg = studentService.selectAvgScore(analyse.getId(),null,getLearnReqVo.getSchoolName()) ; |
| |
843
| + DecimalFormat df = new DecimalFormat("#.00"); |
| |
844
| + //得分率 |
| |
845
| + String avgStr = df.format(avg / analyse.getMaxScore()); |
| |
846
| + |
| |
847
| + List<Student> students = studentService.selectBySchoolName(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName()); |
| |
848
| + int a = studentService.selectCountByScore(getLearnReqVo.getAnalyseId(),null,getLearnReqVo.getSchoolName(),analyse.getMaxScore()*0.85,analyse.getMaxScore()+1f); |
| |
849
| + //优秀率 |
| |
850
| + Double apercent = new Double(a) / new Double(students.size()) * 100 ; |
| |
851
| + String aStr = df.format(apercent); |
| |
852
| + String access = ""; |
| |
853
| + if(avg>=80){ |
| |
854
| + if(apercent >= 20){ |
| |
855
| + access = "良好"; |
| |
856
| + }else { |
| |
857
| + access = "相对可以"; |
| |
858
| + } |
| |
859
| + }else if(avg >= 75){ |
| |
860
| + if(apercent >= 35){ |
| |
861
| + access = "很好"; |
| |
862
| + }else if(apercent >= 20){ |
| |
863
| + access = "良好"; |
| |
864
| + }else { |
| |
865
| + access = "相对可以"; |
| |
866
| + } |
| |
867
| + }else if(avg >= 70){ |
| |
868
| + if(apercent >= 20){ |
| |
869
| + access = "良好"; |
| |
870
| + }else { |
| |
871
| + access = "相对可以"; |
| |
872
| + } |
| |
873
| + } else if (avg >= 60) { |
| |
874
| + if(apercent >= 10){ |
| |
875
| + access = "相对可以"; |
| |
876
| + }else { |
| |
877
| + access = "一般"; |
| |
878
| + } |
735
| }else { |
879
| }else { |
736
| - access = "相对可以"; |
880
| + access = "暴露出一些问题,试卷偏难,学生掌握不够理想"; |
737
| } |
881
| } |
738
| - }else if(avg >= 75){ |
| |
739
| - if(apercent >= 35){ |
| |
740
| - access = "很好"; |
| |
741
| - }else if(apercent >= 20){ |
| |
742
| - access = "良好"; |
| |
743
| - }else { |
| |
744
| - access = "相对可以"; |
882
| + suggestRepVo.setAssess(access); |
| |
883
| + suggestRepVo.setDifficultyDegree(avgStr); |
| |
884
| + suggestRepVo.setExcellentRate(aStr); |
| |
885
| + suggestRepVo.setErrorList(getErrorRate(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),students.size())); |
| |
886
| + Form6RepVO knowledge = initSchoolDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()); |
| |
887
| + List<String> lessKnowledgeList = new ArrayList<>(); //不足50% |
| |
888
| + List<String> midKnowledgeList = new ArrayList<>(); //50-70% |
| |
889
| + for(Form6 form6 :knowledge.getData()){ |
| |
890
| + if(form6.getSchoolRate() < 0.5d){ |
| |
891
| + lessKnowledgeList.add(form6.getDimensional()); |
| |
892
| + }else if(form6.getSchoolRate() < 0.7d){ |
| |
893
| + midKnowledgeList.add(form6.getDimensional()); |
| |
894
| + } |
745
| } |
895
| } |
746
| - }else if(avg >= 70){ |
| |
747
| - if(apercent >= 20){ |
| |
748
| - access = "良好"; |
| |
749
| - }else { |
| |
750
| - access = "相对可以"; |
896
| + suggestRepVo.setLessKnowledgeList(lessKnowledgeList); |
| |
897
| + suggestRepVo.setMidKnowledgeList(midKnowledgeList); |
| |
898
| + Form6RepVO ability = initSchoolDimensional(getLearnReqVo,DimensionalEnums.ability.getDimensionalType()); |
| |
899
| + List<String> lessAbilityList = new ArrayList<>(); //不足70% |
| |
900
| + List<String> midAbilityList = new ArrayList<>(); //70-80% |
| |
901
| + List<String> highAbilityList = new ArrayList<>(); //大于80% |
| |
902
| + for(Form6 form6 :ability.getData()){ |
| |
903
| + if(form6.getSchoolRate() < 0.7d){ |
| |
904
| + lessAbilityList.add(form6.getDimensional()); |
| |
905
| + }else if(form6.getSchoolRate() < 0.8d){ |
| |
906
| + midAbilityList.add(form6.getDimensional()); |
| |
907
| + }else if(form6.getSchoolRate() >= 0.8d){ |
| |
908
| + highAbilityList.add(form6.getDimensional()); |
| |
909
| + } |
751
| } |
910
| } |
752
| - } else if (avg >= 60) { |
| |
753
| - if(apercent >= 10){ |
| |
754
| - access = "相对可以"; |
| |
755
| - }else { |
| |
756
| - access = "一般"; |
911
| + suggestRepVo.setLessAbilityList(lessAbilityList); |
| |
912
| + suggestRepVo.setMidAbilityList(midAbilityList); |
| |
913
| + suggestRepVo.setHighAbilityList(highAbilityList); |
| |
914
| + Form6RepVO skill = initSchoolDimensional(getLearnReqVo,DimensionalEnums.skill.getDimensionalType()); |
| |
915
| + List<String> lessSkillList = new ArrayList<>(); //不足70% |
| |
916
| + List<String> midSkillList = new ArrayList<>(); //70-80% |
| |
917
| + List<String> highSkillList = new ArrayList<>(); //大于80% |
| |
918
| + for(Form6 form6 :skill.getData()){ |
| |
919
| + if(form6.getSchoolRate() < 0.7d){ |
| |
920
| + lessSkillList.add(form6.getDimensional()); |
| |
921
| + }else if(form6.getSchoolRate() < 0.8d){ |
| |
922
| + midSkillList.add(form6.getDimensional()); |
| |
923
| + }else if(form6.getSchoolRate() >= 0.8d){ |
| |
924
| + highSkillList.add(form6.getDimensional()); |
| |
925
| + } |
757
| } |
926
| } |
758
| - }else { |
| |
759
| - access = "暴露出一些问题,试卷偏难,学生掌握不够理想"; |
| |
760
| - } |
| |
761
| - suggestRepVo.setAssess(access); |
| |
762
| - suggestRepVo.setDifficultyDegree(avgStr); |
| |
763
| - suggestRepVo.setExcellentRate(aStr); |
| |
764
| - suggestRepVo.setErrorList(getErrorRate(getLearnReqVo.getAnalyseId(),getLearnReqVo.getSchoolName(),students.size())); |
| |
765
| - Form6RepVO knowledge = initSchoolDimensional(getLearnReqVo,DimensionalEnums.knowledge.getDimensionalType()); |
| |
766
| - List<String> lessKnowledgeList = new ArrayList<>(); //不足50% |
| |
767
| - List<String> midKnowledgeList = new ArrayList<>(); //50-70% |
| |
768
| - for(Form6 form6 :knowledge.getData()){ |
| |
769
| - if(form6.getSchoolRate() < 0.5d){ |
| |
770
| - lessKnowledgeList.add(form6.getDimensional()); |
| |
771
| - }else if(form6.getSchoolRate() < 0.7d){ |
| |
772
| - midKnowledgeList.add(form6.getDimensional()); |
| |
773
| - } |
| |
774
| - } |
| |
775
| - suggestRepVo.setLessKnowledgeList(lessKnowledgeList); |
| |
776
| - suggestRepVo.setMidKnowledgeList(midKnowledgeList); |
| |
777
| - Form6RepVO ability = initSchoolDimensional(getLearnReqVo,DimensionalEnums.ability.getDimensionalType()); |
| |
778
| - List<String> lessAbilityList = new ArrayList<>(); //不足70% |
| |
779
| - List<String> midAbilityList = new ArrayList<>(); //70-80% |
| |
780
| - List<String> highAbilityList = new ArrayList<>(); //大于80% |
| |
781
| - for(Form6 form6 :ability.getData()){ |
| |
782
| - if(form6.getSchoolRate() < 0.7d){ |
| |
783
| - lessAbilityList.add(form6.getDimensional()); |
| |
784
| - }else if(form6.getSchoolRate() < 0.8d){ |
| |
785
| - midAbilityList.add(form6.getDimensional()); |
| |
786
| - }else if(form6.getSchoolRate() >= 0.8d){ |
| |
787
| - highAbilityList.add(form6.getDimensional()); |
| |
788
| - } |
| |
789
| - } |
| |
790
| - suggestRepVo.setLessAbilityList(lessAbilityList); |
| |
791
| - suggestRepVo.setMidAbilityList(midAbilityList); |
| |
792
| - suggestRepVo.setHighAbilityList(highAbilityList); |
| |
793
| - Form6RepVO skill = initSchoolDimensional(getLearnReqVo,DimensionalEnums.skill.getDimensionalType()); |
| |
794
| - List<String> lessSkillList = new ArrayList<>(); //不足70% |
| |
795
| - List<String> midSkillList = new ArrayList<>(); //70-80% |
| |
796
| - List<String> highSkillList = new ArrayList<>(); //大于80% |
| |
797
| - for(Form6 form6 :skill.getData()){ |
| |
798
| - if(form6.getSchoolRate() < 0.7d){ |
| |
799
| - lessSkillList.add(form6.getDimensional()); |
| |
800
| - }else if(form6.getSchoolRate() < 0.8d){ |
| |
801
| - midSkillList.add(form6.getDimensional()); |
| |
802
| - }else if(form6.getSchoolRate() >= 0.8d){ |
| |
803
| - highSkillList.add(form6.getDimensional()); |
| |
804
| - } |
| |
805
| - } |
| |
806
| - suggestRepVo.setLessSkillList(lessSkillList); |
| |
807
| - suggestRepVo.setMidSkillList(midSkillList); |
| |
808
| - suggestRepVo.setHighSkillList(highSkillList); |
| |
809
| - return initSuggest(suggestRepVo); |
927
| + suggestRepVo.setLessSkillList(lessSkillList); |
| |
928
| + suggestRepVo.setMidSkillList(midSkillList); |
| |
929
| + suggestRepVo.setHighSkillList(highSkillList); |
| |
930
| + suggest = initSuggest(suggestRepVo); |
| |
931
| + RedisUtils.setString(getLearnReqVo.getAnalyseId()+"_"+getLearnReqVo.getSchoolName()+"_suggest",suggest); |
| |
932
| + } |
| |
933
| + return suggest; |
810
| } |
934
| } |
811
| |
935
| |
812
| private List<String> getErrorRate(int analyseId , String schoolName , int studentSize){ |
936
| private List<String> getErrorRate(int analyseId , String schoolName , int studentSize){ |
| @@ -826,9 +950,9 @@ public class LearnStatController { |
| @@ -826,9 +950,9 @@ public class LearnStatController { |
826
| |
950
| |
827
| private String initSuggest(SuggestRepVo suggestRepVo){ |
951
| private String initSuggest(SuggestRepVo suggestRepVo){ |
828
| StringBuffer stringBuffer = new StringBuffer(); |
952
| StringBuffer stringBuffer = new StringBuffer(); |
829
| - stringBuffer.append("本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是") |
953
| + stringBuffer.append("本次检测总体情况").append(suggestRepVo.getAssess()).append(",难度系数是0") |
830
| .append(suggestRepVo.getDifficultyDegree()).append(",优秀率是").append(suggestRepVo.getExcellentRate()).append("%。") |
954
| .append(suggestRepVo.getDifficultyDegree()).append(",优秀率是").append(suggestRepVo.getExcellentRate()).append("%。") |
831
| - .append("对有关知识,总体掌握情况比较好。从考试结果分析,各知识点掌握程度较好,唯"); |
955
| + .append("对有关知识,总体掌握情况比较好。\n从考试结果分析,各知识点掌握程度较好,唯"); |
832
| for (int i = 0; i < suggestRepVo.getMidKnowledgeList().size(); i++) { |
956
| for (int i = 0; i < suggestRepVo.getMidKnowledgeList().size(); i++) { |
833
| if(i == suggestRepVo.getMidKnowledgeList().size() - 1 ){ |
957
| if(i == suggestRepVo.getMidKnowledgeList().size() - 1 ){ |
834
| stringBuffer.append(suggestRepVo.getMidKnowledgeList().get(i)); |
958
| stringBuffer.append(suggestRepVo.getMidKnowledgeList().get(i)); |
| @@ -844,7 +968,7 @@ public class LearnStatController { |
| @@ -844,7 +968,7 @@ public class LearnStatController { |
844
| stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)).append("、"); |
968
| stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)).append("、"); |
845
| } |
969
| } |
846
| } |
970
| } |
847
| - stringBuffer.append("几个知识点学生的理解有些问题。探究技能方面:"); |
971
| + stringBuffer.append("几个知识点学生的理解有些问题。\n探究技能方面:"); |
848
| for (int i = 0; i < suggestRepVo.getHighSkillList().size(); i++) { |
972
| for (int i = 0; i < suggestRepVo.getHighSkillList().size(); i++) { |
849
| if(i == suggestRepVo.getHighSkillList().size() - 1 ){ |
973
| if(i == suggestRepVo.getHighSkillList().size() - 1 ){ |
850
| stringBuffer.append(suggestRepVo.getHighSkillList().get(i)); |
974
| stringBuffer.append(suggestRepVo.getHighSkillList().get(i)); |
| @@ -868,7 +992,7 @@ public class LearnStatController { |
| @@ -868,7 +992,7 @@ public class LearnStatController { |
868
| stringBuffer.append(suggestRepVo.getLessSkillList().get(i)).append("、"); |
992
| stringBuffer.append(suggestRepVo.getLessSkillList().get(i)).append("、"); |
869
| } |
993
| } |
870
| } |
994
| } |
871
| - stringBuffer.append("学生掌握有些问题。学习能力上:"); |
995
| + stringBuffer.append("学生掌握有些问题。\n学习能力上:"); |
872
| for (int i = 0; i < suggestRepVo.getHighAbilityList().size(); i++) { |
996
| for (int i = 0; i < suggestRepVo.getHighAbilityList().size(); i++) { |
873
| if(i == suggestRepVo.getHighAbilityList().size() - 1 ){ |
997
| if(i == suggestRepVo.getHighAbilityList().size() - 1 ){ |
874
| stringBuffer.append(suggestRepVo.getHighAbilityList().get(i)); |
998
| stringBuffer.append(suggestRepVo.getHighAbilityList().get(i)); |
| @@ -900,7 +1024,7 @@ public class LearnStatController { |
| @@ -900,7 +1024,7 @@ public class LearnStatController { |
900
| stringBuffer.append(suggestRepVo.getErrorList().get(i)).append("、"); |
1024
| stringBuffer.append(suggestRepVo.getErrorList().get(i)).append("、"); |
901
| } |
1025
| } |
902
| } |
1026
| } |
903
| - stringBuffer.append("错误率大于15%\n后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫。提升"); |
1027
| + stringBuffer.append("错误率大于15%。\n后续复习巩固可以从抓好基础、提高能力和注重应用上下功夫。提升"); |
904
| for (int i = 0; i < suggestRepVo.getLessKnowledgeList().size(); i++) { |
1028
| for (int i = 0; i < suggestRepVo.getLessKnowledgeList().size(); i++) { |
905
| if(i == suggestRepVo.getLessKnowledgeList().size() - 1 ){ |
1029
| if(i == suggestRepVo.getLessKnowledgeList().size() - 1 ){ |
906
| stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)); |
1030
| stringBuffer.append(suggestRepVo.getLessKnowledgeList().get(i)); |