Pārlūkot izejas kodu

统计bug修改

wangjianguo 8 gadi atpakaļ
vecāks
revīzija
b8381055fd

+ 93 - 16
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('');
@@ -20,10 +26,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 "" ;
    });
@@ -51,36 +58,70 @@ 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'));
+        }
+        console.log(lianyungang_Station+" : "+yancheng_Station+" : "+nantong_Station)
+        // 得分转化为3个排名数组
+        for(var i=1;i<=3;i++){
+            station_rank(i);
+        }
+        // 将3个排名数组合并成一个数组
+        rank=r1.concat(r2).concat(r3);
+        console.log(r1+';'+r2+';'+r3+" : "+rank); 
+
+}
 
 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 +130,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>"
@@ -104,6 +143,44 @@ function gethtml(data,i){
       }
       return strTbody;
 }
+/**
+ * 得分转化为3个排名数组
+ * @param {*} type 
+ */
+function station_rank(type){
+    var m=1;
+    if(type==1){
+        for(i=0;i<lianyungang_Station.length;i++){
+            if(lianyungang_Station[i]==lianyungang_Station[0]){
+                r1.splice(i,0,m)
+            }else if(lianyungang_Station[i]==lianyungang_Station[i-1]){
+                r1.splice(i,0,m)
+            }else if(lianyungang_Station[i]>lianyungang_Station[0]){
+                r1.splice(i,0,++m)
+            }
+        }
+    }else if(type==2){
+        for(i=0;i<yancheng_Station.length;i++){
+            if(yancheng_Station[i]==yancheng_Station[0]){
+                r2.splice(i,0,m)
+            }else if(yancheng_Station[i]==yancheng_Station[i-1]){
+                r2.splice(i,0,m)
+            }else if(yancheng_Station[i]>yancheng_Station[0]){
+                r2.splice(i,0,++m)
+            }
+        }
+    }else if(type==3){
+        for(i=0;i<nantong_Station.length;i++){
+            if(nantong_Station[i]==nantong_Station[0]){
+                r3.splice(i,0,m)
+            }else if(nantong_Station[i]==nantong_Station[i-1]){
+                r3.splice(i,0,m)
+            }else if(nantong_Station[i]>nantong_Station[0]){
+                r3.splice(i,0,++m)
+            }
+        }
+    }
+}
 
 function filter(value , default_display_value){
         if(value!='' && value!=undefined ){

+ 89 - 10
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();
 /**
  * 点击查询
  */
@@ -74,13 +80,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 +96,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 +105,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 +113,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 +124,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 +145,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 +166,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 +183,77 @@ 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'));
+        }
+        console.log(lianyungang_Station+" : "+yancheng_Station+" : "+nantong_Station);
+        // 得分转化为3个排名数组
+        for(var i=1;i<=3;i++){
+            station_rank(i);
+        }
+        // 将3个排名数组合并成一个数组
+        rank=r1.concat(r2).concat(r3);
+        console.log(r1+';'+r2+';'+r3+" : "+rank);
+}
+
+/**
+ * 得分转化为排名
+ * @param {*} type 
+ */
+function station_rank(type){
+    var m=1;
+    if(type==1){
+        for(i=0;i<lianyungang_Station.length;i++){
+            if(lianyungang_Station[i]==lianyungang_Station[0]){
+                r1.splice(i,0,m)
+            }else if(lianyungang_Station[i]==lianyungang_Station[i-1]){
+                r1.splice(i,0,m)
+            }else if(lianyungang_Station[i]>lianyungang_Station[0]){
+                r1.splice(i,0,++m)
+            }
+        }
+    }else if(type==2){
+        for(i=0;i<yancheng_Station.length;i++){
+            if(yancheng_Station[i]==yancheng_Station[0]){
+                r2.splice(i,0,m)
+            }else if(yancheng_Station[i]==yancheng_Station[i-1]){
+                r2.splice(i,0,m)
+            }else if(yancheng_Station[i]>yancheng_Station[0]){
+                r2.splice(i,0,++m)
+            }
+        }
+    }else if(type==3){
+        debugger
+        for(i=0;i<nantong_Station.length;i++){
+            if(nantong_Station[i]==nantong_Station[0]){
+                r3.splice(i,0,m)
+            }else if(nantong_Station[i]==nantong_Station[i-1]){
+                r3.splice(i,0,m)
+            }else if(nantong_Station[i]>nantong_Station[0]){
+                r3.splice(i,0,++m)
+            }
+        }
+    }
+}
 
 /**
  * 过滤undefined

+ 19 - 1
VisualInspection/js/statistics/toll_station_statistics.js

@@ -295,9 +295,11 @@ $(function(){
 		}else if(type == 4){
 			array_score_order.length=0;
 			array_score_data.length=0;
+			var rank = new Array();
+			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 +310,22 @@ $(function(){
 			min_score = 0;
 			else
 			min_score = eval("Math.min(" + array_score_data.toString() + ")").toFixed(0)-10;
+			// 给得分人员排名次
+			max = eval("Math.max(" + array_score_data.toString() + ")");
+			for(i=0;i<array_score_data.length;i++){
+				if(array_score_data[i]==max){
+					rank.splice(i,0,m)
+				}else if(array_score_data[i]==array_score_data[i-1]){
+					rank.splice(i,0,m)
+				}else if(array_score_data[i]<max){
+					rank.splice(i,0,++m)
+				}
+			}
+			//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){

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

@@ -35,7 +35,7 @@ public class StatisticsBean {
     
     private String name ;
     
-    private Integer score;
+    private int score;
     
     private Integer item_id ;
 

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

@@ -98,7 +98,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());