MSI\liwei 7 gadi atpakaļ
vecāks
revīzija
4f5a3a9613
71 mainītis faili ar 1702 papildinājumiem un 349 dzēšanām
  1. 1 0
      VisualInspection/fwq/js/task/add.js
  2. 1 0
      VisualInspection/fwq/js/task/check.js
  3. 10 1
      VisualInspection/js/lib/mytable.js
  4. 74 17
      VisualInspection/js/main.js
  5. 1 0
      VisualInspection/js/mytask/check.js
  6. 1 0
      VisualInspection/js/statistics/operation_management_integration.js
  7. 266 90
      VisualInspection/js/statistics/total_company_statistics.js
  8. 6 3
      VisualInspection/js/teamClass/charge_team_schedule.js
  9. 5 0
      VisualInspection/js/user/userManager.js
  10. 1 0
      VisualInspection/js/util/service.js
  11. 1 0
      VisualInspection/js/util/video.js
  12. 0 0
      VisualInspection/motorcade/js/carTask.js
  13. 300 0
      VisualInspection/motorcade/view/addcarTask.html
  14. 78 0
      VisualInspection/motorcade/view/carTask.html
  15. 47 1
      VisualInspection/qzd/js/other_check/other_check.js
  16. 8 3
      VisualInspection/qzd/js/statistics/assess_type.js
  17. 2 2
      VisualInspection/qzd/js/statistics/dept_check_statistics.js
  18. 28 5
      VisualInspection/qzd/js/statistics/operation_management_integration.js
  19. 30 3
      VisualInspection/qzd/js/statistics/qzd_check_statistics.js
  20. 4 3
      VisualInspection/qzd/js/statistics/service_area_check_statistics.js
  21. 25 18
      VisualInspection/qzd/js/statistics/total_company_statistics.js
  22. 1 1
      VisualInspection/qzd/js/task/add.js
  23. 47 2
      VisualInspection/qzd/js/task/new.js
  24. 11 0
      VisualInspection/qzd/view/other_check/onsite_check.html
  25. 35 2
      VisualInspection/qzd/view/record/record_list.html
  26. 1 1
      VisualInspection/qzd/view/statistics/operation_management_integration.html
  27. 41 2
      VisualInspection/qzd/view/statistics/qzd_check_statistics.html
  28. 1 1
      VisualInspection/qzd/view/statistics/service_area_check_statistics.html
  29. 6 6
      VisualInspection/qzd/view/statistics/total_company_statistics.html
  30. 9 3
      VisualInspection/qzd/view/task/addtask.html
  31. 16 0
      VisualInspection/view/statistics/comprehensive_overview.html
  32. 5 1
      VisualInspection/view/statistics/total_company_statistics.html
  33. 1 1
      VisualInspection/view/user/userManager.html
  34. 9 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/StatisticsController.java
  35. 51 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/gettway/CarTaskController.java
  36. 6 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/gettway/RecordController_Q.java
  37. 7 33
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/gettway/StatisticsController_Q.java
  38. 0 1
      VisualInspection_server/src/main/java/com/xintong/visualinspection/mapper/master/StatisticsMapper.xml
  39. 22 21
      Visuallnspection_fjq/.idea/workspace.xml
  40. 1 0
      Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/dao/FwqTaskDao.java
  41. 8 0
      Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/mapper/master/TaskMapper.xml
  42. 4 1
      Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/service/impl/TaskServiceImpl.java
  43. BIN
      Visuallnspection_fjq/visuallnspection_fjq/服务区现场稽查.xls
  44. 42 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/CarTask.java
  45. 4 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/FwqCheckOther.java
  46. 4 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/FwqStatisticsBean.java
  47. 10 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/service/CarTaskService.java
  48. 3 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/service/RecordService_Q.java
  49. 20 0
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/controller/FileExcelController_Q.java
  50. 11 0
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/dao/CarTaskDao.java
  51. 1 0
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/dao/QzdRecordDao.java
  52. 2 0
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/dao/QzdStatisticsDao.java
  53. 46 0
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/CarTaskMapper.xml
  54. 5 3
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/CheckOtherMapper.xml
  55. 12 1
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/RecordMapper.xml
  56. 27 1
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/StatisticsMapper.xml
  57. 2 0
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/StatisticsService_F.java
  58. 35 0
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/impl/CarTaskServiceImpl.java
  59. 7 0
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/impl/RecordServiceImpl.java
  60. 30 16
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/impl/StatisticsServiceImpl.java
  61. 270 106
      Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/impl/StatisticsService_FImpl.java
  62. BIN
      Visuallnspection_qzd/src/main/resources/fwq_checked_item_info.xls
  63. BIN
      Visuallnspection_qzd/src/main/resources/fwq_dept_statistic.xls
  64. BIN
      Visuallnspection_qzd/src/main/resources/fwq_operation_info.xls
  65. BIN
      Visuallnspection_qzd/src/main/resources/qzd_check_statics_magent.xls
  66. BIN
      Visuallnspection_qzd/src/main/resources/qzd_check_statistic.xls
  67. BIN
      Visuallnspection_qzd/src/main/resources/qzd_other_check_info_96777.xls
  68. BIN
      Visuallnspection_qzd/src/main/resources/qzd_other_check_info_anfang.xls
  69. BIN
      Visuallnspection_qzd/src/main/resources/qzd_other_check_info_onsite.xls
  70. BIN
      Visuallnspection_qzd/src/main/resources/qzd_other_check_info_other.xls
  71. BIN
      Visuallnspection_qzd/src/main/resources/测试.xls

+ 1 - 0
VisualInspection/fwq/js/task/add.js

@@ -399,6 +399,7 @@ function addTask() {
     });
 
     var param = { "userids": check_user_list, "checkAreaData": tasklist };
+    console.log(param);
     post_common_service('/f/task/add', param, function(redata) {
         // layer.msg('已添加', { icon: 1 });
         inittAreaable($("#month_date").val(), $("#fwq").val());

+ 1 - 0
VisualInspection/fwq/js/task/check.js

@@ -247,6 +247,7 @@ function getAreaCheckCount() {
 
             //查询录像播放列表
             var videos = $.checkTask.areainfo.video_ids;
+            console.log(videos);
             if (videos != "") {
                 queryVideoLists(videos);
             } else {

+ 10 - 1
VisualInspection/js/lib/mytable.js

@@ -249,7 +249,16 @@ String.prototype.replaceAll = function(s1, s2) {
                         '</div></div>';
                         picStr += "</div>";
                         dArr.push(picStr);
-                    }  else if (cols[i].type == "monitor") {
+                    }else if(cols[i].type == "isApply"){
+                        console.log(obj);
+                        var str ='';
+                        if(obj.remarks != '' && obj.remarks != null){
+                            str += '<a style="background-color:green" href="javascript:void(0)" class="btn-table" onclick="setIsapply(' + obj.id + ',&quot;' + obj.remarks + '&quot;)"></i>' + "已填写" + ' </a>&nbsp;';
+                        }else{
+                            str += '<a style="background-color:red" href="javascript:void(0)" class="btn-table" onclick="setIsapply(' + obj.id + ',&quot;' + obj.remarks + '&quot;)"></i>' + "未填写" + ' </a>&nbsp;';
+                        }
+                        dArr.push(str);
+                    }else if (cols[i].type == "monitor") {
                         console.log("monitor");
                        var monitor = $.zui.store.get("monitor");
                        var vice_monitor = $.zui.store.get("vice_monitor");

+ 74 - 17
VisualInspection/js/main.js

@@ -14,6 +14,7 @@ $(document).ready(function() {
 
     $('#treeMenu').on('click', 'a', function() {
         if ($(this).hasClass("p_m")) { return; }
+        if ($(this).hasClass("c_m")) { return; }
         $('#treeMenu li.active').removeClass('active');
         $(this).closest('li').addClass('active');
         getPageInfo(this.id)
@@ -22,14 +23,15 @@ $(document).ready(function() {
 
 
     $('#treeMenu').on('expand.zui.tree', function($li) {
+        var a = $li.find("a")[0];
         myTree = $('#treeMenu').data('zui.tree');
         var c_s = myTree.$[0].children
-
-        for (var i = 0; i < c_s.length; i++) {
-            if ($(myTree.$[0].children[i]).attr("data-idx") == $li.attr("data-idx")) continue;
-            myTree.collapse($(c_s[i]))
+        if(a.className == "p_m"){
+            for (var i = 0; i < c_s.length; i++) {
+                if ($(myTree.$[0].children[i]).attr("data-idx") == $li.attr("data-idx")) continue;
+                myTree.collapse($(c_s[i]))
+            }
         }
-
         // myTree.expand($li)
     });
     var pathName = window.document.location.pathname;
@@ -145,17 +147,39 @@ $(document).ready(function() {
             if (menu.childs.length > 0) {
                 var datac = [];
                 for (var j = 0; j < menu.childs.length; j++) {
-                    var datactemp = {}
-                    var mtemp = menu.childs[j];
-                    datactemp["html"] = "<a id=\"" + mtemp.id + "\" href=\"#\"><i class=\"icon\"></i>" + mtemp.menuname + "</a>";
-                    secondMenus.push(mtemp.id);
-                    datac.push(datactemp);
-                    $.zui.store.set(mtemp.url, mtemp.menuname);
+                        var datactemp = {}
+                        var mtemp = menu.childs[j];
+                        if(mtemp.childs){
+                            datactemp["html"] = "<a  class=\"c_m\"  id=\"" + mtemp.id + "\" href=\"#\"><i class=\"icon\"></i>" + mtemp.menuname + "</a>";
+                            datactemp["open"] = false;
+                            secondMenus.push(mtemp.id);
+                            datac.push(datactemp);
+                            $.zui.store.set(mtemp.url, mtemp.menuname);
+                             //console.log(mtemp.childs);
+                             //datactemp["html"] = "<a id=\"" + mtemp.id + "\" href=\"#\"><i class=\"icon\"></i>" + mtemp.menuname + "</a>";
+                             var dataObj = [];
+                             for(var k=0;k<mtemp.childs.length;k++){
+                                   var dataobjtmp = {};
+                                   var mobj = mtemp.childs[k];
+                                   dataobjtmp["html"] = "<a id=\"" + mobj.id + "\" href=\"#\"><i class=\"icon\"></i>" + mobj.menuname + "</a>";
+                                   secondMenus.push(mobj.id);
+                                  // dataobjtmp["html"] = "<a id=\"" + mtemp.id + "\" href=\"#\"><i class=\"icon\"></i>" + mtemp.menuname + "</a>";
+                                  // datactemp.push(dataobjtmp);
+                                   //console.log(dataobjtmp);
+                                   dataObj.push(dataobjtmp);
+                                }
+                                datactemp["children"] = dataObj;
+                        }else{
+                        datactemp["html"] = "<a id=\"" + mtemp.id + "\" href=\"#\"><i class=\"icon\"></i>" + mtemp.menuname + "</a>";
+                        secondMenus.push(mtemp.id);
+                        datac.push(datactemp);
+                        $.zui.store.set(mtemp.url, mtemp.menuname);
+                    }           
                 }
+               // console.log(datactemp);
                 datatemp["children"] = datac;
-            }
-            treedata.push(datatemp)
-
+             }
+            treedata.push(datatemp);
         }
         // 获取 tree 实例
         var myTree = $('#treeMenu').data('zui.tree');
@@ -187,6 +211,7 @@ $(document).ready(function() {
 
                         currentpage = $.zui.store.get("currentpage");
                     }
+                    console.log(currentpage);
                     var cexit = false;
 
 
@@ -201,9 +226,22 @@ $(document).ready(function() {
                             if (menu.childs.length > 0) {
                                 for (var j = 0; j < menu.childs.length; j++) {
                                     var mtemp = menu.childs[j];
-                                    if (mtemp.id == currentpage) {
-                                        cexit = true;
-                                        break;
+                                    if(mtemp.childs){
+                                        for(var k =0;k<mtemp.childs.length;k++){
+                                            if(mtemp.childs[k].id == currentpage){
+                                                cexit = true;
+                                                break;
+                                            }
+                                        }
+                                        if (mtemp.id == currentpage) {
+                                            cexit = true;
+                                            break;
+                                        }
+                                    }else{
+                                        if (mtemp.id == currentpage) {
+                                            cexit = true;
+                                            break;
+                                        }
                                     }
                                 }
                             }
@@ -296,6 +334,10 @@ function addobj_child(data) {
 
 
 function chageToPageUI(menu) {
+    console.log(menu);
+    if(menu.childs){
+        $('#treeMenu').tree('expand', $("#" + menu.id).parent());
+    }
     $('#treeMenu').tree('expand', $("#" + menu.parentId).parent());
     $('#treeMenu li.active').removeClass('active');
     $("#" + menu.id).closest('li').addClass('active');
@@ -334,6 +376,20 @@ function getPageInfo(id) {
             if (menu.childs.length > 0) {
                 for (var j = 0; j < menu.childs.length; j++) {
                     var mtemp = menu.childs[j];
+                    if(mtemp.childs){
+                          for(var k = 0; k < mtemp.childs.length; k++){
+                            if (mtemp.childs[k].id == id) {
+                                if (typeof(mtemp.childs[k].url) != "undefined") {
+                                    // current_mid = menu.id;
+                                    // alert(current_mid);
+                                    redirectPage(mtemp.childs[k].url);
+                                    chageToPageUI(mtemp)
+                                    return;
+                                }
+                                break;
+                            }
+                          }
+                    }
                     if (mtemp.id == id) {
                         if (typeof(mtemp.url) != "undefined") {
                             // current_mid = menu.id;
@@ -411,6 +467,7 @@ function redirectPage(url) {
 //跳转到最新打开的菜单,并保存上次的请求参数
 function redirectLastPage() {
     var currentpage = $.zui.store.get("currentpage");
+    console.log(currentpage);
     if (typeof(MENU) != "undefined" && MENU != null) {
         for (var i = 0; i < MENU.length; i++) {
             var menu = MENU[i];

+ 1 - 0
VisualInspection/js/mytask/check.js

@@ -90,6 +90,7 @@ function initCheck() {
         queryCheckScores();
         //查询录像播放列表
         var videos = $.checkTask.video_id.split(',');
+        console.log(videos);
         if (videos[0]) {
             curVideo = videos[0];
             queryVideoList();

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

@@ -40,6 +40,7 @@ function queryTypeClick() {
     var url = "statistics/operation/manage/integration";
     var strTbody = '';
     post_common_service(url, param, function(data) {
+        console.log(data);
         // 运营管理综合检查情况
         check_operation_avg(data);
     }, function(error) {

+ 266 - 90
VisualInspection/js/statistics/total_company_statistics.js

@@ -35,6 +35,8 @@ var min_year;
 var min_road;
 var min_allStation;
 var score_ranking = new Array();
+var  data_type = $.zui.store.get("page_params").ctype;
+$("#data_type").val(data_type)
 $(function() {
     // 公用方法,根据当前年月动态将13个月push数组
     month_method();
@@ -67,28 +69,48 @@ $(function() {
 
 
     function refresh(flag) {
-        // 加载图配置
-        echart(flag);
-        var select_month = $("#month_date").val();
-        // console.log(select_month);
-        init_company_year_assess(select_month.split('/')[0], select_month.split('/')[1]);
-        // 查询图二
-        //	init_company_points_assess("statistics/lost/score/rate",select_month+'');
-        init_company_points_assess("statistics/score/info", select_month.split('/')[0], select_month.split('/')[1]);
-        // 查询图三
-        init_road_manager_score_rank_three("statistics/score/center/manage/info", select_month + '');
-        // 查询图四
-        init_stationAll_rank_four("statistics/score/tollgate/info", select_month + '');
-        // 查询图五
-        init_server_check_type_five("statistics/lost/itemscore/rate", select_month + "");
-        // 查询图六
-        init_each_people_points_six("statistics/lost/twice/itemscore/rate", select_month + "");
+        var ctype =  $("#data_type").val()
+        if(ctype == 0){
+                // 加载图配置
+            echart(flag);
+            var select_month = $("#month_date").val();
+            // console.log(select_month);
+            init_company_year_assess(select_month.split('/')[0], select_month.split('/')[1]);
+            // 查询图二
+            //	init_company_points_assess("statistics/lost/score/rate",select_month+'');
+            init_company_points_assess("statistics/score/info", select_month.split('/')[0], select_month.split('/')[1]);
+            // 查询图三
+            init_road_manager_score_rank_three("statistics/score/center/manage/info", select_month + '');
+            // 查询图四
+            init_stationAll_rank_four("statistics/score/tollgate/info", select_month + '');
+            // 查询图五
+            init_server_check_type_five("statistics/lost/itemscore/rate", select_month + "");
+            // 查询图六
+            init_each_people_points_six("statistics/lost/twice/itemscore/rate", select_month + "");
+        }else if(ctype == 1){
+            echart(flag);
+            var select_month = $("#month_date").val();
+            // console.log(select_month);
+            init_company_year_assess(select_month.split('/')[0], select_month.split('/')[1]);
+            // 查询图二
+            //	init_company_points_assess("statistics/lost/score/rate",select_month+'');
+            init_company_points_assess("statistics/score/info", select_month.split('/')[0], select_month.split('/')[1]);
+            // 查询图三
+            init_road_manager_score_rank_three("statistics/operation/manage/integration", select_month + '');
+            // 查询图四
+            init_stationAll_rank_four("statistics/operation/manage/integration", select_month + '');
+            // 查询图五
+            init_server_check_type_five("statistics/operation/manage/integration", select_month + "");
+            // 查询图六
+            init_each_people_points_six("statistics/lost/twice/itemscore/rate", select_month + "");
+        }
+     
     }
     /**
      * 初始化图一
      */
     function init_company_year_assess(y, m) {
-
+       
         x_m_array = new Array();
         for (var i = 1; i <= 12; i++) {
             var month = parseInt(m) + i;
@@ -135,9 +157,25 @@ $(function() {
      * 初始化图三
      */
     function init_road_manager_score_rank_three(url, mon) {
-        var param = {
-            "mth": mon
-        };
+      var ctype =  $("#data_type").val()
+        if(ctype == 0){
+            var param = {
+                "mth": mon
+            };
+        }else{
+            var select_month = mon;
+            var starty = select_month.split('/')[0];
+            var startm = parseInt(select_month.split('/')[1]) - 1;
+    
+            if (startm <= 0) {
+                startm = 12;
+                starty = parseInt(select_month.split('/')[0]) - 1;
+            }
+            var param = {
+                "start_date": starty + '-' + (startm >= 10 ? startm : ("0" + startm)) + '-25 23:00:00',
+                "end_date": select_month.split('/')[0] + '-' + select_month.split('/')[1] + '-25 23:00:00'
+            }
+        }
         initRqueset(url, param, 3);
     }
     // init_road_manager_score_rank_three("statistics/score/center/manage/info",initDate+"");
@@ -146,9 +184,25 @@ $(function() {
      * 初始化图四
      */
     function init_stationAll_rank_four(url, mon) {
-        var param = {
-            "mth": mon
-        };
+        var ctype =  $("#data_type").val()
+        if(ctype == 0){
+            var param = {
+                "mth": mon
+            };
+        }else{
+            var select_month = mon;
+            var starty = select_month.split('/')[0];
+            var startm = parseInt(select_month.split('/')[1]) - 1;
+    
+            if (startm <= 0) {
+                startm = 12;
+                starty = parseInt(select_month.split('/')[0]) - 1;
+            }
+            var param = {
+                "start_date": starty + '-' + (startm >= 10 ? startm : ("0" + startm)) + '-25 23:00:00',
+                "end_date": select_month.split('/')[0] + '-' + select_month.split('/')[1] + '-25 23:00:00'
+            }
+        }
         initRqueset(url, param, 4);
     }
     // init_stationAll_rank_four("statistics/score/tollgate/info",initDate+"");
@@ -157,10 +211,26 @@ $(function() {
      * 初始化图五
      */
     function init_server_check_type_five(url, mon) {
-        var param = {
-            "mth": mon,
-            "queryType": 0
-        };
+        var ctype =  $("#data_type").val()
+        if(ctype == 0){
+            var param = {
+                "mth": mon,
+                "queryType": 0
+            };
+        }else{
+            var select_month = mon;
+            var starty = select_month.split('/')[0];
+            var startm = parseInt(select_month.split('/')[1]) - 1;
+    
+            if (startm <= 0) {
+                startm = 12;
+                starty = parseInt(select_month.split('/')[0]) - 1;
+            }
+            var param = {
+                "start_date": starty + '-' + (startm >= 10 ? startm : ("0" + startm)) + '-25 23:00:00',
+                "end_date": select_month.split('/')[0] + '-' + select_month.split('/')[1] + '-25 23:00:00'
+            }
+        }
         initRqueset(url, param, 5);
     }
     // init_server_check_type_five("statistics/lost/itemscore/rate",initDate+"");
@@ -169,6 +239,7 @@ $(function() {
      * 初始化图六
      */
     function init_each_people_points_six(url, mon) {
+        var ctype =  $("#data_type").val()
         var prev_mth;
         // 判断当前年月是否为一月
         if (parseInt((mon + '').substr(5)) == 1) {
@@ -182,11 +253,11 @@ $(function() {
             }
 
         }
-        var param = {
-            "mth": mon,
-            "prev_mth": prev_mth,
-            "queryType": 0
-        };
+            var param = {
+                "mth": mon,
+                "prev_mth": prev_mth,
+                "queryType": 0
+            };
         initRqueset(url, param, 6);
     }
     // init_each_people_points_six("statistics/lost/twice/itemscore/rate",initDate+"");
@@ -279,6 +350,7 @@ $(function() {
      * @param {*} type
      */
     function data_array(data, type) {
+        var ctype =  $("#data_type").val()
         if (type == 1) {
 
             array_year_score.length = 0;
@@ -352,43 +424,92 @@ $(function() {
                 array_points.length = 0;
             }
         } else if (type == 3) {
-            array_road.length = 0;
-            array_road_score.length = 0;
-            for (var i = 0; i < data.length; i++) {
-                if (data != '') {
-                    array_road_score.push((1000 - (filter_handler(data[i].all_check_score, data[i].checked_num, 1.0, 0))));
-                } else {
-                    array_road.length = 0;
-                    array_road_score.length = 0;
-                }
+            var scoreTotalArray;
+            if(ctype == 1){
+                for(var index in data.rmlist){
+                    var rmObj = data.rmlist[index];
+                    rmObj.feeStationName = rmObj.name;
+                    var scoreTotal = 0;
+                         var numTotal = 0;
+                     for(var i in data.list){
+                         var obj = data.list[i];
+                         if(data.rmlist[index].deptid == obj.parent_dept_id){
+                            scoreTotal += parseFloat(obj.score_avg);
+                            numTotal++;
+                            console.log(scoreTotal);
+                         }
+                     }
+                     data.rmlist[index].scoreTotal = (scoreTotal/numTotal).toFixed(2);
+                            
+                        }
+                data = data.rmlist
+                function sequence(a,b){
+                    if (a.scoreTotal>b.scoreTotal) {
+                               return -1;
+                    }else if(a.scoreTotal<b.scoreTotal){
+                               return 1
+                           }else{
+                           return 0;
+                       }
+                   }
+                   data.sort(sequence);
+                console.log(data);
             }
-            if (eval("Math.min(" + array_road_score.toString() + ")") == 0)
-                min_road = 0;
-            else
-                min_road = eval("Math.min(" + array_road_score.toString() + ")").toFixed(0) - 10;
-
-            // 给道管中心排名次
-            var rank = new Array();
-            rank[0] = 1;
-            for (var i = 1; i < array_road_score.length; i++) {
-                if (array_road_score[i - 1] == array_road_score[i]) {
-                    rank[i] = rank[i - 1];
-                } else {
-                    rank[i] = i + 1;
+                array_road.length = 0;
+                array_road_score.length = 0;
+                for (var i = 0; i < data.length; i++) {
+                    if(ctype == 0){
+                        if (data != '') {
+                            array_road_score.push((1000 - (filter_handler(data[i].all_check_score, data[i].checked_num, 1.0, 0))));
+                        } else {
+                            array_road.length = 0;
+                            array_road_score.length = 0;
+                        }
+                    }else{
+                        if (data != '') {
+                            array_road_score.push(data[i].scoreTotal);
+                        } else {
+                            array_road.length = 0;
+                            array_road_score.length = 0;
+                        }
+                    }
                 }
-            }
-            array_road_score_temp = new Array();
-            for (var i = 0; i < array_road_score.length; i++) {
-                array_road.push(data[i].feeStationName + "\n" + (rank[i]));
-                array_road_score_temp.push({ value: array_road_score[i], name: data[i].feeStationName })
-            }
-        } else if (type == 4) {
+                if (eval("Math.min(" + array_road_score.toString() + ")") == 0)
+                    min_road = 0;
+                else
+                    min_road = eval("Math.min(" + array_road_score.toString() + ")").toFixed(0) - 10;
+    
+                // 给道管中心排名次
+                var rank = new Array();
+
+                rank[0] = 1;
+                for (var i = 1; i < array_road_score.length; i++) {
+                    if (array_road_score[i - 1] <= array_road_score[i]) {
+                        rank[i] = rank[i - 1];
+                    } else {
+                        rank[i] = i + 1;
+                    }
+                }
+                array_road_score_temp = new Array();
+                for (var i = 0; i < array_road_score.length; i++) {
+                    array_road.push(data[i].feeStationName + "\n" + (rank[i]));
+                    array_road_score_temp.push({ value: array_road_score[i], name: data[i].feeStationName })
+                }
+           
+        } else if (type == 4) { 
+            console.log(data);
             array_allStation_score.length = 0;
             array_allStation.length = 0;
+            if(ctype == 1){
+                  data = data.list;  
+            }
             for (var i = 0; i < data.length; i++) {
                 if (data != '' && data.length != 0) {
-
-                    array_allStation_score.push((1000 - (filter_handler(data[i].all_check_score, data[i].checked_num, 1.0, 0))));
+                     if(ctype == 0){
+                        array_allStation_score.push((1000 - (filter_handler(data[i].all_check_score, data[i].checked_num, 1.0, 0))));
+                     }else{
+                        array_allStation_score.push(data[i].score_avg);
+                     }
                 } else {
                     array_allStation_score.length = 0;
                     array_allStation.length = 0;
@@ -411,28 +532,43 @@ $(function() {
                 }
             }
             array_allStation_score_temp = new Array();
-            for (var i = 0; i < array_allStation_score.length; i++) {
-                array_allStation.push(data[i].feeStationName.substr(0, data[i].feeStationName.length - 3) + "\n" + (rank[i]));
-                array_allStation_score_temp.push({ value: array_allStation_score[i], name: data[i].feeStationName })
+            if(ctype == 0){
+                for (var i = 0; i < array_allStation_score.length; i++) {
+                    array_allStation.push(data[i].feeStationName.substr(0, data[i].feeStationName.length - 3) + "\n" + (rank[i]));
+                    array_allStation_score_temp.push({ value: array_allStation_score[i], name: data[i].feeStationName })
+                }
+            }else{
+                for (var i = 0; i < array_allStation_score.length; i++) {
+                    array_allStation.push(data[i].name.substr(0, data[i].name.length - 3) + "\n" + (rank[i]));
+                    array_allStation_score_temp.push({ value: array_allStation_score[i], name: data[i].name })
+                }
             }
         } else if (type == 5) {
-            array_check_type = [];
-            if (data.length != 0) {
-                var map = new HashMap();
-                for (var i = 0; i < data.length; i++) {
-                    if (map.get(data[i].name) == null) {
-                        map.set(data[i].name, data[i].all_check_score)
-                    } else {
-                        map.set(data[i].name, data[i].all_check_score + map.get(data[i].name))
+            if(ctype == 0){
+                array_check_type = [];
+                if (data.length != 0) {
+                    var map = new HashMap();
+                    for (var i = 0; i < data.length; i++) {
+                        if (map.get(data[i].name) == null) {
+                            map.set(data[i].name, data[i].all_check_score)
+                        } else {
+                            map.set(data[i].name, data[i].all_check_score + map.get(data[i].name))
+                        }
+    
                     }
-
+                    map.forEach(function(value, key) {
+                        array_check_type.push({ "value": value, "name": key });
+                    });
+                } else {
+                    array_check_type.length = 0;
                 }
-
-                map.forEach(function(value, key) {
-                    array_check_type.push({ "value": value, "name": key });
-                });
-            } else {
-                array_check_type.length = 0;
+            }else{
+                array_check_type = [];
+                array_check_type.push({ "value": data.totalCompanyScore, "name": "公司检查" });
+                array_check_type.push({ "value": data.totalThirdScore, "name": "第三方暗访" });
+                array_check_type.push({ "value": data.totalSpecialScore, "name": "特情操作" });
+                array_check_type.push({ "value": data.totalOnsiteScore, "name": "现场检查" });
+                array_check_type.push({ "value": data.totalDataScore, "name": "数据平台应用" });
             }
         } else if (type == 6) {
             array_all_deptname = new Array();
@@ -442,17 +578,19 @@ $(function() {
             // array_points_name.length = 0;
             // array_points_pre.length = 0;
             // arrar_points_month.length = 0;
-            if (data != '' && data.Pmth.length != 0 || data.Tmth.length != 0) {
-                data_each_people_points(data);
-            } else {
-                // array_points_name.length = 0;
-                // array_points_pre.length = 0;
-                // arrar_points_month.length = 0;
+
+                if (data != '' && data.Pmth.length != 0 || data.Tmth.length != 0) {
+                    data_each_people_points(data);
+                } else {
+                    // array_points_name.length = 0;
+                    // array_points_pre.length = 0;
+                    // arrar_points_month.length = 0;
             }
         }
     }
 
     function data_each_people_points(data) {
+        console.log(data);
         var flag = false;
         var name = ['环境卫生', '仪容仪表着装', '表情', '动作', '文明用语', '工作纪律及行为举止', '便民服务', '安全管理']
         array_all_name = name;
@@ -977,7 +1115,7 @@ $(function() {
         option = {
             tooltip: {
                 trigger: 'item',
-                formatter: "温馨服务检查占比 <br/>{b} : {c}分 ({d}%)"
+                formatter: "问题检查占比 <br/>{b} : {c}分 ({d}%)"
             },
             noDataLoadingOption: {
                 text: '暂无数据',
@@ -1042,7 +1180,7 @@ $(function() {
 
 
         var sdata = new Array();
-
+        console.log(array_all_deptname);
         for (var j = 0; j < array_all_deptname.length; j++) {
             var dept = array_all_deptname[j]
 
@@ -1232,7 +1370,7 @@ $(function() {
                 sdata.push(d_tt);
             }
         }
-
+        console.log(sdata);
         var maxvaluedata = 0;
         t_map_c.forEach(function(value, key) {
             if (value > maxvaluedata) maxvaluedata = value;
@@ -1392,4 +1530,42 @@ function station_c(param) {
         isnew = false;
         changePage("/view/statistics/toll_station_statistics.html");
     }
+}
+
+function data_each_rm_points(data){
+    array_all_name=new Array();
+    array_all_name.push('公司检查');
+    array_all_name.push('第三方暗访');
+    array_all_name.push('特情操作');
+    array_all_name.push('现场检查');
+    array_all_name.push('数据平台应用');
+    var check = new Array();
+    var map = new HashMap();
+    map.set("公司检查",0);
+    map.set("第三方暗访",0);
+    map.set("特情操作",0);
+    map.set("现场检查",0);
+    map.set("数据平台应用",0);
+    for(var i=0;i<data.rmlist.length;i++){
+        map_month_data.set(data.rmlist[i].name,map);
+        array_all_deptname.push(data.rmlist[i].name);
+    }
+    console.log(map_month_data);
+    for(var index in data.list){
+        var obj = data.list[index];
+        for(var j =0;j<name.length;i++){
+            var total = 0;
+        console.log( map_month_data.get(obj.parent_name).get("公司检查"));
+        total = map_month_data.get(obj.parent_name).get("公司检查")+obj.company_total_score;
+        map_month_data.get(obj.parent_name).set("公司检查",total);
+        total = map_month_data.get(obj.parent_name).get("第三方暗访")+obj.third_total_score;
+        map_month_data.get(obj.parent_name).set("第三方暗访",total);
+        total = map_month_data.get(obj.parent_name).get("特情操作")+obj.special_total_score;
+        map_month_data.get(obj.parent_name).set("特情操作",total);
+        total = map_month_data.get(obj.parent_name).get("现场检查")+obj.onsite_total_score;
+        map_month_data.get(obj.parent_name).set("现场检查",total);
+        total = map_month_data.get(obj.parent_name).get("数据平台应用")+obj.data_total_score;
+        map_month_data.get(obj.parent_name).set("数据平台应用",total);
+    }
+}
 }

+ 6 - 3
VisualInspection/js/teamClass/charge_team_schedule.js

@@ -90,6 +90,7 @@
       // 获取收费站信息
       function getStation() {
           get_common_service("dept/getFsByDept", "", function(data) {
+              console.log(data);
               if (data != null) {
                   $(".thread_charge").append("<th>" + data.name + "</th>");
                   $(".thread_charge").append("<th>值机班长</th>");
@@ -295,6 +296,7 @@
                           n_c = 3;
                       }
                       for (var i = 2; i < lans + 1 + n_c; i++) {
+                          console.log(".tr-" + j + " td select")
                           if ($(".tr-" + j + " td select").eq(i).val() != '' && $(".tr-" + j + " td select").eq(i).val() != null) {
                               var start_time = $("#save_user_class").data("work_date") + classCode[j].start_time + ":00";
                               if (j == 3) {
@@ -303,8 +305,8 @@
                                   start_time = date.Format("yyyy-MM-dd") + " " + classCode[j].start_time + ":00";
                               }
                               var end_time = $("#save_user_class").data("work_date") + classCode[j].end_time + ":00";
-
                               var lane_id = $(".tr-" + j + " td select").eq(i).parent().attr('tag');
+                              console.log(lane_id)
                               if (lane_id == null || typeof(lane_id) == "undefined") {
                                   continue;
                               }
@@ -325,7 +327,7 @@
 
                               var list = $(".tr-" + j + " td select").eq(i).data("data");
                               var obj = { "list": list, "work_date": work_date, "dept_id": cache.dept_id, "user_id": $(".tr-" + j + " td select").eq(i).val(), "class_type": j, "team_id": cache.team_id, "start_time": start_time, "end_time": end_time, "lane": lane_id, "monitor_user_id": m_id };
-                              console.log(obj)
+                             // console.log(obj)
 
                               dutyList.push(obj);
 
@@ -338,6 +340,7 @@
 
               if ($("#save_user_class").data("modify_flag")) {
                   $("#save_user_class").data("modify_flag", false);
+                  console.log(dutyList);
                   post_common_service("userClass/updateList", dutyList, function(data) {
                       tip("修改成功");
                       $('#add_fee_station').modal('hide');
@@ -528,7 +531,7 @@
                   $("#save_user_class").html("生成今日值班");
                   $(".tr-1,.tr-2,.tr-3").empty();
 
-                  console.error(data)
+                  //console.error(data)
 
                   for (var i = 0; i < data.length; i++) {
                       var ct = data[i].class_type;

+ 5 - 0
VisualInspection/js/user/userManager.js

@@ -60,6 +60,11 @@
      dept_tree = $.fn.zTree.init($("#department_tree"), {}, zNodes);
 
      getDept();
+     var user= getCurrentUser();
+     console.log(user);
+     if(user.organid == 1 || user.organid == 29){
+        $("#user_add").show();
+     }
 
      $("#user_add").on("click", function() {
          var nodedata = dept_tree.getSelectedNodes();

+ 1 - 0
VisualInspection/js/util/service.js

@@ -319,6 +319,7 @@ function VideoGetById(id, success, fail) {
 
 function VideoGetByIds(ids, success, fail) {
     var url = base_server_url + VIDEO_GET_IDs + ids;
+    console.log(url);
     ajaxGet(url, "", function(response) {
         var data = response;
         if (data.result_code == 0) {

+ 1 - 0
VisualInspection/js/util/video.js

@@ -43,6 +43,7 @@ function setVideoPos() {
 }
 
 function queryVideoLists(videoIds) {
+    console.log(videoIds);
     if (CLIENTVERSION == 1 && ISCLIENT) {
         callFunc("showvideoview", "false");
         layer.msg('该软件版本太低,请升级!', {

+ 0 - 0
VisualInspection/motorcade/js/carTask.js


+ 300 - 0
VisualInspection/motorcade/view/addcarTask.html

@@ -0,0 +1,300 @@
+<style>
+    td {
+        vertical-align: middle !important;
+    }
+</style>
+<div class="form-group" style="margin:0px;vertical-align: middle">
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding:0">清障情况:</label>
+        <div class="col-xs-8">
+            <select class="form-control" id="type">
+                            <option value="1">抛锚</option>
+                            <option value="2">事故</option>
+                        </select>
+        </div>
+    </div>
+    <div class="form-group col-xs-7">
+        <label for="exampleInputAccount1" class="col-xs-4">车牌号:</label>
+        <div class="col-xs-8">
+            <input type="text" id="carinfo" class="form-control form-date" placeholder="">
+        </div>
+    </div>
+</div>
+<div class="form-group">
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding: 0px">接报时间:</label>
+        <div class="col-xs-8">
+            <input type="text" style="width:100%;" id="received_time" class="form-control">
+        </div>
+    </div>
+    <div class="form-group col-xs-7">
+        <label for="exampleInputAccount1" class="col-xs-4">客户信息:</label>
+        <div class="col-xs-8">
+            <input type="text" id="carUserinfo" class="form-control form-date" placeholder="">
+        </div>
+    </div>
+</div>
+<div class="form-group" style="margin:0px;">
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding-right:0">清障队:</label>
+        <div class="col-xs-8">
+            <select class="form-control" id="dept" onchange="setRecordUser()">
+                                </select>
+        </div>
+    </div>
+    <div class="form-group col-xs-7">
+        <label for="exampleInputAccount1" class="col-xs-4">出勤人员:</label>
+        <div class="col-xs-8">
+            <input type="text" id="recordUser" class="form-control" placeholder="请选择出勤人员" autocomplete="off">
+        </div>
+    </div>
+</div>
+<div class="form-group" style="margin:0px;">
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding:0">发生方向:</label>
+        <div class="col-xs-8">
+            <input type="text" style="width:100%;" id="direction" class="form-control">
+        </div>
+    </div>
+    <div class="form-group col-xs-7">
+        <label for="" class="col-xs-4">桩号:</label>
+        <div class="col-xs-6">
+            <input type="text" style="width:100%;" id="addr" class="form-control">
+        </div>
+    </div>
+</div>
+<div class="form-group" style="margin:0px;">
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding:0">到达现场时间:</label>
+        <div class="col-xs-8">
+            <input type="text" style="width:100%;" id="arrive_time" class="form-control">
+        </div>
+    </div>
+    <div class="form-group col-xs-7">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding-right:0">离场时间:</label>
+        <div class="col-xs-6">
+            <input type="text" style="width:100%;" id="back_time" class="form-control">
+        </div>
+    </div>
+</div>
+<!-- <div class="form-group" style="margin:0px;">
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding:0">离场时间:</label>
+        <div class="col-xs-8">
+            <input type="text" style="width:100%;" id="back_time" class="form-control" autocomplete="off">
+        </div>
+    </div> -->
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding-right:0">是否放空:</label>
+        <div class="col-xs-6">
+            <select class="form-control" id="isApply">
+                <option value="0">否</option>
+                <option value="1">是</option>
+        </select>
+        </div>
+    </div>
+    <div class="form-group col-xs-7">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding-right:0">客户满意度:</label>
+        <div class="col-xs-6">
+            <select class="form-control" id="car_user_satisfaction">
+                <option value="1">非常满意</option>
+                <option value="2">满意</option>
+                <option value="3">不满意</option>
+        </select>
+        </div>
+    </div>
+    <div style="color: red">
+           备注:发生方向和放空暂时未启用,不需要填写。
+    </div>
+<!-- </div> -->
+<!-- <div class="form-group" style="margin:0px;">
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding:0">施救时间:</label>
+        <div class="col-xs-8">
+            <input type="text" style="width:100%;" id="rescue_time" class="form-control">
+        </div>
+    </div>
+    <div class="form-group col-xs-7">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding-right:0">离场时间:</label>
+        <div class="col-xs-6">
+            <input type="text" style="width:100%;" id="back_time" class="form-control">
+        </div>
+    </div>
+</div> -->
+<!-- <div class="form-group" style="margin:0px;">
+    <div class="form-group col-xs-5">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding:0">解脱时间:</label>
+        <div class="col-xs-8">
+            <input type="text" style="width:100%;" id="relief_time" class="form-control">
+        </div>
+    </div>
+    <div class="form-group col-xs-7">
+        <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding-right:0">回场时间:</label>
+        <div class="col-xs-6">
+            <input type="text" style="width:100%;" id="backfield_time" class="form-control">
+        </div>
+    </div>
+</div> -->
+<div class="form-group" style="margin:0px;">
+</div>
+<div class="form-group" style="margin-top:50px;float: right;margin-right: 40px">
+    <button class="btn btn-info2 col-xs-1" style="height:40px;width:90px;" type="button" onclick="save()">保存</button>
+</div>
+
+</form>
+</div>
+<script>
+    var selectRecord;
+    var arrive = 30;
+    var back = 60;
+    laydate.render({
+        elem: '#received_time',
+        type: 'datetime',
+        format: 'yyyy-MM-dd HH:mm'
+    });
+    // laydate.render({
+    //     elem: '#delivery_time',
+    //     type: 'datetime',
+    //     format: 'yyyy-MM-dd HH:mm'
+    // });
+    // laydate.render({
+    //     elem: '#accept_time',
+    //     type: 'datetime',
+    //     format: 'yyyy-MM-dd HH:mm'
+    // });
+    // laydate.render({
+    //     elem: '#startTime',
+    //     type: 'datetime',
+    //     format: 'yyyy-MM-dd HH:mm'
+    // });
+    laydate.render({
+        elem: '#arrive_time',
+        type: 'datetime',
+        format: 'yyyy-MM-dd HH:mm'
+    });
+    // laydate.render({
+    //     elem: '#rescue_time',
+    //     type: 'datetime',
+    //     format: 'yyyy-MM-dd HH:mm'
+    // });
+
+    laydate.render({
+        elem: '#back_time',
+        type: 'datetime',
+        format: 'yyyy-MM-dd HH:mm'
+    });
+    // laydate.render({
+    //     elem: '#relief_time',
+    //     type: 'datetime',
+    //     format: 'yyyy-MM-dd HH:mm'
+    // });
+    // laydate.render({
+    //     elem: '#backfield_time',
+    //     type: 'datetime',
+    //     format: 'yyyy-MM-dd HH:mm'
+    // });
+
+    setRecordUser();
+
+    function changestatus() {
+        // $("#status").html("到达");
+
+    }
+
+    function setRecordUser() {
+        var dept = $("#dept").val();
+        var userData = {
+            "organid": dept
+        }
+        UserGetList(userData, function(data) {
+            console.log(data);
+            var nameArray = new Array();
+            for (var index in data) {
+                var p = data[index];
+                p.title = p.truename;
+                nameArray.push(p.title);
+            }
+var resultArray = nameArray.sort(
+    function compareFunction(param1, param2) {
+        return param1.localeCompare(param2,"zh");
+    }
+);
+var objArray = new Array();
+for(var i in resultArray){
+    for(var j in data){
+       if(data[j].title == resultArray[i]){
+             var obj = {
+                 'title':resultArray[i],
+                 "id":data[j].id
+             };
+             objArray.push(obj);
+       }
+    }
+}
+//console.log(objArray);
+            if (selectRecord != null) {
+                $("#recordUser").val("");
+                selectRecord.unbind();
+                selectRecord.options = {
+                    source: objArray,
+                    isMultiple: true
+                };
+                selectRecord.closeDropDownMenu();
+                selectRecord.init();
+                $(".ComboTreeItemChlid").find("input").prop('checked', false);
+            } else {
+                selectRecord = $('#recordUser').comboTree({
+                    source: data,
+                    isMultiple: true
+                });
+            }
+        });
+    }
+
+function setRecordUserID(usersid) {
+    console.log(usersid);
+        var dept = $("#dept").val();
+        var userData = {
+            "organid": dept
+        }
+        UserGetList(userData, function(data) {
+            console.log(data);
+            for (var index in data) {
+                var p = data[index];
+                p.title = p.truename;
+            }
+            if (selectRecord != null) {
+                $("#recordUser").val("");
+                selectRecord.unbind();
+                selectRecord.options = {
+                    source: data,
+                    isMultiple: true
+                };
+                selectRecord.closeDropDownMenu();
+                selectRecord.init();
+                $(".ComboTreeItemChlid").find("input").prop('checked', false);
+            } else {
+                selectRecord = $('#recordUser').comboTree({
+                    source: data,
+                    isMultiple: true
+                });
+            }
+            for (var i in usersid) {
+                $('span[data-id="' + usersid[i] + '"] input').click();
+            }
+        });
+    }
+
+    function save() {
+        var data = {
+            "customer":"郭亮",
+            "car_number":"苏A89999",
+            "driver":200,
+            "id":1
+        }  
+  
+            post_common_service('c/task/update', data, function(redata) {
+                // window.parent.location.reload();
+            });
+    }
+</script>

+ 78 - 0
VisualInspection/motorcade/view/carTask.html

@@ -0,0 +1,78 @@
+<script src="/js/statistics/common_statistic.js?__inline"></script>
+<script src="/qzd/js/task/new.js"></script>
+<style>
+    .button_new {
+        width: 50px
+    }
+</style>
+<div class="container-fluid ">
+    <div class="row">
+        <form class="form-horizontal" style="margin:0px;">
+            <div class="form-group" style="margin:0px;">
+                <div class="form-group col-sm-2">
+                    <label for="exampleInputAccount1" class="col-sm-4" style="text-align: left;padding-right:0">时间:</label>
+                    <div class="col-sm-8">
+                        <input type="text" id="start_time" class="form-control form-date" placeholder="选择周期">
+                    </div>
+                </div>
+                <div class="form-group col-sm-2">
+                    <label for="exampleInputAccount1" class="col-sm-4">部门:</label>
+                    <div class="col-sm-8">
+                        <select class="form-control" id="deptlist">
+                        </select>
+                    </div>
+                </div>
+                <div class="form-group col-sm-3" id="isCompleteDiv">
+                    <label for="exampleInputAccount1" class="col-sm-4">是否完成</label>
+                    <div class="col-sm-8">
+                        <select class="form-control" id="isComplete">
+                            <option value="0">未完成</option>
+                            <option value="1">已完成</option>
+                        </select>
+                    </div>
+                </div>
+                <div class="form-group col-sm-3" id="isApplyDiv">
+                    <label for="exampleInputAccount1" class="col-sm-4">是否放空</label>
+                    <div class="col-sm-5">
+                        <select class="form-control" id="isApply-select">
+                            <option value="0">否</option>
+                            <option value="1">是</option>
+                        </select>
+                    </div>
+                </div>
+
+                <div class="form-group col-sm-2">
+                    <button class="btn btn-info2 col-sm-1" style="width:80px;" type="button" onclick="queryTask()" style="">查询</button>
+                </div>
+                <div class="form-group col-sm-1" style="float: right">
+                    <button id="saveButton" class="btn btn-info2 col-sm-1" style="width:90px;display: none" type="button" onclick="addTask()">新增</button>
+                </div>
+            </div>
+        </form>
+    </div>
+    <hr style="margin-top:0px;">
+
+    <div class="datatable" id="task_list_table"></div>
+</div>
+<script>
+    $(document).ready(function() {
+        initTaskPage();
+    });
+</script>
+
+<div class="modal fade" id="addModal" style="height: 800px">
+    <div class="modal-dialog" style="width:800px">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span></button>
+                <h4 class="modal-title"><span id="modalTitle">新增用车记录<span></h4>
+            </div>
+            <div class="modal-body">
+                <link id="addrecord" rel="import" href="/motorcade/view/addcarTask.html?__inline">
+            </div>
+            <div class="modal-footer" style="border-color: white">
+                <!-- <button type="button" id="dept_add_btn" class="btn btn-primary" onclick="addDept()">添加</button> -->
+            </div>
+        </div>
+    </div>
+</div>

+ 47 - 1
VisualInspection/qzd/js/other_check/other_check.js

@@ -101,6 +101,8 @@ $("#save-check").click(function() {
         // var user_id = $("#select-personal").val();
         var check_item_id = dept_selectinput != null ? dept_selectinput.value : null;
         var remark = $("#remark").val();
+        var monitor = $("#select-monitor").val();
+        var vice_monitor = $("#select-viceMonitor").val();
         var check_score = $("#check_score").val();
         var check_time = $("#month_date2").val();
         var check_num = $("#check_num").val();
@@ -180,7 +182,9 @@ $("#save-check").click(function() {
             "check_num": check_num,
             "wrecker_check_type": wrecker_check_type,
             "special_check_type": special_check_type,
-            "check_person_id":people
+            "check_person_id":people,
+            "monitor":monitor,
+            "vice_monitor":vice_monitor
         }
         console.log(data);
         if (idUpdate) {
@@ -1021,14 +1025,56 @@ function getdeptpeople(id){
     UserGetList(userData, function(data) {
         console.log(data);
         var str = '';
+        var monitorStr =  "<option value='0'>请选择班长</option>";
+        var vmonitorStr =  "<option value='0'>请选择副班长</option>";
        for(var index in data){
           var obj = data[index];
           str += "<option value='"+obj.id+"'>"+obj.truename+"</option>"
+          if(obj.positionid == 13){
+            monitorStr += "<option value='"+obj.id+"'>"+obj.truename+"</option>"
+          }else if(obj.positionid == 14){
+            vmonitorStr += "<option value='"+obj.id+"'>"+obj.truename+"</option>"
+          }
        }
        $("#select-personal").html(str);
+       $("#select-monitor").html(monitorStr);
+       $("#select-viceMonitor").html(vmonitorStr);
        if(id != 0){
         $("#select-personal").val(id);
        }
+       console.log(monitorStr);
     });
 
+}
+
+function setMonitor(){
+    var dept = $("#select-monitor").val();
+    var userData = {
+        "organid": dept
+    }
+    UserGetList(userData, function(data) {
+        console.log(data);
+        var monitor = new Array();
+        var vice_monitor = new Array();
+        for(var index in data){
+            var u = data[index];
+              if(u.positionid == 13){
+                   monitor.push(u);
+              }else if(u.positionid == 14){
+                vice_monitor.push(u);
+           }
+        }
+        console.log(monitor);
+        setMonitor(monitor,"班长")
+    });
+}
+
+function setMonitor(data,name){
+    console.log(data);
+    var str = "<option value='0'>请选择"+name+"<option>"
+    for(var index in data){
+        var obj = data[index];
+        str+=  "<option value='"+obj.id+"'>"+obj.truename+"<option>"
+    }
+    console.log(str);
 }

+ 8 - 3
VisualInspection/qzd/js/statistics/assess_type.js

@@ -64,7 +64,7 @@ function getHeadHtml(data) {
     var strHead = "";
     itemArray = data.itemList;
     var colspanNum = data.itemlist[0].length+data.itemlist[1].length+ data.itemlist[2].length;
-    strHead += "<tr><th rowspan='3' width='3%'>单位</th><th rowspan='3' width='3%'>姓名</th><th rowspan='3' width='6%'>工号</th><th rowspan='3' width='3%'>岗位</th>";
+    strHead += "<tr><th rowspan='3' width='3%'>序号</th><th rowspan='3' width='3%'>单位</th><th rowspan='3' width='3%'>姓名</th><th rowspan='3' width='6%'>工号</th><th rowspan='3' width='3%'>岗位</th>";
     strHead += "<th rowspan='3' width='3%'>出警次数</th><th rowspan='3' width='3%'>受检次数</th>";
     strHead += "<th colspan=" + colspanNum + " height='40px'>考核情况</th><th rowspan='3' width='6%'>合计扣分</th><th rowspan='3' width='6%'>平均得分</th></tr><tr>";
     strHead +="<th colspan=" + data.itemlist[0].length + " height='40px'>视频稽查</th><th colspan=" + data.itemlist[1].length + " height='40px'>暗访稽查</th><th colspan=" + data.itemlist[2].length + " height='40px'>现场检查</th></tr>"
@@ -141,7 +141,11 @@ function gethtml(data, i, itemlist, avg, lists) {
 
     // }
       var obj = data;
-      strTbody += "<tr><td width='3%'>"+obj.user.organname+"</td><td width='3%'>"+obj.user.truename+"</td><td width='6%'>"+obj.user.workno+"</td><td width='3%'>"+obj.user.position_name+"</td>";
+     // console.log(obj.user.workno);
+      if(obj.user.workno == undefined){
+           obj.user.workno = "";
+      }
+      strTbody += "<tr><td width='3%'>"+obj.id+"</td><td width='3%'>"+obj.user.organname+"</td><td width='3%'>"+obj.user.truename+"</td><td width='6%'>"+obj.user.workno+"</td><td width='3%'>"+obj.user.position_name+"</td>";
       strTbody += "<td width='3%'>"+obj.check_s_num+"</td><td width='3%'>"+obj.check_t_num+"</td>";
       for(var i = 0;i<itemlist[0].length;i++){
           var score = 0;
@@ -177,8 +181,9 @@ function gethtml(data, i, itemlist, avg, lists) {
           strTbody +="<td width='55px'>"+score+"</td>"
       }
       count = obj.all_check_score+obj.third_total_score+obj.onsite_total_score;
+      var score = (1000-count/(obj.check_t_num+2)).toFixed(2); 
      // strTbody +="<th colspan=" + itemlist[0].length + " height='40px'>视频稽查</th><th colspan=" + itemlist[1].length + " height='40px'>暗访稽查</th><th colspan=" + itemlist[2].length + " height='40px'>现场检查</th>"
-      strTbody +="<th width='6%'>"+count+"</th><th width='6%'>0</th>"
+      strTbody +="<th width='6%'>"+count+"</th><th width='6%'>"+score+"</th>"
       strTbody +="</tr>"
     return strTbody;
 }

+ 2 - 2
VisualInspection/qzd/js/statistics/dept_check_statistics.js

@@ -15,7 +15,7 @@ $(function() {
         format: 'YYYY/MM' // 分隔符可以任意定义,该例子表示只显示年月
     });
 
-    $("#month_date_from").val("2018/04");
+    $("#month_date_from").val("2018/09");
     $("#month_date_to").val(getCurrentTimeFormat());
 
 
@@ -65,7 +65,7 @@ function getdeptscore(starttime, endtime) {
         //     var table = '';
 
         //先确定表格标题
-        var h_html = "<tr><th rowspan=2 style='width:30px'>序号</th><th rowspan=2 style='width:95px'>站名</th>";
+        var h_html = "<tr><th rowspan=2 style='width:30px'>序号</th><th rowspan=2 style='width:95px'>清障队</th>";
         var h_html_t = "<tr>"
         for (var i = 0; i <= time_m; i++) {
             h_html += "<th colspan=4 style='width:240px'>" + (moment(starttime).add(i, "month").format("MM月")) + "</th>";

+ 28 - 5
VisualInspection/qzd/js/statistics/operation_management_integration.js

@@ -5,6 +5,10 @@ var r1 = new Array();
 var r2 = new Array();
 var r3 = new Array();
 var rank = new Array();
+var qzdPeople;
+var qzdCheckPeople;
+var qzdCheck;
+var qzdRecord;
 /**
  * 点击查询
  */
@@ -64,19 +68,35 @@ function initQueryType() {
 function gethtml(data, i, avg, lists) {
     var strTbody = "";
     var i= i+1;
+    var avg;
+    var avg2;
+    if(data.check_t_num != 0){
+        avg = (data.company_check_num/data.check_t_num).toFixed(3);
+        avg2 = (data.company_check_num/data.check_t_num).toFixed(3);
+    }else{
+        avg = 0;
+        avg2 = 1;
+    }
+    qzdCheck += data.company_check_num;
+    qzdCheckPeople += data.check_t_num;
+    qzdPeople += lists;
+    qzdRecord += data.other_check_num;
+    var totalScore = data.company_total_score+data.third_total_score+data.onsite_total_score;
+    var checkSCcore = (1000-data.company_total_score/avg2*0.4-data.third_total_score*0.2-data.onsite_total_score*0.4).toFixed(2);
     strTbody += "<tr><td width='8%'>" + i + "</td>";
     strTbody += "<td width='8%'>" + data.name + "</td><td width='8%'>" + lists + "</td><td width='8%'>" + data.check_t_num + "</td><td width='6%'>" + data.other_check_num +
-        "</td><td width='6%'>" + data.company_check_num + "</td><td width='6%'>" + data.third_check_num +"<td width='6%'>" + data.company_total_score + "</td>"+"<td width='6%'>" + data.third_check_num + "</td>"+
+        "</td><td width='6%'>" + data.company_check_num + "</td><td width='6%'>" + avg +"<td width='6%'>" + data.company_total_score + "</td>"+"<td width='6%'>" + data.third_check_num + "</td>"+
         "</td><td width='6%'>" + data.third_total_score + "</td><td width='6%'>" + data.onsite_check_num +
         "</td><td width='6%'>" + data.onsite_total_score + "</td><td width='8%'>" +
-        data.check_total_avg + "</td>" +
-        "<td width='8%'>" + data.score_avg + "</td>";
+        totalScore + "</td>" +
+        "<td width='8%'>" + checkSCcore + "</td>";
     strTbody += "</tr>";
     return strTbody;
 }
 
 function getTotalHtml(data) {
-    var html = "<tr><td>合计</td><td></td><td width='8%'>" + "1" + "</td><td width='8%'>" + "1" + "</td><td>" + data.totalCompanyNum + "</td><td>" + data.totalCompanyNum + "</td><td>" + data.totalCompanyNum + "</td><td>" + data.totalCompanyScore + "</td><td>" +
+    var avg = (qzdCheck/qzdCheckPeople).toFixed(0);
+    var html = "<tr><td>合计</td><td></td><td width='8%'>" + qzdPeople + "</td><td width='8%'>" + qzdCheckPeople + "</td><td>" + qzdRecord + "</td><td>" + qzdCheck + "</td><td>" + avg + "</td><td>" + data.totalCompanyScore + "</td><td>" +
         data.totalThirdNum + "</td><td>" + data.totalThirdScore + "</td><td>" + data.totalOnsiteNum + "</td><td>" + data.totalOnsiteScore +
          "</td><td>-</td><td>-</td></tr>";
     return html;
@@ -110,7 +130,10 @@ function check_operation_avg(data) {
             sum1 = 0;
         }
     }
-
+    qzdCheck = 0;
+    qzdCheckPeople = 0;
+    qzdPeople = 0;
+    qzdRecord = 0;
     for (i = 0; i < list.length; i++) {
         $(".table-tbody").append(gethtml(list[i], i, dataArray[0], data.deptList[i]));
     }

+ 30 - 3
VisualInspection/qzd/js/statistics/qzd_check_statistics.js

@@ -65,8 +65,8 @@ function gethtml(data, i, avg, lists) {
     var i= i+1;
     strTbody += "<tr><td width='12.5%'>" + i + "</td>";
     strTbody += "<td width='12.5%'>" + data.deptName + "</td><td width='12.5%'>" + data.recordNum + "</td><td width='12.5%'>" + data.taskNum
-    + "</td><td width='12.5%'>" + data.isApplyNunm +
-        "</td><td width='12.5%'>" + data.videosNum + "</td><td width='12.5%'>" + data.picsNum +"</td><td width='12.5%'></td>";
+    + "</td><td width='12.5%'><a onclick='applyReason(\""+data.dept+"\")'>" + data.isApplyNunm +
+        "</a></td><td width='12.5%'>" + data.videosNum + "</td><td width='12.5%'>" + data.picsNum +"</td><td width='12.5%'></td>";
     strTbody += "</tr>";
     return strTbody;
 }
@@ -156,5 +156,32 @@ function exportExcel() {
     var t = getTimeByMonth($("#start-time").val());
     var start_date = getMomentTimeFormat(t.starttime);
     var end_date = getMomentTimeFormat(t.endtime);
-    window.open(getQzdExcelServeraddr() + "q/file/operation/manage/integration?start_date=" + start_date + "&end_date=" + end_date);
+    window.open(getQzdExcelServeraddr() + "q/file/operation/qzd/check?start_date=" + start_date + "&end_date=" + end_date);
+}
+
+function applyReason(dept) {
+    $('#addModal').modal('show');
+    var t = getTimeByMonth($("#start-time").val());
+    var start_date = getMomentTimeFormat(t.starttime);
+    var end_date = getMomentTimeFormat(t.endtime);
+    var param = {
+        "start_date": start_date,
+        "end_date": end_date,
+        "dept":dept
+    }
+    var url = "q/record/apply";
+    post_common_service(url, param, function(data) {
+        // 运营管理综合检查情况
+        $('#main-content').html('');
+        for(var index in data){
+            var number =parseInt(index)+1;
+            var html = '<tr style="height: 40px;">'+
+            '<th  width="30%">'+number+'</th>'+
+            '<th  width="70%">'+data[index].remarks+'</th>'+
+            '</tr>';
+            $('#main-content').append(html);
+        }
+    }, function(error) {
+        return "";
+    });
 }

+ 4 - 3
VisualInspection/qzd/js/statistics/service_area_check_statistics.js

@@ -15,7 +15,7 @@ $(function() {
         format: 'YYYY/MM' // 分隔符可以任意定义,该例子表示只显示年月
     });
 
-    $("#month_date_from").val("2018-04");
+    $("#month_date_from").val("2018-09");
     $("#month_date_to").val(getCurrentTimeFormat());
 
 
@@ -54,14 +54,15 @@ function getscore(starttime, endtime, limitnumber, limitscore, limitscore2) {
     var url = "q/statistics/user/score";
 
     post_common_service(url, data_p, function(data) {
+        console.log(data);
 
         var table = '';
         // $("#totlapeople").html(data.length);
         for (var i in data) {
             var ss = data[i];
             var dat = "";
-            for (var j in ss.qzdStatistics) {
-                var po = ss.qzdStatistics[j];
+            for (var j in ss.fwqStatistics) {
+                var po = ss.fwqStatistics[j];
                 dat += po.p_str + "月、";
             }
             dat = dat.substring(0, dat.length - 1);

+ 25 - 18
VisualInspection/qzd/js/statistics/total_company_statistics.js

@@ -78,7 +78,7 @@ $(function() {
         // // 查询图三
         init_road_manager_score_rank_three("q/statistics/score/center/manage/info", select_month + '');
         // // 查询图四
-        init_stationAll_rank_four("q/statistics/score/tollgate/info", select_month + '');
+        init_stationAll_rank_four("q/statistics/operation/manage/integration", select_month + '');
         // // 查询图五
         init_server_check_type_five("q/statistics/lost/itemscore/rate", select_month + "");
         // // 查询图六
@@ -146,9 +146,18 @@ $(function() {
      * 初始化图四
      */
     function init_stationAll_rank_four(url, mon) {
+        var select_month = mon;
+        var starty = select_month.split('/')[0];
+        var startm = parseInt(select_month.split('/')[1]) - 1;
+
+        if (startm <= 0) {
+            startm = 12;
+            starty = parseInt(select_month.split('/')[0]) - 1;
+        }
         var param = {
-            "mth": mon
-        };
+            "start_date": starty + '-' + (startm >= 10 ? startm : ("0" + startm)) + '-25 23:00:00',
+            "end_date": select_month.split('/')[0] + '-' + select_month.split('/')[1] + '-25 23:00:00'
+        }
         initRqueset(url, param, 4);
     }
     // init_stationAll_rank_four("statistics/score/tollgate/info",initDate+"");
@@ -316,7 +325,6 @@ $(function() {
         } else if (type == 2) {
             array_points2 = [];
             array_points = [];
-             console.log(data);
             if (data != null) {
                 array_points.push({ "value": (data.total0), "name": '满分', "area":data.total0Area, "itemStyle": { "normal": { "color": '#48CCCD' } } });
                 array_points.push({ "value": data.total15, "name": '0-15分', "area":data.total15Area, "itemStyle": { "normal": { "color": '#38ACEC' } } });
@@ -350,7 +358,6 @@ $(function() {
                 array_points.length = 0;
             }
         } else if (type == 3) {
-            console.log(data);
             array_road.length = 0;
             array_road_score.length = 0;
             for (var i = 0; i < data.length; i++) {
@@ -384,17 +391,18 @@ $(function() {
         } else if (type == 4) {
             array_allStation_score.length = 0;
             array_allStation.length = 0;
+            data = data.list;
             for (var i = 0; i < data.length; i++) {
+                if(data[i].check_t_num != 0){
+                    avg = (data[i].company_check_num/data[i].check_t_num).toFixed(3);
+                    avg2 = (data[i].company_check_num/data[i].check_t_num).toFixed(3);
+                }else{
+                    avg = 0;
+                    avg2 = 1;
+                }
+                var checkSCcore = (1000-data[i].company_total_score/avg2*0.4-data[i].third_total_score*0.2-data[i].onsite_total_score*0.4).toFixed(2);
                 if (data != '' && data.length != 0) {
-                    var onsite_total_score = 0;
-                    if(data[i].onsite_total_score){
-                        onsite_total_score =   data[i].onsite_total_score
-                    }
-                    var third_total_score = 0;
-                    if(data[i].third_total_score){
-                        third_total_score =   data[i].third_total_score
-                    }
-                    array_allStation_score.push((1000 - (filter_handlernew(data[i].all_check_score, data[i].checked_num,onsite_total_score,third_total_score))));
+                    array_allStation_score.push(checkSCcore);
                 } else {
                     array_allStation_score.length = 0;
                     array_allStation.length = 0;
@@ -418,8 +426,8 @@ $(function() {
             }
             array_allStation_score_temp = new Array();
             for (var i = 0; i < array_allStation_score.length; i++) {
-                array_allStation.push(data[i].feeStationName+(rank[i]));
-                array_allStation_score_temp.push({ value: array_allStation_score[i], name: data[i].feeStationName })
+                array_allStation.push(data[i].name+(rank[i]));
+                array_allStation_score_temp.push({ value: array_allStation_score[i], name: data[i].name })
             }
         } else if (type == 5) {
             array_check_type = [];
@@ -551,7 +559,6 @@ $(function() {
 
     function filter_handlernew(num, num1, num2, num4) {
         if (num1 == 0 || num2 == 0) {
-            console.log(num2*0.4+num4*0.2);
             return num2*0.4+num4*0.2;
         } else {
           var i = ((num / num1) * 0.4)+num2*0.4+num4*0.2;
@@ -585,7 +592,7 @@ $(function() {
                     year_assess = ec.init(document.getElementById('company-year-assess'), theme);
                 }
                 points_assess = ec.init(document.getElementById('company-points-assess'), theme);
-                score_rank = ec.init(document.getElementById('roadManager-score-rank'));
+                // score_rank = ec.init(document.getElementById('roadManager-score-rank'));
                 stationAll_rank = ec.init(document.getElementById('company-stationAll-rank'));
                 check_type = ec.init(document.getElementById('server-check-type'), theme);
                 people_points = ec.init(document.getElementById('each-people-points'));

+ 1 - 1
VisualInspection/qzd/js/task/add.js

@@ -526,7 +526,7 @@ function reloadtableData() {
                       //  }
                        
                     } else
-                    if (t.check_status == 2 || t.check_status == 7) {
+                    if (t.check_status == 2 || t.check_status == 7 || t.check_status == 3) {
                         //考核进行中
                         temphtml += '<button data-toggle="button" class="btc doingc" style="margin:10px"  type="button" id="' + user.id + '_' + i + '_' + r.id + '">' + moment(r.received_time).format("HH:mm") + "~" + moment(r.back_time).format("HH:mm") + '</button>';
 

+ 47 - 2
VisualInspection/qzd/js/task/new.js

@@ -40,6 +40,7 @@ function initQueryParams() {
         $("#delivery_time").attr('disabled', 'disabled');
         $("#arrive_time").attr('disabled', 'disabled');
         $("#back_time").attr('disabled', 'disabled');
+        $("#isApply").attr('disabled', 'disabled');
     } else {
         setWreckerGroupAllSelect("#deptlist");
     }
@@ -84,6 +85,7 @@ function queryTask() {
         "endTime": getMomentTimeFormat(t.endtime),
         "dept": $("#deptlist").val(),
         "isComplete": $("#isComplete").val(),
+        "isApply": $("#isApply-select").val(),
         // "check_status": cur_status
     };
 
@@ -122,11 +124,23 @@ function queryTask() {
             { width: 160, text: '图片上传', type: 'imagebutton', flex: true, field: 'pics', colClass: 'text-center' },
         ];
         var colFunc = { width: 40, text: '操作', type: 'string', flex: true, field: 'id', colClass: 'text-center' };
+        var colFunc2 = { width: 60, text: '放空', type: 'isApply', flex: true, field: 'id', colClass: 'text-center' };
         colFunc.oper = $.zui.store.get("task_table_btn_2");
         cols.push(colFunc);
         $("#isCompleteDiv").hide();
         $("#isComplete").val(1);
         data.isComplete = 1;
+        if($("#isApply-select").val() == 1){
+            cols = [
+                { width: 80, text: '序号', type: 'number', flex: true, colClass: 'text-center', field: 'num' },
+                { width: 80, text: '桩号', type: 'string', flex: true, colClass: 'text-center', sort: 'down', field: 'addr' },
+               // { width: 120, text: '接警时间', type: 'string', flex: true, sort: 'down', colClass: 'text-center', field: 'received_time' },
+                { width: 120, text: '接警时间', type: 'string', flex: true, sort: 'down', colClass: 'text-center', field: 'received_time' },
+                { width: 120, text: '出勤人员', type: 'string', flex: true, sort: 'down', colClass: 'text-center', field: 'userNames' },
+                { width: 160, text: '正副班长', type: 'monitor', flex: true, field: 'id', colClass: 'text-center' },
+            ];
+          cols.push(colFunc2);
+        }
         //data.isApply = 0;
     }
     //只有下发才显示复选框
@@ -285,7 +299,8 @@ function checkUpdate(id) {
             $("#relief_time").val(time);
         }
         $("#carUserinfo").val(redata.car_user_info);
-        $("#dept").val(redata.dept);
+        $("#dept").val(redata.dept);  
+        $("#direction").val(redata.direction);
         var userids = redata.users.split(",");
         setRecordUserID(userids);
         $("#carUserSatisfaction").val(redata.car_user_satisfaction);
@@ -321,6 +336,7 @@ function resert() {
     $("#accept_time").val('');
     $("#rescue_time").val('');
     $("#carUserinfo").val('');
+    $("#direction").val('');
     $("#dept").val('');
     $("#carUserSatisfaction").val('');
     $(".ComboTreeItemChlid").find("input").prop('checked', false);
@@ -394,7 +410,9 @@ function removeVideo(id, videos, field, index) {
     p = p.substring(0, p.length - 1);
     var data = {
         "id": recordId,
-        "isComplete": 1
+        "isComplete": 1,
+        "monitor":$("#select"+recordId).val(),
+        "vice_monitor":$("#select"+recordId).val()
     };
 
     if (field == "videos") {
@@ -441,4 +459,31 @@ function setMonitor(){
             $.zui.store.set("monitor", monitor);
             $.zui.store.set("vice_monitor", vice_monitor);
         });
+}
+
+function setIsapply(id,reason){
+    
+    //$('#isApplyReason').val() = '';
+    $('#addModal2').modal('show');
+    if(reason != "undefined" && reason != null){
+        $('#isApplyReason').val(reason);
+    }else{
+        $('#isApplyReason').val('');
+    } 
+    $.zui.store.set("reason_id", id);
+}
+
+function addReason(){
+    var id =  $.zui.store.get("reason_id");
+    var data = {
+        "id":id,
+        "remarks": $('#isApplyReason').val(),
+        "isComplete":1,
+        "isApply":1
+    }
+    post_common_service('q/record/update', data, function(redata) {
+      layer.msg('已保存', { icon: 1 });
+      $('#addModal2').modal('hide');
+      queryTask();
+  });
 }

+ 11 - 0
VisualInspection/qzd/view/other_check/onsite_check.html

@@ -70,6 +70,17 @@
                 </div>
                 <div style="width:100%;margin-top:10px;">
                     <div style="width:80px;float:left;">
+                        <span style="line-height:32px;">选择正副班长</span>
+                    </div>
+                    <div style="width:260px;float:left;">
+                        <div class="div-select"><select class="form-control" id="select-monitor"></select></button>
+                        </div>
+                        <div class="div-select"><select class="form-control" id="select-viceMonitor"></select></button>
+                        </div>
+                    </div>
+                </div>
+                <div style="width:100%;margin-top:10px;">
+                    <div style="width:80px;float:left;">
                         <span style="line-height:32px;">扣分类别</span>
                     </div>
                     <div style="width:260px;float:left;">

+ 35 - 2
VisualInspection/qzd/view/record/record_list.html

@@ -9,13 +9,13 @@
     <div class="row">
         <form class="form-horizontal" style="margin:0px;">
             <div class="form-group" style="margin:0px;">
-                <div class="form-group col-sm-3">
+                <div class="form-group col-sm-2">
                     <label for="exampleInputAccount1" class="col-sm-4" style="text-align: left;padding-right:0">时间:</label>
                     <div class="col-sm-8">
                         <input type="text" id="start_time" class="form-control form-date" placeholder="选择周期">
                     </div>
                 </div>
-                <div class="form-group col-sm-3">
+                <div class="form-group col-sm-2">
                     <label for="exampleInputAccount1" class="col-sm-4">部门:</label>
                     <div class="col-sm-8">
                         <select class="form-control" id="deptlist">
@@ -31,6 +31,15 @@
                         </select>
                     </div>
                 </div>
+                <div class="form-group col-sm-3" id="isApplyDiv">
+                    <label for="exampleInputAccount1" class="col-sm-4">是否放空</label>
+                    <div class="col-sm-5">
+                        <select class="form-control" id="isApply-select">
+                            <option value="0">否</option>
+                            <option value="1">是</option>
+                        </select>
+                    </div>
+                </div>
 
                 <div class="form-group col-sm-2">
                     <button class="btn btn-info2 col-sm-1" style="width:80px;" type="button" onclick="queryTask()" style="">查询</button>
@@ -60,10 +69,34 @@
             </div>
             <div class="modal-body">
                 <link id="addrecord" rel="import" href="/qzd/view/task/addtask.html?__inline">
+                <!-- <link id="addrecord" rel="import" href="/motorcade/view/addcarTask.html?__inline"> -->
             </div>
             <div class="modal-footer" style="border-color: white">
                 <!-- <button type="button" id="dept_add_btn" class="btn btn-primary" onclick="addDept()">添加</button> -->
             </div>
         </div>
     </div>
+</div>
+
+<div class="modal fade" id="addModal2" style="height: 800px">
+    <div class="modal-dialog" style="width:400px">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span></button>
+                <h4 class="modal-title"><span id="modalTitle">填写原因<span></h4>
+            </div>
+            <div class="modal-body">
+                    <div class="form-group col-sm-10" id="isApplyDiv">
+                            <label for="exampleInputAccount1" class="col-sm-4">放空原因:</label>
+                            <div class="col-sm-5">
+                                    <textarea id="isApplyReason" rows="8" cols="30"></textarea>
+                            </div>
+                        </div>
+                        <button type="button" id="dept_add_btn" class="btn btn-primary" style="margin-top: 150px" onclick="addReason()">添加</button>
+               <!-- <button> -->
+            </div>
+            <div class="modal-footer" style="border-color: white;">
+            </div>
+        </div>
+    </div>
 </div>

+ 1 - 1
VisualInspection/qzd/view/statistics/operation_management_integration.html

@@ -21,7 +21,7 @@
             </div>
         </form>
     </div>
-    <div class="table-title"><span>运营管理综合检查情况统计表</span></div>
+    <div class="table-title"><span>清障队考核情况汇总表</span></div>
 
     <div class="row">
         <!-- 使用一个div来显示数据表格 -->

+ 41 - 2
VisualInspection/qzd/view/statistics/qzd_check_statistics.html

@@ -21,7 +21,7 @@
             </div>
         </form>
     </div>
-    <div class="table-title"><span>运营管理综合检查情况统计表</span></div>
+    <div class="table-title"><span>清障队检查情况汇总表</span></div>
 
     <div class="row">
         <!-- 使用一个div来显示数据表格 -->
@@ -73,4 +73,43 @@
         $("#start-time").val(getCurrentTimeFormat());
         initQueryType();
     });
-</script>
+</script>
+
+<div class="modal fade" id="addModal" style="height: 800px">
+    <div class="modal-dialog" style="width:400px">
+        <div class="modal-content">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span></button>
+                <h4 class="modal-title"><span id="modalTitle">放空原因<span></h4>
+            </div>
+            <div class="modal-body">
+                    <div class="datatable" data-checkable="false" data-sortable="false" style="margin-bottom:0px;">
+                            <div class="table-head">
+                    <table border="1" width="100%" height="90px" align="center">
+                            <thead>
+                                <tr style="height: 40px;">
+                                    <!--<th rowspan="3" width="6%">排名</th><th rowspan="3" width="6%">道管</th>-->
+                                    <th  width="30%">序号</th>
+                                    <!--<th rowspan="3" width="6%">道管内排名</th>-->
+                                    <th  width="70%">放空原因</th>
+                                    </tr>
+                            </thead>
+                        </table>
+                    </div>
+                </div>
+                <div id="" style="height:300px;overflow:scroll;margin-right:-10px;">
+                        <div class="table-head" style="margin:0px;">
+                            <table border="1" width="100%" height="90px" align="center" style="border-top:0px;">
+                                <tbody id="main-content" class="table-tbody" style="background:white" align="center">
+            
+                                </tbody>
+                            </table>
+                        </div>
+                    </div>
+            </div>
+            <div class="modal-footer" style="border-color: white">
+                <!-- <button type="button" id="dept_add_btn" class="btn btn-primary" onclick="addDept()">添加</button> -->
+            </div>
+        </div>
+    </div>
+</div>

+ 1 - 1
VisualInspection/qzd/view/statistics/service_area_check_statistics.html

@@ -100,7 +100,7 @@
                     <tr>
                         <th width="5%">序号</th>
                         <!-- <th width="10%">工号</th> -->
-                        <th width="15%">服务区</th>
+                        <th width="15%">清障队</th>
                         <!-- <th width="10%">姓名</th> -->
                         <th width="60%">满足条件月份</th>
                     </tr>

+ 6 - 6
VisualInspection/qzd/view/statistics/total_company_statistics.html

@@ -42,8 +42,8 @@
         <!-- <div class="line-3"></div> -->
         <div class="col-sm-6">
             <div class="border-no">
-                <div class="title-div"><span class="title-span">道管中心得分排名</span></div>
-                <div id="roadManager-score-rank" style="width:100%;height:400px;float:left;background-color: #fff;"></div>
+                <div class="title-div"><span>公司全体清障队排名</span></div>
+                <div id="company-stationAll-rank" style="width:100%;height:400px;float:left;background-color: #fff;"></div>
             </div>
         </div>
     </div>
@@ -51,16 +51,16 @@
     <div class="row" style="margin-top: 15px;">
         <div class="col-sm-6">
             <div class="border-no">
-                <div class="title-div"><span>公司全体清障队排名</span></div>
-                <div id="company-stationAll-rank" style="width:100%;height:400px;float:left;background-color: #fff;"></div>
+                <div class="title-div"><span class="title-span">清障队检查问题类别占比</span></div>
+                <div id="server-check-type" style="width:100%;height:400px;float:left;background-color: #fff;"></div>
             </div>
         </div>
         <!-- <div class="line-3"></div> -->
         <div class="col-sm-6">
-            <div class="border-no">
+            <!-- <div class="border-no">
                 <div class="title-div"><span class="title-span">清障队检查问题类别占比</span></div>
                 <div id="server-check-type" style="width:100%;height:400px;float:left;background-color: #fff;"></div>
-            </div>
+            </div> -->
         </div>
     </div>
 

+ 9 - 3
VisualInspection/qzd/view/task/addtask.html

@@ -76,7 +76,10 @@
     <div class="form-group col-xs-5">
         <label for="exampleInputAccount1" class="col-xs-4" style="text-align: left;padding:0">发生方向:</label>
         <div class="col-xs-8">
-            <input type="text" style="width:100%;" id="direction" class="form-control">
+            <select name="" id="direction" class="form-control">
+                <option value="南行">南行</option>
+                        <option value="北行">北行</option>
+            </select>
         </div>
     </div>
     <div class="form-group col-xs-7">
@@ -126,9 +129,9 @@
         </select>
         </div>
     </div>
-    <div style="color: red">
+    <!-- <div style="color: red">
            备注:发生方向和放空暂时未启用,不需要填写。
-    </div>
+    </div> -->
 <!-- </div> -->
 <!-- <div class="form-group" style="margin:0px;">
     <div class="form-group col-xs-5">
@@ -405,6 +408,9 @@ function setRecordUserID(usersid) {
                                     });
                                 } else {
                                     data.isApply = $("#isApply").val();
+                                    if(data.isApply == 1){
+                                          data.isComplete = 1;
+                                    }
                                     data.id = is_save.split("_")[1];
                                     console.log(data);
                                     post_common_service('q/record/update', data, function(redata) {

+ 16 - 0
VisualInspection/view/statistics/comprehensive_overview.html

@@ -0,0 +1,16 @@
+<!-- <script src="/js/lib/echarts/build/dist/echarts.js"></script>
+<script src="/js/statistics/common_statistic.js?__inline"></script> -->
+<!-- <script src="/js/statistics/total_company_statistics.js"></script> -->
+<!-- <link rel="stylesheet" type="text/css" href="/css/statistics/total_company_statistics.css"> -->
+<div class="container-fluid statistic-panel">
+    <div class="row">
+    </div>
+    <iframe src="http://localhost:8080/view/statistics/total_company_statistics.html?ctype=1" ></iframe> 
+    <link id="addrecord" rel="import" href="http://localhost:8080/view/statistics/total_company_statistics.html?ctype=1">
+    
+</div>
+<script>
+    $(document).ready(function() {
+
+    });
+</script>

+ 5 - 1
VisualInspection/view/statistics/total_company_statistics.html

@@ -23,6 +23,10 @@
             <!--</select>-->
             <input id="month_date" class="form-control form-date" type="text" placeholder="请选择" style="height:30px;">
         </div>
+        <div class="col-sm-2" style="display: none">  <select  class="form-control form-date" id="data_type" style="height: 30px;">
+            <option value="0">温馨服务</option>
+            <option value="1">全部问题</option>
+     </select></div>
         <div class="col-sm-2"><button class="btn btn-info2 col-sm-6 query-company">查询</button></div>
     </div>
     <!-- <div class="line-1"></div> -->
@@ -74,7 +78,7 @@
     <div class="row">
         <div class="col-sm-6">
             <div class="border-no">
-                <div class="title-div"><span>温馨服务检查问题类别占比</span></div>
+                <div class="title-div"><span>检查问题类别占比</span></div>
                 <div id="server-check-type" style="width:100%;height:400px;float:left;"></div>
             </div>
         </div>

+ 1 - 1
VisualInspection/view/user/userManager.html

@@ -33,7 +33,7 @@
                     <div class="panel-heading">
                         <span class="title">人员详情</span>
                         <div class="panel-actions">
-                            <button type="button" class="btn" id="user_add" data-toggle="tooltip" title="添加人员"><i class="icon-plus"></i></button>
+                            <button style="display: none" type="button" class="btn" id="user_add" data-toggle="tooltip" title="添加人员"><i class="icon-plus"></i></button>
                         </div>
                     </div>
                     <div class="panel-body no-padding" style="padding:0">

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

@@ -7,6 +7,7 @@ import com.xintong.visualinspection.bean.*;
 import com.xintong.visualinspection.pojo.StatisiticPojo;
 import com.xintong.visualinspection.pojo.StatisticExUser;
 import com.xintong.visualinspection.pojo.UserRankingData;
+import com.xintong.visualinspection.service.CommonService;
 import com.xintong.visualinspection.util.AuthorUtil;
 import com.xintong.visualinspection.util.CacheUtil;
 import com.xintong.visualinspection.util.Constants;
@@ -30,6 +31,9 @@ public class StatisticsController extends BaseController {
 
 	@Autowired
 	private StatisticsService statisticsService;
+
+	@Autowired
+	private CommonService commonService;
     
     /**
      * 温馨服务考核情况反馈表(所有员工排名)
@@ -154,11 +158,15 @@ public class StatisticsController extends BaseController {
      */
     @RequestMapping(value = "/operation/manage/integration")
     public String getOperationInfo(@RequestBody StatisticsBean obj){
+		Map<Long, Organ> deptMap = commonService.getDeptMap();
+		List<FeeStation> rmList = commonService.getAllDeptByLayer("RM");
     	List<StatisticsBean> lists= statisticsService.getOperationInfo(obj);
     	int totalMan=0,totalCompanyNum=0,totalCompanyScore=0,totalThirdNum=0,
     			totalThirdScore=0,totalSpecialNum=0,totalSpecialScore=0,totalOnsiteNum=0,
     			totalOnsiteScore=0,totalDataNum=0,totalDataScore=0;
     	for(StatisticsBean bean:lists){
+    		bean.setParent_dept_id(deptMap.get(bean.getDept_id().longValue()).getParentid().longValue());
+    		bean.setParent_name(deptMap.get(bean.getParent_dept_id()).getOrganname());
     		totalMan+=bean.getPeople_num();
     		totalCompanyNum += bean.getCompany_check_num();
     		totalCompanyScore += bean.getCompany_total_score();
@@ -173,6 +181,7 @@ public class StatisticsController extends BaseController {
     	}
     	Map<String,Object> resultMap = new HashMap<String,Object>();
     	resultMap.put("list", lists);
+		resultMap.put("rmlist", rmList);
     	resultMap.put("totalMan", totalMan);
     	resultMap.put("totalCompanyNum", totalCompanyNum);
     	resultMap.put("totalCompanyScore", totalCompanyScore);

+ 51 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/gettway/CarTaskController.java

@@ -0,0 +1,51 @@
+package com.xintong.visualinspection.controller.gettway;
+
+import com.alibaba.dubbo.config.annotation.Reference;
+import com.xintong.system.err.BusinessException;
+import com.xintong.visualinspection.bean.CarTask;
+import com.xintong.visualinspection.controller.BaseController;
+import com.xintong.visualinspection.service.CarTaskService;
+import com.xintong.visualinspection.util.CacheUtil;
+import org.junit.Test;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+@RequestMapping("/c/task")
+public class CarTaskController extends BaseController {
+    @Reference(version = "1.0.0",
+            application = "${dubbo.application.id}",
+            registry = "${dubbo.registry.address}")
+    private CarTaskService carTaskService;
+
+    @RequestMapping(value = "/add")
+    public String addtask(HttpServletRequest request, @RequestBody CarTask carTask) {
+        carTask.setStart_addr("盐城");
+        carTask.setEnd_addr("南京");
+        try {
+            carTaskService.insert(carTask);
+        } catch (Exception e) {
+            throw new BusinessException(21501);
+        }
+
+        return super.returnSuccessResult("添加成功", null);
+    }
+
+    @RequestMapping(value = "/update")
+    public String updatetask(HttpServletRequest request, @RequestBody CarTask carTask) {
+        carTask.setStart_addr("南京");
+        carTask.setEnd_addr("盐城");
+        try {
+            carTaskService.update(carTask);
+        } catch (Exception e) {
+            throw new BusinessException(21501);
+        }
+
+        return super.returnSuccessResult("添加成功", null);
+    }
+}

+ 6 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/gettway/RecordController_Q.java

@@ -116,4 +116,10 @@ public class RecordController_Q extends BaseController {
         Object ss = recordService_q.getRecord(qzdRecord);
         return super.returnSuccessResult(ss);
     }
+
+    @RequestMapping(value = "/apply")
+    public String getApply(HttpServletRequest request,@RequestBody QzdRecord qzdRecord) {
+       List<QzdRecord> qzdRecordList = recordService_q.getApplyReason(qzdRecord);
+        return super.returnSuccessResult(qzdRecordList);
+    }
 }

+ 7 - 33
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/gettway/StatisticsController_Q.java

@@ -18,10 +18,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * @author huangcheng
@@ -120,41 +117,18 @@ public class StatisticsController_Q extends BaseController {
         List<WreckerStatisticsBO> list = statisticsDao.selectWreckerStaff(wobj);
         FwqCheckOther fwqCheckOther = new FwqCheckOther();
         List<User> userlist = new ArrayList<User>();
-        for(WreckerStatisticsBO w:list){
-            FwqStatisticsBean bean = new FwqStatisticsBean();
-            User user = new User();
-            user.setOrganname(w.getDept_name());
-            user.setPosition_name(w.getPosition_name());
-            user.setTruename(w.getName());
-            user.setId(w.getUser_id().intValue());
-            if(w.getWork_no() != null){
-                user.setWorkno(w.getWork_no().toString());
-            }
-            bean.setUser(user);
-            userlist.add(user);
-        }
         Map<Long, FwqStatisticsBean> scoreMap = statisticsService_f.getQWzdCheckedItemScoreInfo(userlist,obj);
         int totalcheckedCount = 0,
                 totalAll = 0;
         List<FwqStatisticsBean> scorelist = new ArrayList<FwqStatisticsBean>(scoreMap.values());
        // scorelist.add(scoreMap);
         Map<String, Integer> scoreTypeMap = new HashMap<>();
-//        for (FwqStatisticsBean bean : lists) {
-//            totalcheckedCount += bean.getChecked_num();
-//            totalAll += bean.getAll_check_score();
-//            List<String> names = bean.getChecked_socre_name();
-//            List<Integer> scores = bean.getChecked_score();
-//            for (int i = 0; i < names.size(); i++) {
-//                Integer score = scoreTypeMap.get(names.get(i));
-//                if (score == null) {
-//                    score = 0;
-//                }
-//                score += scores.get(i);
-//                if (names.get(i) != null) {
-//                    scoreTypeMap.put(names.get(i), score);
-//                }
-//            }
-//        }
+        scorelist.sort(new Comparator<FwqStatisticsBean>() {
+            @Override
+            public int compare(FwqStatisticsBean o1, FwqStatisticsBean o2) {
+                return o1.getId() > o2.getId() ? 1 : -1;
+            }
+        });
         Map<String, Object> resultMap = new HashMap<>();
         resultMap.put("list", scorelist);
         resultMap.put("totalcheckedCount", totalcheckedCount);

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

@@ -7,7 +7,6 @@
         LEFT join (select starttime,endtime from check_task_period ) t_p on DELETE_TIME &gt;= starttime and DELETE_TIME
         &lt; endtime
         WHERE STATUS =-1 and DELETE_TIME &gt;= t_p.starttime and DELETE_TIME &lt; t_p.endtime ) deleted_user
-        WHERE STATUS =-1 and DELETE_TIME &gt;= t_p.starttime and DELETE_TIME &lt; t_p.endtime ) deleted_user
     </sql>
 
     <sql id="taskexclouddeleteUser">

+ 22 - 21
Visuallnspection_fjq/.idea/workspace.xml

@@ -41,7 +41,7 @@
             <path>
               <item name="Visuallnspection_fjq" type="b2602c69:ProjectViewProjectNode" />
               <item name="Visuallnspection_fjq" type="462c0819:PsiDirectoryNode" />
-              <item name="visuallnspection_fjq" type="462c0819:PsiDirectoryNode" />
+              <item name="visuallnspectioninteface" type="462c0819:PsiDirectoryNode" />
             </path>
           </expand>
           <select />
@@ -123,42 +123,43 @@
       <option name="presentableId" value="Default" />
       <updated>1533785796330</updated>
       <workItem from="1533785798416" duration="20000" />
+      <workItem from="1535368355504" duration="70000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="20000" />
+    <option name="totallyTimeSpent" value="90000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="-7" y="-7" width="1550" height="838" extended-state="6" />
     <layout>
-      <window_info anchor="right" id="Palette" />
+      <window_info anchor="right" id="Palette" order="3" />
       <window_info anchor="bottom" id="TODO" order="6" />
-      <window_info anchor="right" id="Palette&#9;" />
-      <window_info id="Image Layers" />
-      <window_info anchor="right" id="Capture Analysis" />
-      <window_info anchor="bottom" id="Event Log" side_tool="true" />
-      <window_info anchor="right" id="Maven Projects" />
-      <window_info anchor="bottom" id="Database Changes" show_stripe_button="false" />
+      <window_info anchor="right" id="Palette&#9;" order="3" />
+      <window_info id="Image Layers" order="2" />
+      <window_info anchor="right" id="Capture Analysis" order="3" />
+      <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
+      <window_info anchor="right" id="Maven Projects" order="3" />
+      <window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
       <window_info anchor="bottom" id="Run" order="2" />
-      <window_info anchor="bottom" id="Version Control" show_stripe_button="false" />
-      <window_info anchor="bottom" id="Terminal" />
-      <window_info id="Capture Tool" />
-      <window_info id="Designer" />
-      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.13997395" />
-      <window_info anchor="right" id="Database" />
+      <window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
+      <window_info anchor="bottom" id="Terminal" order="7" />
+      <window_info id="Capture Tool" order="2" />
+      <window_info id="Designer" order="2" />
+      <window_info active="true" content_ui="combo" id="Project" order="0" visible="true" weight="0.2421875" />
+      <window_info anchor="right" id="Database" order="3" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
-      <window_info id="UI Designer" />
-      <window_info anchor="right" id="Theme Preview" />
+      <window_info id="UI Designer" order="2" />
+      <window_info anchor="right" id="Theme Preview" order="3" />
       <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
-      <window_info id="Favorites" side_tool="true" />
-      <window_info anchor="bottom" id="Find" order="1" />
-      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
-      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info id="Favorites" order="2" side_tool="true" />
       <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
+      <window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
+      <window_info anchor="bottom" id="Find" order="1" />
     </layout>
   </component>
   <component name="TypeScriptGeneratedFilesManager">

+ 1 - 0
Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/dao/FwqTaskDao.java

@@ -19,4 +19,5 @@ public interface FwqTaskDao {
     public void insertStatus(TaskStatus taskStatus);
     public void insertStatusBatch(List<TaskStatus> taskStatusList);
     public List<TaskStatus> getTaskStatusList(Long id);
+    public Integer getCount(FwqCheckTask fwqCheckTask);
 }

+ 8 - 0
Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/mapper/master/TaskMapper.xml

@@ -131,6 +131,14 @@
         </foreach>
     </insert>
 
+    <select id="getCount" parameterType="com.xintong.visualinspection.bean.FwqCheckTask" resultType="Integer">
+           select  count(id)  from  check_task
+        where  1=1
+        <if test="start_time != null">and start_time = #{start_time}</if>
+        <if test="end_time != null">and end_time = #{end_time}</if>
+        <if test="area_id != null">AND area_id = #{area_id}</if>
+
+    </select>
 </mapper>
 
 

+ 4 - 1
Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/service/impl/TaskServiceImpl.java

@@ -168,7 +168,10 @@ public class TaskServiceImpl implements TaskService_F {
                     if (p != null && p.getEndtime().getTime() > s.getStart_time().getTime()) {
                         t.setPeriod_id(p.getId());
                     }
-                    fwqTaskDao.addtask(t);
+                    Integer countTask = fwqTaskDao.getCount(t);
+                    if(countTask == 0){
+                        fwqTaskDao.addtask(t);
+                    }
                     TaskStatus taskStatus = new TaskStatus();
                     taskStatus.setCheck_status(t.getCheck_status());
                     taskStatus.setCheck_status_name((commonService.getCodeMap().get("task_status_" + t.getCheck_status())).getCode_name());

BIN
Visuallnspection_fjq/visuallnspection_fjq/服务区现场稽查.xls


+ 42 - 0
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/CarTask.java

@@ -0,0 +1,42 @@
+package com.xintong.visualinspection.bean;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class CarTask implements Serializable {
+    private Integer id;
+
+    private String customer;
+
+    private String car_number;
+
+    private Integer driver;
+
+    //出车时间
+    private Date start_time;
+    //结束时间
+    private Date end_time;
+
+    private String start_addr;
+
+    private String end_addr;
+
+    private Integer mileage;
+
+    private Integer dept;
+
+    private Integer train_safe;
+
+    private Integer service_quality;
+
+    private Integer car_capacity;
+
+    private Integer travel_arrangements;
+
+    private String advice;
+}

+ 4 - 0
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/FwqCheckOther.java

@@ -64,4 +64,8 @@ public class FwqCheckOther implements Serializable {
 
     private int parent_id;
 
+    private int monitor;
+
+    private int vice_monitor;
+
 }

+ 4 - 0
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/FwqStatisticsBean.java

@@ -91,6 +91,10 @@ public class FwqStatisticsBean implements Serializable {
 
     private List<Integer> seq_checked_score = new ArrayList<Integer>();
 
+    private List<Integer> third_checked_score = new ArrayList<Integer>();
+
+    private List<Integer> onsite_checked_score = new ArrayList<Integer>();
+
     private List<Organ> dept_list;
     private List<Integer> checked_score_ids = new ArrayList<Integer>();
 

+ 10 - 0
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/service/CarTaskService.java

@@ -0,0 +1,10 @@
+package com.xintong.visualinspection.service;
+
+import com.xintong.visualinspection.bean.CarTask;
+
+public interface CarTaskService {
+    public void insert(CarTask carTask);
+    public void update(CarTask checkAppeal);
+    public void delete(Integer id);
+    public CarTask getAll(CarTask carTask);
+}

+ 3 - 0
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/service/RecordService_Q.java

@@ -2,10 +2,13 @@ package com.xintong.visualinspection.service;
 
 import com.xintong.visualinspection.bean.QzdRecord;
 
+import java.util.List;
+
 public interface RecordService_Q {
     public Object getAllRecord(Integer page, Integer size,QzdRecord qzdRecord);
     public void addRecord(QzdRecord qzdRecord);
     public void updateRecord(QzdRecord qzdRecord);
     public QzdRecord getRecord(QzdRecord qzdRecord);
     public void deleteRecord(QzdRecord qzdRecord);
+    public List<QzdRecord> getApplyReason(QzdRecord qzdRecord);
 }

+ 20 - 0
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/controller/FileExcelController_Q.java

@@ -102,4 +102,24 @@ public class FileExcelController_Q extends BaseController {
         return super.returnSuccessResult(null);
     }
 
+    /**
+     * 服务区-营运管理综合检查情况统计导出
+     * @param req
+     * @param resp
+     * @param start_date
+     * @param end_date
+     * @return
+     */
+    @RequestMapping(value = "/operation/qzd/check",method=RequestMethod.GET)
+    public String getOperationCheck(HttpServletRequest req, HttpServletResponse resp,
+                                   @RequestParam String start_date, @RequestParam String end_date){
+        FwqStatisticsBean obj = new FwqStatisticsBean();
+        Date start = DateUtil.strParseDate(start_date);
+        Date end = DateUtil.strParseDate(end_date);
+        obj.setStart_date(start);
+        obj.setEnd_date(end);
+        statisticsService_f.getQzdCheck(obj, req, resp);
+        return super.returnSuccessResult(null);
+    }
+
 }

+ 11 - 0
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/dao/CarTaskDao.java

@@ -0,0 +1,11 @@
+package com.xintong.visualinspection.visuallnspection_qzd.dao;
+
+import com.xintong.visualinspection.bean.CarTask;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CarTaskDao {
+    public void insert(CarTask carTask);
+    public void update(CarTask carTask);
+    public void delete(Integer id);
+}

+ 1 - 0
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/dao/QzdRecordDao.java

@@ -18,4 +18,5 @@ public interface QzdRecordDao {
     public List<QzdRecord> getall(QzdRecord qzdRecord);
     public QzdRecord getone(QzdRecord qzdRecord);
     public void deleteRecord(QzdRecord qzdRecord);
+    public List<QzdRecord> getApplyReason(QzdRecord qzdRecord);
 }

+ 2 - 0
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/dao/QzdStatisticsDao.java

@@ -59,4 +59,6 @@ public interface QzdStatisticsDao {
     List<CheckNum> selectQzdCheckNum(FwqStatisticsBean obj);
 
     Integer selectQzdApplyNum(FwqStatisticsBean obj);
+
+    Integer getDeptCount(FwqStatisticsBean obj);
 }

+ 46 - 0
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/CarTaskMapper.xml

@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xintong.visualinspection.visuallnspection_qzd.dao.CarTaskDao">
+    <insert id="insert" parameterType="com.xintong.visualinspection.bean.CarTask" >
+        INSERT INTO
+           car_task
+        (customer,car_number,driver,start_time,end_time,start_addr,end_addr,mileage,dept,train_safe,service_quality,car_capacity,travel_arrangements,advice)
+        VALUES
+        (#{customer}, #{car_number},#{driver},#{start_time},#{end_time},#{start_addr},#{end_addr},#{mileage},#{dept},#{train_safe},#{service_quality},#{car_capacity},#{travel_arrangements},#{advice})
+    </insert>
+
+    <update id="update" parameterType="com.xintong.visualinspection.bean.CarTask">
+        update
+        car_task
+        set
+        <if test="customer != null">customer = #{customer},</if>
+        <if test="car_number != null">car_number = #{car_number},</if>
+        <if test="driver != null">driver = #{driver},</if>
+        <if test="start_time != null">start_time = #{start_time},</if>
+        <if test="end_time != null">end_time = #{end_time},</if>
+        <if test="start_addr != null">start_addr = #{start_addr},</if>
+        <if test="end_addr != null">end_addr = #{end_addr},</if>
+        <if test="mileage != null">mileage = #{mileage},</if>
+        <if test="dept != null">dept = #{dept},</if>
+        <if test="train_safe != null">train_safe = #{train_safe},</if>
+        <if test="service_quality != null">service_quality = #{service_quality},</if>
+        <if test="car_capacity != null">car_capacity = #{car_capacity},</if>
+        <if test="travel_arrangements != null">travel_arrangements = #{travel_arrangements},</if>
+        <if test="advice != null">advice = #{advice},</if>
+        id = #{id}
+        WHERE
+        id = #{id}
+    </update>
+
+    <select id="getAll" parameterType="com.xintong.visualinspection.bean.CarTask" resultType="com.xintong.visualinspection.bean.CarTask">
+        select
+          *
+        from
+         car_task
+        where
+          1=1
+        <if test="startTime != null and endTime != null">and start_time between #{startTime} and #{endTime}</if>
+        <if test="driver != null">and driver = #{driver}</if>
+        <if test="car_number != null">car_number = #{car_number}</if>
+    </select>
+</mapper>

+ 5 - 3
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/CheckOtherMapper.xml

@@ -21,9 +21,9 @@
     <insert id="addCheckOther" parameterType="com.xintong.visualinspection.bean.FwqCheckOther">
         INSERT INTO
         other_check
-        (dept_id,check_person_id,check_score,check_item_id,remark,check_type,file_ids,check_num,check_time,check_time_name,update_time,wrecker_check_type, special_check_type)
+        (dept_id,check_person_id,check_score,check_item_id,remark,check_type,file_ids,check_num,check_time,check_time_name,update_time,wrecker_check_type, special_check_type,monitor,vice_monitor)
         VALUES
-        (#{dept_id},#{check_person_id},#{check_score},#{check_item_id},#{remark},#{check_type},#{file_ids},#{check_num},#{check_time},#{check_time_name},now(),#{wrecker_check_type},#{special_check_type})
+        (#{dept_id},#{check_person_id},#{check_score},#{check_item_id},#{remark},#{check_type},#{file_ids},#{check_num},#{check_time},#{check_time_name},now(),#{wrecker_check_type},#{special_check_type},#{monitor},#{vice_monitor})
     </insert>
 
     <delete id="deleteCheckOther" parameterType="java.lang.Long" >
@@ -47,13 +47,15 @@
         <if test="check_num != null">,check_num = #{check_num}</if>
         <if test="wrecker_check_type != null">,wrecker_check_type = #{wrecker_check_type}</if>
         <if test="special_check_type != null">,special_check_type = #{special_check_type}</if>
+        <if test="monitor != null">,monitor = #{monitor}</if>
+        <if test="vice_monitor != null">,vice_monitor = #{vice_monitor}</if>
         WHERE
         id = #{id}
     </update>
 
     <select id="selectCheckById" parameterType="java.lang.Long" resultType="com.xintong.visualinspection.bean.FwqCheckOther" >
         SELECT o.id,o.dept_id,o.check_person_id,o.check_score,o.check_item_id,o.remark,o.check_type,o.file_ids,o.check_num,o.check_time,
-        o.check_time_name,o.delete_flag,o.update_time, o.wrecker_check_type,o.special_check_type
+        o.check_time_name,o.delete_flag,o.update_time, o.wrecker_check_type,o.special_check_type,o.monitor,o.vice_monitor
         FROM other_check o
         WHERE o.id = #{id}
     </select>

+ 12 - 1
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/RecordMapper.xml

@@ -93,6 +93,7 @@
   <if test="dept != null">and t.dept = #{dept}</if>
   <if test="startTime != null and endTime != null">and t.received_time between #{startTime} and #{endTime}</if>
   <if test="isComplete != null">and t.isComplete = #{isComplete}</if>
+        <if test="isApply != null">and t.isApply = #{isApply}</if>
         ORDER BY t.received_time DESC
     </select>
 
@@ -100,7 +101,17 @@
             delete  from  record_info where id = #{id}
     </delete>
 
-
+    <select id="getApplyReason" parameterType="com.xintong.visualinspection.bean.QzdRecord"
+            resultType="com.xintong.visualinspection.bean.QzdRecord">
+       SELECT
+            *
+        FROM
+            record_info
+        WHERE
+            remarks IS NOT NULL
+        <if test="dept != null">and dept = #{dept}</if>
+        <if test="startTime != null and endTime != null">and received_time between #{startTime} and #{endTime}</if>
+    </select>
 </mapper>
 
 

+ 27 - 1
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/mapper/master/StatisticsMapper.xml

@@ -517,7 +517,7 @@
         COUNT(r.pics is not null or r.pics != "")	 as picsNum
         FROM
         record_info r
-        LEFT JOIN check_task t ON r.id = t.record_id
+        LEFT JOIN view_check_task t ON r.id = t.record_id
         WHERE
         r.isApply = 0
         <if test="start_date != null and end_date != null">and r.received_time between #{start_date} and #{end_date}</if>
@@ -541,6 +541,32 @@
 
     </select>
 
+    <select id="getDeptCount"
+            parameterType="com.xintong.visualinspection.bean.FwqStatisticsBean"
+            resultType="Integer">
+        SELECT
+        COUNT(user_id) as people
+        FROM
+        wg_user
+        WHERE
+        1=1
+        <if test="dept_id != null">and dept_id = #{dept_id}</if>
+    </select>
+
+    <!--<select id="selectQzdApplyNum"-->
+            <!--parameterType="com.xintong.visualinspection.bean.FwqStatisticsBean"-->
+            <!--resultType="Integer">-->
+        <!--SELECT-->
+        <!--COUNT(r.id) as isApplyNunm-->
+        <!--FROM-->
+        <!--record_info r-->
+        <!--WHERE-->
+        <!--r.isApply = 1-->
+        <!--<if test="start_date != null and end_date != null">and r.received_time between #{start_date} and #{end_date}</if>-->
+        <!--AND r.dept = #{dept_id}-->
+
+    <!--</select>-->
+
 </mapper>
 
 

+ 2 - 0
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/StatisticsService_F.java

@@ -13,4 +13,6 @@ public interface StatisticsService_F {
     void getDeptStatisticExcel(FwqDeptStatistic fwqDeptStatistic, HttpServletRequest req, HttpServletResponse resp);
 
     void getFeeStationCheckItemScore(FwqStatisticsBean obj, HttpServletRequest req, HttpServletResponse resp);
+
+    void getQzdCheck(FwqStatisticsBean obj, HttpServletRequest req, HttpServletResponse resp);
 }

+ 35 - 0
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/impl/CarTaskServiceImpl.java

@@ -0,0 +1,35 @@
+package com.xintong.visualinspection.visuallnspection_qzd.service.impl;
+
+import com.xintong.visualinspection.bean.CarTask;
+import com.xintong.visualinspection.service.CarTaskService;
+import com.xintong.visualinspection.visuallnspection_qzd.dao.CarTaskDao;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+@com.alibaba.dubbo.config.annotation.Service(
+        version = "1.0.0",
+        application = "${dubbo.application.id}",
+        protocol = "${dubbo.protocol.id}",
+        registry = "${dubbo.registry.id}"
+)
+public class CarTaskServiceImpl implements CarTaskService {
+
+    private static final org.slf4j.Logger logger = LoggerFactory.getLogger(RecordServiceImpl.class);
+
+    @Autowired
+    private CarTaskDao carTaskDao;
+
+    @Override
+    public void insert(CarTask carTask){
+        carTaskDao.insert(carTask);
+    }
+    @Override
+    public void update(CarTask carTask){
+        carTaskDao.update(carTask);
+    }
+    @Override
+    public void delete(Integer id){
+        carTaskDao.delete(id);
+    }
+
+}

+ 7 - 0
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/impl/RecordServiceImpl.java

@@ -147,4 +147,11 @@ public class RecordServiceImpl implements RecordService_Q {
         qzdCheckTask.setIs_valid(1);
         qzdTaskDao.deleteByRid(qzdCheckTask);
     }
+
+    @Override
+    public List<QzdRecord> getApplyReason(QzdRecord qzdRecord){
+        List<QzdRecord> qzdRecordList  = qzdRecordDao.getApplyReason(qzdRecord);
+        return qzdRecordList;
+    }
+
 }

+ 30 - 16
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/impl/StatisticsServiceImpl.java

@@ -115,25 +115,36 @@ public class StatisticsServiceImpl implements StatisticsService_Q {
             FwqStatisticsBean value = station.getValue();
             value.setThird_check_num(1);
             value.setOnsite_check_num(1);
-            // 设置总平均扣分
-            if (value.getCompany_check_num() > 0 || value.getThird_check_num() > 0) {
-                avg += (value.getCompany_total_score() + value.getThird_total_score()) / 2.0 / (value.getCompany_check_num() + value.getThird_check_num());
+            int avgNum = 0;
+            if(value.getCheck_t_num() != 0){
+                avgNum =(int)Math.ceil(value.getCompany_check_num()/value.getCheck_t_num());
             }
-            if (value.getOnsite_check_num() > 0) {
-                avg += value.getOnsite_total_score() / 2.0 / value.getOnsite_check_num();
+            value.setChecked_num(avgNum);
+            int checkScore = 0;
+            if(avgNum != 0){
+                checkScore = value.getCompany_total_score()/avgNum;
             }
-            value.setCheck_total_avg(df.format(avg));
+            // 设置总平均扣分
+//            if (value.getCompany_check_num() > 0 || value.getThird_check_num() > 0) {
+//                avg += (value.getCompany_total_score() + value.getThird_total_score()) / 2.0 / (value.getCompany_check_num() + value.getThird_check_num());
+//            }
+//            if (value.getOnsite_check_num() > 0) {
+//                avg += value.getOnsite_total_score() / 2.0 / value.getOnsite_check_num();
+//            }
+            Integer scoreTotal = value.getCompany_total_score()+value.getThird_total_score()+value.getThird_total_score();
+            value.setCheck_total_avg(scoreTotal.toString());
             // 设置平均得分
-            Float score_avg = (1000 - Float.valueOf(df.format(avg)));
-            value.setScore_avg(score_avg.toString());
+            Double a =1000-checkScore*0.4-value.getOnsite_total_score()*0.4-value.getThird_total_score()*0.2;
+            // Float score_avg = 1000 - (float)checkScore*0.4;
+            value.setScore_avg(a.toString());
         }
         List<FwqStatisticsBean> sortList = new ArrayList<>(mapStationInfos.values());
-//        sortList.sort(new Comparator<FwqStatisticsBean>() {
-//            @Override
-//            public int compare(FwqStatisticsBean o1, FwqStatisticsBean o2) {
-//                return o1.compare3To(o2);
-//            }
-//        });
+        sortList.sort(new Comparator<FwqStatisticsBean>() {
+            @Override
+            public int compare(FwqStatisticsBean o1, FwqStatisticsBean o2) {
+                return o1.compare3To(o2);
+            }
+        });
 
         List<FwqStatisticsBean> temp = new ArrayList<>();
         temp.addAll(sortList);
@@ -157,7 +168,7 @@ public class StatisticsServiceImpl implements StatisticsService_Q {
                 FwqStatisticsBean bean = sortList.get(j - 1);
                 if (statisticsBean.compare3To(bean) == 0) {
                     statisticsBean.setCompany_ranking2(bean.getCompany_ranking2());
-                } else {
+                }else{
                     statisticsBean.setCompany_ranking2(j + 1);
                 }
             }
@@ -165,7 +176,7 @@ public class StatisticsServiceImpl implements StatisticsService_Q {
 
         CheckTaskPeriod period = commonService.getCheckTaskPeriod(obj.getStart_date().getTime()+1 * 1000 * 60 * 60, obj.getEnd_date().getTime()+1 * 1000 * 60 * 60);
 
-        if (period != null) {
+        if (period.getId() != null) {
             for (FwqStatisticsBean s : sortList) {
                 FwqDeptStatistic ss = new FwqDeptStatistic();
                 ss.setScore(Double.parseDouble(s.getScore_avg()));
@@ -1203,12 +1214,15 @@ public class StatisticsServiceImpl implements StatisticsService_Q {
         }
         List<User> taskList = fwqStatisticsDao.selectWGCheckNum(obj);
         List<User> recordList = fwqStatisticsDao.selectRecordNum(obj);
+        int peopleNo = 0;
       for(int i =0;i<taskList.size();i++){
           User sta = taskList.get(i);
           FwqStatisticsBean obj2 = new FwqStatisticsBean();
           obj2.setUser(sta);
           obj2.setCheck_t_num(taskList.get(i).getAge());
           obj2.setCheck_s_num(recordList.get(i).getAge());
+          peopleNo++;
+          obj2.setId(peopleNo);
           mapStationInfos.put(Long.valueOf(sta.getId()), obj2);
       }
         List<FwqStatisticsBean> listCheckedScore = fwqStatisticsDao.selectFeeStationCheckedPersonScoreDetail(obj);

+ 270 - 106
Visuallnspection_qzd/src/main/java/com/xintong/visualinspection/visuallnspection_qzd/service/impl/StatisticsService_FImpl.java

@@ -1,12 +1,7 @@
 package com.xintong.visualinspection.visuallnspection_qzd.service.impl;
 
 import com.alibaba.dubbo.config.annotation.Reference;
-import com.xintong.visualinspection.bean.CheckTaskPeriod;
-import com.xintong.visualinspection.bean.FeeStation;
-import com.xintong.visualinspection.bean.FwqDeptStatistic;
-import com.xintong.visualinspection.bean.FwqStatisticsBean;
-import com.xintong.visualinspection.bean.Item;
-import com.xintong.visualinspection.bean.Organ;
+import com.xintong.visualinspection.bean.*;
 import com.xintong.visualinspection.service.CommonService;
 import com.xintong.visualinspection.visuallnspection_qzd.dao.QzdCheckDeptStatisticsDao;
 import com.xintong.visualinspection.visuallnspection_qzd.dao.QzdStatisticsDao;
@@ -61,6 +56,7 @@ public class StatisticsService_FImpl implements StatisticsService_F {
 
     public List<FwqStatisticsBean> getOperationInfo(FwqStatisticsBean obj) {
 
+        // 获得所有服务区数据
         List<FeeStation> saList = commonService.getAllDeptByLayer("WG");
         Map<Long, FwqStatisticsBean> mapStationInfos = new HashMap<>();
         if (obj.getStart_date() != null && obj.getEnd_date() != null) {
@@ -69,8 +65,9 @@ public class StatisticsService_FImpl implements StatisticsService_F {
                 obj.setPeriod_id(p.getId());
             }
         }
-        int sort = 1;
+        int number = 0;
         for (FeeStation sta : saList) {
+            number++;
             FwqStatisticsBean obj2 = new FwqStatisticsBean();
             obj2.setDept_id(Long.valueOf(sta.getDeptid()));
             obj2.setName(sta.getName());
@@ -80,10 +77,10 @@ public class StatisticsService_FImpl implements StatisticsService_F {
             obj3.setStart_date(obj.getStart_date());
             obj3.setEnd_date(obj.getEnd_date());
             obj3.setPeriod_id(obj.getPeriod_id());
+            mapStationInfos.get(Long.valueOf(sta.getDeptid())).setId(number);
             mapStationInfos.get(Long.valueOf(sta.getDeptid())).setCheck_t_num(qzdStatisticsDao.selectDeptChedkpeople(obj3));
             mapStationInfos.get(Long.valueOf(sta.getDeptid())).setOther_check_num(qzdStatisticsDao.selectDeptRecord(obj3));
-            mapStationInfos.get(Long.valueOf(sta.getDeptid())).setId(sort);
-            sort++;
+            mapStationInfos.get(Long.valueOf(sta.getDeptid())).setCheck_s_num(qzdStatisticsDao.getDeptCount(obj3));
         }
 
         // 获取公司检查的某个收费站的受检次数和扣分合计
@@ -117,17 +114,28 @@ public class StatisticsService_FImpl implements StatisticsService_F {
             FwqStatisticsBean value = station.getValue();
             value.setThird_check_num(1);
             value.setOnsite_check_num(1);
-            // 设置总平均扣分
-            if (value.getCompany_check_num() > 0 || value.getThird_check_num() > 0) {
-                avg += (value.getCompany_total_score() + value.getThird_total_score()) / 2.0 / (value.getCompany_check_num() + value.getThird_check_num());
+            int avgNum = 0;
+            if(value.getCheck_t_num() != 0){
+                 avgNum =(int)Math.ceil(value.getCompany_check_num()/value.getCheck_t_num());
             }
-            if (value.getOnsite_check_num() > 0) {
-                avg += value.getOnsite_total_score() / 2.0 / value.getOnsite_check_num();
+            value.setChecked_num(avgNum);
+            int checkScore = 0;
+            if(avgNum != 0){
+                checkScore = value.getCompany_total_score()/avgNum;
             }
-            value.setCheck_total_avg(df.format(avg));
+            // 设置总平均扣分
+//            if (value.getCompany_check_num() > 0 || value.getThird_check_num() > 0) {
+//                avg += (value.getCompany_total_score() + value.getThird_total_score()) / 2.0 / (value.getCompany_check_num() + value.getThird_check_num());
+//            }
+//            if (value.getOnsite_check_num() > 0) {
+//                avg += value.getOnsite_total_score() / 2.0 / value.getOnsite_check_num();
+//            }
+            Integer scoreTotal = value.getCompany_total_score()+value.getThird_total_score()+value.getThird_total_score();
+            value.setCheck_total_avg(scoreTotal.toString());
             // 设置平均得分
-            Float score_avg = (1000 - Float.valueOf(df.format(avg)));
-            value.setScore_avg(score_avg.toString());
+            Double a =1000-checkScore*0.4-value.getOnsite_total_score()*0.4-value.getThird_total_score()*0.2;
+           // Float score_avg = 1000 - (float)checkScore*0.4;
+            value.setScore_avg(a.toString());
         }
         List<FwqStatisticsBean> sortList = new ArrayList<>(mapStationInfos.values());
 //        sortList.sort(new Comparator<FwqStatisticsBean>() {
@@ -167,6 +175,17 @@ public class StatisticsService_FImpl implements StatisticsService_F {
 
         CheckTaskPeriod period = commonService.getCheckTaskPeriod(obj.getStart_date().getTime()+1 * 1000 * 60 * 60, obj.getEnd_date().getTime()+1 * 1000 * 60 * 60);
 
+        if (period != null) {
+            for (FwqStatisticsBean s : sortList) {
+                FwqDeptStatistic ss = new FwqDeptStatistic();
+                ss.setScore(Double.parseDouble(s.getScore_avg()));
+                ss.setIntegral(sortList.size() - s.getCompany_ranking2() + 1);
+                ss.setDept_id(s.getDept_id());
+                ss.setPeriod_id(period.getId());
+                qzdCheckDeptStatisticsDao.saveandupdate(ss);
+            }
+        }
+
         return sortList;
     }
 
@@ -500,104 +519,43 @@ public class StatisticsService_FImpl implements StatisticsService_F {
 
     @Override
     public void getFeeStationCheckItemScore(FwqStatisticsBean obj, HttpServletRequest req, HttpServletResponse resp) {
-        List<FwqStatisticsBean> list = getFeeStationCheckItemScore(obj);
-        int totalcheckedCount = 0, totalAll = 0;
-        float lygScore = 0.00f, ycScore = 0.00f, ntScore = 0.00f;
-        int lygCheckNum = 0, ycCheckNum = 0, ntCheckNum = 0;
-        Map<String, Integer> scoreTypeMap = new HashMap<>();
+       // List<FwqStatisticsBean> list = getFeeStationCheckItemScore(obj);
+        Map<Long, FwqStatisticsBean> scoreMap = getQWzdCheckedItemScoreInfo(obj);
+        List<FwqStatisticsBean> scorelist = new ArrayList<FwqStatisticsBean>(scoreMap.values());
+        scorelist.sort(new Comparator<FwqStatisticsBean>() {
+            @Override
+            public int compare(FwqStatisticsBean o1, FwqStatisticsBean o2) {
+                return o1.getId() > o2.getId() ? 1 : -1;
+            }
+        });
+//        List<User> userList = new ArrayList<User>();
         List<String> itemAll = commonService.getCheckItemName(25L);
+        List<String> itemOnsite = commonService.getCheckItemName(29L);
+        List<String> itemThird = commonService.getCheckItemName(29L);
         Map<Long, Organ> deptMap = commonService.getDeptMap();
         // 处理数据
-        for (FwqStatisticsBean st : list) {
-            // id值设置 seq_checked_score
-            // 平均值
-            st.setCheck_score_avg(
-                    (st.getChecked_num() != 0) ? st.getAll_check_score() / (st.getChecked_num() + 0.00f) : 0.00f);
+        Map<String, Object> map = new HashMap<>();
+        for(FwqStatisticsBean bean : scorelist){
             for (String i : itemAll) {
-                st.getSeq_checked_score().add(getItemScore2(st, i));
-            }
-            st.setParent_dept_id(deptMap.get(st.getDept_id()).getParentid().longValue());
-            totalcheckedCount += st.getChecked_num();
-            totalAll += st.getAll_check_score();
-            if (st.getParent_dept_id() == 30) {
-                lygScore += st.getAll_check_score();
-                lygCheckNum += st.getChecked_num();
-            }
-            if (st.getParent_dept_id() == 31) {
-                ycScore += st.getAll_check_score();
-                ycCheckNum += st.getChecked_num();
-            }
-            if (st.getParent_dept_id() == 32) {
-                ntScore += st.getAll_check_score();
-                ntCheckNum += st.getChecked_num();
-            }
-            st.setCheck_total_avg("");
-            st.setParent_name("");
-            List<String> names = st.getChecked_socre_name();
-            List<Integer> scores = st.getChecked_score();
-            for (int j = 0; j < names.size(); j++) {
-                Integer score = scoreTypeMap.get(names.get(j));
-                if (score == null) {
-                    score = 0;
-                }
-                score += scores.get(j);
-                scoreTypeMap.put(names.get(j), score);
-            }
-        }
-        boolean lyg = false, yc = false, nt = false;
-        float lygTemp = 0.00f, ycTemp = 0.00f, ntTemp = 0.00f;
-        for (int i = 0; i < list.size(); i++) {
-            if (list.get(i).getParent_dept_id() == 30 && !lyg) {
-                list.get(i).setParent_name(deptMap.get(deptMap.get(list.get(i).getDept_id()).getParentid().longValue()).getOrganname());
-                list.get(i).setCheck_total_avg(String.format("%.2f", lygCheckNum != 0 ? lygScore / (lygCheckNum + 0.00f) : 0.00));
-                lygTemp = lygCheckNum != 0 ? lygScore / (lygCheckNum + 0.00f) : 0.00f;
-                lyg = true;
-            } else if (list.get(i).getParent_dept_id() == 31 && !yc) {
-                list.get(i).setParent_name(deptMap.get(deptMap.get(list.get(i).getDept_id()).getParentid().longValue()).getOrganname());
-                list.get(i).setCheck_total_avg(String.format("%.2f", ycCheckNum != 0 ? ycScore / (ycCheckNum + 0.00f) : 0.00));
-                ycTemp = ycCheckNum != 0 ? ycScore / (ycCheckNum + 0.00f) : 0.00f;
-                yc = true;
-            } else if (list.get(i).getParent_dept_id() == 32 && !nt) {
-                list.get(i).setParent_name(deptMap.get(deptMap.get(list.get(i).getDept_id()).getParentid().longValue()).getOrganname());
-                list.get(i).setCheck_total_avg(String.format("%.2f", ntCheckNum != 0 ? ntScore / (ntCheckNum + 0.00f) : 0.00));
-                ntTemp = ntCheckNum != 0 ? ntScore / (ntCheckNum + 0.00f) : 0.00f;
-                nt = true;
-            }
-        }
-        int lygOrder = 1, ycOrder = 1, ntOrder = 1;
-        for (int i = 0; i < list.size(); i++) {
-            if (!"".equals(list.get(i).getParent_name()) && list.get(i).getParent_dept_id() == 30) {
-                if (lygTemp > ycTemp) {
-                    lygOrder += 1;
-                }
-                if (lygTemp > ntTemp) {
-                    lygOrder += 1;
-                }
-                list.get(i).setFee_station_ranking2(lygOrder);
+                bean.getSeq_checked_score().add(getItemScore2(bean, i));
             }
-            if (!"".equals(list.get(i).getParent_name()) && list.get(i).getParent_dept_id() == 31) {
-                if (ycTemp > lygTemp) {
-                    ycOrder += 1;
-                }
-                if (ycTemp > ntTemp) {
-                    ycOrder += 1;
-                }
-                list.get(i).setFee_station_ranking2(ycOrder);
+            for (String i : itemOnsite) {
+                bean.getOnsite_checked_score().add(getItemScore3(bean, i));
             }
-            if (!"".equals(list.get(i).getParent_name()) && list.get(i).getParent_dept_id() == 32) {
-                if (ntTemp > lygTemp) {
-                    ntOrder += 1;
-                }
-                if (ntTemp > ycTemp) {
-                    ntOrder += 1;
-                }
-                list.get(i).setFee_station_ranking2(ntOrder);
+            for (String i : itemThird) {
+                bean.getThird_checked_score().add(getItemScore4(bean, i));
             }
+            Integer countScore = +bean.getThird_total_score()+ bean.getOnsite_total_score()+bean.getCompany_total_score();
+            bean.setAll_check_score(countScore);
+            int scoreTotal = countScore;
+            float score = (float)scoreTotal;
+            bean.setCheck_score_avg(1000-score/(bean.getCheck_t_num()+2));
+           // int score = (1000-countScore/(bean.getCheck_t_num()+2));
         }
-
-        Map<String, Object> map = new HashMap<>();
-        map.put("list", list);
+        map.put("list", scorelist);
         map.put("itemList", itemAll);
+        map.put("itemThird", itemThird);
+        map.put("itemOnsite", itemOnsite);
         exportExcel("温馨服务检查情况统计表", "fwq_checked_item_info", map, resp);
     }
 
@@ -610,6 +568,7 @@ public class StatisticsService_FImpl implements StatisticsService_F {
                 // context.putVar("list", map.get("list"));
                 // context.putVar("totalMan", map.get("totalMan"));
                 for (String key : map.keySet()) {
+                    System.out.println(key);
                     context.putVar(key, map.get(key));
                 }
                 JxlsHelper.getInstance().processTemplate(is, os, context);
@@ -658,4 +617,209 @@ public class StatisticsService_FImpl implements StatisticsService_F {
         }
         return 0;
     }
+
+    private Integer getItemScore3(FwqStatisticsBean obj, String name) {
+        List<String> names = obj.getOnsite_socre_name();
+        List<Integer> scores = obj.getOnsite_score();
+        for (int i = 0; i < names.size(); i++) {
+            if (names.get(i) == null) {
+                continue;
+            }
+            if (names.get(i).contains(name)) {
+                return scores.get(i);
+            }
+        }
+        return 0;
+    }
+
+    private Integer getItemScore4(FwqStatisticsBean obj, String name) {
+        List<String> names = obj.getThird_socre_name();
+        List<Integer> scores = obj.getThird_score();
+        for (int i = 0; i < names.size(); i++) {
+            if (names.get(i) == null) {
+                continue;
+            }
+            if (names.get(i).contains(name)) {
+                return scores.get(i);
+            }
+        }
+        return 0;
+    }
+
+    public void getQzdCheck(FwqStatisticsBean obj, HttpServletRequest req, HttpServletResponse resp){
+        List<CheckNum> lists = selectQzdCheckNum(obj);
+        Map<String, Object> map = new HashMap<>(1);
+        map.put("list", lists);
+        exportExcel("运营管理综合检查情况统计表", "qzd_check_statistic", map, resp);
+    }
+
+    public List<CheckNum> selectQzdCheckNum(FwqStatisticsBean obj){
+        List<CheckNum> objList = qzdStatisticsDao.selectQzdCheckNum(obj);
+        Map<Long, Item> itemMap = commonService.getItemMap();
+        Map<Long, Organ> deptMap = commonService.getDeptMap();
+        int i = 0;
+        for (CheckNum sta : objList) {
+            obj.setDept_id(sta.getDept().longValue());
+            sta.setDeptName(deptMap.get(sta.getDept().longValue()).getOrganname());
+            i++;
+            sta.setDept(i);
+            sta.setIsApplyNunm(qzdStatisticsDao.selectQzdApplyNum(obj));
+        }
+        return objList;
+    }
+
+    public  Map<Long, FwqStatisticsBean> getQWzdCheckedItemScoreInfo(FwqStatisticsBean obj){
+        Map<Long, Item> itemMap = commonService.getItemMap();
+        Map<Long, FwqStatisticsBean> mapStationInfos = new HashMap<>();
+//        for (User sta : userlist) {
+//            FwqStatisticsBean obj2 = new FwqStatisticsBean();
+//           obj2.setUser(sta);
+//            mapStationInfos.put(Long.valueOf(sta.getId()), obj2);
+//        }
+        if (obj.getStart_date() != null && obj.getEnd_date() != null) {
+            CheckTaskPeriod p = commonService.getCheckTaskPeriod(obj.getStart_date().getTime() + 1 * 1000 * 60 * 60, obj.getEnd_date().getTime() + 1 * 1000 * 60 * 60);
+            if (p != null) {
+                obj.setPeriod_id(p.getId());
+            }
+        }
+        List<User> taskList = qzdStatisticsDao.selectWGCheckNum(obj);
+        List<User> recordList = qzdStatisticsDao.selectRecordNum(obj);
+        int peopleNo = 0;
+        for(int i =0;i<taskList.size();i++){
+            User sta = taskList.get(i);
+            FwqStatisticsBean obj2 = new FwqStatisticsBean();
+            obj2.setUser(sta);
+            obj2.setCheck_t_num(taskList.get(i).getAge());
+            obj2.setCheck_s_num(recordList.get(i).getAge());
+            peopleNo++;
+            obj2.setId(peopleNo);
+            mapStationInfos.put(Long.valueOf(sta.getId()), obj2);
+        }
+        List<FwqStatisticsBean> listCheckedScore = qzdStatisticsDao.selectFeeStationCheckedPersonScoreDetail(obj);
+        for (FwqStatisticsBean sta : listCheckedScore) {
+            Item item = itemMap.get(sta.getCheck_item_id().longValue());
+            if (item != null) {
+                sta.setItem_id(item.getParent_id().intValue());
+            }
+        }
+        for (int i = 0; i < listCheckedScore.size(); i++) {
+            for (int j = listCheckedScore.size() - 1; j > i; j--) {
+                //此处checkman_id所放为被考核人
+                if (listCheckedScore.get(j).getCheckman_id() != null && listCheckedScore.get(j).getItem_id() != null){
+                    if(listCheckedScore.get(j).getCheckman_id().equals(listCheckedScore.get(i).getCheckman_id())) {
+                        if (listCheckedScore.get(j).getItem_id().equals(listCheckedScore.get(i).getItem_id())) {
+                            listCheckedScore.get(i).setScore(listCheckedScore.get(i).getScore() + listCheckedScore.get(j).getScore());
+                            listCheckedScore.remove(j);
+                        }
+                    }
+                }
+            }
+        }
+
+        for (FwqStatisticsBean sta : listCheckedScore) {
+            if (mapStationInfos.containsKey(Long.valueOf(sta.getCheckman_id()))) {
+                FwqStatisticsBean statis = mapStationInfos.get(Long.valueOf(sta.getCheckman_id()));
+                statis.setAll_check_score(statis.getAll_check_score() + sta.getScore());
+                // 组装扣分类型内容
+                if (itemMap.get(sta.getCheck_item_id().longValue()).getParent_id() != null) {
+                    sta.setId(itemMap.get(sta.getCheck_item_id().longValue()).getParent_id().intValue());
+                    if (itemMap.get(sta.getCheck_item_id().longValue()).getScore() == null) {
+                        sta.setName(itemMap.get(sta.getCheck_item_id().longValue()).getName());
+                    } else {
+                        sta.setName(itemMap.get(itemMap.get(sta.getCheck_item_id().longValue()).getParent_id()).getName());
+                    }
+                }
+                statis.getChecked_socre_name().add(sta.getName());
+                statis.getChecked_score().add(sta.getScore());
+                statis.getChecked_score_ids().add(sta.getId());
+               statis.setCompany_total_score(statis.getCompany_total_score()+sta.getScore());
+            }
+        }
+
+        SimpleDateFormat time=new SimpleDateFormat("yyyy/MM");
+        FwqCheckOther fwqCheckOther = new FwqCheckOther();
+        fwqCheckOther.setCheck_time_name(time.format(obj.getEnd_date().getTime()));
+        fwqCheckOther.setCheck_type(11);
+        List<FwqStatisticsBean> listOnsiteScore = qzdStatisticsDao.selectOtherCheckedPersonScoreDetail(fwqCheckOther);
+        for (FwqStatisticsBean sta : listOnsiteScore) {
+            Item item = itemMap.get(sta.getCheck_item_id().longValue());
+            if (item != null) {
+                sta.setItem_id(item.getParent_id().intValue());
+            }
+        }
+        for (int i = 0; i < listOnsiteScore.size(); i++) {
+            for (int j = listOnsiteScore.size() - 1; j > i; j--) {
+                //此处checkman_id所放为被考核人
+                if (listOnsiteScore.get(j).getCheckman_id() != null && listOnsiteScore.get(j).getItem_id() != null){
+                    if(listOnsiteScore.get(j).getCheckman_id().equals(listOnsiteScore.get(i).getCheckman_id())) {
+                        if (listOnsiteScore.get(j).getItem_id().equals(listOnsiteScore.get(i).getItem_id())) {
+                            listOnsiteScore.get(i).setScore(listOnsiteScore.get(i).getScore() + listOnsiteScore.get(j).getScore());
+                            listOnsiteScore.remove(j);
+                        }
+                    }
+                }
+            }
+        }
+
+        for (FwqStatisticsBean sta : listOnsiteScore) {
+            if (mapStationInfos.containsKey(Long.valueOf(sta.getCheckman_id()))) {
+                FwqStatisticsBean statis = mapStationInfos.get(Long.valueOf(sta.getCheckman_id()));
+                statis.setOnsite_total_score(statis.getOnsite_total_score() + sta.getScore());
+                // 组装扣分类型内容
+                if (itemMap.get(sta.getCheck_item_id().longValue()).getParent_id() != null) {
+                    sta.setId(itemMap.get(sta.getCheck_item_id().longValue()).getParent_id().intValue());
+                    if (itemMap.get(sta.getCheck_item_id().longValue()).getScore() == null) {
+                        sta.setName(itemMap.get(sta.getCheck_item_id().longValue()).getName());
+                    } else {
+                        sta.setName(itemMap.get(itemMap.get(sta.getCheck_item_id().longValue()).getParent_id()).getName());
+                    }
+                }
+                statis.getOnsite_socre_name().add(sta.getName());
+                statis.getOnsite_score().add(sta.getScore());
+                // statis.getChecked_score_ids().add(sta.getId());
+            }
+        }
+        fwqCheckOther.setCheck_type(12);
+        List<FwqStatisticsBean> listThirdScore = qzdStatisticsDao.selectOtherCheckedPersonScoreDetail(fwqCheckOther);
+        for (FwqStatisticsBean sta : listThirdScore) {
+            Item item = itemMap.get(sta.getCheck_item_id().longValue());
+            if (item != null) {
+                sta.setItem_id(item.getParent_id().intValue());
+            }
+        }
+        for (int i = 0; i < listThirdScore.size(); i++) {
+            for (int j = listThirdScore.size() - 1; j > i; j--) {
+                //此处checkman_id所放为被考核人
+                if (listThirdScore.get(j).getCheckman_id() != null && listThirdScore.get(j).getItem_id() != null){
+                    if(listThirdScore.get(j).getCheckman_id().equals(listThirdScore.get(i).getCheckman_id())) {
+                        if (listThirdScore.get(j).getItem_id().equals(listThirdScore.get(i).getItem_id())) {
+                            listThirdScore.get(i).setScore(listThirdScore.get(i).getScore() + listThirdScore.get(j).getScore());
+                            listThirdScore.remove(j);
+                        }
+                    }
+                }
+            }
+        }
+
+        for (FwqStatisticsBean sta : listThirdScore) {
+            if (mapStationInfos.containsKey(Long.valueOf(sta.getCheckman_id()))) {
+                FwqStatisticsBean statis = mapStationInfos.get(Long.valueOf(sta.getCheckman_id()));
+                statis.setThird_total_score(statis.getThird_total_score() + sta.getScore());
+                // 组装扣分类型内容
+                if (itemMap.get(sta.getCheck_item_id().longValue()).getParent_id() != null) {
+                    sta.setId(itemMap.get(sta.getCheck_item_id().longValue()).getParent_id().intValue());
+                    if (itemMap.get(sta.getCheck_item_id().longValue()).getScore() == null) {
+                        sta.setName(itemMap.get(sta.getCheck_item_id().longValue()).getName());
+                    } else {
+                        sta.setName(itemMap.get(itemMap.get(sta.getCheck_item_id().longValue()).getParent_id()).getName());
+                    }
+                }
+                statis.getThird_socre_name().add(sta.getName());
+                statis.getThird_score().add(sta.getScore());
+                // statis.getChecked_score_ids().add(sta.getId());
+            }
+        }
+        return mapStationInfos;
+    }
+
 }

BIN
Visuallnspection_qzd/src/main/resources/fwq_checked_item_info.xls


BIN
Visuallnspection_qzd/src/main/resources/fwq_dept_statistic.xls


BIN
Visuallnspection_qzd/src/main/resources/fwq_operation_info.xls


BIN
Visuallnspection_qzd/src/main/resources/qzd_check_statics_magent.xls


BIN
Visuallnspection_qzd/src/main/resources/qzd_check_statistic.xls


BIN
Visuallnspection_qzd/src/main/resources/qzd_other_check_info_96777.xls


BIN
Visuallnspection_qzd/src/main/resources/qzd_other_check_info_anfang.xls


BIN
Visuallnspection_qzd/src/main/resources/qzd_other_check_info_onsite.xls


BIN
Visuallnspection_qzd/src/main/resources/qzd_other_check_info_other.xls


BIN
Visuallnspection_qzd/src/main/resources/测试.xls