jack-PC\jack 8 лет назад
Родитель
Сommit
19b8f2a9ff

+ 263 - 0
VisualInspection/js/statistics/operation_management_integration.js

@@ -0,0 +1,263 @@
+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 queryTypeClick(){
+    //每次点击前清空表格数据
+    $(".table-tbody").empty('');
+    var start_date = $("#start-time").val();
+    var end_date = $("#end-time").val();
+    if(start_date==null||start_date==''||start_date==undefined||
+    end_date==null||end_date==''||end_date==undefined){
+        tip("请选择起止日期");
+                return ;
+    }else{
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
+    }
+    var startStr = start_date.replace(/-/g, '/');
+    var endStr = end_date.replace(/-/g, '/');
+    var start = new Date(startStr);
+    //开始日期取前一天的23:00
+    start.setDate(start.getDate()-1);
+    start_date = start.Format("yyyy-MM-dd HH:mm:ss");
+    var end = new Date(endStr);
+    if(start>end){
+        tip("开始时间不能比结束时间大");
+        return;
+    }
+    var param = {
+        "dept_id": $("#fsList").val(),
+        "start_date": start_date,
+        "end_date": end_date,
+    }
+    var url = "statistics/operation/manage/integration";
+    var strTbody='';
+      post_common_service( url,param,function(data){
+          // 运营管理综合检查情况
+          check_operation_avg(data);
+            },function(error){
+                return "" ;
+     });
+}
+
+/**
+ * 表格初始化
+ */
+function initQueryType(){
+    // 默认初始化前一周查所有
+    var endD = new Date();
+    var startD = new Date();
+    // var startD = new Date(now.getTime() - 7 * 24 * 3600 * 1000);
+    var start_time = startD.getFullYear()+"-"+(startD.getMonth())+"-26";
+    var end_time = endD.getFullYear()+"-"+(endD.getMonth()+1)+"-25";
+    // 默认初始化时间页面回显
+    $("#start-time").val(start_time);
+    $("#end-time").val(end_time);
+    var start_date = start_time+" 23:00:00"; 
+    var end_date = end_time+" 23:00:00"; 
+    var start = new Date(start_date);
+    //开始日期取前一天的23:00
+    start.setDate(start.getDate()-1);
+    start_date = start.Format("yyyy-MM-dd HH:mm:ss");
+    var param = {
+        "start_date": start_date,
+        "end_date": end_date,
+    }
+    var url = "statistics/operation/manage/integration";
+    var strTbody='';
+   
+    post_common_service( url,param,function(data){
+             // 运营管理综合检查情况
+            check_operation_avg(data); 
+        },function(error){
+            return "" ;
+     });
+    
+}
+
+/**
+ * 表格拼接及数据传入
+ * @param {*} data 
+ * @param {*} i 
+ * @param {*} avg 
+ */
+function gethtml(data,i,avg,lists){
+    var strTbody = "";
+
+    if(i==0 || i==7 || i==13){
+       // debugger;
+        var ranking;
+        var name = "";
+        var rowspan = 0;
+          order = 1;
+        if(i==0){
+            name = "连云港";
+            rowspan = 7;
+            for(var i=0;i<lists.length;i++){
+                if(avg > lists[i]){
+                    order = order + 1;
+                }
+            }
+        }else if(i==7){
+            name = "盐城";
+            rowspan = 6;
+            for(var i=0;i<lists.length;i++){
+                if(avg > lists[i]){
+                    order = order + 1;
+                }
+            }
+        }else if(i==13){
+            name = "南通";
+            rowspan = 8;
+            for(var i=0;i<lists.length;i++){
+                if(avg > lists[i]){
+                    order = order + 1;
+                }
+            }
+        }
+        strTbody += "<tr><td rowspan="+rowspan+" width='6%'>"+order+"</td>"+"<td rowspan="+rowspan+" width='6%'>"+name+"</td>";
+        strTbody+="<td width='6%'>"+data.company_ranking2+"</td><td width='6%'>"+data.fee_station_ranking2+"</td><td width='8%'>"+data.name+"</td><td width='6%'>"+filter(data.people_num,'0')
+                   +"</td><td width='54px'>"+data.company_check_num
+                   +"</td><td width='54px'>"+data.company_total_score+"</td><td width='54px'>"+data.third_check_num
+                   +"</td><td width='54px'>"+data.third_total_score+"</td><td width='54px'>"+data.special_check_num
+                   +"</td><td width='54px'>"+data.special_total_score+"</td><td width='54px'>"+data.onsite_check_num
+                   +"</td><td width='54px'>"+data.onsite_total_score+"</td><td width='54px'>"+data.data_check_num
+                   +"</td><td width='54px'>"+data.data_total_score+"<td width='6%'>"
+                   +data.check_total_avg
+                   +"</td><td width='6%'>"+data.score_avg+"</td>";
+        strTbody += "</tr>";
+    }else{
+        strTbody += "<tr><td width='6%'>"+data.company_ranking2+"</td><td>"+data.fee_station_ranking2+"</td>";
+        strTbody+="<td>"+data.name+"</td><td>"+data.people_num+"</td><td>"+data.company_check_num
+                  +"</td><td>"+data.company_total_score+"</td><td>"+data.third_check_num
+                  +"</td><td>"+data.third_total_score+"</td><td>"+data.special_check_num
+                  +"</td><td>"+data.special_total_score+"</td><td>"+data.onsite_check_num
+                  +"</td><td>"+data.onsite_total_score+"</td><td>"+data.data_check_num
+                  +"</td><td>"+data.data_total_score+"</td><td>"
+                  +data.check_total_avg+"</td>"
+                  +"<td>"+data.score_avg+"</td>";
+        strTbody += "</tr>";
+          
+    }
+    return strTbody;
+}
+
+function getTotalHtml(data){
+    var html = "<tr><td>合计</td><td></td><td></td><td></td><td></td><td>"+data.totalMan+"</td><td>"+data.totalCompanyNum+"</td><td>"+data.totalCompanyScore+"</td><td>"
+    +data.totalThirdNum+"</td><td>"+data.totalThirdScore+"</td><td>"+data.totalSpecialNum+"</td><td>"+data.totalSpecialScore
+    +"</td><td>"+data.totalOnsiteNum+"</td><td>"+data.totalOnsiteScore+"</td><td>"+data.totalDataNum
+    +"</td><td>"+data.totalDataScore+"</td><td>-</td><td>-</td></tr>";
+    return html;
+}
+
+/**
+ * 管道中心受检人平均每人次扣分
+ * @param {*} data 
+ */
+function check_operation_avg(data){
+        var list = data.list;
+        var dataArray = new Array();
+        var sum = 0;
+        var sum1 = 0;
+        for(k=0;k<list.length;k++){
+                sum = parseFloat(sum)+ parseFloat(list[k].check_total_avg);
+                sum1++;
+            if(k==6){               
+                dataArray.push(filterJudge(sum,sum1));
+                sum = 0;
+                sum1 = 0;
+            }
+            if(k==12){  
+                dataArray.push(filterJudge(sum,sum1));
+                sum = 0;
+                sum1 = 0;
+            }
+            if(k==20){
+                dataArray.push(filterJudge(sum,sum1)); 
+                sum = 0;
+                sum1 = 0;
+            }
+        }   
+
+        for(i=0;i<list.length;i++){
+           if(i==0){
+                $(".table-tbody").append(gethtml(list[i],i,dataArray[0],dataArray));
+           }else if(i==7){
+                $(".table-tbody").append(gethtml(list[i],i,dataArray[1],dataArray));
+           }else if(i==13){
+                $(".table-tbody").append(gethtml(list[i],i,dataArray[2],dataArray));
+           }else{
+                $(".table-tbody").append(gethtml(list[i],i));              
+           }
+        } 
+        $(".table-tbody").append(getTotalHtml(data));
+}
+
+/**
+ * 过滤undefined
+ * @param {*} value 
+ * @param {*} default_display_value 
+ */
+function filter(value , default_display_value){
+    if(value!='' && value!=undefined ){
+        return value ;
+    }else if(default_display_value != undefined){
+        return default_display_value ;
+    }else{
+        return "" ;
+    }
+}
+
+/**
+ * 过滤除数为0和保留二位小数时出现的0.00
+ * @param {*} value 
+ * @param {*} default_display_value 
+ */
+function filterByZeroHandle(value , default_display_value){
+        if(isNaN(value)){
+            return default_display_value ;
+        }else{
+            if((value+'').endsWith('.00')){
+                return value.substring(0,value.length-3);
+            }
+            return value ;
+        }
+}
+
+function filterJudge(num1,num2){
+        if(num2==0){
+            return 0;
+        }else{
+            return (num1/num2).toFixed(2);
+        }
+}
+
+function exportExcel(){
+    var start_date = $("#start-time").val();
+    var end_date = $("#end-time").val();
+    if( start_date=='' || end_date==''){
+        tip("请选择起止日期");
+        return ;
+    }else{
+        start_date += " 23:00:00";
+        end_date += " 23:00:00";
+        var start = new Date(start_date);
+        //开始日期取前一天的23:00
+        start.setDate(start.getDate()-1);
+        start_date = start.Format("yyyy-MM-dd HH:mm:ss");
+    }
+    window.open( getserveraddr() + "/file/operation/manage/integration?start_date="+start_date+"&end_date="+end_date);
+}
+
+
+
+
+
+

+ 94 - 0
VisualInspection/view/statistics/operation_management_integration.html

@@ -0,0 +1,94 @@
+<script src="/js/statistics/operation_management_integration.js?__inline"></script>
+<link rel="stylesheet" type="text/css" href="/css/statistics/assess_situation.css?__inline">
+<div class="container-fluid ">
+    <div class="form-div">
+        <form  class="form-horizontal">
+            <div class="form-group">
+                <div class="from-label"><label>查询日期</label></div>
+                <div class="col-sm-3">
+                    <input type="text" id="start-time" class="form-control form-date" placeholder="开始日期">
+                </div>
+                <div class="col-sm-4">
+                    <input type="text" id="end-time" class="form-control form-date" placeholder="结束日期">
+                </div>
+                <div class="col-sm-5">
+                    <button class="btn btn-primary " type="button" onclick="queryTypeClick()">查询</button>
+                </div>
+                <div class="col-sm-6">
+                    <button class="btn btn-primary " type="button" onclick="exportExcel()" >导出Excel</button>
+                </div>
+            </div>
+        </form>
+    </div>
+    <div class="table-title"><span>运营管理综合检查情况统计表</span></div>
+
+    <div class="row">
+          <!-- 使用一个div来显示数据表格 -->
+          <div class="datatable" data-checkable="false" data-sortable="false"  style="margin-bottom:0px;">
+              <div class="table-head" ><table border="1" width="100%" height="90px" align="center">
+                 <thead>
+                        <tr>
+                        <th rowspan="3" width="6%">排名</th><th rowspan="3" width="6%">道管</th><th rowspan="3" width="6%">公司内排名</th><th rowspan="3" width="6%">道管内排名</th>
+                        <th rowspan="3" width="8%">站名</th><th rowspan="3" width="6%">收费值机岗位人数</th><th colspan="4" height="40px">温馨服务</th><th colspan="2" height="40px">特情操作</th>
+                        <th colspan="2" height="40px">现场检查</th><th colspan="2" height="40px">数据平台应用情况</th><th rowspan="3" width="6%">总平均扣分</th>
+                        <th rowspan="3" width="6%">平均得分</th>
+                        </tr>
+                        <tr> 
+                        <th colspan="2">公司检查</th><th colspan="2">第三方暗访</th><th rowspan="2" width="54px">存在问题次数</th>
+                        <th rowspan="2" width="54px">扣分合计</th><th rowspan="2" width="54px">受检次数</th><th rowspan="2" width="54px">扣分合计</th>
+                        <th rowspan="2" width="54px">受检次数</th><th rowspan="2" width="54px">扣分合计</th>
+                        </tr>
+                        <tr> 
+                        <th width="54px">受检次数</th><th width="54px">扣分合计</th>
+                        <th width="54px">受检次数</th><th width="54px">扣分合计</th>
+                        </tr>
+                 </thead>
+                    <!-- <tbody class="table-tbody" style="background:white" align="center">
+               
+                    </tbody> -->
+                </table></div>
+          </div>
+          <div id="scrollTable" style="height:300px;overflow:scroll;margin-right:-10px;">
+              <div class="table-head" style="margin:0px;">
+                  <table border="1" width="100%" height="90px" align="center" style="border-top:0px;">
+                    <tbody class="table-tbody" style="background:white" align="center">
+               
+                    </tbody>
+                  </table></div>
+          </div>
+    </div>
+</div>
+<script>
+   
+    $(document).ready(function() {
+        // 设置滚动表格的高度
+        $("#scrollTable").height($(window).height() - 360);
+        // 仅选择日期
+        $("#start-time").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(
+        {
+            language:  "zh-CN",
+            weekStart: 1,
+            todayBtn:  1,
+            autoclose: 1,
+            todayHighlight: 1,
+            startView: 2,
+            minView: 2,
+            forceParse: 0,
+            format: "yyyy-mm-dd"
+        });
+        initQueryType();
+    });
+</script>

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

@@ -132,6 +132,37 @@ public class StatisticsBean {
     
     private Integer score_flag  ;
     
+    // 其他稽查不同类型
+    private Integer check_type;
+    // 扣分合计
+    private Integer check_total_score = 0;
+    // 公司受检次数
+    private Integer company_check_num = 0;
+    // 公司扣分合计
+    private Integer company_total_score= 0;
+    // 第三方暗访受检次数
+    private Integer third_check_num = 0;
+    // 第三方暗访扣分合计
+    private Integer third_total_score = 0;
+    // 特情受检次数
+    private Integer special_check_num = 0;
+    // 特情访扣分合计
+    private Integer special_total_score = 0;
+    // 现场受检次数
+    private Integer onsite_check_num = 0;
+    // 现场扣分合计
+    private Integer onsite_total_score = 0;
+    // 数据平台受检次数
+    private Integer data_check_num = 0;
+    // 数据平台扣分合计
+    private Integer data_total_score = 0;
+    // 总平均扣分
+    private String check_total_avg  = "0";
+    // 公司排名
+    private Integer company_ranking2;
+    // 道管排名
+    private Integer fee_station_ranking2;
+    
     // 比较大小 1 小 , -1 大
     public int compareTo(StatisticsBean o2){
     	if(this.getChecked_num()!=0 && o2.getChecked_num()!=0){
@@ -174,4 +205,51 @@ public class StatisticsBean {
 		}	
     }
     
+    //比较大小 1 小 , -1 大 
+    // 方法3
+    public int compare3To(StatisticsBean o2){
+    	double a = -1 ,b=-1 ;
+		if(Float.valueOf(this.getCheck_total_avg())!=0 ){
+			a = Float.valueOf(this.getCheck_total_avg());
+		}
+		if(Float.valueOf(o2.getCheck_total_avg())!=0){
+			b = Float.valueOf(o2.getCheck_total_avg());
+		}
+		if (a > b ) {
+			return 1;
+		} else if (a < b) {
+			return -1;
+		} else {
+			return 0;
+		}	
+    }
+    
+  //比较大小 1 小 , -1 大 
+    // 方法3
+    public int compare4To(StatisticsBean o2){
+    	if (this.getId() > o2.getId()) {
+			return 1;
+		} else if (this.getId() == o2.getId()) {
+			if (Float.valueOf(this.getCheck_total_avg()) != 0 && Float.valueOf(o2.getCheck_total_avg()) != 0) {
+				if (Float.valueOf(this.getCheck_total_avg()) < Float.valueOf(o2.getCheck_total_avg())) {
+					return -1;
+				} else if (Float.valueOf(this.getCheck_total_avg()) > Float.valueOf(o2.getCheck_total_avg())) {
+					return 1;
+				} else {
+					return 0;
+				}
+			} else {
+				if (Float.valueOf(this.getCheck_total_avg()) == 0) {
+					return -1;
+				} else if (Float.valueOf(o2.getCheck_total_avg()) == 0) {
+					return 1;
+				} else {
+					return 0;
+				}
+			}
+		} else {
+			return -1;
+		}
+    }
+    
 }

+ 18 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/FileExcelController.java

@@ -149,4 +149,22 @@ public class FileExcelController extends BaseController {
     	statisticsService.getCheckInfo(obj, req, resp);
     	return super.returnSuccessResult(null);
     }
+    /**
+     * @param req
+     * @param resp
+     * @param start_date
+     * @param end_date
+     * @return
+     */
+    @RequestMapping(value = "/operation/manage/integration",method=RequestMethod.GET)
+    public String getOperationInfo(HttpServletRequest req,HttpServletResponse resp,
+    		@RequestParam String start_date,@RequestParam String end_date){
+    	StatisticsBean obj = new StatisticsBean();
+		Date start = DateUtil.strParseDate(start_date);
+		Date end = DateUtil.strParseDate(end_date);
+		obj.setStart_date(start);
+		obj.setEnd_date(end);
+    	statisticsService.getOperationInfo(obj, req, resp);
+    	return super.returnSuccessResult(null);
+    }
 }

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

@@ -145,7 +145,43 @@ public class StatisticsController extends BaseController {
 //    	resultMap.put("totalAll", totalAll);
     	return super.returnSuccessResult(resultMap);
     }
-    
+    /**
+     * 运营管理综合检查情况统计表
+     */
+    @RequestMapping(value = "/operation/manage/integration")
+    public String getOperationInfo(@RequestBody StatisticsBean obj){
+    	List<StatisticsBean> lists= statisticsService.getOperationInfo(obj);
+    	int totalMan=0,totalCompanyNum=0,totalCompanyScore=0,totalThirdNum=0,
+    			totalThirdScore=0,totalSpecialNum=0,totalSpecialScore=0,totalOnsiteNum=0,
+    			totalOnsiteScore=0,totalDataNum=0,totalDataScore=0;
+    	for(StatisticsBean bean:lists){
+    		totalMan+=bean.getPeople_num();
+    		totalCompanyNum += bean.getCompany_check_num();
+    		totalCompanyScore += bean.getCompany_total_score();
+    		totalThirdNum += bean.getThird_check_num();
+    		totalThirdScore += bean.getThird_total_score();
+    		totalSpecialNum += bean.getSpecial_check_num();
+    		totalSpecialScore += bean.getSpecial_total_score();
+    		totalOnsiteNum += bean.getOnsite_check_num();
+    		totalOnsiteScore += bean.getOnsite_total_score();
+    		totalDataNum += bean.getData_check_num();
+    		totalDataScore += bean.getData_total_score();
+    	}
+    	Map<String,Object> resultMap = new HashMap<String,Object>();
+    	resultMap.put("list", lists);
+    	resultMap.put("totalMan", totalMan);
+    	resultMap.put("totalCompanyNum", totalCompanyNum);
+    	resultMap.put("totalCompanyScore", totalCompanyScore);
+    	resultMap.put("totalThirdNum", totalThirdNum);
+    	resultMap.put("totalThirdScore", totalThirdScore);
+    	resultMap.put("totalSpecialNum", totalSpecialNum);
+    	resultMap.put("totalSpecialScore", totalSpecialScore);
+    	resultMap.put("totalOnsiteNum", totalOnsiteNum);
+    	resultMap.put("totalOnsiteScore", totalOnsiteScore);
+    	resultMap.put("totalDataNum", totalDataNum);
+    	resultMap.put("totalDataScore", totalDataScore);
+    	return super.returnSuccessResult(resultMap);
+    }
     /**
      * 12个月考核等分总体
      */

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

@@ -66,6 +66,8 @@ public interface StatisticsDao  {
 	public List<TaskAndScore> selectMList(TaskAndScore obj);
 	
 	public Integer selectCheckedNum(StatisticsBean obj);
+
+	public List<StatisticsBean> getselectFeeStationOperationScoreDetail(StatisticsBean obj);
 	
 	
 }

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

@@ -118,6 +118,21 @@
     	 GROUP BY t.checked_dept
     </select>
     
+    <select id="getselectFeeStationOperationScoreDetail" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
+    	SELECT
+			o.dept_id,
+			COUNT(1) checked_num,
+			SUM(o.check_score) check_total_score
+		FROM
+			other_check o
+		WHERE
+			o.check_type = #{check_type}
+			<if test="start_date!=null and end_date != null">
+		        AND	 o.check_time &gt;= #{start_date} AND o.check_time &lt; #{end_date}
+			</if>
+		GROUP BY
+			dept_id
+    </select>
     <select id="selectFeeStationCheckedScore" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
     	SELECT IFNULL(sum(ct.check_item_score),0) AS score ,t.checked_dept AS dept_id ,t.checked_person AS user_id
     		FROM check_task t

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

@@ -97,4 +97,9 @@ public interface StatisticsService {
 	// 稽查人员工作量统计
 	public void getCheckInfo(StatisticsBean obj,HttpServletRequest req,HttpServletResponse resp);
 
+	// 运营管理综合检查情况统计表
+	public List<StatisticsBean> getOperationInfo(StatisticsBean obj);
+
+	public void getOperationInfo(StatisticsBean obj, HttpServletRequest req, HttpServletResponse resp);
+
 }

Разница между файлами не показана из-за своего большого размера
+ 341 - 346
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/StatisticsServiceImpl.java


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


Разница между файлами не показана из-за своего большого размера
+ 1617 - 1905
VisualInspection_server/visual/visual.log


Некоторые файлы не были показаны из-за большого количества измененных файлов