Browse Source

相加待提交状态,修改相应业务

minitiger 8 years ago
parent
commit
897b7fb60f
26 changed files with 292 additions and 87 deletions
  1. BIN
      VisualInspection/favicon.ico
  2. 2 2
      VisualInspection/js/appeal_management/appeal_checked.js
  3. 11 7
      VisualInspection/js/appeal_management/appeal_list.js
  4. 2 1
      VisualInspection/js/config.js
  5. 20 4
      VisualInspection/js/lib/mytable.js
  6. 27 5
      VisualInspection/js/mytask/apply_task.js
  7. 2 2
      VisualInspection/js/mytask/check.js
  8. 2 2
      VisualInspection/js/mytask/checked.js
  9. 24 12
      VisualInspection/js/mytask/task_list.js
  10. 0 1
      VisualInspection/view/common/commoncsslink.html
  11. 0 1
      VisualInspection/view/common/commonscriptlink.html
  12. 11 0
      VisualInspection/view/main.html
  13. 4 1
      VisualInspection/view/mytask/apply_task.html
  14. 1 1
      VisualInspection/view/mytask/checked.html
  15. 17 0
      VisualInspection/view/mytask/taskDetail.html
  16. 30 16
      VisualInspection/view/mytask/task_list.html
  17. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/CheckApply.java
  18. 11 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/Task.java
  19. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckAppealController.java
  20. 34 14
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/CheckApplyController.java
  21. 9 3
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TaskController.java
  22. 1 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/dao/master/TaskDao.java
  23. 12 5
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/CheckApplylMapper.xml
  24. 57 3
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/TaskMapper.xml
  25. 12 6
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/TaskServiceImpl.java
  26. 1 1
      VisualInspection_server/src/main/java/com/xintong/visualinspection/util/CacheUtil.java

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;
     

+ 11 - 7
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'}]);
@@ -83,10 +84,13 @@ function queryAppeal(){
     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/"
     }

+ 20 - 4
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){
@@ -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);
             }

+ 27 - 5
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'}]);
@@ -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);
 }

+ 2 - 2
VisualInspection/js/mytask/check.js

@@ -475,7 +475,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() {
@@ -500,7 +500,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() {

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

@@ -8,8 +8,8 @@ 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'},

+ 24 - 12
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,7 +63,8 @@ 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)) {
@@ -79,10 +82,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 +101,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 +169,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 +189,8 @@ function dispatchTaskPatch(){
     }, function(index){
         layer.close(index);
     });
-   
+   var datas = $('.datatable').mytable('getTableData');
+   console.log(datas);
 }
 //下发单条任务
 function dispatchTaskById(id){

+ 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>

+ 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>

+ 17 - 0
VisualInspection/view/mytask/taskDetail.html

@@ -53,6 +53,7 @@
             <button id="confirmBtn" style="display:none" type="button" class="btn btn-warning" onclick="confirmCheck()">确认</button>
             <button id="submitAppealBtn" style="display:none" type="button" class="btn btn-warning" onclick="submitCheck4Appeal()">复核提交</button>
             <button id="confirmAppealBtn" style="display:none" type="button" class="btn btn-warning" onclick="confirmCheck4Appeal()">申诉结果确认</button>
+            <button id="backBtn" style="display:none" type="button" class="btn btn-danger" onclick="back2Check()">退回重新稽查</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>
         </div>
@@ -122,6 +123,7 @@
         $.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+"_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"]);
@@ -343,4 +345,19 @@
             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");
+        });
+    }
     </script>

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

@@ -1,30 +1,44 @@
 <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-5">考核部门</label>
+                    <div class="col-sm-7">
+                        <select class="form-control" id="fsList">
+                        </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;
 }

+ 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{

+ 34 - 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,42 @@ 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("同意成功");
     }
     
     /**
-     * 修改考核项
+     * 批量同意无效任务
+     * @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);
+    	}
+    	return super.returnSuccessResult("同意成功");
+    }
+    
+    /**
+     *拒绝无效任务
      * @return
      * String
      * @exception
@@ -133,6 +152,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("拒绝成功");
     }

+ 9 - 3
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/TaskController.java

@@ -58,34 +58,40 @@ 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("修改成功");
     }
     
     @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("修改成功");
     }

+ 1 - 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);

+ 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" >

+ 57 - 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" >

+ 12 - 6
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;
@@ -48,8 +49,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 +96,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);
 		}

+ 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;