FaultServiceImpl.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. package com.ruoyi.sim.service.impl;
  2. import java.util.*;
  3. import java.util.stream.Collectors;
  4. import com.ruoyi.common.utils.DateUtils;
  5. import com.ruoyi.sim.domain.vo.FaultNode;
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8. import org.springframework.beans.BeanUtils;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import com.ruoyi.sim.mapper.FaultMapper;
  12. import com.ruoyi.sim.domain.Fault;
  13. import com.ruoyi.sim.service.IFaultService;
  14. /**
  15. * 故障Service业务层处理
  16. *
  17. * @author tom
  18. * @date 2024-12-13
  19. */
  20. @Service
  21. public class FaultServiceImpl implements IFaultService {
  22. @Autowired
  23. private FaultMapper faultMapper;
  24. /**
  25. * 查询故障
  26. *
  27. * @param faultId 故障主键
  28. * @return 故障
  29. */
  30. @Override
  31. public Fault selectFaultByFaultId(String faultId) {
  32. return faultMapper.selectFaultByFaultId(faultId);
  33. }
  34. /**
  35. * 查询故障列表
  36. *
  37. * @param fault 故障
  38. * @return 故障
  39. */
  40. @Override
  41. public List<Fault> selectFaultList(Fault fault) {
  42. return faultMapper.selectFaultList(fault);
  43. }
  44. /**
  45. * 新增故障
  46. *
  47. * @param fault 故障
  48. * @return 结果
  49. */
  50. @Override
  51. public int insertFault(Fault fault) {
  52. fault.setCreateTime(DateUtils.getNowDate());
  53. return faultMapper.insertFault(fault);
  54. }
  55. /**
  56. * 修改故障
  57. *
  58. * @param fault 故障
  59. * @return 结果
  60. */
  61. @Override
  62. public int updateFault(Fault fault) {
  63. fault.setUpdateTime(DateUtils.getNowDate());
  64. return faultMapper.updateFault(fault);
  65. }
  66. /**
  67. * 批量删除故障
  68. *
  69. * @param faultIds 需要删除的故障主键
  70. * @return 结果
  71. */
  72. @Override
  73. public int deleteFaultByFaultIds(String[] faultIds) {
  74. return faultMapper.deleteFaultByFaultIds(faultIds);
  75. }
  76. /**
  77. * 删除故障信息
  78. *
  79. * @param faultId 故障主键
  80. * @return 结果
  81. */
  82. @Override
  83. public int deleteFaultByFaultId(String faultId) {
  84. return faultMapper.deleteFaultByFaultId(faultId);
  85. }
  86. // -------------------------------- tom add --------------------------------
  87. private static final Logger log = LoggerFactory.getLogger(FaultServiceImpl.class);
  88. /**
  89. * 查询故障列表tree
  90. *
  91. * @param fault 故障
  92. * @return 故障
  93. */
  94. @Override
  95. public List<FaultNode> selectFaultListAllTree(Fault fault) {
  96. //
  97. // fault.getParams().put(TableSupport.PAGE_NUM, 1);
  98. // fault.getParams().put(TableSupport.PAGE_SIZE, 100);
  99. //
  100. List<Fault> list = faultMapper.selectFaultList(fault);
  101. log.info("AAAAAAAAAAAAAAAAAAAAAAAAAAAA000000000000");
  102. log.info(Objects.requireNonNull(list).toString());
  103. log.info(Objects.requireNonNull(fault.getParams()).toString());
  104. log.info(Objects.requireNonNull(list.size()).toString());
  105. List<FaultNode> tempListNode = new ArrayList<>();
  106. for (Fault source : list) {
  107. FaultNode target = new FaultNode();
  108. BeanUtils.copyProperties(source, target);
  109. tempListNode.add(target);
  110. }
  111. log.info(Objects.requireNonNull(tempListNode).toString());
  112. List<FaultNode> tree = toTree(tempListNode, ROOT_FAULT_ID);
  113. log.info(Objects.requireNonNull(tree).toString());
  114. return tree;
  115. }
  116. /**
  117. *
  118. * @param simType
  119. * @return
  120. */
  121. public boolean checkSimType(String simType) {
  122. Set<String> s = new HashSet<>();
  123. s.add("0001");
  124. s.add("0002");
  125. s.add("0003");
  126. return s.contains(simType);
  127. }
  128. private static String ROOT_FAULT_ID = "000000000000";
  129. // private static List<FaultNode> toTree2(List<FaultNode> list) {
  130. // List<FaultNode> tree = new ArrayList<>();
  131. // for (FaultNode fn1 : list) {
  132. // if (fn1.getParentFaultId().equals(ROOT_FAULT_ID)) {
  133. // tree.add(fn1);
  134. // }
  135. // for (FaultNode fn2 : list) {
  136. // if (fn2.getParentFaultId().equals(fn1.getParentFaultId())) {
  137. // if (fn1.getChildren() == null) {
  138. // fn1.setChildren(new ArrayList<>());
  139. // }
  140. // fn1.getChildren().add(fn2);
  141. // }
  142. // }
  143. // }
  144. // return tree;
  145. // }
  146. private static List<FaultNode> toTree(List<FaultNode> list, String parentFaultId) {
  147. // todo:sort
  148. List<FaultNode> tree = list
  149. .stream()
  150. .filter(
  151. parent ->
  152. parent.getParentFaultId().equals(parentFaultId))
  153. .map(child -> {
  154. child.setChildren(toTree(list, child.getFaultId()));
  155. return child;
  156. })
  157. .collect(Collectors.toList());
  158. return tree;
  159. }
  160. }