allen 1 년 전
부모
커밋
f98e94d80a
25개의 변경된 파일2767개의 추가작업 그리고 0개의 파일을 삭제
  1. 104 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/controller/AlgConfigController.java
  2. 104 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/controller/DataController.java
  3. 104 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/controller/TDataProcessController.java
  4. 83 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/domain/AlgConfig.java
  5. 69 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/domain/Data.java
  6. 158 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/domain/TDataProcess.java
  7. 61 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/mapper/AlgConfigMapper.java
  8. 61 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/mapper/DataMapper.java
  9. 61 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/mapper/TDataProcessMapper.java
  10. 61 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/service/IAlgConfigService.java
  11. 61 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/service/IDataService.java
  12. 61 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/service/ITDataProcessService.java
  13. 96 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/service/impl/AlgConfigServiceImpl.java
  14. 96 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/service/impl/DataServiceImpl.java
  15. 96 0
      pdaaphm-admin/src/main/java/com/pdaaphm/system/service/impl/TDataProcessServiceImpl.java
  16. 85 0
      pdaaphm-admin/src/main/resources/mapper/system/AlgConfigMapper.xml
  17. 80 0
      pdaaphm-admin/src/main/resources/mapper/system/DataMapper.xml
  18. 111 0
      pdaaphm-admin/src/main/resources/mapper/system/TDataProcessMapper.xml
  19. 44 0
      pdaaphm-ui/src/api/system/algConfig.js
  20. 44 0
      pdaaphm-ui/src/api/system/data.js
  21. 44 0
      pdaaphm-ui/src/api/system/process.js
  22. 294 0
      pdaaphm-ui/src/views/system/algConfig/index.vue
  23. 274 0
      pdaaphm-ui/src/views/system/data/index.vue
  24. 395 0
      pdaaphm-ui/src/views/system/process/index.vue
  25. 120 0
      sql/pdaaphm.sql

+ 104 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/controller/AlgConfigController.java

@@ -0,0 +1,104 @@
+package com.pdaaphm.system.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.pdaaphm.common.annotation.Log;
+import com.pdaaphm.common.core.controller.BaseController;
+import com.pdaaphm.common.core.domain.AjaxResult;
+import com.pdaaphm.common.enums.BusinessType;
+import com.pdaaphm.system.domain.AlgConfig;
+import com.pdaaphm.system.service.IAlgConfigService;
+import com.pdaaphm.common.utils.poi.ExcelUtil;
+import com.pdaaphm.common.core.page.TableDataInfo;
+
+/**
+ * 算法配置Controller
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+@RestController
+@RequestMapping("/system/algConfig")
+public class AlgConfigController extends BaseController
+{
+    @Autowired
+    private IAlgConfigService algConfigService;
+
+    /**
+     * 查询算法配置列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:algConfig:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(AlgConfig algConfig)
+    {
+        startPage();
+        List<AlgConfig> list = algConfigService.selectAlgConfigList(algConfig);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出算法配置列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:algConfig:export')")
+    @Log(title = "算法配置", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, AlgConfig algConfig)
+    {
+        List<AlgConfig> list = algConfigService.selectAlgConfigList(algConfig);
+        ExcelUtil<AlgConfig> util = new ExcelUtil<AlgConfig>(AlgConfig.class);
+        util.exportExcel(response, list, "算法配置数据");
+    }
+
+    /**
+     * 获取算法配置详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:algConfig:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(algConfigService.selectAlgConfigById(id));
+    }
+
+    /**
+     * 新增算法配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:algConfig:add')")
+    @Log(title = "算法配置", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody AlgConfig algConfig)
+    {
+        return toAjax(algConfigService.insertAlgConfig(algConfig));
+    }
+
+    /**
+     * 修改算法配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:algConfig:edit')")
+    @Log(title = "算法配置", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody AlgConfig algConfig)
+    {
+        return toAjax(algConfigService.updateAlgConfig(algConfig));
+    }
+
+    /**
+     * 删除算法配置
+     */
+    @PreAuthorize("@ss.hasPermi('system:algConfig:remove')")
+    @Log(title = "算法配置", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(algConfigService.deleteAlgConfigByIds(ids));
+    }
+}

+ 104 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/controller/DataController.java

@@ -0,0 +1,104 @@
+package com.pdaaphm.system.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.pdaaphm.common.annotation.Log;
+import com.pdaaphm.common.core.controller.BaseController;
+import com.pdaaphm.common.core.domain.AjaxResult;
+import com.pdaaphm.common.enums.BusinessType;
+import com.pdaaphm.system.domain.Data;
+import com.pdaaphm.system.service.IDataService;
+import com.pdaaphm.common.utils.poi.ExcelUtil;
+import com.pdaaphm.common.core.page.TableDataInfo;
+
+/**
+ * 数据管理Controller
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+@RestController
+@RequestMapping("/system/data")
+public class DataController extends BaseController
+{
+    @Autowired
+    private IDataService dataService;
+
+    /**
+     * 查询数据管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:data:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Data data)
+    {
+        startPage();
+        List<Data> list = dataService.selectDataList(data);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出数据管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:data:export')")
+    @Log(title = "数据管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, Data data)
+    {
+        List<Data> list = dataService.selectDataList(data);
+        ExcelUtil<Data> util = new ExcelUtil<Data>(Data.class);
+        util.exportExcel(response, list, "数据管理数据");
+    }
+
+    /**
+     * 获取数据管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:data:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(dataService.selectDataById(id));
+    }
+
+    /**
+     * 新增数据管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:data:add')")
+    @Log(title = "数据管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody Data data)
+    {
+        return toAjax(dataService.insertData(data));
+    }
+
+    /**
+     * 修改数据管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:data:edit')")
+    @Log(title = "数据管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody Data data)
+    {
+        return toAjax(dataService.updateData(data));
+    }
+
+    /**
+     * 删除数据管理
+     */
+    @PreAuthorize("@ss.hasPermi('system:data:remove')")
+    @Log(title = "数据管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(dataService.deleteDataByIds(ids));
+    }
+}

+ 104 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/controller/TDataProcessController.java

@@ -0,0 +1,104 @@
+package com.pdaaphm.system.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.pdaaphm.common.annotation.Log;
+import com.pdaaphm.common.core.controller.BaseController;
+import com.pdaaphm.common.core.domain.AjaxResult;
+import com.pdaaphm.common.enums.BusinessType;
+import com.pdaaphm.system.domain.TDataProcess;
+import com.pdaaphm.system.service.ITDataProcessService;
+import com.pdaaphm.common.utils.poi.ExcelUtil;
+import com.pdaaphm.common.core.page.TableDataInfo;
+
+/**
+ * 数据处理Controller
+ * 
+ * @author ruoyi
+ * @date 2024-08-20
+ */
+@RestController
+@RequestMapping("/system/process")
+public class TDataProcessController extends BaseController
+{
+    @Autowired
+    private ITDataProcessService tDataProcessService;
+
+    /**
+     * 查询数据处理列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:process:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TDataProcess tDataProcess)
+    {
+        startPage();
+        List<TDataProcess> list = tDataProcessService.selectTDataProcessList(tDataProcess);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出数据处理列表
+     */
+    @PreAuthorize("@ss.hasPermi('system:process:export')")
+    @Log(title = "数据处理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TDataProcess tDataProcess)
+    {
+        List<TDataProcess> list = tDataProcessService.selectTDataProcessList(tDataProcess);
+        ExcelUtil<TDataProcess> util = new ExcelUtil<TDataProcess>(TDataProcess.class);
+        util.exportExcel(response, list, "数据处理数据");
+    }
+
+    /**
+     * 获取数据处理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('system:process:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(tDataProcessService.selectTDataProcessById(id));
+    }
+
+    /**
+     * 新增数据处理
+     */
+    @PreAuthorize("@ss.hasPermi('system:process:add')")
+    @Log(title = "数据处理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TDataProcess tDataProcess)
+    {
+        return toAjax(tDataProcessService.insertTDataProcess(tDataProcess));
+    }
+
+    /**
+     * 修改数据处理
+     */
+    @PreAuthorize("@ss.hasPermi('system:process:edit')")
+    @Log(title = "数据处理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TDataProcess tDataProcess)
+    {
+        return toAjax(tDataProcessService.updateTDataProcess(tDataProcess));
+    }
+
+    /**
+     * 删除数据处理
+     */
+    @PreAuthorize("@ss.hasPermi('system:process:remove')")
+    @Log(title = "数据处理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(tDataProcessService.deleteTDataProcessByIds(ids));
+    }
+}

+ 83 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/domain/AlgConfig.java

@@ -0,0 +1,83 @@
+package com.pdaaphm.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.pdaaphm.common.annotation.Excel;
+import com.pdaaphm.common.core.domain.BaseEntity;
+
+/**
+ * 算法配置对象 t_alg_config
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+public class AlgConfig extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 算法名称 */
+    @Excel(name = "算法名称")
+    private String algName;
+
+    /** 算法类型(1补全,2扩充,3特称提取,4退化评估,5故障预测) */
+    @Excel(name = "算法类型", readConverterExp = "1=补全,2扩充,3特称提取,4退化评估,5故障预测")
+    private String algType;
+
+    /** 处理的算法 */
+    private String algUrl;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setAlgName(String algName) 
+    {
+        this.algName = algName;
+    }
+
+    public String getAlgName() 
+    {
+        return algName;
+    }
+    public void setAlgType(String algType) 
+    {
+        this.algType = algType;
+    }
+
+    public String getAlgType() 
+    {
+        return algType;
+    }
+    public void setAlgUrl(String algUrl) 
+    {
+        this.algUrl = algUrl;
+    }
+
+    public String getAlgUrl() 
+    {
+        return algUrl;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("algName", getAlgName())
+            .append("algType", getAlgType())
+            .append("algUrl", getAlgUrl())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 69 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/domain/Data.java

@@ -0,0 +1,69 @@
+package com.pdaaphm.system.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.pdaaphm.common.annotation.Excel;
+import com.pdaaphm.common.core.domain.BaseEntity;
+
+/**
+ * 数据管理对象 t_data
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+public class Data extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 数据类型(1原始,2补全结果,3扩充结果,4特称提取结果,5退化评估结果,6故障预测结果) */
+    @Excel(name = "数据类型", readConverterExp = "1=原始,2补全结果,3扩充结果,4特称提取结果,5退化评估结果,6故障预测结果")
+    private String dataType;
+
+    /** 数据路径 */
+    private String dataPath;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setDataType(String dataType) 
+    {
+        this.dataType = dataType;
+    }
+
+    public String getDataType() 
+    {
+        return dataType;
+    }
+    public void setDataPath(String dataPath) 
+    {
+        this.dataPath = dataPath;
+    }
+
+    public String getDataPath() 
+    {
+        return dataPath;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("dataType", getDataType())
+            .append("dataPath", getDataPath())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 158 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/domain/TDataProcess.java

@@ -0,0 +1,158 @@
+package com.pdaaphm.system.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.pdaaphm.common.annotation.Excel;
+import com.pdaaphm.common.core.domain.BaseEntity;
+
+/**
+ * 数据处理对象 t_data_process
+ * 
+ * @author ruoyi
+ * @date 2024-08-20
+ */
+public class TDataProcess extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 编号 */
+    private Long id;
+
+    /** 数据类型 */
+    @Excel(name = "数据类型")
+    private String processType;
+
+    /** 处理的算法id */
+    @Excel(name = "处理的算法id")
+    private Long processAlgId;
+
+    /** 被处理数据id */
+    @Excel(name = "被处理数据id")
+    private Long processedDataId;
+
+    /** 处理结果数据id */
+    @Excel(name = "处理结果数据id")
+    private Long resultDataId;
+
+    /** 状态 */
+    @Excel(name = "状态")
+    private String processStatus;
+
+    /** 开始时间 */
+    @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 String log;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setProcessType(String processType) 
+    {
+        this.processType = processType;
+    }
+
+    public String getProcessType() 
+    {
+        return processType;
+    }
+    public void setProcessAlgId(Long processAlgId) 
+    {
+        this.processAlgId = processAlgId;
+    }
+
+    public Long getProcessAlgId() 
+    {
+        return processAlgId;
+    }
+    public void setProcessedDataId(Long processedDataId) 
+    {
+        this.processedDataId = processedDataId;
+    }
+
+    public Long getProcessedDataId() 
+    {
+        return processedDataId;
+    }
+    public void setResultDataId(Long resultDataId) 
+    {
+        this.resultDataId = resultDataId;
+    }
+
+    public Long getResultDataId() 
+    {
+        return resultDataId;
+    }
+    public void setProcessStatus(String processStatus) 
+    {
+        this.processStatus = processStatus;
+    }
+
+    public String getProcessStatus() 
+    {
+        return processStatus;
+    }
+    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 setLog(String log) 
+    {
+        this.log = log;
+    }
+
+    public String getLog() 
+    {
+        return log;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("processType", getProcessType())
+            .append("processAlgId", getProcessAlgId())
+            .append("processedDataId", getProcessedDataId())
+            .append("resultDataId", getResultDataId())
+            .append("processStatus", getProcessStatus())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("log", getLog())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("remark", getRemark())
+            .toString();
+    }
+}

+ 61 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/mapper/AlgConfigMapper.java

@@ -0,0 +1,61 @@
+package com.pdaaphm.system.mapper;
+
+import java.util.List;
+import com.pdaaphm.system.domain.AlgConfig;
+
+/**
+ * 算法配置Mapper接口
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+public interface AlgConfigMapper 
+{
+    /**
+     * 查询算法配置
+     * 
+     * @param id 算法配置主键
+     * @return 算法配置
+     */
+    public AlgConfig selectAlgConfigById(Long id);
+
+    /**
+     * 查询算法配置列表
+     * 
+     * @param algConfig 算法配置
+     * @return 算法配置集合
+     */
+    public List<AlgConfig> selectAlgConfigList(AlgConfig algConfig);
+
+    /**
+     * 新增算法配置
+     * 
+     * @param algConfig 算法配置
+     * @return 结果
+     */
+    public int insertAlgConfig(AlgConfig algConfig);
+
+    /**
+     * 修改算法配置
+     * 
+     * @param algConfig 算法配置
+     * @return 结果
+     */
+    public int updateAlgConfig(AlgConfig algConfig);
+
+    /**
+     * 删除算法配置
+     * 
+     * @param id 算法配置主键
+     * @return 结果
+     */
+    public int deleteAlgConfigById(Long id);
+
+    /**
+     * 批量删除算法配置
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteAlgConfigByIds(Long[] ids);
+}

+ 61 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/mapper/DataMapper.java

@@ -0,0 +1,61 @@
+package com.pdaaphm.system.mapper;
+
+import java.util.List;
+import com.pdaaphm.system.domain.Data;
+
+/**
+ * 数据管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+public interface DataMapper 
+{
+    /**
+     * 查询数据管理
+     * 
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+    public Data selectDataById(Long id);
+
+    /**
+     * 查询数据管理列表
+     * 
+     * @param data 数据管理
+     * @return 数据管理集合
+     */
+    public List<Data> selectDataList(Data data);
+
+    /**
+     * 新增数据管理
+     * 
+     * @param data 数据管理
+     * @return 结果
+     */
+    public int insertData(Data data);
+
+    /**
+     * 修改数据管理
+     * 
+     * @param data 数据管理
+     * @return 结果
+     */
+    public int updateData(Data data);
+
+    /**
+     * 删除数据管理
+     * 
+     * @param id 数据管理主键
+     * @return 结果
+     */
+    public int deleteDataById(Long id);
+
+    /**
+     * 批量删除数据管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteDataByIds(Long[] ids);
+}

+ 61 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/mapper/TDataProcessMapper.java

@@ -0,0 +1,61 @@
+package com.pdaaphm.system.mapper;
+
+import java.util.List;
+import com.pdaaphm.system.domain.TDataProcess;
+
+/**
+ * 数据处理Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2024-08-20
+ */
+public interface TDataProcessMapper 
+{
+    /**
+     * 查询数据处理
+     * 
+     * @param id 数据处理主键
+     * @return 数据处理
+     */
+    public TDataProcess selectTDataProcessById(Long id);
+
+    /**
+     * 查询数据处理列表
+     * 
+     * @param tDataProcess 数据处理
+     * @return 数据处理集合
+     */
+    public List<TDataProcess> selectTDataProcessList(TDataProcess tDataProcess);
+
+    /**
+     * 新增数据处理
+     * 
+     * @param tDataProcess 数据处理
+     * @return 结果
+     */
+    public int insertTDataProcess(TDataProcess tDataProcess);
+
+    /**
+     * 修改数据处理
+     * 
+     * @param tDataProcess 数据处理
+     * @return 结果
+     */
+    public int updateTDataProcess(TDataProcess tDataProcess);
+
+    /**
+     * 删除数据处理
+     * 
+     * @param id 数据处理主键
+     * @return 结果
+     */
+    public int deleteTDataProcessById(Long id);
+
+    /**
+     * 批量删除数据处理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTDataProcessByIds(Long[] ids);
+}

+ 61 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/service/IAlgConfigService.java

@@ -0,0 +1,61 @@
+package com.pdaaphm.system.service;
+
+import java.util.List;
+import com.pdaaphm.system.domain.AlgConfig;
+
+/**
+ * 算法配置Service接口
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+public interface IAlgConfigService 
+{
+    /**
+     * 查询算法配置
+     * 
+     * @param id 算法配置主键
+     * @return 算法配置
+     */
+    public AlgConfig selectAlgConfigById(Long id);
+
+    /**
+     * 查询算法配置列表
+     * 
+     * @param algConfig 算法配置
+     * @return 算法配置集合
+     */
+    public List<AlgConfig> selectAlgConfigList(AlgConfig algConfig);
+
+    /**
+     * 新增算法配置
+     * 
+     * @param algConfig 算法配置
+     * @return 结果
+     */
+    public int insertAlgConfig(AlgConfig algConfig);
+
+    /**
+     * 修改算法配置
+     * 
+     * @param algConfig 算法配置
+     * @return 结果
+     */
+    public int updateAlgConfig(AlgConfig algConfig);
+
+    /**
+     * 批量删除算法配置
+     * 
+     * @param ids 需要删除的算法配置主键集合
+     * @return 结果
+     */
+    public int deleteAlgConfigByIds(Long[] ids);
+
+    /**
+     * 删除算法配置信息
+     * 
+     * @param id 算法配置主键
+     * @return 结果
+     */
+    public int deleteAlgConfigById(Long id);
+}

+ 61 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/service/IDataService.java

@@ -0,0 +1,61 @@
+package com.pdaaphm.system.service;
+
+import java.util.List;
+import com.pdaaphm.system.domain.Data;
+
+/**
+ * 数据管理Service接口
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+public interface IDataService 
+{
+    /**
+     * 查询数据管理
+     * 
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+    public Data selectDataById(Long id);
+
+    /**
+     * 查询数据管理列表
+     * 
+     * @param data 数据管理
+     * @return 数据管理集合
+     */
+    public List<Data> selectDataList(Data data);
+
+    /**
+     * 新增数据管理
+     * 
+     * @param data 数据管理
+     * @return 结果
+     */
+    public int insertData(Data data);
+
+    /**
+     * 修改数据管理
+     * 
+     * @param data 数据管理
+     * @return 结果
+     */
+    public int updateData(Data data);
+
+    /**
+     * 批量删除数据管理
+     * 
+     * @param ids 需要删除的数据管理主键集合
+     * @return 结果
+     */
+    public int deleteDataByIds(Long[] ids);
+
+    /**
+     * 删除数据管理信息
+     * 
+     * @param id 数据管理主键
+     * @return 结果
+     */
+    public int deleteDataById(Long id);
+}

+ 61 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/service/ITDataProcessService.java

@@ -0,0 +1,61 @@
+package com.pdaaphm.system.service;
+
+import java.util.List;
+import com.pdaaphm.system.domain.TDataProcess;
+
+/**
+ * 数据处理Service接口
+ * 
+ * @author ruoyi
+ * @date 2024-08-20
+ */
+public interface ITDataProcessService 
+{
+    /**
+     * 查询数据处理
+     * 
+     * @param id 数据处理主键
+     * @return 数据处理
+     */
+    public TDataProcess selectTDataProcessById(Long id);
+
+    /**
+     * 查询数据处理列表
+     * 
+     * @param tDataProcess 数据处理
+     * @return 数据处理集合
+     */
+    public List<TDataProcess> selectTDataProcessList(TDataProcess tDataProcess);
+
+    /**
+     * 新增数据处理
+     * 
+     * @param tDataProcess 数据处理
+     * @return 结果
+     */
+    public int insertTDataProcess(TDataProcess tDataProcess);
+
+    /**
+     * 修改数据处理
+     * 
+     * @param tDataProcess 数据处理
+     * @return 结果
+     */
+    public int updateTDataProcess(TDataProcess tDataProcess);
+
+    /**
+     * 批量删除数据处理
+     * 
+     * @param ids 需要删除的数据处理主键集合
+     * @return 结果
+     */
+    public int deleteTDataProcessByIds(Long[] ids);
+
+    /**
+     * 删除数据处理信息
+     * 
+     * @param id 数据处理主键
+     * @return 结果
+     */
+    public int deleteTDataProcessById(Long id);
+}

+ 96 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/service/impl/AlgConfigServiceImpl.java

@@ -0,0 +1,96 @@
+package com.pdaaphm.system.service.impl;
+
+import java.util.List;
+import com.pdaaphm.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.pdaaphm.system.mapper.AlgConfigMapper;
+import com.pdaaphm.system.domain.AlgConfig;
+import com.pdaaphm.system.service.IAlgConfigService;
+
+/**
+ * 算法配置Service业务层处理
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+@Service
+public class AlgConfigServiceImpl implements IAlgConfigService 
+{
+    @Autowired
+    private AlgConfigMapper algConfigMapper;
+
+    /**
+     * 查询算法配置
+     * 
+     * @param id 算法配置主键
+     * @return 算法配置
+     */
+    @Override
+    public AlgConfig selectAlgConfigById(Long id)
+    {
+        return algConfigMapper.selectAlgConfigById(id);
+    }
+
+    /**
+     * 查询算法配置列表
+     * 
+     * @param algConfig 算法配置
+     * @return 算法配置
+     */
+    @Override
+    public List<AlgConfig> selectAlgConfigList(AlgConfig algConfig)
+    {
+        return algConfigMapper.selectAlgConfigList(algConfig);
+    }
+
+    /**
+     * 新增算法配置
+     * 
+     * @param algConfig 算法配置
+     * @return 结果
+     */
+    @Override
+    public int insertAlgConfig(AlgConfig algConfig)
+    {
+        algConfig.setCreateTime(DateUtils.getNowDate());
+        return algConfigMapper.insertAlgConfig(algConfig);
+    }
+
+    /**
+     * 修改算法配置
+     * 
+     * @param algConfig 算法配置
+     * @return 结果
+     */
+    @Override
+    public int updateAlgConfig(AlgConfig algConfig)
+    {
+        algConfig.setUpdateTime(DateUtils.getNowDate());
+        return algConfigMapper.updateAlgConfig(algConfig);
+    }
+
+    /**
+     * 批量删除算法配置
+     * 
+     * @param ids 需要删除的算法配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAlgConfigByIds(Long[] ids)
+    {
+        return algConfigMapper.deleteAlgConfigByIds(ids);
+    }
+
+    /**
+     * 删除算法配置信息
+     * 
+     * @param id 算法配置主键
+     * @return 结果
+     */
+    @Override
+    public int deleteAlgConfigById(Long id)
+    {
+        return algConfigMapper.deleteAlgConfigById(id);
+    }
+}

+ 96 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/service/impl/DataServiceImpl.java

@@ -0,0 +1,96 @@
+package com.pdaaphm.system.service.impl;
+
+import java.util.List;
+import com.pdaaphm.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.pdaaphm.system.mapper.DataMapper;
+import com.pdaaphm.system.domain.Data;
+import com.pdaaphm.system.service.IDataService;
+
+/**
+ * 数据管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2024-08-19
+ */
+@Service
+public class DataServiceImpl implements IDataService 
+{
+    @Autowired
+    private DataMapper dataMapper;
+
+    /**
+     * 查询数据管理
+     * 
+     * @param id 数据管理主键
+     * @return 数据管理
+     */
+    @Override
+    public Data selectDataById(Long id)
+    {
+        return dataMapper.selectDataById(id);
+    }
+
+    /**
+     * 查询数据管理列表
+     * 
+     * @param data 数据管理
+     * @return 数据管理
+     */
+    @Override
+    public List<Data> selectDataList(Data data)
+    {
+        return dataMapper.selectDataList(data);
+    }
+
+    /**
+     * 新增数据管理
+     * 
+     * @param data 数据管理
+     * @return 结果
+     */
+    @Override
+    public int insertData(Data data)
+    {
+        data.setCreateTime(DateUtils.getNowDate());
+        return dataMapper.insertData(data);
+    }
+
+    /**
+     * 修改数据管理
+     * 
+     * @param data 数据管理
+     * @return 结果
+     */
+    @Override
+    public int updateData(Data data)
+    {
+        data.setUpdateTime(DateUtils.getNowDate());
+        return dataMapper.updateData(data);
+    }
+
+    /**
+     * 批量删除数据管理
+     * 
+     * @param ids 需要删除的数据管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteDataByIds(Long[] ids)
+    {
+        return dataMapper.deleteDataByIds(ids);
+    }
+
+    /**
+     * 删除数据管理信息
+     * 
+     * @param id 数据管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteDataById(Long id)
+    {
+        return dataMapper.deleteDataById(id);
+    }
+}

+ 96 - 0
pdaaphm-admin/src/main/java/com/pdaaphm/system/service/impl/TDataProcessServiceImpl.java

@@ -0,0 +1,96 @@
+package com.pdaaphm.system.service.impl;
+
+import java.util.List;
+import com.pdaaphm.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.pdaaphm.system.mapper.TDataProcessMapper;
+import com.pdaaphm.system.domain.TDataProcess;
+import com.pdaaphm.system.service.ITDataProcessService;
+
+/**
+ * 数据处理Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-08-20
+ */
+@Service
+public class TDataProcessServiceImpl implements ITDataProcessService 
+{
+    @Autowired
+    private TDataProcessMapper tDataProcessMapper;
+
+    /**
+     * 查询数据处理
+     * 
+     * @param id 数据处理主键
+     * @return 数据处理
+     */
+    @Override
+    public TDataProcess selectTDataProcessById(Long id)
+    {
+        return tDataProcessMapper.selectTDataProcessById(id);
+    }
+
+    /**
+     * 查询数据处理列表
+     * 
+     * @param tDataProcess 数据处理
+     * @return 数据处理
+     */
+    @Override
+    public List<TDataProcess> selectTDataProcessList(TDataProcess tDataProcess)
+    {
+        return tDataProcessMapper.selectTDataProcessList(tDataProcess);
+    }
+
+    /**
+     * 新增数据处理
+     * 
+     * @param tDataProcess 数据处理
+     * @return 结果
+     */
+    @Override
+    public int insertTDataProcess(TDataProcess tDataProcess)
+    {
+        tDataProcess.setCreateTime(DateUtils.getNowDate());
+        return tDataProcessMapper.insertTDataProcess(tDataProcess);
+    }
+
+    /**
+     * 修改数据处理
+     * 
+     * @param tDataProcess 数据处理
+     * @return 结果
+     */
+    @Override
+    public int updateTDataProcess(TDataProcess tDataProcess)
+    {
+        tDataProcess.setUpdateTime(DateUtils.getNowDate());
+        return tDataProcessMapper.updateTDataProcess(tDataProcess);
+    }
+
+    /**
+     * 批量删除数据处理
+     * 
+     * @param ids 需要删除的数据处理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTDataProcessByIds(Long[] ids)
+    {
+        return tDataProcessMapper.deleteTDataProcessByIds(ids);
+    }
+
+    /**
+     * 删除数据处理信息
+     * 
+     * @param id 数据处理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTDataProcessById(Long id)
+    {
+        return tDataProcessMapper.deleteTDataProcessById(id);
+    }
+}

+ 85 - 0
pdaaphm-admin/src/main/resources/mapper/system/AlgConfigMapper.xml

@@ -0,0 +1,85 @@
+<?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.pdaaphm.system.mapper.AlgConfigMapper">
+    
+    <resultMap type="AlgConfig" id="AlgConfigResult">
+        <result property="id"    column="id"    />
+        <result property="algName"    column="alg_name"    />
+        <result property="algType"    column="alg_type"    />
+        <result property="algUrl"    column="alg_url"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectAlgConfigVo">
+        select id, alg_name, alg_type, alg_url, create_by, create_time, update_by, update_time, remark from t_alg_config
+    </sql>
+
+    <select id="selectAlgConfigList" parameterType="AlgConfig" resultMap="AlgConfigResult">
+        <include refid="selectAlgConfigVo"/>
+        <where>  
+            <if test="algName != null  and algName != ''"> and alg_name like concat('%', #{algName}, '%')</if>
+            <if test="algType != null  and algType != ''"> and alg_type = #{algType}</if>
+        </where>
+    </select>
+    
+    <select id="selectAlgConfigById" parameterType="Long" resultMap="AlgConfigResult">
+        <include refid="selectAlgConfigVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertAlgConfig" parameterType="AlgConfig" useGeneratedKeys="true" keyProperty="id">
+        insert into t_alg_config
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="algName != null and algName != ''">alg_name,</if>
+            <if test="algType != null and algType != ''">alg_type,</if>
+            <if test="algUrl != null and algUrl != ''">alg_url,</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>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="algName != null and algName != ''">#{algName},</if>
+            <if test="algType != null and algType != ''">#{algType},</if>
+            <if test="algUrl != null and algUrl != ''">#{algUrl},</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>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateAlgConfig" parameterType="AlgConfig">
+        update t_alg_config
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="algName != null and algName != ''">alg_name = #{algName},</if>
+            <if test="algType != null and algType != ''">alg_type = #{algType},</if>
+            <if test="algUrl != null and algUrl != ''">alg_url = #{algUrl},</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>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteAlgConfigById" parameterType="Long">
+        delete from t_alg_config where id = #{id}
+    </delete>
+
+    <delete id="deleteAlgConfigByIds" parameterType="String">
+        delete from t_alg_config where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 80 - 0
pdaaphm-admin/src/main/resources/mapper/system/DataMapper.xml

@@ -0,0 +1,80 @@
+<?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.pdaaphm.system.mapper.DataMapper">
+    
+    <resultMap type="Data" id="DataResult">
+        <result property="id"    column="id"    />
+        <result property="dataType"    column="data_type"    />
+        <result property="dataPath"    column="data_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"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectDataVo">
+        select id, data_type, data_path, create_by, create_time, update_by, update_time, remark from t_data
+    </sql>
+
+    <select id="selectDataList" parameterType="Data" resultMap="DataResult">
+        <include refid="selectDataVo"/>
+        <where>  
+            <if test="dataType != null  and dataType != ''"> and data_type = #{dataType}</if>
+        </where>
+    </select>
+    
+    <select id="selectDataById" parameterType="Long" resultMap="DataResult">
+        <include refid="selectDataVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertData" parameterType="Data" useGeneratedKeys="true" keyProperty="id">
+        insert into t_data
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="dataType != null and dataType != ''">data_type,</if>
+            <if test="dataPath != null">data_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>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="dataType != null and dataType != ''">#{dataType},</if>
+            <if test="dataPath != null">#{dataPath},</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>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateData" parameterType="Data">
+        update t_data
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="dataType != null and dataType != ''">data_type = #{dataType},</if>
+            <if test="dataPath != null">data_path = #{dataPath},</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>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteDataById" parameterType="Long">
+        delete from t_data where id = #{id}
+    </delete>
+
+    <delete id="deleteDataByIds" parameterType="String">
+        delete from t_data where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 111 - 0
pdaaphm-admin/src/main/resources/mapper/system/TDataProcessMapper.xml

@@ -0,0 +1,111 @@
+<?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.pdaaphm.system.mapper.TDataProcessMapper">
+    
+    <resultMap type="TDataProcess" id="TDataProcessResult">
+        <result property="id"    column="id"    />
+        <result property="processType"    column="process_type"    />
+        <result property="processAlgId"    column="process_alg_id"    />
+        <result property="processedDataId"    column="processed_data_id"    />
+        <result property="resultDataId"    column="result_data_id"    />
+        <result property="processStatus"    column="process_status"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <result property="log"    column="log"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+        <result property="remark"    column="remark"    />
+    </resultMap>
+
+    <sql id="selectTDataProcessVo">
+        select id, process_type, process_alg_id, processed_data_id, result_data_id, process_status, start_time, end_time, log, create_by, create_time, update_by, update_time, remark from t_data_process
+    </sql>
+
+    <select id="selectTDataProcessList" parameterType="TDataProcess" resultMap="TDataProcessResult">
+        <include refid="selectTDataProcessVo"/>
+        <where>  
+            <if test="processType != null  and processType != ''"> and process_type = #{processType}</if>
+            <if test="processAlgId != null "> and process_alg_id = #{processAlgId}</if>
+            <if test="processedDataId != null "> and processed_data_id = #{processedDataId}</if>
+            <if test="resultDataId != null "> and result_data_id = #{resultDataId}</if>
+            <if test="processStatus != null  and processStatus != ''"> and process_status = #{processStatus}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+            <if test="log != null  and log != ''"> and log = #{log}</if>
+        </where>
+    </select>
+    
+    <select id="selectTDataProcessById" parameterType="Long" resultMap="TDataProcessResult">
+        <include refid="selectTDataProcessVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTDataProcess" parameterType="TDataProcess" useGeneratedKeys="true" keyProperty="id">
+        insert into t_data_process
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="processType != null">process_type,</if>
+            <if test="processAlgId != null">process_alg_id,</if>
+            <if test="processedDataId != null">processed_data_id,</if>
+            <if test="resultDataId != null">result_data_id,</if>
+            <if test="processStatus != null">process_status,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</if>
+            <if test="log != null">log,</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>
+            <if test="remark != null">remark,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="processType != null">#{processType},</if>
+            <if test="processAlgId != null">#{processAlgId},</if>
+            <if test="processedDataId != null">#{processedDataId},</if>
+            <if test="resultDataId != null">#{resultDataId},</if>
+            <if test="processStatus != null">#{processStatus},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</if>
+            <if test="log != null">#{log},</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>
+            <if test="remark != null">#{remark},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTDataProcess" parameterType="TDataProcess">
+        update t_data_process
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="processType != null">process_type = #{processType},</if>
+            <if test="processAlgId != null">process_alg_id = #{processAlgId},</if>
+            <if test="processedDataId != null">processed_data_id = #{processedDataId},</if>
+            <if test="resultDataId != null">result_data_id = #{resultDataId},</if>
+            <if test="processStatus != null">process_status = #{processStatus},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</if>
+            <if test="log != null">log = #{log},</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>
+            <if test="remark != null">remark = #{remark},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteTDataProcessById" parameterType="Long">
+        delete from t_data_process where id = #{id}
+    </delete>
+
+    <delete id="deleteTDataProcessByIds" parameterType="String">
+        delete from t_data_process where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 44 - 0
pdaaphm-ui/src/api/system/algConfig.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询算法配置列表
+export function listAlgConfig(query) {
+  return request({
+    url: '/system/algConfig/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询算法配置详细
+export function getAlgConfig(id) {
+  return request({
+    url: '/system/algConfig/' + id,
+    method: 'get'
+  })
+}
+
+// 新增算法配置
+export function addAlgConfig(data) {
+  return request({
+    url: '/system/algConfig',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改算法配置
+export function updateAlgConfig(data) {
+  return request({
+    url: '/system/algConfig',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除算法配置
+export function delAlgConfig(id) {
+  return request({
+    url: '/system/algConfig/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
pdaaphm-ui/src/api/system/data.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询数据管理列表
+export function listData(query) {
+  return request({
+    url: '/system/data/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询数据管理详细
+export function getData(id) {
+  return request({
+    url: '/system/data/' + id,
+    method: 'get'
+  })
+}
+
+// 新增数据管理
+export function addData(data) {
+  return request({
+    url: '/system/data',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改数据管理
+export function updateData(data) {
+  return request({
+    url: '/system/data',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除数据管理
+export function delData(id) {
+  return request({
+    url: '/system/data/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
pdaaphm-ui/src/api/system/process.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询数据处理列表
+export function listProcess(query) {
+  return request({
+    url: '/system/process/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询数据处理详细
+export function getProcess(id) {
+  return request({
+    url: '/system/process/' + id,
+    method: 'get'
+  })
+}
+
+// 新增数据处理
+export function addProcess(data) {
+  return request({
+    url: '/system/process',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改数据处理
+export function updateProcess(data) {
+  return request({
+    url: '/system/process',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除数据处理
+export function delProcess(id) {
+  return request({
+    url: '/system/process/' + id,
+    method: 'delete'
+  })
+}

+ 294 - 0
pdaaphm-ui/src/views/system/algConfig/index.vue

@@ -0,0 +1,294 @@
+<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="algName">
+        <el-input
+          v-model="queryParams.algName"
+          placeholder="请输入算法名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="算法类型" prop="algType">
+        <el-select v-model="queryParams.algType" placeholder="请选择算法类型" clearable>
+          <el-option
+            v-for="dict in dict.type.biz_alg_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </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="['system:algConfig: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="['system:algConfig: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="['system:algConfig: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="['system:algConfig:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="algConfigList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="编号" align="center" prop="id" />
+      <el-table-column label="算法名称" align="center" prop="algName" />
+      <el-table-column label="算法类型" align="center" prop="algType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.biz_alg_type" :value="scope.row.algType"/>
+        </template>
+      </el-table-column>
+      <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="['system:algConfig:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:algConfig: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" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="算法名称" prop="algName">
+          <el-input v-model="form.algName" placeholder="请输入算法名称" />
+        </el-form-item>
+        <el-form-item label="算法类型" prop="algType">
+          <el-radio-group v-model="form.algType">
+            <el-radio
+              v-for="dict in dict.type.biz_alg_type"
+              :key="dict.value"
+              :label="dict.value"
+            >{{dict.label}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="处理的算法" prop="algUrl">
+          <el-input v-model="form.algUrl" placeholder="请输入处理的算法" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" 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 { listAlgConfig, getAlgConfig, delAlgConfig, addAlgConfig, updateAlgConfig } from "@/api/system/algConfig";
+
+export default {
+  name: "AlgConfig",
+  dicts: ['biz_alg_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 算法配置表格数据
+      algConfigList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        algName: null,
+        algType: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        algName: [
+          { required: true, message: "算法名称不能为空", trigger: "blur" }
+        ],
+        algType: [
+          { required: true, message: "算法类型不能为空", trigger: "change" }
+        ],
+        algUrl: [
+          { required: true, message: "处理的算法不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询算法配置列表 */
+    getList() {
+      this.loading = true;
+      listAlgConfig(this.queryParams).then(response => {
+        this.algConfigList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        algName: null,
+        algType: null,
+        algUrl: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: 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
+      getAlgConfig(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) {
+            updateAlgConfig(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addAlgConfig(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 delAlgConfig(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/algConfig/export', {
+        ...this.queryParams
+      }, `algConfig_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 274 - 0
pdaaphm-ui/src/views/system/data/index.vue

@@ -0,0 +1,274 @@
+<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="dataType">
+        <el-select v-model="queryParams.dataType" placeholder="请选择数据类型" clearable>
+          <el-option
+            v-for="dict in dict.type.biz_data_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </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="['system:data: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="['system:data: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="['system:data: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="['system:data:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="dataList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="编号" align="center" prop="id" />
+      <el-table-column label="数据类型" align="center" prop="dataType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.biz_data_type" :value="scope.row.dataType"/>
+        </template>
+      </el-table-column>
+      <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="['system:data:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:data: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" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="数据类型" prop="dataType">
+          <el-radio-group v-model="form.dataType">
+            <el-radio
+              v-for="dict in dict.type.biz_data_type"
+              :key="dict.value"
+              :label="dict.value"
+            >{{dict.label}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="数据路径" prop="dataPath">
+          <file-upload v-model="form.dataPath"/>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" 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 { listData, getData, delData, addData, updateData } from "@/api/system/data";
+
+export default {
+  name: "Data",
+  dicts: ['biz_data_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 数据管理表格数据
+      dataList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        dataType: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        dataType: [
+          { required: true, message: "数据类型不能为空", trigger: "change" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询数据管理列表 */
+    getList() {
+      this.loading = true;
+      listData(this.queryParams).then(response => {
+        this.dataList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        dataType: null,
+        dataPath: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: 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
+      getData(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) {
+            updateData(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addData(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 delData(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/data/export', {
+        ...this.queryParams
+      }, `data_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 395 - 0
pdaaphm-ui/src/views/system/process/index.vue

@@ -0,0 +1,395 @@
+<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="processType">
+        <el-select v-model="queryParams.processType" placeholder="请选择数据类型" clearable>
+          <el-option
+            v-for="dict in dict.type.biz_alg_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="处理的算法id" prop="processAlgId">
+        <el-input
+          v-model="queryParams.processAlgId"
+          placeholder="请输入处理的算法id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="被处理数据id" prop="processedDataId">
+        <el-input
+          v-model="queryParams.processedDataId"
+          placeholder="请输入被处理数据id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="处理结果数据id" prop="resultDataId">
+        <el-input
+          v-model="queryParams.resultDataId"
+          placeholder="请输入处理结果数据id"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="processStatus">
+        <el-select v-model="queryParams.processStatus" placeholder="请选择状态" clearable>
+          <el-option
+            v-for="dict in dict.type.biz_process_status"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </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>
+        <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="['system:process: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="['system:process: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="['system:process: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="['system:process:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="processList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="编号" align="center" prop="id" />
+      <el-table-column label="数据类型" align="center" prop="processType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.biz_alg_type" :value="scope.row.processType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="处理的算法id" align="center" prop="processAlgId" />
+      <el-table-column label="被处理数据id" align="center" prop="processedDataId" />
+      <el-table-column label="处理结果数据id" align="center" prop="resultDataId" />
+      <el-table-column label="状态" align="center" prop="processStatus">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.biz_process_status" :value="scope.row.processStatus"/>
+        </template>
+      </el-table-column>
+      <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="log" />
+      <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="['system:process:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:process: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" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="数据类型" prop="processType">
+          <el-select v-model="form.processType" placeholder="请选择数据类型">
+            <el-option
+              v-for="dict in dict.type.biz_alg_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="处理的算法id" prop="processAlgId">
+          <el-input v-model="form.processAlgId" placeholder="请输入处理的算法id" />
+        </el-form-item>
+        <el-form-item label="被处理数据id" prop="processedDataId">
+          <el-input v-model="form.processedDataId" placeholder="请输入被处理数据id" />
+        </el-form-item>
+        <el-form-item label="处理结果数据id" prop="resultDataId">
+          <el-input v-model="form.resultDataId" placeholder="请输入处理结果数据id" />
+        </el-form-item>
+        <el-form-item label="状态" prop="processStatus">
+          <el-select v-model="form.processStatus" placeholder="请选择状态">
+            <el-option
+              v-for="dict in dict.type.biz_process_status"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </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="log">
+          <el-input v-model="form.log" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" 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 { listProcess, getProcess, delProcess, addProcess, updateProcess } from "@/api/system/process";
+
+export default {
+  name: "Process",
+  dicts: ['biz_process_status', 'biz_alg_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 数据处理表格数据
+      processList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        processType: null,
+        processAlgId: null,
+        processedDataId: null,
+        resultDataId: null,
+        processStatus: null,
+        startTime: null,
+        endTime: null,
+        log: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        processAlgId: [
+          { required: true, message: "处理的算法id不能为空", trigger: "blur" }
+        ],
+        processedDataId: [
+          { required: true, message: "被处理数据id不能为空", trigger: "blur" }
+        ],
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询数据处理列表 */
+    getList() {
+      this.loading = true;
+      listProcess(this.queryParams).then(response => {
+        this.processList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        processType: null,
+        processAlgId: null,
+        processedDataId: null,
+        resultDataId: null,
+        processStatus: null,
+        startTime: null,
+        endTime: null,
+        log: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: 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
+      getProcess(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) {
+            updateProcess(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addProcess(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 delProcess(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('system/process/export', {
+        ...this.queryParams
+      }, `process_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 120 - 0
sql/pdaaphm.sql

@@ -1070,3 +1070,123 @@ INSERT INTO `t_sub_algorithm` VALUES (17, 6, 12, 18, '', '2024-06-05 21:06:30',
 INSERT INTO `t_sub_algorithm` VALUES (18, 6, 13, 19, '', '2024-06-05 21:06:30', '', NULL, NULL);
 
 SET FOREIGN_KEY_CHECKS = 1;
+
+DROP TABLE
+IF
+	EXISTS t_data;
+CREATE TABLE t_data (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	data_type VARCHAR ( 64 ) COMMENT '数据类型(1原始,2补全结果,3扩充结果,4特称提取结果,5退化评估结果,6故障预测结果)',
+	data_path text COMMENT '数据路径',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+	remark VARCHAR ( 500 ) DEFAULT NULL COMMENT '备注',
+PRIMARY KEY ( id )
+) ENGINE = INNODB COMMENT = '数据存储表';
+
+DROP TABLE
+IF
+	EXISTS t_data_process;
+CREATE TABLE t_data_process (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	process_type VARCHAR ( 64 ) DEFAULT '' COMMENT '数据类型(1补全,2扩充,3特称提取,4退化评估,5故障预测)',
+	process_alg_id BIGINT ( 20 ) NOT NULL COMMENT '处理的算法id',
+	processed_data_id BIGINT ( 20 ) NOT NULL COMMENT '被处理数据id',
+	result_data_id BIGINT ( 20 ) NOT NULL COMMENT '处理结果数据id',
+	process_status VARCHAR ( 64 ) DEFAULT '' COMMENT '状态(1待处理,2处理中,3已完成,4失败)',
+	start_time datetime COMMENT '开始时间',
+	end_time datetime COMMENT '结束时间',
+	log text COMMENT '日志',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+	remark VARCHAR ( 500 ) DEFAULT NULL COMMENT '备注',
+PRIMARY KEY ( id )
+) ENGINE = INNODB COMMENT = '数据处理表';
+
+DROP TABLE
+IF
+	EXISTS t_alg_config;
+CREATE TABLE t_alg_config (
+	id BIGINT ( 20 ) NOT NULL auto_increment COMMENT '编号',
+	alg_name VARCHAR ( 64 ) DEFAULT '' COMMENT '算法名称',
+	alg_type VARCHAR ( 64 ) DEFAULT '' COMMENT '算发类型(1补全,2扩充,3特称提取,4退化评估,5故障预测)',
+	alg_url VARCHAR ( 255 ) NOT NULL COMMENT '处理的算法',
+	create_by VARCHAR ( 64 ) DEFAULT '' COMMENT '创建者',
+	create_time datetime COMMENT '创建时间',
+	update_by VARCHAR ( 64 ) DEFAULT '' COMMENT '更新者',
+	update_time datetime COMMENT '更新时间',
+	remark VARCHAR ( 500 ) DEFAULT NULL COMMENT '备注',
+PRIMARY KEY ( id )
+) ENGINE = INNODB COMMENT = '算法配置表';
+-- 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据处理', '3', '1', 'process', 'system/process/index', 1, 0, 'C', '0', '0', 'system:process:list', '#', 'admin', sysdate(), '', null, '数据处理菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据处理查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'system:process:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据处理新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'system:process:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据处理修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'system:process:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据处理删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'system:process:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据处理导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'system:process:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理', '2000', '1', 'data', 'system/data/index', 1, 0, 'C', '0', '0', 'system:data:list', '#', 'admin', sysdate(), '', null, '数据管理菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'system:data:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'system:data:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'system:data:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'system:data:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('数据管理导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'system:data:export',       '#', 'admin', sysdate(), '', null, '');
+
+-- 菜单 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('算法配置', '2001', '1', 'algConfig', 'system/algConfig/index', 1, 0, 'C', '0', '0', 'system:algConfig:list', '#', 'admin', sysdate(), '', null, '算法配置菜单');
+
+-- 按钮父菜单ID
+SELECT @parentId := LAST_INSERT_ID();
+
+-- 按钮 SQL
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('算法配置查询', @parentId, '1',  '#', '', 1, 0, 'F', '0', '0', 'system:algConfig:query',        '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('算法配置新增', @parentId, '2',  '#', '', 1, 0, 'F', '0', '0', 'system:algConfig:add',          '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('算法配置修改', @parentId, '3',  '#', '', 1, 0, 'F', '0', '0', 'system:algConfig:edit',         '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('算法配置删除', @parentId, '4',  '#', '', 1, 0, 'F', '0', '0', 'system:algConfig:remove',       '#', 'admin', sysdate(), '', null, '');
+
+insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
+values('算法配置导出', @parentId, '5',  '#', '', 1, 0, 'F', '0', '0', 'system:algConfig:export',       '#', 'admin', sysdate(), '', null, '');