Просмотр исходного кода

Merge branch 'master' of http://git_xt.jsxt.jsjtyxt.com/wenhongquan/VisualInspection

minitiger 8 лет назад
Родитель
Сommit
5459472115
24 измененных файлов с 429 добавлено и 218 удалено
  1. 1 1
      VisualInspection/fis-conf.js
  2. 2 2
      VisualInspection/js/config.js
  3. 48 36
      VisualInspection/js/statistics/assess_ranking.js
  4. 101 30
      VisualInspection/js/statistics/assess_situation.js
  5. 89 17
      VisualInspection/js/statistics/assess_type.js
  6. 2 2
      VisualInspection/js/statistics/change_attendance.js
  7. 4 2
      VisualInspection/js/statistics/change_work.js
  8. 30 31
      VisualInspection/js/statistics/common_attendance.js
  9. 4 1
      VisualInspection/js/statistics/common_work.js
  10. 8 8
      VisualInspection/js/statistics/personal_data_statistics.js
  11. 4 4
      VisualInspection/js/statistics/road_manage_statistics.js
  12. 25 8
      VisualInspection/js/statistics/toll_station_statistics.js
  13. 27 7
      VisualInspection/js/statistics/total_company_statistics.js
  14. 1 1
      VisualInspection/js/user/login.js
  15. 1 1
      VisualInspection/view/statistics/change_attendance.html
  16. 1 1
      VisualInspection/view/statistics/common_attendance.html
  17. 33 32
      VisualInspection/view/statistics/emp_ranking.html
  18. 1 14
      VisualInspection/view/statistics/personal_data_statistics.html
  19. 6 3
      VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/StatisticsBean.java
  20. 6 6
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/StatisticsMapper.xml
  21. 35 11
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/StatisticsServiceImpl.java
  22. BIN
      VisualInspection_server/src/main/resources/checked_info.xls
  23. BIN
      VisualInspection_server/src/main/resources/checked_item_info.xls
  24. BIN
      VisualInspection_server/src/main/resources/employee_order.xls

+ 1 - 1
VisualInspection/fis-conf.js

@@ -32,7 +32,7 @@ fis.match('*.png', {
 fis.set('date', new Date);
 
 fis.match('*.{js,css,png}', {
-    query: '?t=' + (fis.get('date').getYear() + 1900) 
+    query: '?time=' + (fis.get('date').getYear() + 1900) 
                  + (fis.get('date').getMonth() + 1) 
                  + (fis.get('date').getDate())
 });

+ 2 - 2
VisualInspection/js/config.js

@@ -15,8 +15,8 @@ function getserveraddr() {
     if (base_ui_url.indexOf("jsjtyxt.com") != -1) {
         return "http://server_yanhai.jsxt.jsjtyxt.com/";
     } else if (base_ui_url.indexOf("localhost") != -1) {
-        // return "http://10.112.0.199:7001/"
-             return "http://localhost:8089/"
+        return "http://10.112.0.199:7001/"
+            //  return "http://localhost:8089/"
     } else if (base_ui_url.indexOf("192.168.8.236") != -1) {
         return "http://192.168.8.236:8089/"
     } else {

+ 48 - 36
VisualInspection/js/statistics/assess_ranking.js

@@ -1,4 +1,19 @@
 
+
+$(function(){
+
+    // 道管中心选择变化
+    $("#center-manager").change(function(){
+        $("#fsList").empty();
+        if(GV(this)!=''){
+            getFsStationList(GV(this),function(options){
+                $("#fsList").append(options);
+            });
+        }
+    })
+    // end
+})
+
 function queryEmpClick(){
     //每次点击前清空表格数据
     $(".table-tbody").empty('');
@@ -14,11 +29,20 @@ function queryEmpClick(){
         tip("请选择起止日期");
         return;
     }else{
-        start_date += " 00:00:00";
-        end_date += " 00:00:00";
+        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);
+    var end = new Date(endStr);
+    if(start>end){
+        tip("开始时间不能比结束时间大");
+        return;
     }
     var param = {
-        "dept_id": $("#fsList").val(),
+        "parent_dept_id":GV("#center-manager"),
+        "dept_id": GV("#fsList"),
         "start_date": start_date,
         "end_date": end_date,
     }
@@ -39,8 +63,8 @@ function initQueryEmp(){
     //默认初始化时间页面回显
     $("#start-time").val(start_time);
     $("#end-time").val(end_time);
-    var start_date = start_time+" 00:00:00"; 
-    var end_date = end_time+" 00:00:00"; 
+    var start_date = start_time+" 23:00:00"; 
+    var end_date = end_time+" 23:00:00"; 
 
     var param = {
         "start_date": start_date,
@@ -61,7 +85,7 @@ function getEmployeeInfosClick(url,param,start_score,end_score){
         var count=0;
         for(var i=0;i<data.length;i++){
             var score = 1000-filterByZeroHandle(average(data[i]).toFixed(2),'0');
-            var flag=judgeParamFilter(data, i,score, start_score,end_score)
+            var flag = judgeParamFilter(data, i,score, start_score,end_score)
             if(flag){
                 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>"
@@ -72,8 +96,8 @@ function getEmployeeInfosClick(url,param,start_score,end_score){
                 +"<td width='4%;'>"+getItemScore(data[i], '动作')+"</td><td width='4%;'>"+getItemScore(data[i], '文明用语')+"</td>"
                 +"<td width='4%;'>"+ getItemScore(data[i], '工作纪律') +"</td><td width='4%'>"+getItemScore(data[i], '便民服务')+"</td><td width='4%;'>"
                 +getItemScore(data[i], '安全管理')+"</td><td width='4%;'>"+data[i].check_all_score+"</td>"
-                +"<td width='4%;'>"+filter(data[i].checked_num,'0')+"</td><td width='4%;'>"+filterByZeroHandle(average(data[i]).toFixed(2),'0')+"</td>"
-                +"<td width='4%;'>"+score+"</td><td width='4%;'>"+"</td><td width='4%;'>"+"</td></tr>";
+                +"<td width='4%;'>"+filter(data[i].checked_num,'0')+"</td><td width='4%;'>"+filterSlash(filterByZeroHandle(average(data[i]).toFixed(2),'0'),filter(data[i].checked_num,'0'))+"</td>"
+                +"<td width='4%;'>"+filterSlash(score,filter(data[i].checked_num,'0'))+"</td><td width='4%;'>"+"</td><td width='4%;'>"+"</td></tr>";
                 count++;
             }
         }
@@ -83,6 +107,19 @@ function getEmployeeInfosClick(url,param,start_score,end_score){
     });
 }
 
+/**
+ * 对于受检次数为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){
     var flag1=false;
     if(score>=parseFloat(start_score) && score<=parseFloat(end_score)){
@@ -92,7 +129,6 @@ function judgeParamFilter(data,i,score, start_score,end_score){
     } 
     var checkCount = $("#check_count").val();   
     if(checkCount){
-        console.log("fff:"+filter(data[i].checked_num,'0')+","+(filter(data[i].checked_num,'0')==checkCount));
         if(filter(data[i].checked_num,'0')==checkCount){
             flag2=true;
         }else{
@@ -112,31 +148,7 @@ function judgeParamFilter(data,i,score, start_score,end_score){
         flag3=true;
     }
     return flag1&flag2&flag3;
-} 
-/**
- * init
- * @param {*} url 
- * @param {*} param 
- */
-// function getEmployeeInfos(url,param){
-//     post_common_service( url,param,function(data){
-//         var strTbody='';
-//         for(var i=0;i<data.length;i++){
-//             strTbody+="<tr><td width='67px;'>"+(i+1)+"</td><td width='87px;'>"+data[i].user.fee_station_name+"</td>"
-//                 +"<td width='67px;'>"+data[i].user.truename+"</td><td width='67px;'>"+"</td>"
-//                 +"<td width='87px;'>"+data[i].user.workno+"</td><td width='58px;'>"+ getItemScore(data[i], '环境') +"</td>"
-//                 +"<td width='58px;'>"+getItemScore(data[i], '仪容仪表')+"</td><td width='58px;'>"+getItemScore(data[i], '表情')+"</td>"
-//                 +"<td width='58px;'>"+getItemScore(data[i], '动作')+"</td><td width='58px;'>"+getItemScore(data[i], '文明用语')+"</td>"
-//                 +"<td width='58px;'>"+ getItemScore(data[i], '工作纪律') +"</td><td width='58px'>"+getItemScore(data[i], '便民服务')+"</td><td width='58px'>"
-//                 +getItemScore(data[i], '安全管理')+"</td><td width='58px'>"+data[i].check_all_score+"</td>"
-//                 +"<td width='67px;'>"+filter(data[i].checked_num,'0')+"</td><td width='67px;'>"+filterByZeroHandle(average(data[i]).toFixed(2),'0')+"</td>"
-//                 +"<td width='55px;'>"+(1000-filterByZeroHandle(average(data[i]).toFixed(2),'0'))+"</td><td width='58px;'>"+"</td><td>"+"</td></tr>";
-//         }
-//        $(".table-tbody").append(strTbody);   
-//     },function(error){
-//         return "" ;
-//     });
-// }
+}
 
 function average(obj){
     if(filter(obj.checked_num,'0') == 0){
@@ -208,8 +220,8 @@ function exportExcel(){
         tip("请选择起止日期");
         return ;
     }else{
-        start_date += " 00:00:00";
-        end_date += " 00:00:00";
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
     }
     window.open( getserveraddr() + "/file/employee/order?dept_id="+dept_id+
     "&start_date="+start_date+"&end_date="+end_date+"&start_score="+start_score+"&end_score="+end_score);

+ 101 - 30
VisualInspection/js/statistics/assess_situation.js

@@ -1,4 +1,10 @@
-
+        var lianyungang_Station = new Array;
+        var yancheng_Station = new Array;
+        var nantong_Station = new Array;
+        var r1 = new Array();
+        var r2 = new Array();
+        var r3 = new Array();
+        var rank = new Array();
 function querySituationClick(){
     //每次点击前清空表格数据
     $(".table-tbody").empty('');
@@ -8,10 +14,17 @@ function querySituationClick(){
         tip("请选择起止日期");
                 return ;
     }else{
-        start_date += " 00:00:00";
-        end_date += " 00:00:00";
+        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);
+    var end = new Date(endStr);
+    if(start>end){
+        tip("开始时间不能比结束时间大");
+        return;
     }
-  
     var param = {
         "dept_id": $("#fsList").val(),
         "start_date": start_date,
@@ -20,10 +33,11 @@ function querySituationClick(){
     var url = "statistics/score/info";
     var strTbody='';
     post_common_service( url,param,function(data){
-         
-        for(i=0;i<data.length;i++){
-           $(".table-tbody").append(gethtml(data[i],i));
-             }          
+        // 道管中心排名
+        ranking_method(data);
+            for(i=0;i<data.length;i++){
+                $(".table-tbody").append(gethtml(data[i],i));
+            }          
         },function(error){
                 return "" ;
    });
@@ -40,8 +54,8 @@ function initQuerySituation(){
     //默认初始化时间页面回显
     $("#start-time").val(start_time);
     $("#end-time").val(end_time);
-    var start_date = start_time+" 00:00:00"; 
-    var end_date = end_time+" 00:00:00"; 
+    var start_date = start_time+" 23:00:00"; 
+    var end_date = end_time+" 23:00:00"; 
     
     var param = {
         "start_date": start_date,
@@ -51,36 +65,67 @@ function initQuerySituation(){
     var strTbody='';
    
     post_common_service( url,param,function(data){
-                
-        for(i=0;i<data.length;i++){
-           
-       $(".table-tbody").append(gethtml(data[i],i));
-        }  
-               
+        // 道管中心排名
+        ranking_method(data)
+        for(i=0;i<data.length;i++){       
+             $(".table-tbody").append(gethtml(data[i],i));
+        }         
             },function(error){
                 return "" ;
      });
     
 }
+/**
+ * 道管中心排名
+ * @param {*} data 
+ */
+function ranking_method(data){
+        //清空数组
+        lianyungang_Station.length=0;
+        yancheng_Station.length=0;
+        nantong_Station.length=0;
+        r1.length=0;
+        r2.length=0;
+        r3.length=0;
+        rank.length=0;
+        // 把收费站得分分别添加到3个数组
+        for(i=0;i<data.length;i++){
+            if(i>=0 && i<=6)
+            lianyungang_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
+            else if(i>6 && i<=12)
+            yancheng_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
+            else
+            nantong_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
+        }
+        // 得分转化为3个排名数组
+        for(var i=1;i<=3;i++){
+            station_rank(i);
+        }
+        // 将3个排名数组合并成一个数组
+        rank=r1.concat(r2).concat(r3);
+}
 
 function gethtml(data,i){
     var strTbody = "";
     if(i==0 || i==7 || i==13){
-        num = 1;
+        var ranking;
         var name = "";
         var rowspan = 0;
         if(i==0){
             name = "连云港";
             rowspan = 7;
+            ranking=rank[i];
         }else if(i==7){
             name = "盐城";
             rowspan = 6;
+            ranking=rank[i];
         }else if(i==13){
             name = "南通";
             rowspan = 8;
+            ranking=rank[i];
         }
                 strTbody +="<tr><td rowspan="+rowspan+">"+name+"</td>";
-                strTbody +="<td>"+num+"</td><td>"+data.name+"</td><td>"+filter(data.people_num,0)
+                strTbody +="<td>"+ranking+"</td><td>"+data.name+"</td><td>"+filter(data.people_num,0)
                         +"</td><td>"+filter(data.checked_people_num,0)+"</td><td>"+filter(data.checked_num,0)
                         +"</td><td>"+(data.people_num-(data.score_fifteen+data.score_fifty+data.score_over_fifty))
                         +"</td><td>"+data.score_fifteen+"</td><td>"+data.score_fifty+"</td><td>"
@@ -89,10 +134,8 @@ function gethtml(data,i){
                         +filterByZeroHandle((1000-filterJudge(data.all_check_score,data.checked_num)),'1000')+"</td>";
                 strTbody += "</tr>";
        }else{
-                num ++;
-            
                 strTbody +="<tr>"
-                strTbody +="<td>"+num+"</td><td>"+data.name+"</td><td>"+filter(data.people_num,'0')
+                strTbody +="<td>"+rank[i]+"</td><td>"+data.name+"</td><td>"+filter(data.people_num,'0')
                         +"</td><td>"+filter(data.checked_people_num,0)+"</td><td>"+filter(data.checked_num,'0')
                         +"</td><td>"+(data.people_num-(data.score_fifteen+data.score_fifty+data.score_over_fifty))
                         +"</td><td>"+data.score_fifteen+"</td><td>"+data.score_fifty+"</td><td>"
@@ -105,14 +148,42 @@ function gethtml(data,i){
       return strTbody;
 }
 
-function filter(value , default_display_value){
-        if(value!='' && value!=undefined ){
-            return value ;
-        }else if(default_display_value != undefined){
-            return default_display_value ;
+/**
+ * 排名
+ */
+function station_rank_method(array,rank){
+    rank[0] = 1 ;
+    for(var i=1; i<array.length; i++){
+        if(array[i-1] == array[i]  ){
+            rank[i] = rank[i-1];
         }else{
-            return "" ;
-        }
+            rank[i] = i +1;
+        }				
+    }
+} 
+
+/**
+ * 得分转化为3个排名数组
+ * @param {*} type 
+ */
+function station_rank(type){
+    if(type==1){
+        station_rank_method(lianyungang_Station, r1);
+    }else if(type==2){
+        station_rank_method(yancheng_Station, r2);
+    }else if(type==3){
+        station_rank_method(nantong_Station, r3);
+    }
+}
+
+function filter(value , default_display_value){
+    if(value!='' && value!=undefined ){
+        return value ;
+    }else if(default_display_value != undefined){
+        return default_display_value ;
+    }else{
+        return "" ;
+    }
 }
 
 /**
@@ -146,8 +217,8 @@ function exportExcel(){
         tip("请选择起止日期");
         return ;
     }else{
-        start_date += " 00:00:00";
-        end_date += " 00:00:00";
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
     }
     window.open( getserveraddr() + "/file/score/info?start_date="+start_date+"&end_date="+end_date);
 }

+ 89 - 17
VisualInspection/js/statistics/assess_type.js

@@ -1,4 +1,10 @@
-
+        var lianyungang_Station = new Array;
+        var yancheng_Station = new Array;
+        var nantong_Station = new Array;
+        var r1 = new Array();
+        var r2 = new Array();
+        var r3 = new Array();
+        var rank = new Array();
 /**
  * 点击查询
  */
@@ -12,10 +18,17 @@ function queryTypeClick(){
         tip("请选择起止日期");
                 return ;
     }else{
-        start_date += " 00:00:00";
-        end_date += " 00:00:00";
+        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);
+    var end = new Date(endStr);
+    if(start>end){
+        tip("开始时间不能比结束时间大");
+        return;
     }
-  
     var param = {
         "dept_id": $("#fsList").val(),
         "start_date": start_date,
@@ -44,8 +57,8 @@ function initQueryType(){
     // 默认初始化时间页面回显
     $("#start-time").val(start_time);
     $("#end-time").val(end_time);
-    var start_date = start_time+" 00:00:00"; 
-    var end_date = end_time+" 00:00:00"; 
+    var start_date = start_time+" 23:00:00"; 
+    var end_date = end_time+" 23:00:00"; 
     
     var param = {
         "start_date": start_date,
@@ -74,13 +87,14 @@ function gethtml(data,i,avg,lists){
 
     if(i==0 || i==7 || i==13){
         
-        num = 1;
+        var ranking;
         var name = "";
         var rowspan = 0;
           order = 1;
         if(i==0){
             name = "连云港";
             rowspan = 7;
+            ranking=rank[i];
             for(var i=0;i<lists.length;i++){
                 if(avg > lists[i]){
                     order = order + 1;
@@ -89,6 +103,7 @@ function gethtml(data,i,avg,lists){
         }else if(i==7){
             name = "盐城";
             rowspan = 6;
+            ranking=rank[i];
             for(var i=0;i<lists.length;i++){
                 if(avg > lists[i]){
                     order = order + 1;
@@ -97,6 +112,7 @@ function gethtml(data,i,avg,lists){
         }else if(i==13){
             name = "南通";
             rowspan = 8;
+            ranking=rank[i];
             for(var i=0;i<lists.length;i++){
                 if(avg > lists[i]){
                     order = order + 1;
@@ -104,7 +120,7 @@ function gethtml(data,i,avg,lists){
             }
         }
         strTbody += "<tr><td rowspan="+rowspan+">"+order+"</td>"+"<td rowspan="+rowspan+">"+name+"</td>";
-        strTbody+="<td>"+num+"</td><td>"+data.name+"</td><td>"+filter(data.people_num,'0')
+        strTbody+="<td>"+ranking+"</td><td>"+data.name+"</td><td>"+filter(data.people_num,'0')
                    +"</td><td>"+filter(data.checked_people_num,'0')
                    +"</td><td>"+filter(data.checked_num,'0')+"</td><td>"+getItemScore(data, '环境卫生')
                    +"</td> <td>"+getItemScore(data, '仪容仪表')+"</td><td>"+getItemScore(data, '表情')
@@ -115,9 +131,7 @@ function gethtml(data,i,avg,lists){
                    +"</td><td rowspan="+rowspan+">"+avg+"</td>";
         strTbody += "</tr>";
     }else{
-        num ++;
-         
-        strTbody += "<tr><td>"+num+"</td>";
+        strTbody += "<tr><td>"+rank[i]+"</td>";
         strTbody+="<td>"+data.name+"</td><td>"+data.people_num+"</td><td>"
                   +filter(data.checked_people_num,'0')+"</td><td>"+filter(data.checked_num,'0')
                   +"</td><td>"+getItemScore(data, '环境卫生')+"</td><td>"+getItemScore(data, '仪容仪表')
@@ -138,7 +152,7 @@ function getSum(){}
  * @param {*} data 
  */
 function check_people_avg(data){
-    var dataArray = new Array();
+        var dataArray = new Array();
         var sum = 0;
         var sum1 = 0;
         for(k=0;k<data.length;k++){
@@ -159,9 +173,10 @@ function check_people_avg(data){
                 sum = 0;
                 sum1 = 0;
             }
-        }        
-        //console.log(dataArray)
-     
+        }   
+        // 道管下的收费站排名     
+        ranking_method(data);
+
         for(i=0;i<data.length;i++){
            if(i==0){
                 $(".table-tbody").append(gethtml(data[i],i,dataArray[0],dataArray));
@@ -175,6 +190,63 @@ function check_people_avg(data){
            }
         } 
 }
+/**
+ * 道管下的收费站排名
+ * @param {*} data 
+ */
+function ranking_method(data){
+        //清空数组
+        lianyungang_Station.length=0;
+        yancheng_Station.length=0;
+        nantong_Station.length=0;
+        r1.length=0;
+        r2.length=0;
+        r3.length=0;
+        rank.length=0;
+        // 把收费站得分分别添加到3个数组
+        for(i=0;i<data.length;i++){
+            if(i>=0 && i<=6)
+            lianyungang_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
+            else if(i>6 && i<=12)
+            yancheng_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
+            else
+            nantong_Station.push(filterByZeroHandle(filterJudge(data[i].all_check_score,data[i].checked_num),'0'));
+        }
+        // 得分转化为3个排名数组
+        for(var i=1;i<=3;i++){
+            station_rank(i);
+        }
+        // 将3个排名数组合并成一个数组
+        rank=r1.concat(r2).concat(r3);
+}
+
+/**
+ * 排名
+ */
+function station_rank_method(array,rank){
+    rank[0] = 1 ;
+    for(var i=1; i<array.length; i++){
+        if(array[i-1] == array[i]  ){
+            rank[i] = rank[i-1];
+        }else{
+            rank[i] = i +1;
+        }				
+    }
+} 
+
+/**
+ * 得分转化为排名
+ * @param {*} type 
+ */
+function station_rank(type){
+    if(type==1){
+        station_rank_method(lianyungang_Station, r1);
+    }else if(type==2){
+        station_rank_method(yancheng_Station, r2);
+    }else if(type==3){
+        station_rank_method(nantong_Station, r3);
+    }
+}
 
 /**
  * 过滤undefined
@@ -239,8 +311,8 @@ function exportExcel(){
         tip("请选择起止日期");
         return ;
     }else{
-        start_date += " 00:00:00";
-        end_date += " 00:00:00";
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
     }
     window.open( getserveraddr() + "/file/score/item/info?start_date="+start_date+"&end_date="+end_date);
 }

+ 2 - 2
VisualInspection/js/statistics/change_attendance.js

@@ -74,10 +74,10 @@ function getFsWorkInfo(){
     post_common_service("statistics/fs/unregular/work/info",param,function(data){
         // 月份变化
         monthChange();
-        $(".table-tbody").empty();
+        $("#ca-a-table").empty();
         if(data.length >0){
             for(var i=0;i< data.length;i++){
-                $(".table-tbody").append( getTableContent(data[i],i+1));
+                $("#ca-a-table").append( getTableContent(data[i],i+1));
             }
         }
     },function(error){

+ 4 - 2
VisualInspection/js/statistics/change_work.js

@@ -70,11 +70,13 @@ function getFsWorkInfo(){
     }
 
     post_common_service("statistics/fs/unregular/work/person",param,function(data){
-   
+        var seq = 1 ;
         $(".table-tbody").empty();
         if(data.length >0){
             for(var i=0;i< data.length;i++){
-                $(".table-tbody").append( getTableContent(data[i],i+1));
+                if(data[i].userName != undefined){
+                    $(".table-tbody").append( getTableContent(data[i],seq++));
+                }
             }
         }
     },function(error){

+ 30 - 31
VisualInspection/js/statistics/common_attendance.js

@@ -50,40 +50,39 @@ $(function(){
         getFsWorkInfo();
     })
     // end
-})
-
-/**
- * 检索出勤明细数据
- * @param {*} param 
- */
-function getFsWorkInfo(){
-
-    var param = {
-        "start_time": "2017-"+(GV("#sel_month")-1)+"-25 23:00:00" ,
-        "end_time": "2017-"+GV("#sel_month")+"-25 23:00:00"
-    }
-    
-    if(GV("#fs_employee")!=''){
-            param[ 'user_id'] = GV("#fs_employee");
-    }else if(GV("#fs_station")!=''){
-        param[ 'dept_id' ] = GV("#fs_station");
-    }else if(GV("#center_manage") != ''){
-            param[ 'parent_dept_id' ] = GV("#center_manage");
-    }
+    /**
+     * 检索出勤明细数据
+     * @param {*} param 
+     */
+    function getFsWorkInfo(){
+
+        var param = {
+            "start_time": "2017-"+(GV("#sel_month")-1)+"-25 23:00:00" ,
+            "end_time": "2017-"+GV("#sel_month")+"-25 23:00:00"
+        }
+        
+        if(GV("#fs_employee")!=''){
+                param[ 'user_id'] = GV("#fs_employee");
+        }else if(GV("#fs_station")!=''){
+            param[ 'dept_id' ] = GV("#fs_station");
+        }else if(GV("#center_manage") != ''){
+                param[ 'parent_dept_id' ] = GV("#center_manage");
+        }
 
-    post_common_service("statistics/fs/work/info",param,function(data){
-        // 月份变化
-        monthChange();
-        $(".table-tbody").empty();
-        if(data.length >0){
-            for(var i=0;i< data.length;i++){
-                $(".table-tbody").append( getTableContent(data[i],i+1));
+        post_common_service("statistics/fs/work/info",param,function(data){
+            // 月份变化
+            monthChange();
+            $("#c-a-tbody").empty();
+            if(data.length >0){
+                for(var i=0;i< data.length;i++){
+                    $("#c-a-tbody").append( getTableContent(data[i],i+1));
+                }
             }
-        }
-    },function(error){
-    });
-}
+        },function(error){
+        });
+    }
 
+})
 /**
  * 拼接表格内容
  * @param {*} obj 

+ 4 - 1
VisualInspection/js/statistics/common_work.js

@@ -73,8 +73,11 @@ function getFsWorkInfo(){
    
         $(".table-tbody").empty();
         if(data.length >0){
+            var seq = 1;
             for(var i=0;i< data.length;i++){
-                $(".table-tbody").append( getTableContent(data[i],i+1));
+                if(data[i].userName != undefined){
+                    $(".table-tbody").append( getTableContent(data[i],seq++));
+                }
             }
         }
     },function(error){

+ 8 - 8
VisualInspection/js/statistics/personal_data_statistics.js

@@ -11,8 +11,8 @@ var hide = false;
 // 默认初始化日期一个月
 $(".div-start input").val(new Date().getFullYear()+"-"+new Date().getMonth()+"-"+new Date().getDate());
 $(".div-end input").val(new Date().getFullYear()+"-"+(new Date().getMonth()+1)+"-"+new Date().getDate());
-var start_date = $(".div-start input").val()+" 00:00:00";
-var end_date = $(".div-end input").val()+" 23:59:59";
+var start_date = $(".div-start input").val()+" 23:00:00";
+var end_date = $(".div-end input").val()+" 23:00:00";
 
 
 /**
@@ -72,8 +72,8 @@ $(function(){
 
 	$(".query button").click(function(){
         var user_id = $("#select-personal").val();
-		var start_date = $(".div-start input").val()+" 00:00:00";
-		var end_date = $(".div-end input").val()+" 23:59:59";
+		var start_date = $(".div-start input").val()+" 23:00:00";
+		var end_date = $(".div-end input").val()+" 23:00:00";
 		var startStr = start_date.replace(/-/g, '/');
 		var endStr = end_date.replace(/-/g, '/');
 		var start = new Date(startStr);
@@ -215,8 +215,8 @@ $(function(){
 			}else{
 				sec.innerHTML='';	
 			}
-            var start_date = $(".div-start input").val()+" 00:00:00";
-            var end_date = $(".div-end input").val()+" 23:59:59";
+            var start_date = $(".div-start input").val()+" 23:00:00";
+            var end_date = $(".div-end input").val()+" 23:00:00";
             var user_id = $("#select-personal").val();
 			// 页面初始化
             initAppealPage(start_date,end_date,user_id);
@@ -337,7 +337,7 @@ $(function(){
 			option = {
 				tooltip : {
 					trigger: 'item',
-					formatter:  "个人服务检查问题占比 <br/>{b} : {d}%"
+					formatter:  "个人服务检查问题占比 <br/>{b} : {c}分 ({d}%)"
 				},
 				toolbox: {
 					show : true,
@@ -369,7 +369,7 @@ $(function(){
 						normal:{ 
 							label:{ 
 								show: true, 
-								formatter: '{b} : {d}%'  
+								formatter: '{b} : {c}分 ({d}%)'  
 							}, 
 							labelLine :{show:true} 
 							} 

+ 4 - 4
VisualInspection/js/statistics/road_manage_statistics.js

@@ -503,7 +503,7 @@ $(function(){
 			option = {
 				tooltip : {
 					trigger: 'item',
-					formatter:  "道管中心考核扣分占比 <br/>{b} : {d}%"
+					formatter:  "道管中心考核扣分占比 <br/>{b} : {c}人 ({d}%)"
 				},
 				toolbox: {
 					show : true,
@@ -535,7 +535,7 @@ $(function(){
 						normal:{ 
 							label:{ 
 								show: true, 
-								formatter: '{b} : {d}%'  
+								formatter: '{b} : {c}人 ({d}%)'  
 							}, 
 							labelLine :{show:true} 
 							} 
@@ -732,7 +732,7 @@ $(function(){
 			option = {
 				tooltip : {
 					trigger: 'item',
-					formatter:  "温馨服务检查占比 <br/>{b} : {d}%"
+					formatter:  "温馨服务检查占比 <br/>{b} : {c}分 ({d}%)"
 				},
 				toolbox: {
 					show : true,
@@ -764,7 +764,7 @@ $(function(){
 						normal:{ 
 							label:{ 
 								show: true, 
-								formatter: '{b} : {d}%'  
+								formatter: '{b} : {c}分 ({d}%)'  
 							}, 
 							labelLine :{show:true} 
 							} 

+ 25 - 8
VisualInspection/js/statistics/toll_station_statistics.js

@@ -295,9 +295,10 @@ $(function(){
 		}else if(type == 4){
 			array_score_order.length=0;
 			array_score_data.length=0;
+			var m = 1;	
 			if(data!='' && data.length!=0){
 				for(var i=0;i<data.length;i++){
-					array_score_order.push(data[i].user.truename +"\n"+ (i+1));
+					//array_score_order.push(data[i].user.truename +"\n"+ (i+1));
 					array_score_data.push((1000-filter(data[i].all_check_score,data[i].checked_num,0)));
 				}
 			}else{
@@ -308,6 +309,22 @@ $(function(){
 			min_score = 0;
 			else
 			min_score = eval("Math.min(" + array_score_data.toString() + ")").toFixed(0)-10;
+			
+			// 给得分人员排名次
+			var rank = new Array();
+			rank[0] = 1 ;
+			for(var i=1; i<array_score_data.length; i++){
+				if(array_score_data[i-1] == array_score_data[i]  ){
+					rank[i] = rank[i-1];
+				}else{
+					rank[i] = i +1;
+				}				
+			}
+			//console.log(rank);
+			for(var i=0;i<array_score_data.length;i++){
+				array_score_order.push(data[i].user.truename +"\n"+ (rank[i]));
+			}
+
 		}else if(type == 5){
 		array_check_type.length=0;
 				if(data.length != 0){
@@ -613,7 +630,7 @@ $(function(){
 			option = {
 				tooltip : {
 					trigger: 'item',
-					formatter:  "收费站考核扣分占比 <br/>{b} : {d}%"
+					formatter:  "收费站考核扣分占比 <br/>{b} : {c}人 ({d}%)"
 				},
 				toolbox: {
 					show : true,
@@ -645,7 +662,7 @@ $(function(){
 						normal:{ 
 							label:{ 
 								show: true, 
-								formatter: '{b} : {d}%'  
+								formatter: '{b} : {c}人 ({d}%)'  
 							}, 
 							labelLine :{show:true} 
 							} 
@@ -772,9 +789,9 @@ $(function(){
 				calculable : true,
 				xAxis : [
 					{
-							axisLabel: {  
-				interval:0
-				}  ,
+						axisLabel: {  
+						interval:0
+						}  ,
 						type : 'category',
 						data : array_score_order
 					}
@@ -819,7 +836,7 @@ $(function(){
 			option = {
 				tooltip : {
 					trigger: 'item',
-					formatter:  "温馨服务检查占比 <br/>{b} : {d}%"
+					formatter:  "温馨服务检查占比 <br/>{b} : {c}分 ({d}%)"
 				},
 				toolbox: {
 					show : true,
@@ -851,7 +868,7 @@ $(function(){
 						normal:{ 
 							label:{ 
 								show: true, 
-								formatter: '{b} : {d}%'  
+								formatter: '{b} : {c}分 ({d}%)'  
 							}, 
 							labelLine :{show:true} 
 							} 

+ 27 - 7
VisualInspection/js/statistics/total_company_statistics.js

@@ -240,7 +240,7 @@ $(function(){
 			array_allStation.length=0;
             for(var i=0;i<data.length;i++){
 				if(data!='' && data.length!=0){
-					array_allStation.push(data[i].feeStationName.substr(0,data[i].feeStationName.length-3));
+					//array_allStation.push(data[i].feeStationName.substr(0,data[i].feeStationName.length-3));
 					array_allStation_score.push((1000-(filter_handler(data[i].all_check_score,data[i].checked_num,data[i].people_num,0))));
 				}else{
 					array_allStation_score.length=0;
@@ -251,6 +251,21 @@ $(function(){
 				min_allStation = 0;
 				else
 				min_allStation = eval("Math.min(" + array_allStation_score.toString() + ")").toFixed(0)-10;
+
+				// 给收费站排名次
+				var rank = new Array();
+				rank[0] = 1 ;
+				for(var i=1; i<array_allStation_score.length; i++){
+					if(array_allStation_score[i-1] == array_allStation_score[i]  ){
+						rank[i] = rank[i-1];
+					}else{
+						rank[i] = i +1;
+					}				
+				}
+				//console.log(rank);
+				for(var i=0;i<array_allStation_score.length;i++){
+					array_allStation.push(data[i].feeStationName.substr(0,data[i].feeStationName.length-3)+"\n"+ (rank[i]));
+				}
 		}else if(type == 5){
 			array_check_type = [];
                 if(data.length != 0){
@@ -444,7 +459,7 @@ $(function(){
 			option = {
 				tooltip : {
 					trigger: 'item',
-					formatter:  "公司考核扣分占比 <br/>{b} : {d}%"
+					formatter:  "公司考核扣分占比 <br/>{b} : {c}人 ({d}%)"
 				},
 				toolbox: {
 					show : true,
@@ -476,8 +491,7 @@ $(function(){
 						normal:{ 
 							label:{ 
 								show: true, 
-								// formatter: '{b} : {c} ({d}%)' 
-								formatter: '{b} : {d}%'  
+							    formatter: '{b} : {c}人 ({d}%)'
 							}, 
 							labelLine :{show:true} 
 							} 
@@ -504,7 +518,10 @@ $(function(){
                 },
 				calculable : true,
 				xAxis : [
-					{
+					{    
+						axisLabel: {  
+						interval:0
+						}  ,
 						type : 'category',
 						data : array_road
 					}
@@ -556,6 +573,9 @@ $(function(){
 				calculable : true,
 				xAxis : [
 					{
+						axisLabel: {  
+						interval:0
+						}  ,
 						type : 'category',
 						data : array_allStation
 					}
@@ -599,7 +619,7 @@ $(function(){
 			option = {
 				tooltip : {
 					trigger: 'item',
-					formatter:  "温馨服务检查占比 <br/>{b} : {d}%"
+					formatter:  "温馨服务检查占比 <br/>{b} : {c}分 ({d}%)"
 				},
 				toolbox: {
 					show : true,
@@ -631,7 +651,7 @@ $(function(){
 						normal:{ 
 							label:{ 
 								show: true, 
-								formatter: '{b} : {d}%'  
+								formatter: '{b} : {c}分 ({d}%)'  
 							}, 
 							labelLine :{show:true} 
 							} 

+ 1 - 1
VisualInspection/js/user/login.js

@@ -42,7 +42,7 @@ $(document).ready(function() {
             // host = "http://"+window.location.host+"/";
             // base_image_server_url = host;
             // base_ui_url = host;
-            window.location.href = base_ui_url + "view/main.html"
+            window.location.href = base_ui_url + "view/main.html?time="+(Date.parse(new Date()))
 
         }, function(error) {
             $btn.button('reset');

+ 1 - 1
VisualInspection/view/statistics/change_attendance.html

@@ -102,7 +102,7 @@
                         <th>班次</th>
                     </tr>
                   </thead>
-                  <tbody class="table-tbody" style="background:white" align="center" height="500px">
+                  <tbody class="table-tbody" id="ca-a-table" style="background:white" align="center" height="500px">
 
                   </tbody>
                   </table>

+ 1 - 1
VisualInspection/view/statistics/common_attendance.html

@@ -102,7 +102,7 @@
                         <th>班次</th>
                     </tr>
                   </thead>
-                  <tbody class="table-tbody" style="background:white" align="center" height="500px">
+                  <tbody class="table-tbody" id="c-a-tbody" style="background:white" align="center" height="500px">
 
                   </tbody>
                   </table>

+ 33 - 32
VisualInspection/view/statistics/emp_ranking.html

@@ -1,12 +1,22 @@
 <script src="/js/statistics/assess_ranking.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">
+                <label for="exampleInputAccount1" class="col-sm-1">道管中心</label>
+                <div class="col-sm-2" style="width:150px;">
+                    <select class="form-control"  id="center-manager">
+                        <option selected value="">全部</option>
+                        <option  value="30">连云港</option>
+                        <option value="31">盐城</option>
+                        <option value="32">南通</option>
+                    </select>
+                </div>
                 <label for="exampleInputAccount1" class="col-sm-1">部门</label>
-                <div class="col-sm-2">
-                    <select class="form-control" id="fsList">
+                <div class="col-sm-2" style="width:150px;">
+                    <select class="form-control"  id="fsList">
                     </select>
                 </div>
                 <label for="exampleInputAccount1" class="col-sm-1">查询日期</label>
@@ -16,16 +26,7 @@
                 <div class="col-sm-3">
                     <input type="text" id="end-time" class="form-control form-date" placeholder="结束日期">
                 </div>
-                <div class="div-score">
-                    <label for="exampleInputAccount1" class="lable-score">得分区间</label>
-                </div>
-                <div class="col-sm-3" style="width:60px;">
-                    <input type="text" id="start-score" class="form-control form-date" style="width:60px;" value="0">
-                </div>
-                <div class="to-score" style="float:left;margin-left:20px;padding-top: 6px;"><label> - </label></div>
-                <div class="col-sm-4" style="width:60px;margin-left:10px;">
-                    <input type="text" id="end-score" class="form-control form-date" style="width:60px;" value="1000">
-                </div>
+                
                 <div class="col-sm-5">
                     <button class="btn btn-primary " type="button" onclick="queryEmpClick()">查询</button>
                 </div>
@@ -35,14 +36,23 @@
             </div>
             <div class="form-group">
                 <label for="exampleInputAccount1" class="col-sm-1">考核次数</label>
-                <div class="col-sm-2">
+                <div class="col-sm-2" style="width:150px;">
                     <input type="text" id="check_count" class="form-control" value="">
                 </div>
                 <label for="exampleInputAccount1" class="col-sm-1">职位</label>
-                <div class="col-sm-2" style="width:200px;">
+                <div class="col-sm-2" style="width:150px;">
                     <select class="form-control" id="jobSelect">
                     </select>
                 </div>
+                <label for="exampleInputAccount1" class="col-sm-1">得分区间</label>
+                <div class="col-sm-3" style="width:60px;">
+                    <input type="text" id="start-score" class="form-control form-date" style="width:60px;" value="0">
+                </div>
+                <div class="to-score" style="float:left;margin-left:20px;padding-top: 6px;"><label> - </label></div>
+                <div class="col-sm-4" style="width:60px;margin-left:10px;">
+                    <input type="text" id="end-score" class="form-control form-date" style="width:60px;" value="1000">
+                </div>
+
             </div>
         </form>
     </div>
@@ -70,10 +80,13 @@
                             <th width="4%">扣分合计</th>
                             </tr>
                         </thead>
+                        <tbody class="table-tbody" style="background:white; " align="center">
+
+                        </tbody>   
                     </table>
                 </div>
             </div>
-            <div id="scrollTable" style="height:300px;overflow:scroll;">
+            <!--<div id="scrollTable" style="height:300px;overflow:scroll;">
                  <table style="border-top:0;" border="1" width="100%"  align="center">
                     <thead class="table-thead" style="height:0;" align="center">
                         <tr style="display:none;">
@@ -96,7 +109,7 @@
 
                     </tbody>   
                  </table>  
-            </div>
+            </div>-->
     </div>
 </div>
 <script>
@@ -105,21 +118,8 @@
         // 设置滚动表格的高度
         $("#scrollTable").height(  $(window).height()  - 360 );
 
-        // 仅选择日期
-        $("#start-time").datetimepicker(
-        {
-            language:  "zh-CN",
-            weekStart: 1,
-            todayBtn:  1,
-            autoclose: 1,
-            todayHighlight: 1,
-            startView: 2,
-            minView: 2,
-            forceParse: 0,
-            format: "yyyy-mm-dd"
-        });
-        // 仅选择日期
-        $("#end-time").datetimepicker(
+        // 仅选择日期 开始 ,结束时间
+        $("#start-time,#end-time").datetimepicker(
         {
             language:  "zh-CN",
             weekStart: 1,
@@ -131,7 +131,8 @@
             forceParse: 0,
             format: "yyyy-mm-dd"
         });
-        setFeSelect("#fsList");
+      
+   //     setFeSelect("#fsList");
         initQueryEmp();
     });
 </script>

+ 1 - 14
VisualInspection/view/statistics/personal_data_statistics.html

@@ -72,20 +72,7 @@
     $(document).ready(function() {
         
         // 仅选择日期
-        $(".div-start input").datetimepicker(
-        {
-            language:  "zh-CN",
-            weekStart: 1,
-            todayBtn:  1,
-            autoclose: 1,
-            todayHighlight: 1,
-            startView: 2,
-            minView: 2,
-            forceParse: 0,
-            format: "yyyy-mm-dd"
-        });
-        // 仅选择日期
-        $(".div-end input").datetimepicker(
+        $(".div-start input,.div-end input").datetimepicker(
         {
             language:  "zh-CN",
             weekStart: 1,

+ 6 - 3
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/StatisticsBean.java

@@ -19,6 +19,9 @@ public class StatisticsBean {
     //编号
     private Integer id;
  
+    // 父部门id
+    private Long parent_dept_id ;
+    
     // 部门id
     private Long dept_id;
     
@@ -35,7 +38,7 @@ public class StatisticsBean {
     
     private String name ;
     
-    private Integer score;
+    private int score;
     
     private Integer item_id ;
 
@@ -129,9 +132,9 @@ public class StatisticsBean {
 				return 0;
 			}	
 		}else{
-			if(this.getChecked_num() == 0){
+			if(this.getChecked_num() == 0 && o2.getChecked_num()!=0 ){
 				return -1 ;
-			}else if(o2.getChecked_num() ==0){
+			}else if(o2.getChecked_num() ==0 && this.getChecked_num() != 0){
 				return 1;
 			}else{
 				return 0;

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

@@ -370,7 +370,7 @@
     <select id="selectFsWork" parameterType="com.xintong.visualinspection.bean.StatisticsFsWork" resultMap="statisticsFsWork">
     	SELECT t.* , ct.id AS check_id  FROM sys_user_class t 
     		LEFT JOIN check_task ct ON t.id = ct.user_class_id AND ct.check_status != 22 AND t.class_type = ct.class_type AND t.user_id = ct.checked_person
-    		WHERE 1=1
+    		WHERE 1=1 AND t.user_id IS NOT NULL
     		<include refid="select_Fswork_condition" />
     		ORDER BY t.work_date , t.user_id
     </select>
@@ -378,7 +378,7 @@
     <select id="selectFsWorkGather" parameterType="com.xintong.visualinspection.bean.StatisticsFsWork" resultType="com.xintong.visualinspection.bean.StatisticsFsWork">
     	SELECT COUNT(DISTINCT(work_date)) AS work_days , SUM( TIMESTAMPDIFF(MINUTE, t.start_time,t.end_time)) AS work_minutes , t.* 
     	FROM sys_user_class t 
-    	WHERE 1=1 
+    	WHERE 1=1 AND t.user_id IS NOT NULL
     	<include refid="select_Fswork_condition"/>
     	GROUP BY t.user_id
     </select>
@@ -386,7 +386,7 @@
     <select id="selectFsUnregularWork" parameterType="com.xintong.visualinspection.bean.StatisticsFsWork" resultMap="statisticsFsWork">
     	SELECT t.* , ct.id AS check_id  FROM sys_user_class_unregular t 
     		LEFT JOIN check_task ct ON t.id = ct.user_class_unregular_id  AND ct.check_status != 22 AND t.class_type = ct.class_type AND t.user_id = ct.checked_person
-    		WHERE 1=1   
+    		WHERE 1=1   AND t.user_id IS NOT NULL
     		<include refid="select_Fswork_condition" />
     		ORDER BY t.work_date
     </select>
@@ -394,7 +394,7 @@
     <select id="selectFsUnregularWorkGather" parameterType="com.xintong.visualinspection.bean.StatisticsFsWork" resultType="com.xintong.visualinspection.bean.StatisticsFsWork">
     	SELECT COUNT(DISTINCT(work_date)) AS work_days , SUM( TIMESTAMPDIFF(MINUTE, t.start_time,t.end_time)) AS work_minutes , t.* 
     	FROM sys_user_class_unregular t 
-    	WHERE 1=1 
+    	WHERE 1=1 AND t.user_id IS NOT NULL
     	<include refid="select_Fswork_condition"/>
     	GROUP BY t.user_id
     </select>
@@ -402,7 +402,7 @@
     <select id="selectFsWorkGatherGroupByWorkType" parameterType="com.xintong.visualinspection.bean.StatisticsFsWork" resultMap="statisticsFsWork" >
     	SELECT COUNT(DISTINCT(work_date)) AS work_days , t.* 
     	FROM sys_user_class t 
-    	WHERE 1=1 
+    	WHERE 1=1 AND t.user_id IS NOT NULL
     	<include refid="select_Fswork_condition"/>
     	GROUP BY t.user_id , t.class_type
     </select>
@@ -410,7 +410,7 @@
     <select id="selectFsUnregularWorkGatherGroupByWorkType" parameterType="com.xintong.visualinspection.bean.StatisticsFsWork" resultMap="statisticsFsWork">
     	SELECT COUNT(DISTINCT(work_date)) AS work_days , t.* 
     	FROM sys_user_class_unregular t 
-    	WHERE 1=1 
+    	WHERE 1=1  AND t.user_id IS NOT NULL
     	<include refid="select_Fswork_condition"/>
     	GROUP BY t.user_id , t.class_type
     </select>

+ 35 - 11
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/StatisticsServiceImpl.java

@@ -82,8 +82,12 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 		}
 		user.setPosition_ids(positionList);
 
-		if (obj.getDept_id() != null)
-			user.setOrganid(obj.getDept_id().intValue());
+		if (obj.getDept_id() != null){
+			user.setOrganid(obj.getDept_id().intValue());			
+		}
+		if(obj.getParent_dept_id()!=null){
+			user.setParent_organid(obj.getParent_dept_id().intValue());
+		}
 		List<User> listUserts = userInfoDao.getUsers(user);
 		for (User u : listUserts) {
 			u.setPassword(null);
@@ -98,7 +102,7 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 		for (StatisticsBean statisticsBean : list) {
 			if (statisticBoMap.containsKey(statisticsBean.getUser_id())) {
 				StatisticsBo tmp = statisticBoMap.get(statisticsBean.getUser_id());
-				if (statisticsBean.getName() != null && statisticsBean.getScore() != null) {
+				if (statisticsBean.getName() != null ) {
 					tmp.getChecked_socre_name().add(statisticsBean.getName());
 					tmp.getChecked_score().add(statisticsBean.getScore());
 					tmp.setCheck_all_score(tmp.getCheck_all_score() + statisticsBean.getScore());
@@ -124,33 +128,53 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 		});
 		// 道管Map
 		Map<String,Integer> center_ranking = new HashMap<>();
+		Map<String,StatisticsBo> center_ranking2 = new HashMap<>();
 		center_ranking.put("30",1);
 		center_ranking.put("31",1);
 		center_ranking.put("32",1);
 		
+		center_ranking2.put("30",null);
+		center_ranking2.put("31",null);
+		center_ranking2.put("32",null);
+		
 		Map<String,Integer> fee_ranking= new HashMap<>();
+		Map<String,StatisticsBo> fee_ranking2= new HashMap<>();
 		// 这边需要对道管和收费站内的员工进行排名
 		List<FeeStation> list_feeStation = departmentDao.getAllFS();
 		for(FeeStation fee: list_feeStation){
 			fee_ranking.put(fee.getDeptid(), 1);
+			fee_ranking2.put(fee.getDeptid(), null);
 		}
 		
 		for(int i=0;i<lists.size();i++){
 			// 累计道管排名
 			String centerId= lists.get(i).getUser().getParent_organid().toString();
-			lists.get(i).setCenter_ranking(center_ranking.get(centerId));
-			center_ranking.put(centerId,center_ranking.get(centerId) +1 );
+			if(i>0 && center_ranking2.get(centerId)!=null  && lists.get(i).compareTo( center_ranking2.get(centerId)) ==0 ){
+				lists.get(i).setCenter_ranking(center_ranking2.get(centerId).getCenter_ranking());
+			}else{					
+				lists.get(i).setCenter_ranking(center_ranking.get(centerId));
+				center_ranking2.put(centerId, lists.get(i));
+			}
+			center_ranking.put(centerId,center_ranking.get(centerId) +1 );					
 
+			
 			// 累计收费站的排名
 			String feeStationId= lists.get(i).getUser().getOrganid().toString();
-			lists.get(i).setFee_station_ranking(fee_ranking.get(feeStationId));
+			if(i>0 && fee_ranking2.get(feeStationId)!=null &&  lists.get(i).compareTo(fee_ranking2.get(feeStationId)) ==0 ){
+				lists.get(i).setFee_station_ranking(fee_ranking2.get(feeStationId).getFee_station_ranking());	
+			}else{
+				lists.get(i).setFee_station_ranking(fee_ranking.get(feeStationId));	
+				fee_ranking2.put(feeStationId, lists.get(i));
+			}
 			fee_ranking.put(feeStationId, fee_ranking.get(feeStationId)+1);
 			
 			// 公司排名
-			lists.get(i).setCompany_ranking(i+1);
-			
+			if(i>0 && lists.get(i-1).compareTo(lists.get(i)) == 0 ){
+				lists.get(i).setCompany_ranking( lists.get(i-1).getCompany_ranking());
+			}else{
+				lists.get(i).setCompany_ranking(i+1);
+			}
 		}
-		
 		return lists;
 	}
 
@@ -775,7 +799,7 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 		List<StatisticsBean> objList = statisticsDao.selectCheckedItemScoreInfo(obj);
 		
 		for(int i=0;i < objList.size();i++){
-			objList.get(0).setPeople_num(people_num);
+			objList.get(i).setPeople_num(people_num);
 		}
 		
 		map.put("Tmth",objList ) ;
@@ -785,7 +809,7 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 		objList = statisticsDao.selectCheckedItemScoreInfo(obj);
 		
 		for(int i=0;i < objList.size();i++){
-			objList.get(0).setPeople_num(people_num);
+			objList.get(i).setPeople_num(people_num);
 		}
 		
 		map.put("Pmth",objList );

BIN
VisualInspection_server/src/main/resources/checked_info.xls


BIN
VisualInspection_server/src/main/resources/checked_item_info.xls


BIN
VisualInspection_server/src/main/resources/employee_order.xls