Explorar o código

统计页面开发提交

wangjianguo %!s(int64=9) %!d(string=hai) anos
pai
achega
08611296d2

+ 10 - 0
VisualInspection/css/statistics/assess_situation.css

@@ -26,6 +26,13 @@
     float:left;
 }
 
+.col-sm-6{
+    float:right;
+    width:100px;
+    margin-right: 0px;
+}
+
+
 .btn-primary{
     width:80px;
 }
@@ -51,4 +58,7 @@
     color:#333;
     text-align:center;
 }
+.table-tbody tr td{
+    height:43px;
+}
 

+ 10 - 5
VisualInspection/js/statistics/assess_ranking.js

@@ -25,14 +25,19 @@ function queryEmpClick(){
 }
 
 function initQueryEmp(){
-    // 默认初始化前两天查所有
+    //默认初始化前一周查所有
     var endD = new Date();
     var now = new Date();
-    var startD = new Date(now.getTime() - 2 * 24 * 3600 * 1000);
-    var start_date = startD.getFullYear()+"-"+(startD.getMonth()+1)+"-"+startD.getDate()+" 00:00:00"; 
-    var end_date = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-"+endD.getDate()+" 00:00:00"; 
+    var startD = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
+    var start_time = startD.getFullYear()+"-"+(startD.getMonth()+1)+"-"+startD.getDate(); 
+    var end_time = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-"+endD.getDate(); 
+    //默认初始化时间页面回显
+    $("#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 param = {
+    var param = {
         "start_date": start_date,
         "end_date": end_date,
     }

+ 88 - 47
VisualInspection/js/statistics/assess_situation.js

@@ -1,87 +1,128 @@
 
-function queryEmpClick(){
+function querySituationClick(){
     //每次点击前清空表格数据
     $(".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){
-        alert("请选择起止日期");
+        tip("请选择起止日期");
                 return ;
     }else{
         start_date += " 00:00:00";
         end_date += " 00:00:00";
     }
-    // if(end_date < start_date){
-    //     alert("结束时间不能比开始时间小");
-    //             return ;
-    // }
+  
     var param = {
         "dept_id": $("#fsList").val(),
         "start_date": start_date,
         "end_date": end_date,
     }
-    var url = "statistics/employee/order";
+    var url = "statistics/score/info";
     var strTbody='';
     post_common_service( url,param,function(data){
-                for(var i=0;i<data.length;i++){
-                     strTbody+="<tr>";
-      
-       strTbody+="<td>"+(i+1)+"</td><td>"+"</td>"
-                 +"<td>"+data[i].user.truename+"</td><td>"+"</td>"
-                 +"<td>"+data[i].user.workno+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+data[i].check_all_score+"</td>"
-                 +"<td>"+"</td><td>"+"</td>"
-                 +"<td>"+"</td><td>"+"</td>";
-                 strTbody+="</tr>";
-                }
-       $(".table-tbody").append(strTbody);
-               
-            },function(error){
+         
+        for(i=0;i<data.length;i++){
+           $(".table-tbody").append(gethtml(data[i],i));
+             }          
+        },function(error){
                 return "" ;
-            });
+   });
 }
 
 
-function initQueryEmp(){
-    // 默认初始化前两天查所有
+function initQuerySituation(){
+    //默认初始化前一周查所有
     var endD = new Date();
     var now = new Date();
-    var startD = new Date(now.getTime() - 2 * 24 * 3600 * 1000);
-    var start_date = startD.getFullYear()+"-"+(startD.getMonth()+1)+"-"+startD.getDate()+" 00:00:00"; 
-    var end_date = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-"+endD.getDate()+" 00:00:00"; 
-
-     var param = {
+    var startD = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
+    var start_time = startD.getFullYear()+"-"+(startD.getMonth()+1)+"-"+startD.getDate(); 
+    var end_time = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-"+endD.getDate(); 
+    //默认初始化时间页面回显
+    $("#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 param = {
         "start_date": start_date,
         "end_date": end_date,
     }
-    var url = "statistics/employee/order";
+    var url = "statistics/score/info";
     var strTbody='';
    
     post_common_service( url,param,function(data){
-                for(var i=0;i<data.length;i++){
-                     strTbody+="<tr>";
-      
-       strTbody+="<td>"+(i+1)+"</td><td>"+"</td>"
-                 +"<td>"+data[i].user.truename+"</td><td>"+"</td>"
-                 +"<td>"+data[i].user.workno+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+0+"</td>"
-                 +"<td>"+0+"</td><td>"+data[i].check_all_score+"</td>"
-                 +"<td>"+"</td><td>"+"</td>"
-                 +"<td>"+"</td><td>"+"</td>";
-                 strTbody+="</tr>";
-                }
-       $(".table-tbody").append(strTbody);
+                
+        for(i=0;i<data.length;i++){
+           
+       $(".table-tbody").append(gethtml(data[i],i));
+        }  
                
             },function(error){
                 return "" ;
-            });
+     });
     
 }
 
+function gethtml(data,i){
+    var strTbody = "";
+    if(i==0 || i==7 || i==13){
+        num = 1;
+        var name = "";
+        var rowspan = 0;
+        if(i==0){
+            name = "连云港";
+            rowspan = 7;
+        }else if(i==7){
+            name = "盐城";
+            rowspan = 6;
+        }else if(i==13){
+            name = "南通";
+            rowspan = 8;
+        }
+                strTbody +="<tr><td rowspan="+rowspan+">"+name+"</td>";
+                strTbody +="<td>"+num+"</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>"
+                        +data.score_over_fifty+"</td><td>"+data.all_check_score+"</td><td>"
+                        +filterByZeroHandle((data.all_check_score/data.checked_num).toFixed(2),'0')+"</td><td>"
+                        +filterByZeroHandle((1000-((data.all_check_score/data.checked_num).toFixed(2))),'1000')+"</td>";
+                strTbody += "</tr>";
+       }else{
+                num ++;
+            
+                strTbody +="<tr>"
+                strTbody +="<td>"+num+"</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>"
+                        +data.score_over_fifty+"</td><td>"+data.all_check_score+"</td><td>"
+                        +filterByZeroHandle((data.all_check_score/data.checked_num).toFixed(2),'0')+"</td><td>"
+                        +filterByZeroHandle((1000-((data.all_check_score/data.checked_num).toFixed(2))),'1000')+"</td>";
+                strTbody+="</tr>";
+            
+      }
+      return strTbody;
+}
+
+function filter(value , default_display_value){
+        if(value!='' && value!=undefined ){
+            return value ;
+        }else if(default_display_value != undefined){
+            return default_display_value ;
+        }else{
+            return "" ;
+        }
+}
 
+function filterByZeroHandle(value , default_display_value){
+        if(isNaN(value)|| value=='0.00'){
+            return default_display_value ;
+        }else{
+            return value ;
+        }
+       
+}
 
 
 

+ 215 - 0
VisualInspection/js/statistics/assess_type.js

@@ -0,0 +1,215 @@
+
+/**
+ * 点击查询
+ */
+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 += " 00:00:00";
+        end_date += " 00:00:00";
+    }
+  
+    var param = {
+        "dept_id": $("#fsList").val(),
+        "start_date": start_date,
+        "end_date": end_date,
+    }
+    var url = "statistics/score/item/info";
+    var strTbody='';
+      post_common_service( url,param,function(data){
+          // 管道中心受检人平均每人次扣分
+          check_people_avg(data);
+            },function(error){
+                return "" ;
+     });
+}
+
+/**
+ * 表格初始化
+ */
+function initQueryType(){
+    // 默认初始化前一周查所有
+    var endD = new Date();
+    var now = new Date();
+    var startD = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
+    var start_time = startD.getFullYear()+"-"+(startD.getMonth()+1)+"-"+startD.getDate(); 
+    var end_time = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-"+endD.getDate(); 
+    // 默认初始化时间页面回显
+    $("#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 param = {
+        "start_date": start_date,
+        "end_date": end_date,
+    }
+    var url = "statistics/score/item/info";
+    var strTbody='';
+   
+    post_common_service( url,param,function(data){
+        // 管道中心受检人平均每人次扣分
+        check_people_avg(data); 
+            },function(error){
+                return "" ;
+     });
+    
+}
+/**
+ * 表格拼接及数据传入
+ * @param {*} data 
+ * @param {*} i 
+ * @param {*} avg 
+ */
+function gethtml(data,i,avg){
+    var strTbody = "";
+
+    if(i==0 || i==7 || i==13){
+        
+        num = 1;
+        var name = "";
+        var rowspan = 0;
+        if(i==0){
+            name = "连云港";
+            rowspan = 7;
+            order = 1;
+        }else if(i==7){
+            name = "盐城";
+            rowspan = 6;
+            order = 2;
+        }else if(i==13){
+            name = "南通";
+            rowspan = 8;
+            order = 3;
+        }
+        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')
+                   +"</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, '表情')
+                   +"</td><td>"+getItemScore(data, '收费动作')+"</td><td>"+getItemScore(data, '文明用语')
+                   +"</td><td>"+getItemScore(data, '工作纪律')+"</td><td>"+data.all_check_score+"</td><td>"
+                   +filterByZeroHandle((data.all_check_score/data.checked_num).toFixed(2),'0')
+                   +"</td><td rowspan="+rowspan+">"+avg+"</td>";
+        strTbody += "</tr>";
+    }else{
+        num ++;
+         
+        strTbody += "<tr><td>"+num+"</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, '仪容仪表')
+                  +"</td><td>"+getItemScore(data, '表情')+"</td><td>"+getItemScore(data, '收费动作')
+                  +"</td><td>"+getItemScore(data, '文明用语')+"</td><td>"+getItemScore(data, '工作纪律')
+                  +"</td><td>"+data.all_check_score+"</td><td>"
+                  +filterByZeroHandle((data.all_check_score/data.checked_num).toFixed(2),'0')+"</td>";
+        strTbody += "</tr>";
+          
+    }
+    return strTbody;
+}
+
+function getSum(){}
+/**
+ * 管道中心受检人平均每人次扣分
+ * @param {*} data 
+ */
+function check_people_avg(data){
+    var dataArray = new Array();
+        var sum = 0;
+        var sum1 = 0;
+        for(k=0;k<data.length;k++){
+                sum = parseFloat(sum)+ parseFloat(filterByZeroHandle(data[k].all_check_score,'0'));
+                sum1 = parseFloat(sum1)+ parseFloat(filterByZeroHandle(data[k].checked_num,'0'));
+            if(k==6){
+                dataArray.push(filterByZeroHandle(sum/sum1).toFixed(2),'0');
+                console.log(sum+" "+sum1);
+                sum = 0;
+                sum1 = 0;
+            }
+            if(k==12){  
+                dataArray.push(sum/6);
+                sum = 0;
+                sum1 = 0;
+            }
+            if(k==20){
+                dataArray.push(sum/8);
+                sum = 0;
+                sum1 = 0;
+            }
+        }        
+        //console.log(dataArray)
+     
+        for(i=0;i<data.length;i++){
+           if(i==0){
+                $(".table-tbody").append(gethtml(data[i],i,dataArray[0]));
+           }else if(i==7){
+                $(".table-tbody").append(gethtml(data[i],i,dataArray[1]));
+           }else if(i==13){
+                $(".table-tbody").append(gethtml(data[i],i,dataArray[2]));
+           }else{
+                $(".table-tbody").append(gethtml(data[i],i));
+               
+           }
+        } 
+}
+
+/**
+ * 过滤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)|| value=='0.00'){
+            return default_display_value ;
+        }else{
+            return value ;
+        }
+}
+
+
+
+
+
+
+
+

+ 10 - 13
VisualInspection/view/statistics/assess_situation.html

@@ -4,12 +4,6 @@
     <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">
-                    <select class="form-control" id="fsList">
-                    </select>
-                </div>
             
                 <div class="col-sm-3">
                     <input type="text" id="start-time" class="form-control form-date" placeholder="开始日期">
@@ -18,7 +12,10 @@
                     <input type="text" id="end-time" class="form-control form-date" placeholder="结束日期">
                 </div>
                 <div class="col-sm-5">
-                    <button class="btn btn-primary " type="button" onclick="querySituationClick()">导出</button>
+                    <button class="btn btn-primary " type="button" onclick="querySituationClick()">查询</button>
+                </div>
+                <div class="col-sm-6">
+                    <button class="btn btn-primary " type="button" >导出Excel</button>
                 </div>
             </div>
         </form>
@@ -31,17 +28,17 @@
               <div class="table-head" ><table border="1" width="100%" height="90px" align="center">
                   <thead>
                   <tr>
-                  <th rowspan="2" width="120px">道管</th><th rowspan="2" width="80px">道管内排名</th><th rowspan="2" width="80px">站名</th>
+                  <th rowspan="2" width="110px">道管</th><th rowspan="2" width="80px">道管内排名</th><th rowspan="2" width="90px">站名</th>
                   <th rowspan="2" width="80px">收费值机人数</th><th rowspan="2" width="80px">受检人数</th>
                   <th rowspan="2" width="80px">受检次数</th><th colspan="6" height="40px">扣分情况</th><th rowspan="2" width="85px">平均得分(千分)</th>
                   </tr>
                 <tr> 
                   <th width="80px">满分(人)</th><th width="80px">≤15分(人)</th><th width="80px">≤50分(人)</th>
-                  <th width="80px">>50分(人)</th><th width="80px">总扣分()</th><th width="80px">平均每人次扣分(分)</th>
+                  <th width="80px">>50分(人)</th><th width="80px">总扣分()</th><th width="80px">平均每人次扣分(分)</th>
                   </tr>
                   </thead>
-                  <tbody class="table-tbody" style="background:white" align="center">
-                      
+                  <tbody class="table-tbody" style="background:white" align="center" height="500px">
+                    
                   </tbody>
                   </table></div>
                   
@@ -76,7 +73,7 @@
             forceParse: 0,
             format: "yyyy-mm-dd"
         });
-        setFeSelect("#fsList");
-        initQueryTask();
+       
+        initQuerySituation();
     });
 </script>

+ 12 - 25
VisualInspection/view/statistics/assess_type.html

@@ -1,14 +1,10 @@
-<!--<script src="/js/statistics/assess_type.js"></script>-->
+<script src="/js/statistics/assess_type.js"></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">
-                    <select class="form-control" id="fsList">
-                    </select>
-                </div>
+                
                 <div class="col-sm-3">
                     <input type="text" id="start-time" class="form-control form-date" placeholder="开始日期">
                 </div>
@@ -16,7 +12,10 @@
                     <input type="text" id="end-time" class="form-control form-date" placeholder="结束日期">
                 </div>
                 <div class="col-sm-5">
-                    <button class="btn btn-primary " type="button">导出</button>
+                    <button class="btn btn-primary " type="button" onclick="queryTypeClick()">查询</button>
+                </div>
+                <div class="col-sm-6">
+                    <button class="btn btn-primary " type="button" >导出Excel</button>
                 </div>
             </div>
         </form>
@@ -30,36 +29,24 @@
                  <thead>
                         <tr>
                         <th rowspan="2" width="67px">道管整体排名</th><th rowspan="2" width="67px">单位</th><th rowspan="2" width="67px">管道内收费站排名</th>
-                        <th rowspan="2" width="67px">单位</th><th rowspan="2" width="67px">收费值机岗位人数</th><th rowspan="2" width="67px">被检查人数</th>
+                        <th rowspan="2" width="85px">单位</th><th rowspan="2" width="67px">收费值机岗位人数</th><th rowspan="2" width="67px">被检查人数</th>
                         <th rowspan="2" width="67px">受检次数</th><th colspan="7" height="40px">存在问题扣分详情</th>
-                        <th rowspan="2" width="75px">受检人平均每人次扣分(千分制)</th><th rowspan="2" width="75px;">管道中心受检人平均每人次扣分(千分制)</th>
+                        <th rowspan="2">受检人平均每人次扣分(千分制)</th><th rowspan="2">管道中心受检人平均每人次扣分(千分制)</th>
                         </tr>
                         <tr> 
                         <th width="67px">环境卫生</th><th width="67px">仪容仪表</th><th width="67px">表情</th>
                         <th width="67px">收费动作</th><th width="67px">文明用语</th><th width="67px">工作纪律</th><th width="67px">扣分合计</th>
                         </tr>
                  </thead>
-                    <tbody class="test">
-                        <tr>
-                            <td>0
-                            </td>
-                            <td>1
-                            </td>
-                            <td>2
-                            </td>
-                            
-                        </tr>
+                    <tbody class="table-tbody" style="background:white" align="center">
+               
                     </tbody>
                   </table></div>
           </div>
     </div>
 </div>
 <script>
-    $(".test").append('\<tr>\
-                            \<td>0\</td>\
-                            \<td>1\</td>\
-                            \<td>2\</td>\
-                            \</tr>');
+   
     $(document).ready(function() {
         // 仅选择日期
         $("#start-time").datetimepicker(
@@ -87,6 +74,6 @@
             forceParse: 0,
             format: "yyyy-mm-dd"
         });
-        setFeSelect("#fsList");
+        initQueryType();
     });
 </script>

+ 4 - 1
VisualInspection/view/statistics/emp_ranking.html

@@ -16,7 +16,10 @@
                     <input type="text" id="end-time" class="form-control form-date" placeholder="结束日期">
                 </div>
                 <div class="col-sm-5">
-                    <button class="btn btn-primary " type="button" onclick="queryEmpClick()">导出</button>
+                    <button class="btn btn-primary " type="button" onclick="queryEmpClick()">查询</button>
+                </div>
+                <div class="col-sm-6">
+                    <button class="btn btn-primary " type="button" >导出Excel</button>
                 </div>
             </div>
         </form>

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

@@ -49,7 +49,7 @@ public class StatisticsController extends BaseController {
     /**
      * 温馨服务检查情况统计表
      */
-    @RequestMapping(value = "/score/Item/info")
+    @RequestMapping(value = "/score/item/info")
     public String getScoreItemInfo(@RequestBody StatisticsBean obj){
     	List<StatisticsBean> lists=  statisticsService.getFeeStationCheckItemScore(obj);
     	return super.returnSuccessResult(lists);