diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/controller/EmsBaseMonitorInfoController.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/controller/EmsBaseMonitorInfoController.java index 2251f28..ccd5128 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/controller/EmsBaseMonitorInfoController.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/controller/EmsBaseMonitorInfoController.java @@ -55,6 +55,20 @@ public class EmsBaseMonitorInfoController extends BaseController return success(list); } + + + + /** + * 查询看板下拉树结构 + * */ + @PostMapping("/boardMonitorInfoTree") + public AjaxResult boardMonitorInfoTree(@RequestBody EmsBaseMonitorInfo baseMonitorInfo) { + List list = emsBaseMonitorInfoService.MonitorInfoTreeList(baseMonitorInfo); + return success(list); + } + + + /** * 导出计量设备信息列表 */ diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/IEmsBaseMonitorInfoService.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/IEmsBaseMonitorInfoService.java index 0da94d1..0809234 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/IEmsBaseMonitorInfoService.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/IEmsBaseMonitorInfoService.java @@ -71,6 +71,11 @@ public interface IEmsBaseMonitorInfoService * */ List selectBaseMonitorInfoTreeList(EmsBaseMonitorInfo baseMonitorInfo); + /** + * 查询计量设备信息下拉树结构 + * */ + List MonitorInfoTreeList(EmsBaseMonitorInfo baseMonitorInfo); + /** * 构建前端所需要下拉树结构 * @@ -93,4 +98,21 @@ public interface IEmsBaseMonitorInfoService * @return 返回指定能源类型的数量。 */ public int getMonitorCountByEnergyType(String energyType); + + + /** + * 构建看板所需要下拉树结构 + * + * @param + * @return 下拉树结构列表 + */ + public List MonitorInfoTreeSelect(List baseMonitorInfos); + + /** + * 构建看板所需要树结构 + * + * @param + * @return 树结构列表 + */ + public List MonitorInfoTree(List baseMonitorInfos); } diff --git a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/impl/EmsBaseMonitorInfoServiceImpl.java b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/impl/EmsBaseMonitorInfoServiceImpl.java index 2b228f5..05030b7 100644 --- a/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/impl/EmsBaseMonitorInfoServiceImpl.java +++ b/ruoyi-ems/src/main/java/com/ruoyi/ems/base/service/impl/EmsBaseMonitorInfoServiceImpl.java @@ -128,6 +128,17 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService return buildMonitorInfoTreeSelect(baseMonitorInfos); } + /** + * 查询看板计量设备信息下拉树结构 + * */ + @Override + public List MonitorInfoTreeList(EmsBaseMonitorInfo baseMonitorInfo) { + List baseMonitorInfos = selectEmsBaseMonitorInfoList(baseMonitorInfo); + return MonitorInfoTreeSelect(baseMonitorInfos); + } + + + /** * 构建前端所需要下拉树结构 * @@ -142,13 +153,27 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService } /** - * 构建前端所需要树结构 + * 构建看板所需要下拉树结构 + * + * @param + * @return 下拉树结构列表 + */ + @Override + public List MonitorInfoTreeSelect(List baseMonitorInfos) + { + List deptTrees = MonitorInfoTree(baseMonitorInfos); + return deptTrees.stream().map(TreeSelects::new).collect(Collectors.toList()); + } + + + /** + * 构建看板所需要树结构 * * @param * @return 树结构列表 */ @Override - public List buildMonitorInfoTree(List baseMonitorInfos) { + public List MonitorInfoTree(List baseMonitorInfos) { // 数据量阈值,低于此值使用单线程,高于此值使用多线程 final int THRESHOLD = 100; @@ -216,7 +241,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService // 6. 为顶级节点设置子节点 for (EmsBaseMonitorInfo root : rootNodes) { - setChildren(root, parentChildMap); + NewSetChildren(root, parentChildMap); } return rootNodes.isEmpty() ? baseMonitorInfos : rootNodes; @@ -293,12 +318,12 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService /** * 为节点设置子节点(优化的递归实现) */ - private void setChildren(EmsBaseMonitorInfo node, Map> parentChildMap) { + private void NewSetChildren(EmsBaseMonitorInfo node, Map> parentChildMap) { List children = parentChildMap.get(node.getObjId()); if (children != null) { node.setChildren(children); for (EmsBaseMonitorInfo child : children) { - setChildren(child, parentChildMap); + NewSetChildren(child, parentChildMap); } } } @@ -310,7 +335,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService * @param * @return 树结构列表 */ -/* @Override + @Override public List buildMonitorInfoTree(List baseMonitorInfos) { // 创建一个Map来存储温度数据,键为监控ID,值为TWTempertureData对象 @@ -326,33 +351,6 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService monitorCodes.add(monitorCode); } } - // 如果设备编号列表不为空 - if (CollectionUtils.isNotEmpty(monitorCodes)) { - // 根据设备编号列表查询最新的温度数据 - List tempDatas = tWTempertureDataMapper.selectLastTWTempertureDataByMonitorCodes(monitorCodes); - // 遍历查询到的温度数据 - for (TWTempertureData tempData : tempDatas) { - // 如果温度数据和温度值不为空 - if (!ObjectUtils.isEmpty(tempData) && tempData.getTempreture() != null) { - // 将温度数据存入Map中,键为监控ID,值为温度数据对象 - tempDataMap.put(tempData.getMonitorId(), tempData); - } - } - - // 再次遍历设备列表 - for (EmsBaseMonitorInfo baseMonitorInfo : baseMonitorInfos) { - // 如果设备不为空且监控类型为1L - if (!ObjectUtils.isEmpty(baseMonitorInfo) && baseMonitorInfo.getMonitorType() == 1L) { - // 根据设备ID从Map中获取对应的温度数据 - TWTempertureData tempData = tempDataMap.get(baseMonitorInfo.getMonitorCode()); - // 如果温度数据不为空 - if (!ObjectUtils.isEmpty(tempData)) { - // 设置设备的温度值 - baseMonitorInfo.setTemperature(tempData.getTempreture()); - } - } - } - } List returnList = new ArrayList<>(); List tempList = baseMonitorInfos.stream().map(EmsBaseMonitorInfo::getObjId).collect(Collectors.toList()); @@ -371,9 +369,9 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService } return returnList; } - *//** + /** * 递归列表 - *//* + */ private void recursionFn(List list, EmsBaseMonitorInfo t) { // 得到子节点列表 @@ -386,7 +384,7 @@ public class EmsBaseMonitorInfoServiceImpl implements IEmsBaseMonitorInfoService recursionFn(list, tChild); } } - }*/ + } /** diff --git a/ruoyi-ui/src/api/board/index1.js b/ruoyi-ui/src/api/board/index1.js index 27e6896..d1c22e8 100644 --- a/ruoyi-ui/src/api/board/index1.js +++ b/ruoyi-ui/src/api/board/index1.js @@ -28,3 +28,13 @@ export function monitorInfoTree(query) { }) } + +// 查询看板计量设备信息下拉树结构 +export function boardMonitorInfoTree(data) { + return request({ + url: '/ems/base/baseMonitorInfo/boardMonitorInfoTree', + method: 'post', + data: data + }) +} + diff --git a/ruoyi-ui/src/api/ems/base/baseMonitorInfo.js b/ruoyi-ui/src/api/ems/base/baseMonitorInfo.js index 82835e1..01078e5 100644 --- a/ruoyi-ui/src/api/ems/base/baseMonitorInfo.js +++ b/ruoyi-ui/src/api/ems/base/baseMonitorInfo.js @@ -52,6 +52,17 @@ export function getMonitorInfoTree(data) { }) } + + +// 查询看板计量设备信息下拉树结构 +export function boardMonitorInfoTree(data) { + return request({ + url: '/ems/base/baseMonitorInfo/boardMonitorInfoTree', + method: 'post', + data: data + }) +} + //获取指定能源类型的设备数量。 export function getMonitorCountByEnergyType(energyType) { return request({ diff --git a/ruoyi-ui/src/views/board/index1.vue b/ruoyi-ui/src/views/board/index1.vue index a719499..5912daf 100644 --- a/ruoyi-ui/src/views/board/index1.vue +++ b/ruoyi-ui/src/views/board/index1.vue @@ -37,7 +37,7 @@