Examlog-大数据日志分析-代码
jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page isELIgnored="false"%>
<%@ include file="/common.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>班级绑定试卷${pageContext.request.contextPath}</title>
<script type="text/javascript" src="${pageContext.request.contextPath}/script/matchExam.js"></script>
<script type="text/javascript">
var ctx = '<%=request.getContextPath()%>';
$(document).ready(function() {
loadMatchExamInfo(ctx);
});
</script>
</head>
<body class="easyui-layout layout panel-noscroll easyui-fluid" >
<input type="hidden" id="page" value="1"value="${page}">
<input type="hidden" id="rows"value="10" value="${rows}">
<%--精确查询--%>
<div class="easyui-panel" style="padding: 20px; width: 100%;">
班级:
<select id="" class="easyui-combobox" name="className" style="width:200px;">
<option value="0">--选择班级--</option>
<option value="大学英语">大学英语</option>
<option value="大学数学">大学数学</option>
</select>
课程:
<select id="" class="easyui-combobox" name="courseName" style="width:200px;">
<option value="0">--选择课程--</option>
<option value="1">大学</option>
<option value="2">大学数学</option>
</select>
</div>
<%--表格--%>
<div class="easyui-layout" style="width: 1243px" style="overflow: hidden ">
<table id="dtMatchExam" class="easyui-datagrid" toolbar="#toolbar" title="选择试卷" style="width:743px;height:390px;" data-options="
rownumbers:true,
autoRowHeight:false,
pagination:true,
pageSize:10">
</table>
</div>
<!-- 表格的工具栏-- -->
<div id="toolbar" width="50">
<a href="javascript:void(0)" class="easyui-linkbutton"
iconCls="icon-add" plain="true" onclick="addMatchExamInfoDialog()">添加</a> <a
href="javascript:void(0)" class="easyui-linkbutton"
iconCls="icon-remove" plain="true" onclick="deleteMatchExamInfo()">删除</a>
</div>
<%--弹出框--%>
<div id="dd" class="easyui-dialog" title="添加试卷信息" style="width:400px;height:200px;"
data-options="iconCls:'icon-add',resizable:true,modal:true,closed:true">
<form action="" method="post" id="form">
<div>试卷名称:
<select id="examPaperName" class="easyui-combobox" name="examPaperName" style="width:200px;">
<%--<option value="aa"></option>
<option>bitem2</option>
<option>bitem3</option>
<option>ditem4</option>--%>
<option value="大学英语">大学英语</option>
<option value="大学数学">大学数学</option>
</select>
</div>
<div>试卷总分: <input id="totalScore" name="totalScore" class="easyui-validatebox" data-options="required:true,validType:'email'"></div>
<div> 期望分值: <input id="expectScore" name="expectScore" class="easyui-validatebox" data-options="required:true,validType:'email'"></div>
<div> 发试卷张数: <input id="totalExam" name="totalExam" class="easyui-validatebox" data-options="required:true,validType:'email'"></div>
<div>是否为抢分卷:
<select id="type" class="easyui-combobox" name="type" style="width:200px;">
<option value="0">是</option>
<option value="1">否</option>
</select>
</div>
<div>
<a class="easyui-linkbutton" onclick="AddMatchExamInfo()" style="width:80px">确定</a>
<a href="#" class="easyui-linkbutton" onclick="" style="width:80px">取消</a>
</div>
</form>
</div>
</body>
</html>
js:
var ctx; function loadMatchExamInfo(ctx){ //清空表格数据 $("#dtMatchExam").datagrid("loadData",{ total:0, rows :[] }); //加载数据 var page; var rows; $('#dtMatchExam').datagrid({ rownumbers:true, fit:true, fitColumns: true, url :ctx+ "/MatchCourse/MatchCourseData", data:{"page":page, "rows":rows}, onLoadSuccess: function (data) { if (data.total == 0) { //添加一个新数据行,第一列的值为你需要的提示信息,然后将其他列合并到第一列来,注意修改colspan参数为你columns配置的总列数 //$("#dgTeacher").datagrid("deleteRow",0); $("#dtMatchExam").datagrid('appendRow', { userRealName: '<div style="text-align:center;color:red">没有相关记录!</div>' }).datagrid('mergeCells', { index: 0, field: 'userRealName', colspan: 4 }) } }, pageSize:10, pageList: [10, 20, 30], columns : [ [ { field: 'id', checkbox:true, width:'4%' }, { field : 'examPaperName', title : '试卷名称', width : '16%', align : 'center', }, { field : 'expectScore', title : '期望分值', width : '20%', align : 'center' }, { field : 'awardScore', title : '奖励分值', width : '20%', align : 'center' }, { field : 'totalExam', title : '试卷总数', width : '20%', align : 'center' }, { field : 'surplusExam', title : '剩余试卷', width : '20%', align : 'center' } ] ] }); } function addMatchExamInfoDialog(){ $('#dd').dialog({ title: 'My Dialog', width: 400, height: 200, closed: false, cache: false, modal: true }); } function AddMatchExamInfo(){ //$('#form').submit(); // var totalScore=$('#totalScore').val(); // alert(totalScore); $.ajax({ type:"POST", url:ctx+ "/MatchCourse/AddMatchExamInfo", dataType:"json", async : false, data : $('#form').serialize(), success : function(data) { $('#form').form('clear'); $('#dd').window('close'); $.messager.alert('提示', '添加成功!'); $('#dtMatchExam').datagrid('reload'); }, error : function(err) { $('#dd').window('close'); $.messager.alert('提示', '添加成功!'); $('#dtMatchExam').datagrid('reload'); } }) } function deleteMatchExamInfo(){ var row = $('#dtMatchExam').datagrid('getSelections'); // 返回选中多行 if (row.length == 0) { $.messager.alert('提示', '请选择要删除的记录!'); return false; } var id =""; for (var i = 0; i < row.length; i++) { id=id + row[i].id + ","; } $.messager.confirm('提示', '确定要删除所选记录吗?删除之后,将不能恢复!', function(r) { if (r) { $.ajax({ type:"POST", dataType:"json", data:{"id":id}, url:ctx+"/MatchCourse/DeleteMatchInfos", success:function(){ $.messager.alert('提示', '删除成功!'); $('#dtMatchExam').datagrid('reload'); }, error : function(err) { $.messager.alert('提示', '删除成功!'); $('#dtMatchExam').datagrid('reload'); } }); } }); }
Controller:
package com.dmsd.itoo.examlog.controller; import ch.qos.logback.classic.Logger; import com.dmsd.itoo.examlog.entity.MatchExam; import com.dmsd.itoo.examlog.service.MatchCourseInfoService; import com.dmsd.itoo.tool.pageModel.PageEntity; import com.dmsd.itoo.tool.tojson.JacksonJsonUntil; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Created by wm on 2016/8/8. */ @RequestMapping("/MatchCourse") @Controller public class MatchCourseInfoController { //打印日志 private static Logger logger=(Logger) LoggerFactory.getLogger(CourseController.class); @Autowired MatchCourseInfoService matchCourseInfoService; @RequestMapping(value={"/MatchCourse"}) public String QueryAllMatchCourseInfo (String conditions,String page,String rows,HttpServletRequest request, HttpServletResponse response,ModelMap Map){ request.setAttribute("conditions",conditions); if(null==page){ Map.put("page","1"); }else{ Map.put("page",page); } if(null==rows){ Map.put("rows","10"); }else{ Map.put("rows",rows); } return"MatchCourseInfo"; } @RequestMapping(value={"/MatchCourseData"}) public void QueryAllMatchCourseInfoData(HttpServletRequest request, HttpServletResponse response,String page,String rows){ String conditions=(String)request.getAttribute("conditions"); JacksonJsonUntil jackJsonUtil =new JacksonJsonUntil (); String dataBaseName = "itoo_examlog"; try { // 获取前台easyui分页工具的属性,page为当前页数,rows为每页显示的行数 int pageNum=(Integer.parseInt(page)>0)?(Integer.parseInt(page)):1; int pageSize=(Integer.parseInt(rows)>0)?(Integer.parseInt(rows)):1; //构造分页实体 PageEntity<MatchExam > pageEntity =new PageEntity(); pageEntity.setPageNum(pageNum); pageEntity.setPageSize(pageSize); pageEntity.setDataBaseName(dataBaseName); PageEntity<MatchExam> list =matchCourseInfoService.QueryAllMatchCourseInfo(pageEntity,conditions); jackJsonUtil.beanToJson(response,list); }catch (Exception e){ e.printStackTrace(); } } @RequestMapping(value = "AddMatchExamInfo",method = RequestMethod.POST,produces = "application/json;charset=UTF-8") @ResponseBody public void AddMatchExamInfo (HttpServletRequest request, HttpServletResponse response,MatchExam matchExam){ matchCourseInfoService.SaveMatchInfo(matchExam); } @RequestMapping(value = "DeleteMatchInfos",method = RequestMethod.POST,produces = "application/json;charset=UTF-8") @ResponseBody public void DeleteMatchInfos(HttpServletRequest request,HttpServletResponse response,String id){ id= id.substring(0, id.length()-1); String[] ids=id.split(","); try{ matchCourseInfoService.DeleteMatchInfos(ids); }catch(Exception e){ e.printStackTrace(); } } }
serviceImpl:
package com.dmsd.itoo.examlog.service.impl; import com.dmsd.itoo.examlog.dao.impl.MatchCourseInfoDaoImpl; import com.dmsd.itoo.examlog.entity.MatchExam; import com.dmsd.itoo.examlog.service.MatchCourseInfoService; import com.dmsd.itoo.tool.pageModel.PageEntity; import org.springframework.beans.factory.ObjectFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.HashMap; import java.util.Map; import java.util.List; /** * 班级绑定试卷 * Created by wm on 2016/8/8. */ @Service("matchCourseInfoServiceImpl") @Transactional public class MatchCourseInfoServiceImpl implements MatchCourseInfoService { @Autowired MatchCourseInfoDaoImpl matchCourseInfoDaoImpl; /** * 班级绑定试卷,查询数据 2016年8月10日 * @param pageEntity 分页实体 * @param conditions 查询条件 * @return 分页实体 */ @Override public PageEntity<MatchExam> QueryAllMatchCourseInfo(PageEntity<MatchExam> pageEntity, String conditions) { PageEntity<MatchExam> list=new PageEntity<MatchExam>(); Map<String,String> map=new HashMap(); map.put("conditions",conditions); list=matchCourseInfoDaoImpl.QueryMatchCourseInfo(pageEntity,map); return list; } /** * 保存考试信息 * @param matchExam */ @Override public void SaveMatchInfo(MatchExam matchExam) { matchCourseInfoDaoImpl.save(matchExam); } @Override public void DeleteMatchInfos(String[] ids) { try{ matchCourseInfoDaoImpl.delete(ids); }catch (Exception e){ throw e; } } }
DaoImpl:
package com.dmsd.itoo.examlog.dao.impl; import com.dmsd.itoo.base.dao.hibernate.BaseHibernateDaoSupport; import com.dmsd.itoo.examlog.entity.MatchExam; import com.dmsd.itoo.tool.pageModel.PageEntity; import org.springframework.stereotype.Repository; import java.util.Map; @Repository("matchCourseInfoDaoImpl") public class MatchCourseInfoDaoImpl extends BaseHibernateDaoSupport<MatchExam> { /** * 查询匹配试卷信息 wm 2016-8-16 * @param pageEntity * @param map * @return */ public PageEntity<MatchExam> QueryMatchCourseInfo(PageEntity<MatchExam> pageEntity, Map<String, String> map) { //查询全部 StringBuffer hql = new StringBuffer(); // hql.append("select new MatchExam( m.examPaperName,m.expectScore,m.awardScore,m.totalExam ,m.surplusExam) from MatchExam m where m.isDelete=0"); hql.append("from MatchExam c where c.isDelete=0"); pageEntity.setHql(hql.toString()); PageEntity<MatchExam> listMatchExam= this.queryPageEntityByHql(pageEntity); return listMatchExam; } }

浙公网安备 33010602011771号