Parcourir la source

为了新建task,返回一个带tree结构的数据对象。

tom il y a 5 mois
Parent
commit
638e784b39

+ 2 - 2
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/FaultController.java

@@ -3,7 +3,7 @@ package com.ruoyi.sim.controller;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
-import com.ruoyi.sim.domain.vo.FaultNode;
+import com.ruoyi.sim.domain.vo.FaultTree;
 import io.swagger.annotations.ApiOperation;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -110,7 +110,7 @@ public class FaultController extends BaseController {
     public TableDataInfo listAllTreeViaSimType(@PathVariable(value = "simType") String simType) {
         Fault fault =new Fault();
         fault.setSimType(simType);
-        List<FaultNode> list = faultService.selectFaultListAllTree(fault);
+        List<FaultTree> list = faultService.selectFaultListAllTree(fault);
         return getDataTable(list);
     }
 }

+ 22 - 8
ruoyi-sim/src/main/java/com/ruoyi/sim/controller/TaskController.java

@@ -3,7 +3,8 @@ package com.ruoyi.sim.controller;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
 
-import org.springframework.security.access.prepost.PreAuthorize;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -30,6 +31,7 @@ import com.ruoyi.common.core.page.TableDataInfo;
  */
 @RestController
 @RequestMapping("/sim/task")
+@Api("任务Controller")
 public class TaskController extends BaseController {
     @Autowired
     private ITaskService taskService;
@@ -37,7 +39,7 @@ public class TaskController extends BaseController {
     /**
      * 查询任务列表
      */
-    @PreAuthorize("@ss.hasPermi('sim:task:list')")
+    // @PreAuthorize("@ss.hasPermi('sim:task:list')")
     @GetMapping("/list")
     public TableDataInfo list(Task task) {
         startPage();
@@ -48,9 +50,9 @@ public class TaskController extends BaseController {
     /**
      * 导出任务列表
      */
-    @PreAuthorize("@ss.hasPermi('sim:task:export')")
+    // @PreAuthorize("@ss.hasPermi('sim:task:export')")
     @Log(title = "任务", businessType = BusinessType.EXPORT)
-    @PostMapping("/export")
+    // @PostMapping("/export")
     public void export(HttpServletResponse response, Task task) {
         List<Task> list = taskService.selectTaskList(task);
         ExcelUtil<Task> util = new ExcelUtil<Task>(Task.class);
@@ -60,7 +62,7 @@ public class TaskController extends BaseController {
     /**
      * 获取任务详细信息
      */
-    @PreAuthorize("@ss.hasPermi('sim:task:query')")
+    // @PreAuthorize("@ss.hasPermi('sim:task:query')")
     @GetMapping(value = "/{taskId}")
     public AjaxResult getInfo(@PathVariable("taskId") Long taskId) {
         return success(taskService.selectTaskByTaskId(taskId));
@@ -69,7 +71,7 @@ public class TaskController extends BaseController {
     /**
      * 新增任务
      */
-    @PreAuthorize("@ss.hasPermi('sim:task:add')")
+    // @PreAuthorize("@ss.hasPermi('sim:task:add')")
     @Log(title = "任务", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody Task task) {
@@ -79,7 +81,7 @@ public class TaskController extends BaseController {
     /**
      * 修改任务
      */
-    @PreAuthorize("@ss.hasPermi('sim:task:edit')")
+    // @PreAuthorize("@ss.hasPermi('sim:task:edit')")
     @Log(title = "任务", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody Task task) {
@@ -89,10 +91,22 @@ public class TaskController extends BaseController {
     /**
      * 删除任务
      */
-    @PreAuthorize("@ss.hasPermi('sim:task:remove')")
+    // @PreAuthorize("@ss.hasPermi('sim:task:remove')")
     @Log(title = "任务", businessType = BusinessType.DELETE)
     @DeleteMapping("/{taskIds}")
     public AjaxResult remove(@PathVariable Long[] taskIds) {
         return toAjax(taskService.deleteTaskByTaskIds(taskIds));
     }
+
+    // -------------------------------- tom add  --------------------------------
+
+    /**
+     *
+     */
+    // @PreAuthorize("@ss.hasPermi('sim:task:query')")
+    @GetMapping("/getInfoForAdd/{simType}")
+    @ApiOperation("getInfoForAdd")
+    public AjaxResult getInfoForAdd(@PathVariable("simType") String simType) {
+        return success(taskService.selectNewTaskViaSimType(simType));
+    }
 }

+ 16 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/domain/Task.java

@@ -1,10 +1,13 @@
 package com.ruoyi.sim.domain;
 
+import com.ruoyi.sim.domain.vo.FaultTree;
 import org.apache.commons.lang3.builder.ToStringBuilder;
 import org.apache.commons.lang3.builder.ToStringStyle;
 import com.ruoyi.common.annotation.Excel;
 import com.ruoyi.common.core.domain.BaseEntity;
 
+import java.util.List;
+
 /**
  * 任务对象 sim_task
  *
@@ -100,4 +103,17 @@ public class Task extends BaseEntity {
                 .append("remark", getRemark())
                 .toString();
     }
+
+    // -------------------------------- tom add  --------------------------------
+    public static final Long EMPTY_TASK_ID = 0L;
+
+    private List<FaultTree> faultTreeList;
+
+    public List<FaultTree> getFaultTreeList() {
+        return faultTreeList;
+    }
+
+    public void setFaultTreeList(List<FaultTree> faultTreeList) {
+        this.faultTreeList = faultTreeList;
+    }
 }

+ 15 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/domain/TaskFault.java

@@ -81,4 +81,19 @@ public class TaskFault extends BaseEntity {
                 .append("updateTime", getUpdateTime())
                 .toString();
     }
+
+    // -------------------------------- tom add  --------------------------------
+    public static final String UNKNOWN = "7";
+    public static final String YES = "1";
+    public static final String NO = "0";
+
+    public TaskFault() {
+    }
+
+    public TaskFault(Long relId, Long taskId, String faultId, String flag) {
+        this.relId = relId;
+        this.taskId = taskId;
+        this.faultId = faultId;
+        this.flag = flag;
+    }
 }

+ 0 - 26
ruoyi-sim/src/main/java/com/ruoyi/sim/domain/vo/FaultNode.java

@@ -1,26 +0,0 @@
-package com.ruoyi.sim.domain.vo;
-
-import com.ruoyi.sim.domain.Fault;
-import org.apache.commons.lang3.builder.ToStringBuilder;
-
-import java.util.List;
-
-public class FaultNode extends Fault {
-
-    private List<FaultNode> children;
-
-    public List<FaultNode> getChildren() {
-        return children;
-    }
-
-    public void setChildren(List<FaultNode> children) {
-        this.children = children;
-    }
-
-    @Override
-    public String toString() {
-        return new ToStringBuilder(this)
-                .append("children", children)
-                .toString();
-    }
-}

+ 41 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/domain/vo/FaultTree.java

@@ -0,0 +1,41 @@
+package com.ruoyi.sim.domain.vo;
+
+import com.ruoyi.sim.domain.Fault;
+import com.ruoyi.sim.domain.TaskFault;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ *
+ */
+import java.util.List;
+
+public class FaultTree extends Fault {
+
+    private List<FaultTree> children;
+
+    private TaskFault taskFault;
+
+    public List<FaultTree> getChildren() {
+        return children;
+    }
+
+    public void setChildren(List<FaultTree> children) {
+        this.children = children;
+    }
+
+    public TaskFault getTaskFault() {
+        return taskFault;
+    }
+
+    public void setTaskFault(TaskFault taskFault) {
+        this.taskFault = taskFault;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this)
+                .append("children", children)
+                .append("taskFault", taskFault)
+                .toString();
+    }
+}

+ 2 - 2
ruoyi-sim/src/main/java/com/ruoyi/sim/service/IFaultService.java

@@ -3,7 +3,7 @@ package com.ruoyi.sim.service;
 import java.util.List;
 
 import com.ruoyi.sim.domain.Fault;
-import com.ruoyi.sim.domain.vo.FaultNode;
+import com.ruoyi.sim.domain.vo.FaultTree;
 
 /**
  * 故障Service接口
@@ -68,5 +68,5 @@ public interface IFaultService {
      * @param fault 故障
      * @return 故障集合
      */
-    public List<FaultNode> selectFaultListAllTree(Fault fault);
+    public List<FaultTree> selectFaultListAllTree(Fault fault);
 }

+ 9 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/service/ITaskService.java

@@ -58,4 +58,13 @@ public interface ITaskService {
      * @return 结果
      */
     public int deleteTaskByTaskId(Long taskId);
+
+    // -------------------------------- tom add  --------------------------------
+
+    /**
+     *
+     * @param simType
+     * @return
+     */
+    public Task selectNewTaskViaSimType(String simType);
 }

+ 11 - 8
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/FaultServiceImpl.java

@@ -4,7 +4,8 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 import com.ruoyi.common.utils.DateUtils;
-import com.ruoyi.sim.domain.vo.FaultNode;
+import com.ruoyi.sim.domain.TaskFault;
+import com.ruoyi.sim.domain.vo.FaultTree;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
@@ -104,7 +105,7 @@ public class FaultServiceImpl implements IFaultService {
      * @return 故障
      */
     @Override
-    public List<FaultNode> selectFaultListAllTree(Fault fault) {
+    public List<FaultTree> selectFaultListAllTree(Fault fault) {
         //
         // fault.getParams().put(TableSupport.PAGE_NUM, 1);
         // fault.getParams().put(TableSupport.PAGE_SIZE, 100);
@@ -115,20 +116,19 @@ public class FaultServiceImpl implements IFaultService {
         log.info(Objects.requireNonNull(fault.getParams()).toString());
         log.info(Objects.requireNonNull(list.size()).toString());
 
-        List<FaultNode> tempListNode = new ArrayList<>();
+        List<FaultTree> tempListNode = new ArrayList<>();
         for (Fault source : list) {
-            FaultNode target = new FaultNode();
+            FaultTree target = new FaultTree();
             BeanUtils.copyProperties(source, target);
             tempListNode.add(target);
         }
         log.info(Objects.requireNonNull(tempListNode).toString());
-        List<FaultNode> tree = toTree(tempListNode, ROOT_FAULT_ID);
+        List<FaultTree> tree = toTree(tempListNode, ROOT_FAULT_ID);
         log.info(Objects.requireNonNull(tree).toString());
         return tree;
     }
 
     /**
-     *
      * @param simType
      * @return
      */
@@ -160,14 +160,17 @@ public class FaultServiceImpl implements IFaultService {
 //        return tree;
 //    }
 
-    private static List<FaultNode> toTree(List<FaultNode> list, String parentFaultId) {
+    private static List<FaultTree> toTree(List<FaultTree> list, String parentFaultId) {
         // todo:sort
-        List<FaultNode> tree = list
+        List<FaultTree> tree = list
                 .stream()
                 .filter(
                         parent ->
                                 parent.getParentFaultId().equals(parentFaultId))
                 .map(child -> {
+                    if (child.getTaskFault() == null) {
+                        child.setTaskFault(new TaskFault(0L, 0L, child.getFaultId(), TaskFault.UNKNOWN));
+                    }
                     child.setChildren(toTree(list, child.getFaultId()));
                     return child;
                 })

+ 27 - 0
ruoyi-sim/src/main/java/com/ruoyi/sim/service/impl/TaskServiceImpl.java

@@ -3,6 +3,9 @@ package com.ruoyi.sim.service.impl;
 import java.util.List;
 
 import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.sim.domain.Fault;
+import com.ruoyi.sim.domain.vo.FaultTree;
+import com.ruoyi.sim.service.IFaultService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.sim.mapper.TaskMapper;
@@ -87,4 +90,28 @@ public class TaskServiceImpl implements ITaskService {
     public int deleteTaskByTaskId(Long taskId) {
         return taskMapper.deleteTaskByTaskId(taskId);
     }
+
+    // -------------------------------- tom add  --------------------------------
+    @Autowired
+    private IFaultService faultService;
+
+    /**
+     * 为了新建,返回一个带tree结构的数据对象。
+     *
+     * @return 任务
+     */
+    public Task selectNewTaskViaSimType(String simType) {
+        // check
+
+        //
+        Task t = new Task();
+        // fa 构建用于查询的对象。
+        Fault fa = new Fault();
+        fa.setSimType(simType);
+        //
+        List<FaultTree> ftList = faultService.selectFaultListAllTree(fa);
+        t.setTaskId(Task.EMPTY_TASK_ID);
+        t.setFaultTreeList(ftList);
+        return t;
+    }
 }