Commit 0aad4b6b0b56225e6598ae6980f7ddeee816b2e0
1 parent
757dfed6
修复试题分页功能
Showing
4 changed files
with
436 additions
and
135 deletions
WebRoot/WEB-INF/jsp/sunvote/teacher/paper_view2.jsp
0 → 100644
1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | ||
2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> | ||
3 | +<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%> | ||
4 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> | ||
5 | +<% | ||
6 | + String path = request.getContextPath(); | ||
7 | + String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; | ||
8 | +%> | ||
9 | +<!DOCTYPE html> | ||
10 | +<html lang="zh-CN"> | ||
11 | + <head> | ||
12 | + <meta charset="utf-8"> | ||
13 | + <meta http-equiv="X-UA-Compatible" content="IE=edge"> | ||
14 | + <meta name="viewport" content="width=device-width, initial-scale=1"> | ||
15 | + <title>中天电子-教育管理系统</title> | ||
16 | + | ||
17 | + <!-- Bootstrap --> | ||
18 | + <link href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> | ||
19 | + <link href="../static/css/teach.css" rel="stylesheet"> | ||
20 | + <link href="../static/css/paper_view.css?t=1" rel="stylesheet"> | ||
21 | + | ||
22 | + <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 --> | ||
23 | + <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 --> | ||
24 | + <!--[if lt IE 9]> | ||
25 | + <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script> | ||
26 | + <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script> | ||
27 | + <![endif]--> | ||
28 | + <style> | ||
29 | + .analysis table{display:inline-block;vertical-align:middle;} | ||
30 | + .resolve_box img{vertical-align:top;} | ||
31 | + .up{width:20px;hiehgt:20px;} | ||
32 | + .down{width:20px;height:20px;margin-left:10px;} | ||
33 | + .save_box{width:100%;height:80px;background:#fff;text-align:center;position:fixed;bottom:0;left:0;} | ||
34 | + .container{height:100%;} | ||
35 | + .content_report{padding-bottom:80px;min-height:calc(100% - 126px);} | ||
36 | + </style> | ||
37 | + </head> | ||
38 | + <body> | ||
39 | + <div class="container"> | ||
40 | + <div class="page-header"> | ||
41 | + <h3 class="col-md-6" id="paper_title"></h3> | ||
42 | + <h3 class="col-md-6">考试时间:<span id="time"></span>分钟</h3> | ||
43 | + <div class="clearfix"></div> | ||
44 | + </div> | ||
45 | + <div class="content_report"> | ||
46 | + | ||
47 | + <div class="col-md-12 analysis"> | ||
48 | + <ul> | ||
49 | + <!--<li> | ||
50 | + <div class="stem"> | ||
51 | + <p>1.如图,检测4个足球,其中超过标准质量的克数记为正数,不足标准质量的克数记为负数.从轻重的角度看,最接近标准的是( )</p> | ||
52 | + </div> | ||
53 | + <div class="option"> | ||
54 | + <ul> | ||
55 | + <li><span>A.</span><img src="images/option_1.png" /></li> | ||
56 | + <li><span>B.</span><img src="images/option_2.png" /></li> | ||
57 | + <li><span>C.</span><img src="images/option_3.png" /></li> | ||
58 | + <li><span>D.</span><img src="images/option_4.png" /></li> | ||
59 | + </ul> | ||
60 | + <div class="clearfix"></div> | ||
61 | + </div> | ||
62 | + <div class="resolve"> | ||
63 | + <div class="resolve_box"> | ||
64 | + <p>【答案】 A</p> | ||
65 | + <p>【解析】由图数一数,可知总共有7位小同学,其中扎小辫的女孩有2人,男孩有5人。 | ||
66 | + 故选A。</p> | ||
67 | + | ||
68 | + <p>【考点】 10以内数的认识</p> | ||
69 | + </div> | ||
70 | + <div class="clearfix"></div> | ||
71 | + </div> | ||
72 | + | ||
73 | + <div class="star_box"> | ||
74 | + <div class="col-md-6"><img src="../static/images/up_ico.png"/><img src="../static/images/down_ico.png"/></div> | ||
75 | + <div class="col-md-6"> | ||
76 | + <div class="star"> | ||
77 | + <span style="float:left;">难度</span> | ||
78 | + <ul> | ||
79 | + <li class="on"></li> | ||
80 | + <li class="on"></li> | ||
81 | + <li class="off"></li> | ||
82 | + <li class="off"></li> | ||
83 | + <li class="off"></li> | ||
84 | + </ul> | ||
85 | + </div> | ||
86 | + <div class="resolve_click"> | ||
87 | + <a onclick="slide($(this))">查看解析</a> | ||
88 | + </div> | ||
89 | + </div> | ||
90 | + <div class="clearfix"></div> | ||
91 | + </div> | ||
92 | + </li> --> | ||
93 | + </ul> | ||
94 | + </div> | ||
95 | + <div class="clearfix"></div> | ||
96 | + </div> | ||
97 | + <div class="save_box"> | ||
98 | + <input type="button" value="保存" class="btn btn-primary btn-lg topic save" disabled="disabled"/> | ||
99 | + </div> | ||
100 | + </div> | ||
101 | + <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> | ||
102 | + <script src="../static/js/echars.js"></script> | ||
103 | + <script src="../static/js/loading.js"></script> | ||
104 | + <script> | ||
105 | + var url="http://127.0.0.1:8080/SunvoteEducation"; | ||
106 | + var question_box=[]; | ||
107 | + function slide(obj){ //查看解析 | ||
108 | + obj.closest(".star_box").siblings(".resolve").slideToggle(function(){ | ||
109 | + if($(".resolve").css("display") == "none") | ||
110 | + obj.text("查看解析"); | ||
111 | + else | ||
112 | + obj.text("收起解析"); | ||
113 | + }); | ||
114 | + } | ||
115 | + | ||
116 | +function getQueryString(name) { | ||
117 | + var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); | ||
118 | + var r = window.location.search.substr(1).match(reg); | ||
119 | + if (r != null) return unescape(r[2]); return null; | ||
120 | + } | ||
121 | + var PAPER_ID=getQueryString("PAPER_ID"); | ||
122 | + var classId=getQueryString("classId"); | ||
123 | + var userid=getQueryString("userid"); | ||
124 | + | ||
125 | + var _html=""; | ||
126 | + $(document).ready(function(){ | ||
127 | + window.top.loading.remove(); | ||
128 | + $.ajax({ | ||
129 | + url:url+"/api/v1/paperinfo", | ||
130 | + async:false, | ||
131 | + type:"post", | ||
132 | + data:{PAPER_ID:PAPER_ID}, | ||
133 | + success:function(data){ | ||
134 | + console.log(data); | ||
135 | + $("#paper_title").html(data.data.title); | ||
136 | + $("#time").html(data.data.exam_time); | ||
137 | + if(data.data.questions.length>0){ | ||
138 | + for(var i=0;i<data.data.questions.length;i++){ | ||
139 | + _html += '<li class="question_li" data-id="'+data.data.questions[i].question_id+'"><div class="stem"></div><div class="option"><ul></ul><div class="clearfix"></div></div><div class="resolve"><div class="resolve_box"><p>【答案】 '+data.data.questions[i].answer+'</p><p><span>【解析】</span>'+data.data.questions[i].analysis+'</p></div><div class="clearfix"></div></div><div class="star_box"><div class="col-md-6 move"><img src="../static/images/up_ico.png" class="up"/><img src="../static/images/down_ico.png" class="down"/></div><div class="col-md-6"><div class="star"><span style="float:left;">难度</span></div><div class="resolve_click"><a onclick="slide($(this))">查看解析</a></div></div><div class="clearfix"></div></div></li>'; | ||
140 | + } | ||
141 | + console.log(_html); | ||
142 | + $(".analysis ul").html(_html); | ||
143 | + for(var j=0;j<data.data.questions.length;j++){ | ||
144 | + var option_html=""; | ||
145 | + var sum=0; | ||
146 | + var right_num=0; | ||
147 | + var data1=[]; | ||
148 | + var data2=[]; | ||
149 | + var answer=""; | ||
150 | + var color=[]; | ||
151 | + $(".analysis li .stem").eq(j).append('<span class="li_index">'+(j+1)+'</span>、'+data.data.questions[j].content); | ||
152 | + var arry_option=data.data.questions[j].option_content; | ||
153 | + arry_option=arry_option.replace("[",""); | ||
154 | + arry_option=arry_option.replace("]",""); | ||
155 | + arry_option=arry_option.split(","); | ||
156 | + | ||
157 | + for(var x=0;x<arry_option.length;x++){ | ||
158 | + option_html += '<li><span>'+String.fromCharCode(64 + parseInt(x+1))+'.</span>'+arry_option[x]+'</li>'; | ||
159 | + } | ||
160 | + $(".option").eq(j).html(option_html); | ||
161 | + star(j,parseInt(data.data.questions[j].difficulty)); | ||
162 | + } | ||
163 | + } | ||
164 | + } | ||
165 | + }) | ||
166 | + }) | ||
167 | + function star(index,num){ //难度星级 | ||
168 | + $(".star").eq(index).append('<ul></ul>'); | ||
169 | + var li_html=""; | ||
170 | + for(var i=1;i<=num;i++){ | ||
171 | + li_html +='<li class="on"></li>'; | ||
172 | + } | ||
173 | + for(var j=num;j<5;j++){ | ||
174 | + li_html += '<li class="off"></li>'; | ||
175 | + } | ||
176 | + | ||
177 | + $(".star").eq(index).find("ul").html(li_html); | ||
178 | + } | ||
179 | + $(document).on('click', '.move img', function(event) { | ||
180 | + event.preventDefault(); | ||
181 | + $(".save").removeAttr('disabled'); | ||
182 | + var parent=$(this).closest("li"); | ||
183 | + var this_index=parent.children(".stem").find(".li_index").html(); | ||
184 | + var up_index=parent.prev().children(".stem").find(".li_index").html() | ||
185 | + console.log(this_index); | ||
186 | + console.log(up_index); | ||
187 | + var parents=$(this).closest(".analysis").children("ul"); | ||
188 | + var len=parents.children().length; | ||
189 | + if(($(this).is(".up") || $(this).is(".top")) && parent.index()==0){ | ||
190 | + alert("已经置顶!"); | ||
191 | + return false; | ||
192 | + }else if(($(this).is(".down") || $(this).is(".bottom")) && parent.index()==len-1){ | ||
193 | + alert("已经置底!"); | ||
194 | + return false; | ||
195 | + } | ||
196 | + switch (true) { | ||
197 | + case $(this).is(".up"): | ||
198 | + var prev = parent.prev(); | ||
199 | + var this_index=parent.children(".stem").find(".li_index").html(); | ||
200 | + var up_index=prev.children(".stem").find(".li_index").html(); | ||
201 | + prev.children(".stem").find(".li_index").html(this_index); | ||
202 | + parent.children(".stem").find(".li_index").html(up_index); | ||
203 | + parent.insertBefore(prev); | ||
204 | + break; | ||
205 | + case $(this).is(".down"): | ||
206 | + var next = parent.next(); | ||
207 | + var this_index=parent.children(".stem").find(".li_index").html(); | ||
208 | + var up_index=next.children(".stem").find(".li_index").html(); | ||
209 | + next.children(".stem").find(".li_index").html(this_index); | ||
210 | + parent.children(".stem").find(".li_index").html(up_index); | ||
211 | + parent.insertAfter(next); | ||
212 | + break; | ||
213 | + case $(this).is(".top"): | ||
214 | + parents.prepend(parent); | ||
215 | + break; | ||
216 | + case $(this).is(".bottom"): | ||
217 | + parents.append(parent); | ||
218 | + break; | ||
219 | + } | ||
220 | + // alert("操作完成!!"); | ||
221 | + }); | ||
222 | + $(".save").click(function(){ | ||
223 | + var question_arry=[]; | ||
224 | + for(var i=0;i<$(".question_li").length;i++){ | ||
225 | + question_arry[i]={ | ||
226 | + score: "0", | ||
227 | + part_score: "0", | ||
228 | + question_id: $(".question_li").eq(i).attr("data-id"), | ||
229 | + rank: i.toString(), | ||
230 | + no_name: i.toString() | ||
231 | + }; | ||
232 | + | ||
233 | + } | ||
234 | + var data={ | ||
235 | + title: $("#paper_title").html(), | ||
236 | + exam_time: $("#time").html(), | ||
237 | + paper_type: "101", | ||
238 | + subject_id: "20", | ||
239 | + grade_id: "", | ||
240 | + class_id: classId, | ||
241 | + user_id: userid, | ||
242 | + score: "100", | ||
243 | + questions: question_arry | ||
244 | + }; | ||
245 | + //console.log(data); | ||
246 | + $.ajax({ | ||
247 | + url:url+"/api/v1/publishpaper", | ||
248 | + async:false, | ||
249 | + type:"post", | ||
250 | + dataType: "json", | ||
251 | + headers: {'Content-Type': 'application/json'}, | ||
252 | + data:JSON.stringify(data), | ||
253 | + success:function(data){ | ||
254 | + alert("上传成功"); | ||
255 | + window.history.go(-1); | ||
256 | + } | ||
257 | + }) | ||
258 | + }) | ||
259 | + </script> | ||
260 | + | ||
261 | +</html> | ||
262 | + | ||
263 | + | ||
264 | + | ||
265 | + | ||
266 | + |
resources/mybatis1/sunvote/QuestionMapper.xml
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | <mapper namespace="QuestionMapper"> | 3 | <mapper namespace="QuestionMapper"> |
4 | - | 4 | + |
5 | <!--表名 --> | 5 | <!--表名 --> |
6 | <sql id="tableName"> | 6 | <sql id="tableName"> |
7 | SV_QUESTION | 7 | SV_QUESTION |
8 | </sql> | 8 | </sql> |
9 | - | 9 | + |
10 | <!-- 字段 --> | 10 | <!-- 字段 --> |
11 | <sql id="Field"> | 11 | <sql id="Field"> |
12 | - P_ID, | ||
13 | - SUBJECT_ID, | ||
14 | - CHAPTER_ID, | ||
15 | - PROBLEM_TYPE_ID, | ||
16 | - TEACHER_ID, | ||
17 | - SCHOOL_ID, | ||
18 | - KNOWLEDGE_ID, | ||
19 | - CONTENT, | ||
20 | - OPTION_NUM, | ||
21 | - OPTION_CONTENT, | ||
22 | - ANSWER, | ||
23 | - DIFFICULTY, | ||
24 | - ANALYSIS, | ||
25 | - QUESTION_FROM, | ||
26 | - SUG_SCORE, | ||
27 | - SUG_PART_SCORE, | ||
28 | - USER_ID, | ||
29 | - CREATE_DATE, | ||
30 | - REMARK, | ||
31 | - METHOD, | 12 | + P_ID, |
13 | + SUBJECT_ID, | ||
14 | + CHAPTER_ID, | ||
15 | + PROBLEM_TYPE_ID, | ||
16 | + TEACHER_ID, | ||
17 | + SCHOOL_ID, | ||
18 | + KNOWLEDGE_ID, | ||
19 | + CONTENT, | ||
20 | + OPTION_NUM, | ||
21 | + OPTION_CONTENT, | ||
22 | + ANSWER, | ||
23 | + DIFFICULTY, | ||
24 | + ANALYSIS, | ||
25 | + QUESTION_FROM, | ||
26 | + SUG_SCORE, | ||
27 | + SUG_PART_SCORE, | ||
28 | + USER_ID, | ||
29 | + CREATE_DATE, | ||
30 | + REMARK, | ||
31 | + METHOD, | ||
32 | QUESTION_ID | 32 | QUESTION_ID |
33 | </sql> | 33 | </sql> |
34 | - | 34 | + |
35 | <!-- 字段值 --> | 35 | <!-- 字段值 --> |
36 | <sql id="FieldValue"> | 36 | <sql id="FieldValue"> |
37 | - #{P_ID}, | ||
38 | - #{SUBJECT_ID}, | ||
39 | - #{CHAPTER_ID}, | ||
40 | - #{PROBLEM_TYPE_ID}, | ||
41 | - #{TEACHER_ID}, | ||
42 | - #{SCHOOL_ID}, | ||
43 | - #{KNOWLEDGE_ID}, | ||
44 | - #{CONTENT}, | ||
45 | - #{OPTION_NUM}, | ||
46 | - #{OPTION_CONTENT}, | ||
47 | - #{ANSWER}, | ||
48 | - #{DIFFICULTY}, | ||
49 | - #{ANALYSIS}, | ||
50 | - #{QUESTION_FROM}, | ||
51 | - #{SUG_SCORE}, | ||
52 | - #{SUG_PART_SCORE}, | ||
53 | - #{USER_ID}, | ||
54 | - #{CREATE_DATE}, | ||
55 | - #{REMARK}, | ||
56 | - #{METHOD}, | 37 | + #{P_ID}, |
38 | + #{SUBJECT_ID}, | ||
39 | + #{CHAPTER_ID}, | ||
40 | + #{PROBLEM_TYPE_ID}, | ||
41 | + #{TEACHER_ID}, | ||
42 | + #{SCHOOL_ID}, | ||
43 | + #{KNOWLEDGE_ID}, | ||
44 | + #{CONTENT}, | ||
45 | + #{OPTION_NUM}, | ||
46 | + #{OPTION_CONTENT}, | ||
47 | + #{ANSWER}, | ||
48 | + #{DIFFICULTY}, | ||
49 | + #{ANALYSIS}, | ||
50 | + #{QUESTION_FROM}, | ||
51 | + #{SUG_SCORE}, | ||
52 | + #{SUG_PART_SCORE}, | ||
53 | + #{USER_ID}, | ||
54 | + #{CREATE_DATE}, | ||
55 | + #{REMARK}, | ||
56 | + #{METHOD}, | ||
57 | #{QUESTION_ID} | 57 | #{QUESTION_ID} |
58 | </sql> | 58 | </sql> |
59 | - | ||
60 | - <!-- 新增--> | 59 | + |
60 | + <!-- 新增 --> | ||
61 | <insert id="save" parameterType="pd"> | 61 | <insert id="save" parameterType="pd"> |
62 | - insert into | ||
63 | - <include refid="tableName"></include> | 62 | + insert into |
63 | + <include refid="tableName"></include> | ||
64 | ( | 64 | ( |
65 | - <include refid="Field"></include> | 65 | + <include refid="Field"></include> |
66 | ) values ( | 66 | ) values ( |
67 | - <include refid="FieldValue"></include> | 67 | + <include refid="FieldValue"></include> |
68 | ) | 68 | ) |
69 | </insert> | 69 | </insert> |
70 | - | ||
71 | - <!-- 删除--> | 70 | + |
71 | + <!-- 删除 --> | ||
72 | <delete id="delete" parameterType="pd"> | 72 | <delete id="delete" parameterType="pd"> |
73 | delete from | 73 | delete from |
74 | <include refid="tableName"></include> | 74 | <include refid="tableName"></include> |
75 | - where | ||
76 | - QUESTION_ID = #{QUESTION_ID} | 75 | + where |
76 | + QUESTION_ID = #{QUESTION_ID} | ||
77 | </delete> | 77 | </delete> |
78 | - | 78 | + |
79 | <!-- 修改 --> | 79 | <!-- 修改 --> |
80 | <update id="edit" parameterType="pd"> | 80 | <update id="edit" parameterType="pd"> |
81 | update | 81 | update |
82 | <include refid="tableName"></include> | 82 | <include refid="tableName"></include> |
83 | - set | ||
84 | - P_ID = #{P_ID}, | ||
85 | - SUBJECT_ID = #{SUBJECT_ID}, | ||
86 | - CHAPTER_ID = #{CHAPTER_ID}, | ||
87 | - PROBLEM_TYPE_ID = #{PROBLEM_TYPE_ID}, | ||
88 | - TEACHER_ID = #{TEACHER_ID}, | ||
89 | - SCHOOL_ID = #{SCHOOL_ID}, | ||
90 | - KNOWLEDGE_ID = #{KNOWLEDGE_ID}, | ||
91 | - CONTENT = #{CONTENT}, | ||
92 | - OPTION_NUM = #{OPTION_NUM}, | ||
93 | - OPTION_CONTENT = #{OPTION_CONTENT}, | ||
94 | - ANSWER = #{ANSWER}, | ||
95 | - DIFFICULTY = #{DIFFICULTY}, | ||
96 | - ANALYSIS = #{ANALYSIS}, | ||
97 | - QUESTION_FROM = #{QUESTION_FROM}, | ||
98 | - SUG_SCORE = #{SUG_SCORE}, | ||
99 | - SUG_PART_SCORE = #{SUG_PART_SCORE}, | ||
100 | - USER_ID = #{USER_ID}, | ||
101 | - CREATE_DATE = #{CREATE_DATE}, | ||
102 | - REMARK = #{REMARK}, | ||
103 | - METHOD = #{METHOD}, | 83 | + set |
84 | + P_ID = #{P_ID}, | ||
85 | + SUBJECT_ID = #{SUBJECT_ID}, | ||
86 | + CHAPTER_ID = #{CHAPTER_ID}, | ||
87 | + PROBLEM_TYPE_ID = #{PROBLEM_TYPE_ID}, | ||
88 | + TEACHER_ID = #{TEACHER_ID}, | ||
89 | + SCHOOL_ID = #{SCHOOL_ID}, | ||
90 | + KNOWLEDGE_ID = #{KNOWLEDGE_ID}, | ||
91 | + CONTENT = #{CONTENT}, | ||
92 | + OPTION_NUM = #{OPTION_NUM}, | ||
93 | + OPTION_CONTENT = #{OPTION_CONTENT}, | ||
94 | + ANSWER = #{ANSWER}, | ||
95 | + DIFFICULTY = #{DIFFICULTY}, | ||
96 | + ANALYSIS = #{ANALYSIS}, | ||
97 | + QUESTION_FROM = #{QUESTION_FROM}, | ||
98 | + SUG_SCORE = #{SUG_SCORE}, | ||
99 | + SUG_PART_SCORE = #{SUG_PART_SCORE}, | ||
100 | + USER_ID = #{USER_ID}, | ||
101 | + CREATE_DATE = #{CREATE_DATE}, | ||
102 | + REMARK = #{REMARK}, | ||
103 | + METHOD = #{METHOD}, | ||
104 | QUESTION_ID = QUESTION_ID | 104 | QUESTION_ID = QUESTION_ID |
105 | - where | 105 | + where |
106 | QUESTION_ID = #{QUESTION_ID} | 106 | QUESTION_ID = #{QUESTION_ID} |
107 | </update> | 107 | </update> |
108 | - | 108 | + |
109 | <!-- 通过ID获取数据 --> | 109 | <!-- 通过ID获取数据 --> |
110 | <select id="findById" parameterType="pd" resultType="pd"> | 110 | <select id="findById" parameterType="pd" resultType="pd"> |
111 | - select | 111 | + select |
112 | <include refid="Field"></include> | 112 | <include refid="Field"></include> |
113 | - from | 113 | + from |
114 | <include refid="tableName"></include> | 114 | <include refid="tableName"></include> |
115 | - where | ||
116 | - QUESTION_ID = #{QUESTION_ID} | 115 | + where |
116 | + QUESTION_ID = #{QUESTION_ID} | ||
117 | </select> | 117 | </select> |
118 | - | 118 | + |
119 | <!-- 列表 --> | 119 | <!-- 列表 --> |
120 | <select id="datalistPage" parameterType="page" resultType="pd"> | 120 | <select id="datalistPage" parameterType="page" resultType="pd"> |
121 | select | 121 | select |
122 | <include refid="Field"></include> | 122 | <include refid="Field"></include> |
123 | - from | 123 | + from |
124 | <include refid="tableName"></include> | 124 | <include refid="tableName"></include> |
125 | where 1=1 | 125 | where 1=1 |
126 | <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> | 126 | <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> |
127 | and | 127 | and |
128 | - ( | ||
129 | - <!-- 根据需求自己加检索条件 | ||
130 | - 字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | ||
131 | - or | ||
132 | - 字段2 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') | ||
133 | - --> | ||
134 | - ) | 128 | + ( |
129 | + <!-- 根据需求自己加检索条件 字段1 LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') or 字段2 | ||
130 | + LIKE CONCAT(CONCAT('%', #{pd.keywords}),'%') --> | ||
131 | + ) | ||
135 | </if> | 132 | </if> |
136 | </select> | 133 | </select> |
137 | - | 134 | + |
138 | <!-- 列表(全部) --> | 135 | <!-- 列表(全部) --> |
139 | <select id="listAll" parameterType="pd" resultType="pd"> | 136 | <select id="listAll" parameterType="pd" resultType="pd"> |
140 | select | 137 | select |
141 | <include refid="Field"></include> | 138 | <include refid="Field"></include> |
142 | - from | 139 | + from |
143 | <include refid="tableName"></include> | 140 | <include refid="tableName"></include> |
144 | </select> | 141 | </select> |
145 | - | 142 | + |
146 | <!-- 列表(全部) --> | 143 | <!-- 列表(全部) --> |
147 | <select id="listAllquestion" parameterType="pd" resultType="pd"> | 144 | <select id="listAllquestion" parameterType="pd" resultType="pd"> |
148 | select | 145 | select |
149 | <include refid="Field"></include> | 146 | <include refid="Field"></include> |
150 | - from | 147 | + from |
151 | <include refid="tableName"></include> | 148 | <include refid="tableName"></include> |
152 | - | ||
153 | - where 1 =1 | 149 | + |
150 | + where 1 =1 | ||
154 | <if test="CHAPTER_IDS != null and CHAPTER_IDS.size() > 0"> | 151 | <if test="CHAPTER_IDS != null and CHAPTER_IDS.size() > 0"> |
155 | - and CHAPTER_ID in | ||
156 | - | ||
157 | - <foreach item="item" index="index" collection="CHAPTER_IDS" open="(" separator="," close=")"> | ||
158 | - #{item} | 152 | + and CHAPTER_ID in |
153 | + | ||
154 | + <foreach item="item" index="index" collection="CHAPTER_IDS" | ||
155 | + open="(" separator="," close=")"> | ||
156 | + #{item} | ||
159 | </foreach> | 157 | </foreach> |
160 | - | 158 | + |
161 | </if> | 159 | </if> |
162 | <if test="KNOWLEDGE_IDS != null and KNOWLEDGE_IDS.size() > 0"> | 160 | <if test="KNOWLEDGE_IDS != null and KNOWLEDGE_IDS.size() > 0"> |
163 | - and | ||
164 | - <foreach item="item" index="index" collection="KNOWLEDGE_IDS" open="(" separator=" or " close=")"> | ||
165 | - FIND_IN_SET(#{item},KNOWLEDGE_ID) | 161 | + and |
162 | + <foreach item="item" index="index" collection="KNOWLEDGE_IDS" | ||
163 | + open="(" separator=" or " close=")"> | ||
164 | + FIND_IN_SET(#{item},KNOWLEDGE_ID) | ||
166 | </foreach> | 165 | </foreach> |
167 | - | 166 | + |
168 | </if> | 167 | </if> |
169 | <if test="QUESTION_FROM != null and QUESTION_FROM != ''"> | 168 | <if test="QUESTION_FROM != null and QUESTION_FROM != ''"> |
170 | and QUESTION_FROM = #{QUESTION_FROM} | 169 | and QUESTION_FROM = #{QUESTION_FROM} |
@@ -178,38 +177,40 @@ | @@ -178,38 +177,40 @@ | ||
178 | <if test="SUBJECT_ID != null and SUBJECT_ID != ''"> | 177 | <if test="SUBJECT_ID != null and SUBJECT_ID != ''"> |
179 | and SUBJECT_ID = #{SUBJECT_ID} | 178 | and SUBJECT_ID = #{SUBJECT_ID} |
180 | </if> | 179 | </if> |
181 | - | ||
182 | - ORDER BY QUESTION_ID | ||
183 | - | ||
184 | - <if test="COUNT != null and COUNT != ''"> | ||
185 | - limit ${COUNT} | 180 | + |
181 | + ORDER BY QUESTION_ID | ||
182 | + | ||
183 | + <if test="PAGENUM != null and PAGENUM != '' and COUNT != null and COUNT != ''"> | ||
184 | + LIMIT ${PAGENUM}, ${COUNT} | ||
186 | </if> | 185 | </if> |
187 | - | ||
188 | - | 186 | + |
187 | + | ||
189 | </select> | 188 | </select> |
190 | - | 189 | + |
191 | <!-- 列表(全部) --> | 190 | <!-- 列表(全部) --> |
192 | <select id="listAllRandquestion" parameterType="pd" resultType="pd"> | 191 | <select id="listAllRandquestion" parameterType="pd" resultType="pd"> |
193 | select | 192 | select |
194 | <include refid="Field"></include> | 193 | <include refid="Field"></include> |
195 | - from | 194 | + from |
196 | <include refid="tableName"></include> | 195 | <include refid="tableName"></include> |
197 | - | ||
198 | - where 1 =1 | 196 | + |
197 | + where 1 =1 | ||
199 | <if test="CHAPTER_IDS != null and CHAPTER_IDS.size() > 0"> | 198 | <if test="CHAPTER_IDS != null and CHAPTER_IDS.size() > 0"> |
200 | - and CHAPTER_ID in | ||
201 | - | ||
202 | - <foreach item="item" index="index" collection="CHAPTER_IDS" open="(" separator="," close=")"> | ||
203 | - #{item} | 199 | + and CHAPTER_ID in |
200 | + | ||
201 | + <foreach item="item" index="index" collection="CHAPTER_IDS" | ||
202 | + open="(" separator="," close=")"> | ||
203 | + #{item} | ||
204 | </foreach> | 204 | </foreach> |
205 | - | 205 | + |
206 | </if> | 206 | </if> |
207 | <if test="KNOWLEDGE_IDS != null and KNOWLEDGE_IDS.size() > 0"> | 207 | <if test="KNOWLEDGE_IDS != null and KNOWLEDGE_IDS.size() > 0"> |
208 | - and | ||
209 | - <foreach item="item" index="index" collection="KNOWLEDGE_IDS" open="(" separator=" or " close=")"> | ||
210 | - FIND_IN_SET(#{item},KNOWLEDGE_ID) | 208 | + and |
209 | + <foreach item="item" index="index" collection="KNOWLEDGE_IDS" | ||
210 | + open="(" separator=" or " close=")"> | ||
211 | + FIND_IN_SET(#{item},KNOWLEDGE_ID) | ||
211 | </foreach> | 212 | </foreach> |
212 | - | 213 | + |
213 | </if> | 214 | </if> |
214 | <if test="QUESTION_FROM != null and QUESTION_FROM != ''"> | 215 | <if test="QUESTION_FROM != null and QUESTION_FROM != ''"> |
215 | and QUESTION_FROM = #{QUESTION_FROM} | 216 | and QUESTION_FROM = #{QUESTION_FROM} |
@@ -223,29 +224,30 @@ | @@ -223,29 +224,30 @@ | ||
223 | <if test="SUBJECT_ID != null and SUBJECT_ID != ''"> | 224 | <if test="SUBJECT_ID != null and SUBJECT_ID != ''"> |
224 | and SUBJECT_ID = #{SUBJECT_ID} | 225 | and SUBJECT_ID = #{SUBJECT_ID} |
225 | </if> | 226 | </if> |
226 | - | 227 | + |
227 | ORDER BY rand() | 228 | ORDER BY rand() |
228 | - | 229 | + |
229 | <if test="COUNT != null and COUNT != ''"> | 230 | <if test="COUNT != null and COUNT != ''"> |
230 | limit ${COUNT} | 231 | limit ${COUNT} |
231 | </if> | 232 | </if> |
232 | <if test="COUNT == null or COUNT == ''"> | 233 | <if test="COUNT == null or COUNT == ''"> |
233 | limit 30 | 234 | limit 30 |
234 | </if> | 235 | </if> |
235 | - | ||
236 | - | 236 | + |
237 | + | ||
237 | </select> | 238 | </select> |
238 | - | 239 | + |
239 | <!-- 批量删除 --> | 240 | <!-- 批量删除 --> |
240 | <delete id="deleteAll" parameterType="String"> | 241 | <delete id="deleteAll" parameterType="String"> |
241 | delete from | 242 | delete from |
242 | <include refid="tableName"></include> | 243 | <include refid="tableName"></include> |
243 | - where | ||
244 | - QUESTION_ID in | ||
245 | - <foreach item="item" index="index" collection="array" open="(" separator="," close=")"> | ||
246 | - #{item} | 244 | + where |
245 | + QUESTION_ID in | ||
246 | + <foreach item="item" index="index" collection="array" open="(" | ||
247 | + separator="," close=")"> | ||
248 | + #{item} | ||
247 | </foreach> | 249 | </foreach> |
248 | </delete> | 250 | </delete> |
249 | - | 251 | + |
250 | <!-- fh313596790qq(青苔) --> | 252 | <!-- fh313596790qq(青苔) --> |
251 | </mapper> | 253 | </mapper> |
252 | \ No newline at end of file | 254 | \ No newline at end of file |
src/com/fh/controller/api/V1.java
@@ -2276,6 +2276,21 @@ public class V1 extends BaseController { | @@ -2276,6 +2276,21 @@ public class V1 extends BaseController { | ||
2276 | pd.put("KNOWLEDGE_IDS", ids); | 2276 | pd.put("KNOWLEDGE_IDS", ids); |
2277 | pd.remove("KNOWLEDGE_ID"); | 2277 | pd.remove("KNOWLEDGE_ID"); |
2278 | } | 2278 | } |
2279 | + int pageNumI = 0 ; | ||
2280 | + int count = 30 ; | ||
2281 | + String pageNum = pd.getString("PAGENUM"); | ||
2282 | + String countStr = pd.getString("COUNT"); | ||
2283 | + if(pageNum != null && !"".equals(pageNum) && countStr != null && !"".equals(countStr)){ | ||
2284 | + pageNumI = Integer.parseInt(pageNum); | ||
2285 | + count = Integer.parseInt(countStr); | ||
2286 | + if(pageNumI >= 1){ | ||
2287 | + pageNumI = (pageNumI -1 ) * count; | ||
2288 | + }else{ | ||
2289 | + pageNumI = 0 ; | ||
2290 | + } | ||
2291 | + pd.put("PAGENUM", "" + pageNumI); | ||
2292 | + pd.put("COUNT", "" + count); | ||
2293 | + } | ||
2279 | List<PageData> list = questionService.listAllquestion(pd); | 2294 | List<PageData> list = questionService.listAllquestion(pd); |
2280 | for(PageData pad:list){ | 2295 | for(PageData pad:list){ |
2281 | String optionContent = pad.getString("OPTION_CONTENT"); | 2296 | String optionContent = pad.getString("OPTION_CONTENT"); |
src/com/fh/controller/sunvote/teacher/TeacherController.java
@@ -213,6 +213,24 @@ public class TeacherController extends BaseController { | @@ -213,6 +213,24 @@ public class TeacherController extends BaseController { | ||
213 | * @param page | 213 | * @param page |
214 | * @throws Exception | 214 | * @throws Exception |
215 | */ | 215 | */ |
216 | + @RequestMapping(value = "/paper_view2") | ||
217 | + public ModelAndView paper_view2(Page page) throws Exception { | ||
218 | + logBefore(logger, Jurisdiction.getUsername() + "列表Paper"); | ||
219 | + String userId = this.getUserID(); | ||
220 | + ModelAndView mv = this.getModelAndView(); | ||
221 | + PageData pd = new PageData(); | ||
222 | + pd = this.getPageData(); | ||
223 | + mv.setViewName("sunvote/teacher/paper_view2"); | ||
224 | + mv.addObject("pd", pd); | ||
225 | + return mv; | ||
226 | + } | ||
227 | + | ||
228 | + /** | ||
229 | + * 列表 | ||
230 | + * | ||
231 | + * @param page | ||
232 | + * @throws Exception | ||
233 | + */ | ||
216 | @RequestMapping(value = "/paper_view1") | 234 | @RequestMapping(value = "/paper_view1") |
217 | public ModelAndView paper_view1(Page page) throws Exception { | 235 | public ModelAndView paper_view1(Page page) throws Exception { |
218 | logBefore(logger, Jurisdiction.getUsername() + "列表Paper"); | 236 | logBefore(logger, Jurisdiction.getUsername() + "列表Paper"); |