Просмотр исходного кода

Merge branch 'master' of http://git_xt.jsxt.jsjtyxt.com/wenhongquan/VisualInspection

chenrj-PC\chenrj 8 лет назад
Родитель
Сommit
d0e11af088
44 измененных файлов с 632 добавлено и 152 удалено
  1. BIN
      VisualInspection/favicon.ico
  2. 2 2
      VisualInspection/js/appeal_management/appeal_checked.js
  3. 12 8
      VisualInspection/js/appeal_management/appeal_list.js
  4. 2 1
      VisualInspection/js/config.js
  5. 21 5
      VisualInspection/js/lib/mytable.js
  6. 28 6
      VisualInspection/js/mytask/apply_task.js
  7. 78 17
      VisualInspection/js/mytask/check.js
  8. 3 2
      VisualInspection/js/mytask/checked.js
  9. 26 13
      VisualInspection/js/mytask/task_list.js
  10. 2 2
      VisualInspection/js/teamClass/charge_team_schedule.js
  11. 1 1
      VisualInspection/js/teamClass/check_team_schedule.js
  12. 15 0
      VisualInspection/js/util/util.js
  13. 0 1
      VisualInspection/view/common/commoncsslink.html
  14. 0 1
      VisualInspection/view/common/commonscriptlink.html
  15. 11 0
      VisualInspection/view/main.html
  16. 4 1
      VisualInspection/view/mytask/apply_task.html
  17. 3 0
      VisualInspection/view/mytask/check.html
  18. 1 1
      VisualInspection/view/mytask/checked.html
  19. 24 13
      VisualInspection/view/mytask/scoreDetail.html
  20. 68 20
      VisualInspection/view/mytask/taskDetail.html
  21. 34 16
      VisualInspection/view/mytask/task_list.html
  22. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/CheckApply.java
  23. 2 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/Score.java
  24. 11 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/Task.java
  25. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckAppealController.java
  26. 39 14
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckApplyController.java
  27. 42 4
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TaskController.java
  28. 19 1
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TeamClassController.java
  29. 14 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TeamController.java
  30. 3 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/TaskDao.java
  31. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/TeamDao.java
  32. 2 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/cluster/UserInfoMapper.xml
  33. 12 5
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/CheckApplylMapper.xml
  34. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/ScoreMapper.xml
  35. 70 3
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/TaskMapper.xml
  36. 5 1
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/TeamMapper.xml
  37. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/TaskService.java
  38. 2 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/TeamService.java
  39. 6 1
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/ScoreServiceImpl.java
  40. 33 8
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/TaskServiceImpl.java
  41. 4 2
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/TeamClassServiceImpl.java
  42. 26 1
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/TeamServiceImpl.java
  43. 1 1
      VisualInspection_server/src/main/java/com/xintong/visualinspection/util/CacheUtil.java
  44. 1 1
      VisualInspection_server/src/main/resources/application.properties

BIN
VisualInspection/favicon.ico


+ 2 - 2
VisualInspection/js/appeal_management/appeal_checked.js

@@ -8,8 +8,8 @@ function queryCheckedAppealTask(){
         "start_time": start_time,
         "end_time": end_time,
         "checked_dept": $("#fsList").val(),
-        "status_search_type":1,
-        "check_status":14
+        // "status_search_type":1,
+        "check_status_arr":[14,15,16]
     }
     var hide = false;
     

+ 12 - 8
VisualInspection/js/appeal_management/appeal_list.js

@@ -41,8 +41,9 @@ function initQueryParams() {
 //初始化表行按钮
 function initTableRowBtn() {
     $.zui.store.set("task_table_btn_11",[{func:'seeCheckAudit',text:'处理',icon_class:'icon-tasks'}]);
-     $.zui.store.set("task_table_btn_12",[{func:'showCheck',text:'开始稽查',icon_class:'icon-eye-open'}]);
-    $.zui.store.set("task_table_btn_13",[{func:'showContinueCheck',text:'继续稽查',icon_class:'icon-eye-open'}]);
+    $.zui.store.set("task_table_btn_12",[{func:'showCheck',text:'开始稽查',icon_class:'icon-eye-open'}]);
+    $.zui.store.set("task_table_btn_13",[{func:'showCheck',text:'开始稽查',icon_class:'icon-eye-open'}]);
+    $.zui.store.set("task_table_btn_17",[{func:'showContinueCheck',text:'继续稽查',icon_class:'icon-eye-open'}]);
     $.zui.store.set("task_table_btn_14",[{func:'seeCheckAudit',text:'详情',icon_class:'icon-tasks'},
                                         {func:'dispatchAppealTaskById',text:'下发',icon_class:'icon-signin'}]);
     // $.zui.store.set("task_table_btn_14",[{func:'showTaskDetail',text:'详情',icon_class:'icon-tasks'}]);
@@ -78,15 +79,18 @@ function queryAppeal(){
             {width: 80, text: '稽查人员', type: 'string', flex: true, hide:hide,field:'checkman_name'},
             {width: 80, text: '复核人员', type: 'string', flex: true, hide:hide,field:'recheckman_name'},
             {width: 120, text: '稽查时间段', type: 'string', flex: true, colClass: '',field:'check_period'},
-            {width: 80, text: '状态', type: 'string', flex: true, colClass: '',field:'check_status_name'},
+            // {width: 80, text: '状态', type: 'string', flex: true, colClass: '',field:'check_status_name'},
         ];
     var colFunc = {width: 120, text: '操作', type: 'string', flex: true, field: 'id'};   
     colFunc.oper = $.zui.store.get("task_table_btn_"+cur_status);
     cols.push(colFunc);
-        $('.datatable').mytable({'cols':cols,
-                                'url':"/checkAppeal/getTaskList",
-                                'param':data}
-                                );
+    if(cur_status==12 || cur_status==13){
+        data.check_status_arr = [12,13];
+    }
+    $('.datatable').mytable({'cols':cols,
+                            'url':"/checkAppeal/getTaskList",
+                            'param':data}
+                            );
     }
 //查看稽查结果
 function seeCheckAudit(id,task_id){
@@ -156,7 +160,7 @@ function showCheck(id){
         $.checkTask = rowData;
         $.checkTask.appeal = data;
         console.log("申诉:"+$.checkTask.appeal.id);
-        // no_return_common_service('/task/update', {"id":id,"check_status":13})
+        no_return_common_service('/task/update', {"id":id,"check_status":13})
         changePage("/view/mytask/check.html");
     });
 }

+ 2 - 1
VisualInspection/js/config.js

@@ -29,7 +29,8 @@ function getImageaddr(){
         return "http://file_yanhai.git.topm.win:8080/";
     }
     else if(base_ui_url.indexOf("localhost")!=-1){
-        return "http://file_yanhai.git.topm.win:8080"
+        return "http://file_yanhai.git.topm.win:8080/"
+        // return "http://localhost:9080/"
     }else{
         return "http://10.112.0.199/"
     }

+ 21 - 5
VisualInspection/js/lib/mytable.js

@@ -15,6 +15,8 @@
     var mytable = function(element, options, flag) {
         // default options
         var DEFAULTS = {
+            checkable:false,
+            sortable:false,
             isShoWPager:true,
             pager:{
                 page_size:10
@@ -95,7 +97,7 @@
             var tableData = datas;
             // var pager = options.pager;
            
-            clearTable(cols);
+            clearTable(cols,options,element);
             var rowData = formatTableData(tableData, cols, p_cur);
 
             // 使用data参数更新数据:
@@ -104,6 +106,7 @@
                     rows:rowData
                 }
             );
+            // $('#my_table').datatable({checkable: true});
 
             $('a.lightbox-toggle').lightbox();//图片轮播
             function formatTableData(data,cols,p_cur){
@@ -138,7 +141,7 @@
                         var oper = cols[i].oper;
                         var operStr="";
                         for(var j=0;j<oper.length;j++){
-                            operStr+='&nbsp;<a href="#" onclick="'+oper[j].func+'('+obj[cols[i].field]+','+obj[cols[i].field_other]+')"><i class="icon '+oper[j].icon_class+'"></i>&nbsp;'+oper[j].text+' </a>&nbsp;';
+                            operStr+='<a href="#" onclick="'+oper[j].func+'('+obj[cols[i].field]+','+obj[cols[i].field_other]+')"><i class="icon '+oper[j].icon_class+'"></i>&nbsp;'+oper[j].text+' </a>&nbsp;';
                         }
                         dArr.push(operStr);
                     }else{
@@ -164,13 +167,24 @@
                 row.data=dArr;
                 return row;
             }
-            function clearTable(cols){
+            function clearTable(cols,options,element){
+                var checkable = options.checkable;
+                var sortable = options.sortable
                 $('#my_table').datatable( {
-                    checkable:false,
-                    sortable:false,
+                    checkable:checkable,
+                    sortable:sortable,
                     data: {
                         cols: cols,
                         rows:[]
+                    },
+                    checksChanged:function(event) {
+                        var checkArr = event.checks.checks;
+                        var checkedIds=[];
+                        for(var i=0;i<checkArr.length;i++) {
+                            element.tt_data[i].checked=true;
+                            checkedIds.push(element.tt_data[i].id);
+                        }
+                        element.tt_checkedIds = checkedIds;
                     }
                 });
             }
@@ -201,6 +215,8 @@
             switch (options) {
                 case 'getTableData': 
                     return this[0].tt_data;
+                case 'getTableCheckedIds': 
+                    return this[0].tt_checkedIds;
                 case 'empty': 
                     return new mytable(this,options,true);
             }

+ 28 - 6
VisualInspection/js/mytask/apply_task.js

@@ -32,12 +32,16 @@
         if(page_params && page_params.status) {
             cur_status = page_params.status;
         }
-        
+        if(cur_status==21){
+            $("#agreePatchBtn").show();
+        }
         queryUnexaminedTask();
     }
 //初始化表行按钮
 function initTableRowBtn() {
-    $.zui.store.set("task_table_btn_21_"+ROLE_JICHA_ADMIN,[{func:'showApplyDetail',text:'处理',icon_class:'icon-eye-open'}]);
+    $.zui.store.set("task_table_btn_21_"+ROLE_JICHA_ADMIN,[{func:'showCheck',text:'复查',icon_class:'icon-eye-open'},
+                                                            {func:'showApplyDetail',text:'处理',icon_class:'icon-eye-open'}
+                                                            ]);
     $.zui.store.set("task_table_btn_21_"+ROLE_JICHA,[{func:'showApplyDetail1',text:'详情',icon_class:'icon-eye-open'}]);
     $.zui.store.set("task_table_btn_22",[{func:'showApplyDetail1',text:'详情',icon_class:'icon-tasks'}]);
     $.zui.store.set("task_table_btn_23",[{func:'showApplyDetail1',text:'详情',icon_class:'icon-tasks'}]);
@@ -56,7 +60,7 @@ function queryUnexaminedTask(){
         "check_status":cur_status
     }
     var hide = false;
-    if(hasRole(ROLE_STATION_ADMIN) || hasRole(ROLE_STATION)) {
+    if(hasRole(ROLE_STATION_ADMIN) || hasRole(ROLE_STATION) ||  hasRole(ROLE_JICHA)|| roleContains('STATION')) {
         hide = true;
     }
     var cols = [
@@ -85,14 +89,25 @@ function queryUnexaminedTask(){
     }
     console.log(colFunc.oper);
     cols.push(colFunc);
-    // var pager = {
-    //     page_size:10
-    // }
+    var checkable = false;
+    if(cur_status==21){
+        checkable = true;
+    }
     $('#unexamined_datatable').mytable({'cols':cols,
+                            'checkable':checkable,
                             'url':"/task/getTaskList/",
                             'param':data}
                             );
 }
+//进入稽查页面
+function showCheck(id){
+    $.checkTask =getItemByIdFromArr(id,$('#unexamined_datatable').mytable('getTableData'));
+    $.checkTask.appeal = null;
+    //开始稽查
+    no_return_common_service('/task/update', {"id":$.checkTask.id,"check_status":21,"record_status":1,"check_status_name":"复查"});
+    changePage("/view/mytask/check.html");
+}
+
 function showApplyDetail1(id){
     layer.open({
         type: 1,
@@ -173,4 +188,11 @@ function refuseApply(taskId){
         'task_id':taskId
     };
     addOrUpdateItem4Common(param,'/checkApply/refuse',queryUnexaminedTask);
+}
+
+function agreeApplyTaskPatch(){
+    var param = {
+        'apply_ids':$('#unexamined_datatable').mytable('getTableCheckedIds')
+    };
+    addOrUpdateItem4Common(param,'/checkApply/agreePatch',queryUnexaminedTask);
 }

+ 78 - 17
VisualInspection/js/mytask/check.js

@@ -6,6 +6,7 @@ function initCheck() {
     });
 
 
+
     $("#tabcontent").css("height", ($("#video_content").height() - 80) + "px");
 
 
@@ -183,11 +184,18 @@ function initCheckAppealBtns() {
             title: "申诉详情",
             closeBtn: 1,
             shade: false,
+            maxmin: true,
             shadeClose: true,
             offset: 'rb',
             content: $('#appeal_div'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
-            yes: function (index) {
-                layer.close(index);
+            min: function (index) {
+                // layer.close(index);
+                layer.style(index,{width: 50,height:50}); 
+                return false;
+            },
+            cancel:function(index){
+                 layer.style(index,{width: 50,height:50,offset:'r'});
+                 return false; 
             }
         });
     } else {
@@ -205,14 +213,17 @@ function queryCheckScores() {
     }
     // alert("ff");
     var cols = [
-        { width: 80, text: '序号', type: 'number', flex: true, colClass: 'text-center', field: 'num' },
+        { width: 40, text: '序号', type: 'number', flex: true, colClass: 'text-center', field: 'num' },
         { width: 160, text: '评分记录', type: 'string', flex: true, sort: 'down', field: 'content' },
-        { width: 80, text: '分数', type: 'string', flex: true, colClass: '', field: 'check_item_score' },
+        { width: 50, text: '分数', type: 'string', flex: true, colClass: '', field: 'check_item_score' },
+        { width: 100, text: '备注', type: 'string', flex: true, colClass: '', field: 'remark' },
+        { width: 55, text: '考核人', type: 'string', flex: true, colClass: '', field: 'checked_person_name' },
         // {width: 80, text: '图片', type: 'imagedd', flex: true, colClass: '',field: 'pics'},
         {
-            width: 160, text: '操作', type: 'string', flex: true, field: 'id',
+            width: 110, text: '操作', type: 'string', flex: true, field: 'id',
             oper: [
                 { func: 'showEditCheckScore', text: '修改', icon_class: 'icon-edit' },
+                { func: 'showEditPic', text: '修改图片', icon_class: 'icon-edit' },
                 { func: 'deleteCheckScore', text: '删除', icon_class: 'icon-remove-circle' }
             ]
         }
@@ -228,16 +239,60 @@ function queryCheckScores() {
     }
     );
 }
-function showEditCheckScore(id) {
-    // deleteItem4Common(id,"/score/delete/",queryCheckScores);
+function showEditPic(){
     var rowData = getItemByIdFromArr(id, $('#score_datatable').mytable('getTableData'));
-    // scoreDetailLayer = showPopup4Common('修改考核项',null,['600px','500px'],'#score-detail-div');
-    // var rowData=getItemByIdFromArr(id,$('#score_datatable').mytable('getTableData'));
     showPics(rowData.pics);
-    // $("#scoreContent").val(rowData.content);
     $("#saveEditBtn").show();
     editScoreId = id;
 }
+function showEditCheckScore(id) {
+    // deleteItem4Common(id,"/score/delete/",queryCheckScores);
+    var rowData = getItemByIdFromArr(id, $('#score_datatable').mytable('getTableData'));
+    scoreDetailLayer = showPopup4Common('修改考核项',function(data){
+       saveScoreEdit();
+    },['350px','400px'],'#score-detail-div','r');
+    
+    $("#score_id_text").val(rowData.id);
+    $("#check_item_text").val(rowData.content);
+    $("#check_score_text").val(rowData.check_item_score);
+    $("#check_remark_text").val(rowData.remark);
+    var param = {
+        'organid': $.checkTask.checked_dept
+    };
+    post_common_service("/user/getUserList/", param, function (data) {
+        setFeeUserSelect("#check_checked_person_select",rowData.checked_person,data);
+    });
+}
+function setFeeUserSelect(div,selectId,userList){
+    var optStr = '';
+    for(var i in userList) {
+        if(userList[i].deptid==selectId)
+            optStr += '<option value="'+userList[i].id+'" selected="selected">'+userList[i].truename+'</option>';
+        else
+            optStr += '<option value="'+userList[i].id+'">'+userList[i].truename+'</option>';
+    }
+    $(div).html('');
+    $(div).html(optStr);
+}
+function saveScoreEdit(){
+    var param = {
+        'id': $("#score_id_text").val(),
+        'content': $("#check_item_text").val(),
+        'check_item_score': $("#check_score_text").val(),
+        'remark': $("#check_remark_text").val(),
+        'checked_person': $("#check_checked_person_select").val(),
+    };
+    editScoreId = null;
+    $("#saveEditBtn").hide();
+    no_return_common_service("/score/update", param, function (data) {
+        if (scoreLayer) layer.close(scoreLayer);
+        //查询评分情况
+        queryCheckScores();
+        // layer.msg(data, {
+        //     time: 2000//20s后自动关闭
+        // });
+    });
+}
 var editScoreId;
 function saveEdit() {
     if (editScoreId) {
@@ -359,8 +414,8 @@ function showChangeUser() {
             var pic = "../../images/body-bg.png";
             if (data[i].pic) pic = base_image_server_url + data[i].pic;
             str = '<div style="width:90px;float:left;margin:5px;">'
-                + '<a class="card" href="javascript:void(0)" onclick="showBigImg(\'' + pic + '\')">'
-                + '<img src="' + pic + '" alt="" style="height:100px;width:90px;">'
+                + '<a class="card" href="javascript:void(0)">'
+                + '<img src="' + pic + '" alt="" style="height:100px;width:90px;" onclick="showBigImg(\'' + pic + '\')">'
                 + '<div class="card-heading"><strong>' + name + '</strong></div>'
                 + '<div class="card-actions">'
                 + '<button type="button" class="btn btn-mini btn-danger" onclick="changePerson(\'' + data[i].id + '\')">选择</button>'
@@ -379,10 +434,17 @@ function changePerson(id) {
         "id": $.checkTask.id,
         "checked_person": id,
     }
-    no_return_common_service("task/update/", param, function (data) {
+    post_common_service("task/update/", param, function (task_data) {
+        //重置当前任务
+        $.checkTask = task_data;
+        //获取用户信息
         get_common_service('user/getUserById/' + id, null, function (data) {
             changePersonContent(data);
         })
+        //更新用户次数表
+        no_return_common_service('task/updateUserCount/', param, function (data) {
+            // changePersonContent(data);
+        })
         layer.close(changePersonLayer);
     }, function (error) {
         alert(error);
@@ -525,9 +587,7 @@ function genNode(m) {
     zdataItem["children"] = addobj(m);
     return zdataItem;
 }
-
 function zTreeOnClick(event, treeId, treeNode) {
-    //alert(treeNode.name);
     var imgArr = $("#img_container .pic-class");
     var picsStr = "";
     if (imgArr && imgArr.length > 0) {
@@ -556,6 +616,7 @@ function zTreeOnClick(event, treeId, treeNode) {
             time: 2000//20s后自动关闭
         });
     });
+    
 }
 
 function submitCheck() {
@@ -574,7 +635,7 @@ function submitCheck() {
 function showPre(id) {
     // $('#myModal').modal({name:"dd"});
     //预览提交把任务状态改为待提交
-    no_return_common_service('/task/update', { "id": $.checkTask.id, "check_status": 3 })
+    no_return_common_service('/task/update', {"id":$.checkTask.id,"check_status":7})
     changePage("/view/mytask/taskDetail.html");
 }
 function showInvalid() {
@@ -599,7 +660,7 @@ function submitCheck4Appeal() {
 function showPre4Appeal(id) {
     // $('#myModal').modal({name:"dd"});
     //预览提交把任务状态改为待提交
-    no_return_common_service('/task/update', { "id": $.checkTask.id, "check_status": 13 })
+    no_return_common_service('/task/update', {"id":$.checkTask.id,"check_status":17})
     changePage("/view/mytask/taskDetail.html");
 }
 function saveValidReason() {

+ 3 - 2
VisualInspection/js/mytask/checked.js

@@ -8,9 +8,10 @@ function queryCheckedTask(){
         "start_time": start_time,
         "end_time": end_time,
         "checked_dept": $("#fsList").val(),
-        "status_search_type":1,
-        "check_status":4
+        // "status_search_type":1,
+        "check_status_arr":[4,5,6]
     }
+    
     var cols = [
                 {width: 80, text: '序号', type: 'number', flex: true, colClass: 'text-center',field: 'num'},
                 {width: 160, text: '任务名称', type: 'string', flex: true, sort: 'down',field: 'name'},

+ 26 - 13
VisualInspection/js/mytask/task_list.js

@@ -39,12 +39,14 @@ function initQueryParams() {
     }
     if(cur_status==4){
         $("#dispatchPatchBtn").show();
+        $("#hasScoreDiv").show();       
     }
 }
 //初始化表行按钮
 function initTableRowBtn() {
     $.zui.store.set("task_table_btn_2",[{func:'showCheck',text:'开始稽查',icon_class:'icon-eye-open'}]);
-    $.zui.store.set("task_table_btn_3",[{func:'showContinueCheck',text:'继续稽查',icon_class:'icon-eye-open'}]);
+    $.zui.store.set("task_table_btn_3",[{func:'showCheck',text:'开始稽查',icon_class:'icon-eye-open'}]);
+    $.zui.store.set("task_table_btn_7",[{func:'showContinueCheck',text:'继续稽查',icon_class:'icon-eye-open'}]);
     $.zui.store.set("task_table_btn_4",[{func:'showTaskDetail',text:'详情',icon_class:'icon-tasks'},
                                         {func:'dispatchTaskById',text:'下发',icon_class:'icon-signin'}]);
     $.zui.store.set("task_table_btn_5",[{func:'showTaskDetail',text:'详情',icon_class:'icon-tasks'}]);
@@ -61,12 +63,14 @@ function queryTask(){
         "start_time": start_time,
         "end_time": end_time,
         "checked_dept": $("#fsList").val(),
-        "check_status":cur_status
+        "check_status":cur_status,
+        "hasScore":$("#hasScoreList").val(),
     }
     var hide = false;
-    if(hasRole(ROLE_STATION_ADMIN) || hasRole(ROLE_STATION)) {
+    if(hasRole(ROLE_STATION_ADMIN) || hasRole(ROLE_STATION) ||  hasRole(ROLE_JICHA)|| roleContains('STATION')) {
         hide = true;
     }
+    console.log("fffffff"+hide);
     var cols = [
                 {width: 80, text: '序号', type: 'number', flex: true, colClass: 'text-center',field: 'num'},
                 {width: 160, text: '任务名称', type: 'string', flex: true, sort: 'down',field: 'name'},
@@ -79,10 +83,16 @@ function queryTask(){
     var colFunc = {width: 120, text: '操作', type: 'string', flex: true, field: 'id'};   
     colFunc.oper = $.zui.store.get("task_table_btn_"+cur_status);
     cols.push(colFunc);
-    // var pager = {
-    //     page_size:10
-    // }
+    //只有下发才显示复选框
+    var checkable = false;
+    if(hasRole(ROLE_JICHA_ADMIN) && cur_status==4){
+        checkable = true;
+    }
+    if(cur_status==2 || cur_status==3){
+        data.check_status_arr = [2,3];
+    }
     $('.datatable').mytable({'cols':cols,
+                            'checkable':checkable,
                             'url':"/task/getTaskList/",
                             'param':data}
                             );
@@ -92,7 +102,8 @@ function showCheck(id){
     // $('#myModal').modal({name:"dd"});
     $.checkTask =getItemByIdFromArr(id,$('.datatable').mytable('getTableData'));
     $.checkTask.appeal = null;
-    
+    //开始稽查
+    no_return_common_service('/task/update', {"id":$.checkTask.id,"check_status":3});
     changePage("/view/mytask/check.html");
 }
 //进入继续稽查页面
@@ -159,14 +170,15 @@ function showTaskDetail(id){
 }
 //下发所有任务
 function dispatchTaskPatch(){
-     layer.confirm('确定下发全部任务?', {
+    layer.confirm('确定下发全部任务?', {
         btn: ['确定','取消'] //按钮
     }, function(){
         var param = {
-            "start_time": $("#start_time").val(),
-            "end_time": $("#end_time").val(),
-            "checked_dept": $("#dept").val(),
-            "check_status":4
+            // "start_time": $("#start_time").val(),
+            // "end_time": $("#end_time").val(),
+            // "checked_dept": $("#dept").val(),
+            "check_status":4,
+            "dispatch_ids":$('.datatable').mytable('getTableCheckedIds')
         }
 
         no_return_common_service('/task/dispatch', param, function(data){
@@ -178,7 +190,8 @@ function dispatchTaskPatch(){
     }, function(index){
         layer.close(index);
     });
-   
+   var datas = $('.datatable').mytable('getTableData');
+   console.log(datas);
 }
 //下发单条任务
 function dispatchTaskById(id){

+ 2 - 2
VisualInspection/js/teamClass/charge_team_schedule.js

@@ -6,7 +6,7 @@
 //    })
 
    function initChargeTeamSchedule(){
-         $("#main_content_title").html("收费人员排班")
+        //  $("#main_content_title").html("收费人员排班")
 
         var user = $.zui.store.get("user") ;  // 缓存用户信息,取出dept_id
 
@@ -347,7 +347,7 @@
             var end_time = $("#end_time").val() ;
             var name = $("#team_info_ti").find("option:selected").text(); 
             
-            if(start_time >= end_time){
+            if(start_time >end_time){
                 tip("时间设置不合理,开始时间不能大于结束时间");
                 return ;
             }

+ 1 - 1
VisualInspection/js/teamClass/check_team_schedule.js

@@ -1,6 +1,6 @@
     $(document).ready(function() {
 
-         $("#main_content_title").html("稽查人员排班")
+        //  $("#main_content_title").html("稽查人员排班")
 
         var user = $.zui.store.get("user") ;  // 缓存用户信息,取出dept_id
         // console.log(user );

+ 15 - 0
VisualInspection/js/util/util.js

@@ -377,3 +377,18 @@ function showClientImg(src){
 function downloadClientfile(src){
     callFunc("downloadfile", src);
 }
+
+function setTeamUserSelect(div,selectId,classId){
+   post_common_service("/team/getTeamPersonsByUserClassId/"+classId,null,function(data){
+        var optStr = '';
+        for(var i in data) {
+            if(data[i].positionid==4) data[i].truename=data[i].truename+'(班长)';
+            if(data[i].id==selectId)
+                optStr += '<option value="'+data[i].id+'" selected="selected">'+data[i].truename+'</option>';
+            else
+                optStr += '<option value="'+data[i].id+'">'+data[i].truename+'</option>';
+        }
+        $(div).html('');
+        $(div).html(optStr);
+    });
+}

+ 0 - 1
VisualInspection/view/common/commoncsslink.html

@@ -9,4 +9,3 @@
 <link rel="stylesheet" type="text/css" href="/node_modules/zui/dist/lib/calendar/zui.calendar.css">
 <link rel="stylesheet" type="text/css" href="/js/lib/webuploader/webuploader.css">  
 <link rel="stylesheet" type="text/css" href="/node_modules/zui/dist/lib/uploader/zui.uploader.min.css">
-<link rel="stylesheet" type="text/css" href="/js/lib/zoom/css/zoom.css">

+ 0 - 1
VisualInspection/view/common/commonscriptlink.html

@@ -18,7 +18,6 @@
 <script src="/js/lib/kkpager.min.js"></script>
 <script src="/js/lib/slide/js/bootstrap-slider.min.js"></script>
 <script src="/js/lib/webuploader/webuploader.js"></script>
-<script src="/js/lib/zoom/js/zoom.js"></script>
 <script src="/js/util/util.js"></script>
 <script src="/js/util/service.js"></script>
 <script src="/js/constant/constant.js"></script>

+ 11 - 0
VisualInspection/view/main.html

@@ -12,6 +12,17 @@
     <style>
         html{overflow:auto;}
         img.lightbox-img{width:600px;}
+        .navbar-inverse {
+            background-color: #1253A9;
+        }
+        .file-list,.uploader-files {
+            border:0px;
+        }
+        /*.mum_left {
+            background-color: #2B7EB3;
+        }*/
+
+        
     </style>
     <script src="/js/mytask/check.js"></script>
     <script src="/js/teamClass/charge_team_schedule.js"></script>

+ 4 - 1
VisualInspection/view/mytask/apply_task.html

@@ -17,11 +17,14 @@
                 </div>
                 <div class="col-sm-2">
                     <button class="btn btn-primary " type="button" onclick="queryUnexaminedTask()">查询</button>
+                    <div id="agreePatchBtn" style="float:right;display:none;">
+                        <button class="btn btn-success" type="button" onclick="agreeApplyTaskPatch()"><i class="icon icon-plus-sign"></i> 一键同意</button>
+                    </div>
                 </div>
             </div>
         </form>
     </div>
-    <br>
+    <hr style="margin-top:0px;">
 
     <div id="unexamined_datatable"></div>
 </div>

+ 3 - 0
VisualInspection/view/mytask/check.html

@@ -126,6 +126,9 @@
     <div>
         <table style="width:100%;">
             <tr>
+                <td width="50%"><button class="btn btn-primary" type="button" onclick="showPre4Appeal()">反馈</button></label></td>
+            </tr>
+            <tr>
                 <td width="50%">申诉时间:<label id="appeal_time"></label></td>
                 <td width="50%">申诉原因:<label id="appeal_reason"></label></td>
             </tr>

+ 1 - 1
VisualInspection/view/mytask/checked.html

@@ -21,7 +21,7 @@
             </div>
         </form>
     </div>
-    <br>
+    <hr style="margin-top:0px;">
 
     <div class="datatable" id="checked_datatable"></div>
 </div>

+ 24 - 13
VisualInspection/view/mytask/scoreDetail.html

@@ -1,19 +1,30 @@
 <div class="container-fluid ">
-    <div class="cards">
+    <form class="form-horizontal" style="margin-top:10px;">
+        <input type="hidden" class="form-control" id="score_id_text" disabled="disabled" placeholder="">
         <div class="form-group">
-            <label class="col-md-4 col-sm-2">内容</label>
-            <div class="col-md-6 col-sm-10">
-                    <input type="text" class="form-control" id="content" placeholder="">
+            <label for="exampleInputAccount1" class="col-md-3">考核项</label>
+            <div class="col-md-9">
+                <input type="text" class="form-control" id="check_item_text" placeholder="">
             </div>
         </div>
-        <div id="img_edit_container" class="cards cards-borderless col-sm-11">
+        <div class="form-group">
+            <label for="exampleInputAccount1" class="col-md-3">分数</label>
+            <div class="col-md-9">
+                <input type="text" class="form-control" id="check_score_text"  placeholder="">
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-md-3">考核人</label>
+            <div class="col-md-9">
+                <select class="form-control" id="check_checked_person_select">
+                </select>
+            </div>
+        </div>
+        <div class="form-group">
+            <label class="col-md-3">备注</label>
+            <div class="col-md-9">
+                <textarea class="form-control" id="check_remark_text"  placeholder=""/>
+            </div>
         </div>
-    </div>
-    <div>
-        <br>
-        <button class="btn btn-primary" type="button" onclick="clearAllImg()">清空</button>
-        <br>
-        <br>
-        <button class="btn btn-primary" type="button"  onclick="showScore()">评分</button>
-    </div>
+    </form>
 </div>

+ 68 - 20
VisualInspection/view/mytask/taskDetail.html

@@ -55,6 +55,8 @@
             <button id="confirmAppealBtn" style="display:none" type="button" class="btn btn-warning" onclick="confirmCheck4Appeal()">申诉结果确认</button>
             <button id="appealBtn" style="display:none" type="button" class="btn btn-danger" onclick="showAppeal()">申诉</button>
             <button id="assignBtn" style="display:none" type="button" class="btn btn-danger" onclick="showAssign()">分配</button>
+            <button id="backBtn" style="display:none" type="button" class="btn btn-danger" onclick="back2Check()">退回重新稽查</button>
+            <button id="backConfirmBtn" style="display:none" type="button" class="btn btn-danger" onclick="back2Confirm()">退回重新确认</button>
         </div>
     </div>
 </div>
@@ -122,6 +124,8 @@
         $.zui.store.set("task_detail_btn_"+ROLE_JICHA+"_3",["#submitBtn"]);
         $.zui.store.set("task_detail_btn_"+ROLE_JICHA+"_12",["#submitAppealBtn"]);
         $.zui.store.set("task_detail_btn_"+ROLE_JICHA+"_13",["#submitAppealBtn"]);
+        $.zui.store.set("task_detail_btn_"+ROLE_JICHA_ADMIN+"_4",["#backBtn"]);
+        $.zui.store.set("task_detail_btn_"+ROLE_JICHA_ADMIN+"_6",["#backConfirmBtn"]);
         $.zui.store.set("task_detail_btn_"+ROLE_JICHA_ADMIN+"_11",["#assignBtn"]);
         $.zui.store.set("task_detail_btn_"+ROLE_STATION_ADMIN+"_5",["#confirmBtn","#appealBtn"]);
         $.zui.store.set("task_detail_btn_"+ROLE_STATION_ADMIN+"_15",["#confirmAppealBtn"]);
@@ -129,8 +133,7 @@
         $.zui.store.set("task_detail_btn_"+ROLE_STATION_AGENT+"_15",["#confirmAppealBtn"]);
     }
     function checkAuth(){
-        initBtns();
-        
+        initBtns();        
         showBtn(ROLE_JICHA,$.checkTask.check_status);
         showBtn(ROLE_JICHA_ADMIN,$.checkTask.check_status);
         showBtn(ROLE_STATION_ADMIN,$.checkTask.check_status);
@@ -298,29 +301,45 @@
     }
 
     function confirmCheck(){
-        var param = {
-            "id": $.checkTask.id,
-            "check_status":6
-        }
-        no_return_common_service("/task/update/",param,function(data){
-             layer.msg("确认成功", {
-                time: 2000//20s后自动关闭
-             });
-            changePage("/view/mytask/task_list.html?status=5");
+        layer.confirm('是否确认该稽查结果?', {
+            btn: ['确认','取消'], //按钮
+            offset:'auto'
+        }, function(){
+            var param = {
+                "id": $.checkTask.id,
+                "check_status":6
+            }
+            no_return_common_service("/task/update/",param,function(data){
+                layer.msg("确认成功", {
+                    time: 2000//20s后自动关闭
+                });
+                changePage("/view/mytask/task_list.html?status=5");
+            });
+        }, function(index){
+            layer.close(index);
         });
+       
     }
 
     function confirmCheck4Appeal(){
-        var param = {
-            "id": $.checkTask.id,
-            "check_status":16
-        }
-        no_return_common_service("/task/update/",param,function(data){
-             layer.msg("确认成功", {
-                time: 2000//20s后自动关闭
-             });
-            changePage("/view/mytask/task_list.html?status=5");
+        layer.confirm('是否确认该申诉结果?', {
+            btn: ['确认','取消'], //按钮
+            offset:'auto'
+        }, function(){
+            var param = {
+                "id": $.checkTask.id,
+                "check_status":16
+            }
+            no_return_common_service("/task/update/",param,function(data){
+                layer.msg("确认成功", {
+                    time: 2000//20s后自动关闭
+                });
+                changePage("/view/mytask/task_list.html?status=5");
+            });
+        }, function(index){
+            layer.close(index);
         });
+        
     }
 
     function showAssign(){
@@ -343,4 +362,33 @@
             changePage("/view/mytask/task_list.html?status=11");
         });
     }
+
+    function back2Check(){
+        //退回到待提交页面
+        var param = {
+            "id": $.checkTask.id,
+            "check_status":3,
+            "check_status_name":"退回"
+        }
+        no_return_common_service("/task/update/",param,function(data){
+             layer.msg("退回成功", {
+                time: 2000//20s后自动关闭
+             });
+            changePage("/view/mytask/task_list.html?status=4");
+        });
+    }
+    function back2Confirm(){
+        //退回到待提交页面
+        var param = {
+            "id": $.checkTask.id,
+            "check_status":5,
+            "check_status_name":"退回重新确认"
+        }
+        no_return_common_service("/task/update/",param,function(data){
+             layer.msg("退回成功", {
+                time: 2000//20s后自动关闭
+             });
+            changePage("/view/mytask/task_list.html?status=6");
+        });
+    }
     </script>

+ 34 - 16
VisualInspection/view/mytask/task_list.html

@@ -1,30 +1,48 @@
 <script src="/js/mytask/task_list.js"></script> 
 <div class="container-fluid ">
     <div class="row">
-        <form  class="form-horizontal">
-            <div class="form-group">
-                <label for="exampleInputAccount1" class="col-sm-1">稽查日期</label>
-                <div class="col-sm-2">
-                    <input type="text" id="start_time" class="form-control form-date" placeholder="开始时间">
+        <form  class="form-horizontal" style="margin:0px;">
+            <div class="form-group" style="margin:0px;">
+                <div class="form-group col-sm-5" style="margin:0px;">
+                    <label for="exampleInputAccount1" class="col-sm-2">稽查日期</label>
+                    <div class="col-sm-5">
+                        <input type="text" id="start_time" class="form-control form-date" placeholder="开始时间">
+                    </div>
+                    <div class="col-sm-5">
+                        <input type="text" id="end_time" class="form-control form-date" placeholder="截止时间">
+                    </div>                
                 </div>
-                <div class="col-sm-2">
-                    <input type="text" id="end_time" class="form-control form-date" placeholder="截止时间">
+                <div  class="form-group col-sm-3">
+                    <label for="exampleInputAccount1" class="col-sm-4">考核部门</label>
+                    <div class="col-sm-8">
+                        <select class="form-control" id="fsList">
+                        </select>
+                    </div>
+                    <!--<div class="col-sm-4">
+                        <select class="form-control" id="fsUserList">
+                        </select>
+                    </div>-->
                 </div>
-                <label for="exampleInputAccount1" class="col-sm-1">考核部门</label>
-                <div class="col-sm-2">
-                    <select class="form-control" id="fsList">
-                    </select>
+                <div id="hasScoreDiv" style="display:none;" class="form-group col-sm-2">
+                    <label for="exampleInputAccount1" class="col-sm-5">扣分</label>
+                    <div class="col-sm-7">
+                        <select class="form-control" id="hasScoreList">
+                            <option value="" selected>全部</option>
+                            <option value="1">有</option>
+                            <option value="2">无</option>    
+                        </select>
+                    </div>
                 </div>
-                <div class="col-sm-2">
+                <div class="form-group col-sm-2">
                     <button class="btn btn-primary " type="button" onclick="queryTask()">查询</button>
-                </div>
-                <div id="dispatchPatchBtn" style="float:right;margin-right:20px;display:none;">
-                    <button class="btn btn-success" type="button" onclick="dispatchTaskPatch()"><i class="icon icon-plus-sign"></i> 一键下发</button>
+                    <div id="dispatchPatchBtn" style="float:right;display:none;">
+                        <button class="btn btn-success" type="button" onclick="dispatchTaskPatch()"><i class="icon icon-plus-sign"></i> 一键下发</button>
+                    </div>
                 </div>
             </div>
         </form>
     </div>
-    <br>
+    <hr style="margin-top:0px;">
 
     <div class="datatable"></div>
 </div>

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

@@ -54,4 +54,5 @@ public class CheckApply {
     //申诉状态
     private String code_name;
     
+    private Long[] apply_ids;
 }

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

@@ -38,6 +38,8 @@ public class Score {
     private String checkman;
     //被考核人员id
     private Long checked_person;
+    //被考核人员名称
+    private String checked_person_name;
     //被考核部门
     private Long checked_dept;
     //备注

+ 11 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/Task.java

@@ -69,4 +69,15 @@ public class Task{
     private Integer status_search_type;
     //任务稽查时间段
     private String check_period;
+    
+    //任务稽查时间段
+    private String record_status;
+    //是否有扣分
+    private Integer hasScore;
+    //是否有扣分
+    private Long update_user;
+    
+    private Long[] dispatch_ids;
+    
+    private Integer[] check_status_arr;
 }

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

@@ -59,6 +59,7 @@ public class CheckAppealController extends BaseController {
     		checkAppealService.insert(checkAppeal);
     		Task task = taskService.getById(checkAppeal.getTask_id());
     		task.setCheck_status(checkAppeal.getCheck_status());
+    		task.setUpdate_user(new Long(u.getId()));
     		taskService.update(task);
     		return super.returnSuccessResult("添加成功");
     	}else{

+ 39 - 14
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckApplyController.java

@@ -1,6 +1,5 @@
 package com.xintong.visualinspection.controller;
 
-import java.util.Date;
 import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
@@ -17,7 +16,6 @@ import com.github.pagehelper.PageInfo;
 import com.xintong.system.err.BusinessException;
 import com.xintong.visualinspection.bean.CheckApply;
 import com.xintong.visualinspection.bean.Task;
-import com.xintong.visualinspection.bean.TaskStatus;
 import com.xintong.visualinspection.bean.User;
 import com.xintong.visualinspection.service.CheckApplyService;
 import com.xintong.visualinspection.service.TaskService;
@@ -62,17 +60,8 @@ public class CheckApplyController extends BaseController {
     	checkApplyService.insert(checkAppeal);
     	Task task = taskService.getById(checkAppeal.getTask_id());
     	task.setCheck_status(checkAppeal.getCheck_status());
+    	task.setUpdate_user(new Long(u.getId()));
     	taskService.update(task);
-//    	//添加状态
-//    	TaskStatus status = new TaskStatus();
-//		status.setTask_id(checkAppeal.getTask_id());
-//		status.setUpdate_user(new Long(u.getId()));
-//		status.setUpdate_username(u.getTruename());
-//		status.setCheck_status(checkAppeal.getCheck_status());
-//		String name = (CacheUtil.codeMap.get("task_status_"+status.getCheck_status())).getCode_name();
-//		status.setCheck_status_name(name);
-//
-//    	taskService.insertStatus(status);
     	return super.returnSuccessResult("添加成功");
     }
     
@@ -90,7 +79,7 @@ public class CheckApplyController extends BaseController {
     }
     
     /**
-     * 修改考核项
+     * 同意无效任务
      * @return
      * String
      * @exception
@@ -109,12 +98,47 @@ public class CheckApplyController extends BaseController {
     	Task task = new Task();
     	task.setId(checkAppeal.getTask_id());
     	task.setCheck_status(check_status);
+    	task.setUpdate_user(new Long(user.getId()));
     	taskService.update(task);
+    	//删除此任务的用户稽查次数
+    	taskService.deleteInvalidTaskCount(checkAppeal.getTask_id());
     	return super.returnSuccessResult("同意成功");
     }
     
     /**
-     * 修改考核项
+     * 批量同意无效任务
+     * @return
+     * String
+     * @exception
+     * @since  1.0.0
+     */
+    @RequestMapping(value = "/agreePatch")
+    public String agreePatch(HttpServletRequest request,@Valid @RequestBody CheckApply checkAppeal){
+    	if(checkAppeal.getApply_ids()==null) {
+    		throw new BusinessException(20001); 
+    	}
+    	User user = getCurrentUser(request);
+    	List<CheckApply> checkApplyList = checkApplyService.getList(checkAppeal);
+    	for(CheckApply ca :checkApplyList) {
+    		ca.setVerify_person(new Long(user.getId()));
+    		int check_status = Constants.STATUS_APPLY_SUCCEED;
+    		ca.setCheck_status(check_status);
+    		checkApplyService.update(ca);
+    		//更新任务
+    		Task task = new Task();
+    		task.setId(ca.getTask_id());
+    		task.setCheck_status(check_status);
+    		task.setUpdate_user(new Long(user.getId()));
+    		taskService.update(task);
+    		
+    		//删除此任务的用户稽查次数
+        	taskService.deleteInvalidTaskCount(ca.getTask_id());
+    	}
+    	return super.returnSuccessResult("同意成功");
+    }
+    
+    /**
+     *拒绝无效任务
      * @return
      * String
      * @exception
@@ -133,6 +157,7 @@ public class CheckApplyController extends BaseController {
     	Task task = new Task();
     	task.setId(checkAppeal.getTask_id());
     	task.setCheck_status(check_status);
+    	task.setUpdate_user(new Long(user.getId()));
     	taskService.update(task);
     	return super.returnSuccessResult("拒绝成功");
     }

+ 42 - 4
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TaskController.java

@@ -58,34 +58,41 @@ public class TaskController extends BaseController {
      * @since  1.0.0
      */
     @RequestMapping(value = "/update")
-    public String update(@Valid @RequestBody Task task){
+    public String update(HttpServletRequest request,@Valid @RequestBody Task task){
     	if(task.getId()==null){
     		throw new BusinessException(20002);
     	}
+    	User user = getCurrentUser(request);
+    	task.setUpdate_user(new Long(user.getId()));
     	taskService.update(task);
-    	return super.returnSuccessResult("修改成功");
+    	Task t = taskService.getById(task.getId());
+    	return super.returnSuccessResult("修改成功",t);
     }
     
     @RequestMapping(value = "/taskEnd")
-    public String taskEnd(@Valid @RequestBody Task task){
+    public String taskEnd(HttpServletRequest request, @Valid @RequestBody Task task){
     	if(task.getId()==null){
     		throw new BusinessException(20002);
     	}
     	if(task.getCheck_status()==null || "".equals(task.getCheck_status())){
     		task.setCheck_status(Constants.STATUS_CHECK_END);
     	}
+    	User user = getCurrentUser(request);
+    	task.setUpdate_user(new Long(user.getId()));
     	taskService.update(task);
     	return super.returnSuccessResult("修改成功");
     }
     
     @RequestMapping(value = "/taskStart")
-    public String taskStart(@Valid @RequestBody Task task){
+    public String taskStart(HttpServletRequest request,@Valid @RequestBody Task task){
     	if(task.getId()==null){
     		throw new BusinessException(20002);
     	}
     	if(task.getCheck_status()==null || "".equals(task.getCheck_status())){
     		task.setCheck_status(Constants.STATUS_CHECK_START);
     	}
+    	User user = getCurrentUser(request);
+    	task.setUpdate_user(new Long(user.getId()));
     	taskService.update(task);
     	return super.returnSuccessResult("修改成功");
     }
@@ -215,4 +222,35 @@ public class TaskController extends BaseController {
     	List<TaskStatus> tList = taskService.getTaskStatusList(task.getId());
     	return super.returnSuccessResult(tList);
     }
+    /**
+     * 删除用户被考核次数
+     * @return
+     * String
+     * @exception
+     * @since  1.0.0
+     */
+    @RequestMapping(value = "/deleteUserCount")
+    public String deleteUserCount(@RequestBody Task task){
+    	if(task.getId()==null){
+    		throw new BusinessException(20002);
+    	}
+    	taskService.deleteInvalidTaskCount(task.getId());
+    	return super.returnSuccessResult("删除成功!");
+    }
+    
+    /**
+     * 更新用户被考核次数
+     * @return
+     * String
+     * @exception
+     * @since  1.0.0
+     */
+    @RequestMapping(value = "/updateUserCount")
+    public String updateUserCount(@RequestBody Task task){
+    	if(task.getId()==null){
+    		throw new BusinessException(20002);
+    	}
+    	taskService.updateInvalidTaskCount(task);;
+    	return super.returnSuccessResult("修改成功!");
+    }
 }

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

@@ -10,11 +10,14 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.github.pagehelper.util.StringUtil;
 import com.xintong.system.err.BusinessException;
 import com.xintong.visualinspection.bean.ClassCode;
+import com.xintong.visualinspection.bean.Team;
 import com.xintong.visualinspection.bean.TeamClass;
 import com.xintong.visualinspection.bean.User;
 import com.xintong.visualinspection.service.TeamClassService;
+import com.xintong.visualinspection.service.TeamService;
 
 /**
  * 文件名:TestController
@@ -26,6 +29,10 @@ public class TeamClassController extends BaseController {
 
     @Autowired
     private TeamClassService teamClassService;
+    
+    @Autowired
+    private TeamService teamService;
+
 
    
     /**
@@ -48,8 +55,14 @@ public class TeamClassController extends BaseController {
     public String addList(@Valid @RequestBody List<TeamClass> teamClasses,HttpServletRequest request){
     	User u =getCurrentUser(request);
     	for(int i=0;i<teamClasses.size();i++ ){
+    		TeamClass teamClass = teamClasses.get(i);
     		teamClasses.get(i).setDept_id(u.getOrganid()+0L);
-    		teamClassService.insert(teamClasses.get(i));    		
+    		//直接从后台获取当班的人员
+    		if(teamClass.getTeam_id()!=null){
+    			Team t = teamService.getById(teamClass.getTeam_id());
+    			teamClass.setUser_ids(t.getUser_ids());
+    		}
+    		teamClassService.insert(teamClasses.get(i));  
     	}
     	return super.returnSuccessResult("添加成功");
     }
@@ -81,6 +94,11 @@ public class TeamClassController extends BaseController {
     		if(teamClass.getDept_id()==null){
     			teamClass.setDept_id(u.getOrganid()+0L);
     		}
+    		//直接从后台获取当班的人员
+    		if(teamClass.getTeam_id()!=null){
+    			Team t = teamService.getById(teamClass.getTeam_id());
+    			teamClass.setUser_ids(t.getUser_ids());
+    		}
     	}
     	teamClassService.updateList(teamClasses);
     	return super.returnSuccessResult("修改成功");

+ 14 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TeamController.java

@@ -101,6 +101,20 @@ public class TeamController extends BaseController {
     }
     
     /**
+     * 根据team_id 获取班组详情
+     * @param team
+     * @return
+     */
+    @RequestMapping(value = "/getTeamPersonsByUserClassId/{user_calss_id}")
+    public String getTeamPersonsByUserClassId(@PathVariable Long user_calss_id){
+    	if(user_calss_id==null){
+    		throw new BusinessException(20002);
+    	}
+    	List<User> userList= teamService.getTeamPersonByUserClassid(user_calss_id);
+    	return super.returnSuccessResult(userList);
+    }
+    
+    /**
      * 通过部门id获取班组
      * @return
      * String

+ 3 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/TaskDao.java

@@ -16,6 +16,7 @@ public interface TaskDao  {
     public List<Task> getAll();
     public Task getOne(Long id);
     public List<Task> getList(Task task);
+    public List<Task> getListInStatus(Task task);
     public List<Task> getListByChecked(Task task);
     public List<Task> getListBySubmited(Task task);
     public void insert(Task task);
@@ -26,4 +27,6 @@ public interface TaskDao  {
     public void dispatch(Task task);
     public void dispatchById(Task task);
     public void insertStatusBatch(List<TaskStatus> taskStatusList);
+    public void deleteInvalidTaskCount(Long task_id);
+    public void updateInvalidTaskCount(Task task);
 }

+ 1 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/TeamDao.java

@@ -20,4 +20,5 @@ public interface TeamDao  {
     public void delete(Long id);
 	public List<Team> getTeamByName(Team team);
 	public List<Team> getList(Team obj);
+	public Team getTeamByUserClassid(Long id);
 }

+ 2 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/cluster/UserInfoMapper.xml

@@ -54,6 +54,8 @@
         t_sys_users
         SET
         <if test="username != null">username = #{username},</if>
+        <if test="truename != null">truename = #{truename},</if>
+        <if test="organid != null">organid = #{organid},</if>
         <if test="age != null">age = #{age},</if>
         <if test="password != null">password = #{password},</if>
         <if test="pic != null">pic = #{pic},</if>

+ 12 - 5
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/CheckApplylMapper.xml

@@ -21,18 +21,25 @@
         <result column="code_name" property="code_name" jdbcType="VARCHAR" />
     </resultMap>
 
-    <select id="getList" resultMap="BaseResultMap" parameterType="com.xintong.visualinspection.bean.CheckAppeal" >
+    <select id="getList" resultMap="BaseResultMap" parameterType="com.xintong.visualinspection.bean.CheckApply" >
         SELECT ca.*,ct.name,ct.start_time,ct.end_time,sc.code_name 
-        FROM check_appeal ca LEFT JOIN check_task ct ON ca.task_id=ct.id 
-        LEFT JOIN sys_code sc ON ca.check_status=sc.code_value
+        FROM check_apply ca LEFT JOIN check_task ct ON ca.task_id=ct.id 
+        LEFT JOIN sys_code sc ON ct.check_status=sc.code_value
         WHERE 1=1 
         <if test="start_time != null">AND ct.start_time >= #{start_time}</if>
         <if test="end_time != null">
         	<![CDATA[ AND ct.end_time < #{end_time}]]>
         </if>
-        <if test="appeal_dept != null">AND ca.appeal_dept = #{appeal_dept}</if>
+        <if test="apply_dept != null">AND ca.apply_dept = #{apply_dept}</if>
         <if test="apply_man != null">AND ct.checkman = #{apply_man}</if>
-        ORDER BY ca.appeal_time DESC
+        <if test="apply_ids != null and apply_ids.length > 0">AND
+       		ct.id in 
+       		<foreach collection="apply_ids" item="apply_id" index="index"
+	            open="(" close=")" separator=",">
+	            #{apply_id}
+	        </foreach>
+       	</if>
+        ORDER BY ca.apply_time DESC
     </select>
 
     <select id="getOne" parameterType="java.lang.Long" resultMap="BaseResultMap" >

+ 1 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/ScoreMapper.xml

@@ -65,6 +65,7 @@
         <if test="videos != null">videos = #{videos},</if>
         <if test="checkman != null">checkman = #{checkman},</if>
         <if test="checked_person != null">checked_person = #{checked_person},</if>
+        <if test="check_item_score != null">check_item_score = #{check_item_score},</if>
         remark=#{remark}
         WHERE
         id = #{id}

+ 70 - 3
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/TaskMapper.xml

@@ -56,21 +56,68 @@
         FROM check_task
         WHERE 1=1
         	<if test="check_status != null">AND check_status = #{check_status}</if>
+        	<if test="check_status_end != null">AND check_status &lt;= #{check_status_end}</if>
         	<if test="start_time != null">AND start_time &gt;= #{start_time}</if>
         	<if test="end_time != null">AND end_time &lt;= #{end_time}</if>
         	<if test="checked_dept != null">AND checked_dept = #{checked_dept}</if>
         	<if test="checkman != null">AND checkman = #{checkman}</if>
         	<if test="recheckman != null">AND recheckman = #{recheckman}</if>
         	<if test="checked_person != null">AND checked_person = #{checked_person}</if>
+        	<if test="hasScore == 1">AND 
+        		id in (select task_id from check_score)
+        	</if>
+        	<if test="hasScore == 2">AND 
+        		id not in (select task_id from check_score)
+        	</if>
+        	<if test="dispatch_ids != null and dispatch_ids.length > 0">AND
+        		id in 
+        		<foreach collection="dispatch_ids" item="dispatch_id" index="index"
+		            open="(" close=")" separator=",">
+		            #{dispatch_id}
+		        </foreach>
+        	</if>
     </select>
     
+    <select id="getListInStatus" parameterType="com.xintong.visualinspection.bean.Task" resultMap="BaseResultMap" >
+        SELECT *,
+        		CONCAT(substr(start_time,1,16),'-',substr(end_time,12,5)) as check_period,
+              (select a.code_name from sys_code a where a.code_flag='task_status' and a.code_value=check_status) as check_status_name
+        FROM check_task
+        WHERE 1=1
+       		<if test="check_status_arr != null and check_status_arr.length > 0">AND
+        		check_status in 
+        		<foreach collection="check_status_arr" item="status" index="index"
+		            open="(" close=")" separator=",">
+		            #{status}
+		        </foreach>
+        	</if>
+        	<if test="start_time != null">AND start_time &gt;= #{start_time}</if>
+        	<if test="end_time != null">AND end_time &lt;= #{end_time}</if>
+        	<if test="checked_dept != null">AND checked_dept = #{checked_dept}</if>
+        	<if test="checkman != null">AND checkman = #{checkman}</if>
+        	<if test="recheckman != null">AND recheckman = #{recheckman}</if>
+        	<if test="checked_person != null">AND checked_person = #{checked_person}</if>
+        	<if test="hasScore == 1">AND 
+        		id in (select task_id from check_score)
+        	</if>
+        	<if test="hasScore == 2">AND 
+        		id not in (select task_id from check_score)
+        	</if>
+        	<if test="dispatch_ids != null and dispatch_ids.length > 0">AND
+        		id in 
+        		<foreach collection="dispatch_ids" item="dispatch_id" index="index"
+		            open="(" close=")" separator=",">
+		            #{dispatch_id}
+		        </foreach>
+        	</if>
+    </select>
     <select id="getListByChecked" parameterType="com.xintong.visualinspection.bean.Task" resultMap="BaseResultMap" >
         SELECT *,
         	  CONCAT(substr(start_time,1,16),'-',substr(end_time,11,6)) as check_period,
               (select a.code_name from sys_code a where a.code_flag='task_status' and a.code_value=check_status) as check_status_name
         FROM check_task
         WHERE 1=1
-        	<if test="check_status != null">AND check_status >= #{check_status}</if>
+        	<if test="check_status != null">AND check_status &gt;= #{check_status}</if>
         	<if test="start_time != null">AND start_time &gt;= #{start_time}</if>
         	<if test="end_time != null">AND end_time &lt;= #{end_time}</if>
         	<if test="checked_dept != null">AND checked_dept = #{checked_dept}</if>
@@ -85,8 +132,8 @@
               (select a.code_name from sys_code a where a.code_flag='task_status' and a.code_value=check_status) as check_status_name
         FROM check_task
         WHERE 1=1
-        	<if test="check_status != null">AND check_status >= #{check_status}</if>
-        	<if test="check_status != null">AND check_status &lt;= #{check_status_end}</if>
+        	<if test="check_status != null">AND check_status &gt;= #{check_status}</if>
+        	<if test="check_status_end != null">AND check_status &lt;= #{check_status_end}</if>
         	<if test="start_time != null">AND start_time &gt;= #{start_time}</if>
         	<if test="end_time != null">AND end_time &lt;= #{end_time}</if>
         	<if test="checked_dept != null">AND checked_dept = #{checked_dept}</if>
@@ -165,6 +212,13 @@
         	<if test="checked_dept != null">AND checked_dept = #{checked_dept}</if>
         	<if test="checkman != null">AND checkman = #{checkman}</if>
         	<if test="checked_person != null">AND checked_person = #{checked_person}</if>
+        	<if test="dispatch_ids != null and dispatch_ids.length > 0">AND
+        		id in 
+        		<foreach collection="dispatch_ids" item="dispatch_id" index="index"
+		            open="(" close=")" separator=",">
+		            #{dispatch_id}
+		        </foreach>
+        	</if>
     </update>
     
     <update id="dispatchById" parameterType="com.xintong.visualinspection.bean.Task" >
@@ -182,4 +236,17 @@
         WHERE
         id =#{id}
     </delete>
+    <delete id="deleteInvalidTaskCount" parameterType="java.lang.Long" >
+        DELETE FROM
+        	check_user_count
+        WHERE
+        	task_id =#{id}
+    </delete>
+    <update id="updateInvalidTaskCount" parameterType="com.xintong.visualinspection.bean.Task" >
+        UPDATE
+        	check_user_count
+        SET
+	        <if test="checked_person != null">user_id = #{checked_person}</if>
+        WHERE task_id=#{id}
+    </update>
 </mapper>

+ 5 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/TeamMapper.xml

@@ -25,7 +25,11 @@
         WHERE dept_id = #{dept_id}
     </select>
     
-    
+    <select id="getTeamByUserClassid" parameterType="java.lang.Long" resultMap="BaseResultMap" >
+        SELECT *
+        FROM sys_team
+        WHERE id = (select uc.team_id from sys_user_class uc where uc.id=#{id})
+    </select>
     <select id="getList" parameterType="java.lang.Long" resultMap="BaseResultMap" >
         SELECT *
         FROM sys_team

+ 1 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/TaskService.java

@@ -30,4 +30,5 @@ public interface TaskService {
     public void insertStatus(TaskStatus taskStatus);
     public void insertStatusBatch(List<TaskStatus> taskStatusList);
     public void deleteInvalidTaskCount(Long task_id);
+    public void updateInvalidTaskCount(Task task);
 }

+ 2 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/TeamService.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import com.xintong.visualinspection.bean.Constant;
 import com.xintong.visualinspection.bean.Team;
+import com.xintong.visualinspection.bean.User;
 
 /**
  * 
@@ -27,4 +28,5 @@ public interface TeamService {
     public void delete(Long id);
     public List<Team> getTeamByName(Team team);
     public Team getDetailsById(Team team);
+    public List<User> getTeamPersonByUserClassid(Long id);
 }

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

@@ -11,6 +11,7 @@ import com.xintong.visualinspection.bean.Score;
 import com.xintong.visualinspection.dao.master.ScoreDao;
 import com.xintong.visualinspection.service.BaseService;
 import com.xintong.visualinspection.service.ScoreService;
+import com.xintong.visualinspection.util.CacheUtil;
 
 /**
  * 文件名:ScoreServiceImpl
@@ -40,7 +41,11 @@ public class ScoreServiceImpl extends BaseService implements ScoreService {
 	@Override
 	public List<Score> getScoreList(Score score) {
 		// TODO Auto-generated method stub
-		return scoreDao.getScoreList(score);
+		List<Score> scoreList = scoreDao.getScoreList(score);
+		for(Score s:scoreList) {
+			s.setChecked_person_name(CacheUtil.getUserTurenameFromMap(s.getChecked_person()));
+		}
+		return scoreList;
 	}
 
 	@Override

+ 33 - 8
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/TaskServiceImpl.java

@@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.github.pagehelper.util.StringUtil;
+import com.mysql.jdbc.StringUtils;
 import com.xintong.visualinspection.bean.Constant;
 import com.xintong.visualinspection.bean.Organ;
 import com.xintong.visualinspection.bean.Task;
@@ -38,7 +39,20 @@ public class TaskServiceImpl extends BaseService implements TaskService {
 	@Override
 	public Task getById(Long id) {
 		// TODO Auto-generated method stub
-		return taskDao.getOne(id);
+		Task t = taskDao.getOne(id);
+		if(t.getCheckman() != null){
+			t.setCheckman_name(CacheUtil.getUserTurenameFromMap(t.getCheckman()));
+		}
+		if(t.getChecked_person() != null){
+			t.setChecked_person_name(CacheUtil.getUserTurenameFromMap(t.getChecked_person()));
+		}
+		if(t.getChecked_dept() != null){
+			if(CacheUtil.deptMap.get(t.getChecked_dept())!=null){
+				t.setChecked_dept_name(CacheUtil.getOrgannameFromMap(t.getChecked_dept()));
+			}
+		}
+		t.setRecheckman_name(CacheUtil.getUserTurenameFromMap(t.getRecheckman()));
+		return t;
 	}
 
 
@@ -48,8 +62,10 @@ public class TaskServiceImpl extends BaseService implements TaskService {
 		List<Task> taskList;
 		if(task.getStatus_search_type()!=null && task.getStatus_search_type()==1){
 			taskList = taskDao.getListByChecked(task);
-		}if(task.getStatus_search_type()!=null && task.getStatus_search_type()==2){
+		}else if(task.getStatus_search_type()!=null && task.getStatus_search_type()==2){
 			taskList = taskDao.getListBySubmited(task);
+		}else if(task.getCheck_status_arr()!=null){
+			taskList = taskDao.getListInStatus(task);
 		}else{
 			taskList = taskDao.getList(task);
 		}
@@ -93,15 +109,18 @@ public class TaskServiceImpl extends BaseService implements TaskService {
 		Task oldTask = taskDao.getOne(task.getId());
 		taskDao.update(task);
 		
-		//状态不一致才保存
-		if(!oldTask.getCheck_status().equals(task.getCheck_status()) && task.getCheck_status()!=null){
+		//状态不一致才保存或者强制保存
+		if(task.getCheck_status()!=null && (!oldTask.getCheck_status().equals(task.getCheck_status()) || !StringUtils.isNullOrEmpty(task.getRecord_status()))){
 			TaskStatus status = new TaskStatus();
 			status.setTask_id(task.getId());
 			status.setUpdate_time(new Date());
-			status.setUpdate_user(task.getCheckman());
-			status.setUpdate_username("");
+			status.setUpdate_user(task.getUpdate_user());
+			status.setUpdate_username(CacheUtil.getUserTurenameFromMap(task.getUpdate_user()));
 			status.setCheck_status(task.getCheck_status());
-			String name = (constantDao.getByFlagAndValue(new Constant("task_status",task.getCheck_status()))).getCode_name();
+			String name = task.getCheck_status_name();
+			if(StringUtils.isNullOrEmpty(name)){
+				name = (constantDao.getByFlagAndValue(new Constant("task_status",task.getCheck_status()))).getCode_name();
+			}
 			status.setCheck_status_name(name);
 			taskDao.insertStatus(status);
 		}
@@ -151,6 +170,12 @@ public class TaskServiceImpl extends BaseService implements TaskService {
 	@Override
 	public void deleteInvalidTaskCount(Long task_id) {
 		// TODO Auto-generated method stub
-		
+		taskDao.deleteInvalidTaskCount(task_id);
+	}
+
+	@Override
+	public void updateInvalidTaskCount(Task task) {
+		// TODO Auto-generated method stub
+		taskDao.updateInvalidTaskCount(task);
 	}
 }

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

@@ -7,6 +7,8 @@ import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.alibaba.druid.util.StringUtils;
+import com.github.pagehelper.util.StringUtil;
 import com.xintong.visualinspection.bean.ClassCode;
 import com.xintong.visualinspection.bean.TeamClass;
 import com.xintong.visualinspection.bean.User;
@@ -34,10 +36,10 @@ public class TeamClassServiceImpl extends BaseService implements TeamClassServic
 		// TODO Auto-generated method stub
 		List<TeamClass> list = teamClassDao.getClassList(teamClass);
 		for(TeamClass obj:list){
-			if(obj.getUser_ids()==null)
+			if(StringUtil.isEmpty(obj.getUser_ids()))
 				continue;
-			String[] user_ids = obj.getUser_ids().split(",");
 			StringBuffer user_names = new StringBuffer();
+			String[] user_ids = obj.getUser_ids().split(",");
 			for(int i=0;i<user_ids.length;i++){
 				User user = CacheUtil.userMap.get(Long.valueOf(user_ids[i]));
 				String userNames = user!=null?user.getTruename():"";

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

@@ -1,13 +1,15 @@
 package com.xintong.visualinspection.service.impl;
 
-import java.util.HashMap;
+import java.util.ArrayList;
 import java.util.List;
 
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import com.alibaba.druid.util.StringUtils;
 import com.xintong.visualinspection.bean.Team;
+import com.xintong.visualinspection.bean.User;
 import com.xintong.visualinspection.dao.master.TeamDao;
 import com.xintong.visualinspection.service.BaseService;
 import com.xintong.visualinspection.service.TeamService;
@@ -132,4 +134,27 @@ public class TeamServiceImpl extends BaseService implements TeamService {
 		}
 		return team;
 	}
+
+
+	@Override
+	public List<User> getTeamPersonByUserClassid(Long id) {
+		Team team = teamDao.getTeamByUserClassid(id);
+		List<User> userList = new ArrayList<User>();
+		if(team!=null) {
+			String user_ids = team.getUser_ids();
+			String[] userArr = user_ids.split(",");
+			for(String user:userArr) {
+				if(!StringUtils.isEmpty(user)){
+					User u = CacheUtil.getUserFromMap(Long.parseLong(user));
+					if(u!=null){
+						if(user.equals(team.getMonitor()+"")){
+							u.setPositionid(4);//收费班长,参考职位表
+						}
+						userList.add(u);
+					}
+				}
+			}
+		}
+		return userList;
+	}
 }

+ 1 - 1
VisualInspection_server/src/main/java/com/xintong/visualinspection/util/CacheUtil.java

@@ -57,7 +57,7 @@ public class CacheUtil {
 	}
 	
 	public static String getUserTurenameFromMap(Long key){
-		if(getUserFromMap(key)!=null){
+		if(getUserFromMap(key)!=null && key!=null){
 			return getUserFromMap(key).getTruename();
 		}
 		return null;

+ 1 - 1
VisualInspection_server/src/main/resources/application.properties

@@ -76,7 +76,7 @@ spring.redis.timeout=0
 
 
 
-logging.level.root=DEBUG
+logging.level.root=INFO
 logging.level.org.springframework.web=DEBUG
 logging.level.org.springframework.data=DEBUG
 logging.level.org.springframework.security=DEBUG