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