Kaynağa Gözat

生成初始业务代码

wanggaokun 1 yıl önce
ebeveyn
işleme
d17c132d70
38 değiştirilmiş dosya ile 3638 ekleme ve 3 silme
  1. 5 0
      kgraph-admin/pom.xml
  2. 1 1
      kgraph-admin/src/main/java/com/kgraph/KgraphApplication.java
  3. 1 1
      kgraph-generator/src/main/resources/generator.yml
  4. 1 1
      kgraph-generator/src/main/resources/vm/vue/index.vue.vm
  5. 104 0
      kgraph-graph/src/main/java/com/kgraph/graph/controller/ProcessedFileController.java
  6. 104 0
      kgraph-graph/src/main/java/com/kgraph/graph/controller/SourceFileController.java
  7. 104 0
      kgraph-graph/src/main/java/com/kgraph/graph/controller/SubtaskController.java
  8. 104 0
      kgraph-graph/src/main/java/com/kgraph/graph/controller/TaskController.java
  9. 111 0
      kgraph-graph/src/main/java/com/kgraph/graph/domain/ProcessedFile.java
  10. 83 0
      kgraph-graph/src/main/java/com/kgraph/graph/domain/SourceFile.java
  11. 200 0
      kgraph-graph/src/main/java/com/kgraph/graph/domain/Subtask.java
  12. 126 0
      kgraph-graph/src/main/java/com/kgraph/graph/domain/Task.java
  13. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/mapper/ProcessedFileMapper.java
  14. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/mapper/SourceFileMapper.java
  15. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/mapper/SubtaskMapper.java
  16. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/mapper/TaskMapper.java
  17. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/service/IProcessedFileService.java
  18. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/service/ISourceFileService.java
  19. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/service/ISubtaskService.java
  20. 61 0
      kgraph-graph/src/main/java/com/kgraph/graph/service/ITaskService.java
  21. 96 0
      kgraph-graph/src/main/java/com/kgraph/graph/service/impl/ProcessedFileServiceImpl.java
  22. 96 0
      kgraph-graph/src/main/java/com/kgraph/graph/service/impl/SourceFileServiceImpl.java
  23. 96 0
      kgraph-graph/src/main/java/com/kgraph/graph/service/impl/SubtaskServiceImpl.java
  24. 96 0
      kgraph-graph/src/main/java/com/kgraph/graph/service/impl/TaskServiceImpl.java
  25. 0 0
      kgraph-graph/src/main/java/com/kgraph/service/null.java
  26. 92 0
      kgraph-graph/src/main/resources/mapper/graph/ProcessedFileMapper.xml
  27. 82 0
      kgraph-graph/src/main/resources/mapper/graph/SourceFileMapper.xml
  28. 126 0
      kgraph-graph/src/main/resources/mapper/graph/SubtaskMapper.xml
  29. 101 0
      kgraph-graph/src/main/resources/mapper/graph/TaskMapper.xml
  30. 44 0
      kgraph-ui/src/api/graph/processedFile.js
  31. 44 0
      kgraph-ui/src/api/graph/sourceFile.js
  32. 44 0
      kgraph-ui/src/api/graph/subtask.js
  33. 44 0
      kgraph-ui/src/api/graph/task.js
  34. 286 0
      kgraph-ui/src/views/graph/processedFile/index.vue
  35. 258 0
      kgraph-ui/src/views/graph/sourceFile/index.vue
  36. 393 0
      kgraph-ui/src/views/graph/subtask/index.vue
  37. 302 0
      kgraph-ui/src/views/graph/task/index.vue
  38. 6 0
      pom.xml

+ 5 - 0
kgraph-admin/pom.xml

@@ -61,6 +61,11 @@
             <artifactId>kgraph-generator</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>com.kgraph</groupId>
+            <artifactId>kgraph-graph</artifactId>
+        </dependency>
+
     </dependencies>
 
     <build>

+ 1 - 1
kgraph-admin/src/main/java/com/kgraph/KgraphApplication.java

@@ -9,7 +9,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
  * 
  * @author Allen
  */
-@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
+@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}, scanBasePackages = {"com.kgraph"})
 public class KgraphApplication
 {
     public static void main(String[] args)

+ 1 - 1
kgraph-generator/src/main/resources/generator.yml

@@ -3,7 +3,7 @@ gen:
   # 作者
   author: Allen
   # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool
-  packageName: com.kgraph
+  packageName: com.kgraph.graph
   # 自动去除表前缀,默认是false
   autoRemovePre: false
   # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)

+ 1 - 1
kgraph-generator/src/main/resources/vm/vue/index.vue.vm

@@ -180,7 +180,7 @@
     />
 
     <!-- 添加或修改${functionName}对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
 #foreach($column in $columns)
 #set($field=$column.javaField)

+ 104 - 0
kgraph-graph/src/main/java/com/kgraph/graph/controller/ProcessedFileController.java

@@ -0,0 +1,104 @@
+package com.kgraph.graph.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;
+import com.kgraph.common.core.controller.BaseController;
+import com.kgraph.common.core.domain.AjaxResult;
+import com.kgraph.common.enums.BusinessType;
+import com.kgraph.graph.domain.ProcessedFile;
+import com.kgraph.graph.service.IProcessedFileService;
+import com.kgraph.common.utils.poi.ExcelUtil;
+import com.kgraph.common.core.page.TableDataInfo;
+
+/**
+ * 处理文件管理Controller
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+@RestController
+@RequestMapping("/graph/processedFile")
+public class ProcessedFileController extends BaseController
+{
+    @Autowired
+    private IProcessedFileService processedFileService;
+
+    /**
+     * 查询处理文件管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('graph:processedFile:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(ProcessedFile processedFile)
+    {
+        startPage();
+        List<ProcessedFile> list = processedFileService.selectProcessedFileList(processedFile);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出处理文件管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('graph:processedFile:export')")
+    @Log(title = "处理文件管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, ProcessedFile processedFile)
+    {
+        List<ProcessedFile> list = processedFileService.selectProcessedFileList(processedFile);
+        ExcelUtil<ProcessedFile> util = new ExcelUtil<ProcessedFile>(ProcessedFile.class);
+        util.exportExcel(response, list, "处理文件管理数据");
+    }
+
+    /**
+     * 获取处理文件管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('graph:processedFile:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(processedFileService.selectProcessedFileById(id));
+    }
+
+    /**
+     * 新增处理文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:processedFile:add')")
+    @Log(title = "处理文件管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody ProcessedFile processedFile)
+    {
+        return toAjax(processedFileService.insertProcessedFile(processedFile));
+    }
+
+    /**
+     * 修改处理文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:processedFile:edit')")
+    @Log(title = "处理文件管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody ProcessedFile processedFile)
+    {
+        return toAjax(processedFileService.updateProcessedFile(processedFile));
+    }
+
+    /**
+     * 删除处理文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:processedFile:remove')")
+    @Log(title = "处理文件管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(processedFileService.deleteProcessedFileByIds(ids));
+    }
+}

+ 104 - 0
kgraph-graph/src/main/java/com/kgraph/graph/controller/SourceFileController.java

@@ -0,0 +1,104 @@
+package com.kgraph.graph.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;
+import com.kgraph.common.core.controller.BaseController;
+import com.kgraph.common.core.domain.AjaxResult;
+import com.kgraph.common.enums.BusinessType;
+import com.kgraph.graph.domain.SourceFile;
+import com.kgraph.graph.service.ISourceFileService;
+import com.kgraph.common.utils.poi.ExcelUtil;
+import com.kgraph.common.core.page.TableDataInfo;
+
+/**
+ * 源文件管理Controller
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+@RestController
+@RequestMapping("/graph/sourceFile")
+public class SourceFileController extends BaseController
+{
+    @Autowired
+    private ISourceFileService sourceFileService;
+
+    /**
+     * 查询源文件管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('graph:sourceFile:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(SourceFile sourceFile)
+    {
+        startPage();
+        List<SourceFile> list = sourceFileService.selectSourceFileList(sourceFile);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出源文件管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('graph:sourceFile:export')")
+    @Log(title = "源文件管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, SourceFile sourceFile)
+    {
+        List<SourceFile> list = sourceFileService.selectSourceFileList(sourceFile);
+        ExcelUtil<SourceFile> util = new ExcelUtil<SourceFile>(SourceFile.class);
+        util.exportExcel(response, list, "源文件管理数据");
+    }
+
+    /**
+     * 获取源文件管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('graph:sourceFile:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(sourceFileService.selectSourceFileById(id));
+    }
+
+    /**
+     * 新增源文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:sourceFile:add')")
+    @Log(title = "源文件管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody SourceFile sourceFile)
+    {
+        return toAjax(sourceFileService.insertSourceFile(sourceFile));
+    }
+
+    /**
+     * 修改源文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:sourceFile:edit')")
+    @Log(title = "源文件管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody SourceFile sourceFile)
+    {
+        return toAjax(sourceFileService.updateSourceFile(sourceFile));
+    }
+
+    /**
+     * 删除源文件管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:sourceFile:remove')")
+    @Log(title = "源文件管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(sourceFileService.deleteSourceFileByIds(ids));
+    }
+}

+ 104 - 0
kgraph-graph/src/main/java/com/kgraph/graph/controller/SubtaskController.java

@@ -0,0 +1,104 @@
+package com.kgraph.graph.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;
+import com.kgraph.common.core.controller.BaseController;
+import com.kgraph.common.core.domain.AjaxResult;
+import com.kgraph.common.enums.BusinessType;
+import com.kgraph.graph.domain.Subtask;
+import com.kgraph.graph.service.ISubtaskService;
+import com.kgraph.common.utils.poi.ExcelUtil;
+import com.kgraph.common.core.page.TableDataInfo;
+
+/**
+ * 子任务管理Controller
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+@RestController
+@RequestMapping("/graph/subtask")
+public class SubtaskController extends BaseController
+{
+    @Autowired
+    private ISubtaskService subtaskService;
+
+    /**
+     * 查询子任务管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('graph:subtask:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Subtask subtask)
+    {
+        startPage();
+        List<Subtask> list = subtaskService.selectSubtaskList(subtask);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出子任务管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('graph:subtask:export')")
+    @Log(title = "子任务管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, Subtask subtask)
+    {
+        List<Subtask> list = subtaskService.selectSubtaskList(subtask);
+        ExcelUtil<Subtask> util = new ExcelUtil<Subtask>(Subtask.class);
+        util.exportExcel(response, list, "子任务管理数据");
+    }
+
+    /**
+     * 获取子任务管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('graph:subtask:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(subtaskService.selectSubtaskById(id));
+    }
+
+    /**
+     * 新增子任务管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:subtask:add')")
+    @Log(title = "子任务管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody Subtask subtask)
+    {
+        return toAjax(subtaskService.insertSubtask(subtask));
+    }
+
+    /**
+     * 修改子任务管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:subtask:edit')")
+    @Log(title = "子任务管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody Subtask subtask)
+    {
+        return toAjax(subtaskService.updateSubtask(subtask));
+    }
+
+    /**
+     * 删除子任务管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:subtask:remove')")
+    @Log(title = "子任务管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(subtaskService.deleteSubtaskByIds(ids));
+    }
+}

+ 104 - 0
kgraph-graph/src/main/java/com/kgraph/graph/controller/TaskController.java

@@ -0,0 +1,104 @@
+package com.kgraph.graph.controller;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.kgraph.common.annotation.Log;
+import com.kgraph.common.core.controller.BaseController;
+import com.kgraph.common.core.domain.AjaxResult;
+import com.kgraph.common.enums.BusinessType;
+import com.kgraph.graph.domain.Task;
+import com.kgraph.graph.service.ITaskService;
+import com.kgraph.common.utils.poi.ExcelUtil;
+import com.kgraph.common.core.page.TableDataInfo;
+
+/**
+ * 任务管理Controller
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+@RestController
+@RequestMapping("/graph/task")
+public class TaskController extends BaseController
+{
+    @Autowired
+    private ITaskService taskService;
+
+    /**
+     * 查询任务管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('graph:task:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Task task)
+    {
+        startPage();
+        List<Task> list = taskService.selectTaskList(task);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出任务管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('graph:task:export')")
+    @Log(title = "任务管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, Task task)
+    {
+        List<Task> list = taskService.selectTaskList(task);
+        ExcelUtil<Task> util = new ExcelUtil<Task>(Task.class);
+        util.exportExcel(response, list, "任务管理数据");
+    }
+
+    /**
+     * 获取任务管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('graph:task:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(taskService.selectTaskById(id));
+    }
+
+    /**
+     * 新增任务管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:task:add')")
+    @Log(title = "任务管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody Task task)
+    {
+        return toAjax(taskService.insertTask(task));
+    }
+
+    /**
+     * 修改任务管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:task:edit')")
+    @Log(title = "任务管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody Task task)
+    {
+        return toAjax(taskService.updateTask(task));
+    }
+
+    /**
+     * 删除任务管理
+     */
+    @PreAuthorize("@ss.hasPermi('graph:task:remove')")
+    @Log(title = "任务管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(taskService.deleteTaskByIds(ids));
+    }
+}

+ 111 - 0
kgraph-graph/src/main/java/com/kgraph/graph/domain/ProcessedFile.java

@@ -0,0 +1,111 @@
+package com.kgraph.graph.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;
+
+/**
+ * 处理文件管理对象 biz_processed_file
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public class ProcessedFile extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 源文件id */
+    @Excel(name = "源文件id")
+    private Long sourceFileId;
+
+    /** 处理文件名称 */
+    @Excel(name = "处理文件名称")
+    private String processedFileName;
+
+    /** 文件编号 */
+    @Excel(name = "文件编号")
+    private String num;
+
+    /** 处理文件类型 */
+    @Excel(name = "处理文件类型")
+    private String processedFileType;
+
+    /** 处理文件路径 */
+    @Excel(name = "处理文件路径")
+    private String processedFilePath;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSourceFileId(Long sourceFileId) 
+    {
+        this.sourceFileId = sourceFileId;
+    }
+
+    public Long getSourceFileId() 
+    {
+        return sourceFileId;
+    }
+    public void setProcessedFileName(String processedFileName) 
+    {
+        this.processedFileName = processedFileName;
+    }
+
+    public String getProcessedFileName() 
+    {
+        return processedFileName;
+    }
+    public void setNum(String num) 
+    {
+        this.num = num;
+    }
+
+    public String getNum() 
+    {
+        return num;
+    }
+    public void setProcessedFileType(String processedFileType) 
+    {
+        this.processedFileType = processedFileType;
+    }
+
+    public String getProcessedFileType() 
+    {
+        return processedFileType;
+    }
+    public void setProcessedFilePath(String processedFilePath) 
+    {
+        this.processedFilePath = processedFilePath;
+    }
+
+    public String getProcessedFilePath() 
+    {
+        return processedFilePath;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("sourceFileId", getSourceFileId())
+            .append("processedFileName", getProcessedFileName())
+            .append("num", getNum())
+            .append("processedFileType", getProcessedFileType())
+            .append("processedFilePath", getProcessedFilePath())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 83 - 0
kgraph-graph/src/main/java/com/kgraph/graph/domain/SourceFile.java

@@ -0,0 +1,83 @@
+package com.kgraph.graph.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;
+
+/**
+ * 源文件管理对象 biz_source_file
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public class SourceFile extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 源文件名称 */
+    @Excel(name = "源文件名称")
+    private String sourceFileName;
+
+    /** 源文件类型 */
+    @Excel(name = "源文件类型")
+    private String sourceFileType;
+
+    /** 源文件路径 */
+    @Excel(name = "源文件路径")
+    private String sourceFilePath;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setSourceFileName(String sourceFileName) 
+    {
+        this.sourceFileName = sourceFileName;
+    }
+
+    public String getSourceFileName() 
+    {
+        return sourceFileName;
+    }
+    public void setSourceFileType(String sourceFileType) 
+    {
+        this.sourceFileType = sourceFileType;
+    }
+
+    public String getSourceFileType() 
+    {
+        return sourceFileType;
+    }
+    public void setSourceFilePath(String sourceFilePath) 
+    {
+        this.sourceFilePath = sourceFilePath;
+    }
+
+    public String getSourceFilePath() 
+    {
+        return sourceFilePath;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("sourceFileName", getSourceFileName())
+            .append("sourceFileType", getSourceFileType())
+            .append("sourceFilePath", getSourceFilePath())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 200 - 0
kgraph-graph/src/main/java/com/kgraph/graph/domain/Subtask.java

@@ -0,0 +1,200 @@
+package com.kgraph.graph.domain;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;
+
+/**
+ * 子任务管理对象 biz_subtask
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public class Subtask extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 任务id */
+    @Excel(name = "任务id")
+    private Long taskId;
+
+    /** 源文件id */
+    @Excel(name = "源文件id")
+    private String subtaskName;
+
+    /** 子任务名称 */
+    @Excel(name = "子任务名称")
+    private String subtaskType;
+
+    /** 子任务状态 */
+    @Excel(name = "子任务状态")
+    private String taskStatus;
+
+    /** 处理文件名称 */
+    @Excel(name = "处理文件名称")
+    private String sourceFileName;
+
+    /** 处理文件路径 */
+    @Excel(name = "处理文件路径")
+    private String sourceFilePath;
+
+    /** 结果文件名称h */
+    @Excel(name = "结果文件名称h")
+    private String resultFileName;
+
+    /** 结果文件路径 */
+    @Excel(name = "结果文件路径")
+    private String resultFilePath;
+
+    /** 开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date startTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date endTime;
+
+    /** 耗时 */
+    @Excel(name = "耗时")
+    private Long costTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setTaskId(Long taskId) 
+    {
+        this.taskId = taskId;
+    }
+
+    public Long getTaskId() 
+    {
+        return taskId;
+    }
+    public void setSubtaskName(String subtaskName) 
+    {
+        this.subtaskName = subtaskName;
+    }
+
+    public String getSubtaskName() 
+    {
+        return subtaskName;
+    }
+    public void setSubtaskType(String subtaskType) 
+    {
+        this.subtaskType = subtaskType;
+    }
+
+    public String getSubtaskType() 
+    {
+        return subtaskType;
+    }
+    public void setTaskStatus(String taskStatus) 
+    {
+        this.taskStatus = taskStatus;
+    }
+
+    public String getTaskStatus() 
+    {
+        return taskStatus;
+    }
+    public void setSourceFileName(String sourceFileName) 
+    {
+        this.sourceFileName = sourceFileName;
+    }
+
+    public String getSourceFileName() 
+    {
+        return sourceFileName;
+    }
+    public void setSourceFilePath(String sourceFilePath) 
+    {
+        this.sourceFilePath = sourceFilePath;
+    }
+
+    public String getSourceFilePath() 
+    {
+        return sourceFilePath;
+    }
+    public void setResultFileName(String resultFileName) 
+    {
+        this.resultFileName = resultFileName;
+    }
+
+    public String getResultFileName() 
+    {
+        return resultFileName;
+    }
+    public void setResultFilePath(String resultFilePath) 
+    {
+        this.resultFilePath = resultFilePath;
+    }
+
+    public String getResultFilePath() 
+    {
+        return resultFilePath;
+    }
+    public void setStartTime(Date startTime) 
+    {
+        this.startTime = startTime;
+    }
+
+    public Date getStartTime() 
+    {
+        return startTime;
+    }
+    public void setEndTime(Date endTime) 
+    {
+        this.endTime = endTime;
+    }
+
+    public Date getEndTime() 
+    {
+        return endTime;
+    }
+    public void setCostTime(Long costTime) 
+    {
+        this.costTime = costTime;
+    }
+
+    public Long getCostTime() 
+    {
+        return costTime;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("taskId", getTaskId())
+            .append("subtaskName", getSubtaskName())
+            .append("subtaskType", getSubtaskType())
+            .append("taskStatus", getTaskStatus())
+            .append("sourceFileName", getSourceFileName())
+            .append("sourceFilePath", getSourceFilePath())
+            .append("resultFileName", getResultFileName())
+            .append("resultFilePath", getResultFilePath())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("costTime", getCostTime())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 126 - 0
kgraph-graph/src/main/java/com/kgraph/graph/domain/Task.java

@@ -0,0 +1,126 @@
+package com.kgraph.graph.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.kgraph.common.annotation.Excel;
+import com.kgraph.common.core.domain.BaseEntity;
+
+/**
+ * 任务管理对象 biz_task
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public class Task extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** id */
+    private Long id;
+
+    /** 源文件id */
+    @Excel(name = "源文件id")
+    private String taskName;
+
+    /** 任务名称 */
+    @Excel(name = "任务名称")
+    private String taskType;
+
+    /** 子任务 */
+    @Excel(name = "子任务")
+    private String subtask;
+
+    /** 任务状态 */
+    @Excel(name = "任务状态")
+    private String taskStatus;
+
+    /** 源文件id */
+    @Excel(name = "源文件id")
+    private Long relateSourceFileId;
+
+    /** 处理文件id */
+    @Excel(name = "处理文件id")
+    private Long relateProcessedFileId;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setTaskName(String taskName) 
+    {
+        this.taskName = taskName;
+    }
+
+    public String getTaskName() 
+    {
+        return taskName;
+    }
+    public void setTaskType(String taskType) 
+    {
+        this.taskType = taskType;
+    }
+
+    public String getTaskType() 
+    {
+        return taskType;
+    }
+    public void setSubtask(String subtask) 
+    {
+        this.subtask = subtask;
+    }
+
+    public String getSubtask() 
+    {
+        return subtask;
+    }
+    public void setTaskStatus(String taskStatus) 
+    {
+        this.taskStatus = taskStatus;
+    }
+
+    public String getTaskStatus() 
+    {
+        return taskStatus;
+    }
+    public void setRelateSourceFileId(Long relateSourceFileId) 
+    {
+        this.relateSourceFileId = relateSourceFileId;
+    }
+
+    public Long getRelateSourceFileId() 
+    {
+        return relateSourceFileId;
+    }
+    public void setRelateProcessedFileId(Long relateProcessedFileId) 
+    {
+        this.relateProcessedFileId = relateProcessedFileId;
+    }
+
+    public Long getRelateProcessedFileId() 
+    {
+        return relateProcessedFileId;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("taskName", getTaskName())
+            .append("taskType", getTaskType())
+            .append("subtask", getSubtask())
+            .append("taskStatus", getTaskStatus())
+            .append("relateSourceFileId", getRelateSourceFileId())
+            .append("relateProcessedFileId", getRelateProcessedFileId())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/mapper/ProcessedFileMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.mapper;
+
+import java.util.List;
+import com.kgraph.graph.domain.ProcessedFile;
+
+/**
+ * 处理文件管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public interface ProcessedFileMapper 
+{
+    /**
+     * 查询处理文件管理
+     * 
+     * @param id 处理文件管理主键
+     * @return 处理文件管理
+     */
+    public ProcessedFile selectProcessedFileById(Long id);
+
+    /**
+     * 查询处理文件管理列表
+     * 
+     * @param processedFile 处理文件管理
+     * @return 处理文件管理集合
+     */
+    public List<ProcessedFile> selectProcessedFileList(ProcessedFile processedFile);
+
+    /**
+     * 新增处理文件管理
+     * 
+     * @param processedFile 处理文件管理
+     * @return 结果
+     */
+    public int insertProcessedFile(ProcessedFile processedFile);
+
+    /**
+     * 修改处理文件管理
+     * 
+     * @param processedFile 处理文件管理
+     * @return 结果
+     */
+    public int updateProcessedFile(ProcessedFile processedFile);
+
+    /**
+     * 删除处理文件管理
+     * 
+     * @param id 处理文件管理主键
+     * @return 结果
+     */
+    public int deleteProcessedFileById(Long id);
+
+    /**
+     * 批量删除处理文件管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteProcessedFileByIds(Long[] ids);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/mapper/SourceFileMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.mapper;
+
+import java.util.List;
+import com.kgraph.graph.domain.SourceFile;
+
+/**
+ * 源文件管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public interface SourceFileMapper 
+{
+    /**
+     * 查询源文件管理
+     * 
+     * @param id 源文件管理主键
+     * @return 源文件管理
+     */
+    public SourceFile selectSourceFileById(Long id);
+
+    /**
+     * 查询源文件管理列表
+     * 
+     * @param sourceFile 源文件管理
+     * @return 源文件管理集合
+     */
+    public List<SourceFile> selectSourceFileList(SourceFile sourceFile);
+
+    /**
+     * 新增源文件管理
+     * 
+     * @param sourceFile 源文件管理
+     * @return 结果
+     */
+    public int insertSourceFile(SourceFile sourceFile);
+
+    /**
+     * 修改源文件管理
+     * 
+     * @param sourceFile 源文件管理
+     * @return 结果
+     */
+    public int updateSourceFile(SourceFile sourceFile);
+
+    /**
+     * 删除源文件管理
+     * 
+     * @param id 源文件管理主键
+     * @return 结果
+     */
+    public int deleteSourceFileById(Long id);
+
+    /**
+     * 批量删除源文件管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteSourceFileByIds(Long[] ids);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/mapper/SubtaskMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.mapper;
+
+import java.util.List;
+import com.kgraph.graph.domain.Subtask;
+
+/**
+ * 子任务管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public interface SubtaskMapper 
+{
+    /**
+     * 查询子任务管理
+     * 
+     * @param id 子任务管理主键
+     * @return 子任务管理
+     */
+    public Subtask selectSubtaskById(Long id);
+
+    /**
+     * 查询子任务管理列表
+     * 
+     * @param subtask 子任务管理
+     * @return 子任务管理集合
+     */
+    public List<Subtask> selectSubtaskList(Subtask subtask);
+
+    /**
+     * 新增子任务管理
+     * 
+     * @param subtask 子任务管理
+     * @return 结果
+     */
+    public int insertSubtask(Subtask subtask);
+
+    /**
+     * 修改子任务管理
+     * 
+     * @param subtask 子任务管理
+     * @return 结果
+     */
+    public int updateSubtask(Subtask subtask);
+
+    /**
+     * 删除子任务管理
+     * 
+     * @param id 子任务管理主键
+     * @return 结果
+     */
+    public int deleteSubtaskById(Long id);
+
+    /**
+     * 批量删除子任务管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteSubtaskByIds(Long[] ids);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/mapper/TaskMapper.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.mapper;
+
+import java.util.List;
+import com.kgraph.graph.domain.Task;
+
+/**
+ * 任务管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public interface TaskMapper 
+{
+    /**
+     * 查询任务管理
+     * 
+     * @param id 任务管理主键
+     * @return 任务管理
+     */
+    public Task selectTaskById(Long id);
+
+    /**
+     * 查询任务管理列表
+     * 
+     * @param task 任务管理
+     * @return 任务管理集合
+     */
+    public List<Task> selectTaskList(Task task);
+
+    /**
+     * 新增任务管理
+     * 
+     * @param task 任务管理
+     * @return 结果
+     */
+    public int insertTask(Task task);
+
+    /**
+     * 修改任务管理
+     * 
+     * @param task 任务管理
+     * @return 结果
+     */
+    public int updateTask(Task task);
+
+    /**
+     * 删除任务管理
+     * 
+     * @param id 任务管理主键
+     * @return 结果
+     */
+    public int deleteTaskById(Long id);
+
+    /**
+     * 批量删除任务管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTaskByIds(Long[] ids);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/service/IProcessedFileService.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.service;
+
+import java.util.List;
+import com.kgraph.graph.domain.ProcessedFile;
+
+/**
+ * 处理文件管理Service接口
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public interface IProcessedFileService 
+{
+    /**
+     * 查询处理文件管理
+     * 
+     * @param id 处理文件管理主键
+     * @return 处理文件管理
+     */
+    public ProcessedFile selectProcessedFileById(Long id);
+
+    /**
+     * 查询处理文件管理列表
+     * 
+     * @param processedFile 处理文件管理
+     * @return 处理文件管理集合
+     */
+    public List<ProcessedFile> selectProcessedFileList(ProcessedFile processedFile);
+
+    /**
+     * 新增处理文件管理
+     * 
+     * @param processedFile 处理文件管理
+     * @return 结果
+     */
+    public int insertProcessedFile(ProcessedFile processedFile);
+
+    /**
+     * 修改处理文件管理
+     * 
+     * @param processedFile 处理文件管理
+     * @return 结果
+     */
+    public int updateProcessedFile(ProcessedFile processedFile);
+
+    /**
+     * 批量删除处理文件管理
+     * 
+     * @param ids 需要删除的处理文件管理主键集合
+     * @return 结果
+     */
+    public int deleteProcessedFileByIds(Long[] ids);
+
+    /**
+     * 删除处理文件管理信息
+     * 
+     * @param id 处理文件管理主键
+     * @return 结果
+     */
+    public int deleteProcessedFileById(Long id);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/service/ISourceFileService.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.service;
+
+import java.util.List;
+import com.kgraph.graph.domain.SourceFile;
+
+/**
+ * 源文件管理Service接口
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public interface ISourceFileService 
+{
+    /**
+     * 查询源文件管理
+     * 
+     * @param id 源文件管理主键
+     * @return 源文件管理
+     */
+    public SourceFile selectSourceFileById(Long id);
+
+    /**
+     * 查询源文件管理列表
+     * 
+     * @param sourceFile 源文件管理
+     * @return 源文件管理集合
+     */
+    public List<SourceFile> selectSourceFileList(SourceFile sourceFile);
+
+    /**
+     * 新增源文件管理
+     * 
+     * @param sourceFile 源文件管理
+     * @return 结果
+     */
+    public int insertSourceFile(SourceFile sourceFile);
+
+    /**
+     * 修改源文件管理
+     * 
+     * @param sourceFile 源文件管理
+     * @return 结果
+     */
+    public int updateSourceFile(SourceFile sourceFile);
+
+    /**
+     * 批量删除源文件管理
+     * 
+     * @param ids 需要删除的源文件管理主键集合
+     * @return 结果
+     */
+    public int deleteSourceFileByIds(Long[] ids);
+
+    /**
+     * 删除源文件管理信息
+     * 
+     * @param id 源文件管理主键
+     * @return 结果
+     */
+    public int deleteSourceFileById(Long id);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/service/ISubtaskService.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.service;
+
+import java.util.List;
+import com.kgraph.graph.domain.Subtask;
+
+/**
+ * 子任务管理Service接口
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public interface ISubtaskService 
+{
+    /**
+     * 查询子任务管理
+     * 
+     * @param id 子任务管理主键
+     * @return 子任务管理
+     */
+    public Subtask selectSubtaskById(Long id);
+
+    /**
+     * 查询子任务管理列表
+     * 
+     * @param subtask 子任务管理
+     * @return 子任务管理集合
+     */
+    public List<Subtask> selectSubtaskList(Subtask subtask);
+
+    /**
+     * 新增子任务管理
+     * 
+     * @param subtask 子任务管理
+     * @return 结果
+     */
+    public int insertSubtask(Subtask subtask);
+
+    /**
+     * 修改子任务管理
+     * 
+     * @param subtask 子任务管理
+     * @return 结果
+     */
+    public int updateSubtask(Subtask subtask);
+
+    /**
+     * 批量删除子任务管理
+     * 
+     * @param ids 需要删除的子任务管理主键集合
+     * @return 结果
+     */
+    public int deleteSubtaskByIds(Long[] ids);
+
+    /**
+     * 删除子任务管理信息
+     * 
+     * @param id 子任务管理主键
+     * @return 结果
+     */
+    public int deleteSubtaskById(Long id);
+}

+ 61 - 0
kgraph-graph/src/main/java/com/kgraph/graph/service/ITaskService.java

@@ -0,0 +1,61 @@
+package com.kgraph.graph.service;
+
+import java.util.List;
+import com.kgraph.graph.domain.Task;
+
+/**
+ * 任务管理Service接口
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+public interface ITaskService 
+{
+    /**
+     * 查询任务管理
+     * 
+     * @param id 任务管理主键
+     * @return 任务管理
+     */
+    public Task selectTaskById(Long id);
+
+    /**
+     * 查询任务管理列表
+     * 
+     * @param task 任务管理
+     * @return 任务管理集合
+     */
+    public List<Task> selectTaskList(Task task);
+
+    /**
+     * 新增任务管理
+     * 
+     * @param task 任务管理
+     * @return 结果
+     */
+    public int insertTask(Task task);
+
+    /**
+     * 修改任务管理
+     * 
+     * @param task 任务管理
+     * @return 结果
+     */
+    public int updateTask(Task task);
+
+    /**
+     * 批量删除任务管理
+     * 
+     * @param ids 需要删除的任务管理主键集合
+     * @return 结果
+     */
+    public int deleteTaskByIds(Long[] ids);
+
+    /**
+     * 删除任务管理信息
+     * 
+     * @param id 任务管理主键
+     * @return 结果
+     */
+    public int deleteTaskById(Long id);
+}

+ 96 - 0
kgraph-graph/src/main/java/com/kgraph/graph/service/impl/ProcessedFileServiceImpl.java

@@ -0,0 +1,96 @@
+package com.kgraph.graph.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.mapper.ProcessedFileMapper;
+import com.kgraph.graph.domain.ProcessedFile;
+import com.kgraph.graph.service.IProcessedFileService;
+
+/**
+ * 处理文件管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+@Service
+public class ProcessedFileServiceImpl implements IProcessedFileService 
+{
+    @Autowired
+    private ProcessedFileMapper processedFileMapper;
+
+    /**
+     * 查询处理文件管理
+     * 
+     * @param id 处理文件管理主键
+     * @return 处理文件管理
+     */
+    @Override
+    public ProcessedFile selectProcessedFileById(Long id)
+    {
+        return processedFileMapper.selectProcessedFileById(id);
+    }
+
+    /**
+     * 查询处理文件管理列表
+     * 
+     * @param processedFile 处理文件管理
+     * @return 处理文件管理
+     */
+    @Override
+    public List<ProcessedFile> selectProcessedFileList(ProcessedFile processedFile)
+    {
+        return processedFileMapper.selectProcessedFileList(processedFile);
+    }
+
+    /**
+     * 新增处理文件管理
+     * 
+     * @param processedFile 处理文件管理
+     * @return 结果
+     */
+    @Override
+    public int insertProcessedFile(ProcessedFile processedFile)
+    {
+        processedFile.setCreateTime(DateUtils.getNowDate());
+        return processedFileMapper.insertProcessedFile(processedFile);
+    }
+
+    /**
+     * 修改处理文件管理
+     * 
+     * @param processedFile 处理文件管理
+     * @return 结果
+     */
+    @Override
+    public int updateProcessedFile(ProcessedFile processedFile)
+    {
+        processedFile.setUpdateTime(DateUtils.getNowDate());
+        return processedFileMapper.updateProcessedFile(processedFile);
+    }
+
+    /**
+     * 批量删除处理文件管理
+     * 
+     * @param ids 需要删除的处理文件管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteProcessedFileByIds(Long[] ids)
+    {
+        return processedFileMapper.deleteProcessedFileByIds(ids);
+    }
+
+    /**
+     * 删除处理文件管理信息
+     * 
+     * @param id 处理文件管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteProcessedFileById(Long id)
+    {
+        return processedFileMapper.deleteProcessedFileById(id);
+    }
+}

+ 96 - 0
kgraph-graph/src/main/java/com/kgraph/graph/service/impl/SourceFileServiceImpl.java

@@ -0,0 +1,96 @@
+package com.kgraph.graph.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.mapper.SourceFileMapper;
+import com.kgraph.graph.domain.SourceFile;
+import com.kgraph.graph.service.ISourceFileService;
+
+/**
+ * 源文件管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+@Service
+public class SourceFileServiceImpl implements ISourceFileService 
+{
+    @Autowired
+    private SourceFileMapper sourceFileMapper;
+
+    /**
+     * 查询源文件管理
+     * 
+     * @param id 源文件管理主键
+     * @return 源文件管理
+     */
+    @Override
+    public SourceFile selectSourceFileById(Long id)
+    {
+        return sourceFileMapper.selectSourceFileById(id);
+    }
+
+    /**
+     * 查询源文件管理列表
+     * 
+     * @param sourceFile 源文件管理
+     * @return 源文件管理
+     */
+    @Override
+    public List<SourceFile> selectSourceFileList(SourceFile sourceFile)
+    {
+        return sourceFileMapper.selectSourceFileList(sourceFile);
+    }
+
+    /**
+     * 新增源文件管理
+     * 
+     * @param sourceFile 源文件管理
+     * @return 结果
+     */
+    @Override
+    public int insertSourceFile(SourceFile sourceFile)
+    {
+        sourceFile.setCreateTime(DateUtils.getNowDate());
+        return sourceFileMapper.insertSourceFile(sourceFile);
+    }
+
+    /**
+     * 修改源文件管理
+     * 
+     * @param sourceFile 源文件管理
+     * @return 结果
+     */
+    @Override
+    public int updateSourceFile(SourceFile sourceFile)
+    {
+        sourceFile.setUpdateTime(DateUtils.getNowDate());
+        return sourceFileMapper.updateSourceFile(sourceFile);
+    }
+
+    /**
+     * 批量删除源文件管理
+     * 
+     * @param ids 需要删除的源文件管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSourceFileByIds(Long[] ids)
+    {
+        return sourceFileMapper.deleteSourceFileByIds(ids);
+    }
+
+    /**
+     * 删除源文件管理信息
+     * 
+     * @param id 源文件管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSourceFileById(Long id)
+    {
+        return sourceFileMapper.deleteSourceFileById(id);
+    }
+}

+ 96 - 0
kgraph-graph/src/main/java/com/kgraph/graph/service/impl/SubtaskServiceImpl.java

@@ -0,0 +1,96 @@
+package com.kgraph.graph.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.mapper.SubtaskMapper;
+import com.kgraph.graph.domain.Subtask;
+import com.kgraph.graph.service.ISubtaskService;
+
+/**
+ * 子任务管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+@Service
+public class SubtaskServiceImpl implements ISubtaskService 
+{
+    @Autowired
+    private SubtaskMapper subtaskMapper;
+
+    /**
+     * 查询子任务管理
+     * 
+     * @param id 子任务管理主键
+     * @return 子任务管理
+     */
+    @Override
+    public Subtask selectSubtaskById(Long id)
+    {
+        return subtaskMapper.selectSubtaskById(id);
+    }
+
+    /**
+     * 查询子任务管理列表
+     * 
+     * @param subtask 子任务管理
+     * @return 子任务管理
+     */
+    @Override
+    public List<Subtask> selectSubtaskList(Subtask subtask)
+    {
+        return subtaskMapper.selectSubtaskList(subtask);
+    }
+
+    /**
+     * 新增子任务管理
+     * 
+     * @param subtask 子任务管理
+     * @return 结果
+     */
+    @Override
+    public int insertSubtask(Subtask subtask)
+    {
+        subtask.setCreateTime(DateUtils.getNowDate());
+        return subtaskMapper.insertSubtask(subtask);
+    }
+
+    /**
+     * 修改子任务管理
+     * 
+     * @param subtask 子任务管理
+     * @return 结果
+     */
+    @Override
+    public int updateSubtask(Subtask subtask)
+    {
+        subtask.setUpdateTime(DateUtils.getNowDate());
+        return subtaskMapper.updateSubtask(subtask);
+    }
+
+    /**
+     * 批量删除子任务管理
+     * 
+     * @param ids 需要删除的子任务管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSubtaskByIds(Long[] ids)
+    {
+        return subtaskMapper.deleteSubtaskByIds(ids);
+    }
+
+    /**
+     * 删除子任务管理信息
+     * 
+     * @param id 子任务管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteSubtaskById(Long id)
+    {
+        return subtaskMapper.deleteSubtaskById(id);
+    }
+}

+ 96 - 0
kgraph-graph/src/main/java/com/kgraph/graph/service/impl/TaskServiceImpl.java

@@ -0,0 +1,96 @@
+package com.kgraph.graph.service.impl;
+
+import java.util.List;
+import com.kgraph.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.kgraph.graph.mapper.TaskMapper;
+import com.kgraph.graph.domain.Task;
+import com.kgraph.graph.service.ITaskService;
+
+/**
+ * 任务管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2023-10-16
+ */
+@Service
+public class TaskServiceImpl implements ITaskService 
+{
+    @Autowired
+    private TaskMapper taskMapper;
+
+    /**
+     * 查询任务管理
+     * 
+     * @param id 任务管理主键
+     * @return 任务管理
+     */
+    @Override
+    public Task selectTaskById(Long id)
+    {
+        return taskMapper.selectTaskById(id);
+    }
+
+    /**
+     * 查询任务管理列表
+     * 
+     * @param task 任务管理
+     * @return 任务管理
+     */
+    @Override
+    public List<Task> selectTaskList(Task task)
+    {
+        return taskMapper.selectTaskList(task);
+    }
+
+    /**
+     * 新增任务管理
+     * 
+     * @param task 任务管理
+     * @return 结果
+     */
+    @Override
+    public int insertTask(Task task)
+    {
+        task.setCreateTime(DateUtils.getNowDate());
+        return taskMapper.insertTask(task);
+    }
+
+    /**
+     * 修改任务管理
+     * 
+     * @param task 任务管理
+     * @return 结果
+     */
+    @Override
+    public int updateTask(Task task)
+    {
+        task.setUpdateTime(DateUtils.getNowDate());
+        return taskMapper.updateTask(task);
+    }
+
+    /**
+     * 批量删除任务管理
+     * 
+     * @param ids 需要删除的任务管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTaskByIds(Long[] ids)
+    {
+        return taskMapper.deleteTaskByIds(ids);
+    }
+
+    /**
+     * 删除任务管理信息
+     * 
+     * @param id 任务管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTaskById(Long id)
+    {
+        return taskMapper.deleteTaskById(id);
+    }
+}

+ 0 - 0
kgraph-graph/src/main/java/com/kgraph/service/null.java


+ 92 - 0
kgraph-graph/src/main/resources/mapper/graph/ProcessedFileMapper.xml

@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.mapper.ProcessedFileMapper">
+    
+    <resultMap type="ProcessedFile" id="ProcessedFileResult">
+        <result property="id"    column="id"    />
+        <result property="sourceFileId"    column="source_file_id"    />
+        <result property="processedFileName"    column="processed_file_name"    />
+        <result property="num"    column="num"    />
+        <result property="processedFileType"    column="processed_file_type"    />
+        <result property="processedFilePath"    column="processed_file_path"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectProcessedFileVo">
+        select id, source_file_id, processed_file_name, num, processed_file_type, processed_file_path, create_by, create_time, update_by, update_time from biz_processed_file
+    </sql>
+
+    <select id="selectProcessedFileList" parameterType="ProcessedFile" resultMap="ProcessedFileResult">
+        <include refid="selectProcessedFileVo"/>
+        <where>  
+            <if test="sourceFileId != null "> and source_file_id = #{sourceFileId}</if>
+            <if test="processedFileName != null  and processedFileName != ''"> and processed_file_name like concat('%', #{processedFileName}, '%')</if>
+            <if test="num != null  and num != ''"> and num = #{num}</if>
+            <if test="processedFileType != null  and processedFileType != ''"> and processed_file_type = #{processedFileType}</if>
+            <if test="processedFilePath != null  and processedFilePath != ''"> and processed_file_path = #{processedFilePath}</if>
+        </where>
+    </select>
+    
+    <select id="selectProcessedFileById" parameterType="Long" resultMap="ProcessedFileResult">
+        <include refid="selectProcessedFileVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertProcessedFile" parameterType="ProcessedFile" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_processed_file
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="sourceFileId != null">source_file_id,</if>
+            <if test="processedFileName != null">processed_file_name,</if>
+            <if test="num != null">num,</if>
+            <if test="processedFileType != null">processed_file_type,</if>
+            <if test="processedFilePath != null">processed_file_path,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="sourceFileId != null">#{sourceFileId},</if>
+            <if test="processedFileName != null">#{processedFileName},</if>
+            <if test="num != null">#{num},</if>
+            <if test="processedFileType != null">#{processedFileType},</if>
+            <if test="processedFilePath != null">#{processedFilePath},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateProcessedFile" parameterType="ProcessedFile">
+        update biz_processed_file
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="sourceFileId != null">source_file_id = #{sourceFileId},</if>
+            <if test="processedFileName != null">processed_file_name = #{processedFileName},</if>
+            <if test="num != null">num = #{num},</if>
+            <if test="processedFileType != null">processed_file_type = #{processedFileType},</if>
+            <if test="processedFilePath != null">processed_file_path = #{processedFilePath},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteProcessedFileById" parameterType="Long">
+        delete from biz_processed_file where id = #{id}
+    </delete>
+
+    <delete id="deleteProcessedFileByIds" parameterType="String">
+        delete from biz_processed_file where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 82 - 0
kgraph-graph/src/main/resources/mapper/graph/SourceFileMapper.xml

@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.mapper.SourceFileMapper">
+    
+    <resultMap type="SourceFile" id="SourceFileResult">
+        <result property="id"    column="id"    />
+        <result property="sourceFileName"    column="source_file_name"    />
+        <result property="sourceFileType"    column="source_file_type"    />
+        <result property="sourceFilePath"    column="source_file_path"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectSourceFileVo">
+        select id, source_file_name, source_file_type, source_file_path, create_by, create_time, update_by, update_time from biz_source_file
+    </sql>
+
+    <select id="selectSourceFileList" parameterType="SourceFile" resultMap="SourceFileResult">
+        <include refid="selectSourceFileVo"/>
+        <where>  
+            <if test="sourceFileName != null  and sourceFileName != ''"> and source_file_name like concat('%', #{sourceFileName}, '%')</if>
+            <if test="sourceFileType != null  and sourceFileType != ''"> and source_file_type = #{sourceFileType}</if>
+            <if test="sourceFilePath != null  and sourceFilePath != ''"> and source_file_path = #{sourceFilePath}</if>
+        </where>
+    </select>
+    
+    <select id="selectSourceFileById" parameterType="Long" resultMap="SourceFileResult">
+        <include refid="selectSourceFileVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSourceFile" parameterType="SourceFile" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_source_file
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="sourceFileName != null">source_file_name,</if>
+            <if test="sourceFileType != null">source_file_type,</if>
+            <if test="sourceFilePath != null">source_file_path,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="sourceFileName != null">#{sourceFileName},</if>
+            <if test="sourceFileType != null">#{sourceFileType},</if>
+            <if test="sourceFilePath != null">#{sourceFilePath},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSourceFile" parameterType="SourceFile">
+        update biz_source_file
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="sourceFileName != null">source_file_name = #{sourceFileName},</if>
+            <if test="sourceFileType != null">source_file_type = #{sourceFileType},</if>
+            <if test="sourceFilePath != null">source_file_path = #{sourceFilePath},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSourceFileById" parameterType="Long">
+        delete from biz_source_file where id = #{id}
+    </delete>
+
+    <delete id="deleteSourceFileByIds" parameterType="String">
+        delete from biz_source_file where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 126 - 0
kgraph-graph/src/main/resources/mapper/graph/SubtaskMapper.xml

@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.mapper.SubtaskMapper">
+    
+    <resultMap type="Subtask" id="SubtaskResult">
+        <result property="id"    column="id"    />
+        <result property="taskId"    column="task_id"    />
+        <result property="subtaskName"    column="subtask_name"    />
+        <result property="subtaskType"    column="subtask_type"    />
+        <result property="taskStatus"    column="task_status"    />
+        <result property="sourceFileName"    column="source_file_name"    />
+        <result property="sourceFilePath"    column="source_file_path"    />
+        <result property="resultFileName"    column="result_file_name"    />
+        <result property="resultFilePath"    column="result_file_path"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <result property="costTime"    column="cost_time"    />
+        <result property="remark"    column="remark"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectSubtaskVo">
+        select id, task_id, subtask_name, subtask_type, task_status, source_file_name, source_file_path, result_file_name, result_file_path, start_time, end_time, cost_time, remark, create_by, create_time, update_by, update_time from biz_subtask
+    </sql>
+
+    <select id="selectSubtaskList" parameterType="Subtask" resultMap="SubtaskResult">
+        <include refid="selectSubtaskVo"/>
+        <where>  
+            <if test="taskId != null "> and task_id = #{taskId}</if>
+            <if test="subtaskName != null  and subtaskName != ''"> and subtask_name like concat('%', #{subtaskName}, '%')</if>
+            <if test="subtaskType != null  and subtaskType != ''"> and subtask_type = #{subtaskType}</if>
+            <if test="taskStatus != null  and taskStatus != ''"> and task_status = #{taskStatus}</if>
+            <if test="sourceFileName != null  and sourceFileName != ''"> and source_file_name like concat('%', #{sourceFileName}, '%')</if>
+            <if test="sourceFilePath != null  and sourceFilePath != ''"> and source_file_path = #{sourceFilePath}</if>
+            <if test="resultFileName != null  and resultFileName != ''"> and result_file_name like concat('%', #{resultFileName}, '%')</if>
+            <if test="resultFilePath != null  and resultFilePath != ''"> and result_file_path = #{resultFilePath}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+            <if test="costTime != null "> and cost_time = #{costTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectSubtaskById" parameterType="Long" resultMap="SubtaskResult">
+        <include refid="selectSubtaskVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertSubtask" parameterType="Subtask" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_subtask
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="taskId != null">task_id,</if>
+            <if test="subtaskName != null">subtask_name,</if>
+            <if test="subtaskType != null">subtask_type,</if>
+            <if test="taskStatus != null">task_status,</if>
+            <if test="sourceFileName != null">source_file_name,</if>
+            <if test="sourceFilePath != null">source_file_path,</if>
+            <if test="resultFileName != null">result_file_name,</if>
+            <if test="resultFilePath != null">result_file_path,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</if>
+            <if test="costTime != null">cost_time,</if>
+            <if test="remark != null">remark,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="taskId != null">#{taskId},</if>
+            <if test="subtaskName != null">#{subtaskName},</if>
+            <if test="subtaskType != null">#{subtaskType},</if>
+            <if test="taskStatus != null">#{taskStatus},</if>
+            <if test="sourceFileName != null">#{sourceFileName},</if>
+            <if test="sourceFilePath != null">#{sourceFilePath},</if>
+            <if test="resultFileName != null">#{resultFileName},</if>
+            <if test="resultFilePath != null">#{resultFilePath},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</if>
+            <if test="costTime != null">#{costTime},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateSubtask" parameterType="Subtask">
+        update biz_subtask
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="taskId != null">task_id = #{taskId},</if>
+            <if test="subtaskName != null">subtask_name = #{subtaskName},</if>
+            <if test="subtaskType != null">subtask_type = #{subtaskType},</if>
+            <if test="taskStatus != null">task_status = #{taskStatus},</if>
+            <if test="sourceFileName != null">source_file_name = #{sourceFileName},</if>
+            <if test="sourceFilePath != null">source_file_path = #{sourceFilePath},</if>
+            <if test="resultFileName != null">result_file_name = #{resultFileName},</if>
+            <if test="resultFilePath != null">result_file_path = #{resultFilePath},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</if>
+            <if test="costTime != null">cost_time = #{costTime},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSubtaskById" parameterType="Long">
+        delete from biz_subtask where id = #{id}
+    </delete>
+
+    <delete id="deleteSubtaskByIds" parameterType="String">
+        delete from biz_subtask where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 101 - 0
kgraph-graph/src/main/resources/mapper/graph/TaskMapper.xml

@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.kgraph.graph.mapper.TaskMapper">
+    
+    <resultMap type="Task" id="TaskResult">
+        <result property="id"    column="id"    />
+        <result property="taskName"    column="task_name"    />
+        <result property="taskType"    column="task_type"    />
+        <result property="subtask"    column="subtask"    />
+        <result property="taskStatus"    column="task_status"    />
+        <result property="relateSourceFileId"    column="relate_source_file_id"    />
+        <result property="relateProcessedFileId"    column="relate_processed_file_id"    />
+        <result property="remark"    column="remark"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectTaskVo">
+        select id, task_name, task_type, subtask, task_status, relate_source_file_id, relate_processed_file_id, remark, create_by, create_time, update_by, update_time from biz_task
+    </sql>
+
+    <select id="selectTaskList" parameterType="Task" resultMap="TaskResult">
+        <include refid="selectTaskVo"/>
+        <where>  
+            <if test="taskName != null  and taskName != ''"> and task_name like concat('%', #{taskName}, '%')</if>
+            <if test="taskType != null  and taskType != ''"> and task_type = #{taskType}</if>
+            <if test="subtask != null  and subtask != ''"> and subtask = #{subtask}</if>
+            <if test="taskStatus != null  and taskStatus != ''"> and task_status = #{taskStatus}</if>
+            <if test="relateSourceFileId != null "> and relate_source_file_id = #{relateSourceFileId}</if>
+            <if test="relateProcessedFileId != null "> and relate_processed_file_id = #{relateProcessedFileId}</if>
+        </where>
+    </select>
+    
+    <select id="selectTaskById" parameterType="Long" resultMap="TaskResult">
+        <include refid="selectTaskVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTask" parameterType="Task" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_task
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="taskName != null">task_name,</if>
+            <if test="taskType != null">task_type,</if>
+            <if test="subtask != null">subtask,</if>
+            <if test="taskStatus != null">task_status,</if>
+            <if test="relateSourceFileId != null">relate_source_file_id,</if>
+            <if test="relateProcessedFileId != null">relate_processed_file_id,</if>
+            <if test="remark != null">remark,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="taskName != null">#{taskName},</if>
+            <if test="taskType != null">#{taskType},</if>
+            <if test="subtask != null">#{subtask},</if>
+            <if test="taskStatus != null">#{taskStatus},</if>
+            <if test="relateSourceFileId != null">#{relateSourceFileId},</if>
+            <if test="relateProcessedFileId != null">#{relateProcessedFileId},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTask" parameterType="Task">
+        update biz_task
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="taskName != null">task_name = #{taskName},</if>
+            <if test="taskType != null">task_type = #{taskType},</if>
+            <if test="subtask != null">subtask = #{subtask},</if>
+            <if test="taskStatus != null">task_status = #{taskStatus},</if>
+            <if test="relateSourceFileId != null">relate_source_file_id = #{relateSourceFileId},</if>
+            <if test="relateProcessedFileId != null">relate_processed_file_id = #{relateProcessedFileId},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteTaskById" parameterType="Long">
+        delete from biz_task where id = #{id}
+    </delete>
+
+    <delete id="deleteTaskByIds" parameterType="String">
+        delete from biz_task where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 44 - 0
kgraph-ui/src/api/graph/processedFile.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询处理文件管理列表
+export function listProcessedFile(query) {
+  return request({
+    url: '/graph/processedFile/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询处理文件管理详细
+export function getProcessedFile(id) {
+  return request({
+    url: '/graph/processedFile/' + id,
+    method: 'get'
+  })
+}
+
+// 新增处理文件管理
+export function addProcessedFile(data) {
+  return request({
+    url: '/graph/processedFile',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改处理文件管理
+export function updateProcessedFile(data) {
+  return request({
+    url: '/graph/processedFile',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除处理文件管理
+export function delProcessedFile(id) {
+  return request({
+    url: '/graph/processedFile/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
kgraph-ui/src/api/graph/sourceFile.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询源文件管理列表
+export function listSourceFile(query) {
+  return request({
+    url: '/graph/sourceFile/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询源文件管理详细
+export function getSourceFile(id) {
+  return request({
+    url: '/graph/sourceFile/' + id,
+    method: 'get'
+  })
+}
+
+// 新增源文件管理
+export function addSourceFile(data) {
+  return request({
+    url: '/graph/sourceFile',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改源文件管理
+export function updateSourceFile(data) {
+  return request({
+    url: '/graph/sourceFile',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除源文件管理
+export function delSourceFile(id) {
+  return request({
+    url: '/graph/sourceFile/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
kgraph-ui/src/api/graph/subtask.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询子任务管理列表
+export function listSubtask(query) {
+  return request({
+    url: '/graph/subtask/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询子任务管理详细
+export function getSubtask(id) {
+  return request({
+    url: '/graph/subtask/' + id,
+    method: 'get'
+  })
+}
+
+// 新增子任务管理
+export function addSubtask(data) {
+  return request({
+    url: '/graph/subtask',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改子任务管理
+export function updateSubtask(data) {
+  return request({
+    url: '/graph/subtask',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除子任务管理
+export function delSubtask(id) {
+  return request({
+    url: '/graph/subtask/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
kgraph-ui/src/api/graph/task.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询任务管理列表
+export function listTask(query) {
+  return request({
+    url: '/graph/task/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询任务管理详细
+export function getTask(id) {
+  return request({
+    url: '/graph/task/' + id,
+    method: 'get'
+  })
+}
+
+// 新增任务管理
+export function addTask(data) {
+  return request({
+    url: '/graph/task',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改任务管理
+export function updateTask(data) {
+  return request({
+    url: '/graph/task',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除任务管理
+export function delTask(id) {
+  return request({
+    url: '/graph/task/' + id,
+    method: 'delete'
+  })
+}

+ 286 - 0
kgraph-ui/src/views/graph/processedFile/index.vue

@@ -0,0 +1,286 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="源文件id" prop="sourceFileId">
+        <el-input
+          v-model="queryParams.sourceFileId"
+          placeholder="请输入源文件id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处理文件名称" prop="processedFileName">
+        <el-input
+          v-model="queryParams.processedFileName"
+          placeholder="请输入处理文件名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="文件编号" prop="num">
+        <el-input
+          v-model="queryParams.num"
+          placeholder="请输入文件编号"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['graph:processedFile:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['graph:processedFile:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['graph:processedFile:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['graph:processedFile:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="processedFileList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="id" align="center" prop="id" />
+      <el-table-column label="源文件id" align="center" prop="sourceFileId" />
+      <el-table-column label="处理文件名称" align="center" prop="processedFileName" />
+      <el-table-column label="文件编号" align="center" prop="num" />
+      <el-table-column label="处理文件类型" align="center" prop="processedFileType" />
+      <el-table-column label="处理文件路径" align="center" prop="processedFilePath" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['graph:processedFile:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['graph:processedFile:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改处理文件管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="源文件id" prop="sourceFileId">
+          <el-input v-model="form.sourceFileId" placeholder="请输入源文件id" />
+        </el-form-item>
+        <el-form-item label="处理文件名称" prop="processedFileName">
+          <el-input v-model="form.processedFileName" placeholder="请输入处理文件名称" />
+        </el-form-item>
+        <el-form-item label="文件编号" prop="num">
+          <el-input v-model="form.num" placeholder="请输入文件编号" />
+        </el-form-item>
+        <el-form-item label="处理文件路径" prop="processedFilePath">
+          <el-input v-model="form.processedFilePath" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listProcessedFile, getProcessedFile, delProcessedFile, addProcessedFile, updateProcessedFile } from "@/api/graph/processedFile";
+
+export default {
+  name: "ProcessedFile",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 处理文件管理表格数据
+      processedFileList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        sourceFileId: null,
+        processedFileName: null,
+        num: null,
+        processedFileType: null,
+        processedFilePath: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询处理文件管理列表 */
+    getList() {
+      this.loading = true;
+      listProcessedFile(this.queryParams).then(response => {
+        this.processedFileList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        sourceFileId: null,
+        processedFileName: null,
+        num: null,
+        processedFileType: null,
+        processedFilePath: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加处理文件管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getProcessedFile(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改处理文件管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateProcessedFile(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addProcessedFile(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除处理文件管理编号为"' + ids + '"的数据项?').then(function() {
+        return delProcessedFile(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('graph/processedFile/export', {
+        ...this.queryParams
+      }, `processedFile_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 258 - 0
kgraph-ui/src/views/graph/sourceFile/index.vue

@@ -0,0 +1,258 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="源文件名称" prop="sourceFileName">
+        <el-input
+          v-model="queryParams.sourceFileName"
+          placeholder="请输入源文件名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['graph:sourceFile:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['graph:sourceFile:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['graph:sourceFile:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['graph:sourceFile:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="sourceFileList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="id" align="center" prop="id" />
+      <el-table-column label="源文件名称" align="center" prop="sourceFileName" />
+      <el-table-column label="源文件类型" align="center" prop="sourceFileType" />
+      <el-table-column label="源文件路径" align="center" prop="sourceFilePath" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['graph:sourceFile:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['graph:sourceFile:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改源文件管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="源文件名称" prop="sourceFileName">
+          <el-input v-model="form.sourceFileName" placeholder="请输入源文件名称" />
+        </el-form-item>
+        <el-form-item label="源文件路径" prop="sourceFilePath">
+          <el-input v-model="form.sourceFilePath" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listSourceFile, getSourceFile, delSourceFile, addSourceFile, updateSourceFile } from "@/api/graph/sourceFile";
+
+export default {
+  name: "SourceFile",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 源文件管理表格数据
+      sourceFileList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        sourceFileName: null,
+        sourceFileType: null,
+        sourceFilePath: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询源文件管理列表 */
+    getList() {
+      this.loading = true;
+      listSourceFile(this.queryParams).then(response => {
+        this.sourceFileList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        sourceFileName: null,
+        sourceFileType: null,
+        sourceFilePath: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加源文件管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSourceFile(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改源文件管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSourceFile(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSourceFile(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除源文件管理编号为"' + ids + '"的数据项?').then(function() {
+        return delSourceFile(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('graph/sourceFile/export', {
+        ...this.queryParams
+      }, `sourceFile_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 393 - 0
kgraph-ui/src/views/graph/subtask/index.vue

@@ -0,0 +1,393 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="任务id" prop="taskId">
+        <el-input
+          v-model="queryParams.taskId"
+          placeholder="请输入任务id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="源文件id" prop="subtaskName">
+        <el-input
+          v-model="queryParams.subtaskName"
+          placeholder="请输入源文件id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处理文件名称" prop="sourceFileName">
+        <el-input
+          v-model="queryParams.sourceFileName"
+          placeholder="请输入处理文件名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处理文件路径" prop="sourceFilePath">
+        <el-input
+          v-model="queryParams.sourceFilePath"
+          placeholder="请输入处理文件路径"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="结果文件名称h" prop="resultFileName">
+        <el-input
+          v-model="queryParams.resultFileName"
+          placeholder="请输入结果文件名称h"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="结果文件路径" prop="resultFilePath">
+        <el-input
+          v-model="queryParams.resultFilePath"
+          placeholder="请输入结果文件路径"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="开始时间" prop="startTime">
+        <el-date-picker clearable
+          v-model="queryParams.startTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择开始时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="结束时间" prop="endTime">
+        <el-date-picker clearable
+          v-model="queryParams.endTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择结束时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="耗时" prop="costTime">
+        <el-input
+          v-model="queryParams.costTime"
+          placeholder="请输入耗时"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['graph:subtask:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['graph:subtask:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['graph:subtask:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['graph:subtask:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="subtaskList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="id" align="center" prop="id" />
+      <el-table-column label="任务id" align="center" prop="taskId" />
+      <el-table-column label="源文件id" align="center" prop="subtaskName" />
+      <el-table-column label="子任务名称" align="center" prop="subtaskType" />
+      <el-table-column label="子任务状态" align="center" prop="taskStatus" />
+      <el-table-column label="处理文件名称" align="center" prop="sourceFileName" />
+      <el-table-column label="处理文件路径" align="center" prop="sourceFilePath" />
+      <el-table-column label="结果文件名称h" align="center" prop="resultFileName" />
+      <el-table-column label="结果文件路径" align="center" prop="resultFilePath" />
+      <el-table-column label="开始时间" align="center" prop="startTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="结束时间" align="center" prop="endTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="耗时" align="center" prop="costTime" />
+      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['graph:subtask:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['graph:subtask:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改子任务管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="任务id" prop="taskId">
+          <el-input v-model="form.taskId" placeholder="请输入任务id" />
+        </el-form-item>
+        <el-form-item label="源文件id" prop="subtaskName">
+          <el-input v-model="form.subtaskName" placeholder="请输入源文件id" />
+        </el-form-item>
+        <el-form-item label="处理文件名称" prop="sourceFileName">
+          <el-input v-model="form.sourceFileName" placeholder="请输入处理文件名称" />
+        </el-form-item>
+        <el-form-item label="处理文件路径" prop="sourceFilePath">
+          <el-input v-model="form.sourceFilePath" placeholder="请输入处理文件路径" />
+        </el-form-item>
+        <el-form-item label="结果文件名称h" prop="resultFileName">
+          <el-input v-model="form.resultFileName" placeholder="请输入结果文件名称h" />
+        </el-form-item>
+        <el-form-item label="结果文件路径" prop="resultFilePath">
+          <el-input v-model="form.resultFilePath" placeholder="请输入结果文件路径" />
+        </el-form-item>
+        <el-form-item label="开始时间" prop="startTime">
+          <el-date-picker clearable
+            v-model="form.startTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择开始时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="结束时间" prop="endTime">
+          <el-date-picker clearable
+            v-model="form.endTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择结束时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="耗时" prop="costTime">
+          <el-input v-model="form.costTime" placeholder="请输入耗时" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listSubtask, getSubtask, delSubtask, addSubtask, updateSubtask } from "@/api/graph/subtask";
+
+export default {
+  name: "Subtask",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 子任务管理表格数据
+      subtaskList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        taskId: null,
+        subtaskName: null,
+        subtaskType: null,
+        taskStatus: null,
+        sourceFileName: null,
+        sourceFilePath: null,
+        resultFileName: null,
+        resultFilePath: null,
+        startTime: null,
+        endTime: null,
+        costTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        taskId: [
+          { required: true, message: "任务id不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询子任务管理列表 */
+    getList() {
+      this.loading = true;
+      listSubtask(this.queryParams).then(response => {
+        this.subtaskList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        taskId: null,
+        subtaskName: null,
+        subtaskType: null,
+        taskStatus: null,
+        sourceFileName: null,
+        sourceFilePath: null,
+        resultFileName: null,
+        resultFilePath: null,
+        startTime: null,
+        endTime: null,
+        costTime: null,
+        remark: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加子任务管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getSubtask(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改子任务管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateSubtask(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addSubtask(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除子任务管理编号为"' + ids + '"的数据项?').then(function() {
+        return delSubtask(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('graph/subtask/export', {
+        ...this.queryParams
+      }, `subtask_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 302 - 0
kgraph-ui/src/views/graph/task/index.vue

@@ -0,0 +1,302 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="源文件id" prop="taskName">
+        <el-input
+          v-model="queryParams.taskName"
+          placeholder="请输入源文件id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="子任务" prop="subtask">
+        <el-input
+          v-model="queryParams.subtask"
+          placeholder="请输入子任务"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="源文件id" prop="relateSourceFileId">
+        <el-input
+          v-model="queryParams.relateSourceFileId"
+          placeholder="请输入源文件id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处理文件id" prop="relateProcessedFileId">
+        <el-input
+          v-model="queryParams.relateProcessedFileId"
+          placeholder="请输入处理文件id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['graph:task:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['graph:task:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['graph:task:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['graph:task:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="taskList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="id" align="center" prop="id" />
+      <el-table-column label="源文件id" align="center" prop="taskName" />
+      <el-table-column label="任务名称" align="center" prop="taskType" />
+      <el-table-column label="子任务" align="center" prop="subtask" />
+      <el-table-column label="任务状态" align="center" prop="taskStatus" />
+      <el-table-column label="源文件id" align="center" prop="relateSourceFileId" />
+      <el-table-column label="处理文件id" align="center" prop="relateProcessedFileId" />
+      <el-table-column label="备注" align="center" prop="remark" />
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['graph:task:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['graph:task:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+    
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改任务管理对话框 -->
+    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="源文件id" prop="taskName">
+          <el-input v-model="form.taskName" placeholder="请输入源文件id" />
+        </el-form-item>
+        <el-form-item label="子任务" prop="subtask">
+          <el-input v-model="form.subtask" placeholder="请输入子任务" />
+        </el-form-item>
+        <el-form-item label="源文件id" prop="relateSourceFileId">
+          <el-input v-model="form.relateSourceFileId" placeholder="请输入源文件id" />
+        </el-form-item>
+        <el-form-item label="处理文件id" prop="relateProcessedFileId">
+          <el-input v-model="form.relateProcessedFileId" placeholder="请输入处理文件id" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" placeholder="请输入备注" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listTask, getTask, delTask, addTask, updateTask } from "@/api/graph/task";
+
+export default {
+  name: "Task",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 任务管理表格数据
+      taskList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        taskName: null,
+        taskType: null,
+        subtask: null,
+        taskStatus: null,
+        relateSourceFileId: null,
+        relateProcessedFileId: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询任务管理列表 */
+    getList() {
+      this.loading = true;
+      listTask(this.queryParams).then(response => {
+        this.taskList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        taskName: null,
+        taskType: null,
+        subtask: null,
+        taskStatus: null,
+        relateSourceFileId: null,
+        relateProcessedFileId: null,
+        remark: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.id)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加任务管理";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids
+      getTask(id).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改任务管理";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateTask(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTask(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal.confirm('是否确认删除任务管理编号为"' + ids + '"的数据项?').then(function() {
+        return delTask(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('graph/task/export', {
+        ...this.queryParams
+      }, `task_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 6 - 0
pom.xml

@@ -170,6 +170,12 @@
                 <version>${kgraph.version}</version>
             </dependency>
 
+            <dependency>
+                <groupId>com.kgraph</groupId>
+                <artifactId>kgraph-graph</artifactId>
+                <version>${kgraph.version}</version>
+            </dependency>
+
         </dependencies>
     </dependencyManagement>