Przeglądaj źródła

优化 定时任务

java110 6 lat temu
rodzic
commit
361819c386

+ 3 - 3
service-job/src/main/java/com/java110/job/quartz/TaskSystemJob.java

@@ -24,7 +24,7 @@ public class TaskSystemJob implements Job {
     public static String JOB_GROUP_NAME = "taskSystemJobGroup"; // 任务的 分组名称
     public static String JOB_GROUP_NAME = "taskSystemJobGroup"; // 任务的 分组名称
 
 
 
 
-    private TaskSystemQuartz hcFtpToFileSystemQuartz;
+    private TaskSystemQuartz taskSystemQuartz;
 
 
     protected void executeInternal(JobExecutionContext context) {
     protected void executeInternal(JobExecutionContext context) {
         try {
         try {
@@ -32,8 +32,8 @@ public class TaskSystemJob implements Job {
                     .get(JOB_DATA_TASK));
                     .get(JOB_DATA_TASK));
 
 
 
 
-            hcFtpToFileSystemQuartz = (TaskSystemQuartz) ApplicationContextFactory.getBean(taskDto.getTaskTemplateDto().getClassBean());
-            hcFtpToFileSystemQuartz.startTask(taskDto);
+            taskSystemQuartz = (TaskSystemQuartz) ApplicationContextFactory.getBean(taskDto.getTaskTemplateDto().getClassBean());
+            taskSystemQuartz.startTask(taskDto);
 
 
         } catch (Throwable ex) {
         } catch (Throwable ex) {
             logger.error("执行任务失败:", ex);
             logger.error("执行任务失败:", ex);

+ 17 - 1
service-job/src/main/java/com/java110/job/quartz/TaskSystemQuartz.java

@@ -1,8 +1,14 @@
 package com.java110.job.quartz;
 package com.java110.job.quartz;
 
 
 import com.java110.dto.task.TaskDto;
 import com.java110.dto.task.TaskDto;
+import com.java110.job.dao.ITaskServiceDao;
 import org.slf4j.Logger;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * @author
  * @author
@@ -11,6 +17,9 @@ public abstract class TaskSystemQuartz {
 
 
     protected static final Logger logger = LoggerFactory.getLogger(TaskSystemQuartz.class);
     protected static final Logger logger = LoggerFactory.getLogger(TaskSystemQuartz.class);
 
 
+    @Autowired
+    private ITaskServiceDao taskServiceDaoImpl;
+
 
 
     public void initTask() {
     public void initTask() {
 
 
@@ -23,8 +32,15 @@ public abstract class TaskSystemQuartz {
      */
      */
     public void startTask(TaskDto taskDto) throws Exception {
     public void startTask(TaskDto taskDto) throws Exception {
 
 
+        Map info = new HashMap();
+        info.put("taskId", taskDto.getTaskId());
+        List<Map> taskInfos = taskServiceDaoImpl.getTaskInfo(info);
+        if (taskInfos == null || taskInfos.size() < 1) {
+            return;
+        }
+
         // 这么做是为了,单线程调用,防止多线程导致数据重复处理
         // 这么做是为了,单线程调用,防止多线程导致数据重复处理
-        if (!"002".equals(taskDto.getState())) {
+        if (!"002".equals(taskInfos.get(0).get("state"))) {
             return;
             return;
         }
         }
 
 

+ 0 - 34
service-job/src/main/resources/static/css/HcFtpToFileSystemConfigList.css

@@ -1,34 +0,0 @@
-.task_run{
-    color:#5cb85c;
-}
-.task_stop{
-    color:#d9534f;
-}
-.required{
-    font-size:6px;
-    color:#d9534f;
-}
-.nopaddingright{
-    padding-right:0px;
-}
-.loading{
-    width:160px;
-    height:56px;
-    position: absolute;
-    top:50%;
-    left:50%;
-    line-height:56px;
-    color:#fff;
-    padding-left:60px;
-    font-size:15px;
-    background: #000 url(../images/loader.gif) no-repeat 10px 50%;
-    opacity: 0.7;
-    z-index:9999;
-    -moz-border-radius:20px;
-    -webkit-border-radius:20px;
-    border-radius:20px;
-    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);
-}
-.modal-dialog-task{
-    width:80%;
-}

+ 0 - 587
service-job/src/main/resources/static/css/bootstrap-theme.css

@@ -1,587 +0,0 @@
-/*!
- * Bootstrap v3.3.6 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-.btn-default,
-.btn-primary,
-.btn-success,
-.btn-info,
-.btn-warning,
-.btn-danger {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
-}
-.btn-default:active,
-.btn-primary:active,
-.btn-success:active,
-.btn-info:active,
-.btn-warning:active,
-.btn-danger:active,
-.btn-default.active,
-.btn-primary.active,
-.btn-success.active,
-.btn-info.active,
-.btn-warning.active,
-.btn-danger.active {
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-          box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
-}
-.btn-default.disabled,
-.btn-primary.disabled,
-.btn-success.disabled,
-.btn-info.disabled,
-.btn-warning.disabled,
-.btn-danger.disabled,
-.btn-default[disabled],
-.btn-primary[disabled],
-.btn-success[disabled],
-.btn-info[disabled],
-.btn-warning[disabled],
-.btn-danger[disabled],
-fieldset[disabled] .btn-default,
-fieldset[disabled] .btn-primary,
-fieldset[disabled] .btn-success,
-fieldset[disabled] .btn-info,
-fieldset[disabled] .btn-warning,
-fieldset[disabled] .btn-danger {
-  -webkit-box-shadow: none;
-          box-shadow: none;
-}
-.btn-default .badge,
-.btn-primary .badge,
-.btn-success .badge,
-.btn-info .badge,
-.btn-warning .badge,
-.btn-danger .badge {
-  text-shadow: none;
-}
-.btn:active,
-.btn.active {
-  background-image: none;
-}
-.btn-default {
-  text-shadow: 0 1px 0 #fff;
-  background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
-  background-image:      -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
-  background-image:         linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #dbdbdb;
-  border-color: #ccc;
-}
-.btn-default:hover,
-.btn-default:focus {
-  background-color: #e0e0e0;
-  background-position: 0 -15px;
-}
-.btn-default:active,
-.btn-default.active {
-  background-color: #e0e0e0;
-  border-color: #dbdbdb;
-}
-.btn-default.disabled,
-.btn-default[disabled],
-fieldset[disabled] .btn-default,
-.btn-default.disabled:hover,
-.btn-default[disabled]:hover,
-fieldset[disabled] .btn-default:hover,
-.btn-default.disabled:focus,
-.btn-default[disabled]:focus,
-fieldset[disabled] .btn-default:focus,
-.btn-default.disabled.focus,
-.btn-default[disabled].focus,
-fieldset[disabled] .btn-default.focus,
-.btn-default.disabled:active,
-.btn-default[disabled]:active,
-fieldset[disabled] .btn-default:active,
-.btn-default.disabled.active,
-.btn-default[disabled].active,
-fieldset[disabled] .btn-default.active {
-  background-color: #e0e0e0;
-  background-image: none;
-}
-.btn-primary {
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #265a88 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #265a88 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #245580;
-}
-.btn-primary:hover,
-.btn-primary:focus {
-  background-color: #265a88;
-  background-position: 0 -15px;
-}
-.btn-primary:active,
-.btn-primary.active {
-  background-color: #265a88;
-  border-color: #245580;
-}
-.btn-primary.disabled,
-.btn-primary[disabled],
-fieldset[disabled] .btn-primary,
-.btn-primary.disabled:hover,
-.btn-primary[disabled]:hover,
-fieldset[disabled] .btn-primary:hover,
-.btn-primary.disabled:focus,
-.btn-primary[disabled]:focus,
-fieldset[disabled] .btn-primary:focus,
-.btn-primary.disabled.focus,
-.btn-primary[disabled].focus,
-fieldset[disabled] .btn-primary.focus,
-.btn-primary.disabled:active,
-.btn-primary[disabled]:active,
-fieldset[disabled] .btn-primary:active,
-.btn-primary.disabled.active,
-.btn-primary[disabled].active,
-fieldset[disabled] .btn-primary.active {
-  background-color: #265a88;
-  background-image: none;
-}
-.btn-success {
-  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
-  background-image:      -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
-  background-image:         linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #3e8f3e;
-}
-.btn-success:hover,
-.btn-success:focus {
-  background-color: #419641;
-  background-position: 0 -15px;
-}
-.btn-success:active,
-.btn-success.active {
-  background-color: #419641;
-  border-color: #3e8f3e;
-}
-.btn-success.disabled,
-.btn-success[disabled],
-fieldset[disabled] .btn-success,
-.btn-success.disabled:hover,
-.btn-success[disabled]:hover,
-fieldset[disabled] .btn-success:hover,
-.btn-success.disabled:focus,
-.btn-success[disabled]:focus,
-fieldset[disabled] .btn-success:focus,
-.btn-success.disabled.focus,
-.btn-success[disabled].focus,
-fieldset[disabled] .btn-success.focus,
-.btn-success.disabled:active,
-.btn-success[disabled]:active,
-fieldset[disabled] .btn-success:active,
-.btn-success.disabled.active,
-.btn-success[disabled].active,
-fieldset[disabled] .btn-success.active {
-  background-color: #419641;
-  background-image: none;
-}
-.btn-info {
-  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
-  background-image:      -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
-  background-image:         linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #28a4c9;
-}
-.btn-info:hover,
-.btn-info:focus {
-  background-color: #2aabd2;
-  background-position: 0 -15px;
-}
-.btn-info:active,
-.btn-info.active {
-  background-color: #2aabd2;
-  border-color: #28a4c9;
-}
-.btn-info.disabled,
-.btn-info[disabled],
-fieldset[disabled] .btn-info,
-.btn-info.disabled:hover,
-.btn-info[disabled]:hover,
-fieldset[disabled] .btn-info:hover,
-.btn-info.disabled:focus,
-.btn-info[disabled]:focus,
-fieldset[disabled] .btn-info:focus,
-.btn-info.disabled.focus,
-.btn-info[disabled].focus,
-fieldset[disabled] .btn-info.focus,
-.btn-info.disabled:active,
-.btn-info[disabled]:active,
-fieldset[disabled] .btn-info:active,
-.btn-info.disabled.active,
-.btn-info[disabled].active,
-fieldset[disabled] .btn-info.active {
-  background-color: #2aabd2;
-  background-image: none;
-}
-.btn-warning {
-  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
-  background-image:      -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
-  background-image:         linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #e38d13;
-}
-.btn-warning:hover,
-.btn-warning:focus {
-  background-color: #eb9316;
-  background-position: 0 -15px;
-}
-.btn-warning:active,
-.btn-warning.active {
-  background-color: #eb9316;
-  border-color: #e38d13;
-}
-.btn-warning.disabled,
-.btn-warning[disabled],
-fieldset[disabled] .btn-warning,
-.btn-warning.disabled:hover,
-.btn-warning[disabled]:hover,
-fieldset[disabled] .btn-warning:hover,
-.btn-warning.disabled:focus,
-.btn-warning[disabled]:focus,
-fieldset[disabled] .btn-warning:focus,
-.btn-warning.disabled.focus,
-.btn-warning[disabled].focus,
-fieldset[disabled] .btn-warning.focus,
-.btn-warning.disabled:active,
-.btn-warning[disabled]:active,
-fieldset[disabled] .btn-warning:active,
-.btn-warning.disabled.active,
-.btn-warning[disabled].active,
-fieldset[disabled] .btn-warning.active {
-  background-color: #eb9316;
-  background-image: none;
-}
-.btn-danger {
-  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
-  background-image:      -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
-  background-image:         linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-color: #b92c28;
-}
-.btn-danger:hover,
-.btn-danger:focus {
-  background-color: #c12e2a;
-  background-position: 0 -15px;
-}
-.btn-danger:active,
-.btn-danger.active {
-  background-color: #c12e2a;
-  border-color: #b92c28;
-}
-.btn-danger.disabled,
-.btn-danger[disabled],
-fieldset[disabled] .btn-danger,
-.btn-danger.disabled:hover,
-.btn-danger[disabled]:hover,
-fieldset[disabled] .btn-danger:hover,
-.btn-danger.disabled:focus,
-.btn-danger[disabled]:focus,
-fieldset[disabled] .btn-danger:focus,
-.btn-danger.disabled.focus,
-.btn-danger[disabled].focus,
-fieldset[disabled] .btn-danger.focus,
-.btn-danger.disabled:active,
-.btn-danger[disabled]:active,
-fieldset[disabled] .btn-danger:active,
-.btn-danger.disabled.active,
-.btn-danger[disabled].active,
-fieldset[disabled] .btn-danger.active {
-  background-color: #c12e2a;
-  background-image: none;
-}
-.thumbnail,
-.img-thumbnail {
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-}
-.dropdown-menu > li > a:hover,
-.dropdown-menu > li > a:focus {
-  background-color: #e8e8e8;
-  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
-  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
-  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
-  background-repeat: repeat-x;
-}
-.dropdown-menu > .active > a,
-.dropdown-menu > .active > a:hover,
-.dropdown-menu > .active > a:focus {
-  background-color: #2e6da4;
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
-  background-repeat: repeat-x;
-}
-.navbar-default {
-  background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
-  background-image:      -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
-  background-image:         linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-radius: 4px;
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
-}
-.navbar-default .navbar-nav > .open > a,
-.navbar-default .navbar-nav > .active > a {
-  background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
-  background-image:      -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2));
-  background-image:         linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);
-  background-repeat: repeat-x;
-  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
-          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
-}
-.navbar-brand,
-.navbar-nav > li > a {
-  text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
-}
-.navbar-inverse {
-  background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
-  background-image:      -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
-  background-image:         linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
-  background-repeat: repeat-x;
-  border-radius: 4px;
-}
-.navbar-inverse .navbar-nav > .open > a,
-.navbar-inverse .navbar-nav > .active > a {
-  background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);
-  background-image:      -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f));
-  background-image:         linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);
-  background-repeat: repeat-x;
-  -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
-          box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
-}
-.navbar-inverse .navbar-brand,
-.navbar-inverse .navbar-nav > li > a {
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
-}
-.navbar-static-top,
-.navbar-fixed-top,
-.navbar-fixed-bottom {
-  border-radius: 0;
-}
-@media (max-width: 767px) {
-  .navbar .navbar-nav .open .dropdown-menu > .active > a,
-  .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,
-  .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {
-    color: #fff;
-    background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-    background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-    background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
-    background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
-    background-repeat: repeat-x;
-  }
-}
-.alert {
-  text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
-          box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
-}
-.alert-success {
-  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
-  background-image:      -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
-  background-image:         linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #b2dba1;
-}
-.alert-info {
-  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
-  background-image:      -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
-  background-image:         linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #9acfea;
-}
-.alert-warning {
-  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
-  background-image:      -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
-  background-image:         linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #f5e79e;
-}
-.alert-danger {
-  background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
-  background-image:      -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
-  background-image:         linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #dca7a7;
-}
-.progress {
-  background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
-  background-image:      -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
-  background-image:         linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar {
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #286090 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #286090 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-success {
-  background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
-  background-image:      -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
-  background-image:         linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-info {
-  background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
-  background-image:      -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
-  background-image:         linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-warning {
-  background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
-  background-image:      -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
-  background-image:         linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-danger {
-  background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
-  background-image:      -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
-  background-image:         linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
-  background-repeat: repeat-x;
-}
-.progress-bar-striped {
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:      -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-  background-image:         linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-}
-.list-group {
-  border-radius: 4px;
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-          box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
-}
-.list-group-item.active,
-.list-group-item.active:hover,
-.list-group-item.active:focus {
-  text-shadow: 0 -1px 0 #286090;
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #2b669a;
-}
-.list-group-item.active .badge,
-.list-group-item.active:hover .badge,
-.list-group-item.active:focus .badge {
-  text-shadow: none;
-}
-.panel {
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
-          box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
-}
-.panel-default > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
-  background-image:      -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
-  background-image:         linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-primary > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-  background-image:      -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4));
-  background-image:         linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-success > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
-  background-image:      -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
-  background-image:         linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-info > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
-  background-image:      -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
-  background-image:         linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-warning > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
-  background-image:      -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
-  background-image:         linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
-  background-repeat: repeat-x;
-}
-.panel-danger > .panel-heading {
-  background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
-  background-image:      -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
-  background-image:         linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
-  background-repeat: repeat-x;
-}
-.well {
-  background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
-  background-image:      -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
-  background-image:         linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
-  background-repeat: repeat-x;
-  border-color: #dcdcdc;
-  -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
-          box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
-}
-/*# sourceMappingURL=bootstrap-theme.css.map */

Plik diff jest za duży
+ 0 - 6
service-job/src/main/resources/static/css/bootstrap-theme.min.css


Plik diff jest za duży
+ 0 - 6760
service-job/src/main/resources/static/css/bootstrap.css


Plik diff jest za duży
+ 0 - 6
service-job/src/main/resources/static/css/bootstrap.min.css


BIN
service-job/src/main/resources/static/images/loader.gif


+ 0 - 706
service-job/src/main/resources/static/js/HcFtpToFileSystemConfigList.js

@@ -1,706 +0,0 @@
-$(document).ready(function(){
-  // 开始加载数据(任务数据)
-    loadTaskData();
-});
-/**
- * 加载任务数据(分页查询)
- */
-function loadTaskDataPage(curPage){
-	$.ajax({
-	      type: 'POST',
-	      url: '/HcFtpToFileSystemConfigList/queryFtpItems',
-	      data: {
-	    	curPage:curPage
-	      },
-	      dataType: 'json',
-	      success: function(data){
-	        // 成功时运行
-	        dealQueryData(data);
-	      },
-	      error:function(data){
-	        // 失败时运行,目前不处理
-	          $('#alertContext').html('网络超时!查询数据失败'+data);
-	          $('#alertModal').modal('show');
-	          return;
-	      }
-	    });
-}
-
-// 加载任务数据(主要是查询首页)
-function loadTaskData(){
-	// 查询首页
-	loadTaskDataPage(1);
-}
-/**
- * 处理查询数据
- */
-function dealQueryData(data){
-    var rows = data.rows;
-    var total = data.total;
-    if(rows == '[]' || rows.length == 0){
-    	 $('#tasksContext').html('');
-    	return ;
-    }
-    var trStrs = "";
-    for(var i = 0 ; i< rows.length;i++){
-        trStrs += createHtmlContext(rows[i]);
-        $('#tasksContext').html(trStrs);
-    }
-    //不显示分页
-    if(total == null || total == 1){
-    	return ;
-    }
-    // 处理分页问题
-    dealQueryPage(data);
-}
-// 处理分页问题
-function dealQueryPage(data){
-    var total = data.total;
-    var currentPage = data.currentPage;
-		var options = {
-            currentPage: currentPage,
-            totalPages: total,
-            bootstrapMajorVersion: 3,
-            onPageClicked: function(event, originalEvent, type,page){
-			loadTaskDataPage(page);
-		}
-        }
-        $('#saopPagination').bootstrapPaginator(options);
-	
-}
-function createHtmlContext(taskInfo){
-            var taskId = taskInfo.TASKID;
-            var taskName = taskInfo.TASKNAME;
-            var taskFileName = taskInfo.FILE_NAME;
-            var taskUOrD = taskInfo.U_OR_D;
-            var taskUOrDName = taskInfo.U_OR_D_NAME;
-            var taskRunState = taskInfo.RUN_STATE;
-            var taskRUNFlag = taskInfo.RUN_FLAG;
-            var taskTnum = taskInfo.TNUM;
-            var taskTaskcron = taskInfo.TASKCRON;
-            var taskErrPhone = taskInfo.ERRPHONE;
-            var taskUpnull = taskInfo.UPNULL;
-            var taskPreFlag = taskInfo.PREFLAG;
-            var taskPreFunction = taskInfo.PREFUNCTION;
-            var taskAfterFlag = taskInfo.AFTERFLAG;
-            var taskAfterFunction = taskInfo.AFTERFUNCTION;
-            var taskCreateDate = taskInfo.CREATE_DATE
-            var taskRunStateName = "运行失败";
-
-            if(taskRunState == 'R'){
-                taskRunStateName = "正在执行";
-            }else if(taskRunState == 'T'){
-                taskRunStateName = "等待运行";
-            }
-      var trStr = "<tr>"
-                   +"<td class='text-center'><input type='checkbox' name='choiceCheckBox' id='choice_"+taskId+"' value='"+taskId+"'></td>"
-                   +"<td class='text-center'>"+taskId+"</td>"
-                   +"<td class='text-center'>"+taskName+"</td>"
-                   +"<td class='text-center'>"+taskTaskcron+"</td>"
-                   +"<td class='text-center'>"+taskUOrDName+"</td>"
-                   +"<td class='text-center'>"+taskCreateDate+"</td>"
-                   +"<td class='text-center'>"+taskRunStateName+"</td>";
-       if(taskRUNFlag == "1"){
-                trStr += "<td class='text-center'><span class='glyphicon glyphicon-ok-sign task_run' >运行</span></td>";
-       }else{
-                trStr +=  "<td class='text-center'><span class='glyphicon glyphicon-remove-sign task_stop' >停止</span></td>"
-       }
-
-       trStr = trStr
-                + "<td class='text-center'>"+taskTnum+"</td>"
-                + "<td class='text-center'>"
-                /*+ "            <a class='label label-info' href='../prvncFtpfileConfig!queryTaskLogList.action?taskid="+taskId+"' target='_blank'>日志</a>"*/
-                + "</td>";
-       // 将后台传过来的数据影藏放到页面上
-       trStr = trStr
-                + "<input type='hidden' name='taskName_"+taskId+"' id='taskName_"+taskId+"' value='"+taskName+"'/>"
-                + "<input type='hidden' name='taskFileName_"+taskId+"' id='taskFileName_"+taskId+"' value='"+taskFileName+"'/>"
-                + "<input type='hidden' name='taskUOrD_"+taskId+"' id='taskUOrD_"+taskId+"' value='"+taskUOrD+"'/>"
-                + "<input type='hidden' name='taskUOrDName_"+taskId+"' id='taskUOrDName_"+taskId+"' value='"+taskUOrDName+"'/>"
-                + "<input type='hidden' name='taskRunState_"+taskId+"' id='taskRunState_"+taskId+"' value='"+taskRunState+"'/>"
-                + "<input type='hidden' name='taskRUNFlag_"+taskId+"' id='taskRUNFlag_"+taskId+"' value='"+taskRUNFlag+"'/>"
-                + "<input type='hidden' name='taskTnum_"+taskId+"' id='taskTnum_"+taskId+"' value='"+taskTnum+"'/>"
-                + "<input type='hidden' name='taskTaskcron_"+taskId+"' id='taskTaskcron_"+taskId+"' value='"+taskTaskcron+"'/>"
-                + "<input type='hidden' name='taskErrPhone_"+taskId+"' id='taskErrPhone_"+taskId+"' value='"+taskErrPhone+"'/>"
-                + "<input type='hidden' name='taskUpnull_"+taskId+"' id='taskUpnull_"+taskId+"' value='"+taskUpnull+"'/>"
-                + "<input type='hidden' name='taskPreFlag_"+taskId+"' id='taskPreFlag_"+taskId+"' value='"+taskPreFlag+"'/>"
-                + "<input type='hidden' name='taskPreFunction_"+taskId+"' id='taskPreFunction_"+taskId+"' value='"+taskPreFunction+"'/>"
-                + "<input type='hidden' name='taskAfterFlag_"+taskId+"' id='taskAfterFlag_"+taskId+"' value='"+taskAfterFlag+"'/>"
-                + "<input type='hidden' name='taskAfterFunction_"+taskId+"' id='taskAfterFunction_"+taskId+"' value='"+taskAfterFunction+"'/>"
-                + "<input type='hidden' name='taskCreateDate_"+taskId+"' id='taskCreateDate_"+taskId+"' value='"+taskCreateDate+"'/>";
-       return trStr;
-}
-/**
- * 启动任务
- */
-function startJob(){
-    // 显示加载框
-    fadeLoader("ON");
-    // 加载所有checkbox {"tasks":[{"taskId":1},{"taskId":2}],"state":"START"}
-    var requestParam = '{"tasks":['
-    var requestTaskId = '';
-    var runTaskId = '';
-    $("input[name='choiceCheckBox']").each(
-        function(){
-            if($(this).prop('checked')){
-                    // 判断选中的是否已经是启动状态
-                    var taskRUNFlag = $('#taskRUNFlag_'+$(this).val()).val();
-                    // 说明已经启动,提示错误
-                    if(taskRUNFlag == 1){
-                        runTaskId += ($(this).val() + ',');
-                    }
-                   requestTaskId += '{"taskId":'+$(this).val()+'},';
-            }
-        }
-    );
-    if(runTaskId != ''){
-        runTaskId = runTaskId.substring(0,runTaskId.length-1)
-         $('#alertContext').html('任务ID【'+runTaskId+'】已经启动,无需再次启动');
-          $('#alertModal').modal('show');
-          // 关闭加载框
-          fadeLoader("OFF");
-          return;
-    }
-    // 没有选中任何任务
-    if(requestTaskId == ''){
-        $('#alertContext').html('没有选中任何任务');
-            $('#alertModal').modal('show');
-            // 关闭加载框
-            fadeLoader("OFF");
-            return;
-    }
-    requestTaskId = requestTaskId.substring(0,requestTaskId.length-1);
-
-    requestParam += requestTaskId + '],"state":"START"}';
-    // 请求处理
-     $.ajax({
-          type: 'POST',
-          url: '/HcFtpToFileSystemConfigList/startJob',
-          data: {
-                ftpItemJson:requestParam
-          },
-          dataType: 'json',
-          success: function(data){
-            // 重新加载数据
-            if(data.RESULT_CODE == '0000'){
-                loadTaskData();
-            }else{
-                $('#alertContext').html(data.RESULT_MSG);
-                $('#alertModal').modal('show');
-            }
-
-            fadeLoader("OFF");
-          },
-          error:function(data){
-            // 失败时运行,目前不处理
-            $('#alertContext').html('启动任务失败!'+data);
-            $('#alertModal').modal('show');
-            fadeLoader("OFF");
-          }
-        });
-    // 关闭加载框
-
-}
-
-/**
- * 停止任务
- */
-function stopJob(){
-    // 显示加载框
-   // 显示加载框
-       fadeLoader("ON");
-       // 加载所有checkbox {"tasks":[{"taskId":1},{"taskId":2}],"state":"STOP"}
-       var requestParam = '{"tasks":['
-       var requestTaskId = '';
-       var stopTaskId = '';
-       $("input[name='choiceCheckBox']").each(
-           function(){
-               if($(this).prop('checked')){
-                       var taskRUNFlag = $('#taskRUNFlag_'+$(this).val()).val();
-                       // 说明已经启动,提示错误
-                       if(taskRUNFlag == 0){
-                           stopTaskId += ($(this).val() + ',');
-                       }
-                      requestTaskId += '{"taskId":'+$(this).val()+'},';
-               }
-           }
-       );
-
-        if(stopTaskId != ''){
-               stopTaskId = stopTaskId.substring(0,stopTaskId.length-1)
-                $('#alertContext').html('任务ID【'+stopTaskId+'】已经停止,无需再次停止');
-                 $('#alertModal').modal('show');
-                 // 关闭加载框
-                 fadeLoader("OFF");
-                 return;
-        }
-       // 没有选中任何任务
-       if(requestTaskId == ''){
-           $('#alertContext').html('没有选中任何任务');
-               $('#alertModal').modal('show');
-               // 关闭加载框
-               fadeLoader("OFF");
-               return;
-       }
-       requestTaskId = requestTaskId.substring(0,requestTaskId.length-1);
-
-       requestParam += requestTaskId + '],"state":"STOP"}';
-       // 请求处理
-        $.ajax({
-             type: 'POST',
-             url: '/HcFtpToFileSystemConfigList/stopJob',
-             data: {
-                   ftpItemJson:requestParam
-             },
-             dataType: 'json',
-             success: function(data){
-               // 重新加载数据
-               if(data.RESULT_CODE == '0000'){
-                   loadTaskData();
-               }else{
-                   $('#alertContext').html(data.RESULT_MSG);
-                   $('#alertModal').modal('show');
-               }
-
-               fadeLoader("OFF");
-             },
-             error:function(data){
-               // 失败时运行,目前不处理
-               $('#alertContext').html('停止任务失败!'+data);
-               $('#alertModal').modal('show');
-               fadeLoader("OFF");
-             }
-           });
-       // 关闭加载框
-}
-/**
- * 删除任务配置信息
- */
-function deleteTask(){
-    // 显示加载框
-        fadeLoader("ON");
-        // 加载所有checkbox {"tasks":[{"taskId":1},{"taskId":2}],"state":"DELETE"}
-        var requestParam = '{"tasks":['
-        var requestTaskId = '';
-        var runTaskId = '';
-        $("input[name='choiceCheckBox']").each(
-            function(){
-                if($(this).prop('checked')){
-                        // 判断选中的是否已经是启动状态
-                        var taskRUNFlag = $('#taskRUNFlag_'+$(this).val()).val();
-                        // 说明已经启动,提示错误
-                        if(taskRUNFlag == 1){
-                            runTaskId += ($(this).val() + ',');
-                        }
-                       requestTaskId += '{"taskId":'+$(this).val()+'},';
-                }
-            }
-        );
-        if(runTaskId != ''){
-            runTaskId = runTaskId.substring(0,runTaskId.length-1)
-             $('#alertContext').html('任务ID【'+runTaskId+'】正在启动,请停止后再操作删除!');
-              $('#alertModal').modal('show');
-              // 关闭加载框
-              fadeLoader("OFF");
-              return;
-        }
-        // 没有选中任何任务
-        if(requestTaskId == ''){
-            $('#alertContext').html('没有选中任何任务');
-                $('#alertModal').modal('show');
-                // 关闭加载框
-                fadeLoader("OFF");
-                return;
-        }
-        requestTaskId = requestTaskId.substring(0,requestTaskId.length-1);
-
-        requestParam += requestTaskId + '],"state":"DELETE"}';
-        // 请求处理
-         $.ajax({
-              type: 'POST',
-              url: '/HcFtpToFileSystemConfigList/deleteFtpItem',
-              data: {
-                    ftpItemJson:requestParam
-              },
-              dataType: 'json',
-              success: function(data){
-                // 重新加载数据
-                if(data.RESULT_CODE == '0000'){
-                    loadTaskData();
-                }else{
-                    $('#alertContext').html(data.RESULT_MSG);
-                    $('#alertModal').modal('show');
-                }
-
-                fadeLoader("OFF");
-              },
-              error:function(data){
-                // 失败时运行,目前不处理
-                $('#alertContext').html('删除任务失败!'+data);
-                $('#alertModal').modal('show');
-                fadeLoader("OFF");
-              }
-            });
-        // 关闭加载框
-}
-/** 新增任务* */
-function newTask(){
-    $('#newTaskModal').modal('show').css({
-                        width: 'auto'
-                    });
-    // 清除老值
-    clearNewTaskInputValue();
-}
-/**
- * 打开新的新增任务时需要清除原前的值。
- */
-function clearNewTaskInputValue(){
-    $('#taskNameNew').val('');
-    $('#taskCronNew').val('');
-    $('#tNumNew').val('');
-    $('#upNulNew').val('');
-    $('#errPhoneNew').val('');
-    $('#preFlagNew').val('');
-    $('#preFunctionNew').val('');
-    $('#afterFlagNew').val('');
-    $('#afterFunctionNew').val('');
-    $('#uOrDNew').val('');
-    $('#fileNameNew').val('');
-
-    $("div[name='taskAttrsNew']").remove();
-
-    $('#error_alert_divNew').attr('class','alert alert-danger alert-dismissible hidden');
-}
-/** 编辑任务* */
-function editTask(){
-    var choiceCheckBoxCount = 0;
-    var taskId = 0;
-     $("input[name='choiceCheckBox']").each(
-                function(){
-                    if($(this).prop('checked')){
-                       choiceCheckBoxCount ++;
-                       taskId = $(this).val();
-                    }
-                }
-            );
-     if(choiceCheckBoxCount > 1){
-         $('#alertContext').html('编辑时只能选中一个任务操作,目前选中了【'+choiceCheckBoxCount+'】');
-          $('#alertModal').modal('show');
-          return ;
-     }
-     if(choiceCheckBoxCount < 1){
-         $('#alertContext').html('请选中一个任务,进行编辑!');
-         $('#alertModal').modal('show');
-         return ;
-     }
-
-    // 清除以前的数据
-    clearEditTaskInputValue();
-
-    // 将选中的数据填充值编辑面板
-    fillEditTaskInputValue(taskId);
-
-    $('#editTaskModal').modal('show').css({
-                            width: 'auto'
-                        });
-}
-
-/**
- * 打开新的编辑任务时需要清除原前的值。
- */
-function clearEditTaskInputValue(){
-    $('#taskIdEdit').val('');
-    $('#taskNameEdit').val('');
-    $('#taskCronEdit').val('');
-    $('#tNumEdit').val('');
-    $('#upNulEdit').val('');
-    $('#errPhoneEdit').val('');
-    $('#preFlagEdit').val('');
-    $('#preFunctionEdit').val('');
-    $('#afterFlagEdit').val('');
-    $('#afterFunctionEdit').val('');
-    $('#uOrDEdit').val('');
-    $('#fileNameEdit').val('');
-
-    $("div[name='taskAttrsEdit']").remove();
-    $('#error_alert_divEdit').attr('class','alert alert-danger alert-dismissible hidden');
-}
-/**
- * 将选中的数据填充值编辑面板
- */
-function fillEditTaskInputValue(taskId){
-    $('#taskIdEdit').val(taskId);
-    $('#taskNameEdit').val($('#taskName_'+taskId).val());
-    $('#taskCronEdit').val($('#taskTaskcron_'+taskId).val());
-    $('#tNumEdit').val($('#taskTnum_'+taskId).val());
-    $('#upNulEdit').val($('#taskUpNul_'+taskId).val());
-    $('#errPhoneEdit').val($('#taskErrPhone_'+taskId).val());
-    $('#upNulEdit').val($('#taskUpnull_'+taskId).val());
-    $('#preFlagEdit').val($('#taskPreFlag_'+taskId).val());
-    $('#preFunctionEdit').val($('#taskPreFunction_'+taskId).val());
-    $('#afterFlagEdit').val($('#taskAfterFlag_'+taskId).val());
-    $('#afterFunctionEdit').val($('#taskAfterFunction_'+taskId).val());
-    $('#uOrDEdit').val($('#taskUOrD_'+taskId).val());
-    $('#fileNameEdit').val($('#taskFileName_'+taskId).val());
-    // 根据当前的模板查询
-    var obj = new Object();
-    obj.value=$('#taskUOrD_'+taskId).val();
-    obj.taskId = taskId;
-    queryTaskAttr(obj,'Edit');  
-}
-/**
- * 获取属性值
- */
-function queryTaskAttrData(taskId){
-
-        var requestParam = "{'taskId':"+taskId+"}";
-
-        $.ajax({
-          type: 'POST',
-          url: '/HcFtpToFileSystemConfigList/queryTaskAttrs',
-          data: {
-                ftpItemJson:requestParam
-          },
-          dataType: 'json',
-          success: function(data){
-            // 重新加载数据
-            if(data.RESULT_CODE == '0000'){
-                // 将模板显示在新建任务面板上
-                fillEditTaskAttrInputValue(data);
-            }else{
-                $('#alertContext').html(data.RESULT_MSG);
-                $('#alertModal').modal('show');
-            }
-            fadeLoader("OFF");
-          },
-          error:function(data){
-            // 失败时运行,目前不处理
-            $('#alertContext').html('加载模板失败,可能是没有配置模板!'+data);
-            $('#alertModal').modal('show');
-            fadeLoader("OFF");
-          }
-        });
-}
-
-function fillEditTaskAttrInputValue(data){
-    var resultInfo = eval("("+data.RESULT_INFO+")");
-
-    var taskAttrs = resultInfo.TASK_ATTRS;
-
-    for(var taskAttrIndex = 0 ;taskAttrIndex < taskAttrs.length;taskAttrIndex ++){
-        var taskAttr = taskAttrs[taskAttrIndex];
-        var itemSpecCd = taskAttr.ITEM_SPEC_ID;
-        var value = taskAttr.VALUE;
-
-        $('#'+itemSpecCd+'Edit').val(value);
-    }
-}
-/**
- * 获取任务属性
- */
-function queryTaskAttr(obj,doType){
-
-    if(obj == null) {
-        return ;
-    }
-
-    var taskTample = obj.value;
-    if ('U' == taskTample){
-        return "改功能未开放请等待!!!!!!!!!!!!!!";
-    }
-
-    var requestParam = "{'uOrD':'"+taskTample+"'}";
-    // 请求处理
-     $.ajax({
-          type: 'POST',
-          url: '/HcFtpToFileSystemConfigList/questTaskTample',
-          data: {
-                ftpItemJson:requestParam
-          },
-          dataType: 'json',
-          success: function(data){
-            // 重新加载数据
-            if(data.RESULT_CODE == '0000'){
-                // 将模板显示在新建任务面板上
-                showTample(eval("("+data.RESULT_INFO+")"),doType);
-                if(doType == "Edit"){ // 如果是编辑,填充数据
-                	// 调用后台查询对应数据填充属性
-                    queryTaskAttrData(obj.taskId);  	
-                }
-            }else{
-                $('#alertContext').html(data.RESULT_MSG);
-                $('#alertModal').modal('show');
-            }
-            fadeLoader("OFF");
-          },
-          error:function(data){
-            // 失败时运行,目前不处理
-            $('#alertContext').html('加载模板失败,可能是没有配置模板!'+data);
-            $('#alertModal').modal('show');
-            fadeLoader("OFF");
-          }
-        });
-}
-/**
- * 显示模板
- */
-function showTample(obj,doType){
-    var taskTample = obj.U_OR_D;
-    var taskItems = obj.TASK_ITEMS;
-    var taskAttrs = "";
-    for(var itemIntex = 0 ;itemIntex < taskItems.length; itemIntex++){
-        if(itemIntex % 3 == 0){
-            taskAttrs += "<div class='row' name='taskAttrs"+doType+"'>";
-        }
-        taskAttrs = taskAttrs
-                  + "<div class='col-md-4 form-group form-horizontal'>"
-                  + "<label class='col-md-4 control-label'>"+taskItems[itemIntex].NAME+":</label>"
-                  + "<div class='col-md-8'>"
-                  + "<input type='text' class='form-control' name='"+taskItems[itemIntex].ITEM_SPEC_CD+doType+"' id='"+taskItems[itemIntex].ITEM_SPEC_CD+doType+"'  placeholder='"+taskItems[itemIntex].DESCRIBE+"'/>"
-                  + "</div>"
-                  + "</div>";
-        if(itemIntex % 3 == 2){
-             taskAttrs += "</div>";
-         }
-    }
-    // 判断最后一行如果不够三个时需要加</div>的情况
-    if(taskItems.length % 3 != 0){
-        taskAttrs += "</div>";
-    }
-    $("div[name='taskAttrs"+doType+"']").remove();
-    $('#lastTastInfoDiv'+doType).after(taskAttrs);
-}
-/**
- * 保存任务信息
- */
-function saveTaskInfo(doType){
-
-    var taskNameNew = $('#taskName'+doType).val();
-    var taskCronNew = $('#taskCron'+doType).val();
-    var tNumNew = $('#tNum'+doType).val();
-    var upNulNew = $('#upNul'+doType).val();
-    var errPhoneNew = $('#errPhone'+doType).val();
-    var preFlagNew = $('#preFlag'+doType).val();
-    var preFunctionNew = $('#preFunction'+doType).val();
-    var afterFlagNew = $('#afterFlag'+doType).val();
-    var afterFunctionNew = $('#afterFunction'+doType).val();
-    var uOrDNew = $('#uOrD'+doType).val();
-    var fileNameNew = $('#fileName'+doType).val();
-    var taskId = -1;
-    var url = "/HcFtpToFileSystemConfigList/addFtpItem";// 新增时的URL
-    if(doType == 'Edit'){
-        url = '/HcFtpToFileSystemConfigList/editFtpItem';// 编辑时的URL
-        taskId = $('#taskId'+doType).val();
-    }
-    var taskAttrsInputs = $("div[name='taskAttrs"+doType+"'] input");
-    var taskAttrs = "["; // 任务属性#itemSpecId#,#value#
-    for(var taskAttrInputIndex = 0 ; taskAttrInputIndex < taskAttrsInputs.length;taskAttrInputIndex++){
-           var taskAttrsInput = taskAttrsInputs[taskAttrInputIndex];
-           taskAttrs += ('{"itemSpecId":"'+$(taskAttrsInput).attr('name').substring(0,$(taskAttrsInput).attr('name').length-doType.length)+'","value":"'+$(taskAttrsInput).val()+'"},');
-    }
-    // 模板配置有问题,无法获取属性信息
-    if(taskAttrs.length == 1){
-        $('#errorAlertInfo'+doType).html("模板配置有问题,无法获取属性信息,请联系管理员");
-        $('#error_alert_div'+doType).attr('class','alert alert-danger alert-dismissible show');
-        return;
-    }
-
-    taskAttrs = taskAttrs.substring(0,taskAttrs.length-1) + "]";
-
-     // 组装参数
-    var taskInfo = '{"taskId":'+taskId+',"taskName":"'+taskNameNew+'","taskCron":"'+taskCronNew+'","tNum":"'
-                        +tNumNew+'","upNull":"'+upNulNew+'","errPhone":"'+errPhoneNew+'","preFlag":"'
-                        +preFlagNew+'","preFunction":"'+preFunctionNew+'","afterFlag":"'+afterFlagNew+'","afterFunction":"'
-                        +afterFunctionNew+'","uOrD":"'+uOrDNew+'","fileName":"'+fileNameNew+'"}';
-    var requestParam = '{"taskInfo":'+taskInfo+',"taskAttrs":'+taskAttrs+'}'
-    var validateObj = validate(requestParam);
-    if(validateObj.RESULT_CODE != 0){ // 校验失败
-        $('#errorAlertInfo'+doType).html(validateObj.RESULT_MSG);
-        $('#error_alert_div'+doType).attr('class','alert alert-danger alert-dismissible show');
-        return;
-    }
-    fadeLoader("ON");
-
-    // 请求处理
-     $.ajax({
-          type: 'POST',
-          url: url,
-          data: {
-                ftpItemJson:requestParam
-          },
-          dataType: 'json',
-          success: function(data){
-            // 重新加载数据
-            if(data.RESULT_CODE == '0000'){
-                // 将模板显示在新建任务面板上
-                if(doType == 'Edit'){
-                    $('#editTaskModal').modal('hide');
-                }else{
-                    $('#newTaskModal').modal('hide');
-                }
-                loadTaskData();
-            }else{
-                $('#errorAlertInfo'+doType).html(data.RESULT_MSG);
-                $('#error_alert_div'+doType).attr('class','alert alert-danger alert-dismissible show');
-            }
-            fadeLoader("OFF");
-          },
-          error:function(data){
-            // 失败时运行,目前不处理
-            $('#errorAlertInfo'+doType).html(data.RESULT_MSG);
-            $('#error_alert_div'+doType).attr('class','alert alert-danger alert-dismissible show');
-            fadeLoader("OFF");
-          }
-        });
-}
-/**
- * 根据任务名称或任务ID模糊查询
- * @return
- */
-function searchTaskByNameOrId(){
-	var taskName = $('#taskName').val();
-	
-	if(taskName == null || taskName == ''){
-		loadTaskDataPage(1);
-		return ;
-	}
-	var requestParam = '{"taskName":"'+taskName+'"}';
-	$.ajax({
-	      type: 'POST',
-	      url: '../FtpToFileSystem_searchTaskByNameOrId.action',
-	      data: {
-			ftpItemJson:requestParam
-	      },
-	      dataType: 'json',
-	      success: function(data){
-	        // 成功时运行
-	        dealQueryData(data);
-	      },
-	      error:function(data){
-	        // 失败时运行,目前不处理
-	          $('#alertContext').html('网络超时!查询数据失败'+data);
-	          $('#alertModal').modal('show');
-	          return;
-	      }
-	    });
-
-}
-/**
- * 校验
- */
-function validate(requestParam){
-    var validateObj = new Object();
-    validateObj.RESULT_CODE = 0;
-    validateObj.RESULT_MSG = '文件名称错误,请仔细检查';
-    return validateObj;
-}
-
-/** 加载层* */
-function fadeLoader(data){
-    if(data == 'ON'){
-        $('#loader').show();
-    }else{
-        $('#loader').hide();
-    }
-}
-

+ 0 - 656
service-job/src/main/resources/static/js/bootstrap-paginator.js

@@ -1,656 +0,0 @@
-/**
- * bootstrap-paginator.js v0.5
- * --
- * Copyright 2013 Yun Lai <lyonlai1984@gmail.com>
- * --
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-(function ($) {
-
-    "use strict"; // jshint ;_;
-
-
-    /* Paginator PUBLIC CLASS DEFINITION
-     * ================================= */
-
-    /**
-     * Boostrap Paginator Constructor
-     *
-     * @param element element of the paginator
-     * @param options the options to config the paginator
-     *
-     * */
-    var BootstrapPaginator = function (element, options) {
-        this.init(element, options);
-    },
-        old = null;
-
-    BootstrapPaginator.prototype = {
-
-        /**
-         * Initialization function of the paginator, accepting an element and the options as parameters
-         *
-         * @param element element of the paginator
-         * @param options the options to config the paginator
-         *
-         * */
-        init: function (element, options) {
-
-            this.$element = $(element);
-
-            var version = (options && options.bootstrapMajorVersion) ? options.bootstrapMajorVersion : $.fn.bootstrapPaginator.defaults.bootstrapMajorVersion,
-                id = this.$element.attr("id");
-            if (version === 2 && !this.$element.is("div")) {
-
-                throw "in Bootstrap version 2 the pagination must be a div element. Or if you are using Bootstrap pagination 3. Please specify it in bootstrapMajorVersion in the option";
-            } else if (version > 2 && !this.$element.is("ul")) {
-                throw "in Bootstrap version 3 the pagination root item must be an ul element."
-            }
-
-
-
-            this.currentPage = 1;
-
-            this.lastPage = 1;
-
-            this.setOptions(options);
-
-            this.initialized = true;
-        },
-
-        /**
-         * Update the properties of the paginator element
-         *
-         * @param options options to config the paginator
-         * */
-        setOptions: function (options) {
-
-            this.options = $.extend({}, (this.options || $.fn.bootstrapPaginator.defaults), options);
-
-            this.totalPages = parseInt(this.options.totalPages, 10);  //setup the total pages property.
-            this.numberOfPages = parseInt(this.options.numberOfPages, 10); //setup the numberOfPages to be shown
-
-            //move the set current page after the setting of total pages. otherwise it will cause out of page exception.
-            if (options && typeof (options.currentPage)  !== 'undefined') {
-
-                this.setCurrentPage(options.currentPage);
-            }
-
-            this.listen();
-
-            //render the paginator
-            this.render();
-
-            if (!this.initialized && this.lastPage !== this.currentPage) {
-                this.$element.trigger("page-changed", [this.lastPage, this.currentPage]);
-            }
-
-        },
-
-        /**
-         * Sets up the events listeners. Currently the pageclicked and pagechanged events are linked if available.
-         *
-         * */
-        listen: function () {
-
-            this.$element.off("page-clicked");
-
-            this.$element.off("page-changed");// unload the events for the element
-
-            if (typeof (this.options.onPageClicked) === "function") {
-                this.$element.bind("page-clicked", this.options.onPageClicked);
-            }
-
-            if (typeof (this.options.onPageChanged) === "function") {
-                this.$element.on("page-changed", this.options.onPageChanged);
-            }
-
-            this.$element.bind("page-clicked", this.onPageClicked);
-        },
-
-
-        /**
-         *
-         *  Destroys the paginator element, it unload the event first, then empty the content inside.
-         *
-         * */
-        destroy: function () {
-
-            this.$element.off("page-clicked");
-
-            this.$element.off("page-changed");
-
-            this.$element.removeData('bootstrapPaginator');
-
-            this.$element.empty();
-
-        },
-
-        /**
-         * Shows the page
-         *
-         * */
-        show: function (page) {
-
-            this.setCurrentPage(page);
-
-            this.render();
-
-            if (this.lastPage !== this.currentPage) {
-                this.$element.trigger("page-changed", [this.lastPage, this.currentPage]);
-            }
-        },
-
-        /**
-         * Shows the next page
-         *
-         * */
-        showNext: function () {
-            var pages = this.getPages();
-
-            if (pages.next) {
-                this.show(pages.next);
-            }
-
-        },
-
-        /**
-         * Shows the previous page
-         *
-         * */
-        showPrevious: function () {
-            var pages = this.getPages();
-
-            if (pages.prev) {
-                this.show(pages.prev);
-            }
-
-        },
-
-        /**
-         * Shows the first page
-         *
-         * */
-        showFirst: function () {
-            var pages = this.getPages();
-
-            if (pages.first) {
-                this.show(pages.first);
-            }
-
-        },
-
-        /**
-         * Shows the last page
-         *
-         * */
-        showLast: function () {
-            var pages = this.getPages();
-
-            if (pages.last) {
-                this.show(pages.last);
-            }
-
-        },
-
-        /**
-         * Internal on page item click handler, when the page item is clicked, change the current page to the corresponding page and
-         * trigger the pageclick event for the listeners.
-         *
-         *
-         * */
-        onPageItemClicked: function (event) {
-
-            var type = event.data.type,
-                page = event.data.page;
-
-            this.$element.trigger("page-clicked", [event, type, page]);
-
-        },
-
-        onPageClicked: function (event, originalEvent, type, page) {
-
-            //show the corresponding page and retrieve the newly built item related to the page clicked before for the event return
-
-            var currentTarget = $(event.currentTarget);
-
-            switch (type) {
-            case "first":
-                currentTarget.bootstrapPaginator("showFirst");
-                break;
-            case "prev":
-                currentTarget.bootstrapPaginator("showPrevious");
-                break;
-            case "next":
-                currentTarget.bootstrapPaginator("showNext");
-                break;
-            case "last":
-                currentTarget.bootstrapPaginator("showLast");
-                break;
-            case "page":
-                currentTarget.bootstrapPaginator("show", page);
-                break;
-            }
-
-        },
-
-        /**
-         * Renders the paginator according to the internal properties and the settings.
-         *
-         *
-         * */
-        render: function () {
-
-            //fetch the container class and add them to the container
-            var containerClass = this.getValueFromOption(this.options.containerClass, this.$element),
-                size = this.options.size || "normal",
-                alignment = this.options.alignment || "left",
-                pages = this.getPages(),
-                listContainer = this.options.bootstrapMajorVersion === 2 ? $("<ul></ul>") : this.$element,
-                listContainerClass = this.options.bootstrapMajorVersion === 2 ? this.getValueFromOption(this.options.listContainerClass, listContainer) : null,
-                first = null,
-                prev = null,
-                next = null,
-                last = null,
-                p = null,
-                i = 0;
-
-
-            this.$element.prop("class", "");
-
-            this.$element.addClass("pagination");
-
-            switch (size.toLowerCase()) {
-            case "large":
-            case "small":
-            case "mini":
-                this.$element.addClass($.fn.bootstrapPaginator.sizeArray[this.options.bootstrapMajorVersion][size.toLowerCase()]);
-                break;
-            default:
-                break;
-            }
-
-            if (this.options.bootstrapMajorVersion === 2) {
-                switch (alignment.toLowerCase()) {
-                case "center":
-                    this.$element.addClass("pagination-centered");
-                    break;
-                case "right":
-                    this.$element.addClass("pagination-right");
-                    break;
-                default:
-                    break;
-                }
-            }
-
-
-            this.$element.addClass(containerClass);
-
-            //empty the outter most container then add the listContainer inside.
-            this.$element.empty();
-
-            if (this.options.bootstrapMajorVersion === 2) {
-                this.$element.append(listContainer);
-
-                listContainer.addClass(listContainerClass);
-            }
-
-            //update the page element reference
-            this.pageRef = [];
-
-            if (pages.first) {//if the there is first page element
-                first = this.buildPageItem("first", pages.first);
-
-                if (first) {
-                    listContainer.append(first);
-                }
-
-            }
-
-            if (pages.prev) {//if the there is previous page element
-
-                prev = this.buildPageItem("prev", pages.prev);
-
-                if (prev) {
-                    listContainer.append(prev);
-                }
-
-            }
-
-
-            for (i = 0; i < pages.length; i = i + 1) {//fill the numeric pages.
-
-                p = this.buildPageItem("page", pages[i]);
-
-                if (p) {
-                    listContainer.append(p);
-                }
-            }
-
-            if (pages.next) {//if there is next page
-
-                next = this.buildPageItem("next", pages.next);
-
-                if (next) {
-                    listContainer.append(next);
-                }
-            }
-
-            if (pages.last) {//if there is last page
-
-                last = this.buildPageItem("last", pages.last);
-
-                if (last) {
-                    listContainer.append(last);
-                }
-            }
-        },
-
-        /**
-         *
-         * Creates a page item base on the type and page number given.
-         *
-         * @param page page number
-         * @param type type of the page, whether it is the first, prev, page, next, last
-         *
-         * @return Object the constructed page element
-         * */
-        buildPageItem: function (type, page) {
-
-            var itemContainer = $("<li></li>"),//creates the item container
-                itemContent = $("<a></a>"),//creates the item content
-                text = "",
-                title = "",
-                itemContainerClass = this.options.itemContainerClass(type, page, this.currentPage),
-                itemContentClass = this.getValueFromOption(this.options.itemContentClass, type, page, this.currentPage),
-                tooltipOpts = null;
-
-
-            switch (type) {
-
-            case "first":
-                if (!this.getValueFromOption(this.options.shouldShowPage, type, page, this.currentPage)) { return; }
-                text = this.options.itemTexts(type, page, this.currentPage);
-                title = this.options.tooltipTitles(type, page, this.currentPage);
-                break;
-            case "last":
-                if (!this.getValueFromOption(this.options.shouldShowPage, type, page, this.currentPage)) { return; }
-                text = this.options.itemTexts(type, page, this.currentPage);
-                title = this.options.tooltipTitles(type, page, this.currentPage);
-                break;
-            case "prev":
-                if (!this.getValueFromOption(this.options.shouldShowPage, type, page, this.currentPage)) { return; }
-                text = this.options.itemTexts(type, page, this.currentPage);
-                title = this.options.tooltipTitles(type, page, this.currentPage);
-                break;
-            case "next":
-                if (!this.getValueFromOption(this.options.shouldShowPage, type, page, this.currentPage)) { return; }
-                text = this.options.itemTexts(type, page, this.currentPage);
-                title = this.options.tooltipTitles(type, page, this.currentPage);
-                break;
-            case "page":
-                if (!this.getValueFromOption(this.options.shouldShowPage, type, page, this.currentPage)) { return; }
-                text = this.options.itemTexts(type, page, this.currentPage);
-                title = this.options.tooltipTitles(type, page, this.currentPage);
-                break;
-            }
-
-            itemContainer.addClass(itemContainerClass).append(itemContent);
-
-            itemContent.addClass(itemContentClass).html(text).on("click", null, {type: type, page: page}, $.proxy(this.onPageItemClicked, this));
-
-            if (this.options.pageUrl) {
-                itemContent.attr("href", this.getValueFromOption(this.options.pageUrl, type, page, this.currentPage));
-            }
-
-            if (this.options.useBootstrapTooltip) {
-                tooltipOpts = $.extend({}, this.options.bootstrapTooltipOptions, {title: title});
-
-                itemContent.tooltip(tooltipOpts);
-            } else {
-                itemContent.attr("title", title);
-            }
-
-            return itemContainer;
-
-        },
-
-        setCurrentPage: function (page) {
-            if (page > this.totalPages || page < 1) {// if the current page is out of range, throw exception.
-
-                throw "Page out of range";
-
-            }
-
-            this.lastPage = this.currentPage;
-
-            this.currentPage = parseInt(page, 10);
-
-        },
-
-        /**
-         * Gets an array that represents the current status of the page object. Numeric pages can be access via array mode. length attributes describes how many numeric pages are there. First, previous, next and last page can be accessed via attributes first, prev, next and last. Current attribute marks the current page within the pages.
-         *
-         * @return object output objects that has first, prev, next, last and also the number of pages in between.
-         * */
-        getPages: function () {
-
-            var totalPages = this.totalPages,// get or calculate the total pages via the total records
-                pageStart = (this.currentPage % this.numberOfPages === 0) ? (parseInt(this.currentPage / this.numberOfPages, 10) - 1) * this.numberOfPages + 1 : parseInt(this.currentPage / this.numberOfPages, 10) * this.numberOfPages + 1,//calculates the start page.
-                output = [],
-                i = 0,
-                counter = 0;
-
-            pageStart = pageStart < 1 ? 1 : pageStart;//check the range of the page start to see if its less than 1.
-
-            for (i = pageStart, counter = 0; counter < this.numberOfPages && i <= totalPages; i = i + 1, counter = counter + 1) {//fill the pages
-                output.push(i);
-            }
-
-            output.first = 1;//add the first when the current page leaves the 1st page.
-
-            if (this.currentPage > 1) {// add the previous when the current page leaves the 1st page
-                output.prev = this.currentPage - 1;
-            } else {
-                output.prev = 1;
-            }
-
-            if (this.currentPage < totalPages) {// add the next page when the current page doesn't reach the last page
-                output.next = this.currentPage + 1;
-            } else {
-                output.next = totalPages;
-            }
-
-            output.last = totalPages;// add the last page when the current page doesn't reach the last page
-
-            output.current = this.currentPage;//mark the current page.
-
-            output.total = totalPages;
-
-            output.numberOfPages = this.options.numberOfPages;
-
-            return output;
-
-        },
-
-        /**
-         * Gets the value from the options, this is made to handle the situation where value is the return value of a function.
-         *
-         * @return mixed value that depends on the type of parameters, if the given parameter is a function, then the evaluated result is returned. Otherwise the parameter itself will get returned.
-         * */
-        getValueFromOption: function (value) {
-
-            var output = null,
-                args = Array.prototype.slice.call(arguments, 1);
-
-            if (typeof value === 'function') {
-                output = value.apply(this, args);
-            } else {
-                output = value;
-            }
-
-            return output;
-
-        }
-
-    };
-
-
-    /* TYPEAHEAD PLUGIN DEFINITION
-     * =========================== */
-
-    old = $.fn.bootstrapPaginator;
-
-    $.fn.bootstrapPaginator = function (option) {
-
-        var args = arguments,
-            result = null;
-
-        $(this).each(function (index, item) {
-            var $this = $(item),
-                data = $this.data('bootstrapPaginator'),
-                options = (typeof option !== 'object') ? null : option;
-
-            if (!data) {
-                data = new BootstrapPaginator(this, options);
-
-                $this = $(data.$element);
-
-                $this.data('bootstrapPaginator', data);
-
-                return;
-            }
-
-            if (typeof option === 'string') {
-
-                if (data[option]) {
-                    result = data[option].apply(data, Array.prototype.slice.call(args, 1));
-                } else {
-                    throw "Method " + option + " does not exist";
-                }
-
-            } else {
-                result = data.setOptions(option);
-            }
-        });
-
-        return result;
-
-    };
-
-    $.fn.bootstrapPaginator.sizeArray = {
-
-        "2": {
-            "large": "pagination-large",
-            "small": "pagination-small",
-            "mini": "pagination-mini"
-        },
-        "3": {
-            "large": "pagination-lg",
-            "small": "pagination-sm",
-            "mini": ""
-        }
-
-    };
-
-    $.fn.bootstrapPaginator.defaults = {
-        containerClass: "",
-        size: "normal",
-        alignment: "left",
-        bootstrapMajorVersion: 2,
-        listContainerClass: "",
-        itemContainerClass: function (type, page, current) {
-            return (page === current) ? "active" : "";
-        },
-        itemContentClass: function (type, page, current) {
-            return "";
-        },
-        currentPage: 1,
-        numberOfPages: 5,
-        totalPages: 1,
-        pageUrl: function (type, page, current) {
-            return null;
-        },
-        onPageClicked: null,
-        onPageChanged: null,
-        useBootstrapTooltip: false,
-        shouldShowPage: function (type, page, current) {
-
-            var result = true;
-
-            switch (type) {
-            case "first":
-                result = (current !== 1);
-                break;
-            case "prev":
-                result = (current !== 1);
-                break;
-            case "next":
-                result = (current !== this.totalPages);
-                break;
-            case "last":
-                result = (current !== this.totalPages);
-                break;
-            case "page":
-                result = true;
-                break;
-            }
-
-            return result;
-
-        },
-        itemTexts: function (type, page, current) {
-            switch (type) {
-            case "first":
-                return "&lt;&lt;";
-            case "prev":
-                return "&lt;";
-            case "next":
-                return "&gt;";
-            case "last":
-                return "&gt;&gt;";
-            case "page":
-                return page;
-            }
-        },
-        tooltipTitles: function (type, page, current) {
-
-            switch (type) {
-            case "first":
-                return "Go to first page";
-            case "prev":
-                return "Go to previous page";
-            case "next":
-                return "Go to next page";
-            case "last":
-                return "Go to last page";
-            case "page":
-                return (page === current) ? "Current page is " + page : "Go to page " + page;
-            }
-        },
-        bootstrapTooltipOptions: {
-            animation: true,
-            html: true,
-            placement: 'top',
-            selector: false,
-            title: "",
-            container: false
-        }
-    };
-
-    $.fn.bootstrapPaginator.Constructor = BootstrapPaginator;
-
-
-
-}(window.jQuery));

Plik diff jest za duży
+ 0 - 2363
service-job/src/main/resources/static/js/bootstrap.js


Plik diff jest za duży
+ 0 - 7
service-job/src/main/resources/static/js/bootstrap.min.js


Plik diff jest za duży
+ 0 - 5
service-job/src/main/resources/static/js/jquery.min.js


+ 0 - 543
service-job/src/main/resources/templates/HcFtpToFileSystemConfigList.html

@@ -1,543 +0,0 @@
-<html>
-	<head>
-		<meta charset="UTF-8">
-		<title>通用定时任务处理</title>
-		<!--    <link rel="stylesheet" href="../ftpcss/bootstrap-combined.min.css"/>-->
-		<link rel="stylesheet" type="text/css" href="../css/bootstrap.min.css" />
-		<link rel="stylesheet" type="text/css" href="../css/HcFtpToFileSystemConfigList.css" />
-	</head>
-	<body>
-		<nav class="navbar navbar-default" role="navigation">
-		<div class="container">
-			<div class="row">
-				<div class="col-md-4">
-					<p class="navbar-text">
-						<span>位置:</span>
-						<a href="https://demo.java110.com">HC平台</a>
-						<span class="glyphicon glyphicon-menu-right "
-							style="font-size: 6px;"></span>
-						<span>通用定时任务处理</span>
-					</p>
-				</div>
-			</div>
-		</div>
-		</nav>
-		<div class="container">
-			<div class="row">
-				<div class="col-md-3">
-					<div class="input-group">
-						<input type="text" id="taskName" class="form-control"
-							placeholder="请输入任务名称或任务ID">
-						<span class="input-group-btn">
-							<button class="btn btn-default" type="button" onclick="searchTaskByNameOrId()">
-								查询
-							</button> </span>
-					</div>
-				</div>
-				<div class="col-md-5">
-				</div>
-				<div class="col-md-4">
-					<div class="col-md-2">
-						<button class="btn btn-success" type="button" onclick="startJob()">
-							启动
-						</button>
-					</div>
-					<div class="col-md-2">
-						<button class="btn btn-danger" type="button" onclick="stopJob()">
-							停止
-						</button>
-					</div>
-					<div class="col-md-2">
-						<button class="btn btn-primary" type="button" onclick="newTask()">
-							新增
-						</button>
-					</div>
-					<div class="col-md-2">
-						<button class="btn btn-info" type="button" onclick="editTask()">
-							编辑
-						</button>
-					</div>
-					<div class="col-md-2">
-						<button class="btn btn-warning" type="button"
-							onclick="deleteTask()">
-							删除
-						</button>
-					</div>
-				</div>
-
-			</div>
-
-		</div>
-
-		<div class="container" style="margin-top: 20px">
-			<table class="table table-bordered table-hover">
-				<thead>
-					<tr class="active">
-						<th class="text-center">
-							选择
-						</th>
-						<th class="text-center">
-							任务ID
-						</th>
-						<th class="text-center">
-							任务名称
-						</th>
-						<th class="text-center">
-							运行时间
-						</th>
-						<th class="text-center">
-							传输类型
-						</th>
-						<th class="text-center">
-							创建时间
-						</th>
-						<th class="text-center">
-							运行状态
-						</th>
-						<th class="text-center">
-							启停状态
-						</th>
-						<th class="text-center">
-							线程数
-						</th>
-						<!--<th class="text-center">
-							操作
-						</th>-->
-					</tr>
-				</thead>
-				<tbody id="tasksContext">
-
-				</tbody>
-			</table>
-
-		</div>
-		<!-- 分页 -->
-		<div class="container text-center">
-			<ul id="saopPagination" class="pagination">
-				
-			</ul>
-		</div>
-
-		<!-- 新增任务模态框(Modal) -->
-		<div class="modal fade" id="newTaskModal" tabindex="-1" role="dialog"
-			aria-labelledby="newTaskModalLabel" aria-hidden="true">
-			<div class="modal-dialog modal-dialog-task">
-				<div class="modal-content">
-					<div class="modal-header">
-						<button type="button" class="close" data-dismiss="modal"
-							aria-hidden="true">
-							&times;
-						</button>
-						<h4 class="modal-title" id="newTaskModalLabel">
-							新增任务
-						</h4>
-					</div>
-					<div class="modal-body">
-						<div class="alert alert-danger alert-dismissible hidden"
-							role="alert" aria-hidden="true" id="error_alert_divNew">
-							<button type="button" class="close"
-								onclick="$('#error_alert_div').attr('class','alert alert-danger alert-dismissible hidden');">
-								<span aria-hidden="true">&times;</span>
-							</button>
-							<strong>校验失败</strong>
-							<span id="errorAlertInfoNew"></span>
-						</div>
-						<div class="row">
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									任务名称:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="taskNameNew"
-										id="taskNameNew" placeholder="请输入任务名称" />
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									执行时间:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="taskCronNew"
-										id="taskCronNew" placeholder="请输入执行时间,quartz 时间表达式" />
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									线程个数:
-								</label>
-								<div class="col-md-8">
-									<input type="number" class="form-control" name="tNumNew"
-										id="tNumNew" placeholder="请输入线程个数" />
-								</div>
-							</div>
-						</div>
-
-						<div class="row">
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									是否空传:
-								</label>
-								<div class="col-md-8">
-									<select class="form-control" name="upNulNew" id="upNulNew">
-										<option value="0">
-											不需要空传
-										</option>
-										<option value="1">
-											需要空传
-										</option>
-									</select>
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									告警号码:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="errPhoneNew"
-										id="errPhoneNew" placeholder="请输入执行失败时的告警号码" />
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									事前处理:
-								</label>
-								<div class="col-md-8">
-									<select class="form-control" name="preFlagNew" id="preFlagNew">
-										<option value="1">
-											不需要事前处理
-										</option>
-										<option value="0">
-											需要事前处理
-										</option>
-									</select>
-								</div>
-							</div>
-						</div>
-
-						<div class="row">
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									事前过程:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="preFunctionNew"
-										id="preFunctionNew" placeholder="请输入调用前处理过程名称" />
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									事后处理:
-								</label>
-								<div class="col-md-8">
-									<select class="form-control" name="afterFlagNew"
-										id="afterFlagNew">
-										<option value="1">
-											不需要事后处理
-										</option>
-										<option value="0">
-											需要事后处理
-										</option>
-									</select>
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									事后过程:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="afterFunctionNew"
-										id="afterFunctionNew" placeholder="请输入调用后处理过程名称" />
-								</div>
-							</div>
-						</div>
-
-						<div class="row" id="lastTastInfoDivNew">
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									任务模板:
-								</label>
-								<div class="col-md-8">
-									<select class="form-control" name="uOrDNew" id="uOrDNew"
-										onchange="queryTaskAttr(this,'New')">
-										<option value="U">
-											TFS文件保存至FTP
-										</option>
-										<option value="DT">
-											FTP文件保存至Table
-										</option>
-									</select>
-								</div>
-							</div>
-							<div class="col-md-8 form-group form-horizontal">
-								<label class="col-md-2 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									文件名称:
-								</label>
-								<div class="col-md-10">
-									<textarea class="form-control" id="fileNameNew"
-										name="fileNameNew" rows="2"
-										placeholder="请输入文件名称支持,时间格式######## sql语句和模糊匹配****"></textarea>
-								</div>
-							</div>
-						</div>
-
-
-					</div>
-					<div class="modal-footer">
-						<button type="button" class="btn btn-default" data-dismiss="modal">
-							关闭
-						</button>
-						<button type="button" class="btn btn-primary"
-							onclick="saveTaskInfo('New')">
-							保存
-						</button>
-					</div>
-				</div>
-				<!-- /.modal-content -->
-			</div>
-			<!-- /.modal -->
-		</div>
-
-
-
-		<!-- 编辑任务模态框(Modal) -->
-		<div class="modal fade" id="editTaskModal" tabindex="-1" role="dialog"
-			aria-labelledby="editTaskModalLabel" aria-hidden="true">
-			<div class="modal-dialog modal-dialog-task">
-				<div class="modal-content">
-					<div class="modal-header">
-						<button type="button" class="close" data-dismiss="modal"
-							aria-hidden="true">
-							&times;
-						</button>
-						<h4 class="modal-title" id="editTaskModalLabel">
-							编辑任务
-						</h4>
-					</div>
-					<div class="modal-body">
-						<div class="alert alert-danger alert-dismissible hidden"
-							role="alert" aria-hidden="true" id="error_alert_divEdit">
-							<button type="button" class="close"
-								onclick="$('#error_alert_div').attr('class','alert alert-danger alert-dismissible hidden');">
-								<span aria-hidden="true">&times;</span>
-							</button>
-							<strong>校验失败</strong>
-							<span id="errorAlertInfoEdit"></span>
-						</div>
-						<input type="hidden" id="taskIdEdit" name="taskIdEdit" value="" />
-						<div class="row">
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									任务名称:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="taskNameEdit"
-										id="taskNameEdit" placeholder="请输入任务名称" />
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									执行时间:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="taskCronEdit"
-										id="taskCronEdit" placeholder="请输入执行时间,quartz 时间表达式" />
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									线程个数:
-								</label>
-								<div class="col-md-8">
-									<input type="number" class="form-control" name="tNumEdit"
-										id="tNumEdit" placeholder="请输入线程个数" />
-								</div>
-							</div>
-						</div>
-
-						<div class="row">
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									是否空传:
-								</label>
-								<div class="col-md-8">
-									<select class="form-control" name="upNulEdit" id="upNulEdit">
-										<option value="0">
-											不需要空传
-										</option>
-										<option value="1">
-											需要空传
-										</option>
-									</select>
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									告警号码:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="errPhoneEdit"
-										id="errPhoneEdit" placeholder="请输入执行失败时的告警号码" />
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									事前处理:
-								</label>
-								<div class="col-md-8">
-									<select class="form-control" name="preFlagEdit"
-										id="preFlagEdit">
-										<option value="1">
-											不需要事前处理
-										</option>
-										<option value="0">
-											需要事前处理
-										</option>
-									</select>
-								</div>
-							</div>
-						</div>
-
-						<div class="row">
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									事前过程:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control" name="preFunctionEdit"
-										id="preFunctionEdit" placeholder="请输入调用前处理过程名称" />
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									事后处理:
-								</label>
-								<div class="col-md-8">
-									<select class="form-control" name="afterFlagEdit"
-										id="afterFlagEdit">
-										<option value="1">
-											不需要事后处理
-										</option>
-										<option value="0">
-											需要事后处理
-										</option>
-									</select>
-								</div>
-							</div>
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									事后过程:
-								</label>
-								<div class="col-md-8">
-									<input type="text" class="form-control"
-										name="afterFunctionEdit" id="afterFunctionEdit"
-										placeholder="请输入调用后处理过程名称" />
-								</div>
-							</div>
-						</div>
-
-						<div class="row" id="lastTastInfoDivEdit">
-							<div class="col-md-4 form-group form-horizontal">
-								<label class="col-md-4 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									任务模板:
-								</label>
-								<div class="col-md-8">
-									<select class="form-control" name="uOrDEdit" id="uOrDEdit"
-										onchange="queryTaskAttr(this,'Edit')">
-										<option value="D">
-											FTP文件保存至TFS
-										</option>
-										<option value="U">
-											TFS文件保存至FTP
-										</option>
-										<option value="DT">
-											FTP文件保存至Table
-										</option>
-									</select>
-								</div>
-							</div>
-							<div class="col-md-8 form-group form-horizontal">
-								<label class="col-md-2 control-label nopaddingright">
-									<span class="glyphicon glyphicon-asterisk required"></span>
-									文件名称:
-								</label>
-								<div class="col-md-10">
-									<textarea class="form-control" id="fileNameEdit"
-										name="fileNameEdit" rows="2"
-										placeholder="请输入文件名称支持,时间格式######## sql语句和模糊匹配****"></textarea>
-								</div>
-							</div>
-						</div>
-
-
-					</div>
-					<div class="modal-footer">
-						<button type="button" class="btn btn-default" data-dismiss="modal">
-							关闭
-						</button>
-						<button type="button" class="btn btn-primary"
-							onclick=
-	saveTaskInfo('Edit');
->
-							保存
-						</button>
-					</div>
-				</div>
-				<!-- /.modal-content -->
-			</div>
-			<!-- /.modal -->
-		</div>
-
-		<!--提示弹框-->
-		<div class="modal fade" id="alertModal" tabindex="-1" role="dialog"
-			aria-labelledby="alertModalLabel" aria-hidden="true">
-			<div class="modal-dialog">
-				<div class="modal-content">
-					<div class="modal-header">
-						<h4 class="modal-title" id="alertModalLabel">
-							温馨提示
-						</h4>
-					</div>
-					<div class="modal-body" id="alertContext"></div>
-					<div class="modal-footer modal-center">
-						<button type="button" class="btn btn-primary" data-dismiss="modal">
-							关闭
-						</button>
-					</div>
-				</div>
-				<!-- /.modal-content -->
-			</div>
-			<!-- /.modal -->
-		</div>
-
-		<!--加载效果-->
-		<div id="loader" style="display: none;">
-			<div id="loading" class="loading">
-				正在处理...
-			</div>
-			<div class="modal-backdrop in "></div>
-		</div>
-		<!--为了加速度,将js部分放入最后-->
-		<script type="text/javascript" src="../js/jquery.min.js"></script>
-		<script type="text/javascript" src="../js/bootstrap.min.js"></script>
-		<script type="text/javascript" src="../js/bootstrap-paginator.js"></script>
-		<script type="text/javascript"
-			src="../js/HcFtpToFileSystemConfigList.js"></script>
-	</body>
-</html>