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;
        }


}

 

posted @ 2016-09-07 14:54  ZeroWM  阅读(506)  评论(0编辑  收藏  举报