From c16a02bf8721610d8e4fa83671e75a15914f2a86 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 8 Jan 2024 09:10:18 +0800 Subject: [PATCH 1/3] =?UTF-8?q?pert:=20=E5=A2=9E=E5=8A=A0bdz=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/xydl/cac/repository/BdzRepository.java | 5 +++++ src/main/java/com/xydl/cac/service/BdzService.java | 4 ++-- .../com/xydl/cac/service/impl/BdzServiceImpl.java | 12 ++++++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/xydl/cac/repository/BdzRepository.java b/src/main/java/com/xydl/cac/repository/BdzRepository.java index 6d59830..570a468 100644 --- a/src/main/java/com/xydl/cac/repository/BdzRepository.java +++ b/src/main/java/com/xydl/cac/repository/BdzRepository.java @@ -5,8 +5,13 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public interface BdzRepository extends JpaRepository, JpaSpecificationExecutor { + List findByMc(String mc); + + List findByMcAndIdIsNot(String mc, Integer id); } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/BdzService.java b/src/main/java/com/xydl/cac/service/BdzService.java index 503b379..23e6de7 100644 --- a/src/main/java/com/xydl/cac/service/BdzService.java +++ b/src/main/java/com/xydl/cac/service/BdzService.java @@ -8,9 +8,9 @@ public interface BdzService { List listAll(); - Bdz add(Bdz item); + Bdz add(Bdz item) throws Exception; - void update(Bdz item); + void update(Bdz item) throws Exception; void delete(Integer id) throws Exception; } diff --git a/src/main/java/com/xydl/cac/service/impl/BdzServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/BdzServiceImpl.java index 75cdbf4..49acb74 100644 --- a/src/main/java/com/xydl/cac/service/impl/BdzServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/BdzServiceImpl.java @@ -29,13 +29,21 @@ public class BdzServiceImpl implements BdzService { } @Override - public Bdz add(Bdz item) { + public Bdz add(Bdz item) throws Exception { item.setId(null); + List list = repository.findByMc(item.getMc()); + if (!CollectionUtils.isEmpty(list)) { + throw new Exception("该名称已被使用"); + } return repository.save(item); } @Override - public void update(Bdz item) { + public void update(Bdz item) throws Exception { + List list = repository.findByMcAndIdIsNot(item.getMc(), item.getId()); + if (!CollectionUtils.isEmpty(list)) { + throw new Exception("该名称已被使用"); + } repository.save(item); } From 9ece1854986cccb844b8ad308339b0e59823b48d Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 8 Jan 2024 09:18:46 +0800 Subject: [PATCH 2/3] =?UTF-8?q?pert:=20=E5=A2=9E=E5=8A=A0=E5=8C=BA?= =?UTF-8?q?=E5=9F=9F=E5=92=8C=E4=B8=BB=E8=AE=BE=E5=A4=87=E5=90=8D=E7=A7=B0?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/xydl/cac/repository/JgRepository.java | 5 +++++ src/main/java/com/xydl/cac/repository/ZsbRepository.java | 5 +++++ .../java/com/xydl/cac/service/impl/JgServiceImpl.java | 8 ++++++++ .../java/com/xydl/cac/service/impl/ZsbServiceImpl.java | 8 ++++++++ 4 files changed, 26 insertions(+) diff --git a/src/main/java/com/xydl/cac/repository/JgRepository.java b/src/main/java/com/xydl/cac/repository/JgRepository.java index 4416fc9..583228b 100644 --- a/src/main/java/com/xydl/cac/repository/JgRepository.java +++ b/src/main/java/com/xydl/cac/repository/JgRepository.java @@ -10,5 +10,10 @@ import java.util.List; @Repository public interface JgRepository extends JpaRepository, JpaSpecificationExecutor { + List findByBdzid(Integer bdzId); + + List findByBdzidAndMc(Integer bdzId, String mc); + + List findByBdzidAndMcAndIdIsNot(Integer bdzId, String mc, Integer id); } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/repository/ZsbRepository.java b/src/main/java/com/xydl/cac/repository/ZsbRepository.java index 76229ee..3c4ce6f 100644 --- a/src/main/java/com/xydl/cac/repository/ZsbRepository.java +++ b/src/main/java/com/xydl/cac/repository/ZsbRepository.java @@ -10,5 +10,10 @@ import java.util.List; @Repository public interface ZsbRepository extends JpaRepository, JpaSpecificationExecutor { + List findByJgid(Integer jgid); + + List findByJgidAndMc(Integer jgid, String mc); + + List findByJgidAndMcAndIdIsNot(Integer jgid, String mc, Integer id); } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java index 67bc593..23e9272 100644 --- a/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java @@ -67,6 +67,10 @@ public class JgServiceImpl implements JgService { if (!optionalBdz.isPresent()) { throw new Exception("未找到该变电站"); } + List list = repository.findByBdzidAndMc(item.getBdzid(), item.getMc()); + if (!CollectionUtils.isEmpty(list)) { + throw new Exception("该名称已被使用"); + } return repository.save(item); } @@ -76,6 +80,10 @@ public class JgServiceImpl implements JgService { if (!optionalBdz.isPresent()) { throw new Exception("未找到该变电站"); } + List list = repository.findByBdzidAndMcAndIdIsNot(item.getBdzid(), item.getMc(), item.getId()); + if (!CollectionUtils.isEmpty(list)) { + throw new Exception("该名称已被使用"); + } repository.save(item); } diff --git a/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java index 496c170..58bd4d8 100644 --- a/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java +++ b/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java @@ -87,6 +87,10 @@ public class ZsbServiceImpl implements ZsbService { if (!optionalLx.isPresent()) { throw new Exception("未找到该设备类型"); } + List list = repository.findByJgidAndMc(item.getJgid(), item.getMc()); + if (!CollectionUtils.isEmpty(list)) { + throw new Exception("该名称已被使用"); + } return repository.save(item); } @@ -98,6 +102,10 @@ public class ZsbServiceImpl implements ZsbService { if (!optionalLx.isPresent()) { throw new Exception("未找到该设备类型"); } + List list = repository.findByJgidAndMcAndIdIsNot(item.getJgid(), item.getMc(), item.getId()); + if (!CollectionUtils.isEmpty(list)) { + throw new Exception("该名称已被使用"); + } repository.save(item); } From cb1ad751b62fdfb5182956bcdcb2552e508f751c Mon Sep 17 00:00:00 2001 From: huangfeng Date: Mon, 8 Jan 2024 09:39:06 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=BB=91=E5=AE=9A=E6=9F=A5=E8=AF=A2=E6=A0=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cac/controller/ParamBindController.java | 30 +++++++++++ src/main/java/com/xydl/cac/entity/Bdz.java | 4 ++ src/main/java/com/xydl/cac/entity/Jg.java | 3 ++ src/main/java/com/xydl/cac/entity/Zsb.java | 4 ++ .../xydl/cac/service/ParamBindService.java | 10 ++++ .../service/impl/ParamBindServiceImpl.java | 54 +++++++++++++++++++ 6 files changed, 105 insertions(+) create mode 100644 src/main/java/com/xydl/cac/controller/ParamBindController.java create mode 100644 src/main/java/com/xydl/cac/service/ParamBindService.java create mode 100644 src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java diff --git a/src/main/java/com/xydl/cac/controller/ParamBindController.java b/src/main/java/com/xydl/cac/controller/ParamBindController.java new file mode 100644 index 0000000..1c1501c --- /dev/null +++ b/src/main/java/com/xydl/cac/controller/ParamBindController.java @@ -0,0 +1,30 @@ +package com.xydl.cac.controller; + +import com.xydl.cac.entity.Bdz; +import com.xydl.cac.model.Response; +import com.xydl.cac.service.ParamBindService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +@Api(tags = {"参数绑定相关接口"}) +@RequestMapping("parambind") +@Slf4j +public class ParamBindController extends BasicController { + + @Resource + ParamBindService bindService; + + @GetMapping("getTree") + @ApiOperation("查询树") + public Response> getTree() throws Exception { + List result = bindService.getTree(); + return Response.success(result); + } + +} diff --git a/src/main/java/com/xydl/cac/entity/Bdz.java b/src/main/java/com/xydl/cac/entity/Bdz.java index 707a776..6e47ce8 100644 --- a/src/main/java/com/xydl/cac/entity/Bdz.java +++ b/src/main/java/com/xydl/cac/entity/Bdz.java @@ -10,6 +10,7 @@ import lombok.NoArgsConstructor; import javax.persistence.*; import javax.validation.constraints.NotEmpty; import java.math.BigDecimal; +import java.util.List; @Data @Builder @@ -91,4 +92,7 @@ public class Bdz { @Column(name = "svgurl") private String svgurl; + @Transient + private List children; + } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/entity/Jg.java b/src/main/java/com/xydl/cac/entity/Jg.java index 445992b..c50912f 100644 --- a/src/main/java/com/xydl/cac/entity/Jg.java +++ b/src/main/java/com/xydl/cac/entity/Jg.java @@ -11,6 +11,7 @@ import javax.persistence.*; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.math.BigDecimal; +import java.util.List; @Data @Builder @@ -49,4 +50,6 @@ public class Jg { @Transient private String bdzName; + @Transient + private List children; } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/entity/Zsb.java b/src/main/java/com/xydl/cac/entity/Zsb.java index 61d8d4d..c493ccb 100644 --- a/src/main/java/com/xydl/cac/entity/Zsb.java +++ b/src/main/java/com/xydl/cac/entity/Zsb.java @@ -11,6 +11,7 @@ import javax.persistence.*; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.math.BigDecimal; +import java.util.List; @Data @Builder @@ -216,4 +217,7 @@ public class Zsb { @Transient private String lxName; + @Transient + private List children; + } \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/ParamBindService.java b/src/main/java/com/xydl/cac/service/ParamBindService.java new file mode 100644 index 0000000..875d258 --- /dev/null +++ b/src/main/java/com/xydl/cac/service/ParamBindService.java @@ -0,0 +1,10 @@ +package com.xydl.cac.service; + +import com.xydl.cac.entity.Bdz; + +import java.util.List; + +public interface ParamBindService { + + List getTree() throws Exception; +} diff --git a/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java new file mode 100644 index 0000000..25824fb --- /dev/null +++ b/src/main/java/com/xydl/cac/service/impl/ParamBindServiceImpl.java @@ -0,0 +1,54 @@ +package com.xydl.cac.service.impl; + +import com.xydl.cac.entity.Bdz; +import com.xydl.cac.entity.Jg; +import com.xydl.cac.entity.Modev; +import com.xydl.cac.entity.Zsb; +import com.xydl.cac.repository.BdzRepository; +import com.xydl.cac.repository.JgRepository; +import com.xydl.cac.repository.ModevRepository; +import com.xydl.cac.repository.ZsbRepository; +import com.xydl.cac.service.ParamBindService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; + +import javax.annotation.Resource; +import java.util.List; + +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class ParamBindServiceImpl implements ParamBindService { + + @Resource + BdzRepository bdzRepository; + @Resource + JgRepository jgRepository; + @Resource + ZsbRepository zsbRepository; + @Resource + ModevRepository modevRepository; + + @Override + public List getTree() throws Exception { + List bdzList = bdzRepository.findAll(); + for (Bdz bdz : bdzList) { + List jgList = jgRepository.findByBdzid(bdz.getId()); + bdz.setChildren(jgList); + for (Jg jg : jgList) { + jg.setBdzName(bdz.getMc()); + List zsbList = zsbRepository.findByJgid(jg.getId()); + jg.setChildren(zsbList); + for (Zsb zsb : zsbList) { + zsb.setBdzName(bdz.getMc()); + zsb.setJgName(jg.getMc()); + List modevList = modevRepository.findByZsbid(zsb.getId()); + zsb.setChildren(modevList); + } + } + } + return bdzList; + } +}