From 2b0d7956faa548b2f913a333fbd2d0d99aedfa90 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期二, 19 九月 2023 16:58:25 +0800
Subject: [PATCH] 设备健康列表
---
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWellJson.java | 28 +++++
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java | 12 ++
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java | 5
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java | 10 ++
ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java | 110 +++++++++++++++++----
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/HealthVo.java | 22 ++++
ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWellDeptVo.java | 2
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWell.java | 90 ++++++++++++++++++
8 files changed, 254 insertions(+), 25 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWellDeptVo.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWellDeptVo.java
index fe4c08d..90223ca 100644
--- a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWellDeptVo.java
+++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/domain/ArdAlarmpointsWellDeptVo.java
@@ -52,7 +52,7 @@
private BigDecimal altitude;
- private Integer deptId;
+ private Long deptId;
private Integer parentId;
diff --git a/ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java b/ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
index f2bc7f7..ff86ec3 100644
--- a/ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
+++ b/ard-work/src/main/java/com/ruoyi/health/controller/HealthController.java
@@ -3,9 +3,11 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWell;
import com.ruoyi.alarmpoints.well.domain.ArdAlarmpointsWellDeptVo;
+import com.ruoyi.common.core.domain.HealthVo;
import com.ruoyi.alarmpoints.well.service.IArdAlarmpointsWellService;
+import com.ruoyi.common.core.domain.TreeSelectWell;
+import com.ruoyi.common.core.domain.TreeSelectWellJson;
import com.ruoyi.common.core.domain.entity.SysConfig;
import com.ruoyi.common.core.domain.entity.SysDept;
import com.ruoyi.common.core.domain.entity.SysUser;
@@ -55,6 +57,8 @@
@Autowired
private ISysDeptService sysDeptService;
+
+
@PreAuthorize("@ss.hasPermi('sy:syCar:getEquipmentListByUser')")
@ApiOperation("鏍规嵁鏉冮檺鑾峰彇璁惧鍒楄〃")
@GetMapping("getEquipmentListByUser")
@@ -80,8 +84,11 @@
String longest = "";
//绛夌骇
int count0 = 0,count1 = 0,count2 = 0;
+ //瑁呮暟鎹�
+ List<HealthVo> healthVos = new ArrayList<>();
if ((int) mapResult.get("code") == 200) {
List<Map<String, Object>> listResult = (List<Map<String, Object>>) JSON.parse((String) mapResult.get("resdata"));
+ //寰幆寰楀埌鏉冮檺涓嬪尮閰嶆暟鎹�
for (int i = 0; i < listResult.size(); i++) {
JSONObject jsonObject = new JSONObject();
String equipNumber = (String) listResult.get(i).get("EquipNumber");
@@ -94,23 +101,19 @@
String wellId = list.get(j).getWellId();
if(wellId!=null){
if(wellId.equals(equipNumber)){
- String[] ancestorsArray = ancestors.split(",");
- int max = ancestorsArray.length;
- jsonObject.put("id",listResult.get(i).get("id"));
- jsonObject.put("EquipName",listResult.get(i).get("EquipName"));
- jsonObject.put("EquipNumber",listResult.get(i).get("EquipNumber"));
- jsonObject.put("EquipLevel",listResult.get(i).get("EquipLevel"));
- jsonObject.put("MeasureDate",listResult.get(i).get("MeasureDate"));
- jsonObject.put("EquipKey",listResult.get(i).get("EquipKey"));
- jsonObject.put("longitude",list.get(j).getLongitude());
- jsonObject.put("latitude",list.get(j).getLatitude());
- jsonObject.put("altitude",list.get(j).getAltitude());
- jsonObject.put("deptId",list.get(j).getDeptId());
- jsonObject.put("deptName",list.get(j).getDeptName());
- jsonObject.put("parentId",list.get(j).getParentId());
- jsonObject.put("ancestors",list.get(j).getAncestors());
- jsonObject.put("tier",max);
- jsonArray.add(jsonObject);
+ //杩斿洖璁惧鏁版嵁
+ HealthVo healthVo = new HealthVo();
+ healthVo.setId((Integer) listResult.get(i).get("id"));
+ healthVo.setEquipName((String) listResult.get(i).get("EquipName"));
+ healthVo.setEquipNumber((String) listResult.get(i).get("EquipNumber"));
+ healthVo.setEquipLevel((String) listResult.get(i).get("EquipLevel"));
+ healthVo.setEquipKey((String) listResult.get(i).get("EquipKey"));
+ healthVo.setMeasureDate((String) listResult.get(i).get("MeasureDate"));
+ healthVo.setLongitude(list.get(j).getLongitude());
+ healthVo.setLatitude(list.get(j).getLatitude());
+ healthVo.setAltitude(list.get(j).getAltitude());
+ healthVo.setDeptId(list.get(j).getDeptId());
+ healthVos.add(healthVo);
if(listResult.get(i).get("EquipLevel").equals("0")){
count0++;
}else if(listResult.get(i).get("EquipLevel").equals("1")){
@@ -127,11 +130,72 @@
//鐢ㄩ�楀彿鍒嗛殧瀛楃鍚庣殑size涓烘渶澶х殑缁撴瀯灞傛暟
String[] ancestorsArray = longest.split(",");
int max = ancestorsArray.length;
- JSONObject j = new JSONObject();
- j.put("count0",count0);
- j.put("count1",count1);
- j.put("count2",count2);
- return Results.succeed(jsonArray);
+ //鑾峰彇閮ㄩ棬灞傜骇
+ List<SysDept> sysDepts = sysDeptService.all();
+ List<TreeSelectWell> tree = sysDeptService.wellTree(sysDepts);
+ //寰幆鏁版嵁鎸傚湪鍒伴儴闂ㄥ眰绾т笅
+ for (int i = 0; i < healthVos.size(); i++) {
+ HealthVo healthVo = healthVos.get(i);
+ Long deptId = healthVo.getDeptId();
+ //寰幆鏍戠粨鏋�
+ for (int j = 0; j < tree.size(); j++) {
+ //濡傛灉绗竴灞傚尮閰嶈祴鍊�
+ if(deptId.equals(tree.get(j).getId())){
+ tree.get(j).getWell().add(healthVo);
+ break;
+ }else {
+ //涓嶅尮閰嶄笖children澶т簬0鏌ヨ绗簩灞�
+ if(tree.get(j).getChildren().size()>0){
+ for (int k = 0; k < tree.get(j).getChildren().size(); k++) {
+ //濡傛灉绗簩灞傚尮閰�
+ if(deptId.equals(tree.get(j).getChildren().get(k).getId())){
+ tree.get(j).getChildren().get(k).getWell().add(healthVo);
+ break;
+ }else {
+ //涓嶅尮閰嶄笖children澶т簬0鏌ヨ绗笁灞�
+ if(tree.get(j).getChildren().get(k).getChildren().size()>0){
+ for (int l = 0; l < tree.get(j).getChildren().get(k).getChildren().size(); l++) {
+ //濡傛灉绗笁灞傚尮閰�
+ if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getId())){
+ tree.get(j).getChildren().get(k).getChildren().get(l).getWell().add(healthVo);
+ break;
+ }else {
+ //涓嶅尮閰嶄笖children澶т簬0鏌ヨ绗洓灞�
+ if(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().size()>0){
+ for (int m = 0; m < tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().size(); m++) {
+ //濡傛灉绗洓灞傚尮閰�
+ if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getId())){
+ tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getWell().add(healthVo);
+ break;
+ }else {
+ //涓嶅尮閰嶄笖children澶т簬0鏌ヨ绗簲灞�
+ if(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().size()>0){
+ for (int n = 0; n < tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().size(); n++) {
+ //濡傛灉绗簲灞傚尮閰�
+ if(deptId.equals(tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().get(n).getId())){
+ tree.get(j).getChildren().get(k).getChildren().get(l).getChildren().get(m).getChildren().get(n).getWell().add(healthVo);
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ TreeSelectWellJson treeSelectWellJson = new TreeSelectWellJson();
+ treeSelectWellJson.setWellList(tree);
+ treeSelectWellJson.setCount0(count0);
+ treeSelectWellJson.setCount1(count1);
+ treeSelectWellJson.setCount2(count2);
+ return Results.succeed(treeSelectWellJson);
} else {
//閿欒鎻愮ず
return Results.error((String) mapResult.get("errmsg"));
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/HealthVo.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/HealthVo.java
new file mode 100644
index 0000000..d3dc190
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/HealthVo.java
@@ -0,0 +1,22 @@
+package com.ruoyi.common.core.domain;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class HealthVo {
+
+ private Integer id;
+ private String equipName;
+ private String equipNumber;
+ private String equipKey;
+ private String equipLevel;
+ private String measureDate;
+
+ private Long deptId;
+ private BigDecimal longitude;
+ private BigDecimal latitude;
+ private BigDecimal altitude;
+
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWell.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWell.java
new file mode 100644
index 0000000..df3a0bc
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWell.java
@@ -0,0 +1,90 @@
+package com.ruoyi.common.core.domain;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysMenu;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Treeselect鏍戠粨鏋勫疄浣撶被
+ *
+ * @author ruoyi
+ */
+public class TreeSelectWell implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 鑺傜偣ID */
+ private Long id;
+
+ /** 鑺傜偣鍚嶇О */
+ private String label;
+
+ /** 瀛愯妭鐐� */
+ @JsonInclude(JsonInclude.Include.NON_EMPTY)
+ private List<TreeSelectWell> children;
+
+ public List<HealthVo> getWell() {
+ return well;
+ }
+
+ public void setWell(List<HealthVo> well) {
+ this.well = well;
+ }
+
+ private List<HealthVo> well = new ArrayList<>();
+
+ public TreeSelectWell()
+ {
+
+ }
+
+ public TreeSelectWell(SysDept dept)
+ {
+ this.id = dept.getDeptId();
+ this.label = dept.getDeptName();
+ this.children = dept.getChildren().stream().map(TreeSelectWell::new).collect(Collectors.toList());
+ }
+
+ public TreeSelectWell(SysMenu menu)
+ {
+ this.id = menu.getMenuId();
+ this.label = menu.getMenuName();
+ this.children = menu.getChildren().stream().map(TreeSelectWell::new).collect(Collectors.toList());
+ }
+
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public String getLabel()
+ {
+ return label;
+ }
+
+ public void setLabel(String label)
+ {
+ this.label = label;
+ }
+
+ public List<TreeSelectWell> getChildren()
+ {
+ return children;
+ }
+
+ public void setChildren(List<TreeSelectWell> children)
+ {
+ this.children = children;
+ }
+
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWellJson.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWellJson.java
new file mode 100644
index 0000000..f36d151
--- /dev/null
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/TreeSelectWellJson.java
@@ -0,0 +1,28 @@
+package com.ruoyi.common.core.domain;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.ruoyi.common.core.domain.entity.SysDept;
+import com.ruoyi.common.core.domain.entity.SysMenu;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * Treeselect鏍戠粨鏋勫疄浣撶被
+ *
+ * @author ruoyi
+ */
+@Data
+public class TreeSelectWellJson implements Serializable
+{
+ private static final long serialVersionUID = 1L;
+
+ List<TreeSelectWell> wellList;
+ int count0;
+ int count1;
+ int count2;
+
+
+}
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
index 46c50ae..4ea64a0 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysDept.java
@@ -7,6 +7,7 @@
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
@@ -53,12 +54,14 @@
private String delFlag;
/** 鐖堕儴闂ㄥ悕绉� */
+ @TableField(exist = false)
private String parentName;
/** 瀛愰儴闂� */
+ @TableField(exist = false)
private List<SysDept> children = new ArrayList<SysDept>();
-
+ @TableField(exist = false)
private boolean disabled;
public boolean isDisabled() {
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
index c18f045..40598fa 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
@@ -3,7 +3,9 @@
import java.util.List;
import java.util.Map;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.core.domain.TreeSelect;
+import com.ruoyi.common.core.domain.TreeSelectWell;
import com.ruoyi.common.core.domain.entity.SysDept;
/**
@@ -131,5 +133,13 @@
*/
List<Long> deptIdBySub(Long deptId);
+ List<SysDept> all();
+
+ /**
+ * 棰勭暀缁撴瀯鐨勬爲褰�
+ * @param depts
+ * @return
+ */
+ List<TreeSelectWell> wellTree(List<SysDept> depts);
}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
index 7c8faa3..a7e0212 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
@@ -4,6 +4,7 @@
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ruoyi.common.core.domain.TreeSelectWell;
import org.springframework.stereotype.Service;
import com.ruoyi.common.annotation.DataScope;
import com.ruoyi.common.constant.UserConstants;
@@ -351,5 +352,16 @@
return deptList;
}
+ @Override
+ public List<SysDept> all() {
+ return deptMapper.selectList(null);
+ }
+
+ @Override
+ public List<TreeSelectWell> wellTree(List<SysDept> depts) {
+ List<SysDept> deptTrees = buildDeptTree(depts);
+ return deptTrees.stream().map(TreeSelectWell::new).collect(Collectors.toList());
+ }
+
}
--
Gitblit v1.9.3