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"); | ... | ... |