Browse Source

工作量统计添加任务详情跳转

温红权 8 years ago
parent
commit
c4c0e15fd3

+ 25 - 2
VisualInspection/js/lib/mytable.js

@@ -1,3 +1,6 @@
+String.prototype.replaceAll = function(s1, s2) {
+    return this.replace(eval("/" + s1 + "/g"), s2);
+};
 (function($) {
     'use strict';
 
@@ -43,6 +46,10 @@
             if (!options) options = this.options;
             var url = options.url;
             var p_cur = 1;
+            if (typeof(options.pager.p_cur) != "undefined" && options.pager.p_cur != null) {
+                p_cur = options.pager.p_cur;
+            }
+
             var pager = options.pager;
             this.getServerData(p_cur, options, element, obj);
         },
@@ -123,6 +130,20 @@
                 for (var i = 0; i < cols.length; i++) {
                     if (cols[i].func != null) {
                         dArr.push(cols[i].func(obj[cols[i].field]));
+                    } else if (cols[i].type == "href_link") {
+
+                        var html_1 = cols[i].field;
+                        var c_temps = cols[i].field.split("$");
+                        for (var w = 0; w < c_temps.length; w++) {
+                            var p = c_temps[w];
+                            if (p.indexOf("field=") != -1) {
+                                var q = p.split("=");
+                                html_1 = html_1.replace(p, obj[q[1]]);
+                            }
+                        }
+                        html_1 = html_1.replaceAll("\\$", "");
+                        dArr.push(html_1);
+
                     } else if (cols[i].type == "imagedd") {
                         var pics = obj[cols[i].field];
                         var picStr = '';
@@ -252,9 +273,11 @@
                     return new mytable(this, options, true);
             }
         } else {
-            return this.each(function() {
-                new mytable(this, options);
+            var table = null;
+            this.each(function() {
+                table = new mytable(this, options);
             });
+            return table;
         }
     };
 

+ 210 - 153
VisualInspection/js/statistics/check_workload_statistics.js

@@ -1,39 +1,42 @@
 // 默认初始化日期一个月
-$(".div-start input").val(new Date().getFullYear()+"-"+new Date().getMonth()+"-26");
-$(".div-end input").val(new Date().getFullYear()+"-"+(new Date().getMonth()+1)+"-25");
-var start_date = dateChange(new Date($(".div-start input").val()+" 00:00:00"),60*60*1000 ) ;
-var end_date = $(".div-end input").val()+" 23:00:00";
-var user_id = $("#select-personal").val();      
+$(".div-start input").val(new Date().getFullYear() + "-" + new Date().getMonth() + "-26");
+$(".div-end input").val(new Date().getFullYear() + "-" + (new Date().getMonth() + 1) + "-25");
+var start_date = dateChange(new Date($(".div-start input").val() + " 00:00:00"), 60 * 60 * 1000);
+var end_date = $(".div-end input").val() + " 23:00:00";
+var user_id = $("#select-personal").val();
 var cur_status;
 var hide = false;
 
 /**
- * 
- * @param {*} datet 
- * @param {*} changVal 
+ *
+ * @param {*} datet
+ * @param {*} changVal
  */
-function dateChange(datet , changVal ){
-	var tempDate = new Date(datet.valueOf() - changVal);
-	return tempDate.Format("yyyy-MM-dd HH:mm:ss");
+function dateChange(datet, changVal) {
+    var tempDate = new Date(datet.valueOf() - changVal);
+    return tempDate.Format("yyyy-MM-dd HH:mm:ss");
 }
 
+var datatable = null;
+var pageindex = 1;
+
+$(function() {
+
 
-$(function(){
 
     //*************************************数据表格******************************************
-	function initAppealPage(start_date,end_date,user_id) {
-		
-		initQueryParams();
-		queryAppeal(start_date,end_date,user_id);
+    function initAppealPage(start_date, end_date, user_id) {
+
+        initQueryParams();
+        queryAppeal(start_date, end_date, user_id);
     }
 
-	function initQueryParams() {
-		 // 仅选择日期
-        $(".div-start input,.div-end input").datetimepicker(
-        {
-            language:  "zh-CN",
+    function initQueryParams() {
+        // 仅选择日期
+        $(".div-start input,.div-end input").datetimepicker({
+            language: "zh-CN",
             weekStart: 1,
-            todayBtn:  1,
+            todayBtn: 1,
             autoclose: 1,
             todayHighlight: 1,
             startView: 2,
@@ -41,149 +44,203 @@ $(function(){
             forceParse: 0,
             format: "yyyy-mm-dd"
         });
-		//获取页面参数
-		var page_params = $.zui.store.get("page_params");
-		if(page_params && page_params.status) {
-			cur_status = page_params.status;
-		}
-	}
-
-	function queryAppeal(start_date,end_date,user_id){
-		
-		var data = {
-			    "start_date":start_date,
-				"end_date":end_date,
-				"user_id":user_id,
-				"queryType":1,
-				"check_status": cur_status,
-				"score_flag":$(".score-select").val()
-		}
-		if(hasRole(ROLE_STATION_ADMIN) || hasRole(ROLE_STATION) ||  hasRole(ROLE_JICHA) || roleContains('STATION')) {
-			hide = true;
-		}
-		
-		var cols = [
-					{width: 40,height:60, text: '序号', flex: true, colClass: 'text-center',field:'num'},
-                    {width: 40,height:60, text: '稽查人员', flex: true,colClass: 'text-center',field:'checkman_name' },
-                    {width: 50,height:60, text: '任务名称', flex: true,colClass: 'text-center',field:'check_task_name' },
-					{width: 60,height:60, text: '时间段', flex: true,colClass: 'text-center',field:'check_task_time_name' },
-                    {width: 40,height:60, text: '考核人员', flex: true,colClass: 'text-center',field:'checked_name' },
-                    {width: 60,height:60, text: '考核部门', flex: true,colClass: 'text-center',field:'feeStationName' },
-					{width: 40,height:60, text: '扣分数',  flex: true, colClass: 'text-center',field:'score'},
-					{width: 60,height:60, text: '考核类型',  flex: true, colClass: 'text-center',field:'parent_name'},
-					{width: 100,height:60, text: '考核项',  flex: true, colClass: 'text-center',field:'name'},
-					{width: 200,height:60, text: '扣分凭证', type: 'imagedd', flex: true,field:'pics'},
-		];
-		if(cur_status==12 || cur_status==13){
-			data.check_status_arr = [12,13];
-		}
-		
-		$('#check_workload_table').mytable({'cols':cols,
-								'url':"/statistics/one/checkedItem/detail/info",
-								'param':data}
-								);
-	}
-
-
-	// 导出excel
-	$("#export-check-info").click(function(){
-		var param = '';
-		var start_date = dateChange(new Date($(".div-start input").val()+" 00:00:00"),60*60*1000 ) ;
-		var end_date = $(".div-end input").val()+" 23:00:00";
-		if( $("#select-personal").val()!=''){
-			param += "&user_id=" + $("#select-personal").val() ;
-		}
-		
-		window.open( getserveraddr() +"/file/check/info?queryType=1&start_date="+ start_date +'&end_date='+end_date+param  );
-	})
-
-
-    $(".query button").click(function(){
-		var start_date =dateChange(new Date($(".div-start input").val()+" 00:00:00"),60*60*1000 ) ;
-		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);
-		var end = new Date(endStr);
-		if(start>end){
-			tip("开始时间不能比结束时间大");
+        //获取页面参数
+        var page_params = $.zui.store.get("page_params");
+        if (page_params && page_params.status) {
+            cur_status = page_params.status;
+        }
+
+        var pdata = $.zui.store.get('store_param_' + current_url);
+        if (pdata != null) {
+            $.zui.store.set('store_param_' + current_url, null);
+            $(".div-start input").val(pdata.startdate)
+            $(".div-end input").val(pdata.enddate)
+            $("#select-personal").val(pdata.user_id)
+            $(".score-select").val(pdata.score_falge)
+            pageindex = pdata.currentpage;
+        }
+
+
+
+    }
+
+    function queryAppeal(start_date, end_date, user_id) {
+
+        var data = {
+            "start_date": start_date,
+            "end_date": end_date,
+            "user_id": user_id,
+            "queryType": 1,
+            "check_status": cur_status,
+            "score_flag": $(".score-select").val()
+        }
+        if (hasRole(ROLE_STATION_ADMIN) || hasRole(ROLE_STATION) || hasRole(ROLE_JICHA) || roleContains('STATION')) {
+            hide = true;
+        }
+
+        var cols = [
+            { width: 40, height: 60, text: '序号', flex: true, colClass: 'text-center', field: 'num' },
+            { width: 40, height: 60, text: '稽查人员', flex: true, colClass: 'text-center', field: 'checkman_name' },
+            { width: 50, height: 60, text: '任务名称', flex: true, type: 'href_link', colClass: 'text-center', field: '<a href=\"javascript:void(0);\" onclick=\"jumptodetail(\'$field=task_id$\')\">$field=check_task_name$</a>' },
+            { width: 60, height: 60, text: '时间段', flex: true, colClass: 'text-center', field: 'check_task_time_name' },
+            { width: 40, height: 60, text: '考核人员', flex: true, colClass: 'text-center', field: 'checked_name' },
+            { width: 60, height: 60, text: '考核部门', flex: true, colClass: 'text-center', field: 'feeStationName' },
+            { width: 40, height: 60, text: '扣分数', flex: true, colClass: 'text-center', field: 'score' },
+            { width: 60, height: 60, text: '考核类型', flex: true, colClass: 'text-center', field: 'parent_name' },
+            { width: 60, height: 60, text: '考核完成时间', flex: true, colClass: 'text-center', field: 'update_time' },
+            { width: 100, height: 60, text: '考核项', flex: true, colClass: 'text-center', field: 'name' },
+            { width: 200, height: 60, text: '扣分凭证', type: 'imagedd', flex: true, field: 'pics' },
+        ];
+        if (cur_status == 12 || cur_status == 13) {
+            data.check_status_arr = [12, 13];
+        }
+
+        datatable = $('#check_workload_table').mytable({
+            'cols': cols,
+            'url': "/statistics/one/checkedItem/detail/info",
+            'param': data,
+            'pager': {
+                'page_size': 10,
+                'p_cur': pageindex
+            }
+        });
+    }
+
+
+    // 导出excel
+    $("#export-check-info").click(function() {
+        var param = '';
+        var start_date = dateChange(new Date($(".div-start input").val() + " 00:00:00"), 60 * 60 * 1000);
+        var end_date = $(".div-end input").val() + " 23:00:00";
+        if ($("#select-personal").val() != '') {
+            param += "&user_id=" + $("#select-personal").val();
+        }
+
+        window.open(getserveraddr() + "/file/check/info?queryType=1&start_date=" + start_date + '&end_date=' + end_date + param);
+    })
+
+
+    $(".query button").click(function() {
+        pageindex = 1;
+        var start_date = dateChange(new Date($(".div-start input").val() + " 00:00:00"), 60 * 60 * 1000);
+        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);
+        var end = new Date(endStr);
+        if (start > end) {
+            tip("开始时间不能比结束时间大");
             return;
-		}
-		var user_id = $("#select-personal").val(); 
+        }
+        var user_id = $("#select-personal").val();
         // 表格
-        initAppealPage(start_date,end_date,user_id);
-		checkman_info(start_date,end_date,user_id);
-	});
-    
+        initAppealPage(start_date, end_date, user_id);
+        checkman_info(start_date, end_date, user_id);
+    });
+
     /**
      * 稽查人员下拉框
      */
-    function select_personal(){
+    function select_personal() {
         var sec = document.getElementById('select-personal');
-        post_common_service( "user/getAllCheckman",{},function(data){
-            if(data.length!=0){
-        		var tempStr = '<option value="">全部</option>';
-                for(var i=0;i<data.length;i++){
-                    tempStr += "<option value="+data[i].id+">"+data[i].truename+"</option>";
+        post_common_service("user/getAllCheckman", {}, function(data) {
+            if (data.length != 0) {
+                var tempStr = '<option value="">全部</option>';
+                for (var i = 0; i < data.length; i++) {
+                    tempStr += "<option value=" + data[i].id + ">" + data[i].truename + "</option>";
                 }
                 sec.innerHTML = tempStr;
-            }else{
+            } else {
                 sec.innerHTML = '';
             }
-                var user_id = $("#select-personal").val(); 
-                // 初始化表格
-                initAppealPage(start_date,end_date,user_id);
-				checkman_info(start_date,end_date,user_id);
-        },function(error){
-        	return "" ;
-    	});
+            var user_id = $("#select-personal").val();
+            // 初始化表格
+            initAppealPage(start_date, end_date, user_id);
+            checkman_info(start_date, end_date, user_id);
+        }, function(error) {
+            return "";
+        });
     }
     select_personal();
-	
-
-
-	/**
-	 * 稽查人员信息
-	 * @param {*} start_date 
-	 * @param {*} end_date 
-	 * @param {*} user_id 
-	 */
-	function checkman_info(start_date,end_date,user_id){
-		var param = {
-				"start_date": start_date,
-				"end_date": end_date,
-				"checkman_id":user_id
-		}
-		post_common_service("statistics/checkman/info",param,function(data){
-			if(data != null ){
-				WH(".all_check_task",GDV(data.all_task_num,0));
-				WH(".all_check_minute",convertT( GDV(data.all_check_minute,0)));
-				WH(".all_checkman",GDV(data.all_checkman,0));
-				WH(".all_check_score",GDV(data.all_checked_score,0));
-				WH(".checked_num",GDV(data.checked_num,0));
-				WH(".checked_task_num",GDV(data.checked_task_num,0));
-				WH(".unable_task_num",GDV(data.unable_task_num,0));
-				WH(".checked_people_num",GDV(data.checked_people_num,0));
-            }else{
-				WH(".all_check_task",0);
-				WH(".all_check_minute",0);
-				WH(".all_checkman",0);
-				WH(".all_check_score",0);
-				WH(".checked_num",0);
-				WH(".checked_task_num",0);
-				WH(".unable_task_num",0);
-				WH(".checked_people_num",0);
+
+
+
+
+    /**
+     * 稽查人员信息
+     * @param {*} start_date
+     * @param {*} end_date
+     * @param {*} user_id
+     */
+    function checkman_info(start_date, end_date, user_id) {
+        var param = {
+            "start_date": start_date,
+            "end_date": end_date,
+            "checkman_id": user_id
+        }
+        post_common_service("statistics/checkman/info", param, function(data) {
+            if (data != null) {
+                WH(".all_check_task", GDV(data.all_task_num, 0));
+                WH(".all_check_minute", convertT(GDV(data.all_check_minute, 0)));
+                WH(".all_checkman", GDV(data.all_checkman, 0));
+                WH(".all_check_score", GDV(data.all_checked_score, 0));
+                WH(".checked_num", GDV(data.checked_num, 0));
+                WH(".checked_task_num", GDV(data.checked_task_num, 0));
+                WH(".unable_task_num", GDV(data.unable_task_num, 0));
+                WH(".checked_people_num", GDV(data.checked_people_num, 0));
+            } else {
+                WH(".all_check_task", 0);
+                WH(".all_check_minute", 0);
+                WH(".all_checkman", 0);
+                WH(".all_check_score", 0);
+                WH(".checked_num", 0);
+                WH(".checked_task_num", 0);
+                WH(".unable_task_num", 0);
+                WH(".checked_people_num", 0);
             }
-        },function(error){
-        	return "" ;
-    	});
+        }, function(error) {
+            return "";
+        });
+    }
+
+    function filter(num, num1, num2) {
+        if (num1 == 0) {
+            return num2;
+        } else {
+            return (num / num1).toFixed(2);
+        }
     }
+});
+
+function jumptodetail(id) {
+
+    post_common_service("task/getById", { "id": id }, function(data) {
+
+        $.checkTask = data;
+        if (typeof($.checkTask) != "undefined" && typeof($.checkTask.appeal) != "undefined") {
+            $.checkTask.appeal = null;
+        }
+
+        var start_date = $(".div-start input").val()
+        var end_date = $(".div-end input").val()
+        var user_id = $("#select-personal").val()
+        var score_falge = $(".score-select").val()
+        var pdata = {
+            "currentpage": datatable.options.pager.p_cur,
+            "startdate": start_date,
+            "enddate": end_date,
+            "userid": user_id,
+            "scorefalge": score_falge
+        }
+
+        $.zui.store.set('store_param_' + current_url, pdata);
+
+        url = "/view/mytask/taskDetail.html"
+        changePage(url);
+    }, function(error) {
+
+    });
+
+
 
-	function filter(num,num1,num2){
-		if(num1 == 0){
-			return num2;
-		}else{
-			return (num/num1).toFixed(2);
-		}
-	}
-});
+}

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

@@ -31,9 +31,17 @@ public class StatisticsBean {
     private Date start_date ;
     
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 
-    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")  
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date end_date ;
-    
+
+
+    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
+    private Date update_time ;
+
+
+    private Long task_id;
+
     private Long user_id ;
     
     private String name ;

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

@@ -315,9 +315,19 @@
      
      <select id="selectOneCheckedDetailInfo" parameterType="com.xintong.visualinspection.bean.StatisticsBean" resultType="com.xintong.visualinspection.bean.StatisticsBean">
      	SELECT t.name AS check_task_name , t.start_time AS start_date , t.end_time AS end_date,cs.check_item_score AS score , ci.name AS name,ci.parent_name, cs.pics ,t.checkman AS checkman_id,
-     	t.checked_person AS user_id ,t.checked_dept AS dept_id FROM v_check_task t 
-     		LEFT JOIN check_score cs ON t.id = cs.task_id 
-     		LEFT JOIN (SELECT ci.* ,cp.name AS parent_name FROM check_item  ci LEFT JOIN check_item cp ON ci.parent_id = cp.id) ci ON ci.id = cs.check_item_id  
+     	t.checked_person AS user_id ,t.checked_dept AS dept_id
+         <if test="queryType!=null and queryType==1">
+           ,cst.update_time,t.id as task_id
+         </if>
+
+         FROM v_check_task t
+     		LEFT JOIN check_score cs ON t.id = cs.task_id
+
+         <if test="queryType!=null and queryType==1">
+            left join ( select task_id,max(update_time) as update_time  from  check_task_status  where check_status =4 or check_status = 14 GROUP BY task_id ) cst on t.id = cst.task_id
+         </if>
+
+         LEFT JOIN (SELECT ci.* ,cp.name AS parent_name FROM check_item  ci LEFT JOIN check_item cp ON ci.parent_id = cp.id) ci ON ci.id = cs.check_item_id
      		where   t.check_status !=22
      		<if test="queryType!=null and queryType==0">
      			AND (cs.checked_person = #{user_id} OR t.monitor_user_id = #{user_id}  )

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

@@ -1203,7 +1203,7 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 				sta.setCheck_task_time_name(
 						formatter.format(sta.getStart_date()) + formatter2.format(sta.getEnd_date()));
 
-				if(sta.getUser_id()!=null && obj.getUser_id()!=null) {
+				if(sta.getUser_id()!=null && obj.getUser_id()!=null && obj.getQueryType()!=null && obj.getQueryType().intValue() ==0) {
                     sta.setChecked_name(CacheUtil.getUserFromMap(sta.getUser_id()).getTruename() + (obj.getUser_id().intValue() == sta.getUser_id().intValue() ? "" : "(组员)"));
 
                 }
@@ -1215,7 +1215,7 @@ public class StatisticsServiceImpl extends BaseService implements StatisticsServ
 				sta.setCheck_task_time_name(
 						formatter.format(sta.getStart_date()) + formatter2.format(sta.getEnd_date()));
 
-                if(sta.getUser_id()!=null && obj.getUser_id()!=null) {
+                if(sta.getUser_id()!=null && obj.getUser_id()!=null && obj.getQueryType()!=null && obj.getQueryType().intValue() ==0) {
                     sta.setChecked_name(CacheUtil.getUserFromMap(sta.getUser_id()).getTruename() + (obj.getUser_id().intValue() == sta.getUser_id().intValue() ? "" : "(组员)"));
 
                 }

File diff suppressed because it is too large
+ 368 - 4729
VisualInspection_server/visual/visual.log


Some files were not shown because too many files changed in this diff