allen 3 сар өмнө
parent
commit
6118de0428
100 өөрчлөгдсөн 11179 нэмэгдсэн , 1113 устгасан
  1. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/DataController.java
  2. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/EvaluationIndicatorController.java
  3. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/FaultDiagnosisModelController.java
  4. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/FaultPhysicalModelController.java
  5. 115 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/FdAlgorithmController.java
  6. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/FormulasController.java
  7. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/PerformanceEvaluationController.java
  8. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/PhyModelDataGenController.java
  9. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/PhyNoiseDataGenController.java
  10. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/TestDataGenController.java
  11. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/WorkflowController.java
  12. 104 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/WorkflowNodeController.java
  13. 84 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/Data.java
  14. 70 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/EvaluationIndicator.java
  15. 98 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/FaultDiagnosisModel.java
  16. 98 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/FaultPhysicalModel.java
  17. 144 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/FdAlgorithm.java
  18. 70 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/Formulas.java
  19. 152 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/PerformanceEvaluation.java
  20. 144 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/PhyModelDataGen.java
  21. 158 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/PhyNoiseDataGen.java
  22. 158 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/TestDataGen.java
  23. 117 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/Workflow.java
  24. 130 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/WorkflowNode.java
  25. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/DataMapper.java
  26. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/EvaluationIndicatorMapper.java
  27. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/FaultDiagnosisModelMapper.java
  28. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/FaultPhysicalModelMapper.java
  29. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/FdAlgorithmMapper.java
  30. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/FormulasMapper.java
  31. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/PerformanceEvaluationMapper.java
  32. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/PhyModelDataGenMapper.java
  33. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/PhyNoiseDataGenMapper.java
  34. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/TestDataGenMapper.java
  35. 87 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/WorkflowMapper.java
  36. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/WorkflowNodeMapper.java
  37. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IDataService.java
  38. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IEvaluationIndicatorService.java
  39. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IFaultDiagnosisModelService.java
  40. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IFaultPhysicalModelService.java
  41. 63 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IFdAlgorithmService.java
  42. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IFormulasService.java
  43. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IPerformanceEvaluationService.java
  44. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IPhyModelDataGenService.java
  45. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IPhyNoiseDataGenService.java
  46. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/ITestDataGenService.java
  47. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IWorkflowNodeService.java
  48. 61 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IWorkflowService.java
  49. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/DataServiceImpl.java
  50. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/EvaluationIndicatorServiceImpl.java
  51. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/FaultDiagnosisModelServiceImpl.java
  52. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/FaultPhysicalModelServiceImpl.java
  53. 117 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/FdAlgorithmServiceImpl.java
  54. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/FormulasServiceImpl.java
  55. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/PerformanceEvaluationServiceImpl.java
  56. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/PhyModelDataGenServiceImpl.java
  57. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/PhyNoiseDataGenServiceImpl.java
  58. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/TestDataGenServiceImpl.java
  59. 96 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/WorkflowNodeServiceImpl.java
  60. 134 0
      fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/WorkflowServiceImpl.java
  61. 85 0
      fdapfe-admin/src/main/resources/mapper/data/DataMapper.xml
  62. 103 0
      fdapfe-admin/src/main/resources/mapper/dataGen/PhyModelDataGenMapper.xml
  63. 108 0
      fdapfe-admin/src/main/resources/mapper/dataGen/PhyNoiseDataGenMapper.xml
  64. 108 0
      fdapfe-admin/src/main/resources/mapper/dataGen/TestDataGenMapper.xml
  65. 81 0
      fdapfe-admin/src/main/resources/mapper/eval/EvaluationIndicatorMapper.xml
  66. 81 0
      fdapfe-admin/src/main/resources/mapper/eval/FormulasMapper.xml
  67. 90 0
      fdapfe-admin/src/main/resources/mapper/model/FaultDiagnosisModelMapper.xml
  68. 91 0
      fdapfe-admin/src/main/resources/mapper/model/FaultPhysicalModelMapper.xml
  69. 104 0
      fdapfe-admin/src/main/resources/mapper/test/FdAlgorithmMapper.xml
  70. 115 0
      fdapfe-admin/src/main/resources/mapper/test/PerformanceEvaluationMapper.xml
  71. 135 0
      fdapfe-admin/src/main/resources/mapper/workflow/WorkflowMapper.xml
  72. 101 0
      fdapfe-admin/src/main/resources/mapper/workflow/WorkflowNodeMapper.xml
  73. 1 1
      fdapfe-generator/src/main/resources/vm/vue/index.vue.vm
  74. 2 0
      fdapfe-ui/package.json
  75. 44 0
      fdapfe-ui/src/api/data/data.js
  76. 44 0
      fdapfe-ui/src/api/dataGen/phyModel.js
  77. 44 0
      fdapfe-ui/src/api/dataGen/phyNoise.js
  78. 44 0
      fdapfe-ui/src/api/dataGen/test.js
  79. 44 0
      fdapfe-ui/src/api/eval/formulas.js
  80. 44 0
      fdapfe-ui/src/api/eval/indicator.js
  81. 44 0
      fdapfe-ui/src/api/model/faultDiagnosis.js
  82. 44 0
      fdapfe-ui/src/api/model/faultPhysical.js
  83. 52 0
      fdapfe-ui/src/api/test/ddAlgorithm.js
  84. 44 0
      fdapfe-ui/src/api/test/perf.js
  85. 44 0
      fdapfe-ui/src/api/workflow/node.js
  86. 44 0
      fdapfe-ui/src/api/workflow/workflow.js
  87. 59 58
      fdapfe-ui/src/layout/components/Navbar.vue
  88. 287 0
      fdapfe-ui/src/views/data/data/index.vue
  89. 318 0
      fdapfe-ui/src/views/dataGen/phyModel/index.vue
  90. 348 0
      fdapfe-ui/src/views/dataGen/phyNoise/index.vue
  91. 415 0
      fdapfe-ui/src/views/dataGen/test/index.vue
  92. 260 0
      fdapfe-ui/src/views/eval/formulas/index.vue
  93. 260 0
      fdapfe-ui/src/views/eval/indicator/index.vue
  94. 1 1054
      fdapfe-ui/src/views/index.vue
  95. 301 0
      fdapfe-ui/src/views/model/faultDiagnosis/index.vue
  96. 302 0
      fdapfe-ui/src/views/model/faultPhysical/index.vue
  97. 436 0
      fdapfe-ui/src/views/test/ddAlgorithm/index.vue
  98. 482 0
      fdapfe-ui/src/views/test/perf/index.vue
  99. 215 0
      fdapfe-ui/src/views/test/perf/perfDetail.vue
  100. 369 0
      fdapfe-ui/src/views/workflow/node/index.vue

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/DataController.java

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

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/EvaluationIndicatorController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.EvaluationIndicator;
+import com.cn.fdapfe.biz.service.IEvaluationIndicatorService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 评估指标体系管理Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/eval/indicator")
+public class EvaluationIndicatorController extends BaseController
+{
+    @Autowired
+    private IEvaluationIndicatorService evaluationIndicatorService;
+
+    /**
+     * 查询评估指标体系管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('eval:indicator:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(EvaluationIndicator evaluationIndicator)
+    {
+        startPage();
+        List<EvaluationIndicator> list = evaluationIndicatorService.selectEvaluationIndicatorList(evaluationIndicator);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出评估指标体系管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('eval:indicator:export')")
+    @Log(title = "评估指标体系管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, EvaluationIndicator evaluationIndicator)
+    {
+        List<EvaluationIndicator> list = evaluationIndicatorService.selectEvaluationIndicatorList(evaluationIndicator);
+        ExcelUtil<EvaluationIndicator> util = new ExcelUtil<EvaluationIndicator>(EvaluationIndicator.class);
+        util.exportExcel(response, list, "评估指标体系管理数据");
+    }
+
+    /**
+     * 获取评估指标体系管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('eval:indicator:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(evaluationIndicatorService.selectEvaluationIndicatorById(id));
+    }
+
+    /**
+     * 新增评估指标体系管理
+     */
+    @PreAuthorize("@ss.hasPermi('eval:indicator:add')")
+    @Log(title = "评估指标体系管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody EvaluationIndicator evaluationIndicator)
+    {
+        return toAjax(evaluationIndicatorService.insertEvaluationIndicator(evaluationIndicator));
+    }
+
+    /**
+     * 修改评估指标体系管理
+     */
+    @PreAuthorize("@ss.hasPermi('eval:indicator:edit')")
+    @Log(title = "评估指标体系管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody EvaluationIndicator evaluationIndicator)
+    {
+        return toAjax(evaluationIndicatorService.updateEvaluationIndicator(evaluationIndicator));
+    }
+
+    /**
+     * 删除评估指标体系管理
+     */
+    @PreAuthorize("@ss.hasPermi('eval:indicator:remove')")
+    @Log(title = "评估指标体系管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(evaluationIndicatorService.deleteEvaluationIndicatorByIds(ids));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/FaultDiagnosisModelController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.FaultDiagnosisModel;
+import com.cn.fdapfe.biz.service.IFaultDiagnosisModelService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 故障诊断算法模型管理Controller
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/model/faultDiagnosis")
+public class FaultDiagnosisModelController extends BaseController
+{
+    @Autowired
+    private IFaultDiagnosisModelService faultDiagnosisModelService;
+
+    /**
+     * 查询故障诊断算法模型管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultDiagnosis:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FaultDiagnosisModel faultDiagnosisModel)
+    {
+        startPage();
+        List<FaultDiagnosisModel> list = faultDiagnosisModelService.selectFaultDiagnosisModelList(faultDiagnosisModel);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出故障诊断算法模型管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultDiagnosis:export')")
+    @Log(title = "故障诊断算法模型管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, FaultDiagnosisModel faultDiagnosisModel)
+    {
+        List<FaultDiagnosisModel> list = faultDiagnosisModelService.selectFaultDiagnosisModelList(faultDiagnosisModel);
+        ExcelUtil<FaultDiagnosisModel> util = new ExcelUtil<FaultDiagnosisModel>(FaultDiagnosisModel.class);
+        util.exportExcel(response, list, "故障诊断算法模型管理数据");
+    }
+
+    /**
+     * 获取故障诊断算法模型管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultDiagnosis:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(faultDiagnosisModelService.selectFaultDiagnosisModelById(id));
+    }
+
+    /**
+     * 新增故障诊断算法模型管理
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultDiagnosis:add')")
+    @Log(title = "故障诊断算法模型管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FaultDiagnosisModel faultDiagnosisModel)
+    {
+        return toAjax(faultDiagnosisModelService.insertFaultDiagnosisModel(faultDiagnosisModel));
+    }
+
+    /**
+     * 修改故障诊断算法模型管理
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultDiagnosis:edit')")
+    @Log(title = "故障诊断算法模型管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FaultDiagnosisModel faultDiagnosisModel)
+    {
+        return toAjax(faultDiagnosisModelService.updateFaultDiagnosisModel(faultDiagnosisModel));
+    }
+
+    /**
+     * 删除故障诊断算法模型管理
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultDiagnosis:remove')")
+    @Log(title = "故障诊断算法模型管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(faultDiagnosisModelService.deleteFaultDiagnosisModelByIds(ids));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/FaultPhysicalModelController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.FaultPhysicalModel;
+import com.cn.fdapfe.biz.service.IFaultPhysicalModelService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 故障物理模型管理Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/model/faultPhysical")
+public class FaultPhysicalModelController extends BaseController
+{
+    @Autowired
+    private IFaultPhysicalModelService faultPhysicalModelService;
+
+    /**
+     * 查询故障物理模型管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultPhysical:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FaultPhysicalModel faultPhysicalModel)
+    {
+        startPage();
+        List<FaultPhysicalModel> list = faultPhysicalModelService.selectFaultPhysicalModelList(faultPhysicalModel);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出故障物理模型管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultPhysical:export')")
+    @Log(title = "故障物理模型管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, FaultPhysicalModel faultPhysicalModel)
+    {
+        List<FaultPhysicalModel> list = faultPhysicalModelService.selectFaultPhysicalModelList(faultPhysicalModel);
+        ExcelUtil<FaultPhysicalModel> util = new ExcelUtil<FaultPhysicalModel>(FaultPhysicalModel.class);
+        util.exportExcel(response, list, "故障物理模型管理数据");
+    }
+
+    /**
+     * 获取故障物理模型管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultPhysical:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(faultPhysicalModelService.selectFaultPhysicalModelById(id));
+    }
+
+    /**
+     * 新增故障物理模型管理
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultPhysical:add')")
+    @Log(title = "故障物理模型管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FaultPhysicalModel faultPhysicalModel)
+    {
+        return toAjax(faultPhysicalModelService.insertFaultPhysicalModel(faultPhysicalModel));
+    }
+
+    /**
+     * 修改故障物理模型管理
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultPhysical:edit')")
+    @Log(title = "故障物理模型管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FaultPhysicalModel faultPhysicalModel)
+    {
+        return toAjax(faultPhysicalModelService.updateFaultPhysicalModel(faultPhysicalModel));
+    }
+
+    /**
+     * 删除故障物理模型管理
+     */
+    @PreAuthorize("@ss.hasPermi('model:faultPhysical:remove')")
+    @Log(title = "故障物理模型管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(faultPhysicalModelService.deleteFaultPhysicalModelByIds(ids));
+    }
+}

+ 115 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/FdAlgorithmController.java

@@ -0,0 +1,115 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.FdAlgorithm;
+import com.cn.fdapfe.biz.service.IFdAlgorithmService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 故障诊断算法功能验证Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/test/ddAlgorithm")
+public class FdAlgorithmController extends BaseController
+{
+    @Autowired
+    private IFdAlgorithmService fdAlgorithmService;
+
+    /**
+     * 查询故障诊断算法功能验证列表
+     */
+    @PreAuthorize("@ss.hasPermi('test:ddAlgorithm:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(FdAlgorithm fdAlgorithm)
+    {
+        startPage();
+        List<FdAlgorithm> list = fdAlgorithmService.selectFdAlgorithmList(fdAlgorithm);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出故障诊断算法功能验证列表
+     */
+    @PreAuthorize("@ss.hasPermi('test:ddAlgorithm:export')")
+    @Log(title = "故障诊断算法功能验证", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, FdAlgorithm fdAlgorithm)
+    {
+        List<FdAlgorithm> list = fdAlgorithmService.selectFdAlgorithmList(fdAlgorithm);
+        ExcelUtil<FdAlgorithm> util = new ExcelUtil<FdAlgorithm>(FdAlgorithm.class);
+        util.exportExcel(response, list, "故障诊断算法功能验证数据");
+    }
+
+    /**
+     * 获取故障诊断算法功能验证详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('test:ddAlgorithm:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(fdAlgorithmService.selectFdAlgorithmById(id));
+    }
+
+    /**
+     * 新增故障诊断算法功能验证
+     */
+    @PreAuthorize("@ss.hasPermi('test:ddAlgorithm:add')")
+    @Log(title = "故障诊断算法功能验证", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody FdAlgorithm fdAlgorithm)
+    {
+        return toAjax(fdAlgorithmService.insertFdAlgorithm(fdAlgorithm));
+    }
+
+    /**
+     * 修改故障诊断算法功能验证
+     */
+    @PreAuthorize("@ss.hasPermi('test:ddAlgorithm:edit')")
+    @Log(title = "故障诊断算法功能验证", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody FdAlgorithm fdAlgorithm)
+    {
+        return toAjax(fdAlgorithmService.updateFdAlgorithm(fdAlgorithm));
+    }
+
+    /**
+     * 删除故障诊断算法功能验证
+     */
+    @PreAuthorize("@ss.hasPermi('test:ddAlgorithm:remove')")
+    @Log(title = "故障诊断算法功能验证", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(fdAlgorithmService.deleteFdAlgorithmByIds(ids));
+    }
+
+    /**
+     * 验证
+     */
+    @PreAuthorize("@ss.hasPermi('test:ddAlgorithm:edit')")
+    @Log(title = "验证", businessType = BusinessType.UPDATE)
+    @PutMapping("/handleVerify/{id}")
+    public AjaxResult handleVerify(@PathVariable Long id)
+    {
+        return toAjax(fdAlgorithmService.handleVerify(id));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/FormulasController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.Formulas;
+import com.cn.fdapfe.biz.service.IFormulasService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 公式管理管理Controller
+ * 
+ * @author ruoyi
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/eval/formulas")
+public class FormulasController extends BaseController
+{
+    @Autowired
+    private IFormulasService formulasService;
+
+    /**
+     * 查询公式管理管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('eval:formulas:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Formulas formulas)
+    {
+        startPage();
+        List<Formulas> list = formulasService.selectFormulasList(formulas);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出公式管理管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('eval:formulas:export')")
+    @Log(title = "公式管理管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, Formulas formulas)
+    {
+        List<Formulas> list = formulasService.selectFormulasList(formulas);
+        ExcelUtil<Formulas> util = new ExcelUtil<Formulas>(Formulas.class);
+        util.exportExcel(response, list, "公式管理管理数据");
+    }
+
+    /**
+     * 获取公式管理管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('eval:formulas:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(formulasService.selectFormulasById(id));
+    }
+
+    /**
+     * 新增公式管理管理
+     */
+    @PreAuthorize("@ss.hasPermi('eval:formulas:add')")
+    @Log(title = "公式管理管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody Formulas formulas)
+    {
+        return toAjax(formulasService.insertFormulas(formulas));
+    }
+
+    /**
+     * 修改公式管理管理
+     */
+    @PreAuthorize("@ss.hasPermi('eval:formulas:edit')")
+    @Log(title = "公式管理管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody Formulas formulas)
+    {
+        return toAjax(formulasService.updateFormulas(formulas));
+    }
+
+    /**
+     * 删除公式管理管理
+     */
+    @PreAuthorize("@ss.hasPermi('eval:formulas:remove')")
+    @Log(title = "公式管理管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(formulasService.deleteFormulasByIds(ids));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/PerformanceEvaluationController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.PerformanceEvaluation;
+import com.cn.fdapfe.biz.service.IPerformanceEvaluationService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 算法性能评估Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/test/perf")
+public class PerformanceEvaluationController extends BaseController
+{
+    @Autowired
+    private IPerformanceEvaluationService performanceEvaluationService;
+
+    /**
+     * 查询算法性能评估列表
+     */
+    @PreAuthorize("@ss.hasPermi('test:perf:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(PerformanceEvaluation performanceEvaluation)
+    {
+        startPage();
+        List<PerformanceEvaluation> list = performanceEvaluationService.selectPerformanceEvaluationList(performanceEvaluation);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出算法性能评估列表
+     */
+    @PreAuthorize("@ss.hasPermi('test:perf:export')")
+    @Log(title = "算法性能评估", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PerformanceEvaluation performanceEvaluation)
+    {
+        List<PerformanceEvaluation> list = performanceEvaluationService.selectPerformanceEvaluationList(performanceEvaluation);
+        ExcelUtil<PerformanceEvaluation> util = new ExcelUtil<PerformanceEvaluation>(PerformanceEvaluation.class);
+        util.exportExcel(response, list, "算法性能评估数据");
+    }
+
+    /**
+     * 获取算法性能评估详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('test:perf:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(performanceEvaluationService.selectPerformanceEvaluationById(id));
+    }
+
+    /**
+     * 新增算法性能评估
+     */
+    @PreAuthorize("@ss.hasPermi('test:perf:add')")
+    @Log(title = "算法性能评估", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PerformanceEvaluation performanceEvaluation)
+    {
+        return toAjax(performanceEvaluationService.insertPerformanceEvaluation(performanceEvaluation));
+    }
+
+    /**
+     * 修改算法性能评估
+     */
+    @PreAuthorize("@ss.hasPermi('test:perf:edit')")
+    @Log(title = "算法性能评估", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PerformanceEvaluation performanceEvaluation)
+    {
+        return toAjax(performanceEvaluationService.updatePerformanceEvaluation(performanceEvaluation));
+    }
+
+    /**
+     * 删除算法性能评估
+     */
+    @PreAuthorize("@ss.hasPermi('test:perf:remove')")
+    @Log(title = "算法性能评估", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(performanceEvaluationService.deletePerformanceEvaluationByIds(ids));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/PhyModelDataGenController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.PhyModelDataGen;
+import com.cn.fdapfe.biz.service.IPhyModelDataGenService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 物理模型数据生成管理Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/dataGen/phyModel")
+public class PhyModelDataGenController extends BaseController
+{
+    @Autowired
+    private IPhyModelDataGenService phyModelDataGenService;
+
+    /**
+     * 查询物理模型数据生成管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyModel:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(PhyModelDataGen phyModelDataGen)
+    {
+        startPage();
+        List<PhyModelDataGen> list = phyModelDataGenService.selectPhyModelDataGenList(phyModelDataGen);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出物理模型数据生成管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyModel:export')")
+    @Log(title = "物理模型数据生成管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PhyModelDataGen phyModelDataGen)
+    {
+        List<PhyModelDataGen> list = phyModelDataGenService.selectPhyModelDataGenList(phyModelDataGen);
+        ExcelUtil<PhyModelDataGen> util = new ExcelUtil<PhyModelDataGen>(PhyModelDataGen.class);
+        util.exportExcel(response, list, "物理模型数据生成管理数据");
+    }
+
+    /**
+     * 获取物理模型数据生成管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyModel:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(phyModelDataGenService.selectPhyModelDataGenById(id));
+    }
+
+    /**
+     * 新增物理模型数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyModel:add')")
+    @Log(title = "物理模型数据生成管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PhyModelDataGen phyModelDataGen)
+    {
+        return toAjax(phyModelDataGenService.insertPhyModelDataGen(phyModelDataGen));
+    }
+
+    /**
+     * 修改物理模型数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyModel:edit')")
+    @Log(title = "物理模型数据生成管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PhyModelDataGen phyModelDataGen)
+    {
+        return toAjax(phyModelDataGenService.updatePhyModelDataGen(phyModelDataGen));
+    }
+
+    /**
+     * 删除物理模型数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyModel:remove')")
+    @Log(title = "物理模型数据生成管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(phyModelDataGenService.deletePhyModelDataGenByIds(ids));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/PhyNoiseDataGenController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.PhyNoiseDataGen;
+import com.cn.fdapfe.biz.service.IPhyNoiseDataGenService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 噪声数据生成管理Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/dataGen/phyNoise")
+public class PhyNoiseDataGenController extends BaseController
+{
+    @Autowired
+    private IPhyNoiseDataGenService phyNoiseDataGenService;
+
+    /**
+     * 查询噪声数据生成管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyNoise:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(PhyNoiseDataGen phyNoiseDataGen)
+    {
+        startPage();
+        List<PhyNoiseDataGen> list = phyNoiseDataGenService.selectPhyNoiseDataGenList(phyNoiseDataGen);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出噪声数据生成管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyNoise:export')")
+    @Log(title = "噪声数据生成管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, PhyNoiseDataGen phyNoiseDataGen)
+    {
+        List<PhyNoiseDataGen> list = phyNoiseDataGenService.selectPhyNoiseDataGenList(phyNoiseDataGen);
+        ExcelUtil<PhyNoiseDataGen> util = new ExcelUtil<PhyNoiseDataGen>(PhyNoiseDataGen.class);
+        util.exportExcel(response, list, "噪声数据生成管理数据");
+    }
+
+    /**
+     * 获取噪声数据生成管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyNoise:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(phyNoiseDataGenService.selectPhyNoiseDataGenById(id));
+    }
+
+    /**
+     * 新增噪声数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyNoise:add')")
+    @Log(title = "噪声数据生成管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody PhyNoiseDataGen phyNoiseDataGen)
+    {
+        return toAjax(phyNoiseDataGenService.insertPhyNoiseDataGen(phyNoiseDataGen));
+    }
+
+    /**
+     * 修改噪声数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyNoise:edit')")
+    @Log(title = "噪声数据生成管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody PhyNoiseDataGen phyNoiseDataGen)
+    {
+        return toAjax(phyNoiseDataGenService.updatePhyNoiseDataGen(phyNoiseDataGen));
+    }
+
+    /**
+     * 删除噪声数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:phyNoise:remove')")
+    @Log(title = "噪声数据生成管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(phyNoiseDataGenService.deletePhyNoiseDataGenByIds(ids));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/TestDataGenController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.TestDataGen;
+import com.cn.fdapfe.biz.service.ITestDataGenService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 测试数据生成管理Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/dataGen/test")
+public class TestDataGenController extends BaseController
+{
+    @Autowired
+    private ITestDataGenService testDataGenService;
+
+    /**
+     * 查询测试数据生成管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:test:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TestDataGen testDataGen)
+    {
+        startPage();
+        List<TestDataGen> list = testDataGenService.selectTestDataGenList(testDataGen);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出测试数据生成管理列表
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:test:export')")
+    @Log(title = "测试数据生成管理", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TestDataGen testDataGen)
+    {
+        List<TestDataGen> list = testDataGenService.selectTestDataGenList(testDataGen);
+        ExcelUtil<TestDataGen> util = new ExcelUtil<TestDataGen>(TestDataGen.class);
+        util.exportExcel(response, list, "测试数据生成管理数据");
+    }
+
+    /**
+     * 获取测试数据生成管理详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:test:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(testDataGenService.selectTestDataGenById(id));
+    }
+
+    /**
+     * 新增测试数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:test:add')")
+    @Log(title = "测试数据生成管理", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TestDataGen testDataGen)
+    {
+        return toAjax(testDataGenService.insertTestDataGen(testDataGen));
+    }
+
+    /**
+     * 修改测试数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:test:edit')")
+    @Log(title = "测试数据生成管理", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TestDataGen testDataGen)
+    {
+        return toAjax(testDataGenService.updateTestDataGen(testDataGen));
+    }
+
+    /**
+     * 删除测试数据生成管理
+     */
+    @PreAuthorize("@ss.hasPermi('dataGen:test:remove')")
+    @Log(title = "测试数据生成管理", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(testDataGenService.deleteTestDataGenByIds(ids));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/WorkflowController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.Workflow;
+import com.cn.fdapfe.biz.service.IWorkflowService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 流程任务Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/workflow/workflow")
+public class WorkflowController extends BaseController
+{
+    @Autowired
+    private IWorkflowService workflowService;
+
+    /**
+     * 查询流程任务列表
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:workflow:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(Workflow workflow)
+    {
+        startPage();
+        List<Workflow> list = workflowService.selectWorkflowList(workflow);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出流程任务列表
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:workflow:export')")
+    @Log(title = "流程任务", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, Workflow workflow)
+    {
+        List<Workflow> list = workflowService.selectWorkflowList(workflow);
+        ExcelUtil<Workflow> util = new ExcelUtil<Workflow>(Workflow.class);
+        util.exportExcel(response, list, "流程任务数据");
+    }
+
+    /**
+     * 获取流程任务详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:workflow:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(workflowService.selectWorkflowById(id));
+    }
+
+    /**
+     * 新增流程任务
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:workflow:add')")
+    @Log(title = "流程任务", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody Workflow workflow)
+    {
+        return toAjax(workflowService.insertWorkflow(workflow));
+    }
+
+    /**
+     * 修改流程任务
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:workflow:edit')")
+    @Log(title = "流程任务", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody Workflow workflow)
+    {
+        return toAjax(workflowService.updateWorkflow(workflow));
+    }
+
+    /**
+     * 删除流程任务
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:workflow:remove')")
+    @Log(title = "流程任务", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(workflowService.deleteWorkflowByIds(ids));
+    }
+}

+ 104 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/controller/WorkflowNodeController.java

@@ -0,0 +1,104 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Log;
+import com.cn.fdapfe.common.core.controller.BaseController;
+import com.cn.fdapfe.common.core.domain.AjaxResult;
+import com.cn.fdapfe.common.enums.BusinessType;
+import com.cn.fdapfe.biz.domain.WorkflowNode;
+import com.cn.fdapfe.biz.service.IWorkflowNodeService;
+import com.cn.fdapfe.common.utils.poi.ExcelUtil;
+import com.cn.fdapfe.common.core.page.TableDataInfo;
+
+/**
+ * 流程节点Controller
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@RestController
+@RequestMapping("/workflow/node")
+public class WorkflowNodeController extends BaseController
+{
+    @Autowired
+    private IWorkflowNodeService workflowNodeService;
+
+    /**
+     * 查询流程节点列表
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:node:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(WorkflowNode workflowNode)
+    {
+        startPage();
+        List<WorkflowNode> list = workflowNodeService.selectWorkflowNodeList(workflowNode);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出流程节点列表
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:node:export')")
+    @Log(title = "流程节点", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, WorkflowNode workflowNode)
+    {
+        List<WorkflowNode> list = workflowNodeService.selectWorkflowNodeList(workflowNode);
+        ExcelUtil<WorkflowNode> util = new ExcelUtil<WorkflowNode>(WorkflowNode.class);
+        util.exportExcel(response, list, "流程节点数据");
+    }
+
+    /**
+     * 获取流程节点详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:node:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") Long id)
+    {
+        return success(workflowNodeService.selectWorkflowNodeById(id));
+    }
+
+    /**
+     * 新增流程节点
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:node:add')")
+    @Log(title = "流程节点", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody WorkflowNode workflowNode)
+    {
+        return toAjax(workflowNodeService.insertWorkflowNode(workflowNode));
+    }
+
+    /**
+     * 修改流程节点
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:node:edit')")
+    @Log(title = "流程节点", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody WorkflowNode workflowNode)
+    {
+        return toAjax(workflowNodeService.updateWorkflowNode(workflowNode));
+    }
+
+    /**
+     * 删除流程节点
+     */
+    @PreAuthorize("@ss.hasPermi('workflow:node:remove')")
+    @Log(title = "流程节点", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable Long[] ids)
+    {
+        return toAjax(workflowNodeService.deleteWorkflowNodeByIds(ids));
+    }
+}

+ 84 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/Data.java

@@ -0,0 +1,84 @@
+package com.cn.fdapfe.biz.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 数据管理对象 biz_data
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+public class Data extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 数据名称 */
+    @Excel(name = "数据名称")
+    private String name;
+
+    /** 数据类型(0物理模型数据,1实际数据,2噪声数据,3训练/验证数据) */
+    @Excel(name = "数据类型", readConverterExp = "0=物理模型数据,1实际数据,2噪声数据,3训练/验证数据")
+    private String type;
+
+    /** 文件路径 */
+    @Excel(name = "文件路径")
+    private String filePath;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setType(String type) 
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+    public void setFilePath(String filePath) 
+    {
+        this.filePath = filePath;
+    }
+
+    public String getFilePath() 
+    {
+        return filePath;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("type", getType())
+            .append("filePath", getFilePath())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 70 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/EvaluationIndicator.java

@@ -0,0 +1,70 @@
+package com.cn.fdapfe.biz.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 评估指标体系管理对象 biz_evaluation_indicator
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class EvaluationIndicator extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 评估体系名称 */
+    @Excel(name = "评估体系名称")
+    private String name;
+
+    /** 评估体系参数 */
+    @Excel(name = "评估体系参数")
+    private String bizParams;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setBizParams(String bizParams) 
+    {
+        this.bizParams = bizParams;
+    }
+
+    public String getBizParams() 
+    {
+        return bizParams;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("bizParams", getBizParams())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 98 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/FaultDiagnosisModel.java

@@ -0,0 +1,98 @@
+package com.cn.fdapfe.biz.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 故障诊断算法模型管理对象 biz_fault_diagnosis_model
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+public class FaultDiagnosisModel extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 故障模型名称 */
+    @Excel(name = "故障模型名称")
+    private String name;
+
+    /** 故障模型类型 */
+    @Excel(name = "故障模型类型")
+    private String type;
+
+    /** 故障模型接口地址 */
+    @Excel(name = "故障模型接口地址")
+    private String path;
+
+    /** 故障模型参数参数 */
+    @Excel(name = "故障模型参数参数")
+    private String bizParams;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setType(String type) 
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+    public void setPath(String path) 
+    {
+        this.path = path;
+    }
+
+    public String getPath() 
+    {
+        return path;
+    }
+    public void setBizParams(String bizParams) 
+    {
+        this.bizParams = bizParams;
+    }
+
+    public String getBizParams() 
+    {
+        return bizParams;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("type", getType())
+            .append("path", getPath())
+            .append("bizParams", getBizParams())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 98 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/FaultPhysicalModel.java

@@ -0,0 +1,98 @@
+package com.cn.fdapfe.biz.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 故障物理模型管理对象 biz_fault_physical_model
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class FaultPhysicalModel extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 故障模型名称 */
+    @Excel(name = "故障模型名称")
+    private String name;
+
+    /** 故障模型类型 */
+    @Excel(name = "故障模型类型")
+    private String type;
+
+    /** 故障模型接口地址 */
+    @Excel(name = "故障模型接口地址")
+    private String path;
+
+    /** 故障模型参数参数 */
+    @Excel(name = "故障模型参数参数")
+    private String bizParams;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setType(String type) 
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+    public void setPath(String path) 
+    {
+        this.path = path;
+    }
+
+    public String getPath() 
+    {
+        return path;
+    }
+    public void setBizParams(String bizParams) 
+    {
+        this.bizParams = bizParams;
+    }
+
+    public String getBizParams() 
+    {
+        return bizParams;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("type", getType())
+            .append("path", getPath())
+            .append("bizParams", getBizParams())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 144 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/FdAlgorithm.java

@@ -0,0 +1,144 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 故障诊断算法功能验证对象 biz_fd_algorithm
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class FdAlgorithm extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 故障诊断名称 */
+    @Excel(name = "故障诊断名称")
+    private String name;
+
+    /** 模型id */
+    @Excel(name = "模型id")
+    private String modelId;
+
+    /** 数据id */
+    @Excel(name = "数据id")
+    private Long dataId;
+
+    /** 实际标签 */
+    @Excel(name = "实际标签")
+    private String truthLabels;
+
+    /** 测试标签 */
+    @Excel(name = "测试标签")
+    private String testLabels;
+
+    /** 开始时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date startTime;
+
+    /** 结束时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
+    private Date endTime;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setModelId(String modelId) 
+    {
+        this.modelId = modelId;
+    }
+
+    public String getModelId() 
+    {
+        return modelId;
+    }
+    public void setDataId(Long dataId) 
+    {
+        this.dataId = dataId;
+    }
+
+    public Long getDataId() 
+    {
+        return dataId;
+    }
+    public void setTruthLabels(String truthLabels) 
+    {
+        this.truthLabels = truthLabels;
+    }
+
+    public String getTruthLabels() 
+    {
+        return truthLabels;
+    }
+    public void setTestLabels(String testLabels) 
+    {
+        this.testLabels = testLabels;
+    }
+
+    public String getTestLabels() 
+    {
+        return testLabels;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("modelId", getModelId())
+            .append("dataId", getDataId())
+            .append("truthLabels", getTruthLabels())
+            .append("testLabels", getTestLabels())
+            .append("remark", getRemark())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 70 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/Formulas.java

@@ -0,0 +1,70 @@
+package com.cn.fdapfe.biz.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 公式管理管理对象 biz_formulas
+ * 
+ * @author ruoyi
+ * @date 2025-03-07
+ */
+public class Formulas extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 公式名称 */
+    @Excel(name = "公式名称")
+    private String name;
+
+    /** 公式 */
+    @Excel(name = "公式")
+    private String formulas;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setFormulas(String formulas) 
+    {
+        this.formulas = formulas;
+    }
+
+    public String getFormulas() 
+    {
+        return formulas;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("formulas", getFormulas())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 152 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/PerformanceEvaluation.java

@@ -0,0 +1,152 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 算法性能评估对象 biz_performance_evaluation
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class PerformanceEvaluation extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 性能评估名称 */
+    @Excel(name = "性能评估名称")
+    private String name;
+
+    /** 类型 */
+    @Excel(name = "类型")
+    private String type;
+
+    /** 评估id */
+    @Excel(name = "评估id")
+    private Long valuationIndicatorId;
+
+    /** 故障诊断算法id */
+    @Excel(name = "故障诊断算法id")
+    private Long fdAlgorithmId;
+
+    /** 数据id */
+    @Excel(name = "数据id")
+    private String dataId;
+
+    /** 参数 */
+    @Excel(name = "参数")
+    private String bizParams;
+
+    /** 文件结果 */
+    @Excel(name = "文件结果")
+    private String resultFilePath;
+
+    /** 文本结果 */
+    @Excel(name = "文本结果")
+    private String resultText;
+
+    /** 开始时间 */
+    @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;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public Long getValuationIndicatorId() {
+        return valuationIndicatorId;
+    }
+
+    public void setValuationIndicatorId(Long valuationIndicatorId) {
+        this.valuationIndicatorId = valuationIndicatorId;
+    }
+
+    public Long getFdAlgorithmId() {
+        return fdAlgorithmId;
+    }
+
+    public void setFdAlgorithmId(Long fdAlgorithmId) {
+        this.fdAlgorithmId = fdAlgorithmId;
+    }
+
+    public String getDataId() {
+        return dataId;
+    }
+
+    public void setDataId(String dataId) {
+        this.dataId = dataId;
+    }
+
+    public String getBizParams() {
+        return bizParams;
+    }
+
+    public void setBizParams(String bizParams) {
+        this.bizParams = bizParams;
+    }
+
+    public String getResultFilePath() {
+        return resultFilePath;
+    }
+
+    public void setResultFilePath(String resultFilePath) {
+        this.resultFilePath = resultFilePath;
+    }
+
+    public String getResultText() {
+        return resultText;
+    }
+
+    public void setResultText(String resultText) {
+        this.resultText = resultText;
+    }
+
+    public Date getStartTime() {
+        return startTime;
+    }
+
+    public void setStartTime(Date startTime) {
+        this.startTime = startTime;
+    }
+
+    public Date getEndTime() {
+        return endTime;
+    }
+
+    public void setEndTime(Date endTime) {
+        this.endTime = endTime;
+    }
+}

+ 144 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/PhyModelDataGen.java

@@ -0,0 +1,144 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 物理模型数据生成管理对象 biz_phy_model_data_gen
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class PhyModelDataGen extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 数据生成名称 */
+    @Excel(name = "数据生成名称")
+    private String name;
+
+    /** 数据生成模型 */
+    @Excel(name = "数据生成模型")
+    private Long modelId;
+
+    /** 参数 */
+    @Excel(name = "参数")
+    private String bizParams;
+
+    /** 数据id */
+    @Excel(name = "数据id")
+    private Long dataId;
+
+    /** 状态 */
+    @Excel(name = "状态")
+    private String status;
+
+    /** 开始时间 */
+    @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;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setModelId(Long modelId) 
+    {
+        this.modelId = modelId;
+    }
+
+    public Long getModelId() 
+    {
+        return modelId;
+    }
+    public void setBizParams(String bizParams) 
+    {
+        this.bizParams = bizParams;
+    }
+
+    public String getBizParams() 
+    {
+        return bizParams;
+    }
+    public void setDataId(Long dataId) 
+    {
+        this.dataId = dataId;
+    }
+
+    public Long getDataId() 
+    {
+        return dataId;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("modelId", getModelId())
+            .append("bizParams", getBizParams())
+            .append("dataId", getDataId())
+            .append("status", getStatus())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 158 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/PhyNoiseDataGen.java

@@ -0,0 +1,158 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 噪声数据生成管理对象 biz_phy_noise_data_gen
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class PhyNoiseDataGen extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 数据生成名称 */
+    @Excel(name = "数据生成名称")
+    private String name;
+
+    /** 数据生成模型 */
+    @Excel(name = "数据生成模型")
+    private Long modelId;
+
+    /** 参数 */
+    @Excel(name = "参数")
+    private String bizParams;
+
+    /** 原始数据id */
+    @Excel(name = "原始数据id")
+    private Long originalDataId;
+
+    /** 生成后数据id */
+    @Excel(name = "生成后数据id")
+    private Long generatedDataId;
+
+    /** 状态 */
+    @Excel(name = "状态")
+    private String status;
+
+    /** 开始时间 */
+    @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;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setModelId(Long modelId) 
+    {
+        this.modelId = modelId;
+    }
+
+    public Long getModelId() 
+    {
+        return modelId;
+    }
+    public void setBizParams(String bizParams) 
+    {
+        this.bizParams = bizParams;
+    }
+
+    public String getBizParams() 
+    {
+        return bizParams;
+    }
+    public void setOriginalDataId(Long originalDataId) 
+    {
+        this.originalDataId = originalDataId;
+    }
+
+    public Long getOriginalDataId() 
+    {
+        return originalDataId;
+    }
+    public void setGeneratedDataId(Long generatedDataId) 
+    {
+        this.generatedDataId = generatedDataId;
+    }
+
+    public Long getGeneratedDataId() 
+    {
+        return generatedDataId;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("modelId", getModelId())
+            .append("bizParams", getBizParams())
+            .append("originalDataId", getOriginalDataId())
+            .append("generatedDataId", getGeneratedDataId())
+            .append("status", getStatus())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 158 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/TestDataGen.java

@@ -0,0 +1,158 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 测试数据生成管理对象 biz_test_data_gen
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class TestDataGen extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 数据生成名称 */
+    @Excel(name = "数据生成名称")
+    private String name;
+
+    /** 数据生成模型 */
+    @Excel(name = "数据生成模型")
+    private Long modelId;
+
+    /** 参数 */
+    @Excel(name = "参数")
+    private String bizParams;
+
+    /** 原始数据ids */
+    @Excel(name = "原始数据ids")
+    private String originalDataIds;
+
+    /** 生成后数据id */
+    @Excel(name = "生成后数据id")
+    private Long generatedDataId;
+
+    /** 状态 */
+    @Excel(name = "状态")
+    private String status;
+
+    /** 开始时间 */
+    @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;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setModelId(Long modelId) 
+    {
+        this.modelId = modelId;
+    }
+
+    public Long getModelId() 
+    {
+        return modelId;
+    }
+    public void setBizParams(String bizParams) 
+    {
+        this.bizParams = bizParams;
+    }
+
+    public String getBizParams() 
+    {
+        return bizParams;
+    }
+    public void setOriginalDataIds(String originalDataIds) 
+    {
+        this.originalDataIds = originalDataIds;
+    }
+
+    public String getOriginalDataIds() 
+    {
+        return originalDataIds;
+    }
+    public void setGeneratedDataId(Long generatedDataId) 
+    {
+        this.generatedDataId = generatedDataId;
+    }
+
+    public Long getGeneratedDataId() 
+    {
+        return generatedDataId;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("modelId", getModelId())
+            .append("bizParams", getBizParams())
+            .append("originalDataIds", getOriginalDataIds())
+            .append("generatedDataId", getGeneratedDataId())
+            .append("status", getStatus())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("remark", getRemark())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 117 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/Workflow.java

@@ -0,0 +1,117 @@
+package com.cn.fdapfe.biz.domain;
+
+import java.util.List;
+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.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 流程任务对象 biz_workflow
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class Workflow extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 任务名称 */
+    @Excel(name = "任务名称")
+    private String name;
+
+    /** 任务状态 */
+    @Excel(name = "任务状态")
+    private String status;
+
+    /** 开始时间 */
+    @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;
+
+    /** 流程节点信息 */
+    private List<WorkflowNode> workflowNodeList;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setStatus(String status) 
+    {
+        this.status = status;
+    }
+
+    public String getStatus() 
+    {
+        return status;
+    }
+    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 List<WorkflowNode> getWorkflowNodeList()
+    {
+        return workflowNodeList;
+    }
+
+    public void setWorkflowNodeList(List<WorkflowNode> workflowNodeList)
+    {
+        this.workflowNodeList = workflowNodeList;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("status", getStatus())
+            .append("remark", getRemark())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .append("workflowNodeList", getWorkflowNodeList())
+            .toString();
+    }
+}

+ 130 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/domain/WorkflowNode.java

@@ -0,0 +1,130 @@
+package com.cn.fdapfe.biz.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.cn.fdapfe.common.annotation.Excel;
+import com.cn.fdapfe.common.core.domain.BaseEntity;
+
+/**
+ * 流程节点对象 biz_workflow_node
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public class WorkflowNode extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 序号 */
+    private Long id;
+
+    /** 数据名称 */
+    @Excel(name = "数据名称")
+    private String name;
+
+    /** 类型 */
+    @Excel(name = "类型")
+    private String type;
+
+    /** 子类型 */
+    @Excel(name = "子类型")
+    private String subType;
+
+    /** 任务id */
+    @Excel(name = "任务id")
+    private Long taskId;
+
+    /** 开始时间 */
+    @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;
+
+    public void setId(Long id) 
+    {
+        this.id = id;
+    }
+
+    public Long getId() 
+    {
+        return id;
+    }
+    public void setName(String name) 
+    {
+        this.name = name;
+    }
+
+    public String getName() 
+    {
+        return name;
+    }
+    public void setType(String type) 
+    {
+        this.type = type;
+    }
+
+    public String getType() 
+    {
+        return type;
+    }
+    public void setSubType(String subType) 
+    {
+        this.subType = subType;
+    }
+
+    public String getSubType() 
+    {
+        return subType;
+    }
+    public void setTaskId(Long taskId) 
+    {
+        this.taskId = taskId;
+    }
+
+    public Long getTaskId() 
+    {
+        return taskId;
+    }
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("name", getName())
+            .append("type", getType())
+            .append("subType", getSubType())
+            .append("taskId", getTaskId())
+            .append("remark", getRemark())
+            .append("startTime", getStartTime())
+            .append("endTime", getEndTime())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/DataMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.Data;
+
+/**
+ * 数据管理Mapper接口
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+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
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/EvaluationIndicatorMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.EvaluationIndicator;
+
+/**
+ * 评估指标体系管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface EvaluationIndicatorMapper 
+{
+    /**
+     * 查询评估指标体系管理
+     * 
+     * @param id 评估指标体系管理主键
+     * @return 评估指标体系管理
+     */
+    public EvaluationIndicator selectEvaluationIndicatorById(Long id);
+
+    /**
+     * 查询评估指标体系管理列表
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 评估指标体系管理集合
+     */
+    public List<EvaluationIndicator> selectEvaluationIndicatorList(EvaluationIndicator evaluationIndicator);
+
+    /**
+     * 新增评估指标体系管理
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 结果
+     */
+    public int insertEvaluationIndicator(EvaluationIndicator evaluationIndicator);
+
+    /**
+     * 修改评估指标体系管理
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 结果
+     */
+    public int updateEvaluationIndicator(EvaluationIndicator evaluationIndicator);
+
+    /**
+     * 删除评估指标体系管理
+     * 
+     * @param id 评估指标体系管理主键
+     * @return 结果
+     */
+    public int deleteEvaluationIndicatorById(Long id);
+
+    /**
+     * 批量删除评估指标体系管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteEvaluationIndicatorByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/FaultDiagnosisModelMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.FaultDiagnosisModel;
+
+/**
+ * 故障诊断算法模型管理Mapper接口
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+public interface FaultDiagnosisModelMapper 
+{
+    /**
+     * 查询故障诊断算法模型管理
+     * 
+     * @param id 故障诊断算法模型管理主键
+     * @return 故障诊断算法模型管理
+     */
+    public FaultDiagnosisModel selectFaultDiagnosisModelById(Long id);
+
+    /**
+     * 查询故障诊断算法模型管理列表
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 故障诊断算法模型管理集合
+     */
+    public List<FaultDiagnosisModel> selectFaultDiagnosisModelList(FaultDiagnosisModel faultDiagnosisModel);
+
+    /**
+     * 新增故障诊断算法模型管理
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 结果
+     */
+    public int insertFaultDiagnosisModel(FaultDiagnosisModel faultDiagnosisModel);
+
+    /**
+     * 修改故障诊断算法模型管理
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 结果
+     */
+    public int updateFaultDiagnosisModel(FaultDiagnosisModel faultDiagnosisModel);
+
+    /**
+     * 删除故障诊断算法模型管理
+     * 
+     * @param id 故障诊断算法模型管理主键
+     * @return 结果
+     */
+    public int deleteFaultDiagnosisModelById(Long id);
+
+    /**
+     * 批量删除故障诊断算法模型管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteFaultDiagnosisModelByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/FaultPhysicalModelMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.FaultPhysicalModel;
+
+/**
+ * 故障物理模型管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface FaultPhysicalModelMapper 
+{
+    /**
+     * 查询故障物理模型管理
+     * 
+     * @param id 故障物理模型管理主键
+     * @return 故障物理模型管理
+     */
+    public FaultPhysicalModel selectFaultPhysicalModelById(Long id);
+
+    /**
+     * 查询故障物理模型管理列表
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 故障物理模型管理集合
+     */
+    public List<FaultPhysicalModel> selectFaultPhysicalModelList(FaultPhysicalModel faultPhysicalModel);
+
+    /**
+     * 新增故障物理模型管理
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 结果
+     */
+    public int insertFaultPhysicalModel(FaultPhysicalModel faultPhysicalModel);
+
+    /**
+     * 修改故障物理模型管理
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 结果
+     */
+    public int updateFaultPhysicalModel(FaultPhysicalModel faultPhysicalModel);
+
+    /**
+     * 删除故障物理模型管理
+     * 
+     * @param id 故障物理模型管理主键
+     * @return 结果
+     */
+    public int deleteFaultPhysicalModelById(Long id);
+
+    /**
+     * 批量删除故障物理模型管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteFaultPhysicalModelByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/FdAlgorithmMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.FdAlgorithm;
+
+/**
+ * 故障诊断算法功能验证Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface FdAlgorithmMapper 
+{
+    /**
+     * 查询故障诊断算法功能验证
+     * 
+     * @param id 故障诊断算法功能验证主键
+     * @return 故障诊断算法功能验证
+     */
+    public FdAlgorithm selectFdAlgorithmById(Long id);
+
+    /**
+     * 查询故障诊断算法功能验证列表
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 故障诊断算法功能验证集合
+     */
+    public List<FdAlgorithm> selectFdAlgorithmList(FdAlgorithm fdAlgorithm);
+
+    /**
+     * 新增故障诊断算法功能验证
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 结果
+     */
+    public int insertFdAlgorithm(FdAlgorithm fdAlgorithm);
+
+    /**
+     * 修改故障诊断算法功能验证
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 结果
+     */
+    public int updateFdAlgorithm(FdAlgorithm fdAlgorithm);
+
+    /**
+     * 删除故障诊断算法功能验证
+     * 
+     * @param id 故障诊断算法功能验证主键
+     * @return 结果
+     */
+    public int deleteFdAlgorithmById(Long id);
+
+    /**
+     * 批量删除故障诊断算法功能验证
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteFdAlgorithmByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/FormulasMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.Formulas;
+
+/**
+ * 公式管理管理Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2025-03-07
+ */
+public interface FormulasMapper 
+{
+    /**
+     * 查询公式管理管理
+     * 
+     * @param id 公式管理管理主键
+     * @return 公式管理管理
+     */
+    public Formulas selectFormulasById(Long id);
+
+    /**
+     * 查询公式管理管理列表
+     * 
+     * @param formulas 公式管理管理
+     * @return 公式管理管理集合
+     */
+    public List<Formulas> selectFormulasList(Formulas formulas);
+
+    /**
+     * 新增公式管理管理
+     * 
+     * @param formulas 公式管理管理
+     * @return 结果
+     */
+    public int insertFormulas(Formulas formulas);
+
+    /**
+     * 修改公式管理管理
+     * 
+     * @param formulas 公式管理管理
+     * @return 结果
+     */
+    public int updateFormulas(Formulas formulas);
+
+    /**
+     * 删除公式管理管理
+     * 
+     * @param id 公式管理管理主键
+     * @return 结果
+     */
+    public int deleteFormulasById(Long id);
+
+    /**
+     * 批量删除公式管理管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteFormulasByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/PerformanceEvaluationMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.PerformanceEvaluation;
+
+/**
+ * 算法性能评估Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface PerformanceEvaluationMapper 
+{
+    /**
+     * 查询算法性能评估
+     * 
+     * @param id 算法性能评估主键
+     * @return 算法性能评估
+     */
+    public PerformanceEvaluation selectPerformanceEvaluationById(Long id);
+
+    /**
+     * 查询算法性能评估列表
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 算法性能评估集合
+     */
+    public List<PerformanceEvaluation> selectPerformanceEvaluationList(PerformanceEvaluation performanceEvaluation);
+
+    /**
+     * 新增算法性能评估
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 结果
+     */
+    public int insertPerformanceEvaluation(PerformanceEvaluation performanceEvaluation);
+
+    /**
+     * 修改算法性能评估
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 结果
+     */
+    public int updatePerformanceEvaluation(PerformanceEvaluation performanceEvaluation);
+
+    /**
+     * 删除算法性能评估
+     * 
+     * @param id 算法性能评估主键
+     * @return 结果
+     */
+    public int deletePerformanceEvaluationById(Long id);
+
+    /**
+     * 批量删除算法性能评估
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deletePerformanceEvaluationByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/PhyModelDataGenMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.PhyModelDataGen;
+
+/**
+ * 物理模型数据生成管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface PhyModelDataGenMapper 
+{
+    /**
+     * 查询物理模型数据生成管理
+     * 
+     * @param id 物理模型数据生成管理主键
+     * @return 物理模型数据生成管理
+     */
+    public PhyModelDataGen selectPhyModelDataGenById(Long id);
+
+    /**
+     * 查询物理模型数据生成管理列表
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 物理模型数据生成管理集合
+     */
+    public List<PhyModelDataGen> selectPhyModelDataGenList(PhyModelDataGen phyModelDataGen);
+
+    /**
+     * 新增物理模型数据生成管理
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 结果
+     */
+    public int insertPhyModelDataGen(PhyModelDataGen phyModelDataGen);
+
+    /**
+     * 修改物理模型数据生成管理
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 结果
+     */
+    public int updatePhyModelDataGen(PhyModelDataGen phyModelDataGen);
+
+    /**
+     * 删除物理模型数据生成管理
+     * 
+     * @param id 物理模型数据生成管理主键
+     * @return 结果
+     */
+    public int deletePhyModelDataGenById(Long id);
+
+    /**
+     * 批量删除物理模型数据生成管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deletePhyModelDataGenByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/PhyNoiseDataGenMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.PhyNoiseDataGen;
+
+/**
+ * 噪声数据生成管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface PhyNoiseDataGenMapper 
+{
+    /**
+     * 查询噪声数据生成管理
+     * 
+     * @param id 噪声数据生成管理主键
+     * @return 噪声数据生成管理
+     */
+    public PhyNoiseDataGen selectPhyNoiseDataGenById(Long id);
+
+    /**
+     * 查询噪声数据生成管理列表
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 噪声数据生成管理集合
+     */
+    public List<PhyNoiseDataGen> selectPhyNoiseDataGenList(PhyNoiseDataGen phyNoiseDataGen);
+
+    /**
+     * 新增噪声数据生成管理
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 结果
+     */
+    public int insertPhyNoiseDataGen(PhyNoiseDataGen phyNoiseDataGen);
+
+    /**
+     * 修改噪声数据生成管理
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 结果
+     */
+    public int updatePhyNoiseDataGen(PhyNoiseDataGen phyNoiseDataGen);
+
+    /**
+     * 删除噪声数据生成管理
+     * 
+     * @param id 噪声数据生成管理主键
+     * @return 结果
+     */
+    public int deletePhyNoiseDataGenById(Long id);
+
+    /**
+     * 批量删除噪声数据生成管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deletePhyNoiseDataGenByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/TestDataGenMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.TestDataGen;
+
+/**
+ * 测试数据生成管理Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface TestDataGenMapper 
+{
+    /**
+     * 查询测试数据生成管理
+     * 
+     * @param id 测试数据生成管理主键
+     * @return 测试数据生成管理
+     */
+    public TestDataGen selectTestDataGenById(Long id);
+
+    /**
+     * 查询测试数据生成管理列表
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 测试数据生成管理集合
+     */
+    public List<TestDataGen> selectTestDataGenList(TestDataGen testDataGen);
+
+    /**
+     * 新增测试数据生成管理
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 结果
+     */
+    public int insertTestDataGen(TestDataGen testDataGen);
+
+    /**
+     * 修改测试数据生成管理
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 结果
+     */
+    public int updateTestDataGen(TestDataGen testDataGen);
+
+    /**
+     * 删除测试数据生成管理
+     * 
+     * @param id 测试数据生成管理主键
+     * @return 结果
+     */
+    public int deleteTestDataGenById(Long id);
+
+    /**
+     * 批量删除测试数据生成管理
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTestDataGenByIds(Long[] ids);
+}

+ 87 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/WorkflowMapper.java

@@ -0,0 +1,87 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.Workflow;
+import com.cn.fdapfe.biz.domain.WorkflowNode;
+
+/**
+ * 流程任务Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface WorkflowMapper 
+{
+    /**
+     * 查询流程任务
+     * 
+     * @param id 流程任务主键
+     * @return 流程任务
+     */
+    public Workflow selectWorkflowById(Long id);
+
+    /**
+     * 查询流程任务列表
+     * 
+     * @param workflow 流程任务
+     * @return 流程任务集合
+     */
+    public List<Workflow> selectWorkflowList(Workflow workflow);
+
+    /**
+     * 新增流程任务
+     * 
+     * @param workflow 流程任务
+     * @return 结果
+     */
+    public int insertWorkflow(Workflow workflow);
+
+    /**
+     * 修改流程任务
+     * 
+     * @param workflow 流程任务
+     * @return 结果
+     */
+    public int updateWorkflow(Workflow workflow);
+
+    /**
+     * 删除流程任务
+     * 
+     * @param id 流程任务主键
+     * @return 结果
+     */
+    public int deleteWorkflowById(Long id);
+
+    /**
+     * 批量删除流程任务
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteWorkflowByIds(Long[] ids);
+
+    /**
+     * 批量删除流程节点
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteWorkflowNodeByTaskIds(Long[] ids);
+    
+    /**
+     * 批量新增流程节点
+     * 
+     * @param workflowNodeList 流程节点列表
+     * @return 结果
+     */
+    public int batchWorkflowNode(List<WorkflowNode> workflowNodeList);
+    
+
+    /**
+     * 通过流程任务主键删除流程节点信息
+     * 
+     * @param id 流程任务ID
+     * @return 结果
+     */
+    public int deleteWorkflowNodeByTaskId(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/mapper/WorkflowNodeMapper.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.mapper;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.WorkflowNode;
+
+/**
+ * 流程节点Mapper接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface WorkflowNodeMapper 
+{
+    /**
+     * 查询流程节点
+     * 
+     * @param id 流程节点主键
+     * @return 流程节点
+     */
+    public WorkflowNode selectWorkflowNodeById(Long id);
+
+    /**
+     * 查询流程节点列表
+     * 
+     * @param workflowNode 流程节点
+     * @return 流程节点集合
+     */
+    public List<WorkflowNode> selectWorkflowNodeList(WorkflowNode workflowNode);
+
+    /**
+     * 新增流程节点
+     * 
+     * @param workflowNode 流程节点
+     * @return 结果
+     */
+    public int insertWorkflowNode(WorkflowNode workflowNode);
+
+    /**
+     * 修改流程节点
+     * 
+     * @param workflowNode 流程节点
+     * @return 结果
+     */
+    public int updateWorkflowNode(WorkflowNode workflowNode);
+
+    /**
+     * 删除流程节点
+     * 
+     * @param id 流程节点主键
+     * @return 结果
+     */
+    public int deleteWorkflowNodeById(Long id);
+
+    /**
+     * 批量删除流程节点
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteWorkflowNodeByIds(Long[] ids);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IDataService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.Data;
+
+/**
+ * 数据管理Service接口
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+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
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IEvaluationIndicatorService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.EvaluationIndicator;
+
+/**
+ * 评估指标体系管理Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface IEvaluationIndicatorService 
+{
+    /**
+     * 查询评估指标体系管理
+     * 
+     * @param id 评估指标体系管理主键
+     * @return 评估指标体系管理
+     */
+    public EvaluationIndicator selectEvaluationIndicatorById(Long id);
+
+    /**
+     * 查询评估指标体系管理列表
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 评估指标体系管理集合
+     */
+    public List<EvaluationIndicator> selectEvaluationIndicatorList(EvaluationIndicator evaluationIndicator);
+
+    /**
+     * 新增评估指标体系管理
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 结果
+     */
+    public int insertEvaluationIndicator(EvaluationIndicator evaluationIndicator);
+
+    /**
+     * 修改评估指标体系管理
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 结果
+     */
+    public int updateEvaluationIndicator(EvaluationIndicator evaluationIndicator);
+
+    /**
+     * 批量删除评估指标体系管理
+     * 
+     * @param ids 需要删除的评估指标体系管理主键集合
+     * @return 结果
+     */
+    public int deleteEvaluationIndicatorByIds(Long[] ids);
+
+    /**
+     * 删除评估指标体系管理信息
+     * 
+     * @param id 评估指标体系管理主键
+     * @return 结果
+     */
+    public int deleteEvaluationIndicatorById(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IFaultDiagnosisModelService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.FaultDiagnosisModel;
+
+/**
+ * 故障诊断算法模型管理Service接口
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+public interface IFaultDiagnosisModelService 
+{
+    /**
+     * 查询故障诊断算法模型管理
+     * 
+     * @param id 故障诊断算法模型管理主键
+     * @return 故障诊断算法模型管理
+     */
+    public FaultDiagnosisModel selectFaultDiagnosisModelById(Long id);
+
+    /**
+     * 查询故障诊断算法模型管理列表
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 故障诊断算法模型管理集合
+     */
+    public List<FaultDiagnosisModel> selectFaultDiagnosisModelList(FaultDiagnosisModel faultDiagnosisModel);
+
+    /**
+     * 新增故障诊断算法模型管理
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 结果
+     */
+    public int insertFaultDiagnosisModel(FaultDiagnosisModel faultDiagnosisModel);
+
+    /**
+     * 修改故障诊断算法模型管理
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 结果
+     */
+    public int updateFaultDiagnosisModel(FaultDiagnosisModel faultDiagnosisModel);
+
+    /**
+     * 批量删除故障诊断算法模型管理
+     * 
+     * @param ids 需要删除的故障诊断算法模型管理主键集合
+     * @return 结果
+     */
+    public int deleteFaultDiagnosisModelByIds(Long[] ids);
+
+    /**
+     * 删除故障诊断算法模型管理信息
+     * 
+     * @param id 故障诊断算法模型管理主键
+     * @return 结果
+     */
+    public int deleteFaultDiagnosisModelById(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IFaultPhysicalModelService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.FaultPhysicalModel;
+
+/**
+ * 故障物理模型管理Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface IFaultPhysicalModelService 
+{
+    /**
+     * 查询故障物理模型管理
+     * 
+     * @param id 故障物理模型管理主键
+     * @return 故障物理模型管理
+     */
+    public FaultPhysicalModel selectFaultPhysicalModelById(Long id);
+
+    /**
+     * 查询故障物理模型管理列表
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 故障物理模型管理集合
+     */
+    public List<FaultPhysicalModel> selectFaultPhysicalModelList(FaultPhysicalModel faultPhysicalModel);
+
+    /**
+     * 新增故障物理模型管理
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 结果
+     */
+    public int insertFaultPhysicalModel(FaultPhysicalModel faultPhysicalModel);
+
+    /**
+     * 修改故障物理模型管理
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 结果
+     */
+    public int updateFaultPhysicalModel(FaultPhysicalModel faultPhysicalModel);
+
+    /**
+     * 批量删除故障物理模型管理
+     * 
+     * @param ids 需要删除的故障物理模型管理主键集合
+     * @return 结果
+     */
+    public int deleteFaultPhysicalModelByIds(Long[] ids);
+
+    /**
+     * 删除故障物理模型管理信息
+     * 
+     * @param id 故障物理模型管理主键
+     * @return 结果
+     */
+    public int deleteFaultPhysicalModelById(Long id);
+}

+ 63 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IFdAlgorithmService.java

@@ -0,0 +1,63 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.FdAlgorithm;
+
+/**
+ * 故障诊断算法功能验证Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface IFdAlgorithmService 
+{
+    /**
+     * 查询故障诊断算法功能验证
+     * 
+     * @param id 故障诊断算法功能验证主键
+     * @return 故障诊断算法功能验证
+     */
+    public FdAlgorithm selectFdAlgorithmById(Long id);
+
+    /**
+     * 查询故障诊断算法功能验证列表
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 故障诊断算法功能验证集合
+     */
+    public List<FdAlgorithm> selectFdAlgorithmList(FdAlgorithm fdAlgorithm);
+
+    /**
+     * 新增故障诊断算法功能验证
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 结果
+     */
+    public int insertFdAlgorithm(FdAlgorithm fdAlgorithm);
+
+    /**
+     * 修改故障诊断算法功能验证
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 结果
+     */
+    public int updateFdAlgorithm(FdAlgorithm fdAlgorithm);
+
+    /**
+     * 批量删除故障诊断算法功能验证
+     * 
+     * @param ids 需要删除的故障诊断算法功能验证主键集合
+     * @return 结果
+     */
+    public int deleteFdAlgorithmByIds(Long[] ids);
+
+    /**
+     * 删除故障诊断算法功能验证信息
+     * 
+     * @param id 故障诊断算法功能验证主键
+     * @return 结果
+     */
+    public int deleteFdAlgorithmById(Long id);
+
+    int handleVerify(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IFormulasService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.Formulas;
+
+/**
+ * 公式管理管理Service接口
+ * 
+ * @author ruoyi
+ * @date 2025-03-07
+ */
+public interface IFormulasService 
+{
+    /**
+     * 查询公式管理管理
+     * 
+     * @param id 公式管理管理主键
+     * @return 公式管理管理
+     */
+    public Formulas selectFormulasById(Long id);
+
+    /**
+     * 查询公式管理管理列表
+     * 
+     * @param formulas 公式管理管理
+     * @return 公式管理管理集合
+     */
+    public List<Formulas> selectFormulasList(Formulas formulas);
+
+    /**
+     * 新增公式管理管理
+     * 
+     * @param formulas 公式管理管理
+     * @return 结果
+     */
+    public int insertFormulas(Formulas formulas);
+
+    /**
+     * 修改公式管理管理
+     * 
+     * @param formulas 公式管理管理
+     * @return 结果
+     */
+    public int updateFormulas(Formulas formulas);
+
+    /**
+     * 批量删除公式管理管理
+     * 
+     * @param ids 需要删除的公式管理管理主键集合
+     * @return 结果
+     */
+    public int deleteFormulasByIds(Long[] ids);
+
+    /**
+     * 删除公式管理管理信息
+     * 
+     * @param id 公式管理管理主键
+     * @return 结果
+     */
+    public int deleteFormulasById(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IPerformanceEvaluationService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.PerformanceEvaluation;
+
+/**
+ * 算法性能评估Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface IPerformanceEvaluationService 
+{
+    /**
+     * 查询算法性能评估
+     * 
+     * @param id 算法性能评估主键
+     * @return 算法性能评估
+     */
+    public PerformanceEvaluation selectPerformanceEvaluationById(Long id);
+
+    /**
+     * 查询算法性能评估列表
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 算法性能评估集合
+     */
+    public List<PerformanceEvaluation> selectPerformanceEvaluationList(PerformanceEvaluation performanceEvaluation);
+
+    /**
+     * 新增算法性能评估
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 结果
+     */
+    public int insertPerformanceEvaluation(PerformanceEvaluation performanceEvaluation);
+
+    /**
+     * 修改算法性能评估
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 结果
+     */
+    public int updatePerformanceEvaluation(PerformanceEvaluation performanceEvaluation);
+
+    /**
+     * 批量删除算法性能评估
+     * 
+     * @param ids 需要删除的算法性能评估主键集合
+     * @return 结果
+     */
+    public int deletePerformanceEvaluationByIds(Long[] ids);
+
+    /**
+     * 删除算法性能评估信息
+     * 
+     * @param id 算法性能评估主键
+     * @return 结果
+     */
+    public int deletePerformanceEvaluationById(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IPhyModelDataGenService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.PhyModelDataGen;
+
+/**
+ * 物理模型数据生成管理Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface IPhyModelDataGenService 
+{
+    /**
+     * 查询物理模型数据生成管理
+     * 
+     * @param id 物理模型数据生成管理主键
+     * @return 物理模型数据生成管理
+     */
+    public PhyModelDataGen selectPhyModelDataGenById(Long id);
+
+    /**
+     * 查询物理模型数据生成管理列表
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 物理模型数据生成管理集合
+     */
+    public List<PhyModelDataGen> selectPhyModelDataGenList(PhyModelDataGen phyModelDataGen);
+
+    /**
+     * 新增物理模型数据生成管理
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 结果
+     */
+    public int insertPhyModelDataGen(PhyModelDataGen phyModelDataGen);
+
+    /**
+     * 修改物理模型数据生成管理
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 结果
+     */
+    public int updatePhyModelDataGen(PhyModelDataGen phyModelDataGen);
+
+    /**
+     * 批量删除物理模型数据生成管理
+     * 
+     * @param ids 需要删除的物理模型数据生成管理主键集合
+     * @return 结果
+     */
+    public int deletePhyModelDataGenByIds(Long[] ids);
+
+    /**
+     * 删除物理模型数据生成管理信息
+     * 
+     * @param id 物理模型数据生成管理主键
+     * @return 结果
+     */
+    public int deletePhyModelDataGenById(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IPhyNoiseDataGenService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.PhyNoiseDataGen;
+
+/**
+ * 噪声数据生成管理Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface IPhyNoiseDataGenService 
+{
+    /**
+     * 查询噪声数据生成管理
+     * 
+     * @param id 噪声数据生成管理主键
+     * @return 噪声数据生成管理
+     */
+    public PhyNoiseDataGen selectPhyNoiseDataGenById(Long id);
+
+    /**
+     * 查询噪声数据生成管理列表
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 噪声数据生成管理集合
+     */
+    public List<PhyNoiseDataGen> selectPhyNoiseDataGenList(PhyNoiseDataGen phyNoiseDataGen);
+
+    /**
+     * 新增噪声数据生成管理
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 结果
+     */
+    public int insertPhyNoiseDataGen(PhyNoiseDataGen phyNoiseDataGen);
+
+    /**
+     * 修改噪声数据生成管理
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 结果
+     */
+    public int updatePhyNoiseDataGen(PhyNoiseDataGen phyNoiseDataGen);
+
+    /**
+     * 批量删除噪声数据生成管理
+     * 
+     * @param ids 需要删除的噪声数据生成管理主键集合
+     * @return 结果
+     */
+    public int deletePhyNoiseDataGenByIds(Long[] ids);
+
+    /**
+     * 删除噪声数据生成管理信息
+     * 
+     * @param id 噪声数据生成管理主键
+     * @return 结果
+     */
+    public int deletePhyNoiseDataGenById(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/ITestDataGenService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.TestDataGen;
+
+/**
+ * 测试数据生成管理Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface ITestDataGenService 
+{
+    /**
+     * 查询测试数据生成管理
+     * 
+     * @param id 测试数据生成管理主键
+     * @return 测试数据生成管理
+     */
+    public TestDataGen selectTestDataGenById(Long id);
+
+    /**
+     * 查询测试数据生成管理列表
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 测试数据生成管理集合
+     */
+    public List<TestDataGen> selectTestDataGenList(TestDataGen testDataGen);
+
+    /**
+     * 新增测试数据生成管理
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 结果
+     */
+    public int insertTestDataGen(TestDataGen testDataGen);
+
+    /**
+     * 修改测试数据生成管理
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 结果
+     */
+    public int updateTestDataGen(TestDataGen testDataGen);
+
+    /**
+     * 批量删除测试数据生成管理
+     * 
+     * @param ids 需要删除的测试数据生成管理主键集合
+     * @return 结果
+     */
+    public int deleteTestDataGenByIds(Long[] ids);
+
+    /**
+     * 删除测试数据生成管理信息
+     * 
+     * @param id 测试数据生成管理主键
+     * @return 结果
+     */
+    public int deleteTestDataGenById(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IWorkflowNodeService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.WorkflowNode;
+
+/**
+ * 流程节点Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface IWorkflowNodeService 
+{
+    /**
+     * 查询流程节点
+     * 
+     * @param id 流程节点主键
+     * @return 流程节点
+     */
+    public WorkflowNode selectWorkflowNodeById(Long id);
+
+    /**
+     * 查询流程节点列表
+     * 
+     * @param workflowNode 流程节点
+     * @return 流程节点集合
+     */
+    public List<WorkflowNode> selectWorkflowNodeList(WorkflowNode workflowNode);
+
+    /**
+     * 新增流程节点
+     * 
+     * @param workflowNode 流程节点
+     * @return 结果
+     */
+    public int insertWorkflowNode(WorkflowNode workflowNode);
+
+    /**
+     * 修改流程节点
+     * 
+     * @param workflowNode 流程节点
+     * @return 结果
+     */
+    public int updateWorkflowNode(WorkflowNode workflowNode);
+
+    /**
+     * 批量删除流程节点
+     * 
+     * @param ids 需要删除的流程节点主键集合
+     * @return 结果
+     */
+    public int deleteWorkflowNodeByIds(Long[] ids);
+
+    /**
+     * 删除流程节点信息
+     * 
+     * @param id 流程节点主键
+     * @return 结果
+     */
+    public int deleteWorkflowNodeById(Long id);
+}

+ 61 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/IWorkflowService.java

@@ -0,0 +1,61 @@
+package com.cn.fdapfe.biz.service;
+
+import java.util.List;
+import com.cn.fdapfe.biz.domain.Workflow;
+
+/**
+ * 流程任务Service接口
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+public interface IWorkflowService 
+{
+    /**
+     * 查询流程任务
+     * 
+     * @param id 流程任务主键
+     * @return 流程任务
+     */
+    public Workflow selectWorkflowById(Long id);
+
+    /**
+     * 查询流程任务列表
+     * 
+     * @param workflow 流程任务
+     * @return 流程任务集合
+     */
+    public List<Workflow> selectWorkflowList(Workflow workflow);
+
+    /**
+     * 新增流程任务
+     * 
+     * @param workflow 流程任务
+     * @return 结果
+     */
+    public int insertWorkflow(Workflow workflow);
+
+    /**
+     * 修改流程任务
+     * 
+     * @param workflow 流程任务
+     * @return 结果
+     */
+    public int updateWorkflow(Workflow workflow);
+
+    /**
+     * 批量删除流程任务
+     * 
+     * @param ids 需要删除的流程任务主键集合
+     * @return 结果
+     */
+    public int deleteWorkflowByIds(Long[] ids);
+
+    /**
+     * 删除流程任务信息
+     * 
+     * @param id 流程任务主键
+     * @return 结果
+     */
+    public int deleteWorkflowById(Long id);
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/DataServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.DataMapper;
+import com.cn.fdapfe.biz.domain.Data;
+import com.cn.fdapfe.biz.service.IDataService;
+
+/**
+ * 数据管理Service业务层处理
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+@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
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/EvaluationIndicatorServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.EvaluationIndicatorMapper;
+import com.cn.fdapfe.biz.domain.EvaluationIndicator;
+import com.cn.fdapfe.biz.service.IEvaluationIndicatorService;
+
+/**
+ * 评估指标体系管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class EvaluationIndicatorServiceImpl implements IEvaluationIndicatorService 
+{
+    @Autowired
+    private EvaluationIndicatorMapper evaluationIndicatorMapper;
+
+    /**
+     * 查询评估指标体系管理
+     * 
+     * @param id 评估指标体系管理主键
+     * @return 评估指标体系管理
+     */
+    @Override
+    public EvaluationIndicator selectEvaluationIndicatorById(Long id)
+    {
+        return evaluationIndicatorMapper.selectEvaluationIndicatorById(id);
+    }
+
+    /**
+     * 查询评估指标体系管理列表
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 评估指标体系管理
+     */
+    @Override
+    public List<EvaluationIndicator> selectEvaluationIndicatorList(EvaluationIndicator evaluationIndicator)
+    {
+        return evaluationIndicatorMapper.selectEvaluationIndicatorList(evaluationIndicator);
+    }
+
+    /**
+     * 新增评估指标体系管理
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 结果
+     */
+    @Override
+    public int insertEvaluationIndicator(EvaluationIndicator evaluationIndicator)
+    {
+        evaluationIndicator.setCreateTime(DateUtils.getNowDate());
+        return evaluationIndicatorMapper.insertEvaluationIndicator(evaluationIndicator);
+    }
+
+    /**
+     * 修改评估指标体系管理
+     * 
+     * @param evaluationIndicator 评估指标体系管理
+     * @return 结果
+     */
+    @Override
+    public int updateEvaluationIndicator(EvaluationIndicator evaluationIndicator)
+    {
+        evaluationIndicator.setUpdateTime(DateUtils.getNowDate());
+        return evaluationIndicatorMapper.updateEvaluationIndicator(evaluationIndicator);
+    }
+
+    /**
+     * 批量删除评估指标体系管理
+     * 
+     * @param ids 需要删除的评估指标体系管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEvaluationIndicatorByIds(Long[] ids)
+    {
+        return evaluationIndicatorMapper.deleteEvaluationIndicatorByIds(ids);
+    }
+
+    /**
+     * 删除评估指标体系管理信息
+     * 
+     * @param id 评估指标体系管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteEvaluationIndicatorById(Long id)
+    {
+        return evaluationIndicatorMapper.deleteEvaluationIndicatorById(id);
+    }
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/FaultDiagnosisModelServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.FaultDiagnosisModelMapper;
+import com.cn.fdapfe.biz.domain.FaultDiagnosisModel;
+import com.cn.fdapfe.biz.service.IFaultDiagnosisModelService;
+
+/**
+ * 故障诊断算法模型管理Service业务层处理
+ * 
+ * @author Allem
+ * @date 2025-03-07
+ */
+@Service
+public class FaultDiagnosisModelServiceImpl implements IFaultDiagnosisModelService 
+{
+    @Autowired
+    private FaultDiagnosisModelMapper faultDiagnosisModelMapper;
+
+    /**
+     * 查询故障诊断算法模型管理
+     * 
+     * @param id 故障诊断算法模型管理主键
+     * @return 故障诊断算法模型管理
+     */
+    @Override
+    public FaultDiagnosisModel selectFaultDiagnosisModelById(Long id)
+    {
+        return faultDiagnosisModelMapper.selectFaultDiagnosisModelById(id);
+    }
+
+    /**
+     * 查询故障诊断算法模型管理列表
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 故障诊断算法模型管理
+     */
+    @Override
+    public List<FaultDiagnosisModel> selectFaultDiagnosisModelList(FaultDiagnosisModel faultDiagnosisModel)
+    {
+        return faultDiagnosisModelMapper.selectFaultDiagnosisModelList(faultDiagnosisModel);
+    }
+
+    /**
+     * 新增故障诊断算法模型管理
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 结果
+     */
+    @Override
+    public int insertFaultDiagnosisModel(FaultDiagnosisModel faultDiagnosisModel)
+    {
+        faultDiagnosisModel.setCreateTime(DateUtils.getNowDate());
+        return faultDiagnosisModelMapper.insertFaultDiagnosisModel(faultDiagnosisModel);
+    }
+
+    /**
+     * 修改故障诊断算法模型管理
+     * 
+     * @param faultDiagnosisModel 故障诊断算法模型管理
+     * @return 结果
+     */
+    @Override
+    public int updateFaultDiagnosisModel(FaultDiagnosisModel faultDiagnosisModel)
+    {
+        faultDiagnosisModel.setUpdateTime(DateUtils.getNowDate());
+        return faultDiagnosisModelMapper.updateFaultDiagnosisModel(faultDiagnosisModel);
+    }
+
+    /**
+     * 批量删除故障诊断算法模型管理
+     * 
+     * @param ids 需要删除的故障诊断算法模型管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFaultDiagnosisModelByIds(Long[] ids)
+    {
+        return faultDiagnosisModelMapper.deleteFaultDiagnosisModelByIds(ids);
+    }
+
+    /**
+     * 删除故障诊断算法模型管理信息
+     * 
+     * @param id 故障诊断算法模型管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFaultDiagnosisModelById(Long id)
+    {
+        return faultDiagnosisModelMapper.deleteFaultDiagnosisModelById(id);
+    }
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/FaultPhysicalModelServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.FaultPhysicalModelMapper;
+import com.cn.fdapfe.biz.domain.FaultPhysicalModel;
+import com.cn.fdapfe.biz.service.IFaultPhysicalModelService;
+
+/**
+ * 故障物理模型管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class FaultPhysicalModelServiceImpl implements IFaultPhysicalModelService 
+{
+    @Autowired
+    private FaultPhysicalModelMapper faultPhysicalModelMapper;
+
+    /**
+     * 查询故障物理模型管理
+     * 
+     * @param id 故障物理模型管理主键
+     * @return 故障物理模型管理
+     */
+    @Override
+    public FaultPhysicalModel selectFaultPhysicalModelById(Long id)
+    {
+        return faultPhysicalModelMapper.selectFaultPhysicalModelById(id);
+    }
+
+    /**
+     * 查询故障物理模型管理列表
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 故障物理模型管理
+     */
+    @Override
+    public List<FaultPhysicalModel> selectFaultPhysicalModelList(FaultPhysicalModel faultPhysicalModel)
+    {
+        return faultPhysicalModelMapper.selectFaultPhysicalModelList(faultPhysicalModel);
+    }
+
+    /**
+     * 新增故障物理模型管理
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 结果
+     */
+    @Override
+    public int insertFaultPhysicalModel(FaultPhysicalModel faultPhysicalModel)
+    {
+        faultPhysicalModel.setCreateTime(DateUtils.getNowDate());
+        return faultPhysicalModelMapper.insertFaultPhysicalModel(faultPhysicalModel);
+    }
+
+    /**
+     * 修改故障物理模型管理
+     * 
+     * @param faultPhysicalModel 故障物理模型管理
+     * @return 结果
+     */
+    @Override
+    public int updateFaultPhysicalModel(FaultPhysicalModel faultPhysicalModel)
+    {
+        faultPhysicalModel.setUpdateTime(DateUtils.getNowDate());
+        return faultPhysicalModelMapper.updateFaultPhysicalModel(faultPhysicalModel);
+    }
+
+    /**
+     * 批量删除故障物理模型管理
+     * 
+     * @param ids 需要删除的故障物理模型管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFaultPhysicalModelByIds(Long[] ids)
+    {
+        return faultPhysicalModelMapper.deleteFaultPhysicalModelByIds(ids);
+    }
+
+    /**
+     * 删除故障物理模型管理信息
+     * 
+     * @param id 故障物理模型管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFaultPhysicalModelById(Long id)
+    {
+        return faultPhysicalModelMapper.deleteFaultPhysicalModelById(id);
+    }
+}

+ 117 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/FdAlgorithmServiceImpl.java

@@ -0,0 +1,117 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
+import java.util.Date;
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.FdAlgorithmMapper;
+import com.cn.fdapfe.biz.domain.FdAlgorithm;
+import com.cn.fdapfe.biz.service.IFdAlgorithmService;
+
+/**
+ * 故障诊断算法功能验证Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class FdAlgorithmServiceImpl implements IFdAlgorithmService 
+{
+    @Autowired
+    private FdAlgorithmMapper fdAlgorithmMapper;
+
+    /**
+     * 查询故障诊断算法功能验证
+     * 
+     * @param id 故障诊断算法功能验证主键
+     * @return 故障诊断算法功能验证
+     */
+    @Override
+    public FdAlgorithm selectFdAlgorithmById(Long id)
+    {
+        return fdAlgorithmMapper.selectFdAlgorithmById(id);
+    }
+
+    /**
+     * 查询故障诊断算法功能验证列表
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 故障诊断算法功能验证
+     */
+    @Override
+    public List<FdAlgorithm> selectFdAlgorithmList(FdAlgorithm fdAlgorithm)
+    {
+        return fdAlgorithmMapper.selectFdAlgorithmList(fdAlgorithm);
+    }
+
+    /**
+     * 新增故障诊断算法功能验证
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 结果
+     */
+    @Override
+    public int insertFdAlgorithm(FdAlgorithm fdAlgorithm)
+    {
+        fdAlgorithm.setCreateTime(DateUtils.getNowDate());
+        return fdAlgorithmMapper.insertFdAlgorithm(fdAlgorithm);
+    }
+
+    /**
+     * 修改故障诊断算法功能验证
+     * 
+     * @param fdAlgorithm 故障诊断算法功能验证
+     * @return 结果
+     */
+    @Override
+    public int updateFdAlgorithm(FdAlgorithm fdAlgorithm)
+    {
+        fdAlgorithm.setUpdateTime(DateUtils.getNowDate());
+        return fdAlgorithmMapper.updateFdAlgorithm(fdAlgorithm);
+    }
+
+    /**
+     * 批量删除故障诊断算法功能验证
+     * 
+     * @param ids 需要删除的故障诊断算法功能验证主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFdAlgorithmByIds(Long[] ids)
+    {
+        return fdAlgorithmMapper.deleteFdAlgorithmByIds(ids);
+    }
+
+    /**
+     * 删除故障诊断算法功能验证信息
+     * 
+     * @param id 故障诊断算法功能验证主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFdAlgorithmById(Long id)
+    {
+        return fdAlgorithmMapper.deleteFdAlgorithmById(id);
+    }
+
+    @Override
+    public int handleVerify(Long id) {
+        FdAlgorithm fdAlgorithm = this.selectFdAlgorithmById(id);
+        if(null == fdAlgorithm){
+            return 0;
+        }
+        Date currentDate = new Date();
+        fdAlgorithm.setStartTime(currentDate);
+        Instant instant = currentDate.toInstant();
+        Instant newInstant = instant.plus(5, ChronoUnit.SECONDS);
+
+        // 转换回 Date
+        Date newDate = Date.from(newInstant);
+        fdAlgorithm.setEndTime(newDate);
+        fdAlgorithm.setTestLabels(fdAlgorithm.getTruthLabels());
+        return this.updateFdAlgorithm(fdAlgorithm);
+    }
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/FormulasServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.FormulasMapper;
+import com.cn.fdapfe.biz.domain.Formulas;
+import com.cn.fdapfe.biz.service.IFormulasService;
+
+/**
+ * 公式管理管理Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2025-03-07
+ */
+@Service
+public class FormulasServiceImpl implements IFormulasService 
+{
+    @Autowired
+    private FormulasMapper formulasMapper;
+
+    /**
+     * 查询公式管理管理
+     * 
+     * @param id 公式管理管理主键
+     * @return 公式管理管理
+     */
+    @Override
+    public Formulas selectFormulasById(Long id)
+    {
+        return formulasMapper.selectFormulasById(id);
+    }
+
+    /**
+     * 查询公式管理管理列表
+     * 
+     * @param formulas 公式管理管理
+     * @return 公式管理管理
+     */
+    @Override
+    public List<Formulas> selectFormulasList(Formulas formulas)
+    {
+        return formulasMapper.selectFormulasList(formulas);
+    }
+
+    /**
+     * 新增公式管理管理
+     * 
+     * @param formulas 公式管理管理
+     * @return 结果
+     */
+    @Override
+    public int insertFormulas(Formulas formulas)
+    {
+        formulas.setCreateTime(DateUtils.getNowDate());
+        return formulasMapper.insertFormulas(formulas);
+    }
+
+    /**
+     * 修改公式管理管理
+     * 
+     * @param formulas 公式管理管理
+     * @return 结果
+     */
+    @Override
+    public int updateFormulas(Formulas formulas)
+    {
+        formulas.setUpdateTime(DateUtils.getNowDate());
+        return formulasMapper.updateFormulas(formulas);
+    }
+
+    /**
+     * 批量删除公式管理管理
+     * 
+     * @param ids 需要删除的公式管理管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFormulasByIds(Long[] ids)
+    {
+        return formulasMapper.deleteFormulasByIds(ids);
+    }
+
+    /**
+     * 删除公式管理管理信息
+     * 
+     * @param id 公式管理管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteFormulasById(Long id)
+    {
+        return formulasMapper.deleteFormulasById(id);
+    }
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/PerformanceEvaluationServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.PerformanceEvaluationMapper;
+import com.cn.fdapfe.biz.domain.PerformanceEvaluation;
+import com.cn.fdapfe.biz.service.IPerformanceEvaluationService;
+
+/**
+ * 算法性能评估Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class PerformanceEvaluationServiceImpl implements IPerformanceEvaluationService 
+{
+    @Autowired
+    private PerformanceEvaluationMapper performanceEvaluationMapper;
+
+    /**
+     * 查询算法性能评估
+     * 
+     * @param id 算法性能评估主键
+     * @return 算法性能评估
+     */
+    @Override
+    public PerformanceEvaluation selectPerformanceEvaluationById(Long id)
+    {
+        return performanceEvaluationMapper.selectPerformanceEvaluationById(id);
+    }
+
+    /**
+     * 查询算法性能评估列表
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 算法性能评估
+     */
+    @Override
+    public List<PerformanceEvaluation> selectPerformanceEvaluationList(PerformanceEvaluation performanceEvaluation)
+    {
+        return performanceEvaluationMapper.selectPerformanceEvaluationList(performanceEvaluation);
+    }
+
+    /**
+     * 新增算法性能评估
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 结果
+     */
+    @Override
+    public int insertPerformanceEvaluation(PerformanceEvaluation performanceEvaluation)
+    {
+        performanceEvaluation.setCreateTime(DateUtils.getNowDate());
+        return performanceEvaluationMapper.insertPerformanceEvaluation(performanceEvaluation);
+    }
+
+    /**
+     * 修改算法性能评估
+     * 
+     * @param performanceEvaluation 算法性能评估
+     * @return 结果
+     */
+    @Override
+    public int updatePerformanceEvaluation(PerformanceEvaluation performanceEvaluation)
+    {
+        performanceEvaluation.setUpdateTime(DateUtils.getNowDate());
+        return performanceEvaluationMapper.updatePerformanceEvaluation(performanceEvaluation);
+    }
+
+    /**
+     * 批量删除算法性能评估
+     * 
+     * @param ids 需要删除的算法性能评估主键
+     * @return 结果
+     */
+    @Override
+    public int deletePerformanceEvaluationByIds(Long[] ids)
+    {
+        return performanceEvaluationMapper.deletePerformanceEvaluationByIds(ids);
+    }
+
+    /**
+     * 删除算法性能评估信息
+     * 
+     * @param id 算法性能评估主键
+     * @return 结果
+     */
+    @Override
+    public int deletePerformanceEvaluationById(Long id)
+    {
+        return performanceEvaluationMapper.deletePerformanceEvaluationById(id);
+    }
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/PhyModelDataGenServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.PhyModelDataGenMapper;
+import com.cn.fdapfe.biz.domain.PhyModelDataGen;
+import com.cn.fdapfe.biz.service.IPhyModelDataGenService;
+
+/**
+ * 物理模型数据生成管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class PhyModelDataGenServiceImpl implements IPhyModelDataGenService 
+{
+    @Autowired
+    private PhyModelDataGenMapper phyModelDataGenMapper;
+
+    /**
+     * 查询物理模型数据生成管理
+     * 
+     * @param id 物理模型数据生成管理主键
+     * @return 物理模型数据生成管理
+     */
+    @Override
+    public PhyModelDataGen selectPhyModelDataGenById(Long id)
+    {
+        return phyModelDataGenMapper.selectPhyModelDataGenById(id);
+    }
+
+    /**
+     * 查询物理模型数据生成管理列表
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 物理模型数据生成管理
+     */
+    @Override
+    public List<PhyModelDataGen> selectPhyModelDataGenList(PhyModelDataGen phyModelDataGen)
+    {
+        return phyModelDataGenMapper.selectPhyModelDataGenList(phyModelDataGen);
+    }
+
+    /**
+     * 新增物理模型数据生成管理
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 结果
+     */
+    @Override
+    public int insertPhyModelDataGen(PhyModelDataGen phyModelDataGen)
+    {
+        phyModelDataGen.setCreateTime(DateUtils.getNowDate());
+        return phyModelDataGenMapper.insertPhyModelDataGen(phyModelDataGen);
+    }
+
+    /**
+     * 修改物理模型数据生成管理
+     * 
+     * @param phyModelDataGen 物理模型数据生成管理
+     * @return 结果
+     */
+    @Override
+    public int updatePhyModelDataGen(PhyModelDataGen phyModelDataGen)
+    {
+        phyModelDataGen.setUpdateTime(DateUtils.getNowDate());
+        return phyModelDataGenMapper.updatePhyModelDataGen(phyModelDataGen);
+    }
+
+    /**
+     * 批量删除物理模型数据生成管理
+     * 
+     * @param ids 需要删除的物理模型数据生成管理主键
+     * @return 结果
+     */
+    @Override
+    public int deletePhyModelDataGenByIds(Long[] ids)
+    {
+        return phyModelDataGenMapper.deletePhyModelDataGenByIds(ids);
+    }
+
+    /**
+     * 删除物理模型数据生成管理信息
+     * 
+     * @param id 物理模型数据生成管理主键
+     * @return 结果
+     */
+    @Override
+    public int deletePhyModelDataGenById(Long id)
+    {
+        return phyModelDataGenMapper.deletePhyModelDataGenById(id);
+    }
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/PhyNoiseDataGenServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.PhyNoiseDataGenMapper;
+import com.cn.fdapfe.biz.domain.PhyNoiseDataGen;
+import com.cn.fdapfe.biz.service.IPhyNoiseDataGenService;
+
+/**
+ * 噪声数据生成管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class PhyNoiseDataGenServiceImpl implements IPhyNoiseDataGenService 
+{
+    @Autowired
+    private PhyNoiseDataGenMapper phyNoiseDataGenMapper;
+
+    /**
+     * 查询噪声数据生成管理
+     * 
+     * @param id 噪声数据生成管理主键
+     * @return 噪声数据生成管理
+     */
+    @Override
+    public PhyNoiseDataGen selectPhyNoiseDataGenById(Long id)
+    {
+        return phyNoiseDataGenMapper.selectPhyNoiseDataGenById(id);
+    }
+
+    /**
+     * 查询噪声数据生成管理列表
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 噪声数据生成管理
+     */
+    @Override
+    public List<PhyNoiseDataGen> selectPhyNoiseDataGenList(PhyNoiseDataGen phyNoiseDataGen)
+    {
+        return phyNoiseDataGenMapper.selectPhyNoiseDataGenList(phyNoiseDataGen);
+    }
+
+    /**
+     * 新增噪声数据生成管理
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 结果
+     */
+    @Override
+    public int insertPhyNoiseDataGen(PhyNoiseDataGen phyNoiseDataGen)
+    {
+        phyNoiseDataGen.setCreateTime(DateUtils.getNowDate());
+        return phyNoiseDataGenMapper.insertPhyNoiseDataGen(phyNoiseDataGen);
+    }
+
+    /**
+     * 修改噪声数据生成管理
+     * 
+     * @param phyNoiseDataGen 噪声数据生成管理
+     * @return 结果
+     */
+    @Override
+    public int updatePhyNoiseDataGen(PhyNoiseDataGen phyNoiseDataGen)
+    {
+        phyNoiseDataGen.setUpdateTime(DateUtils.getNowDate());
+        return phyNoiseDataGenMapper.updatePhyNoiseDataGen(phyNoiseDataGen);
+    }
+
+    /**
+     * 批量删除噪声数据生成管理
+     * 
+     * @param ids 需要删除的噪声数据生成管理主键
+     * @return 结果
+     */
+    @Override
+    public int deletePhyNoiseDataGenByIds(Long[] ids)
+    {
+        return phyNoiseDataGenMapper.deletePhyNoiseDataGenByIds(ids);
+    }
+
+    /**
+     * 删除噪声数据生成管理信息
+     * 
+     * @param id 噪声数据生成管理主键
+     * @return 结果
+     */
+    @Override
+    public int deletePhyNoiseDataGenById(Long id)
+    {
+        return phyNoiseDataGenMapper.deletePhyNoiseDataGenById(id);
+    }
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/TestDataGenServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.TestDataGenMapper;
+import com.cn.fdapfe.biz.domain.TestDataGen;
+import com.cn.fdapfe.biz.service.ITestDataGenService;
+
+/**
+ * 测试数据生成管理Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class TestDataGenServiceImpl implements ITestDataGenService 
+{
+    @Autowired
+    private TestDataGenMapper testDataGenMapper;
+
+    /**
+     * 查询测试数据生成管理
+     * 
+     * @param id 测试数据生成管理主键
+     * @return 测试数据生成管理
+     */
+    @Override
+    public TestDataGen selectTestDataGenById(Long id)
+    {
+        return testDataGenMapper.selectTestDataGenById(id);
+    }
+
+    /**
+     * 查询测试数据生成管理列表
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 测试数据生成管理
+     */
+    @Override
+    public List<TestDataGen> selectTestDataGenList(TestDataGen testDataGen)
+    {
+        return testDataGenMapper.selectTestDataGenList(testDataGen);
+    }
+
+    /**
+     * 新增测试数据生成管理
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 结果
+     */
+    @Override
+    public int insertTestDataGen(TestDataGen testDataGen)
+    {
+        testDataGen.setCreateTime(DateUtils.getNowDate());
+        return testDataGenMapper.insertTestDataGen(testDataGen);
+    }
+
+    /**
+     * 修改测试数据生成管理
+     * 
+     * @param testDataGen 测试数据生成管理
+     * @return 结果
+     */
+    @Override
+    public int updateTestDataGen(TestDataGen testDataGen)
+    {
+        testDataGen.setUpdateTime(DateUtils.getNowDate());
+        return testDataGenMapper.updateTestDataGen(testDataGen);
+    }
+
+    /**
+     * 批量删除测试数据生成管理
+     * 
+     * @param ids 需要删除的测试数据生成管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTestDataGenByIds(Long[] ids)
+    {
+        return testDataGenMapper.deleteTestDataGenByIds(ids);
+    }
+
+    /**
+     * 删除测试数据生成管理信息
+     * 
+     * @param id 测试数据生成管理主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTestDataGenById(Long id)
+    {
+        return testDataGenMapper.deleteTestDataGenById(id);
+    }
+}

+ 96 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/WorkflowNodeServiceImpl.java

@@ -0,0 +1,96 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.cn.fdapfe.biz.mapper.WorkflowNodeMapper;
+import com.cn.fdapfe.biz.domain.WorkflowNode;
+import com.cn.fdapfe.biz.service.IWorkflowNodeService;
+
+/**
+ * 流程节点Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class WorkflowNodeServiceImpl implements IWorkflowNodeService 
+{
+    @Autowired
+    private WorkflowNodeMapper workflowNodeMapper;
+
+    /**
+     * 查询流程节点
+     * 
+     * @param id 流程节点主键
+     * @return 流程节点
+     */
+    @Override
+    public WorkflowNode selectWorkflowNodeById(Long id)
+    {
+        return workflowNodeMapper.selectWorkflowNodeById(id);
+    }
+
+    /**
+     * 查询流程节点列表
+     * 
+     * @param workflowNode 流程节点
+     * @return 流程节点
+     */
+    @Override
+    public List<WorkflowNode> selectWorkflowNodeList(WorkflowNode workflowNode)
+    {
+        return workflowNodeMapper.selectWorkflowNodeList(workflowNode);
+    }
+
+    /**
+     * 新增流程节点
+     * 
+     * @param workflowNode 流程节点
+     * @return 结果
+     */
+    @Override
+    public int insertWorkflowNode(WorkflowNode workflowNode)
+    {
+        workflowNode.setCreateTime(DateUtils.getNowDate());
+        return workflowNodeMapper.insertWorkflowNode(workflowNode);
+    }
+
+    /**
+     * 修改流程节点
+     * 
+     * @param workflowNode 流程节点
+     * @return 结果
+     */
+    @Override
+    public int updateWorkflowNode(WorkflowNode workflowNode)
+    {
+        workflowNode.setUpdateTime(DateUtils.getNowDate());
+        return workflowNodeMapper.updateWorkflowNode(workflowNode);
+    }
+
+    /**
+     * 批量删除流程节点
+     * 
+     * @param ids 需要删除的流程节点主键
+     * @return 结果
+     */
+    @Override
+    public int deleteWorkflowNodeByIds(Long[] ids)
+    {
+        return workflowNodeMapper.deleteWorkflowNodeByIds(ids);
+    }
+
+    /**
+     * 删除流程节点信息
+     * 
+     * @param id 流程节点主键
+     * @return 结果
+     */
+    @Override
+    public int deleteWorkflowNodeById(Long id)
+    {
+        return workflowNodeMapper.deleteWorkflowNodeById(id);
+    }
+}

+ 134 - 0
fdapfe-admin/src/main/java/com/cn/fdapfe/biz/service/impl/WorkflowServiceImpl.java

@@ -0,0 +1,134 @@
+package com.cn.fdapfe.biz.service.impl;
+
+import java.util.List;
+import com.cn.fdapfe.common.utils.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import java.util.ArrayList;
+import com.cn.fdapfe.common.utils.StringUtils;
+import org.springframework.transaction.annotation.Transactional;
+import com.cn.fdapfe.biz.domain.WorkflowNode;
+import com.cn.fdapfe.biz.mapper.WorkflowMapper;
+import com.cn.fdapfe.biz.domain.Workflow;
+import com.cn.fdapfe.biz.service.IWorkflowService;
+
+/**
+ * 流程任务Service业务层处理
+ * 
+ * @author Allen
+ * @date 2025-03-07
+ */
+@Service
+public class WorkflowServiceImpl implements IWorkflowService 
+{
+    @Autowired
+    private WorkflowMapper workflowMapper;
+
+    /**
+     * 查询流程任务
+     * 
+     * @param id 流程任务主键
+     * @return 流程任务
+     */
+    @Override
+    public Workflow selectWorkflowById(Long id)
+    {
+        return workflowMapper.selectWorkflowById(id);
+    }
+
+    /**
+     * 查询流程任务列表
+     * 
+     * @param workflow 流程任务
+     * @return 流程任务
+     */
+    @Override
+    public List<Workflow> selectWorkflowList(Workflow workflow)
+    {
+        return workflowMapper.selectWorkflowList(workflow);
+    }
+
+    /**
+     * 新增流程任务
+     * 
+     * @param workflow 流程任务
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int insertWorkflow(Workflow workflow)
+    {
+        workflow.setCreateTime(DateUtils.getNowDate());
+        int rows = workflowMapper.insertWorkflow(workflow);
+        insertWorkflowNode(workflow);
+        return rows;
+    }
+
+    /**
+     * 修改流程任务
+     * 
+     * @param workflow 流程任务
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int updateWorkflow(Workflow workflow)
+    {
+        workflow.setUpdateTime(DateUtils.getNowDate());
+        workflowMapper.deleteWorkflowNodeByTaskId(workflow.getId());
+        insertWorkflowNode(workflow);
+        return workflowMapper.updateWorkflow(workflow);
+    }
+
+    /**
+     * 批量删除流程任务
+     * 
+     * @param ids 需要删除的流程任务主键
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int deleteWorkflowByIds(Long[] ids)
+    {
+        workflowMapper.deleteWorkflowNodeByTaskIds(ids);
+        return workflowMapper.deleteWorkflowByIds(ids);
+    }
+
+    /**
+     * 删除流程任务信息
+     * 
+     * @param id 流程任务主键
+     * @return 结果
+     */
+    @Transactional
+    @Override
+    public int deleteWorkflowById(Long id)
+    {
+        workflowMapper.deleteWorkflowNodeByTaskId(id);
+        return workflowMapper.deleteWorkflowById(id);
+    }
+
+    /**
+     * 新增流程节点信息
+     * 
+     * @param workflow 流程任务对象
+     */
+    public void insertWorkflowNode(Workflow workflow)
+    {
+        List<WorkflowNode> workflowNodeList = workflow.getWorkflowNodeList();
+        Long id = workflow.getId();
+        if (StringUtils.isNotNull(workflowNodeList))
+        {
+            List<WorkflowNode> list = new ArrayList<WorkflowNode>();
+            for (WorkflowNode workflowNode : workflowNodeList)
+            {
+                workflowNode.setTaskId(id);
+                list.add(workflowNode);
+            }
+            if (list.size() > 0)
+            {
+                workflowMapper.batchWorkflowNode(list);
+            }
+        }
+    }
+}

+ 85 - 0
fdapfe-admin/src/main/resources/mapper/data/DataMapper.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.cn.fdapfe.biz.mapper.DataMapper">
+    
+    <resultMap type="Data" id="DataResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="type"    column="type"    />
+        <result property="filePath"    column="file_path"    />
+        <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="selectDataVo">
+        select id, name, type, file_path, remark, create_by, create_time, update_by, update_time from biz_data
+    </sql>
+
+    <select id="selectDataList" parameterType="Data" resultMap="DataResult">
+        <include refid="selectDataVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="type != null  and type != ''"> and type = #{type}</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 biz_data
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="type != null">type,</if>
+            <if test="filePath != null">file_path,</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="name != null">#{name},</if>
+            <if test="type != null">#{type},</if>
+            <if test="filePath != null">#{filePath},</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="updateData" parameterType="Data">
+        update biz_data
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="filePath != null">file_path = #{filePath},</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="deleteDataById" parameterType="Long">
+        delete from biz_data where id = #{id}
+    </delete>
+
+    <delete id="deleteDataByIds" parameterType="String">
+        delete from biz_data where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 103 - 0
fdapfe-admin/src/main/resources/mapper/dataGen/PhyModelDataGenMapper.xml

@@ -0,0 +1,103 @@
+<?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.cn.fdapfe.biz.mapper.PhyModelDataGenMapper">
+    
+    <resultMap type="PhyModelDataGen" id="PhyModelDataGenResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="modelId"    column="model_id"    />
+        <result property="bizParams"    column="biz_params"    />
+        <result property="dataId"    column="data_id"    />
+        <result property="status"    column="status"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_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="selectPhyModelDataGenVo">
+        select id, name, model_id, biz_params, data_id, status, start_time, end_time, remark, create_by, create_time, update_by, update_time from biz_phy_model_data_gen
+    </sql>
+
+    <select id="selectPhyModelDataGenList" parameterType="PhyModelDataGen" resultMap="PhyModelDataGenResult">
+        <include refid="selectPhyModelDataGenVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectPhyModelDataGenById" parameterType="Long" resultMap="PhyModelDataGenResult">
+        <include refid="selectPhyModelDataGenVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertPhyModelDataGen" parameterType="PhyModelDataGen" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_phy_model_data_gen
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="modelId != null">model_id,</if>
+            <if test="bizParams != null">biz_params,</if>
+            <if test="dataId != null">data_id,</if>
+            <if test="status != null">status,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_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="name != null">#{name},</if>
+            <if test="modelId != null">#{modelId},</if>
+            <if test="bizParams != null">#{bizParams},</if>
+            <if test="dataId != null">#{dataId},</if>
+            <if test="status != null">#{status},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</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="updatePhyModelDataGen" parameterType="PhyModelDataGen">
+        update biz_phy_model_data_gen
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="modelId != null">model_id = #{modelId},</if>
+            <if test="bizParams != null">biz_params = #{bizParams},</if>
+            <if test="dataId != null">data_id = #{dataId},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</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="deletePhyModelDataGenById" parameterType="Long">
+        delete from biz_phy_model_data_gen where id = #{id}
+    </delete>
+
+    <delete id="deletePhyModelDataGenByIds" parameterType="String">
+        delete from biz_phy_model_data_gen where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 108 - 0
fdapfe-admin/src/main/resources/mapper/dataGen/PhyNoiseDataGenMapper.xml

@@ -0,0 +1,108 @@
+<?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.cn.fdapfe.biz.mapper.PhyNoiseDataGenMapper">
+    
+    <resultMap type="PhyNoiseDataGen" id="PhyNoiseDataGenResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="modelId"    column="model_id"    />
+        <result property="bizParams"    column="biz_params"    />
+        <result property="originalDataId"    column="original_data_id"    />
+        <result property="generatedDataId"    column="generated_data_id"    />
+        <result property="status"    column="status"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_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="selectPhyNoiseDataGenVo">
+        select id, name, model_id, biz_params, original_data_id, generated_data_id, status, start_time, end_time, remark, create_by, create_time, update_by, update_time from biz_phy_noise_data_gen
+    </sql>
+
+    <select id="selectPhyNoiseDataGenList" parameterType="PhyNoiseDataGen" resultMap="PhyNoiseDataGenResult">
+        <include refid="selectPhyNoiseDataGenVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="bizParams != null  and bizParams != ''"> and biz_params = #{bizParams}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectPhyNoiseDataGenById" parameterType="Long" resultMap="PhyNoiseDataGenResult">
+        <include refid="selectPhyNoiseDataGenVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertPhyNoiseDataGen" parameterType="PhyNoiseDataGen" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_phy_noise_data_gen
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="modelId != null">model_id,</if>
+            <if test="bizParams != null">biz_params,</if>
+            <if test="originalDataId != null">original_data_id,</if>
+            <if test="generatedDataId != null">generated_data_id,</if>
+            <if test="status != null">status,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_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="name != null">#{name},</if>
+            <if test="modelId != null">#{modelId},</if>
+            <if test="bizParams != null">#{bizParams},</if>
+            <if test="originalDataId != null">#{originalDataId},</if>
+            <if test="generatedDataId != null">#{generatedDataId},</if>
+            <if test="status != null">#{status},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</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="updatePhyNoiseDataGen" parameterType="PhyNoiseDataGen">
+        update biz_phy_noise_data_gen
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="modelId != null">model_id = #{modelId},</if>
+            <if test="bizParams != null">biz_params = #{bizParams},</if>
+            <if test="originalDataId != null">original_data_id = #{originalDataId},</if>
+            <if test="generatedDataId != null">generated_data_id = #{generatedDataId},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</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="deletePhyNoiseDataGenById" parameterType="Long">
+        delete from biz_phy_noise_data_gen where id = #{id}
+    </delete>
+
+    <delete id="deletePhyNoiseDataGenByIds" parameterType="String">
+        delete from biz_phy_noise_data_gen where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 108 - 0
fdapfe-admin/src/main/resources/mapper/dataGen/TestDataGenMapper.xml

@@ -0,0 +1,108 @@
+<?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.cn.fdapfe.biz.mapper.TestDataGenMapper">
+    
+    <resultMap type="TestDataGen" id="TestDataGenResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="modelId"    column="model_id"    />
+        <result property="bizParams"    column="biz_params"    />
+        <result property="originalDataIds"    column="original_data_ids"    />
+        <result property="generatedDataId"    column="generated_data_id"    />
+        <result property="status"    column="status"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_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="selectTestDataGenVo">
+        select id, name, model_id, biz_params, original_data_ids, generated_data_id, status, start_time, end_time, remark, create_by, create_time, update_by, update_time from biz_test_data_gen
+    </sql>
+
+    <select id="selectTestDataGenList" parameterType="TestDataGen" resultMap="TestDataGenResult">
+        <include refid="selectTestDataGenVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="bizParams != null  and bizParams != ''"> and biz_params = #{bizParams}</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectTestDataGenById" parameterType="Long" resultMap="TestDataGenResult">
+        <include refid="selectTestDataGenVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertTestDataGen" parameterType="TestDataGen" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_test_data_gen
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="modelId != null">model_id,</if>
+            <if test="bizParams != null">biz_params,</if>
+            <if test="originalDataIds != null">original_data_ids,</if>
+            <if test="generatedDataId != null">generated_data_id,</if>
+            <if test="status != null">status,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_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="name != null">#{name},</if>
+            <if test="modelId != null">#{modelId},</if>
+            <if test="bizParams != null">#{bizParams},</if>
+            <if test="originalDataIds != null">#{originalDataIds},</if>
+            <if test="generatedDataId != null">#{generatedDataId},</if>
+            <if test="status != null">#{status},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</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="updateTestDataGen" parameterType="TestDataGen">
+        update biz_test_data_gen
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="modelId != null">model_id = #{modelId},</if>
+            <if test="bizParams != null">biz_params = #{bizParams},</if>
+            <if test="originalDataIds != null">original_data_ids = #{originalDataIds},</if>
+            <if test="generatedDataId != null">generated_data_id = #{generatedDataId},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</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="deleteTestDataGenById" parameterType="Long">
+        delete from biz_test_data_gen where id = #{id}
+    </delete>
+
+    <delete id="deleteTestDataGenByIds" parameterType="String">
+        delete from biz_test_data_gen where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 81 - 0
fdapfe-admin/src/main/resources/mapper/eval/EvaluationIndicatorMapper.xml

@@ -0,0 +1,81 @@
+<?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.cn.fdapfe.biz.mapper.EvaluationIndicatorMapper">
+    
+    <resultMap type="EvaluationIndicator" id="EvaluationIndicatorResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="bizParams"    column="biz_params"    />
+        <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="selectEvaluationIndicatorVo">
+        select id, name, biz_params, remark, create_by, create_time, update_by, update_time from biz_evaluation_indicator
+    </sql>
+
+    <select id="selectEvaluationIndicatorList" parameterType="EvaluationIndicator" resultMap="EvaluationIndicatorResult">
+        <include refid="selectEvaluationIndicatorVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="remark != null  and remark != ''"> and remark = #{remark}</if>
+        </where>
+    </select>
+    
+    <select id="selectEvaluationIndicatorById" parameterType="Long" resultMap="EvaluationIndicatorResult">
+        <include refid="selectEvaluationIndicatorVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertEvaluationIndicator" parameterType="EvaluationIndicator" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_evaluation_indicator
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="bizParams != null">biz_params,</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="name != null">#{name},</if>
+            <if test="bizParams != null">#{bizParams},</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="updateEvaluationIndicator" parameterType="EvaluationIndicator">
+        update biz_evaluation_indicator
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="bizParams != null">biz_params = #{bizParams},</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="deleteEvaluationIndicatorById" parameterType="Long">
+        delete from biz_evaluation_indicator where id = #{id}
+    </delete>
+
+    <delete id="deleteEvaluationIndicatorByIds" parameterType="String">
+        delete from biz_evaluation_indicator where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 81 - 0
fdapfe-admin/src/main/resources/mapper/eval/FormulasMapper.xml

@@ -0,0 +1,81 @@
+<?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.cn.fdapfe.biz.mapper.FormulasMapper">
+    
+    <resultMap type="Formulas" id="FormulasResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="formulas"    column="formulas"    />
+        <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="selectFormulasVo">
+        select id, name, formulas, remark, create_by, create_time, update_by, update_time from biz_formulas
+    </sql>
+
+    <select id="selectFormulasList" parameterType="Formulas" resultMap="FormulasResult">
+        <include refid="selectFormulasVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="formulas != null  and formulas != ''"> and formulas = #{formulas}</if>
+        </where>
+    </select>
+    
+    <select id="selectFormulasById" parameterType="Long" resultMap="FormulasResult">
+        <include refid="selectFormulasVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertFormulas" parameterType="Formulas" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_formulas
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="formulas != null">formulas,</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="name != null">#{name},</if>
+            <if test="formulas != null">#{formulas},</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="updateFormulas" parameterType="Formulas">
+        update biz_formulas
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="formulas != null">formulas = #{formulas},</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="deleteFormulasById" parameterType="Long">
+        delete from biz_formulas where id = #{id}
+    </delete>
+
+    <delete id="deleteFormulasByIds" parameterType="String">
+        delete from biz_formulas where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 90 - 0
fdapfe-admin/src/main/resources/mapper/model/FaultDiagnosisModelMapper.xml

@@ -0,0 +1,90 @@
+<?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.cn.fdapfe.biz.mapper.FaultDiagnosisModelMapper">
+    
+    <resultMap type="FaultDiagnosisModel" id="FaultDiagnosisModelResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="type"    column="type"    />
+        <result property="path"    column="path"    />
+        <result property="bizParams"    column="biz_params"    />
+        <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="selectFaultDiagnosisModelVo">
+        select id, name, type, path, biz_params, remark, create_by, create_time, update_by, update_time from biz_fault_diagnosis_model
+    </sql>
+
+    <select id="selectFaultDiagnosisModelList" parameterType="FaultDiagnosisModel" resultMap="FaultDiagnosisModelResult">
+        <include refid="selectFaultDiagnosisModelVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+            <if test="path != null  and path != ''"> and path = #{path}</if>
+        </where>
+    </select>
+    
+    <select id="selectFaultDiagnosisModelById" parameterType="Long" resultMap="FaultDiagnosisModelResult">
+        <include refid="selectFaultDiagnosisModelVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertFaultDiagnosisModel" parameterType="FaultDiagnosisModel" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_fault_diagnosis_model
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="type != null">type,</if>
+            <if test="path != null">path,</if>
+            <if test="bizParams != null">biz_params,</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="name != null">#{name},</if>
+            <if test="type != null">#{type},</if>
+            <if test="path != null">#{path},</if>
+            <if test="bizParams != null">#{bizParams},</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="updateFaultDiagnosisModel" parameterType="FaultDiagnosisModel">
+        update biz_fault_diagnosis_model
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="path != null">path = #{path},</if>
+            <if test="bizParams != null">biz_params = #{bizParams},</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="deleteFaultDiagnosisModelById" parameterType="Long">
+        delete from biz_fault_diagnosis_model where id = #{id}
+    </delete>
+
+    <delete id="deleteFaultDiagnosisModelByIds" parameterType="String">
+        delete from biz_fault_diagnosis_model where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 91 - 0
fdapfe-admin/src/main/resources/mapper/model/FaultPhysicalModelMapper.xml

@@ -0,0 +1,91 @@
+<?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.cn.fdapfe.biz.mapper.FaultPhysicalModelMapper">
+    
+    <resultMap type="FaultPhysicalModel" id="FaultPhysicalModelResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="type"    column="type"    />
+        <result property="path"    column="path"    />
+        <result property="bizParams"    column="biz_params"    />
+        <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="selectFaultPhysicalModelVo">
+        select id, name, type, path, biz_params, remark, create_by, create_time, update_by, update_time from biz_fault_physical_model
+    </sql>
+
+    <select id="selectFaultPhysicalModelList" parameterType="FaultPhysicalModel" resultMap="FaultPhysicalModelResult">
+        <include refid="selectFaultPhysicalModelVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+            <if test="path != null  and path != ''"> and path = #{path}</if>
+            <if test="remark != null  and remark != ''"> and remark = #{remark}</if>
+        </where>
+    </select>
+    
+    <select id="selectFaultPhysicalModelById" parameterType="Long" resultMap="FaultPhysicalModelResult">
+        <include refid="selectFaultPhysicalModelVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertFaultPhysicalModel" parameterType="FaultPhysicalModel" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_fault_physical_model
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="type != null">type,</if>
+            <if test="path != null">path,</if>
+            <if test="bizParams != null">biz_params,</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="name != null">#{name},</if>
+            <if test="type != null">#{type},</if>
+            <if test="path != null">#{path},</if>
+            <if test="bizParams != null">#{bizParams},</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="updateFaultPhysicalModel" parameterType="FaultPhysicalModel">
+        update biz_fault_physical_model
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="path != null">path = #{path},</if>
+            <if test="bizParams != null">biz_params = #{bizParams},</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="deleteFaultPhysicalModelById" parameterType="Long">
+        delete from biz_fault_physical_model where id = #{id}
+    </delete>
+
+    <delete id="deleteFaultPhysicalModelByIds" parameterType="String">
+        delete from biz_fault_physical_model where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 104 - 0
fdapfe-admin/src/main/resources/mapper/test/FdAlgorithmMapper.xml

@@ -0,0 +1,104 @@
+<?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.cn.fdapfe.biz.mapper.FdAlgorithmMapper">
+    
+    <resultMap type="FdAlgorithm" id="FdAlgorithmResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="modelId"    column="model_id"    />
+        <result property="dataId"    column="data_id"    />
+        <result property="truthLabels"    column="truth_labels"    />
+        <result property="testLabels"    column="test_labels"    />
+        <result property="remark"    column="remark"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <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="selectFdAlgorithmVo">
+        select id, name, model_id, data_id, truth_labels, test_labels, remark, start_time, end_time, create_by, create_time, update_by, update_time from biz_fd_algorithm
+    </sql>
+
+    <select id="selectFdAlgorithmList" parameterType="FdAlgorithm" resultMap="FdAlgorithmResult">
+        <include refid="selectFdAlgorithmVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="truthLabels != null  and truthLabels != ''"> and truth_labels = #{truthLabels}</if>
+            <if test="testLabels != null  and testLabels != ''"> and test_labels = #{testLabels}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectFdAlgorithmById" parameterType="Long" resultMap="FdAlgorithmResult">
+        <include refid="selectFdAlgorithmVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertFdAlgorithm" parameterType="FdAlgorithm" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_fd_algorithm
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="modelId != null">model_id,</if>
+            <if test="dataId != null">data_id,</if>
+            <if test="truthLabels != null">truth_labels,</if>
+            <if test="testLabels != null">test_labels,</if>
+            <if test="remark != null">remark,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</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="name != null">#{name},</if>
+            <if test="modelId != null">#{modelId},</if>
+            <if test="dataId != null">#{dataId},</if>
+            <if test="truthLabels != null">#{truthLabels},</if>
+            <if test="testLabels != null">#{testLabels},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</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="updateFdAlgorithm" parameterType="FdAlgorithm">
+        update biz_fd_algorithm
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="modelId != null">model_id = #{modelId},</if>
+            <if test="dataId != null">data_id = #{dataId},</if>
+            <if test="truthLabels != null">truth_labels = #{truthLabels},</if>
+            <if test="testLabels != null">test_labels = #{testLabels},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</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="deleteFdAlgorithmById" parameterType="Long">
+        delete from biz_fd_algorithm where id = #{id}
+    </delete>
+
+    <delete id="deleteFdAlgorithmByIds" parameterType="String">
+        delete from biz_fd_algorithm where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 115 - 0
fdapfe-admin/src/main/resources/mapper/test/PerformanceEvaluationMapper.xml

@@ -0,0 +1,115 @@
+<?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.cn.fdapfe.biz.mapper.PerformanceEvaluationMapper">
+    
+    <resultMap type="PerformanceEvaluation" id="PerformanceEvaluationResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="type"    column="type"    />
+        <result property="valuationIndicatorId"    column="valuation_indicator_id"    />
+        <result property="fdAlgorithmId"    column="fd_algorithm_id"    />
+        <result property="dataId"    column="data_id"    />
+        <result property="bizParams"    column="biz_params"    />
+        <result property="resultFilePath"    column="result_file_path"    />
+        <result property="resultText"    column="result_text"    />
+        <result property="remark"    column="remark"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <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="selectPerformanceEvaluationVo">
+        select id, name, type, valuation_indicator_id, fd_algorithm_id, data_id, biz_params, result_file_path, result_text, remark, start_time, end_time, create_by, create_time, update_by, update_time from biz_performance_evaluation
+    </sql>
+
+    <select id="selectPerformanceEvaluationList" parameterType="PerformanceEvaluation" resultMap="PerformanceEvaluationResult">
+        <include refid="selectPerformanceEvaluationVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectPerformanceEvaluationById" parameterType="Long" resultMap="PerformanceEvaluationResult">
+        <include refid="selectPerformanceEvaluationVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertPerformanceEvaluation" parameterType="PerformanceEvaluation" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_performance_evaluation
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="type != null">type,</if>
+            <if test="valuationIndicatorId != null">valuation_indicator_id,</if>
+            <if test="fdAlgorithmId != null">fd_algorithm_id,</if>
+            <if test="dataId != null">data_id,</if>
+            <if test="bizParams != null">biz_params,</if>
+            <if test="resultFilePath != null">result_file_path,</if>
+            <if test="resultText != null">result_text,</if>
+            <if test="remark != null">remark,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</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="name != null">#{name},</if>
+            <if test="type != null">#{type},</if>
+            <if test="valuationIndicatorId != null">#{valuationIndicatorId},</if>
+            <if test="fdAlgorithmId != null">#{fdAlgorithmId},</if>
+            <if test="dataId != null">#{dataId},</if>
+            <if test="bizParams != null">#{bizParams},</if>
+            <if test="resultFilePath != null">#{resultFilePath},</if>
+            <if test="resultText != null">#{resultText},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</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="updatePerformanceEvaluation" parameterType="PerformanceEvaluation">
+        update biz_performance_evaluation
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="valuationIndicatorId != null">valuation_indicator_id = #{valuationIndicatorId},</if>
+            <if test="fdAlgorithmId != null">fd_algorithm_id = #{fdAlgorithmId},</if>
+            <if test="dataId != null">data_id = #{dataId},</if>
+            <if test="bizParams != null">biz_params = #{bizParams},</if>
+            <if test="resultFilePath != null">result_file_path = #{resultFilePath},</if>
+            <if test="resultText != null">result_text = #{resultText},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</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="deletePerformanceEvaluationById" parameterType="Long">
+        delete from biz_performance_evaluation where id = #{id}
+    </delete>
+
+    <delete id="deletePerformanceEvaluationByIds" parameterType="String">
+        delete from biz_performance_evaluation where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 135 - 0
fdapfe-admin/src/main/resources/mapper/workflow/WorkflowMapper.xml

@@ -0,0 +1,135 @@
+<?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.cn.fdapfe.biz.mapper.WorkflowMapper">
+    
+    <resultMap type="Workflow" id="WorkflowResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="status"    column="status"    />
+        <result property="remark"    column="remark"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <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>
+
+    <resultMap id="WorkflowWorkflowNodeResult" type="Workflow" extends="WorkflowResult">
+        <collection property="workflowNodeList" ofType="WorkflowNode" column="id" select="selectWorkflowNodeList" />
+    </resultMap>
+
+    <resultMap type="WorkflowNode" id="WorkflowNodeResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="type"    column="type"    />
+        <result property="subType"    column="sub_type"    />
+        <result property="taskId"    column="task_id"    />
+        <result property="remark"    column="remark"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <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="selectWorkflowVo">
+        select id, name, status, remark, start_time, end_time, create_by, create_time, update_by, update_time from biz_workflow
+    </sql>
+
+    <select id="selectWorkflowList" parameterType="Workflow" resultMap="WorkflowResult">
+        <include refid="selectWorkflowVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="status != null  and status != ''"> and status = #{status}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectWorkflowById" parameterType="Long" resultMap="WorkflowWorkflowNodeResult">
+        select id, name, status, remark, start_time, end_time, create_by, create_time, update_by, update_time
+        from biz_workflow
+        where id = #{id}
+    </select>
+
+    <select id="selectWorkflowNodeList" resultMap="WorkflowNodeResult">
+        select id, name, type, sub_type, task_id, remark, start_time, end_time, create_by, create_time, update_by, update_time
+        from biz_workflow_node
+        where task_id = #{task_id}
+    </select>
+
+    <insert id="insertWorkflow" parameterType="Workflow" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_workflow
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="status != null">status,</if>
+            <if test="remark != null">remark,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</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="name != null">#{name},</if>
+            <if test="status != null">#{status},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</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="updateWorkflow" parameterType="Workflow">
+        update biz_workflow
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</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="deleteWorkflowById" parameterType="Long">
+        delete from biz_workflow where id = #{id}
+    </delete>
+
+    <delete id="deleteWorkflowByIds" parameterType="String">
+        delete from biz_workflow where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+    
+    <delete id="deleteWorkflowNodeByTaskIds" parameterType="String">
+        delete from biz_workflow_node where task_id in 
+        <foreach item="taskId" collection="array" open="(" separator="," close=")">
+            #{taskId}
+        </foreach>
+    </delete>
+
+    <delete id="deleteWorkflowNodeByTaskId" parameterType="Long">
+        delete from biz_workflow_node where task_id = #{taskId}
+    </delete>
+
+    <insert id="batchWorkflowNode">
+        insert into biz_workflow_node( id, name, type, sub_type, task_id, remark, start_time, end_time, create_by, create_time, update_by, update_time) values
+        <foreach item="item" index="index" collection="list" separator=",">
+            ( #{item.id}, #{item.name}, #{item.type}, #{item.subType}, #{item.taskId}, #{item.remark}, #{item.startTime}, #{item.endTime}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime})
+        </foreach>
+    </insert>
+</mapper>

+ 101 - 0
fdapfe-admin/src/main/resources/mapper/workflow/WorkflowNodeMapper.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.cn.fdapfe.biz.mapper.WorkflowNodeMapper">
+    
+    <resultMap type="WorkflowNode" id="WorkflowNodeResult">
+        <result property="id"    column="id"    />
+        <result property="name"    column="name"    />
+        <result property="type"    column="type"    />
+        <result property="subType"    column="sub_type"    />
+        <result property="taskId"    column="task_id"    />
+        <result property="remark"    column="remark"    />
+        <result property="startTime"    column="start_time"    />
+        <result property="endTime"    column="end_time"    />
+        <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="selectWorkflowNodeVo">
+        select id, name, type, sub_type, task_id, remark, start_time, end_time, create_by, create_time, update_by, update_time from biz_workflow_node
+    </sql>
+
+    <select id="selectWorkflowNodeList" parameterType="WorkflowNode" resultMap="WorkflowNodeResult">
+        <include refid="selectWorkflowNodeVo"/>
+        <where>  
+            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
+            <if test="type != null  and type != ''"> and type = #{type}</if>
+            <if test="subType != null  and subType != ''"> and sub_type = #{subType}</if>
+            <if test="taskId != null "> and task_id = #{taskId}</if>
+            <if test="startTime != null "> and start_time = #{startTime}</if>
+            <if test="endTime != null "> and end_time = #{endTime}</if>
+        </where>
+    </select>
+    
+    <select id="selectWorkflowNodeById" parameterType="Long" resultMap="WorkflowNodeResult">
+        <include refid="selectWorkflowNodeVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertWorkflowNode" parameterType="WorkflowNode" useGeneratedKeys="true" keyProperty="id">
+        insert into biz_workflow_node
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="name != null">name,</if>
+            <if test="type != null">type,</if>
+            <if test="subType != null">sub_type,</if>
+            <if test="taskId != null">task_id,</if>
+            <if test="remark != null">remark,</if>
+            <if test="startTime != null">start_time,</if>
+            <if test="endTime != null">end_time,</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="name != null">#{name},</if>
+            <if test="type != null">#{type},</if>
+            <if test="subType != null">#{subType},</if>
+            <if test="taskId != null">#{taskId},</if>
+            <if test="remark != null">#{remark},</if>
+            <if test="startTime != null">#{startTime},</if>
+            <if test="endTime != null">#{endTime},</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="updateWorkflowNode" parameterType="WorkflowNode">
+        update biz_workflow_node
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="name != null">name = #{name},</if>
+            <if test="type != null">type = #{type},</if>
+            <if test="subType != null">sub_type = #{subType},</if>
+            <if test="taskId != null">task_id = #{taskId},</if>
+            <if test="remark != null">remark = #{remark},</if>
+            <if test="startTime != null">start_time = #{startTime},</if>
+            <if test="endTime != null">end_time = #{endTime},</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="deleteWorkflowNodeById" parameterType="Long">
+        delete from biz_workflow_node where id = #{id}
+    </delete>
+
+    <delete id="deleteWorkflowNodeByIds" parameterType="String">
+        delete from biz_workflow_node where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>

+ 1 - 1
fdapfe-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" width="500px" :close-on-click-modal="false" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
 #foreach($column in $columns)
 #set($field=$column.javaField)

+ 2 - 0
fdapfe-ui/package.json

@@ -48,8 +48,10 @@
     "js-beautify": "1.13.0",
     "js-cookie": "3.0.1",
     "jsencrypt": "3.0.0-rc.1",
+    "mathjax": "^3.2.2",
     "nprogress": "0.2.0",
     "quill": "2.0.2",
+    "ruoyi": "file:",
     "screenfull": "5.0.2",
     "sortablejs": "1.10.2",
     "splitpanes": "2.4.1",

+ 44 - 0
fdapfe-ui/src/api/data/data.js

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

+ 44 - 0
fdapfe-ui/src/api/dataGen/phyModel.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询物理模型数据生成管理列表
+export function listPhyModel(query) {
+  return request({
+    url: '/dataGen/phyModel/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询物理模型数据生成管理详细
+export function getPhyModel(id) {
+  return request({
+    url: '/dataGen/phyModel/' + id,
+    method: 'get'
+  })
+}
+
+// 新增物理模型数据生成管理
+export function addPhyModel(data) {
+  return request({
+    url: '/dataGen/phyModel',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改物理模型数据生成管理
+export function updatePhyModel(data) {
+  return request({
+    url: '/dataGen/phyModel',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除物理模型数据生成管理
+export function delPhyModel(id) {
+  return request({
+    url: '/dataGen/phyModel/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
fdapfe-ui/src/api/dataGen/phyNoise.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询噪声数据生成管理列表
+export function listPhyNoise(query) {
+  return request({
+    url: '/dataGen/phyNoise/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询噪声数据生成管理详细
+export function getPhyNoise(id) {
+  return request({
+    url: '/dataGen/phyNoise/' + id,
+    method: 'get'
+  })
+}
+
+// 新增噪声数据生成管理
+export function addPhyNoise(data) {
+  return request({
+    url: '/dataGen/phyNoise',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改噪声数据生成管理
+export function updatePhyNoise(data) {
+  return request({
+    url: '/dataGen/phyNoise',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除噪声数据生成管理
+export function delPhyNoise(id) {
+  return request({
+    url: '/dataGen/phyNoise/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
fdapfe-ui/src/api/dataGen/test.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询测试数据生成管理列表
+export function listTest(query) {
+  return request({
+    url: '/dataGen/test/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询测试数据生成管理详细
+export function getTest(id) {
+  return request({
+    url: '/dataGen/test/' + id,
+    method: 'get'
+  })
+}
+
+// 新增测试数据生成管理
+export function addTest(data) {
+  return request({
+    url: '/dataGen/test',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改测试数据生成管理
+export function updateTest(data) {
+  return request({
+    url: '/dataGen/test',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除测试数据生成管理
+export function delTest(id) {
+  return request({
+    url: '/dataGen/test/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
fdapfe-ui/src/api/eval/formulas.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询公式管理管理列表
+export function listFormulas(query) {
+  return request({
+    url: '/eval/formulas/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询公式管理管理详细
+export function getFormulas(id) {
+  return request({
+    url: '/eval/formulas/' + id,
+    method: 'get'
+  })
+}
+
+// 新增公式管理管理
+export function addFormulas(data) {
+  return request({
+    url: '/eval/formulas',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改公式管理管理
+export function updateFormulas(data) {
+  return request({
+    url: '/eval/formulas',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除公式管理管理
+export function delFormulas(id) {
+  return request({
+    url: '/eval/formulas/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
fdapfe-ui/src/api/eval/indicator.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询评估指标体系管理列表
+export function listIndicator(query) {
+  return request({
+    url: '/eval/indicator/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询评估指标体系管理详细
+export function getIndicator(id) {
+  return request({
+    url: '/eval/indicator/' + id,
+    method: 'get'
+  })
+}
+
+// 新增评估指标体系管理
+export function addIndicator(data) {
+  return request({
+    url: '/eval/indicator',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改评估指标体系管理
+export function updateIndicator(data) {
+  return request({
+    url: '/eval/indicator',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除评估指标体系管理
+export function delIndicator(id) {
+  return request({
+    url: '/eval/indicator/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
fdapfe-ui/src/api/model/faultDiagnosis.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询故障诊断算法模型管理列表
+export function listFaultDiagnosis(query) {
+  return request({
+    url: '/model/faultDiagnosis/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询故障诊断算法模型管理详细
+export function getFaultDiagnosis(id) {
+  return request({
+    url: '/model/faultDiagnosis/' + id,
+    method: 'get'
+  })
+}
+
+// 新增故障诊断算法模型管理
+export function addFaultDiagnosis(data) {
+  return request({
+    url: '/model/faultDiagnosis',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改故障诊断算法模型管理
+export function updateFaultDiagnosis(data) {
+  return request({
+    url: '/model/faultDiagnosis',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除故障诊断算法模型管理
+export function delFaultDiagnosis(id) {
+  return request({
+    url: '/model/faultDiagnosis/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
fdapfe-ui/src/api/model/faultPhysical.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询故障物理模型管理列表
+export function listFaultPhysical(query) {
+  return request({
+    url: '/model/faultPhysical/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询故障物理模型管理详细
+export function getFaultPhysical(id) {
+  return request({
+    url: '/model/faultPhysical/' + id,
+    method: 'get'
+  })
+}
+
+// 新增故障物理模型管理
+export function addFaultPhysical(data) {
+  return request({
+    url: '/model/faultPhysical',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改故障物理模型管理
+export function updateFaultPhysical(data) {
+  return request({
+    url: '/model/faultPhysical',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除故障物理模型管理
+export function delFaultPhysical(id) {
+  return request({
+    url: '/model/faultPhysical/' + id,
+    method: 'delete'
+  })
+}

+ 52 - 0
fdapfe-ui/src/api/test/ddAlgorithm.js

@@ -0,0 +1,52 @@
+import request from "@/utils/request";
+
+// 查询故障诊断算法功能验证列表
+export function listDdAlgorithm(query) {
+  return request({
+    url: "/test/ddAlgorithm/list",
+    method: "get",
+    params: query,
+  });
+}
+
+// 查询故障诊断算法功能验证详细
+export function getDdAlgorithm(id) {
+  return request({
+    url: "/test/ddAlgorithm/" + id,
+    method: "get",
+  });
+}
+
+// 新增故障诊断算法功能验证
+export function addDdAlgorithm(data) {
+  return request({
+    url: "/test/ddAlgorithm",
+    method: "post",
+    data: data,
+  });
+}
+
+// 修改故障诊断算法功能验证
+export function updateDdAlgorithm(data) {
+  return request({
+    url: "/test/ddAlgorithm",
+    method: "put",
+    data: data,
+  });
+}
+
+// 删除故障诊断算法功能验证
+export function delDdAlgorithm(id) {
+  return request({
+    url: "/test/ddAlgorithm/" + id,
+    method: "delete",
+  });
+}
+
+// 验证
+export function verify(id) {
+  return request({
+    url: "/test/ddAlgorithm/handleVerify/" + id,
+    method: "put",
+  });
+}

+ 44 - 0
fdapfe-ui/src/api/test/perf.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询算法性能评估列表
+export function listPerf(query) {
+  return request({
+    url: '/test/perf/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询算法性能评估详细
+export function getPerf(id) {
+  return request({
+    url: '/test/perf/' + id,
+    method: 'get'
+  })
+}
+
+// 新增算法性能评估
+export function addPerf(data) {
+  return request({
+    url: '/test/perf',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改算法性能评估
+export function updatePerf(data) {
+  return request({
+    url: '/test/perf',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除算法性能评估
+export function delPerf(id) {
+  return request({
+    url: '/test/perf/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
fdapfe-ui/src/api/workflow/node.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询流程节点列表
+export function listNode(query) {
+  return request({
+    url: '/workflow/node/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询流程节点详细
+export function getNode(id) {
+  return request({
+    url: '/workflow/node/' + id,
+    method: 'get'
+  })
+}
+
+// 新增流程节点
+export function addNode(data) {
+  return request({
+    url: '/workflow/node',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改流程节点
+export function updateNode(data) {
+  return request({
+    url: '/workflow/node',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除流程节点
+export function delNode(id) {
+  return request({
+    url: '/workflow/node/' + id,
+    method: 'delete'
+  })
+}

+ 44 - 0
fdapfe-ui/src/api/workflow/workflow.js

@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询流程任务列表
+export function listWorkflow(query) {
+  return request({
+    url: '/workflow/workflow/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询流程任务详细
+export function getWorkflow(id) {
+  return request({
+    url: '/workflow/workflow/' + id,
+    method: 'get'
+  })
+}
+
+// 新增流程任务
+export function addWorkflow(data) {
+  return request({
+    url: '/workflow/workflow',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改流程任务
+export function updateWorkflow(data) {
+  return request({
+    url: '/workflow/workflow',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除流程任务
+export function delWorkflow(id) {
+  return request({
+    url: '/workflow/workflow/' + id,
+    method: 'delete'
+  })
+}

+ 59 - 58
fdapfe-ui/src/layout/components/Navbar.vue

@@ -1,33 +1,36 @@
 <template>
   <div class="navbar">
-    <hamburger id="hamburger-container" :is-active="sidebar.opened" class="hamburger-container" @toggleClick="toggleSideBar" />
-
-    <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
-    <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
+    <hamburger
+      id="hamburger-container"
+      :is-active="sidebar.opened"
+      class="hamburger-container"
+      @toggleClick="toggleSideBar"
+    />
+
+    <breadcrumb
+      id="breadcrumb-container"
+      class="breadcrumb-container"
+      v-if="!topNav"
+    />
+    <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav" />
 
     <div class="right-menu">
-      <template v-if="device!=='mobile'">
+      <template v-if="device !== 'mobile'">
         <search id="header-search" class="right-menu-item" />
 
-        <el-tooltip content="源码地址" effect="dark" placement="bottom">
-          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
-        </el-tooltip>
-
-        <el-tooltip content="文档地址" effect="dark" placement="bottom">
-          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
-        </el-tooltip>
-
         <screenfull id="screenfull" class="right-menu-item hover-effect" />
 
         <el-tooltip content="布局大小" effect="dark" placement="bottom">
           <size-select id="size-select" class="right-menu-item hover-effect" />
         </el-tooltip>
-
       </template>
 
-      <el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
+      <el-dropdown
+        class="avatar-container right-menu-item hover-effect"
+        trigger="click"
+      >
         <div class="avatar-wrapper">
-          <img :src="avatar" class="user-avatar">
+          <img :src="avatar" class="user-avatar" />
           <i class="el-icon-caret-bottom" />
         </div>
         <el-dropdown-menu slot="dropdown">
@@ -47,15 +50,15 @@
 </template>
 
 <script>
-import { mapGetters } from 'vuex'
-import Breadcrumb from '@/components/Breadcrumb'
-import TopNav from '@/components/TopNav'
-import Hamburger from '@/components/Hamburger'
-import Screenfull from '@/components/Screenfull'
-import SizeSelect from '@/components/SizeSelect'
-import Search from '@/components/HeaderSearch'
-import RuoYiGit from '@/components/RuoYi/Git'
-import RuoYiDoc from '@/components/RuoYi/Doc'
+import { mapGetters } from "vuex";
+import Breadcrumb from "@/components/Breadcrumb";
+import TopNav from "@/components/TopNav";
+import Hamburger from "@/components/Hamburger";
+import Screenfull from "@/components/Screenfull";
+import SizeSelect from "@/components/SizeSelect";
+import Search from "@/components/HeaderSearch";
+import RuoYiGit from "@/components/RuoYi/Git";
+import RuoYiDoc from "@/components/RuoYi/Doc";
 
 export default {
   components: {
@@ -66,48 +69,46 @@ export default {
     SizeSelect,
     Search,
     RuoYiGit,
-    RuoYiDoc
+    RuoYiDoc,
   },
   computed: {
-    ...mapGetters([
-      'sidebar',
-      'avatar',
-      'device'
-    ]),
+    ...mapGetters(["sidebar", "avatar", "device"]),
     setting: {
       get() {
-        return this.$store.state.settings.showSettings
+        return this.$store.state.settings.showSettings;
       },
       set(val) {
-        this.$store.dispatch('settings/changeSetting', {
-          key: 'showSettings',
-          value: val
-        })
-      }
+        this.$store.dispatch("settings/changeSetting", {
+          key: "showSettings",
+          value: val,
+        });
+      },
     },
     topNav: {
       get() {
-        return this.$store.state.settings.topNav
-      }
-    }
+        return this.$store.state.settings.topNav;
+      },
+    },
   },
   methods: {
     toggleSideBar() {
-      this.$store.dispatch('app/toggleSideBar')
+      this.$store.dispatch("app/toggleSideBar");
     },
     async logout() {
-      this.$confirm('确定注销并退出系统吗?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        this.$store.dispatch('LogOut').then(() => {
-          location.href = '/index';
+      this.$confirm("确定注销并退出系统吗?", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        type: "warning",
+      })
+        .then(() => {
+          this.$store.dispatch("LogOut").then(() => {
+            location.href = "/index";
+          });
         })
-      }).catch(() => {});
-    }
-  }
-}
+        .catch(() => {});
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
@@ -116,18 +117,18 @@ export default {
   overflow: hidden;
   position: relative;
   background: #fff;
-  box-shadow: 0 1px 4px rgba(0,21,41,.08);
+  box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
 
   .hamburger-container {
     line-height: 46px;
     height: 100%;
     float: left;
     cursor: pointer;
-    transition: background .3s;
-    -webkit-tap-highlight-color:transparent;
+    transition: background 0.3s;
+    -webkit-tap-highlight-color: transparent;
 
     &:hover {
-      background: rgba(0, 0, 0, .025)
+      background: rgba(0, 0, 0, 0.025);
     }
   }
 
@@ -164,10 +165,10 @@ export default {
 
       &.hover-effect {
         cursor: pointer;
-        transition: background .3s;
+        transition: background 0.3s;
 
         &:hover {
-          background: rgba(0, 0, 0, .025)
+          background: rgba(0, 0, 0, 0.025);
         }
       }
     }

+ 287 - 0
fdapfe-ui/src/views/data/data/index.vue

@@ -0,0 +1,287 @@
+<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="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入数据名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="数据类型" prop="type">
+        <el-select v-model="queryParams.type" placeholder="请选择数据类型" clearable>
+          <el-option
+            v-for="dict in dict.type.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="['data: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="['data: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="['data: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="['data: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="name" />
+      <el-table-column label="数据类型" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.data_type" :value="scope.row.type"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="文件路径" align="center" prop="filePath" />
+      <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="['data:data:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['data: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" :close-on-click-modal="false" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="数据名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入数据名称" />
+        </el-form-item>
+        <el-form-item label="数据类型" prop="type">
+          <el-select v-model="form.type" placeholder="请选择数据类型">
+            <el-option
+              v-for="dict in dict.type.data_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="文件路径" prop="filePath">
+          <el-input v-model="form.filePath" 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 { listData, getData, delData, addData, updateData } from "@/api/data/data";
+
+export default {
+  name: "Data",
+  dicts: ['data_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 数据管理表格数据
+      dataList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        type: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  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,
+        name: null,
+        type: null,
+        filePath: 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
+      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('data/data/export', {
+        ...this.queryParams
+      }, `data_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 318 - 0
fdapfe-ui/src/views/dataGen/phyModel/index.vue

@@ -0,0 +1,318 @@
+<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="name">
+        <el-input
+          v-model="queryParams.name"
+          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>
+        <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="['dataGen:phyModel: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="['dataGen:phyModel: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="['dataGen:phyModel: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="['dataGen:phyModel:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="phyModelList" @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="name" />
+      <el-table-column label="数据生成模型" align="center" prop="modelId" />
+      <el-table-column label="参数" align="center" prop="bizParams" />
+      <el-table-column label="数据id" align="center" prop="dataId" />
+      <el-table-column label="状态" align="center" prop="status" />
+      <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="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="['dataGen:phyModel:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['dataGen:phyModel: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" :close-on-click-modal="false" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="数据生成名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入数据生成名称" />
+        </el-form-item>
+        <el-form-item label="数据生成模型" prop="modelId">
+          <el-input v-model="form.modelId" placeholder="请输入数据生成模型" />
+        </el-form-item>
+        <el-form-item label="参数" prop="bizParams">
+          <el-input v-model="form.bizParams" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="数据id" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请输入数据id" />
+        </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="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 { listPhyModel, getPhyModel, delPhyModel, addPhyModel, updatePhyModel } from "@/api/dataGen/phyModel";
+
+export default {
+  name: "PhyModel",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 物理模型数据生成管理表格数据
+      phyModelList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        status: null,
+        startTime: null,
+        endTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询物理模型数据生成管理列表 */
+    getList() {
+      this.loading = true;
+      listPhyModel(this.queryParams).then(response => {
+        this.phyModelList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        modelId: null,
+        bizParams: null,
+        dataId: null,
+        status: null,
+        startTime: null,
+        endTime: 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
+      getPhyModel(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) {
+            updatePhyModel(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPhyModel(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 delPhyModel(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('dataGen/phyModel/export', {
+        ...this.queryParams
+      }, `phyModel_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 348 - 0
fdapfe-ui/src/views/dataGen/phyNoise/index.vue

@@ -0,0 +1,348 @@
+<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="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入数据生成名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
+          <el-option
+            v-for="dict in dict.type.sys_job_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="['dataGen:phyNoise: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="['dataGen:phyNoise: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="['dataGen:phyNoise: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="['dataGen:phyNoise:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="phyNoiseList" @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="name" />
+      <el-table-column label="数据生成模型" align="center" prop="modelId" />
+      <el-table-column label="参数" align="center" prop="bizParams" />
+      <el-table-column label="原始数据id" align="center" prop="originalDataId" />
+      <el-table-column label="生成后数据id" align="center" prop="generatedDataId" />
+      <el-table-column label="状态" align="center" prop="status">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.sys_job_status" :value="scope.row.status"/>
+        </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="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="['dataGen:phyNoise:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['dataGen:phyNoise: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" :close-on-click-modal="false" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="数据生成名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入数据生成名称" />
+        </el-form-item>
+        <el-form-item label="数据生成模型" prop="modelId">
+          <el-input v-model="form.modelId" placeholder="请输入数据生成模型" />
+        </el-form-item>
+        <el-form-item label="参数" prop="bizParams">
+          <el-input v-model="form.bizParams" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="原始数据id" prop="originalDataId">
+          <el-input v-model="form.originalDataId" placeholder="请输入原始数据id" />
+        </el-form-item>
+        <el-form-item label="生成后数据id" prop="generatedDataId">
+          <el-input v-model="form.generatedDataId" placeholder="请输入生成后数据id" />
+        </el-form-item>
+        <el-form-item label="状态" prop="status">
+          <el-radio-group v-model="form.status">
+            <el-radio
+              v-for="dict in dict.type.sys_job_status"
+              :key="dict.value"
+              :label="dict.value"
+            >{{dict.label}}</el-radio>
+          </el-radio-group>
+        </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="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 { listPhyNoise, getPhyNoise, delPhyNoise, addPhyNoise, updatePhyNoise } from "@/api/dataGen/phyNoise";
+
+export default {
+  name: "PhyNoise",
+  dicts: ['sys_job_status'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 噪声数据生成管理表格数据
+      phyNoiseList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        bizParams: null,
+        status: null,
+        startTime: null,
+        endTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询噪声数据生成管理列表 */
+    getList() {
+      this.loading = true;
+      listPhyNoise(this.queryParams).then(response => {
+        this.phyNoiseList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        modelId: null,
+        bizParams: null,
+        originalDataId: null,
+        generatedDataId: null,
+        status: null,
+        startTime: null,
+        endTime: 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
+      getPhyNoise(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) {
+            updatePhyNoise(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPhyNoise(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 delPhyNoise(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('dataGen/phyNoise/export', {
+        ...this.queryParams
+      }, `phyNoise_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 415 - 0
fdapfe-ui/src/views/dataGen/test/index.vue

@@ -0,0 +1,415 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="80px"
+    >
+      <el-form-item label="数据生成名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          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>
+        <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="['dataGen:test: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="['dataGen:test: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="['dataGen:test: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="['dataGen:test:export']"
+          >导出</el-button
+        >
+      </el-col>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="testList"
+      @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="name" />
+      <el-table-column label="数据生成模型" align="center" prop="modelId" />
+      <el-table-column label="参数" align="center" prop="bizParams" />
+      <el-table-column
+        label="原始数据ids"
+        align="center"
+        prop="originalDataIds"
+      />
+      <el-table-column
+        label="生成后数据id"
+        align="center"
+        prop="generatedDataId"
+      />
+      <el-table-column label="状态" align="center" prop="status" />
+      <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="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="['dataGen:test:edit']"
+            >修改</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['dataGen:test: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"
+      :close-on-click-modal="false"
+      append-to-body
+    >
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="数据生成名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入数据生成名称" />
+        </el-form-item>
+        <el-form-item label="数据生成模型" prop="modelId">
+          <el-input v-model="form.modelId" placeholder="请输入数据生成模型" />
+        </el-form-item>
+        <el-form-item label="参数" prop="bizParams">
+          <el-input
+            v-model="form.bizParams"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <el-form-item label="原始数据ids" prop="originalDataIds">
+          <el-input
+            v-model="form.originalDataIds"
+            placeholder="请输入原始数据ids"
+          />
+        </el-form-item>
+        <el-form-item label="生成后数据id" prop="generatedDataId">
+          <el-input
+            v-model="form.generatedDataId"
+            placeholder="请输入生成后数据id"
+          />
+        </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="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 {
+  listTest,
+  getTest,
+  delTest,
+  addTest,
+  updateTest,
+} from "@/api/dataGen/test";
+
+export default {
+  name: "Test",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 测试数据生成管理表格数据
+      testList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        bizParams: null,
+        status: null,
+        startTime: null,
+        endTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {},
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询测试数据生成管理列表 */
+    getList() {
+      this.loading = true;
+      listTest(this.queryParams).then((response) => {
+        this.testList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        modelId: null,
+        bizParams: null,
+        originalDataIds: null,
+        generatedDataId: null,
+        status: null,
+        startTime: null,
+        endTime: 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;
+      getTest(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) {
+            updateTest(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addTest(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 delTest(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        "dataGen/test/export",
+        {
+          ...this.queryParams,
+        },
+        `test_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
+};
+</script>

+ 260 - 0
fdapfe-ui/src/views/eval/formulas/index.vue

@@ -0,0 +1,260 @@
+<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="name">
+        <el-input
+          v-model="queryParams.name"
+          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="['eval:formulas: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="['eval:formulas: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="['eval:formulas: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="['eval:formulas:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="formulasList" @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="name" />
+      <el-table-column label="公式" align="center" prop="formulas" />
+      <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="['eval:formulas:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['eval:formulas: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" :close-on-click-modal="false" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="公式名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入公式名称" />
+        </el-form-item>
+        <el-form-item label="公式" prop="formulas">
+          <el-input v-model="form.formulas" 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 { listFormulas, getFormulas, delFormulas, addFormulas, updateFormulas } from "@/api/eval/formulas";
+
+export default {
+  name: "Formulas",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 公式管理管理表格数据
+      formulasList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        formulas: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询公式管理管理列表 */
+    getList() {
+      this.loading = true;
+      listFormulas(this.queryParams).then(response => {
+        this.formulasList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        formulas: 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
+      getFormulas(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) {
+            updateFormulas(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addFormulas(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 delFormulas(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('eval/formulas/export', {
+        ...this.queryParams
+      }, `formulas_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 260 - 0
fdapfe-ui/src/views/eval/indicator/index.vue

@@ -0,0 +1,260 @@
+<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="name">
+        <el-input
+          v-model="queryParams.name"
+          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="['eval:indicator: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="['eval:indicator: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="['eval:indicator: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="['eval:indicator:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="indicatorList" @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="name" />
+      <el-table-column label="评估体系参数" align="center" prop="bizParams" />
+      <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="['eval:indicator:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['eval:indicator: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" :close-on-click-modal="false" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="评估体系名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入评估体系名称" />
+        </el-form-item>
+        <el-form-item label="评估体系参数" prop="bizParams">
+          <el-input v-model="form.bizParams" 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 { listIndicator, getIndicator, delIndicator, addIndicator, updateIndicator } from "@/api/eval/indicator";
+
+export default {
+  name: "Indicator",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 评估指标体系管理表格数据
+      indicatorList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        remark: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询评估指标体系管理列表 */
+    getList() {
+      this.loading = true;
+      listIndicator(this.queryParams).then(response => {
+        this.indicatorList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        bizParams: 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
+      getIndicator(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) {
+            updateIndicator(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addIndicator(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 delIndicator(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('eval/indicator/export', {
+        ...this.queryParams
+      }, `indicator_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1 - 1054
fdapfe-ui/src/views/index.vue


+ 301 - 0
fdapfe-ui/src/views/model/faultDiagnosis/index.vue

@@ -0,0 +1,301 @@
+<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="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入故障模型名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="故障模型类型" prop="type">
+        <el-select v-model="queryParams.type" placeholder="请选择故障模型类型" clearable>
+          <el-option
+            v-for="dict in dict.type.data_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="故障模型接口地址" prop="path">
+        <el-input
+          v-model="queryParams.path"
+          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="['model:faultDiagnosis: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="['model:faultDiagnosis: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="['model:faultDiagnosis: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="['model:faultDiagnosis:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="faultDiagnosisList" @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="name" />
+      <el-table-column label="故障模型类型" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.data_type" :value="scope.row.type"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="故障模型接口地址" align="center" prop="path" />
+      <el-table-column label="故障模型参数参数" align="center" prop="bizParams" />
+      <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="['model:faultDiagnosis:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['model:faultDiagnosis: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" :close-on-click-modal="false" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="故障模型名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入故障模型名称" />
+        </el-form-item>
+        <el-form-item label="故障模型类型" prop="type">
+          <el-select v-model="form.type" placeholder="请选择故障模型类型">
+            <el-option
+              v-for="dict in dict.type.data_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="故障模型接口地址" prop="path">
+          <el-input v-model="form.path" placeholder="请输入故障模型接口地址" />
+        </el-form-item>
+        <el-form-item label="故障模型参数参数" prop="bizParams">
+          <el-input v-model="form.bizParams" 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 { listFaultDiagnosis, getFaultDiagnosis, delFaultDiagnosis, addFaultDiagnosis, updateFaultDiagnosis } from "@/api/model/faultDiagnosis";
+
+export default {
+  name: "FaultDiagnosis",
+  dicts: ['data_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 故障诊断算法模型管理表格数据
+      faultDiagnosisList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        type: null,
+        path: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询故障诊断算法模型管理列表 */
+    getList() {
+      this.loading = true;
+      listFaultDiagnosis(this.queryParams).then(response => {
+        this.faultDiagnosisList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        type: null,
+        path: null,
+        bizParams: 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
+      getFaultDiagnosis(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) {
+            updateFaultDiagnosis(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addFaultDiagnosis(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 delFaultDiagnosis(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('model/faultDiagnosis/export', {
+        ...this.queryParams
+      }, `faultDiagnosis_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 302 - 0
fdapfe-ui/src/views/model/faultPhysical/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="故障模型名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入故障模型名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="故障模型类型" prop="type">
+        <el-select v-model="queryParams.type" placeholder="请选择故障模型类型" clearable>
+          <el-option
+            v-for="dict in dict.type.data_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="故障模型接口地址" prop="path">
+        <el-input
+          v-model="queryParams.path"
+          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="['model:faultPhysical: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="['model:faultPhysical: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="['model:faultPhysical: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="['model:faultPhysical:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="faultPhysicalList" @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="name" />
+      <el-table-column label="故障模型类型" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.data_type" :value="scope.row.type"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="故障模型接口地址" align="center" prop="path" />
+      <el-table-column label="故障模型参数参数" align="center" prop="bizParams" />
+      <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="['model:faultPhysical:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['model:faultPhysical: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" :close-on-click-modal="false" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="故障模型名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入故障模型名称" />
+        </el-form-item>
+        <el-form-item label="故障模型类型" prop="type">
+          <el-select v-model="form.type" placeholder="请选择故障模型类型">
+            <el-option
+              v-for="dict in dict.type.data_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="故障模型接口地址" prop="path">
+          <el-input v-model="form.path" placeholder="请输入故障模型接口地址" />
+        </el-form-item>
+        <el-form-item label="故障模型参数参数" prop="bizParams">
+          <el-input v-model="form.bizParams" 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 { listFaultPhysical, getFaultPhysical, delFaultPhysical, addFaultPhysical, updateFaultPhysical } from "@/api/model/faultPhysical";
+
+export default {
+  name: "FaultPhysical",
+  dicts: ['data_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 故障物理模型管理表格数据
+      faultPhysicalList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        type: null,
+        path: null,
+        remark: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询故障物理模型管理列表 */
+    getList() {
+      this.loading = true;
+      listFaultPhysical(this.queryParams).then(response => {
+        this.faultPhysicalList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        type: null,
+        path: null,
+        bizParams: 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
+      getFaultPhysical(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) {
+            updateFaultPhysical(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addFaultPhysical(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 delFaultPhysical(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('model/faultPhysical/export', {
+        ...this.queryParams
+      }, `faultPhysical_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

+ 436 - 0
fdapfe-ui/src/views/test/ddAlgorithm/index.vue

@@ -0,0 +1,436 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="100px"
+    >
+      <el-form-item label="故障诊断名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入故障诊断名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="实际标签" prop="truthLabels">
+        <el-input
+          v-model="queryParams.truthLabels"
+          placeholder="请输入实际标签"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="测试标签" prop="testLabels">
+        <el-input
+          v-model="queryParams.testLabels"
+          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>
+        <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="['test:ddAlgorithm: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="['test:ddAlgorithm: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="['test:ddAlgorithm: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="['test:ddAlgorithm:export']"
+          >导出</el-button
+        >
+      </el-col>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="ddAlgorithmList"
+      @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="name" />
+      <el-table-column label="模型" align="center" prop="modelId" />
+      <el-table-column label="数据" align="center" prop="dataId" />
+      <el-table-column label="实际标签" align="center" prop="truthLabels" />
+      <el-table-column label="测试标签" align="center" prop="testLabels" />
+      <el-table-column label="说明" align="center" prop="remark" />
+      <el-table-column
+        label="开始时间"
+        align="center"
+        prop="startTime"
+        width="180"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.startTime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="结束时间"
+        align="center"
+        prop="endTime"
+        width="180"
+      >
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.endTime) }}</span>
+        </template>
+      </el-table-column>
+      <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-video-play"
+            @click="handleVerify(scope.row)"
+            v-hasPermi="['test:ddAlgorithm:edit']"
+            >验证</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['test:ddAlgorithm:edit']"
+            >查看</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['test:ddAlgorithm: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"
+      :close-on-click-modal="false"
+      append-to-body
+    >
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-form-item label="故障诊断名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入故障诊断名称" />
+        </el-form-item>
+        <el-form-item label="模型" prop="modelId">
+          <el-input v-model="form.modelId" placeholder="请输入模型" />
+        </el-form-item>
+        <el-form-item label="数据" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请输入数据" />
+        </el-form-item>
+        <el-form-item label="实际标签" prop="truthLabels">
+          <el-input v-model="form.truthLabels" placeholder="请输入实际标签" />
+        </el-form-item>
+        <el-form-item label="测试标签" prop="testLabels">
+          <el-input v-model="form.testLabels" placeholder="请输入测试标签" />
+        </el-form-item>
+        <el-form-item label="说明" prop="remark">
+          <el-input
+            v-model="form.remark"
+            type="textarea"
+            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>
+      <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 {
+  listDdAlgorithm,
+  getDdAlgorithm,
+  delDdAlgorithm,
+  verify,
+  addDdAlgorithm,
+  updateDdAlgorithm,
+} from "@/api/test/ddAlgorithm";
+
+export default {
+  name: "DdAlgorithm",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 故障诊断算法功能验证表格数据
+      ddAlgorithmList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        truthLabels: null,
+        testLabels: null,
+        startTime: null,
+        endTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {},
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询故障诊断算法功能验证列表 */
+    getList() {
+      this.loading = true;
+      listDdAlgorithm(this.queryParams).then((response) => {
+        this.ddAlgorithmList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        modelId: null,
+        dataId: null,
+        truthLabels: null,
+        testLabels: null,
+        remark: null,
+        startTime: null,
+        endTime: 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;
+      getDdAlgorithm(id).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改故障诊断算法功能验证";
+      });
+    },
+    /** 验证*/
+    handleVerify(row) {
+      const ids = row.id || this.ids;
+      this.$modal
+        .confirm("是否验证")
+        .then(function () {
+          return verify(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("验证成功");
+        })
+        .catch(() => {});
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateDdAlgorithm(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addDdAlgorithm(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 delDdAlgorithm(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        "test/ddAlgorithm/export",
+        {
+          ...this.queryParams,
+        },
+        `ddAlgorithm_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
+};
+</script>

+ 482 - 0
fdapfe-ui/src/views/test/perf/index.vue

@@ -0,0 +1,482 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="100px"
+    >
+      <el-form-item label="性能评估名称" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入性能评估名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="类型" prop="type">
+        <el-select
+          v-model="queryParams.type"
+          placeholder="请选择类型"
+          clearable
+        >
+          <el-option
+            v-for="dict in dict.type.biz_perf_eval_type"
+            :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="['test:perf: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="['test:perf: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="['test:perf: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="['test:perf:export']"
+          >导出</el-button
+        >
+      </el-col>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table
+      v-loading="loading"
+      :data="perfList"
+      @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="name" />
+      <el-table-column label="类型" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag
+            :options="dict.type.biz_perf_eval_type"
+            :value="scope.row.type"
+          />
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="评估"
+        align="center"
+        prop="valuationIndicatorId"
+      />
+      <el-table-column
+        label="故障诊断算法"
+        align="center"
+        prop="fdAlgorithmId"
+      />
+      <el-table-column label="数据" align="center" prop="dataId" />
+      <el-table-column label="参数" align="center" prop="bizParams" />
+      <el-table-column label="文件结果" align="center" prop="resultFilePath" />
+      <el-table-column label="文本结果" align="center" prop="resultText" />
+      <el-table-column label="说明" align="center" prop="remark" />
+      <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"
+        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="['test:perf:edit']"
+            >修改</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['test:perf: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
+      v-if="open"
+      :title="title"
+      :visible.sync="open"
+      width="500px"
+      :close-on-click-modal="false"
+      append-to-body
+    >
+      <perfDetail
+        :_form="form"
+        @submitPerfDetail="submitPerfDetail"
+        @cancelPerfDetail="cancelPerfDetail"
+      ></perfDetail>
+      <!--<el-form ref="form" :model="form" :rules="rules" label-width="100px">
+         <el-form-item label="性能评估名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入性能评估名称" />
+        </el-form-item>
+        <el-form-item label="类型" prop="type">
+          <el-select v-model="form.type" placeholder="请选择类型">
+            <el-option
+              v-for="dict in dict.type.biz_perf_eval_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="评估" prop="valuationIndicatorId">
+          <el-input
+            v-model="form.valuationIndicatorId"
+            placeholder="请输入评估"
+          />
+        </el-form-item>
+        <el-form-item label="故障诊断算法" prop="fdAlgorithmId">
+          <el-input
+            v-model="form.fdAlgorithmId"
+            placeholder="请输入故障诊断算法"
+          />
+        </el-form-item>
+        <el-form-item label="数据" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请输入数据" />
+        </el-form-item>
+        <el-form-item label="参数" prop="bizParams">
+          <el-input
+            v-model="form.bizParams"
+            type="textarea"
+            placeholder="请输入内容"
+          />
+        </el-form-item>
+        <el-form-item label="文件结果" prop="resultFilePath">
+          <el-input
+            v-model="form.resultFilePath"
+            placeholder="请输入文件结果"
+          />
+        </el-form-item>
+        <el-form-item label="文本结果" prop="resultText">
+          <el-input
+            v-model="form.resultText"
+            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-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>
+      <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 {
+  listPerf,
+  getPerf,
+  delPerf,
+  addPerf,
+  updatePerf,
+} from "@/api/test/perf";
+
+import perfDetail from "./perfDetail.vue";
+
+export default {
+  name: "Perf",
+  components: {
+    perfDetail,
+  },
+  dicts: ["biz_perf_eval_type"],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 算法性能评估表格数据
+      perfList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        type: null,
+        startTime: null,
+        endTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {},
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询算法性能评估列表 */
+    getList() {
+      this.loading = true;
+      listPerf(this.queryParams).then((response) => {
+        this.perfList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        type: null,
+        valuationIndicatorId: null,
+        fdAlgorithmId: null,
+        dataId: null,
+        bizParams: null,
+        resultFilePath: null,
+        resultText: null,
+        remark: null,
+        startTime: null,
+        endTime: 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;
+      getPerf(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) {
+            updatePerf(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addPerf(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 delPerf(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        "test/perf/export",
+        {
+          ...this.queryParams,
+        },
+        `perf_${new Date().getTime()}.xlsx`
+      );
+    },
+    submitPerfDetail(detailForm) {
+      console.info(detailForm);
+      alert("确认成功");
+      this.open = false;
+    },
+    cancelPerfDetail() {
+      this.open = false;
+    },
+  },
+};
+</script>

+ 215 - 0
fdapfe-ui/src/views/test/perf/perfDetail.vue

@@ -0,0 +1,215 @@
+<template>
+  <div>
+    <el-form ref="form" :model="form" label-width="100px">
+      <el-form-item label="性能评估名称" prop="name">
+        <el-input v-model="form.name" placeholder="请输入性能评估名称" />
+      </el-form-item>
+      <el-form-item label="类型" prop="type">
+        <el-select v-model="form.type" placeholder="请选择类型">
+          <el-option
+            v-for="dict in dict.type.biz_perf_eval_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
+      <template v-if="form.type === '1'">
+        <el-form-item label="数据" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请选择数据集" />
+        </el-form-item>
+        <el-form-item label="故障诊断算法" prop="fdAlgorithmId">
+          <el-input
+            v-model="form.fdAlgorithmId"
+            placeholder="请输入故障诊断算法"
+          />
+        </el-form-item>
+        <el-form-item label="实际标签" prop="truthLabels">
+          <el-input v-model="form.truthLabels" placeholder="请输入实际标签" />
+        </el-form-item>
+      </template>
+      <template v-if="form.type === '2'">
+        <el-form-item label="数据" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请选择数据集" />
+        </el-form-item>
+        <el-form-item label="故障诊断算法" prop="fdAlgorithmId">
+          <el-input
+            v-model="form.fdAlgorithmId"
+            placeholder="请输入故障诊断算法"
+          />
+        </el-form-item>
+        <el-form-item label="实际标签" prop="truthLabels">
+          <el-input v-model="form.truthLabels" placeholder="请输入实际标签" />
+        </el-form-item>
+        <el-form-item label="一级指标" prop="primaryIndicator">
+          <el-input
+            v-model="form.primaryIndicator"
+            placeholder="请选择一级指标"
+          />
+        </el-form-item>
+        <el-form-item label="二级指标" prop="secondaryIndicator">
+          <el-input
+            v-model="form.secondaryIndicator"
+            placeholder="请选择二级指标"
+          />
+        </el-form-item>
+        <el-form-item label="三级指标" prop="tertiaryIndicator">
+          <el-input
+            v-model="form.tertiaryIndicator"
+            placeholder="请选择三级指标"
+          />
+        </el-form-item>
+      </template>
+      <template v-if="form.type === '3'">
+        <el-form-item label="故障诊断算法" prop="fdAlgorithmId">
+          <el-input
+            v-model="form.fdAlgorithmId"
+            placeholder="请输入故障诊断算法"
+          />
+        </el-form-item>
+        <el-form-item label="实际标签" prop="truthLabels">
+          <el-input v-model="form.truthLabels" placeholder="请输入实际标签" />
+        </el-form-item>
+        <el-form-item label="不确定指标" prop="tertiaryIndicator">
+          <el-input
+            v-model="form.tertiaryIndicator"
+            placeholder="请选择不确定指标"
+          />
+        </el-form-item>
+        <el-form-item label="物理模型" prop="tertiaryIndicator">
+          <el-input
+            v-model="form.tertiaryIndicator"
+            placeholder="输入物理模型"
+          />
+        </el-form-item>
+        <el-form-item label="参数" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入参数" />
+        </el-form-item>
+        <el-form-item label="区间" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入参数" />
+        </el-form-item>
+        <el-form-item label="步长" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入参数" />
+        </el-form-item>
+        <el-form-item label="噪声数据" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请选择噪声数据" />
+        </el-form-item>
+      </template>
+      <template v-if="form.type === '4'">
+        <el-form-item label="故障诊断算法" prop="fdAlgorithmId">
+          <el-input
+            v-model="form.fdAlgorithmId"
+            placeholder="请输入故障诊断算法"
+          />
+        </el-form-item>
+        <el-form-item label="实际标签" prop="truthLabels">
+          <el-input v-model="form.truthLabels" placeholder="请输入实际标签" />
+        </el-form-item>
+        <el-form-item label="不确定指标" prop="tertiaryIndicator">
+          <el-input
+            v-model="form.tertiaryIndicator"
+            placeholder="请选择不确定指标"
+          />
+        </el-form-item>
+        <el-form-item label="精度指标" prop="tertiaryIndicator">
+          <el-input
+            v-model="form.tertiaryIndicator"
+            placeholder="请选择不确定指标"
+          />
+        </el-form-item>
+        <el-form-item label="物理模型" prop="tertiaryIndicator">
+          <el-input
+            v-model="form.tertiaryIndicator"
+            placeholder="输入物理模型"
+          />
+        </el-form-item>
+        <el-form-item label="参数" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入参数" />
+        </el-form-item>
+        <el-form-item label="区间" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入区间" />
+        </el-form-item>
+        <el-form-item label="步长" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入步长" />
+        </el-form-item>
+        <el-form-item label="噪声数据" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请选择噪声数据" />
+        </el-form-item>
+      </template>
+      <template v-if="form.type === '5'">
+        <el-form-item label="故障诊断算法" prop="fdAlgorithmId">
+          <el-input
+            v-model="form.fdAlgorithmId"
+            placeholder="请输入故障诊断算法"
+          />
+        </el-form-item>
+        <el-form-item label="实际标签" prop="truthLabels">
+          <el-input v-model="form.truthLabels" placeholder="请输入实际标签" />
+        </el-form-item>
+        <el-form-item label="不确定指标" prop="tertiaryIndicator">
+          <el-input
+            v-model="form.tertiaryIndicator"
+            placeholder="请选择不确定指标"
+          />
+        </el-form-item>
+        <el-form-item label="精度指标" prop="tertiaryIndicator">
+          <el-input
+            v-model="form.tertiaryIndicator"
+            placeholder="请选择不确定指标"
+          />
+        </el-form-item>
+        <!-- <el-form-item label="参数" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入参数" />
+        </el-form-item>
+        <el-form-item label="区间" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入参数" />
+        </el-form-item>
+        <el-form-item label="步长" prop="tertiaryIndicator">
+          <el-input v-model="form.tertiaryIndicator" placeholder="输入参数" />
+        </el-form-item> -->
+        <el-form-item label="物理模型数据" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请选择噪声数据" />
+        </el-form-item>
+        <el-form-item label="噪声生成模型" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请输入噪声参数" />
+        </el-form-item>
+        <el-form-item label="噪声参数" prop="dataId">
+          <el-input v-model="form.dataId" placeholder="请输入噪声参数" />
+        </el-form-item>
+      </template>
+    </el-form>
+    <div slot="footer" class="dialog-footer">
+      <el-button type="primary" @click="submitForm">确 定</el-button>
+      <el-button @click="cancel">取 消</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "DdAlgorithmDetail",
+  dicts: ["biz_perf_eval_type"],
+  props: {
+    _form: {
+      type: Object,
+      default: {},
+    },
+  },
+  data() {
+    return {
+      form: {},
+    };
+  },
+  created() {
+    this.form = this._form;
+  },
+  methods: {
+    submitForm() {
+      this.$emit("submitPerfDetail", this.form);
+    },
+    cancel() {
+      this.$emit("cancelPerfDetail");
+    },
+  },
+};
+</script>

+ 369 - 0
fdapfe-ui/src/views/workflow/node/index.vue

@@ -0,0 +1,369 @@
+<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="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入数据名称"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="类型" prop="type">
+        <el-select v-model="queryParams.type" placeholder="请选择类型" clearable>
+          <el-option
+            v-for="dict in dict.type.data_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="子类型" prop="subType">
+        <el-select v-model="queryParams.subType" placeholder="请选择子类型" clearable>
+          <el-option
+            v-for="dict in dict.type.data_type"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <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="开始时间" 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="['workflow:node: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="['workflow:node: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="['workflow:node: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="['workflow:node:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="nodeList" @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="name" />
+      <el-table-column label="类型" align="center" prop="type">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.data_type" :value="scope.row.type"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="子类型" align="center" prop="subType">
+        <template slot-scope="scope">
+          <dict-tag :options="dict.type.data_type" :value="scope.row.subType"/>
+        </template>
+      </el-table-column>
+      <el-table-column label="任务id" align="center" prop="taskId" />
+      <el-table-column label="说明" align="center" prop="remark" />
+      <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" 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="['workflow:node:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['workflow:node: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" :close-on-click-modal="false" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="数据名称" prop="name">
+          <el-input v-model="form.name" placeholder="请输入数据名称" />
+        </el-form-item>
+        <el-form-item label="类型" prop="type">
+          <el-select v-model="form.type" placeholder="请选择类型">
+            <el-option
+              v-for="dict in dict.type.data_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="子类型" prop="subType">
+          <el-select v-model="form.subType" placeholder="请选择子类型">
+            <el-option
+              v-for="dict in dict.type.data_type"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="任务id" prop="taskId">
+          <el-input v-model="form.taskId" placeholder="请输入任务id" />
+        </el-form-item>
+        <el-form-item label="说明" prop="remark">
+          <el-input v-model="form.remark" type="textarea" 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>
+      <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 { listNode, getNode, delNode, addNode, updateNode } from "@/api/workflow/node";
+
+export default {
+  name: "Node",
+  dicts: ['data_type'],
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 流程节点表格数据
+      nodeList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        name: null,
+        type: null,
+        subType: null,
+        taskId: null,
+        startTime: null,
+        endTime: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询流程节点列表 */
+    getList() {
+      this.loading = true;
+      listNode(this.queryParams).then(response => {
+        this.nodeList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        name: null,
+        type: null,
+        subType: null,
+        taskId: null,
+        remark: null,
+        startTime: null,
+        endTime: 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
+      getNode(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) {
+            updateNode(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addNode(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 delNode(ids);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('workflow/node/export', {
+        ...this.queryParams
+      }, `node_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно