From f89d8418c223c2a63463f37258caabd62c752897 Mon Sep 17 00:00:00 2001
From: nnnjjj123 <494715143@qq.com>
Date: Sat, 30 Jan 2021 15:43:05 +0800
Subject: [PATCH] 1.设备树状图
---
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.java | 4 ++
blade-service/blade-jfpts/pom.xml | 2
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java | 12 ++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/entitly/catalog.java | 5 +-
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/vo/catalogVO.java | 41 ++++++++++++++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/impl/CatalogServiceImpl.java | 6 +++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.xml | 34 +++++++++++++++++
blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/catalogService.java | 2 +
blade-service/blade-jfpts/src/main/resources/application-dev.yml | 2
9 files changed, 103 insertions(+), 5 deletions(-)
diff --git a/blade-service/blade-jfpts/pom.xml b/blade-service/blade-jfpts/pom.xml
index 8ff2d3c..6bd268e 100644
--- a/blade-service/blade-jfpts/pom.xml
+++ b/blade-service/blade-jfpts/pom.xml
@@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
- <artifactId>jfpt</artifactId>
+ <artifactId>blade-jfpts</artifactId>
<name>${project.artifactId}</name>
<version>${bladex.project.version</version>
<packaging>jar</packaging>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java
index 8cca2a2..1aac3b0 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/controller/catalogController.java
@@ -25,11 +25,13 @@
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.BladeUser;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.jfpt.catalog.entitly.catalog;
import org.springblade.jfpt.catalog.service.catalogService;
import org.springblade.jfpt.catalog.vo.catalogVO;
+import org.springblade.system.vo.DeptVO;
import org.springframework.web.bind.annotation.*;
import org.springblade.jfpt.catalog.wrapper.catalogWrapper;
@@ -244,4 +246,14 @@
String result = format.format(today);
return result;
}
+
+
+ /**
+ * 懒加载获取部门树形结构
+ */
+ @GetMapping("/lazy-tree")
+ public R<List<catalogVO>> lazyTree(String tenantId, Long parentId, BladeUser bladeUser) {
+ List<catalogVO> tree = catalogService.lazyTree(Func.toStrWithEmpty(tenantId, bladeUser.getTenantId()), parentId);
+ return R.data(tree);
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/entitly/catalog.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/entitly/catalog.java
index 373ec0a..48aed0f 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/entitly/catalog.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/entitly/catalog.java
@@ -36,13 +36,14 @@
private static final long serialVersionUID = 1L;
- private Integer id;
+ private Long id;
@TableField("name")
private String name;
@TableField("pId")
- private Integer pId;
+ private Long pId;
@TableField("eqid")
private String eqid;
+ private String tenant_id;
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.java
index d157ac9..cc48181 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.java
@@ -18,6 +18,8 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.jfpt.catalog.entitly.catalog;
+import org.springblade.jfpt.catalog.vo.catalogVO;
+import org.springblade.system.vo.DeptVO;
import java.util.List;
import java.util.Map;
@@ -36,4 +38,6 @@
List<Map<String, Object>> selectWar(String beginTime,String endTime);
List selectCatalogEqNUmber(String pid);
+
+ List<catalogVO> lazyTree(String tenantId, Long parentId);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.xml b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.xml
index 9e719e8..646d90d 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.xml
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/mapper/catalogMapper.xml
@@ -8,6 +8,16 @@
<result column="name" property="name"/>
<result column="pId" property="pId"/>
<result column="eqid" property="eqid"/>
+ <result column="tenant_id" property="tenant_id"/>
+ </resultMap>
+
+ <resultMap id="treeNodeResultMap" type="org.springblade.core.tool.node.TreeNode">
+ <id column="id" property="id"/>
+ <result column="parent_id" property="parentId"/>
+ <result column="title" property="title"/>
+ <result column="value" property="value"/>
+ <result column="key" property="key"/>
+ <result column="has_children" property="hasChildren"/>
</resultMap>
@@ -72,4 +82,28 @@
SELECT COUNT(*) as cou,waringType FROM `sys_alarm` where DATE_FORMAT(alarmTime,'%Y-%m-%d')>=#{beginTime} and DATE_FORMAT(alarmTime,'%Y-%m-%d')<=#{endTime} GROUP BY waringType ORDER BY cou desc
</select>
+ <select id="lazyTree" resultMap="treeNodeResultMap" >
+ SELECT
+ dept.id,
+ dept.pId as parent_id,
+ dept.name AS title,
+ dept.eqid AS "value",
+ dept.eqid AS "key",
+ (
+ SELECT
+ CASE WHEN count(1) > 0 THEN 1 ELSE 0 END
+ FROM
+ sys_catalog
+ WHERE
+ pId = dept.id
+ ) AS "has_children"
+ FROM
+ sys_catalog dept
+ WHERE
+ dept.pId = #{param2}
+ <if test="param1!=null and param1!=''">
+ and dept.tenant_id = #{param1}
+ </if>
+ </select>
+
</mapper>
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/catalogService.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/catalogService.java
index 1864677..259276d 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/catalogService.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/catalogService.java
@@ -18,6 +18,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.jfpt.catalog.entitly.catalog;
+import org.springblade.jfpt.catalog.vo.catalogVO;
import java.util.List;
import java.util.Map;
@@ -35,4 +36,5 @@
List<Map<String, Object>> selectAddvcd();
List<Map<String, Object>> selectEq();
List<Map<String, Object>> selectWar(String beginTime,String endTime);
+ List<catalogVO> lazyTree(String tenantId, Long parentId);
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/impl/CatalogServiceImpl.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/impl/CatalogServiceImpl.java
index 41ef1e3..8206486 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/impl/CatalogServiceImpl.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/service/impl/CatalogServiceImpl.java
@@ -21,6 +21,7 @@
import org.springblade.jfpt.catalog.entitly.catalog;
import org.springblade.jfpt.catalog.mapper.catalogMapper;
import org.springblade.jfpt.catalog.service.catalogService;
+import org.springblade.jfpt.catalog.vo.catalogVO;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -64,4 +65,9 @@
public List<Map<String, Object>> selectWar(String beginTime,String endTime) {
return baseMapper.selectWar(beginTime, endTime);
}
+
+ @Override
+ public List<catalogVO> lazyTree(String tenantId, Long parentId) {
+ return baseMapper.lazyTree(tenantId, parentId);
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/vo/catalogVO.java b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/vo/catalogVO.java
index 57f788b..1e15bf3 100644
--- a/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/vo/catalogVO.java
+++ b/blade-service/blade-jfpts/src/main/java/org/springblade/jfpt/catalog/vo/catalogVO.java
@@ -16,10 +16,18 @@
*/
package org.springblade.jfpt.catalog.vo;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
+import org.springblade.core.tool.node.INode;
import org.springblade.jfpt.catalog.entitly.catalog;
+import org.springblade.system.vo.DeptVO;
+
+import java.util.ArrayList;
+import java.util.List;
/**
* 视图实体类
@@ -30,7 +38,38 @@
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "catalogVO对象", description = "catalogVO对象")
-public class catalogVO extends catalog {
+public class catalogVO extends catalog implements INode<catalogVO> {
private static final long serialVersionUID = 1L;
+ /**
+ * 主键ID
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long id;
+
+ /**
+ * 父节点ID
+ */
+ @JsonSerialize(using = ToStringSerializer.class)
+ private Long parentId;
+
+ /**
+ * 子孙节点
+ */
+ @JsonInclude(JsonInclude.Include.NON_EMPTY)
+ private List<catalogVO> children;
+
+ /**
+ * 是否有子孙节点
+ */
+ @JsonInclude(JsonInclude.Include.NON_EMPTY)
+ private Boolean hasChildren;
+
+ @Override
+ public List<catalogVO> getChildren() {
+ if (this.children == null) {
+ this.children = new ArrayList<>();
+ }
+ return this.children;
+ }
}
diff --git a/blade-service/blade-jfpts/src/main/resources/application-dev.yml b/blade-service/blade-jfpts/src/main/resources/application-dev.yml
index a133a89..d9839f9 100644
--- a/blade-service/blade-jfpts/src/main/resources/application-dev.yml
+++ b/blade-service/blade-jfpts/src/main/resources/application-dev.yml
@@ -1,6 +1,6 @@
#服务器端口
server:
- port: 9101
+ port: 89
#数据源配置
spring:
--
Gitblit v1.9.3