soft5566 2 лет назад
Родитель
Сommit
de1c2b8299

+ 14 - 1
src/main/java/com/template/api/SmartDataTaskControllerAPI.java

@@ -2,6 +2,7 @@ package com.template.api;
 
 
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.template.model.pojo.SmartDataTask;
 import com.template.model.pojo.SmartDataTask;
+import com.template.model.pojo.SmartDataTaskErr;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
@@ -9,6 +10,7 @@ import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import javax.imageio.ImageIO;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 
 
 /**
 /**
@@ -86,7 +88,7 @@ public interface SmartDataTaskControllerAPI {
 
 
     @PostMapping(value = "/updateSmartDataTaskById2")
     @PostMapping(value = "/updateSmartDataTaskById2")
     @ApiOperation(value = "编辑数据源任务管理数据", notes = "编辑数据源任务管理数据-字段配置", httpMethod = "POST")
     @ApiOperation(value = "编辑数据源任务管理数据", notes = "编辑数据源任务管理数据-字段配置", httpMethod = "POST")
-    CommonResult updateSmartDataTaskById2(@Validated @RequestBody JSONObject json,  HttpServletRequest httpServletRequest, BindingResult bindingResult);
+    CommonResult updateSmartDataTaskById2(@Validated @RequestBody JSONObject json, HttpServletRequest httpServletRequest, BindingResult bindingResult);
 
 
     @PostMapping(value = "/updateSmartDataTaskById3")
     @PostMapping(value = "/updateSmartDataTaskById3")
     @ApiOperation(value = "编辑数据源任务管理数据", notes = "编辑数据源任务管理数据-定时信息", httpMethod = "POST")
     @ApiOperation(value = "编辑数据源任务管理数据", notes = "编辑数据源任务管理数据-定时信息", httpMethod = "POST")
@@ -99,4 +101,15 @@ public interface SmartDataTaskControllerAPI {
     @GetMapping(value = "/deleteSmartDataTaskById")
     @GetMapping(value = "/deleteSmartDataTaskById")
     @ApiOperation(value = "根据ID删除数据源任务数据", notes = "根据ID删除数据源任务数据", httpMethod = "GET")
     @ApiOperation(value = "根据ID删除数据源任务数据", notes = "根据ID删除数据源任务数据", httpMethod = "GET")
     CommonResult deleteSmartDataTaskById(@RequestParam int id, @RequestParam int delMethod, HttpServletRequest httpServletRequest);
     CommonResult deleteSmartDataTaskById(@RequestParam int id, @RequestParam int delMethod, HttpServletRequest httpServletRequest);
+
+    @GetMapping(value = "/queryPageSmartDataTaskErr")
+    @ApiOperation(value = "任务运行日志记录分页数据", notes = "任务运行日志记录分页数据", httpMethod = "GET")
+    CommonResult queryPageSmartDataTaskErr(@RequestParam int currentPage, @RequestParam int pageCount,
+                                           @RequestParam(required = false) Integer eTaskId,
+                                           @RequestParam(required = false) String startTime,
+                                           @RequestParam(required = false) String endTime);
+
+    @PostMapping(value = "/delSmartDataTaskErrByIds")
+    @ApiOperation(value = "删除任务运行日志记录", notes = "删除任务运行日志记录", httpMethod = "POST")
+    CommonResult delSmartDataTaskErrByIds(@Validated @RequestBody JSONObject json, HttpServletRequest httpServletRequest, BindingResult bindingResult);
 }
 }

+ 2 - 23
src/main/java/com/template/common/utils/QuartzJobUtils.java

@@ -20,9 +20,7 @@ public class QuartzJobUtils {
      * @param smartDataTask 定时任务信息类
      * @param smartDataTask 定时任务信息类
      */
      */
     public static Map<String, Object> createScheduleJob(Scheduler scheduler,
     public static Map<String, Object> createScheduleJob(Scheduler scheduler,
-                                                        SmartDataTask smartDataTask,
-                                                        SmartDataSourceJobParams dsSourceInfo,
-                                                        SmartDataSourceJobParams dsDestinationInfo) {
+                                                        SmartDataTask smartDataTask) {
         // 判断是否存在该任务,存在则不创建任务,直接返回信息提示
         // 判断是否存在该任务,存在则不创建任务,直接返回信息提示
         Map<String, Object> exists = exists(scheduler, smartDataTask.getTkName());
         Map<String, Object> exists = exists(scheduler, smartDataTask.getTkName());
         if ("0".equals(exists.get("code"))) {
         if ("0".equals(exists.get("code"))) {
@@ -38,28 +36,9 @@ public class QuartzJobUtils {
 
 
             // 创建一个JobDataMap对象,并设置参数
             // 创建一个JobDataMap对象,并设置参数
             JobDataMap jobDataMap = new JobDataMap();
             JobDataMap jobDataMap = new JobDataMap();
-            // 来源数据源参数
-            jobDataMap.put("sourceDriver", dsSourceInfo.getDsClsDriver());
-            jobDataMap.put("sourceUrl", dsSourceInfo.getDsUrl());
-            jobDataMap.put("sourceUser", dsSourceInfo.getDsUser());
-            jobDataMap.put("sourcePassword", dsSourceInfo.getDsPassword());
-//            jobDataMap.put("exchangeType", dsSourceInfo.getExchangeType());
-            jobDataMap.put("sourceSql", dsSourceInfo.getSourceSql());
-            // 目标数据源参数
-            jobDataMap.put("destinationDriver", dsDestinationInfo.getDsClsDriver());
-            jobDataMap.put("destinationUrl", dsDestinationInfo.getDsUrl());
-            jobDataMap.put("destinationUser", dsDestinationInfo.getDsUser());
-            jobDataMap.put("destinationPassword", dsDestinationInfo.getDsPassword());
-            jobDataMap.put("destinationTable", dsDestinationInfo.getDestinationTable().substring(0, dsDestinationInfo.getDestinationTable().indexOf("[")));
 
 
             // 任务参数
             // 任务参数
-            jobDataMap.put("tkId", smartDataTask.getTkId());
-            jobDataMap.put("colRelationship", smartDataTask.getTkColRelationship());
-            jobDataMap.put("rsIncorrectData", smartDataTask.getTkRsIncorrectData());
-            jobDataMap.put("optCfgRsNum", smartDataTask.getTkOptCfgRsNum());
-            jobDataMap.put("optCfgAutoManual", smartDataTask.getTkOptCfgAutoManual());
-            jobDataMap.put("dsSourceCharset", smartDataTask.getTkDsSourceCharset());
-            jobDataMap.put("dsDestinationCharset", smartDataTask.getTkDsDestinationCharset());
+            jobDataMap.put("smartDataTask", smartDataTask);
 
 
             // 将JobDataMap对象与JobDetail关联
             // 将JobDataMap对象与JobDetail关联
             jobDetail.getJobDataMap().putAll(jobDataMap);
             jobDetail.getJobDataMap().putAll(jobDataMap);

+ 52 - 3
src/main/java/com/template/controller/SmartDataTaskController.java

@@ -2,11 +2,13 @@ package com.template.controller;
 
 
 
 
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
+import com.github.pagehelper.PageInfo;
 import com.template.api.SmartDataTaskControllerAPI;
 import com.template.api.SmartDataTaskControllerAPI;
 import com.template.common.utils.CommonUtil;
 import com.template.common.utils.CommonUtil;
 import com.template.common.utils.paramUtils;
 import com.template.common.utils.paramUtils;
 import com.template.model.pojo.SmartDataSourceLog;
 import com.template.model.pojo.SmartDataSourceLog;
 import com.template.model.pojo.SmartDataTask;
 import com.template.model.pojo.SmartDataTask;
+import com.template.model.pojo.SmartDataTaskErr;
 import com.template.model.result.CommonResult;
 import com.template.model.result.CommonResult;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 import com.template.services.SmartDataSourceLogService;
 import com.template.services.SmartDataSourceLogService;
@@ -16,6 +18,7 @@ import org.springframework.validation.BindingResult;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -390,11 +393,57 @@ public class SmartDataTaskController implements SmartDataTaskControllerAPI {
             }
             }
         }
         }
 
 
-        SmartDataSourceLog smartDataSourceLog =
-                CommonUtil.generateLog("标记为删除数据源数据交换任务|【数据交换中心】→【数据源数据交换任务】|标记为删除【数据源数据交换任务】|delete", httpServletRequest);
-        smartDataTask.setTkDeleted(1);
+        SmartDataSourceLog smartDataSourceLog = null;
+        if (delMethod == 0) {
+            smartDataSourceLog =
+                    CommonUtil.generateLog("逻辑删除数据源数据交换任务|【数据交换中心】→【数据源数据交换任务】|逻辑删除【数据源数据交换任务】|delete_logic", httpServletRequest);
+        } else if (delMethod == 1) {
+            smartDataSourceLog =
+                    CommonUtil.generateLog("恢复为正常数据源数据交换任务|【数据交换中心】→【数据源数据交换任务】|恢复为正常【数据源数据交换任务】|delete_recover", httpServletRequest);
+        } else if (delMethod == 9) {
+            smartDataSourceLog =
+                    CommonUtil.generateLog("物理删除数据源数据交换任务|【数据交换中心】→【数据源数据交换任务】|物理删除【数据源数据交换任务】|delete_physics", httpServletRequest);
+        }
         Map<String, Object> result = smartDataTaskService.deleteSmartDataTaskById(id, delMethod);
         Map<String, Object> result = smartDataTaskService.deleteSmartDataTaskById(id, delMethod);
         if (result.get("code") == "0") {
         if (result.get("code") == "0") {
+            if (smartDataSourceLog != null) {
+                smartDataSourceLog.setLogActionStatus(1);
+                smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
+            }
+            return CommonResult.ok(result.get("msg"));
+        } else {
+            return CommonResult.fail((String) result.get("msg"));
+        }
+    }
+
+    /**
+     * 查询任务运行日志分页列表
+     *
+     * @param currentPage 当前页
+     * @param pageCount   每页记录数
+     * @param eTaskId     任务id
+     * @param startTime   开始时间
+     * @param endTime     结束时间
+     * @return 返回
+     */
+    @Override
+    public CommonResult queryPageSmartDataTaskErr(int currentPage, int pageCount, Integer eTaskId, String startTime, String endTime) {
+        PageInfo<SmartDataTaskErr> result = smartDataTaskService.queryPageSmartDataTaskErr(currentPage, pageCount, eTaskId, startTime, endTime);
+
+        return CommonResult.ok(result);
+    }
+
+    @Override
+    public CommonResult delSmartDataTaskErrByIds(JSONObject json, HttpServletRequest httpServletRequest, BindingResult bindingResult) {
+        if (bindingResult.hasErrors()) {
+            String st = paramUtils.getParamError(bindingResult);
+            return CommonResult.fail(st);
+        }
+
+        SmartDataSourceLog smartDataSourceLog =
+                CommonUtil.generateLog("删除任务运行日志数据|【数据交换中心】→【任务运行日志】|删除【任务运行日志数据】|delete", httpServletRequest);
+        Map<String, Object> result = smartDataTaskService.deleteSmartDataTaskErrByIds(json);
+        if (result.get("code") == "0") {
             smartDataSourceLog.setLogActionStatus(1);
             smartDataSourceLog.setLogActionStatus(1);
             smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
             smartDataSourceLogService.insertSmartDataSourceLog(smartDataSourceLog);
             return CommonResult.ok(result.get("msg"));
             return CommonResult.ok(result.get("msg"));

Разница между файлами не показана из-за своего большого размера
+ 676 - 261
src/main/java/com/template/controller/Task.java


+ 38 - 13
src/main/java/com/template/mapper/SmartDataTaskMapper.java

@@ -6,6 +6,8 @@ import com.template.model.pojo.SmartDataTaskErr;
 import org.apache.ibatis.annotations.*;
 import org.apache.ibatis.annotations.*;
 import org.springframework.stereotype.Repository;
 import org.springframework.stereotype.Repository;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  * 数据源任务 Mapper 接口
  * 数据源任务 Mapper 接口
@@ -120,19 +122,18 @@ public interface SmartDataTaskMapper extends BaseMapper<SmartDataTask> {
     SmartDataTask selectColRelationship(int tkId);
     SmartDataTask selectColRelationship(int tkId);
 
 
     @Select("SELECT " +
     @Select("SELECT " +
-            "    tk_id " +
-            "    ,tk_swapped_primary_keys " +
+            "    tk_activation " +
             "FROM " +
             "FROM " +
             "    smart_data_task  " +
             "    smart_data_task  " +
             "WHERE " +
             "WHERE " +
             "    tk_id = #{tkId} "
             "    tk_id = #{tkId} "
     )
     )
-    SmartDataTask selectColSwappedPrimaryKeys(int tkId);
+    int selectColSwappedPrimaryKeys(int tkId);
 
 
     @Select({
     @Select({
             "<script>",
             "<script>",
-            "   SELECT " +
-            "      COUNT(*) " +
+            "   SELECT ",
+            "      COUNT(*) ",
             "   FROM smart_data_task ",
             "   FROM smart_data_task ",
             "   <where>",
             "   <where>",
             "      <if test='tkId != null'>AND tk_id = #{tkId}</if> ",
             "      <if test='tkId != null'>AND tk_id = #{tkId}</if> ",
@@ -172,8 +173,8 @@ public interface SmartDataTaskMapper extends BaseMapper<SmartDataTask> {
     )
     )
     int logicDeleteMarkTaskById(int id);
     int logicDeleteMarkTaskById(int id);
 
 
-    @Delete("DELETE FROM smart_data_task "+
-            "WHERE "+
+    @Delete("DELETE FROM smart_data_task " +
+            "WHERE " +
             "    tk_id = #{id} "
             "    tk_id = #{id} "
     )
     )
     int physicsDeleteMarkTaskById(int id);
     int physicsDeleteMarkTaskById(int id);
@@ -212,9 +213,9 @@ public interface SmartDataTaskMapper extends BaseMapper<SmartDataTask> {
 
 
     @Select({
     @Select({
             "<script>",
             "<script>",
-            "   SELECT " +
-                    "      * " +
-                    "   FROM smart_data_task_err ",
+            "   SELECT ",
+            "      * ",
+            "   FROM smart_data_task_err ",
             "   <where>",
             "   <where>",
             "      <if test='eTaskId != null'>AND e_task_id = #{eTaskId}</if> ",
             "      <if test='eTaskId != null'>AND e_task_id = #{eTaskId}</if> ",
             "      <if test='eMsg != null'>AND e_msg = #{eMsg}</if> ",
             "      <if test='eMsg != null'>AND e_msg = #{eMsg}</if> ",
@@ -235,13 +236,37 @@ public interface SmartDataTaskMapper extends BaseMapper<SmartDataTask> {
 
 
     @Select({
     @Select({
             "<script>",
             "<script>",
-            "   SELECT " +
-                    "     tk_col_relationship " +
-                    "   FROM smart_data_task ",
+            "   SELECT ",
+            "      tk_col_relationship ",
+            "   FROM smart_data_task ",
             "   <where>",
             "   <where>",
             "      <if test='tkId != null'>AND tk_id = #{tkId}</if> ",
             "      <if test='tkId != null'>AND tk_id = #{tkId}</if> ",
             "   </where>",
             "   </where>",
             "</script>"
             "</script>"
     })
     })
     String getColRelationship(SmartDataTask smartDataTask);
     String getColRelationship(SmartDataTask smartDataTask);
+
+    @Select({
+            "<script>",
+            "   SELECT ",
+            "      e_id, tk_name, e_msg, e_num, e_date_time, e_create_time ",
+            "   FROM smart_data_task_err e, smart_data_task t ",
+            "   <where>",
+            "      e.e_task_id = t.tk_id ",
+            "      <if test='eTaskId != null'>AND e_task_id = #{eTaskId}</if> ",
+            "      <if test='startTime != null'>AND e_date_time &gt;= #{startTime}</if> ",
+            "      <if test='endTime != null'>AND e_date_time &lt;= #{endTime}</if> ",
+            "   </where>",
+            "   ORDER BY e_date_time DESC, e_id DESC ",
+            "</script>"
+    })
+    List<SmartDataTaskErr> selectPageOrderByDatetimeDesc(Integer eTaskId, String startTime, String endTime);
+
+    @Delete({
+            "<script>",
+            "DELETE FROM smart_data_task_err WHERE e_id IN ",
+            "<foreach collection='ids' item='id' open='(' separator=',' close=')'>#{id}</foreach>",
+            "</script>"
+    })
+    int deleteSmartDataTaskErrByIds(List<Long> ids);
 }
 }

+ 5 - 5
src/main/java/com/template/model/pojo/SmartDataTask.java

@@ -65,9 +65,12 @@ public class SmartDataTask implements Serializable {
     @ApiModelProperty(value = "运行参数配置:0自动,1手动")
     @ApiModelProperty(value = "运行参数配置:0自动,1手动")
     private Integer tkOptCfgAutoManual;
     private Integer tkOptCfgAutoManual;
 
 
-    @ApiModelProperty(value = "运行参数配置:记录数")
+    @ApiModelProperty(value = "运行参数配置:手动配置的记录数")
     private Integer tkOptCfgRsNum;
     private Integer tkOptCfgRsNum;
 
 
+    @ApiModelProperty(value = "运行参数配置:默认的记录数")
+    private Integer tkOptCfgDefaultRsNum;
+
     @ApiModelProperty(value = "运行参数配置:线程数")
     @ApiModelProperty(value = "运行参数配置:线程数")
     private Integer tkOptCfgThreadsNum;
     private Integer tkOptCfgThreadsNum;
 
 
@@ -80,9 +83,6 @@ public class SmartDataTask implements Serializable {
     @ApiModelProperty(value = "目的数据源字符集:UTF8 或 GBK")
     @ApiModelProperty(value = "目的数据源字符集:UTF8 或 GBK")
     private String tkDsDestinationCharset;
     private String tkDsDestinationCharset;
 
 
-    @ApiModelProperty(value = "存储已交换的主键")
-    private String tkSwappedPrimaryKeys;
-
     @ApiModelProperty(value = "任务定时表达式")
     @ApiModelProperty(value = "任务定时表达式")
     private String tkCron;
     private String tkCron;
 
 
@@ -93,7 +93,7 @@ public class SmartDataTask implements Serializable {
     private Integer tkExeType;
     private Integer tkExeType;
 
 
     @ApiModelProperty(value = "重复时间")
     @ApiModelProperty(value = "重复时间")
-    private String tkRepetTime;
+    private String tkRepeatTime;
 
 
     @ApiModelProperty(value = "是否激活")
     @ApiModelProperty(value = "是否激活")
     private Integer tkActivation;
     private Integer tkActivation;

+ 6 - 1
src/main/java/com/template/services/SmartDataTaskService.java

@@ -2,9 +2,12 @@ package com.template.services;
 
 
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.pagehelper.PageInfo;
 import com.template.model.pojo.SmartDataTask;
 import com.template.model.pojo.SmartDataTask;
+import com.template.model.pojo.SmartDataTaskErr;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 
 
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 
 
 /**
 /**
@@ -33,6 +36,8 @@ public interface SmartDataTaskService extends IService<SmartDataTask> {
 
 
     Map<String, Object> deleteSmartDataTaskById(int id, int delMethod);
     Map<String, Object> deleteSmartDataTaskById(int id, int delMethod);
 
 
+    PageInfo<SmartDataTaskErr> queryPageSmartDataTaskErr(int currentPage, int pageCount, Integer eTaskId, String startTime, String endTime);
+
     SmartDataTask getSmartById(int id);
     SmartDataTask getSmartById(int id);
 
 
     Map<String, Object> createJob(SmartDataTask smartDataTask);
     Map<String, Object> createJob(SmartDataTask smartDataTask);
@@ -59,5 +64,5 @@ public interface SmartDataTaskService extends IService<SmartDataTask> {
 
 
     Map<String, Object> getViews(String json);
     Map<String, Object> getViews(String json);
 
 
-
+    Map<String, Object> deleteSmartDataTaskErrByIds(JSONObject json);
 }
 }

+ 73 - 22
src/main/java/com/template/services/impl/SmartDataTaskServiceImpl.java

@@ -1,19 +1,20 @@
 package com.template.services.impl;
 package com.template.services.impl;
 
 
+import cn.hutool.db.PageResult;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONArray;
 import com.alibaba.fastjson2.JSONObject;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.template.common.utils.CommonUtil;
 import com.template.common.utils.CommonUtil;
 import com.template.common.utils.DBUtil;
 import com.template.common.utils.DBUtil;
 import com.template.common.utils.QuartzJobUtils;
 import com.template.common.utils.QuartzJobUtils;
 import com.template.mapper.SmartDataSourceMapper;
 import com.template.mapper.SmartDataSourceMapper;
 import com.template.mapper.SmartDataTaskMapper;
 import com.template.mapper.SmartDataTaskMapper;
-import com.template.model.pojo.SmartDataSourceJobParams;
-import com.template.model.pojo.SmartDataTask;
-import com.template.model.pojo.SmartDepartment;
+import com.template.model.pojo.*;
 import com.template.model.result.PageUtils;
 import com.template.model.result.PageUtils;
 import com.template.services.SmartDataTaskService;
 import com.template.services.SmartDataTaskService;
 import org.quartz.CronExpression;
 import org.quartz.CronExpression;
@@ -302,11 +303,11 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
             if (smartDataTask.getTkExeType() == null) {
             if (smartDataTask.getTkExeType() == null) {
                 return CommonUtil.getReturnMap("1", "【执行方式】不能为空!");
                 return CommonUtil.getReturnMap("1", "【执行方式】不能为空!");
             }
             }
-            if (smartDataTask.getTkRepetTime() == null) {
+            if (smartDataTask.getTkRepeatTime() == null) {
                 return CommonUtil.getReturnMap("1", "【重复时间】不能为空!");
                 return CommonUtil.getReturnMap("1", "【重复时间】不能为空!");
             }
             }
             // 生成cron表达式
             // 生成cron表达式
-            Map<String, Object> stringObjectMap = generateCron(smartDataTask.getTkExeType(), smartDataTask.getTkRepetTime());
+            Map<String, Object> stringObjectMap = generateCron(smartDataTask.getTkExeType(), smartDataTask.getTkRepeatTime());
             if (stringObjectMap.get("code") == "1") {
             if (stringObjectMap.get("code") == "1") {
                 return stringObjectMap;
                 return stringObjectMap;
             }
             }
@@ -319,7 +320,7 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
         } else {
         } else {
             smartDataTask.setTkCron("");
             smartDataTask.setTkCron("");
             smartDataTask.setTkExeType(-1);
             smartDataTask.setTkExeType(-1);
-            smartDataTask.setTkRepetTime("");
+            smartDataTask.setTkRepeatTime("");
         }
         }
         // 检测是否有重复记录
         // 检测是否有重复记录
         if (action.equals("编辑")) {
         if (action.equals("编辑")) {
@@ -673,6 +674,14 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
     }
     }
 
 
     @Override
     @Override
+    public PageInfo<SmartDataTaskErr> queryPageSmartDataTaskErr(int currentPage, int pageCount, Integer eTaskId, String startTime, String endTime) {
+        PageHelper.startPage(currentPage, pageCount);
+        List<SmartDataTaskErr> result = smartDataTaskMapper.selectPageOrderByDatetimeDesc(eTaskId, startTime, endTime);
+        PageInfo<SmartDataTaskErr> logPageInfo = new PageInfo<>(result);
+        return logPageInfo;
+    }
+
+    @Override
     public SmartDataTask getSmartById(int id) {
     public SmartDataTask getSmartById(int id) {
         return smartDataTaskMapper.selectById(id);
         return smartDataTaskMapper.selectById(id);
     }
     }
@@ -704,18 +713,8 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
         if (smartDataTask_return.getTkCron() == null) {
         if (smartDataTask_return.getTkCron() == null) {
             return CommonUtil.getReturnMap(String.valueOf(1), "任务调度cron表达式为空!该任务未设置【定时信息】!");
             return CommonUtil.getReturnMap(String.valueOf(1), "任务调度cron表达式为空!该任务未设置【定时信息】!");
         }
         }
-        // 来源数据源id
-        Integer tkDsIdSource = smartDataTask_return.getTkDsIdSource();
-        // 目标数据源id
-        Integer tkDsIdDestination = smartDataTask_return.getTkDsIdDestination();
-        // 根据id,获取数据源url、user、password、driver等
-        SmartDataSourceJobParams dsSourceInfo = smartDataSourceMapper.getDataSourceInfo(tkDsIdSource);
-        dsSourceInfo.setExchangeType(smartDataTask_return.getTkExchangeType());
-        dsSourceInfo.setSourceSql(smartDataTask_return.getTkSql());
-        SmartDataSourceJobParams dsDestinationInfo = smartDataSourceMapper.getDataSourceInfo(tkDsIdDestination);
-        dsDestinationInfo.setDestinationTable(smartDataTask_return.getTkDestTable());
-
-        Map<String, Object> returnMap = QuartzJobUtils.createScheduleJob(scheduler, smartDataTask_return, dsSourceInfo, dsDestinationInfo);
+
+        Map<String, Object> returnMap = QuartzJobUtils.createScheduleJob(scheduler, smartDataTask_return);
         if ("0".equals(returnMap.get("code"))) {
         if ("0".equals(returnMap.get("code"))) {
             smartDataTask.setTkId(smartDataTask_return.getTkId());
             smartDataTask.setTkId(smartDataTask_return.getTkId());
             // 下次执行的时间
             // 下次执行的时间
@@ -744,8 +743,21 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
         }
         }
 
 
         SmartDataTask smartDataTask_return = (SmartDataTask) tmp_map.get("msg");
         SmartDataTask smartDataTask_return = (SmartDataTask) tmp_map.get("msg");
-
-        return QuartzJobUtils.pauseScheduleJob(scheduler, smartDataTask_return.getTkName());
+        Map<String, Object> returnMap = QuartzJobUtils.pauseScheduleJob(scheduler, smartDataTask_return.getTkName());
+        if ("0".equals(returnMap.get("code"))) {
+            smartDataTask.setTkId(smartDataTask_return.getTkId());
+            smartDataTask.setTkActivation(2);
+            Map<String, Object> stringStringMap = updateSmartDataTaskActivation(smartDataTask);
+            String msg;
+            if ("0".equals(stringStringMap.get("code"))) {
+                msg = (String) returnMap.get("msg") + stringStringMap.get("msg");
+            } else {
+                msg = (String) returnMap.get("msg") + stringStringMap.get("msg");
+            }
+            return CommonUtil.getReturnMap("0", msg);
+        } else {
+            return returnMap;
+        }
     }
     }
 
 
     @Override
     @Override
@@ -756,8 +768,21 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
         }
         }
 
 
         SmartDataTask smartDataTask_return = (SmartDataTask) tmp_map.get("msg");
         SmartDataTask smartDataTask_return = (SmartDataTask) tmp_map.get("msg");
-
-        return QuartzJobUtils.resumeScheduleJob(scheduler, smartDataTask_return.getTkName());
+        Map<String, Object> returnMap = QuartzJobUtils.resumeScheduleJob(scheduler, smartDataTask_return.getTkName());
+        if ("0".equals(returnMap.get("code"))) {
+            smartDataTask.setTkId(smartDataTask_return.getTkId());
+            smartDataTask.setTkActivation(1);
+            Map<String, Object> stringStringMap = updateSmartDataTaskActivation(smartDataTask);
+            String msg;
+            if ("0".equals(stringStringMap.get("code"))) {
+                msg = (String) returnMap.get("msg") + stringStringMap.get("msg");
+            } else {
+                msg = (String) returnMap.get("msg") + stringStringMap.get("msg");
+            }
+            return CommonUtil.getReturnMap("0", msg);
+        } else {
+            return returnMap;
+        }
     }
     }
 
 
     @Override
     @Override
@@ -929,6 +954,32 @@ public class SmartDataTaskServiceImpl extends ServiceImpl<SmartDataTaskMapper, S
         return getTablesOrViews(json, sql);
         return getTablesOrViews(json, sql);
     }
     }
 
 
+    @Override
+    public Map<String, Object> deleteSmartDataTaskErrByIds(JSONObject requestData) {
+        if (requestData.containsKey("ids")) {
+            // tkId 存在
+            String ids = requestData.getString("ids");
+            if (ids.equals("")) {
+                return CommonUtil.getReturnMap("1", "参数ids不能为空");
+            }
+
+            String[] idsArr = ids.split(",");
+            List<Long> idList = new ArrayList<>();
+            for (String id : idsArr) {
+                idList.add(Long.parseLong(id));
+            }
+
+            int rowCount = smartDataTaskMapper.deleteSmartDataTaskErrByIds(idList);
+            if (rowCount > 0) {
+                return CommonUtil.getReturnMap("0", "删除成功,共删除 " + rowCount + " 条数据");
+            }
+            return CommonUtil.getReturnMap("1", "删除失败,共删除 " + rowCount + " 条数据");
+        } else {
+            // tkId 不存在
+            return CommonUtil.getReturnMap("1", "请传参数ids");
+        }
+    }
+
     // 获取表或视图信息
     // 获取表或视图信息
     private Map<String, Object> getTablesOrViews(String json, String sql) {
     private Map<String, Object> getTablesOrViews(String json, String sql) {
         // 判断json是否为空
         // 判断json是否为空