9338b563
孙向锦
添加报表
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
|
package com.fh.controller.sunvote.report;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.fh.controller.api.ResponseGson;
import com.fh.controller.base.BaseController;
import com.fh.service.sunvote.sclass.SClassManager;
import com.fh.service.sunvote.student.StudentManager;
import com.fh.service.sunvote.studenttest.StudentTestManager;
import com.fh.service.sunvote.testpaper.TestPaperManager;
import com.fh.util.Jurisdiction;
import com.fh.util.PageData;
@Controller
@RequestMapping(value="/report")
public class ReportController extends BaseController {
@Resource(name="sclassService")
private SClassManager sclassService;
@Resource(name="studentService")
private StudentManager studentService;
@Resource(name="testpaperService")
private TestPaperManager testpaperService;
@Resource(name="studenttestService")
private StudentTestManager studenttestService;
@RequestMapping(value="/report")
public ModelAndView report() throws Exception{
logBefore(logger, Jurisdiction.getUsername()+"班级报表");
ModelAndView mv = this.getModelAndView();
PageData pd = getPageData();
pd.put("SCLASS_ID", pd.get("CLASSID"));
pd.put("ID", pd.get("CLASSID"));
// 1 查询班级信息
PageData classPageData = sclassService.findById(pd);
PageData info = new PageData();
info.put("CLASS_NAME", classPageData.getString("CLASS_NAME"));
info.put("CLASS_CODE", classPageData.getString("CLASS_CODE"));
info.put("CLASS_ID", classPageData.getString("ID"));
pd.put("CLASS_ID", pd.get("CLASSID"));
List<PageData> studentList = studentService.listAllClass(pd);
// 2查询班级考试
List<PageData> testpaperList = testpaperService.listAll(pd);
mv.addObject("testpaperList", testpaperList);
info.put("testsize", testpaperList != null ? testpaperList.size() : 0);
// 查询学生名单及人数
if(studentList != null && studentList.size() > 0){
for(PageData studentPageData : studentList){
studentPageData.put("STUDENT_ID", studentPageData.getString("ID"));
List<PageData> studentTestList = studenttestService.listAll(studentPageData);
for(PageData studentTestPageData :studentTestList){
studentPageData.put(studentTestPageData.getString("TEST_ID"), studentTestPageData.getString("SCORE"));
}
int totalScore = 0 ;
int getScore = 0 ;
for(PageData testPaperPageData:testpaperList){
String totalScoreStr = testPaperPageData.getString("TOTAL_SCORE");
if(totalScoreStr != null){
try{
totalScore += Integer.parseInt(totalScoreStr);
}catch(Exception ex){
logger.info(ex);
}
}
String getScoreStr = studentPageData.getString(testPaperPageData.getString("TESTPAPER_ID"));
if(getScoreStr != null){
try{
getScore += Integer.parseInt(getScoreStr);
}catch(Exception ex){
logger.info(ex);
}
}
}
studentPageData.put("TOTALSCORE", totalScore);
studentPageData.put("GETSCORE", getScore);
}
}
// 课程平均得分率
// 课程总分
mv.addObject("studentList", studentList);
info.put("STUDENT_NUM", studentList != null ? studentList.size() : 0);
mv.addObject("info", info);
mv.setViewName("sunvote/teacher/teacher_report_1");
return mv;
}
@RequestMapping(value="/teacher_report")
public ModelAndView teacher_report() throws Exception{
logBefore(logger, Jurisdiction.getUsername()+"教师报表");
ModelAndView mv = this.getModelAndView();
return mv;
}
@RequestMapping(value="/student_report")
public ModelAndView student_report() throws Exception{
logBefore(logger, Jurisdiction.getUsername()+"学生成绩报表");
ModelAndView mv = this.getModelAndView();
PageData pd = getPageData();
|
4d39642d
孙向锦
添加学生报表
|
113
114
|
mv.addObject("URL", "report/student_report_data?class_id=" +pd.getString("CLASS_ID"));
mv.setViewName("sunvote/teacher/stduent_report");
|
9338b563
孙向锦
添加报表
|
115
116
117
118
119
120
121
122
|
return mv;
}
@RequestMapping(value = "/student_report_data", produces = "application/json;charset=UTF-8")
@ResponseBody
public Object student_report_data() throws Exception{
logBefore(logger, Jurisdiction.getUsername()+"学生报表数据");
PageData pd = getPageData();
|
4d39642d
孙向锦
添加学生报表
|
123
|
ResponseGson<PageData> ret = new ResponseGson();
|
03a14c0e
孙向锦
更新报表
|
124
|
// pd.put("CLASS_ID", pd.get("CLASSID"));
|
9338b563
孙向锦
添加报表
|
125
126
|
List<PageData> studentList = studentService.listAllClass(pd);
List<PageData> testpaperList = testpaperService.listAll(pd);
|
4d39642d
孙向锦
添加学生报表
|
127
128
|
pd.put("ID", pd.get("CLASS_ID"));
PageData classPageData = sclassService.findById(pd);
|
9338b563
孙向锦
添加报表
|
129
|
int totalScore = 0 ;
|
4d39642d
孙向锦
添加学生报表
|
130
|
int avgScore = 0;
|
9338b563
孙向锦
添加报表
|
131
132
133
134
135
136
137
138
139
|
for(PageData testPaperPageData:testpaperList){
String totalScoreStr = testPaperPageData.getString("TOTAL_SCORE");
if(totalScoreStr != null){
try{
totalScore += Integer.parseInt(totalScoreStr);
}catch(Exception ex){
logger.info(ex);
}
}
|
4d39642d
孙向锦
添加学生报表
|
140
141
142
143
144
145
146
147
|
String avgScoreStr = testPaperPageData.getString("AVG_SCORE");
if(avgScoreStr != null){
try{
avgScore += Integer.parseInt(avgScoreStr);
}catch(Exception ex){
logger.info(ex);
}
}
|
9338b563
孙向锦
添加报表
|
148
149
150
|
}
int allGetScore = 0;
|
4d39642d
孙向锦
添加学生报表
|
151
|
int maxScore = 0 ;
|
9338b563
孙向锦
添加报表
|
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
|
// 查询学生名单及人数
if(studentList != null && studentList.size() > 0){
for(PageData studentPageData : studentList){
PageData search = new PageData();
search.put("STUDENT_ID", studentPageData.getString("ID"));
if(pd.containsKey("START_DATE")){
search.put("START_DATE", pd.getString("START_DATE"));
}
if(pd.containsKey("END_DATE")){
search.put("END_DATE", pd.getString("END_DATE"));
}
List<PageData> studentTestList = studenttestService.reportListData(search);
studentPageData.put("testList", studentTestList);
int getScore = 0 ;
for(PageData studentTestPageData:studentTestList){
String getScoreStr = studentTestPageData.getString("SCORE");
if(getScoreStr != null){
try{
getScore += Integer.parseInt(getScoreStr);
}catch(Exception ex){
logger.info(ex);
}
}
|
4d39642d
孙向锦
添加学生报表
|
176
177
178
|
studentTestPageData.getString("TEST_ID");
|
9338b563
孙向锦
添加报表
|
179
|
}
|
4d39642d
孙向锦
添加学生报表
|
180
|
// studentPageData.put("TOTALSCORE", totalScore);
|
9338b563
孙向锦
添加报表
|
181
182
183
184
185
186
187
188
189
|
studentPageData.put("GETSCORE", getScore);
studentPageData.remove("GROUPID");
studentPageData.remove("REMARK");
studentPageData.remove("PARENT_PHONE");
studentPageData.remove("PARENT_NAME");
studentPageData.remove("NUMBER");
studentPageData.remove("SIGN_NO");
studentPageData.remove("KEYPAD_ID");
studentPageData.remove("SNO");
|
4d39642d
孙向锦
添加学生报表
|
190
|
studentPageData.remove("SEX");
|
9338b563
孙向锦
添加报表
|
191
192
|
allGetScore += getScore;
|
4d39642d
孙向锦
添加学生报表
|
193
194
195
|
if(getScore > maxScore){
maxScore = getScore ;
}
|
9338b563
孙向锦
添加报表
|
196
197
198
|
}
}
|
4d39642d
孙向锦
添加学生报表
|
199
200
201
202
203
204
205
206
|
classPageData.remove("SCHOOL_ID");
classPageData.remove("GRADE_ID");
classPageData.remove("BASESTATION_ID");
classPageData.put("studentList", studentList);
classPageData.put("AVG_SCORE", avgScore);
classPageData.put("TOTAL_SCORE", totalScore);
classPageData.put("MAX_SCORE", maxScore);
ret.setData(classPageData);
|
9338b563
孙向锦
添加报表
|
207
208
209
210
211
212
213
214
|
return ret.toJson();
}
@RequestMapping(value="/test_report")
public ModelAndView paper_report() throws Exception{
logBefore(logger, Jurisdiction.getUsername()+"测试试卷报表");
ModelAndView mv = this.getModelAndView();
|
4d39642d
孙向锦
添加学生报表
|
215
216
|
mv.setViewName("sunvote/teacher/teacher_report_test");
|
9338b563
孙向锦
添加报表
|
217
218
219
220
|
return mv;
}
}
|