Explorar el Código

服务区任务生成功能

温红权 hace 8 años
padre
commit
e6e86a0a37
Se han modificado 14 ficheros con 507 adiciones y 133 borrados
  1. 131 40
      VisualInspection/css/main.css
  2. 195 73
      VisualInspection/fwq/js/task/add.js
  3. 15 3
      VisualInspection/fwq/view/task/add.html
  4. 22 0
      VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/gettway/TaskController_F.java
  5. 22 6
      VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/CommonServiceImpl.java
  6. 12 0
      Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/service/impl/CheckOtherServiceImpl.java
  7. 49 0
      Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/service/impl/TaskServiceImpl.java
  8. 1 1
      Visuallnspection_fjq/visuallnspectioninteface/install.sh
  9. 2 1
      Visuallnspection_fjq/visuallnspectioninteface/installlocal.sh
  10. 4 3
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/CheckTaskPeriod.java
  11. 27 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/pojo/fwq/CheckAreaData.java
  12. 19 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/pojo/fwq/TaskData_F.java
  13. 5 6
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/service/CommonService.java
  14. 3 0
      Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/service/TaskService_F.java

+ 131 - 40
VisualInspection/css/main.css

@@ -26,12 +26,15 @@ footer p {
     /* border-bottom: 1px; */
     padding: 4px 15px;
 }
-#main_content_title{
+
+#main_content_title {
     border-top: 3px solid #3c8dbc;
 }
+
 .form-group {
     margin-bottom: 5px;
 }
+
 .navbar-header {
     /* box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); */
 }
@@ -66,181 +69,269 @@ footer p {
     overflow: auto;
 }
 
+
 /* #main_panel {
-     overflow: auto; 
+     overflow: auto;
 } */
 
 #main_panel_body {
     overflow: auto;
     background: #ecf0f5;
 }
-a:hover{
+
+a:hover {
     text-decoration: none;
 }
+
 a:focus {
     text-decoration: none;
 }
-#breadcrumb_menu a{
+
+#breadcrumb_menu a {
     font-weight: bold;
-    color:#03b8cf;
+    color: #03b8cf;
 }
-#breadcrumb_menu a:focus{
+
+#breadcrumb_menu a:focus {
     text-decoration: none;
 }
-.btn-info1{
+
+.btn-info1 {
     padding: 5px 5px;
-    color:#03b8cf;
+    color: #03b8cf;
     background-color: #fff;
     border-radius: 10px;
     border-color: #03b8cf;
     text-shadow: none;
 }
+
 .btn-info1:hover {
-    color:#fff;
+    color: #fff;
     background-color: #03b8cf;
     border-color: #03b8cf;
 }
+
 .btn-info1:focus {
-    color:#fff;
+    color: #fff;
     background-color: #03b8cf;
 }
-.btn-info1:visited{
+
+.btn-info1:visited {
     padding: 5px 5px;
-    color:#03b8cf;
+    color: #03b8cf;
     background-color: #fff;
     border-radius: 10px;
     border-color: #03b8cf;
     text-shadow: none;
 }
 
-.btn-info2{
-    color:#fff;
+.btn-info2 {
+    color: #fff;
     background-color: #03b8cf;
     border-radius: 4px;
     border-color: #03b8cf;
     text-shadow: none;
 }
+
 .btn-info2:hover {
-    color:#03b8cf;
+    color: #03b8cf;
     background-color: #fff;
     border-color: #03b8cf;
 }
+
 .btn-info2:focus {
-    color:#03b8cf;
+    color: #03b8cf;
     background-color: #fff;
 }
-.btn-info2:active{
-    color:#fff;
+
+.btn-info2:active {
+    color: #fff;
     background-color: #03b8cf;
     border-radius: 4px;
     border-color: #03b8cf;
 }
-.btn-info3{
-    color:#fff;
+
+.btn-info3 {
+    color: #fff;
     background-color: #38b03f;
     border-radius: 4px;
     border-color: #38b03f;
     text-shadow: none;
 }
+
 .btn-info3:hover {
-    color:#38b03f;
+    color: #38b03f;
     background-color: #fff;
     border-color: #38b03f;
 }
+
 .btn-info3:focus {
-    color:#38b03f;
+    color: #38b03f;
     background-color: #fff;
 }
-.btn-info4{
-    color:#fff;
+
+.btn-info4 {
+    color: #fff;
     background-color: #B71C1C;
     border-radius: 4px;
     border-color: #B71C1C;
     text-shadow: none;
 }
+
 .btn-info4:hover {
-    color:#B71C1C;
+    color: #B71C1C;
     background-color: #fff;
     border-color: #B71C1C;
 }
+
 .btn-info4:focus {
-    color:#B71C1C;
+    color: #B71C1C;
+    background-color: #fff;
+}
+
+.btn-info5 {
+    color: #fff;
+    background-color: #ea644a;
+    border-radius: 4px;
+    border-color: #ea644a;
+    text-shadow: none;
+}
+
+.btn-info5:hover {
+    color: #ea644a;
+    background-color: #fff;
+    border-color: #ea644a;
+}
+
+.btn-info5:focus {
+    color: #ea644a;
     background-color: #fff;
 }
 
-.btn-table{
-    color:#fff;
+.btn-info5:active {
+    color: #fff;
+    background-color: #ea644a;
+    border-radius: 4px;
+    border-color: #ea644a;
+}
+
+.btn-info6 {
+    color: #fff;
+    background-color: #ed980f;
+    border-radius: 4px;
+    border-color: #ed980f;
+    text-shadow: none;
+}
+
+.btn-info6:hover {
+    color: #ed980f;
+    background-color: #fff;
+    border-color: #ed980f;
+}
+
+.btn-info6:focus {
+    color: #ed980f;
+    background-color: #fff;
+}
+
+.btn-info6:active {
+    color: #fff;
+    background-color: #ed980f;
+    border-radius: 4px;
+    border-color: #ed980f;
+}
+
+.btn-table {
+    color: #fff;
     background-color: #2196F3;
     border-radius: 4px;
     border-color: #2196F3;
     text-shadow: none;
     padding: 2px 4px 2px 6px;
 }
+
 .btn-table:hover {
-    color:#2196F3;
+    color: #2196F3;
     background-color: #fff;
     border-color: #2196F3;
 }
+
 .btn-table:focus {
-    color:#2196F3;
+    color: #2196F3;
     background-color: #fff;
 }
 
+
 /* .statistic-panel{
     margin: -15px -15px -30px -15px;
     background-color: #ecf0f5;
 } */
-.datatable{
+
+.datatable {
     background-color: #fff;
     /* padding: 5px; */
 }
+
 #kkpager span.disabled {
     border: 0px;
 }
+
 #kkpager span.curr {
     border: 0px;
 }
-#kkpager a{
+
+#kkpager a {
     border: 0px;
 }
-.container-fluid  .form-control {
+
+.container-fluid .form-control {
     border-color: #d2d6de;
     /* border: none; */
-    box-shadow:none;
+    box-shadow: none;
 }
+
 .table>thead>tr>th {
     vertical-align: bottom;
     background-color: #61707D;
     border-bottom: 0px solid #ddd;
-    color:#fff;
+    color: #fff;
 }
-.table-thead{
+
+.table-thead {
     background-color: #d2d6de;
     border-color: #C7C6C5;
     /* border-bottom: 0px solid #ddd; */
 }
-.table-head  thead tr th{
+
+.table-head thead tr th {
     background-color: #d2d6de;
     border-color: #C7C6C5;
 }
-.calendar-views{
+
+.calendar-views {
     background-color: #fff;
 }
+
 .img-thumbnail {
     padding: 0px;
     border: none;
 }
-.nav-secondary>li.active>a, .nav-secondary>li.active>a:focus, .nav-secondary>li.active>a:hover {
+
+.nav-secondary>li.active>a,
+.nav-secondary>li.active>a:focus,
+.nav-secondary>li.active>a:hover {
     color: #3280fc;
     border-top-color: #3280fc;
     border-top: 2px solid #3280fc;
     border-bottom: none;
     font-weight: bold;
 }
+
 .nav-secondary>li>a {
     /* border-top: 2px solid #e5e5e5; */
     border-bottom: none;
 }
-.panel{
+
+.panel {
     border: none;
 }

+ 195 - 73
VisualInspection/fwq/js/task/add.js

@@ -13,7 +13,12 @@ $(document).ready(function() {
     }
     setSASelecttemp("#fwq", checked_dept);
 
-    inittAreaable($("#month_date").val(), 89);
+    //默认值 $("#fwq").val()
+    var dd = 89;
+    if ($("#fwq").val() != "") {
+        dd = $("#fwq").val();
+    }
+    inittAreaable($("#month_date").val(), dd);
 
     initselecttable();
 
@@ -55,6 +60,7 @@ function reloadtable() {
 
 }
 var layindex = null;
+var taskMap = new HashMap();
 
 function inittAreaable(time, dept) {
 
@@ -63,94 +69,189 @@ function inittAreaable(time, dept) {
     var endtime = moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss");
     var starttime = moment(moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss").subtract(1, 'month'));
 
-    var param = { "dept_id": dept };
-    post_common_service('/f/area/getall', param, function(redata) {
 
-        console.log(redata)
+    var param1 = { "start_time": starttime.format("YYYY-MM-DD HH:mm:ss"), "end_time": endtime.format("YYYY-MM-DD HH:mm:ss"), "checked_dept": dept }
+    post_common_service("/f/task/getall/0/0", param1, function(taskdata) {
+
+        taskMap = new HashMap();
+        taskdata.forEach(t => {
+            var key = t.area_id + "_" + moment(t.start_time).format("YYYY-MM-DD");
+            if (taskMap.get(key) != null) {
+                var list = taskMap.get(key);
+                list.push(t);
+                taskMap.set(key, list);
+            } else {
+                var list = [];
+                list.push(t);
+                taskMap.set(key, list);
+            }
 
-        layer.close(layer.index);
-        var data = redata.areas;
-        checkuserlist = redata.checkusers;
+        });
 
-        var datac = { cols: [], array: [] };
 
-        var days = endtime.diff(starttime, 'days');
+        var param = { "dept_id": dept };
+        post_common_service('/f/area/getall', param, function(redata) {
 
-        datac.cols.push({ width: 120, name: 'type', label: "", });
+            layer.close(layer.index);
+            var data = redata.areas;
+            checkuserlist = redata.checkusers;
 
-        for (var i = 1; i <= days; i++) {
-            var temp = moment(moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss").subtract(1, 'month'));
-            var currentday = temp.add(i, "day");
-            var day = currentday.date();
-            datac.cols.push({ width: 80, name: "day_" + i, label: currentday.format("MM-DD"), html: true });
-        }
-        arealist = data;
-        stimemonth = time;
+            var datac = { cols: [], array: [] };
+
+            var days = endtime.diff(starttime, 'days');
+
+            datac.cols.push({ width: 120, name: 'type', label: "", });
 
-        for (var index in data) {
-            var area = data[index];
-            var data_table = {};
-            data_table.type = area.name;
             for (var i = 1; i <= days; i++) {
-                //内容
-                var temphtml = '<div class="btn-group" data-toggle="buttons">' +
-                    '<label class="btn btn-info2">' +
-                    '<input type="checkbox" name="options" onchange="selectedTask(this)" id="' + area.id + '_' + i + '"> 待稽查' +
-                    '</label>';
-                if (i % 3 == 0) {
-                    temphtml = '<div class="btn-group" data-toggle="buttons">' +
-                        '<label class="btn btn-danger disabled">' +
-                        '<input type="checkbox" name="options" id="' + area.id + '_' + i + '"> 已稽查' +
-                        '</label>';
-                }
-                if (i % 4 == 0) {
-                    temphtml = '<div class="btn-group" data-toggle="buttons">' +
-                        '<label class="btn btn-warning disabled">' +
-                        '<input type="checkbox" name="options" id="' + area.id + '_' + i + '"> 无效' +
-                        '</label>';
+                var temp = moment(moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss").subtract(1, 'month'));
+                var currentday = temp.add(i, "day");
+                var day = currentday.date();
+                datac.cols.push({ width: 80, name: "day_" + i, label: currentday.format("MM-DD"), html: true, className: "table_content" });
+            }
+            arealist = data;
+            stimemonth = time;
+
+            for (var index in data) {
+                var area = data[index];
+                var data_table = {};
+                data_table.type = area.name;
+                for (var i = 1; i <= days; i++) {
+                    //内容
+                    var temp = moment(moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss").subtract(1, 'month'));
+                    var currentday = temp.add(i, "day");
+                    var key = area.id + "_" + currentday.format("YYYY-MM-DD");
+
+                    var temphtml = "";
+
+                    if (taskMap.get(key) != null) {
+                        //存在稽查记录
+                        var list = taskMap.get(key);
+                        var hasc = 0;
+                        var invc = 0;
+                        list.forEach(t => {
+                            if (t.check_status == 4 || t.check_status == 16 || t.check_status == 6) {
+                                //完成稽查
+                                hasc++;
+                            }
+                            if (t.check_status == 22) {
+                                //存在无效任务
+                                invc++;
+                            }
+                        });
+                        //无效
+                        if (invc == list.length) {
+                            temphtml = '<div class="btn-group btn_c" data-toggle="buttons" id="div_' + area.id + '_' + i + '" >' +
+                                '<label class="btn btn-info6" >' +
+                                '<input type="checkbox" name="options" onchange="selectedTask(this)" id="' + area.id + '_' + i + '"> 无效' +
+                                '</label>';
+                        } else
+                        //已完成
+                        if (hasc + invc == list.length) {
+                            temphtml = '<div class="btn-group btn_c" data-toggle="buttons"  id="div_' + area.id + '_' + i + '">' +
+                                '<label class="btn btn-info5 " >' +
+                                '<input type="checkbox" name="options" onchange="selectedTask(this)" id="' + area.id + '_' + i + '"> 已稽查' +
+                                '</label>';
+                        } else {
+                            //进行中
+                            temphtml = '<div class="btn-group btn_c" data-toggle="buttons" id="div_' + area.id + '_' + i + '" >' +
+                                '<label class="btn btn-info3" >' +
+                                '<input type="checkbox" name="options" onchange="selectedTask(this)" id="' + area.id + '_' + i + '"> 稽查中' +
+                                '</label>';
+                        }
+
+
+                    } else {
+                        //不存在稽查
+                        temphtml = '<div class="btn-group btn_c" data-toggle="buttons" id="div_' + area.id + '_' + i + '" >' +
+                            '<label class="btn btn-info2" >' +
+                            '<input type="checkbox" name="options" onchange="selectedTask(this)" id="' + area.id + '_' + i + '"> 待稽查' +
+                            '</label>';
+                    }
+
+                    data_table["day_" + i] = temphtml;
                 }
+                datac.array.push(data_table);
+            }
 
-                data_table["day_" + i] = temphtml;
+            if (tabledatagride != null) {
+                tabledatagride.dataSource.data = null;
+                tabledatagride.setDataSource(datac);
+                tabledatagride.setPager(1, datac.array.length, datac.array.length);
+                tabledatagride.render();
+            } else {
+                $('#table_s').datagrid({
+                    dataSource: datac,
+                    states: { fixedLeftUntil: 1, fixedTopUntil: 0 },
+                    showRowIndex: false,
+
+                    onRender: function() {
+
+
+
+                        $(".btn_c").mouseover(function() {
+                            var tempids = this.id.split("_");
+                            var t = stimemonth.replace("/", "-") + "";
+                            var starttime = moment(moment(t + "-25T23:00:00", "YYYY-MM-DD HH:mm:ss").subtract(1, 'month'));
+                            var ctime = starttime.add(tempids[2], "day");
+                            var key = tempids[1] + "_" + ctime.format("YYYY-MM-DD");
+                            if (taskMap.get(key) != null) {
+                                var temphtml = "";
+                                var list = taskMap.get(key);
+
+                                list.forEach(t => {
+                                    var startus = "";
+                                    if (t.check_status == 4 || t.check_status == 16 || t.check_status == 6) {
+                                        startus = "已完成";
+                                    } else
+                                    if (t.check_status == 22) {
+                                        startus = "无效";
+                                    } else {
+                                        startus = "进行中";
+                                    }
+                                    temphtml += '<tr><td>' + moment(t.start_time).format("HH:mm:ss") + '</td><td>' + moment(t.end_time).format("HH:mm:ss") + '</td><td>' + startus + '</td></tr>';
+                                });
+
+                                var thtml = '<table border=1 style="border:solid 1px;width:180px;"><tr><th>开始时间</th><th>结束时间</th><th>状态</th></tr>' + temphtml + '</table>';
+                                layer.tips(thtml, "#" + this.id, {
+                                    tips: [1, '#8e8e8e'],
+                                    time: 0,
+                                    width: '240px'
+                                });
+                            }
+                        });
+                        $(".btn_c").mouseout(function() {
+                            layer.close(layer.index);
+                        });
+
+
+                    },
+                    configs: {
+                        C1: { className: "datagrid-cell-index", style: { 'text-align': 'center', } },
+                        R0: { style: { 'text-align': 'center', 'line-height': '36px' } }
+                    }
+                });
+                tabledatagride = $('#table_s').data('zui.datagrid');
             }
-            datac.array.push(data_table);
-        }
 
-        if (tabledatagride != null) {
-            tabledatagride.dataSource.data = null;
-            tabledatagride.setDataSource(datac);
-            tabledatagride.setPager(1, datac.array.length, datac.array.length);
-            tabledatagride.render();
-        } else {
-            $('#table_s').datagrid({
-                dataSource: datac,
-                states: { fixedLeftUntil: 1, fixedTopUntil: 0 },
-                showRowIndex: false,
-                rowDefaultHeight: 50,
-                configs: {
-                    C1: { className: "datagrid-cell-index", style: { 'text-align': 'center', 'line-height': '34px' } },
-                    R0: { style: { 'text-align': 'center' } }
-                }
-            });
-            tabledatagride = $('#table_s').data('zui.datagrid');
-        }
 
 
 
+            for (var index in checkuserlist) {
+                var p = checkuserlist[index];
+                p.title = p.truename;
+            }
 
-        for (var index in checkuserlist) {
-            var p = checkuserlist[index];
-            p.title = p.truename;
-        }
 
+            if (checkusersselect != null) {
+                reset();
+            } else {
+                checkusersselect = $('#check_users').comboTree({
+                    source: checkuserlist,
+                    isMultiple: true
+                });
+            }
 
-        if (checkusersselect != null) {
-            reset();
-        } else {
-            checkusersselect = $('#check_users').comboTree({
-                source: checkuserlist,
-                isMultiple: true
-            });
-        }
+        });
 
     });
 }
@@ -227,7 +328,7 @@ function addlisttable(area, time, id) {
     }
     id = trim(id);
     var btn = '<button class="btn btn-primary" type="button" onclick="removeListItem(this)" id="delete_' + id + '">删除</button>';
-    selectedData.array.push({ "time": time.format("YYYY-MM-DD"), "dept_name": dept_info.name, "area_name": area.name, "option": btn, area_info: area, dept: dept_info });
+    selectedData.array.push({ "time": time.format("YYYY-MM-DD"), "dept_name": dept_info.name, "area_name": area.name, "option": btn, areaInfo: area, deptInfo: dept_info });
 
     var myDataGrid = $('#selected_table').data('zui.datagrid');
     myDataGrid.dataSource.data = null;
@@ -242,7 +343,7 @@ function addlisttable(area, time, id) {
 function removelisttable(area, time) {
     for (var index in selectedData.array) {
         var o = selectedData.array[index];
-        if (o != null && o.area_info.id == area.id && time.format("YYYY-MM-DD") == o.time) {
+        if (o != null && o.areaInfo.id == area.id && time.format("YYYY-MM-DD") == o.time) {
             selectedData.array.splice(index, 1);
         }
     }
@@ -260,4 +361,25 @@ function removelisttable(area, time) {
 function search() {
     inittAreaable($("#month_date").val(), $("#fwq").val());
 
+}
+
+
+function addTask() {
+    //获取列表
+    var tasklist = selectedData.array;
+    var start_time = $("#starttime").val();
+    var end_time = $("#endtime").val();
+    var check_user_list = checkusersselect.getSelectedItemsId();
+    tasklist.forEach(t => {
+        t.start_time = t.time + " " + start_time;
+        t.end_time = t.time + " " + end_time;
+    });
+
+    var param = { "userids": check_user_list, "checkAreaData": tasklist };
+    post_common_service('/f/task/add', param, function(redata) {
+        // layer.msg('已添加', { icon: 1 });
+        inittAreaable($("#month_date").val(), $("#fwq").val());
+    });
+
+
 }

+ 15 - 3
VisualInspection/fwq/view/task/add.html

@@ -7,8 +7,20 @@
 
 
 <style>
-    .datagrid-cell-index {
-        /* display: none; */
+    .table_content {
+        padding: 0;
+    }
+    
+    .btn_c,
+    .btn_c label {
+        width: 100% !important;
+        height: 100% !important;
+        border-radius: 0;
+    }
+    
+    table td,
+    table th {
+        text-align: center;
     }
 </style>
 
@@ -78,7 +90,7 @@
         <div class="col-xs-2" style="margin-top: 190px;padding: 0;">
 
             <div class="input-group" style="float: right ;">
-                <button class="btn btn-primary " style="width: 120px;" type="button" id="conditional_query">生成任务</button>
+                <button class="btn btn-primary " style="width: 120px;" type="button" id="add_task_btn" onclick="addTask()">生成任务</button>
             </div>
 
         </div>

+ 22 - 0
VisualInspection_server/src/main/java/com/xintong/visualinspection/controller/gettway/TaskController_F.java

@@ -9,8 +9,10 @@ import com.xintong.visualinspection.bean.FwqCheckTask;
 import com.xintong.visualinspection.bean.Task;
 import com.xintong.visualinspection.bean.User;
 import com.xintong.visualinspection.controller.BaseController;
+import com.xintong.visualinspection.pojo.fwq.TaskData_F;
 import com.xintong.visualinspection.service.TaskService_F;
 import com.xintong.visualinspection.util.AuthorUtil;
+import com.xintong.visualinspection.util.CacheUtil;
 import com.xintong.visualinspection.util.Constants;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -20,6 +22,7 @@ import org.springframework.web.bind.annotation.RestController;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import javax.validation.constraints.Size;
+import java.util.ArrayList;
 import java.util.List;
 
 @RestController
@@ -58,4 +61,23 @@ public class TaskController_F extends BaseController {
         FwqCheckTask t = taskService_f.getTask(fwqCheckTask);
         return super.returnSuccessResult("修改成功",t);
     }
+
+    @RequestMapping(value = "/add")
+    public String addtask(HttpServletRequest request,@Valid @RequestBody TaskData_F taskData_f){
+        if(taskData_f==null|| taskData_f.getCheckAreaData()==null || taskData_f.getUserids()==null  || taskData_f.getUserids().size()<1 || taskData_f.getCheckAreaData().size()<1){
+            throw new BusinessException(20002);
+        }
+        List<User> us =new ArrayList<>();
+        for (String u:taskData_f.getUserids()
+             ) {
+            User user = CacheUtil.userMap.get(Long.valueOf(u));
+            us.add(user);
+        }
+        taskData_f.setUsers(us);
+
+        User user = getCurrentUser(request);
+        taskData_f.setUser_id(user.getId());
+        taskService_f.addTask(taskData_f);
+        return super.returnSuccessResult("添加成功",null);
+    }
 }

+ 22 - 6
VisualInspection_server/src/main/java/com/xintong/visualinspection/service/impl/CommonServiceImpl.java

@@ -1,13 +1,10 @@
 package com.xintong.visualinspection.service.impl;
 
-import com.xintong.visualinspection.bean.Constant;
-import com.xintong.visualinspection.bean.FeeStation;
-import com.xintong.visualinspection.bean.Item;
-import com.xintong.visualinspection.bean.Job;
-import com.xintong.visualinspection.bean.Organ;
-import com.xintong.visualinspection.bean.User;
+import com.xintong.visualinspection.bean.*;
+import com.xintong.visualinspection.dao.master.CheckTaskPeriodDao;
 import com.xintong.visualinspection.service.CommonService;
 import com.xintong.visualinspection.util.CacheUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -25,6 +22,9 @@ import java.util.Map;
         registry = "${dubbo.registry.id}"
 )
 public class CommonServiceImpl implements CommonService {
+    @Autowired
+    private CheckTaskPeriodDao checkTaskPeriodDao;
+
     @Override
     public Map<String, String> getCommonDataMap() {
         return CacheUtil.commonDataMap;
@@ -70,4 +70,20 @@ public class CommonServiceImpl implements CommonService {
         return CacheUtil.allDeptMap.get(s);
     }
 
+    @Override
+    public CheckTaskPeriod getCheckTaskPeriod(Long starttime, Long endtime) {
+        List<CheckTaskPeriod> checkTaskPeriods = checkTaskPeriodDao.select(new CheckTaskPeriod());
+
+        CheckTaskPeriod period = null;
+        // 计算上个周期时间 周期时间:00:00:00 ----- 00:00:00 参数:23:00:00
+        for (CheckTaskPeriod p : checkTaskPeriods) {
+            if (starttime >= p.getStarttime().getTime() && endtime <= p.getEndtime().getTime()) {
+                period = p;
+                break;
+            }
+        }
+       return period;
+    }
+
+
 }

+ 12 - 0
Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/service/impl/CheckOtherServiceImpl.java

@@ -16,6 +16,8 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -263,4 +265,14 @@ public class CheckOtherServiceImpl implements CheckOtherService_F {
         return datas;
     }
 
+    @Override
+    public void getExcel(FwqCheckOther fwqOtherCheck, HttpServletRequest req, HttpServletResponse resp) {
+
+    }
+
+    @Override
+    public void getOtherCheckExcel(FwqCheckOther fwqOtherCheck, HttpServletRequest req, HttpServletResponse resp) {
+
+    }
+
 }

+ 49 - 0
Visuallnspection_fjq/visuallnspection_fjq/src/main/java/com/xintong/visualinspection/visuallnspection_fjq/service/impl/TaskServiceImpl.java

@@ -10,11 +10,15 @@ package com.xintong.visualinspection.visuallnspection_fjq.service.impl;
 import com.alibaba.dubbo.config.annotation.Reference;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.xintong.visualinspection.bean.CheckTaskPeriod;
 import com.xintong.visualinspection.bean.FwqCheckTask;
 import com.xintong.visualinspection.bean.Organ;
 import com.xintong.visualinspection.bean.User;
+import com.xintong.visualinspection.pojo.fwq.CheckAreaData;
+import com.xintong.visualinspection.pojo.fwq.TaskData_F;
 import com.xintong.visualinspection.service.CommonService;
 import com.xintong.visualinspection.service.TaskService_F;
+import com.xintong.visualinspection.util.Constants;
 import com.xintong.visualinspection.visuallnspection_fjq.dao.FwqTaskDao;
 import org.springframework.beans.factory.annotation.Autowired;
 
@@ -76,5 +80,50 @@ public class TaskServiceImpl implements TaskService_F {
         return fwqTaskDao.getone(fwqCheckTask);
     }
 
+    @Override
+    public void addTask(TaskData_F taskData_f) {
+
+        try {
+            //获取列表
+            List<CheckAreaData> checkAreaData = taskData_f.getCheckAreaData();
+            List<User> users = taskData_f.getUsers();
+
+            CheckTaskPeriod p = commonService.getCheckTaskPeriod(checkAreaData.get(0).getStart_time().getTime(), checkAreaData.get(0).getEnd_time().getTime());
+
+            List<FwqCheckTask> tasks = new ArrayList<>();
+            int count = checkAreaData.size() / users.size();
+            int u_index = 0;
+            int index = 0;
+            for (CheckAreaData s : checkAreaData
+                    ) {
+                if (index++ == count) {
+                    u_index++;
+                    if (u_index == users.size()) {
+                        u_index--;
+                    }
+                }
+                FwqCheckTask t = new FwqCheckTask();
+                t.setName(s.getDeptInfo().getName() + s.getAreaInfo().getName());
+                t.setCheck_status(Constants.STATUS_ASSIGN);
+                t.setArea_id(s.getAreaInfo().getId());
+                t.setStart_time(s.getStart_time());
+                t.setEnd_time(s.getEnd_time());
+                t.setCheckman((long) users.get(u_index).getId());
+                t.setCheckman_name(users.get(u_index).getTruename());
+                t.setChecked_dept((long) s.getAreaInfo().getDept_id());
+                t.setUpdate_user((long) taskData_f.getUser_id());
+                //服务区视频稽查考核办法 id
+                t.setRule_id(10);
+                if (p != null && p.getEndtime().getTime() > s.getStart_time().getTime()) {
+                    t.setPeriod_id(p.getId());
+                }
+                fwqTaskDao.addtask(t);
+
+            }
+        }catch (Exception e){
+            System.out.println(e.getStackTrace());
+        }
+    }
+
 
 }

+ 1 - 1
Visuallnspection_fjq/visuallnspectioninteface/install.sh

@@ -1,4 +1,4 @@
 java -version;
 mvn clean deploy;
-#mvn install:install-file -Dfile="/Users/wenhongquan/VisualInspection/Visuallnspection_fjq/visuallnspectioninteface/target/visuallnspectioninteface-1.0-SNAPSHOT.jar" -DgroupId=com.xintong.visuallnspection.inteface -DartifactId=visuallnspectioninteface -Dversion=1.0 -Dpackaging=jar;
+#mvn clean package && mvn install:install-file -Dfile="/Users/wenhongquan/VisualInspection/Visuallnspection_fjq/visuallnspectioninteface/target/visuallnspectioninteface-1.0-SNAPSHOT.jar" -DgroupId=com.xintong.visuallnspection.inteface -DartifactId=visuallnspectioninteface -Dversion=1.0 -Dpackaging=jar;
 

+ 2 - 1
Visuallnspection_fjq/visuallnspectioninteface/installlocal.sh

@@ -1,4 +1,5 @@
 java -version;
 #mvn clean deploy;
-mvn install:install-file -Dfile="/Users/wenhongquan/VisualInspection/Visuallnspection_fjq/visuallnspectioninteface/target/visuallnspectioninteface-1.0-SNAPSHOT.jar" -DgroupId=com.xintong.visuallnspection.inteface -DartifactId=visuallnspectioninteface -Dversion=1.0-SNAPSHOT -Dpackaging=jar;
+
+mvn clean package && mvn install:install-file -Dfile="/Users/wenhongquan/VisualInspection/Visuallnspection_fjq/visuallnspectioninteface/target/visuallnspectioninteface-1.0-SNAPSHOT.jar" -DgroupId=com.xintong.visuallnspection.inteface -DartifactId=visuallnspectioninteface -Dversion=1.0-SNAPSHOT -Dpackaging=jar;
 

+ 4 - 3
VisualInspection_server/src/main/java/com/xintong/visualinspection/bean/CheckTaskPeriod.java → Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/bean/CheckTaskPeriod.java

@@ -1,11 +1,12 @@
 package com.xintong.visualinspection.bean;
 
-import java.util.Date;
-
 import lombok.Data;
 
+import java.io.Serializable;
+import java.util.Date;
+
 @Data
-public class CheckTaskPeriod {
+public class CheckTaskPeriod implements Serializable {
 	
 	private Integer id;
 	private String name;

+ 27 - 0
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/pojo/fwq/CheckAreaData.java

@@ -0,0 +1,27 @@
+package com.xintong.visualinspection.pojo.fwq;
+
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.xintong.visualinspection.bean.AreaInfo;
+import com.xintong.visualinspection.bean.FeeStation;
+import com.xintong.visualinspection.util.CustomJsonDateDeserializer;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 文件名:CheckAreaData
+ * 版本信息:日期:2018/5/9 Copyright 江苏省交通规划设计院 Corporation 2018 版权所有.
+ */
+@Data
+public class CheckAreaData implements Serializable {
+    private AreaInfo areaInfo;
+    private FeeStation deptInfo;
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonDeserialize(using = CustomJsonDateDeserializer.class)
+    private Date start_time;
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonDeserialize(using = CustomJsonDateDeserializer.class)
+    private Date end_time;
+}

+ 19 - 0
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/pojo/fwq/TaskData_F.java

@@ -0,0 +1,19 @@
+package com.xintong.visualinspection.pojo.fwq;
+
+import com.xintong.visualinspection.bean.User;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 文件名:TaskData_F
+ * 版本信息:日期:2018/5/9 Copyright 江苏省交通规划设计院 Corporation 2018 版权所有.
+ */
+@Data
+public class TaskData_F implements Serializable {
+    private List<User> users;
+    private List<CheckAreaData> checkAreaData;
+    private Integer user_id;
+    private List<String> userids;
+}

+ 5 - 6
Visuallnspection_fjq/visuallnspectioninteface/src/main/java/com/xintong/visualinspection/service/CommonService.java

@@ -1,11 +1,6 @@
 package com.xintong.visualinspection.service;
 
-import com.xintong.visualinspection.bean.Constant;
-import com.xintong.visualinspection.bean.FeeStation;
-import com.xintong.visualinspection.bean.Item;
-import com.xintong.visualinspection.bean.Job;
-import com.xintong.visualinspection.bean.Organ;
-import com.xintong.visualinspection.bean.User;
+import com.xintong.visualinspection.bean.*;
 
 import java.util.List;
 import java.util.Map;
@@ -26,4 +21,8 @@ public interface CommonService {
     public List<String> getCheckItemName(Long ruleId);
     // 获得部门信息,比如SA,RM内容
     public List<FeeStation> getAllDeptByLayer(String key);
+
+
+    //获取周期信息
+    public CheckTaskPeriod getCheckTaskPeriod(Long startDate,Long endDate);
 }

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

@@ -1,6 +1,7 @@
 package com.xintong.visualinspection.service;
 
 import com.xintong.visualinspection.bean.FwqCheckTask;
+import com.xintong.visualinspection.pojo.fwq.TaskData_F;
 
 import java.util.List;
 
@@ -9,4 +10,6 @@ public interface TaskService_F {
     public void addTask(FwqCheckTask fwqCheckTask);
     public void updateStatus(FwqCheckTask fwqCheckTask);
     public FwqCheckTask getTask(FwqCheckTask fwqCheckTask);
+    public void addTask(TaskData_F taskData_f);
+
 }