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 | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | 2 | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | 3 | <mapper namespace="QuestionMapper"> |
4 | - | |
4 | + | |
5 | 5 | <!--表名 --> |
6 | 6 | <sql id="tableName"> |
7 | 7 | SV_QUESTION |
8 | 8 | </sql> |
9 | - | |
9 | + | |
10 | 10 | <!-- 字段 --> |
11 | 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 | 32 | QUESTION_ID |
33 | 33 | </sql> |
34 | - | |
34 | + | |
35 | 35 | <!-- 字段值 --> |
36 | 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 | 57 | #{QUESTION_ID} |
58 | 58 | </sql> |
59 | - | |
60 | - <!-- 新增--> | |
59 | + | |
60 | + <!-- 新增 --> | |
61 | 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 | 66 | ) values ( |
67 | - <include refid="FieldValue"></include> | |
67 | + <include refid="FieldValue"></include> | |
68 | 68 | ) |
69 | 69 | </insert> |
70 | - | |
71 | - <!-- 删除--> | |
70 | + | |
71 | + <!-- 删除 --> | |
72 | 72 | <delete id="delete" parameterType="pd"> |
73 | 73 | delete from |
74 | 74 | <include refid="tableName"></include> |
75 | - where | |
76 | - QUESTION_ID = #{QUESTION_ID} | |
75 | + where | |
76 | + QUESTION_ID = #{QUESTION_ID} | |
77 | 77 | </delete> |
78 | - | |
78 | + | |
79 | 79 | <!-- 修改 --> |
80 | 80 | <update id="edit" parameterType="pd"> |
81 | 81 | update |
82 | 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 | 104 | QUESTION_ID = QUESTION_ID |
105 | - where | |
105 | + where | |
106 | 106 | QUESTION_ID = #{QUESTION_ID} |
107 | 107 | </update> |
108 | - | |
108 | + | |
109 | 109 | <!-- 通过ID获取数据 --> |
110 | 110 | <select id="findById" parameterType="pd" resultType="pd"> |
111 | - select | |
111 | + select | |
112 | 112 | <include refid="Field"></include> |
113 | - from | |
113 | + from | |
114 | 114 | <include refid="tableName"></include> |
115 | - where | |
116 | - QUESTION_ID = #{QUESTION_ID} | |
115 | + where | |
116 | + QUESTION_ID = #{QUESTION_ID} | |
117 | 117 | </select> |
118 | - | |
118 | + | |
119 | 119 | <!-- 列表 --> |
120 | 120 | <select id="datalistPage" parameterType="page" resultType="pd"> |
121 | 121 | select |
122 | 122 | <include refid="Field"></include> |
123 | - from | |
123 | + from | |
124 | 124 | <include refid="tableName"></include> |
125 | 125 | where 1=1 |
126 | 126 | <if test="pd.keywords!= null and pd.keywords != ''"><!-- 关键词检索 --> |
127 | 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 | 132 | </if> |
136 | 133 | </select> |
137 | - | |
134 | + | |
138 | 135 | <!-- 列表(全部) --> |
139 | 136 | <select id="listAll" parameterType="pd" resultType="pd"> |
140 | 137 | select |
141 | 138 | <include refid="Field"></include> |
142 | - from | |
139 | + from | |
143 | 140 | <include refid="tableName"></include> |
144 | 141 | </select> |
145 | - | |
142 | + | |
146 | 143 | <!-- 列表(全部) --> |
147 | 144 | <select id="listAllquestion" parameterType="pd" resultType="pd"> |
148 | 145 | select |
149 | 146 | <include refid="Field"></include> |
150 | - from | |
147 | + from | |
151 | 148 | <include refid="tableName"></include> |
152 | - | |
153 | - where 1 =1 | |
149 | + | |
150 | + where 1 =1 | |
154 | 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 | 157 | </foreach> |
160 | - | |
158 | + | |
161 | 159 | </if> |
162 | 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 | 165 | </foreach> |
167 | - | |
166 | + | |
168 | 167 | </if> |
169 | 168 | <if test="QUESTION_FROM != null and QUESTION_FROM != ''"> |
170 | 169 | and QUESTION_FROM = #{QUESTION_FROM} |
... | ... | @@ -178,38 +177,40 @@ |
178 | 177 | <if test="SUBJECT_ID != null and SUBJECT_ID != ''"> |
179 | 178 | and SUBJECT_ID = #{SUBJECT_ID} |
180 | 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 | 185 | </if> |
187 | - | |
188 | - | |
186 | + | |
187 | + | |
189 | 188 | </select> |
190 | - | |
189 | + | |
191 | 190 | <!-- 列表(全部) --> |
192 | 191 | <select id="listAllRandquestion" parameterType="pd" resultType="pd"> |
193 | 192 | select |
194 | 193 | <include refid="Field"></include> |
195 | - from | |
194 | + from | |
196 | 195 | <include refid="tableName"></include> |
197 | - | |
198 | - where 1 =1 | |
196 | + | |
197 | + where 1 =1 | |
199 | 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 | 204 | </foreach> |
205 | - | |
205 | + | |
206 | 206 | </if> |
207 | 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 | 212 | </foreach> |
212 | - | |
213 | + | |
213 | 214 | </if> |
214 | 215 | <if test="QUESTION_FROM != null and QUESTION_FROM != ''"> |
215 | 216 | and QUESTION_FROM = #{QUESTION_FROM} |
... | ... | @@ -223,29 +224,30 @@ |
223 | 224 | <if test="SUBJECT_ID != null and SUBJECT_ID != ''"> |
224 | 225 | and SUBJECT_ID = #{SUBJECT_ID} |
225 | 226 | </if> |
226 | - | |
227 | + | |
227 | 228 | ORDER BY rand() |
228 | - | |
229 | + | |
229 | 230 | <if test="COUNT != null and COUNT != ''"> |
230 | 231 | limit ${COUNT} |
231 | 232 | </if> |
232 | 233 | <if test="COUNT == null or COUNT == ''"> |
233 | 234 | limit 30 |
234 | 235 | </if> |
235 | - | |
236 | - | |
236 | + | |
237 | + | |
237 | 238 | </select> |
238 | - | |
239 | + | |
239 | 240 | <!-- 批量删除 --> |
240 | 241 | <delete id="deleteAll" parameterType="String"> |
241 | 242 | delete from |
242 | 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 | 249 | </foreach> |
248 | 250 | </delete> |
249 | - | |
251 | + | |
250 | 252 | <!-- fh313596790qq(青苔) --> |
251 | 253 | </mapper> |
252 | 254 | \ No newline at end of file | ... | ... |
src/com/fh/controller/api/V1.java
... | ... | @@ -2276,6 +2276,21 @@ public class V1 extends BaseController { |
2276 | 2276 | pd.put("KNOWLEDGE_IDS", ids); |
2277 | 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 | 2294 | List<PageData> list = questionService.listAllquestion(pd); |
2280 | 2295 | for(PageData pad:list){ |
2281 | 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 | 213 | * @param page |
214 | 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 | 234 | @RequestMapping(value = "/paper_view1") |
217 | 235 | public ModelAndView paper_view1(Page page) throws Exception { |
218 | 236 | logBefore(logger, Jurisdiction.getUsername() + "列表Paper"); | ... | ... |