From 78b99accc93bbfd88f0c1ae4188967776b7adb58 Mon Sep 17 00:00:00 2001 From: duanwenbin <12345678> Date: Wed, 14 Jul 2021 16:17:50 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E6=A0=91=E5=BD=A2=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sarTree/controller/TreeController.java | 51 +++++++++++++++++++ .../adc/da/slrs/sarTree/dao/SarModelDao.java | 15 ++++++ .../adc/da/slrs/sarTree/dao/SarVPPSDao.java | 15 ++++++ .../adc/da/slrs/sarTree/entity/SarModel.java | 35 +++++++++++++ .../adc/da/slrs/sarTree/entity/SarVPPS.java | 38 ++++++++++++++ .../slrs/sarTree/service/SarModelService.java | 11 ++++ .../slrs/sarTree/service/SarVPPSService.java | 9 ++++ .../service/impl/SarModelServiceImpl.java | 47 +++++++++++++++++ .../service/impl/SarVPPSServiceImpl.java | 48 +++++++++++++++++ 9 files changed, 269 insertions(+) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/controller/TreeController.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/dao/SarModelDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/dao/SarVPPSDao.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/entity/SarModel.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/entity/SarVPPS.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/SarModelService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/SarVPPSService.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/impl/SarModelServiceImpl.java create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/impl/SarVPPSServiceImpl.java diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/controller/TreeController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/controller/TreeController.java new file mode 100644 index 00000000..d66960c4 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/controller/TreeController.java @@ -0,0 +1,51 @@ +package com.adc.da.slrs.sarTree.controller; + +import com.adc.da.base.web.BaseController; +import com.adc.da.http.ResponseMessage; +import com.adc.da.http.Result; +import com.adc.da.slrs.sarRole.entity.TsRole; +import com.adc.da.slrs.sarTree.entity.SarModel; +import com.adc.da.slrs.sarTree.entity.SarVPPS; +import com.adc.da.slrs.sarTree.service.SarModelService; +import com.adc.da.slrs.sarTree.service.SarVPPSService; +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.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import java.util.List; +import java.util.Map; + +@RestController +@Api(tags = "|获取树列表|") +@RequestMapping("/api/sarVpps") +public class TreeController extends BaseController { + + @Autowired + private SarVPPSService sarVPPSService; + @Autowired + private SarModelService sarModelService; + + @ApiOperation("VPPS树列表") + @GetMapping("/tree/list1") + public ResponseMessage> getTreeList1(){ + List sarVpps = sarVPPSService.findTreeAll(); + return Result.success(sarVpps); + } + + @ApiOperation("模块结构单元树列表") + @GetMapping("/tree/list2") + public ResponseMessage> getTreeList2(){ + List sarVpps = sarModelService.findTreeAll(); + return Result.success(sarVpps); + } + +// @ApiOperation("根据角色名筛选角色") +// @GetMapping("/tree/node/list") +// public ResponseMessage> getTreeNodeList(String code){ +// Map map = sarVPPSService.findTreeAll(code); +// return Result.success(map); +// } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/dao/SarModelDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/dao/SarModelDao.java new file mode 100644 index 00000000..735b69dc --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/dao/SarModelDao.java @@ -0,0 +1,15 @@ +package com.adc.da.slrs.sarTree.dao; + +import com.adc.da.slrs.sarTree.entity.SarModel; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import java.util.List; + +public interface SarModelDao extends BaseMapper { + + @Select("select id,pid,CONCAT(name,model) name,features from sar_model_tree where 1=1 and isnull(pid)") + List findTreeAll(); + @Select("select id,pid,CONCAT(name,model) name,features from sar_model_tree where 1=1 and pid = #{pid}") + List selectList(@Param("pid") String pid); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/dao/SarVPPSDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/dao/SarVPPSDao.java new file mode 100644 index 00000000..92e7ff25 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/dao/SarVPPSDao.java @@ -0,0 +1,15 @@ +package com.adc.da.slrs.sarTree.dao; + +import com.adc.da.slrs.sarTree.entity.SarVPPS; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import java.util.List; + +public interface SarVPPSDao extends BaseMapper { + + @Select("select id,pid,CONCAT(VPPS_CODE,CHINESE_NAME,ENGLISH_NAME) name,code from sar_vpps_tree where 1=1 and isnull(pid)") + List findTreeAll(); + @Select("select id,pid,CONCAT(VPPS_CODE,CHINESE_NAME,ENGLISH_NAME) name,code from sar_vpps_tree where 1=1 and pid = #{pid}") + List selectList(@Param("pid") String pid); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/entity/SarModel.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/entity/SarModel.java new file mode 100644 index 00000000..dab25cd9 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/entity/SarModel.java @@ -0,0 +1,35 @@ +package com.adc.da.slrs.sarTree.entity; + +import com.adc.da.base.entity.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.data.annotation.Transient; + +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarModel对象", description="") +public class SarModel extends BaseEntity { + private static final long serialVersionUID = 1L; + + private String id; + + private String name; + + private String pid; + + private String model; + + private String features; + + private String delFlag; + + @Transient + private List children; + + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/entity/SarVPPS.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/entity/SarVPPS.java new file mode 100644 index 00000000..af7f22c2 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/entity/SarVPPS.java @@ -0,0 +1,38 @@ +package com.adc.da.slrs.sarTree.entity; + +import com.adc.da.base.entity.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.springframework.data.annotation.Transient; +import java.util.List; + +@Data +@EqualsAndHashCode(callSuper = true) +@Accessors(chain = true) +@ApiModel(value="SarVPPS对象", description="") +public class SarVPPS extends BaseEntity { + private static final long serialVersionUID = 1L; + + private String id; + + private String vppsCode; + + private String pid; + + private String code; + + private String chineseName; + + private String englishName; + + private String delFlag; + + @Transient + private List children; + + @Transient + private String name; + +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/SarModelService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/SarModelService.java new file mode 100644 index 00000000..8c02b113 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/SarModelService.java @@ -0,0 +1,11 @@ +package com.adc.da.slrs.sarTree.service; + +import com.adc.da.slrs.sarTree.entity.SarModel; +import com.adc.da.slrs.sarTree.entity.SarVPPS; + +import java.util.List; + +public interface SarModelService { + + List findTreeAll(); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/SarVPPSService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/SarVPPSService.java new file mode 100644 index 00000000..b9e4ac3f --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/SarVPPSService.java @@ -0,0 +1,9 @@ +package com.adc.da.slrs.sarTree.service; + +import com.adc.da.slrs.sarTree.entity.SarVPPS; +import java.util.List; + +public interface SarVPPSService { + + List findTreeAll(); +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/impl/SarModelServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/impl/SarModelServiceImpl.java new file mode 100644 index 00000000..729a9f06 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/impl/SarModelServiceImpl.java @@ -0,0 +1,47 @@ +package com.adc.da.slrs.sarTree.service.impl; + +import com.adc.da.slrs.sarTree.dao.SarModelDao; +import com.adc.da.slrs.sarTree.entity.SarModel; +import com.adc.da.slrs.sarTree.service.SarModelService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class SarModelServiceImpl implements SarModelService { + private static final Logger logger = LoggerFactory.getLogger(SarModelServiceImpl.class); + + @Autowired + private SarModelDao sarModelDao; + + @Override + public List findTreeAll() { + //查询父级都为null的数据 + List sarVppsList = sarModelDao.findTreeAll(); + for (SarModel sarVppsOne : sarVppsList) { + sarVppsOne.setChildren(getChildren(sarVppsOne)); + } + return sarVppsList; + } + + /** + * 递归调用获取子节点 + * + * @param parent:父节点 + * @return List + */ + private List getChildren(SarModel parent) { + String pid = parent.getId(); + List children = sarModelDao.selectList(pid); + for (SarModel sarVppsOne : children) { + sarVppsOne.setChildren(getChildren((sarVppsOne))); + } + return children; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/impl/SarVPPSServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/impl/SarVPPSServiceImpl.java new file mode 100644 index 00000000..30db1809 --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarTree/service/impl/SarVPPSServiceImpl.java @@ -0,0 +1,48 @@ +package com.adc.da.slrs.sarTree.service.impl; + +import com.adc.da.slrs.sarResource.entity.TsResource; +import com.adc.da.slrs.sarTree.dao.SarVPPSDao; +import com.adc.da.slrs.sarTree.entity.SarVPPS; +import com.adc.da.slrs.sarTree.service.SarVPPSService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import java.util.List; + +@Service +@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class) +public class SarVPPSServiceImpl implements SarVPPSService { + private static final Logger logger = LoggerFactory.getLogger(SarVPPSServiceImpl.class); + + @Autowired + private SarVPPSDao sarVPPSDao; + + @Override + public List findTreeAll() { + //查询父级都为null的数据 + List sarVppsList = sarVPPSDao.findTreeAll(); + for (SarVPPS sarVppsOne:sarVppsList) { + sarVppsOne.setChildren(getChildren(sarVppsOne)); + } + return sarVppsList; + } + + /** + * 递归调用获取子节点 + * @param parent:父节点 + * @return List + */ + private List getChildren(SarVPPS parent){ + String pid = parent.getId(); + List children = sarVPPSDao.selectList(pid); + for(SarVPPS sarVppsOne:children){ + sarVppsOne.setChildren(getChildren((sarVppsOne))); + } + return children; + } + +}