Commit d6389252117de03e8f7c0f71a734d883c277ab2c
1 parent
f4a73594
1.增加年级卷测验统计
Showing
3 changed files
with
121 additions
and
13 deletions
WebRoot/WEB-INF/jsp/sunvote/paper/test_list1.jsp
... | ... | @@ -86,36 +86,100 @@ |
86 | 86 | <c:forEach items="${varList}" var="var" varStatus="vs"> |
87 | 87 | <tr> |
88 | 88 | |
89 | - <td>${vs.index+1}</td> | |
90 | - <td>${myelfun:findClassName(var.class_id)}</td> | |
91 | - <td >${var.creat_time}</td> | |
89 | + <td> | |
90 | + <c:if test="${not empty var.class_id }"> | |
91 | + ${vs.index+1} | |
92 | + </c:if> | |
93 | + <c:if test="${empty var.class_id }"> | |
94 | + / | |
95 | + </c:if> | |
96 | + </td> | |
97 | + <td> | |
98 | + <c:if test="${not empty var.class_id }"> | |
99 | + ${myelfun:findClassName(var.class_id)} | |
100 | + </c:if> | |
101 | + <c:if test="${empty var.class_id }"> | |
102 | + 年级平均 | |
103 | + </c:if> | |
104 | + </td> | |
105 | + <td > | |
106 | + <c:if test="${not empty var.class_id }"> | |
107 | + ${var.creat_time} | |
108 | + </c:if> | |
109 | + <c:if test="${empty var.class_id }"> | |
110 | + / | |
111 | + </c:if> | |
112 | + </td> | |
92 | 113 | <td >${var.avg_score}</td> |
93 | - <td >${var.student_num}</td> | |
94 | - <td >${var.you}</td> | |
114 | + <td > | |
115 | + <c:if test="${not empty var.class_id }"> | |
116 | + ${var.student_num} | |
117 | + </c:if> | |
118 | + <c:if test="${empty var.class_id }"> | |
119 | + / | |
120 | + </c:if> | |
121 | + <td > | |
122 | + <c:if test="${not empty var.class_id }"> | |
123 | + ${var.you} | |
124 | + </c:if> | |
125 | + <c:if test="${empty var.class_id }"> | |
126 | + / | |
127 | + </c:if> | |
128 | + </td> | |
95 | 129 | <td > |
96 | 130 | <fmt:formatNumber type="number" |
97 | 131 | value="${var.student_num == 0 ? 0: (var.you / var.student_num * 100)}" |
98 | 132 | maxFractionDigits="2" />% |
99 | 133 | </td> |
100 | - <td >${var.liang}</td> | |
134 | + <td > | |
135 | + <c:if test="${not empty var.class_id }"> | |
136 | + ${var.liang} | |
137 | + </c:if> | |
138 | + <c:if test="${empty var.class_id }"> | |
139 | + / | |
140 | + </c:if> | |
141 | + | |
142 | + </td> | |
101 | 143 | <td > |
102 | 144 | <fmt:formatNumber type="number" |
103 | 145 | value="${var.student_num == 0 ? 0: (var.liang / var.student_num * 100)}" |
104 | 146 | maxFractionDigits="2" />% |
105 | 147 | </td> |
106 | - <td >${var.jige}</td> | |
148 | + <td > | |
149 | + <c:if test="${not empty var.class_id }"> | |
150 | + ${var.jige} | |
151 | + </c:if> | |
152 | + <c:if test="${empty var.class_id }"> | |
153 | + / | |
154 | + </c:if> | |
155 | + </td> | |
107 | 156 | <td > |
108 | 157 | <fmt:formatNumber type="number" |
109 | 158 | value="${var.student_num == 0 ? 0: (var.jige / var.student_num * 100)}" |
110 | 159 | maxFractionDigits="2" />% |
111 | 160 | </td> |
112 | - <td >${var.difen}</td> | |
161 | + <td > | |
162 | + <c:if test="${not empty var.class_id }"> | |
163 | + ${var.difen} | |
164 | + </c:if> | |
165 | + <c:if test="${empty var.class_id }"> | |
166 | + / | |
167 | + </c:if> | |
168 | + </td> | |
113 | 169 | <td > |
114 | 170 | <fmt:formatNumber type="number" |
115 | 171 | value="${var.student_num == 0 ? 0: (var.difen / var.student_num * 100)}" |
116 | 172 | maxFractionDigits="2" />% |
117 | 173 | </td> |
118 | - <td ><a href="<%=basePath%>paper/paperRep2.do?PAPER_ID=${pd.PAPER_ID}&TESTPAPER_ID=${var.testpaper_id}">查看成绩</a></td> | |
174 | + <td > | |
175 | + | |
176 | + <c:if test="${not empty var.class_id }"> | |
177 | + <a href="<%=basePath%>paper/paperRep2.do?PAPER_ID=${pd.PAPER_ID}&TESTPAPER_ID=${var.testpaper_id}">查看成绩</a> | |
178 | + </c:if> | |
179 | + <c:if test="${empty var.class_id }"> | |
180 | + <a href="<%=basePath%>paper/paperRep2.do?PAPER_ID=${pd.PAPER_ID}&TESTPAPER_ID=${var.testpaperList}">查看成绩</a> | |
181 | + </c:if> | |
182 | + </td> | |
119 | 183 | </tr> |
120 | 184 | |
121 | 185 | </c:forEach> | ... | ... |
resources/mybatis1/sunvote/TestPaperInfoMapper.xml
... | ... | @@ -230,7 +230,11 @@ |
230 | 230 | <include refid="tableName"></include> |
231 | 231 | where 1 =1 |
232 | 232 | <if test="TEST_ID != null and TEST_ID != ''"> |
233 | - and TEST_ID = #{TEST_ID} | |
233 | + <!--and TEST_ID = #{TEST_ID}--> | |
234 | + and TEST_ID in | |
235 | + <foreach item="TEST_ID" index="index" collection="TEST_ID" open="(" separator="," close=")"> | |
236 | + #{TEST_ID} | |
237 | + </foreach> | |
234 | 238 | </if> |
235 | 239 | <if test="STUDENT_ID != null and STUDENT_ID != ''"> |
236 | 240 | and STUDENT_ID = #{STUDENT_ID} | ... | ... |
src/com/fh/controller/sunvote/paper/PaperController.java
... | ... | @@ -198,6 +198,7 @@ public class PaperController extends BaseController { |
198 | 198 | PageData pd = new PageData(); |
199 | 199 | List<PageData> templist = new ArrayList<PageData>(); |
200 | 200 | PageData saveData = new PageData(); |
201 | + DecimalFormat decimalFormat=new DecimalFormat("0.00"); | |
201 | 202 | |
202 | 203 | ResponseGson<PageData> res = new ResponseGson(); |
203 | 204 | pd = this.getPageData(); |
... | ... | @@ -205,12 +206,21 @@ public class PaperController extends BaseController { |
205 | 206 | List<PageData> list = testpaperService.listAll(pd); |
206 | 207 | |
207 | 208 | pd.put("testpaperlist", list); |
209 | + Integer you_sum = 0; //优秀总人数 | |
210 | + Integer liang_sum = 0; //良好总人数 | |
211 | + Integer jige_sum = 0; //及格总人数 | |
212 | + Integer difen_sum = 0; //低分总人数 | |
213 | + Integer num_sum =0; //年级总人数 | |
214 | + Float avg_sum = (float)0; //平均分的和 | |
215 | + String testpaperList = ""; | |
216 | + | |
208 | 217 | for(int i = 0 ;i<list.size();i++){ |
209 | 218 | PageData data = new PageData(); |
210 | 219 | |
211 | 220 | PageData pdtemp = new PageData(); |
212 | 221 | pdtemp.put("CLASS_ID", list.get(i).get("SCLASS_ID").toString()); |
213 | 222 | List<PageData> studentlist = stundentService.listAllClass(pdtemp); |
223 | + testpaperList+=list.get(i).get("TESTPAPER_ID").toString()+","; | |
214 | 224 | data.put("testpaper_id", list.get(i).get("TESTPAPER_ID")); |
215 | 225 | data.put("student_num", studentlist.size()); |
216 | 226 | data.put("creat_time", list.get(i).get("CREATE_DATE")); |
... | ... | @@ -240,6 +250,12 @@ public class PaperController extends BaseController { |
240 | 250 | } |
241 | 251 | |
242 | 252 | } |
253 | + you_sum+=you; | |
254 | + liang_sum += liang; | |
255 | + jige_sum+=jige; | |
256 | + difen_sum+=difen; | |
257 | + num_sum+=studentlist.size(); | |
258 | + avg_sum+=Float.valueOf(list.get(i).get("AVG_SCORE").toString()); | |
243 | 259 | |
244 | 260 | data.put("you",you); |
245 | 261 | data.put("liang",liang); |
... | ... | @@ -248,7 +264,24 @@ public class PaperController extends BaseController { |
248 | 264 | |
249 | 265 | templist.add(data); |
250 | 266 | } |
267 | + if(list.size()>0){ | |
268 | + PageData dataTemp = new PageData(); | |
269 | + dataTemp.put("testpaper_id", ""); | |
270 | + dataTemp.put("student_num", num_sum); | |
271 | + dataTemp.put("creat_time", ""); | |
272 | + dataTemp.put("avg_score", decimalFormat.format(avg_sum/list.size())); | |
273 | + dataTemp.put("class_id", ""); | |
274 | + dataTemp.put("you",you_sum); | |
275 | + dataTemp.put("liang",liang_sum); | |
276 | + dataTemp.put("jige",jige_sum); | |
277 | + dataTemp.put("difen",difen_sum); | |
278 | + dataTemp.put("testpaperList", testpaperList); | |
279 | + templist.add(dataTemp); | |
280 | + } | |
251 | 281 | } |
282 | + | |
283 | + | |
284 | + | |
252 | 285 | saveData.put("list", templist); |
253 | 286 | |
254 | 287 | mv.setViewName("sunvote/paper/test_list1"); |
... | ... | @@ -265,6 +298,7 @@ public class PaperController extends BaseController { |
265 | 298 | List<PageData> templist = new ArrayList<PageData>(); |
266 | 299 | PageData saveData = new PageData(); |
267 | 300 | |
301 | + | |
268 | 302 | ResponseGson<PageData> res = new ResponseGson(); |
269 | 303 | pd = this.getPageData(); |
270 | 304 | if(pd.containsKey("PAPER_ID")){ |
... | ... | @@ -402,8 +436,11 @@ public class PaperController extends BaseController { |
402 | 436 | option_num = Integer.valueOf(que.get("OPTION_NUM").toString()); |
403 | 437 | onum[i]=option_num; |
404 | 438 | } |
405 | - | |
406 | - temp.put("TEST_ID", pd.get("TESTPAPER_ID")); | |
439 | + String tpList = pd.get("TESTPAPER_ID").toString(); | |
440 | + String tpListArray[] = tpList.split(","); | |
441 | + | |
442 | + temp.put("TEST_ID", tpListArray); | |
443 | + | |
407 | 444 | List<PageData> queInfo = testpaperinfoService.listTestPaperQuestionIDinfo(temp); |
408 | 445 | int answer[] = new int[option_num+1]; |
409 | 446 | int right = 0; |
... | ... | @@ -487,7 +524,10 @@ public class PaperController extends BaseController { |
487 | 524 | onum[i]=option_num; |
488 | 525 | } |
489 | 526 | |
490 | - temp.put("TEST_ID", pd.get("TESTPAPER_ID")); | |
527 | + String tpList = pd.get("TESTPAPER_ID").toString(); | |
528 | + String tpListArray[] = tpList.split(","); | |
529 | + | |
530 | + temp.put("TEST_ID", tpListArray); | |
491 | 531 | List<PageData> queInfo = testpaperinfoService.listTestPaperQuestionIDinfo(temp); |
492 | 532 | int answer[] = new int[option_num+1]; |
493 | 533 | int right = 0; | ... | ... |