chenrj-PC\chenrj 8 жил өмнө
parent
commit
85443e6476

+ 196 - 0
VisualInspection/js/statistics/wrecker.js

@@ -0,0 +1,196 @@
+var url = "statistics/check/wrecker";
+
+/**
+ * 点击查询
+ */
+function queryTypeClick(){
+    //每次点击前清空表格数据
+    $(".table-tbody").empty('');
+    var start_date = $("#start-time").val();
+    var end_date = $("#end-time").val();
+    if(start_date==null||start_date==''||start_date==undefined||
+    end_date==null||end_date==''||end_date==undefined){
+        tip("请选择起止日期");
+                return ;
+    }else{
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
+    }
+    var startStr = start_date.replace(/-/g, '/');
+    var endStr = end_date.replace(/-/g, '/');
+    var start = new Date(startStr);
+    //开始日期取前一天的23:00
+    start.setDate(start.getDate()-1);
+    start_date = start.Format("yyyy-MM-dd HH:mm:ss");
+    var end = new Date(endStr);
+    if(start>end){
+        tip("开始时间不能比结束时间大");
+        return;
+    }
+    var param = {
+        "dept_id": $("#fsList").val(),
+        "start_date": start_date,
+        "end_date": end_date,
+    }
+
+    post_common_service( url,param,function(data){
+        check_operation_avg(data);
+        },function(error){
+            return "" ;
+    });
+}
+
+/**
+ * 表格初始化
+ */
+function initQueryType(){
+    var endD = new Date();
+    var startD = new Date();
+    var start_time = startD.getFullYear()+"-"+(startD.getMonth())+"-26";
+    var end_time = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-25";
+    // 默认初始化时间页面回显
+    $("#start-time").val(start_time);
+    $("#end-time").val(end_time);
+    var start_date = start_time+" 23:00:00"; 
+    var end_date = end_time+" 23:00:00"; 
+    var start = new Date(start_date);
+    //开始日期取前一天的23:00
+    start.setDate(start.getDate()-1);
+    start_date = start.Format("yyyy-MM-dd HH:mm:ss");
+    var param = {
+        "start_date": start_date,
+        "end_date": end_date,
+    }
+   
+    post_common_service( url,param,function(data){
+            check_operation_avg(data); 
+        },function(error){
+            return "" ;
+     });
+}
+
+/**
+ * 表格拼接及数据传入
+ * @param {*} data 
+ * @param {*} i 
+ * @param {*} avg 
+ */
+function gethtml(data,i){
+    var strTbody = "<tr><td  width='5%'>"+ i +"</td>";
+    strTbody+="<td width='10%'>"+data.name+"</td><td width='5%'>"+data.people_num+"</td><td width='5%'>"+data.checked_people_num
+                +"</td><td width='5%'>"+data.data_check_num+"</td><td width='5%'>"+data.data_total_score
+                +"</td><td width='5%'>"+data.special_check_num+"</td><td width='5%'>"+data.special_total_score
+                +"</td><td width='5%'>"+data.third_check_num+"</td><td width='5%'>"+data.third_total_score
+                +"</td><td width='5%'>"+data.onsite_check_num+"</td><td width='5%'>"+data.onsite_total_score
+                +"</td><td width='5%'>"+data.other_check_num+"</td><td width='5%'>"+data.other_total_score
+                 +"</td><td width='5%'>"+data.check_all_score+"</td><td width='8%'>"
+                + calculate_avg(data.check_all_score,data.checked_num) +"</td>"
+                +"<td width='7%'></td><tr>";
+    return strTbody;
+}
+// data.check_all_score/data.checked_num
+function calculate_avg(score,num){
+    if(num == 0){
+        return '/';
+    }
+    return (score/num).toFixed(2) ;
+}
+
+
+// function gethtml(data,i,avg,lists){
+//     var strTbody = "";
+
+//     strTbody += "<tr><td width='8%'>"+data.company_ranking2+"</td>";
+//     strTbody+="<td width='8%'>"+data.name+"</td><td width='8%'>"+data.people_num+"</td><td width='6%'>"+data.company_check_num
+//                 +"</td><td width='6%'>"+data.company_total_score+"</td><td width='6%'>"+data.third_check_num
+//                 +"</td><td width='6%'>"+data.third_total_score+"</td><td width='6%'>"+data.special_check_num
+//                 +"</td><td width='6%'>"+data.special_total_score+"</td><td width='6%'>"+data.onsite_check_num
+//                 +"</td><td width='6%'>"+data.onsite_total_score+"</td><td width='6%'>"+data.data_check_num
+//                 +"</td><td width='6%'>"+data.data_total_score+"</td><td width='8%'>"
+//                 +data.check_total_avg+"</td>"
+//                 +"<td width='8%'>"+data.score_avg+"</td>";
+//     strTbody += "</tr>";
+//     return strTbody;
+// }
+
+function getTotalHtml(data){
+    var html = "<tr><td>合计</td><td></td><td>"+data.totalMan+"</td><td>"+data.totalCompanyNum+"</td><td>"+data.totalCompanyScore+"</td><td>"
+    +data.totalThirdNum+"</td><td>"+data.totalThirdScore+"</td><td>"+data.totalSpecialNum+"</td><td>"+data.totalSpecialScore
+    +"</td><td>"+data.totalOnsiteNum+"</td><td>"+data.totalOnsiteScore+"</td><td>"+data.totalDataNum
+    +"</td><td>"+data.totalDataScore+"</td><td>-</td><td>-</td></tr>";
+    return html;
+}
+
+/**
+ * @param {*} data 
+ */
+function check_operation_avg(data){
+      // 获取的请求数据初始化到表格中 ... 
+    //   console.log(data) ;
+    $(".table-tbody").empty();
+    for(var i =0;i<data.length; i++ ){
+        $(".table-tbody").append( gethtml(data[i],i+1) );
+    }
+}
+
+/**
+ * 过滤undefined
+ * @param {*} value 
+ * @param {*} default_display_value 
+ */
+function filter(value , default_display_value){
+    if(value!='' && value!=undefined ){
+        return value ;
+    }else if(default_display_value != undefined){
+        return default_display_value ;
+    }else{
+        return "" ;
+    }
+}
+
+/**
+ * 过滤除数为0和保留二位小数时出现的0.00
+ * @param {*} value 
+ * @param {*} default_display_value 
+ */
+function filterByZeroHandle(value , default_display_value){
+        if(isNaN(value)){
+            return default_display_value ;
+        }else{
+            if((value+'').endsWith('.00')){
+                return value.substring(0,value.length-3);
+            }
+            return value ;
+        }
+}
+
+function filterJudge(num1,num2){
+        if(num2==0){
+            return 0;
+        }else{
+            return (num1/num2).toFixed(2);
+        }
+}
+
+function exportExcel(){
+    var start_date = $("#start-time").val();
+    var end_date = $("#end-time").val();
+    if( start_date=='' || end_date==''){
+        tip("请选择起止日期");
+        return ;
+    }else{
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
+        var start = new Date(start_date);
+        //开始日期取前一天的23:00
+        start.setDate(start.getDate()-1);
+        start_date = start.Format("yyyy-MM-dd HH:mm:ss");
+    }
+    window.open( getserveraddr() + "/file/operation/manage/integration?start_date="+start_date+"&end_date="+end_date);
+}
+
+
+
+
+
+

+ 335 - 0
VisualInspection/js/statistics/wrecker_person.js

@@ -0,0 +1,335 @@
+var isshownumber = false;
+$(function() {
+    $('[data-toggle="tooltip"]').tooltip();
+
+    var feeList = getOrganList();
+    $("#select-dept").append("<option value='' >请选择清障单位</option>");
+    for(var i =0  ;i<feeList.length;  i++){
+        $("#select-dept").append("<option value='"+ feeList[i].deptid +"'>"+ feeList[i].name +"</option>");
+    }
+
+    // 初始化查询
+    initQueryEmp(null, null);
+})
+
+function queryEmpClick() {
+
+    //每次点击前清空表格数据
+    $(".table-tbody").empty('');
+    var start_date = $("#start-time").val();
+    var end_date = $("#end-time").val();
+    var start_score = $("#start-score").val();
+    var end_score = $("#end-score").val();
+    var start_num = $("#start-num").val() != '' ? $("#start-num").val() : 0;
+    var end_num = $("#end-num").val() != '' ? $("#end-num").val() : 100;
+    var flag = param_method(start_score, end_score);
+    if (flag == false) {
+        return;
+    }
+    if (start_date == '' || end_date == '') {
+        tip("请选择起止日期");
+        return;
+    } else {
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
+    }
+    var startStr = start_date.replace(/-/g, '/');
+    var endStr = end_date.replace(/-/g, '/');
+    var start = new Date(startStr);
+    //开始日期取前一天的23:00
+    start.setDate(start.getDate() - 1);
+    start_date = start.Format("yyyy-MM-dd HH:mm:ss");
+    var end = new Date(endStr);
+    if (start > end) {
+        tip("开始时间不能比结束时间大");
+        return;
+    }
+    var param = {
+        "parent_dept_id": GV("#center-manager"),
+        "dept_id": GV("#fsList"),
+        "start_date": start_date,
+        "end_date": end_date,
+    }
+    var url = "statistics/business/feedback";
+    getEmployeeInfosClick(url, param, start_score, end_score, start_num, end_num)
+}
+
+function initQueryEmp(parent_dept_id, dept_id) {
+    setJobSelect("#jobSelect");
+    var p_m = $.zui.store.get('store_param_' + current_url)
+    $.zui.store.set('store_param_' + current_url, null);
+    if (p_m) {
+
+        $("#center-manager").val(p_m.parent_dept_id);
+        $("#fsList").val(p_m.dept_id);
+        $("#start-time").val(p_m.start_date);
+        $("#end-time").val(p_m.end_date);
+        $("#start-num").val(p_m.start_num);
+        $("#end-num").val(p_m.end_num);
+        $("#start-score").val(p_m.start_score);
+        $("#end-score").val(p_m.end_score);
+        $("#jobSelect").val(p_m.job_select);
+
+
+        parent_dept_id = p_m.parent_dept_id;
+        dept_id = p_m.dept_id;
+        setJobSelect("#jobSelect", p_m.job_select);
+
+        getFsStationList(GV("#center_manage"), function(options) {
+            $("#fsList").append(options);
+            var dept;
+            if (roleContains("STATION")) {
+                dept = getCurrentUser().organid;
+            }
+            $("#fsList").val(p_m.dept_id);
+        });
+    }
+
+    //默认初始化前一周查所有
+    var endD = new Date();
+    var startD = new Date();
+
+    var start_time = startD.getFullYear() + "-" + (startD.getMonth() > 10 ? startD.getMonth() : "0" + startD.getMonth()) + "-26";
+    var end_time = endD.getFullYear() + "-" + (endD.getMonth() + 1 >= 10 ? endD.getMonth() + 1 : "0" + (endD.getMonth() + 1)) + "-25";
+    var start_score = $("#start-score").val();
+    var end_score = $("#end-score").val();
+    var start_num = $("#start-num").val() != '' ? $("#start-num").val() : 0;
+    var end_num = $("#end-num").val() != '' ? $("#end-num").val() : 100;
+
+    //默认初始化时间页面回显
+    $("#start-time").val(start_time);
+    $("#end-time").val(end_time);
+    var start_date = start_time + " 23:00:00";
+    var end_date = end_time + " 23:00:00";
+
+    var start = moment(start_date).subtract(1, "day");
+    //开始日期取前一天的23:00
+
+    start_date = start.toDate().Format("yyyy-MM-dd HH:mm:ss");
+
+    var param = {
+        "parent_dept_id": parent_dept_id,
+        "dept_id": dept_id,
+        "start_date": start_date,
+        "end_date": end_date,
+    }
+
+
+
+    var url = "statistics/business/feedback";
+    getEmployeeInfosClick(url, param, start_score, end_score, start_num, end_num);
+}
+/**
+ * click
+ * @param {*} url
+ * @param {*} param
+ */
+function getEmployeeInfosClick(url, param, start_score, end_score, start_num, end_num) {
+    post_common_service(url, param, function(data) {
+
+        var strTbody = '';
+        var count = 0;
+        var start_date_time = moment(param.end_date + "Z");
+        var now_date_time = moment();
+        var current_start_date = null;
+
+        if (now_date_time.date() >= 26) {
+            current_start_date = moment(now_date_time.format("YYYY-MM") + "-25 23:00:00Z").subtract(1, "month");
+        } else {
+            current_start_date = moment(now_date_time.format("YYYY-MM") + "-25 23:00:00Z").subtract(2, "month");
+        }
+
+        if (start_date_time.valueOf() <= current_start_date.valueOf()) {
+            isshownumber = true;
+
+        }
+
+        for (var i = 0; i < data.length; i++) {
+            var score = 1000 - filterByZeroHandle(data[i].check_score_avg, '0');
+            var check_number = filter(data[i].checked_num, '0');
+            var flag = judgeParamFilter(data, i, score, start_score, end_score, check_number, start_num, end_num)
+            if (flag) {
+                html = "";
+                if (hasRole(ROLE_JICHA_ADMIN) || hasRole(ROLE_ADMIN) || hasRole(ROLE_ROAD_MANAGER)) {
+                    isshownumber = true;
+                    if (hasRole(ROLE_JICHA_ADMIN) || hasRole(ROLE_ADMIN)) {
+                        // html += "<button id=\"user_" + data[i].user.id + "\" onClick='addTask(" + data[i].user.id + ",\"" + data[i].user.truename + "\",\"" + data[i].user.fee_station_name + "\",\"" + data[i].checked_num + "\",\"" + param.start_date + "\",\"" + param.end_date + "\")'  class=\"btn\" style='margin-left: 10px;padding: 0px;border: 0;background: none;' type=\"button\"><i class=\"icon icon-plus-sign\"></i></button>"
+                    }
+                }
+
+                strTbody += "<tr><td width='4%;'>" + (count + 1) + "</td><td width='6%;'>" + data[i].user.fee_station_name + "</td>" +
+                    "<td width='6%;'>" + data[i].user.truename + "</td><td width='6%;'>" + data[i].user.position_name + "</td>" +
+                     "<td width='7%;'>" + data[i].user.workno + "</td>"+
+                     //<td width='4%;'>" + filter(data[i].company_ranking, '/') + "</td>" 
+                    // "<td width='4%;'>" + filter(data[i].center_ranking, '/') + "</td><td width='4%;'>" + filter(data[i].fee_station_ranking, '/') +
+                    "</td><td width='4%;'>" +filter(data[i].checked_num, '0') + "</td>" +
+                    "<td width='4%;'>" + filter(data[i].score, '0') + "</td><td width='4%;'>" + filter(data[i].check_t_num, '0') + "</td>" +
+                    "<td width='4%;'>" + filter(data[i].check_t_score, '0') + "</td><td width='4%;'>" + filter(data[i].check_x_num, '0') + "</td>" +
+                    "<td width='4%;'>" + filter(data[i].check_x_score, '0') + "</td><td width='4%'>" + filter(data[i].check_s_num, '0') + "</td><td width='4%;'>" +
+                    filter(data[i].check_s_score, '0') + "</td><td width='4%;'>" + filter(data[i].check_all_num, '0') + "</td>" +
+                    "<td width='4%;'>" +  filter(data[i].check_all_score, '0') + "</td><td width='4%;'>" + filterSlash(filterByZeroHandle(data[i].check_score_avg, '0'), filter(data[i].checked_num  + data[i].check_t_num  + data[i].check_x_num + data[i].check_s_num, '0')) + "</td>" +
+                    "<td width='4%;'>" + filterSlash(score.toFixed(2), filter(data[i].score + data[i].check_t_score + data[i].check_x_score + data[i].check_s_score, '0')) + "</td>" + "<td width='4%;'>" + "</td></tr>";
+                count++;
+            }
+        }
+        $(".table-tbody").append(strTbody);
+        $("tr:gt(1):odd").css("background", "#EFEFEF");
+    }, function(error) {
+        return "";
+    });
+}
+
+
+function getOrganList(){
+    var  organList = $.zui.store.get("cache_wrecker_group_list");
+    return organList;
+}
+
+
+/**
+ * 对于受检次数为0,扣分和得分都为 /
+ * @param {*} value , check_num 受此次数
+ * @return value or /
+ */
+function filterSlash(value, check_num) {
+    if (check_num == 0) {
+        return '/';
+    } else {
+        return value;
+    }
+}
+
+function judgeParamFilter(data, i, score, start_score, end_score, check_number, start_num, end_num) {
+    var flag1 = false;
+    if (score >= parseFloat(start_score) && score <= parseFloat(end_score)) {
+        flag1 = true;
+    } else {
+        flag1 = false;
+    }
+    var flag2 = false;
+    if (check_number >= parseFloat(start_num) && check_number <= parseFloat(end_num)) {
+        flag2 = true;
+    } else {
+        flag2 = false;
+    }
+
+    var jobSelect = $("#jobSelect").val();
+    if (jobSelect) {
+        if (data[i].user.positionid == jobSelect) {
+            flag3 = true;
+        } else {
+            flag3 = false;
+        }
+    } else {
+        flag3 = true;
+    }
+    return flag1 & flag2 & flag3;
+}
+
+function average(obj) {
+    if (filter(obj.checked_num + obj.checked_m_num, '0') == 0) {
+        return 0;
+    } else {
+        return (obj.check_all_score + obj.check_all_m_score) / filter(obj.checked_num + obj.checked_m_num, '1')
+    }
+}
+
+/**
+ * 过滤undefined
+ * @param {*} value
+ * @param {*} default_display_value
+ */
+function filter(value, default_display_value) {
+    if (value != '' && value != undefined) {
+        return value;
+    } else if (default_display_value != undefined) {
+        return default_display_value;
+    } else {
+        return "";
+    }
+}
+
+/**
+ * 获取扣分详情
+ * @param {*} obj
+ * @param {*} check_item_name
+ */
+function getItemScore(obj, check_item_name) {
+    var names = obj.checked_socre_name;
+    var scores = obj.checked_score;
+
+    for (var i = 0; i < names.length; i++) {
+        if (names[i].indexOf(check_item_name) > -1) {
+            return scores[i];
+        }
+    }
+    return 0;
+}
+
+/**
+ * 过滤除数为0和保留二位小数时出现的0.00
+ * @param {*} value
+ * @param {*} default_display_value
+ */
+function filterByZeroHandle(value, default_display_value) {
+    if (isNaN(value)) {
+        return default_display_value;
+    } else {
+        if ((value + '').endsWith('.00')) {
+            return value.substring(0, value.length - 3);
+        }
+        return value;
+    }
+}
+
+function exportExcel() {
+    var dept_id = $("#fsList").val();
+    var start_date = $("#start-time").val();
+    var end_date = $("#end-time").val();
+    var start_score = $("#start-score").val();
+    var end_score = $("#end-score").val();
+    var parent_dept_id = $("#center-manager").val();
+    var max_score = $("#end-score").val();
+    var min_score = $("#start-score").val();
+    var min_check_num = $("#start-num").val();
+    var max_check_num = $("#end-num").val();
+    var position_id = $("#jobSelect").val();
+    var flag = param_method(start_score, end_score);
+    if (flag == false) {
+        return;
+    }
+    if (start_date == '' || end_date == '') {
+        tip("请选择起止日期");
+        return;
+    } else {
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
+        var start = new Date(start_date);
+        //开始日期取前一天的23:00
+        start.setDate(start.getDate() - 1);
+        start_date = start.Format("yyyy-MM-dd HH:mm:ss");
+    }
+    if (!dept_id) dept_id = "";
+    window.open(getserveraddr() + "/file/business/feedback?dept_id=" + dept_id +
+        "&start_date=" + start_date + "&end_date=" + end_date + "&start_score=" + start_score + "&end_score=" + end_score + "&parent_dept_id=" + parent_dept_id +
+        "&max_score=" + max_score + "&min_score=" + min_score + "&min_check_num=" + min_check_num + "&max_check_num=" + max_check_num + "&position_id=" + position_id);
+}
+
+
+function param_method(start_score, end_score) {
+    if (start_score == '' || end_score == '') {
+        tip("请输入得分区间");
+        return false;
+    } else if (!(/^[0-9]*$/).test(start_score) || !(/^[0-9]*$/).test(end_score)) {
+        tip("数字不合法!");
+        return false;
+    } else if (parseInt(start_score) > parseInt(end_score)) {
+        tip("开始得分不能比结束得分大");
+        return false;
+    } else if (start_score < 0 || start_score > 1000 || end_score < 0 || end_score > 1000) {
+        tip("得分只能在0-1000之间");
+        return false;
+    } else {
+        return true;
+    }
+}

+ 88 - 0
VisualInspection/view/statistics/wrecker.html

@@ -0,0 +1,88 @@
+<script src="/js/statistics/wrecker.js?__inline"></script>
+<link rel="stylesheet" type="text/css" href="/css/statistics/assess_situation.css?__inline">
+<div class="container-fluid ">
+    <div class="form-div">
+        <form  class="form-horizontal">
+            <div class="form-group">
+                <div class="from-label"><label>查询日期</label></div>
+                <div class="col-sm-2">
+                    <input type="text" id="start-time" class="form-control form-date" placeholder="开始日期">
+                </div>
+                <div class="col-sm-2">
+                    <input type="text" id="end-time" class="form-control form-date" placeholder="结束日期">
+                </div>
+                <div class="col-sm-1">
+                    <button class="btn btn-primary " type="button" onclick="queryTypeClick()">查询</button>
+                </div>
+                <!--<div class="col-sm-1">
+                    <button class="btn btn-primary " type="button" onclick="exportExcel()" >导出Excel</button>
+                </div>-->
+            </div>
+        </form>
+    </div>
+    <div class="table-title"><span>清障队检查情况汇总表</span></div>
+
+    <div class="row">
+          <div class="datatable" data-checkable="false" data-sortable="false"  style="margin-bottom:0px;">
+              <div class="table-head" ><table border="1" width="100%" height="90px" align="center">
+                 <thead>
+                        <tr>
+                        <th rowspan="3" width="5%">序号</th>
+                        <th rowspan="3" width="10%">单位</th>
+                        <th rowspan="3" width="5%">岗位人数</th>
+                        <th rowspan="3" width="5%">受检人数</th>
+                        <th colspan="10" height="30px">存在问题扣分详情</th>
+                        <th rowspan="3" width="5%" >扣分合计</th>
+                        <th rowspan="3" width="8%">平均得分</th>
+                        <th rowspan="3" width="7%">备注</th>
+                        </tr>
+                        <tr> 
+                        <th  height="30px;" colspan="2">中心实时检查</th><th colspan="2">视频稽查</th><th colspan="2">第三方暗访</th>
+                        <th colspan="2" width="54px">现场检查</th><th colspan="2" width="54px">其他</th>
+                        </tr>
+                        <tr> 
+                            <th width="5%" height="30px;">受检次数</th>
+                            <th width="5%">扣分</th>
+                            <th width="5%">受检次数</th>
+                            <th width="5%">扣分</th>
+                            <th width="5%">受检次数</th>
+                            <th width="5%">扣分</th>
+                            <th width="5%">受检次数</th>
+                            <th width="5%">扣分</th>
+                            <th width="5%">受检次数</th>
+                            <th width="5%">扣分</th>
+                        </tr>
+                 </thead>
+                </table></div>
+          </div>
+          <div id="scrollTable" style="height:300px;overflow:scroll;margin-right:-10px;">
+              <div class="table-head" style="margin:0px;">
+                  <table border="1" width="100%" height="90px" align="center" style="border-top:0px;">
+                    <tbody class="table-tbody" style="background:white" align="center">
+               
+                    </tbody>
+                  </table></div>
+          </div>
+    </div>
+</div>
+<script>
+   
+    $(document).ready(function() {
+        // 设置滚动表格的高度
+        $("#scrollTable").height($(window).height() - 360);
+        // 仅选择日期
+        $("#start-time,#end-time").datetimepicker(
+        {
+            language:  "zh-CN",
+            weekStart: 1,
+            todayBtn:  1,
+            autoclose: 1,
+            todayHighlight: 1,
+            startView: 2,
+            minView: 2,
+            forceParse: 0,
+            format: "yyyy-mm-dd"
+        });
+        initQueryType();
+    });
+</script>

+ 127 - 0
VisualInspection/view/statistics/wrecker_person.html

@@ -0,0 +1,127 @@
+<script src="/js/statistics/wrecker_person.js?__inline"></script>
+<script src="/js/statistics/common_statistic.js?__inline"></script>
+<link rel="stylesheet" type="text/css" href="/css/statistics/assess_situation.css">
+<div class="container-fluid ">
+    <div class="form-div">
+        <form class="form-horizontal">
+            <div class="form-group">
+                <div class="form-group col-sm-3">
+                    <label for="exampleInputAccount1" class="col-sm-4">清障单位</label>
+                    <div class="col-sm-8">
+                        <select class="form-control" id="select-dept">
+                        </select>
+                    </div>
+                </div>
+                
+                <div  class="form-group col-sm-4">
+                    <label for="exampleInputAccount1" class="col-sm-4">查询日期</label>
+                    <div class="col-sm-4">
+                        <input type="text" id="start-time" class="form-control form-date" placeholder="开始日期">
+                    </div>
+                    <div class="col-sm-4">
+                        <input type="text" id="end-time" class="form-control form-date" placeholder="结束日期">
+                    </div>
+                </div>
+                <div  class="form-group col-sm-2">
+                    <div class="col-sm-6">
+                        <button class="btn btn-primary " type="button" onclick="queryEmpClick()">查询</button>
+                    </div>
+                    <!--<div class="col-sm-6">
+                        <button class="btn btn-primary " type="button" onclick="exportExcel()">导出Excel</button>
+                    </div>-->
+                </div>
+            </div>
+            <div class="form-group">
+               
+                <div  class="form-group col-sm-3">
+                    <label for="exampleInputAccount1" class="col-sm-4">职位</label>
+                    <div class="col-sm-8">
+                        <select class="form-control" id="jobSelect">
+                        </select>
+                    </div>
+                </div>
+                <div  class="form-group col-sm-4">
+                    <label for="exampleInputAccount1" class="col-sm-4">得分区间</label>
+                    <div class="col-sm-3">
+                        <input type="text" id="start-score" class="form-control form-date"  value="0">
+                    </div>
+                    <div class="to-score col-sm-2" style="padding-top: 6px;text-align:center;"><label> - </label></div>
+                    <div class="col-sm-3">
+                        <input type="text" id="end-score" class="form-control form-date" value="1000">
+                    </div>
+                </div>
+            </div>
+        </form>
+    </div>
+    <div class="table-title"><span>清障人员业务提升考核情况反馈表</span></div>
+
+    <div class="row">
+        <!-- 使用一个div来显示数据表格   -->
+        <div class="datatable" data-checkable="false" style="margin-bottom: 0px;margin-right:10px;" data-sortable="false">
+            <div class="table-head">
+                <table border="0" width="100%" align="center">
+                    <thead class="table-thead" align="center">
+                        <tr>
+                            <th rowspan="3" width="4%;" id='th_1'>序号</th>
+                            <th rowspan="3" width="6%" id='th_2'>单位</th>
+                            <th rowspan="3" width="6%" id='th_3'>姓名</th>
+                            <th rowspan="3" width="7%" id='th_5'>工号</th>
+                            <th rowspan="3" width="6%" id='th_4'>岗位</th>
+                            <th colspan="13" height="40px" id='th_9'>考核扣分</th>
+                            <th rowspan="3" width="4%" id='th_13'>合计扣分</th>
+                            <th rowspan="3" width="4%" id='th_11'>平均得分(千分制)</th>
+                            <th rowspan="3" width="4%" id='th_12'>服务评价</th>
+                            <th rowspan="3" width="4%" id='th_14'>备注</th>
+                        </tr>
+                        <tr>
+                            <th colspan="5" width="20%" id='th_9_1'>中心实时检查</th>
+                            <th colspan="5" width="20%" id='th_9_2'>视频稽查</th>
+                            <th rowspan="2" width="4%" id='th_9_3'>暗访</th>
+                            <th rowspan="2" width="4%" id='th_9_4'>现场检查</th>
+                            <th rowspan="2" width="4%" id='th_9_5'>其他</th>
+                        </tr>
+                        <tr>
+                            <th>出警及<br>时性</th>
+                            <th>现场到<br>达率</th>
+                            <th>畅通率</th>
+                            <th>作业现场<br>安全管理</th>
+                            <th>信息上报</th>
+
+                            <th>着装<br>规范</th>
+                            <th>作业现场<br>安全管理</th>
+                            <th>文明<br>服务</th>
+                            <th>操作<br>规范</th>
+                            <th>工作<br>纪律</th>
+                        </tr>
+                    </thead>
+                </table>
+            </div>
+        </div>
+        <div id="scrollTable" style="height:300px;overflow:scroll;">
+            <table style="border-top:0;" border="0" width="100%" align="center">
+                <tbody class="table-tbody" style="background:white; " align="center">
+
+                </tbody>
+            </table>
+        </div>
+    </div>
+</div>
+<script>
+    $(document).ready(function() {
+        // 设置滚动表格的高度
+        $("#scrollTable").height($(window).height() - 360);
+
+        // 仅选择日期 开始 ,结束时间
+        $("#start-time,#end-time").datetimepicker({
+            language: "zh-CN",
+            weekStart: 1,
+            todayBtn: 1,
+            autoclose: 1,
+            todayHighlight: 1,
+            startView: 2,
+            minView: 2,
+            forceParse: 0,
+            format: "yyyy-mm-dd"
+        });
+    });
+</script>

+ 5 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/StatisticsBean.java

@@ -155,6 +155,11 @@ public class StatisticsBean {
     // 数据平台受检次数
     private Integer data_check_num = 0;
     // 数据平台扣分合计
+    
+    // 其他
+    private Integer other_check_num =0;
+    private Integer other_total_score = 0 ;
+    
     private Integer data_total_score = 0;
     // 总平均扣分
     private String check_total_avg  = "0";

+ 2 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/WreckerGroup.java

@@ -29,4 +29,6 @@ public class WreckerGroup {
     //是否显示,0:不显示,1:显示
     private String isshow;
     private String parentid;
+    
+    private Integer people_num ;
 }

+ 6 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/StatisticsController.java

@@ -361,4 +361,10 @@ public class StatisticsController extends BaseController {
     	return super.returnSuccessResult(lists);
     }
     
+    
+    @RequestMapping(value = "/check/wrecker")
+    public String getCheckWrecker(@RequestBody StatisticsBean obj){
+    	List<StatisticsBean> lists=  statisticsService.getWreckerCheckInfo(obj);
+    	return super.returnSuccessResult(lists);
+    }
 }

+ 3 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/StatisticsDao.java

@@ -71,5 +71,8 @@ public interface StatisticsDao  {
 
 	public List<StatisticsBean> selectBFStatistics(StatisticsBean obj);
 	
+	public List<StatisticsBean> selectWreckerInfo(StatisticsBean obj) ;
+	
+	public List<WreckerGroup> selectWreckerOrgan();
 	
 }

+ 30 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/StatisticsMapper.xml

@@ -37,7 +37,36 @@
         )
 
     </sql>
-
+	
+	<select id="selectWreckerOrgan" resultType="com.xintong.visualinspection.bean.WreckerGroup">
+		SELECT ORGANID AS deptid,COUNT(1) AS people_num ,t.name FROM t_sys_users o
+				LEFT JOIN t_br_layer_wrecker_group t ON o.ORGANID = t.ORGAN_ID
+				WHERE o.STATUS = 1 AND o.ORGANID IN
+				(
+					SELECT organ_id FROM t_br_layer_wrecker_group 
+				) 
+				GROUP BY o.ORGANID
+	</select>
+	
+	<select id="selectWreckerInfo" parameterType="com.xintong.visualinspection.bean.StatisticsBean" 
+			resultType="com.xintong.visualinspection.bean.StatisticsBean" >
+		SELECT t.* , m.code_name AS name FROM 
+		(
+			SELECT
+				COUNT(1) AS checked_num , dept_id ,COUNT(DISTINCT user_id) AS checked_people_num,
+				wrecker_check_type,
+				sum(check_score) AS all_check_score
+			FROM
+				other_check 
+			WHERE
+				check_type = 5
+			<if test="start_date!=null and end_date != null">
+		        AND	check_time &gt;= #{start_date} AND check_time &lt; #{end_date}
+			</if>
+			GROUP BY
+				wrecker_check_type,dept_id
+		) t LEFT JOIN  ( SELECT * FROM sys_code where  code_flag = 'wrecker_group_check_type' ) m ON t.wrecker_check_type = m.code_value
+	</select>
 	
    <select id="selectBFStatistics" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
 	SELECT y.user_id,y.dept_id,IFNULL(x.checked_num,0)+IFNULL(o1.check_a_num,0) checked_num,IFNULL(x.score,0)+IFNULL(o1.check_a_score,0) score,o2.check_t_num,o2.check_t_score,o3.check_x_num,o3.check_x_score,o4.check_s_num,o4.check_s_score  

+ 7 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/StatisticsService.java

@@ -12,6 +12,7 @@ import com.xintong.visualinspection.bean.StatisticsBean;
 import com.xintong.visualinspection.bean.StatisticsBeanBO;
 import com.xintong.visualinspection.bean.StatisticsBo;
 import com.xintong.visualinspection.bean.StatisticsFsWork;
+import com.xintong.visualinspection.bean.WreckerGroup;
 import com.xintong.visualinspection.pojo.TaskAndScore;
 import com.xintong.visualinspection.pojo.UserRankingData;
 
@@ -107,5 +108,11 @@ public interface StatisticsService {
 	public List<StatisticsBo> getBusinessFeedbackInfo(StatisticsBean obj);
 
 	public void getBusinessFeedbackInfo(StatisticsBeanBO obj, HttpServletRequest req, HttpServletResponse resp);
+	
+	// 获取清障稽查的稽查信息
+	public List<StatisticsBean> getWreckerCheckInfo(StatisticsBean obj);
+	
+	// 获取清障稽查的信息
+	public List<WreckerGroup> getWreckerInfo();
 
 }

+ 51 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/StatisticsServiceImpl.java

@@ -2201,4 +2201,55 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 		map.put("list", listStatistic);
 		exportExcel("收费生产人员业务提升考核情况反馈表", "business_feedback", map, resp);
 	}
+
+	@Override
+	public List<StatisticsBean> getWreckerCheckInfo(StatisticsBean obj) {
+		List<StatisticsBean> wreckerInfo = statisticsDao.selectWreckerInfo(obj);
+		List<WreckerGroup> wreckers = statisticsDao.selectWreckerOrgan();
+		
+		Map<Long,StatisticsBean> wreckerStatistic = new HashMap<>();
+		for(int i=0 ; i<wreckers.size(); i++ ){
+			StatisticsBean tmp = new StatisticsBean();
+			tmp.setPeople_num(wreckers.get(i).getPeople_num());
+			tmp.setName(wreckers.get(i).getName());
+			wreckerStatistic.put(Long.parseLong(wreckers.get(i).getDeptid()) , tmp) ;
+		}
+		
+		for(int i=0;i<wreckerInfo.size();i++ ){
+			StatisticsBean tmp =  wreckerStatistic.get(wreckerInfo.get(i).getDept_id()) ;
+			// 受检人数
+			tmp.setChecked_people_num( tmp.getChecked_people_num() + wreckerInfo.get(i).getChecked_people_num() );
+			tmp.setCheck_all_score(tmp.getCheck_all_score() + wreckerInfo.get(i).getAll_check_score());
+			tmp.setChecked_num(tmp.getChecked_num() + wreckerInfo.get(i).getChecked_num() );
+			
+			if(wreckerInfo.get(i).getName().indexOf("中心实时")>-1){
+				tmp.setData_check_num(wreckerInfo.get(i).getChecked_num());
+				tmp.setData_total_score(wreckerInfo.get(i).getAll_check_score());
+				
+			}else if(wreckerInfo.get(i).getName().indexOf("视频")>-1){
+				tmp.setSpecial_check_num(wreckerInfo.get(i).getChecked_num());
+				tmp.setSpecial_total_score(wreckerInfo.get(i).getAll_check_score());
+				
+			}else if(wreckerInfo.get(i).getName().indexOf("第三方")>-1){
+				tmp.setThird_check_num(wreckerInfo.get(i).getChecked_num());
+				tmp.setThird_total_score(wreckerInfo.get(i).getAll_check_score());
+				
+			}else if(wreckerInfo.get(i).getName().indexOf("现场")>-1){
+				tmp.setOnsite_check_num(wreckerInfo.get(i).getChecked_num());
+				tmp.setOnsite_total_score(wreckerInfo.get(i).getAll_check_score());
+				
+			}else if(wreckerInfo.get(i).getName().indexOf("其他")>-1){
+				tmp.setOther_check_num(wreckerInfo.get(i).getChecked_num());
+				tmp.setOther_total_score(wreckerInfo.get(i).getAll_check_score());
+			}
+		}
+
+		return new ArrayList<>(wreckerStatistic.values());
+	}
+
+	@Override
+	public List<WreckerGroup> getWreckerInfo() {
+		// TODO Auto-generated method stub
+		return null;
+	}
 }