Kaynağa Gözat

统计 优化和bug

chenrj-PC\chenrj 8 yıl önce
ebeveyn
işleme
c1ab00dc48

+ 25 - 38
VisualInspection/js/statistics/assess_situation.js

@@ -90,15 +90,12 @@ function ranking_method(data){
             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){
@@ -143,53 +140,43 @@ function gethtml(data,i){
       }
       return strTbody;
 }
+
+/**
+ * 排名
+ */
+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;
+        }				
+    }
+} 
+
 /**
  * 得分转化为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)
-            }
-        }
+        station_rank_method(lianyungang_Station, r1);
     }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)
-            }
-        }
+        station_rank_method(yancheng_Station, r2);
     }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)
-            }
-        }
+        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 "" ;
-        }
+    if(value!='' && value!=undefined ){
+        return value ;
+    }else if(default_display_value != undefined){
+        return default_display_value ;
+    }else{
+        return "" ;
+    }
 }
 
 /**

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

@@ -205,53 +205,39 @@ function ranking_method(data){
             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 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){
-    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)
-            }
-        }
+        station_rank_method(lianyungang_Station, r1);
     }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)
-            }
-        }
+        station_rank_method(yancheng_Station, r2);
     }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)
-            }
-        }
+        station_rank_method(nantong_Station, r3);
     }
 }
 

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

@@ -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);

+ 9 - 10
VisualInspection/js/statistics/toll_station_statistics.js

@@ -295,7 +295,6 @@ $(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++){
@@ -310,16 +309,16 @@ $(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)
-				}
+			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++){

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

@@ -129,9 +129,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;

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

@@ -124,33 +124,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;
 	}
 

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