diff --git a/pom.xml b/pom.xml
index 2ebe390..b1804d1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,10 +30,10 @@
org.springframework.boot
spring-boot-starter-web
-
-
-
-
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
org.springframework.security
spring-security-core
diff --git a/src/main/java/com/xydl/cac/controller/JgController.java b/src/main/java/com/xydl/cac/controller/JgController.java
new file mode 100644
index 0000000..7c287e6
--- /dev/null
+++ b/src/main/java/com/xydl/cac/controller/JgController.java
@@ -0,0 +1,72 @@
+package com.xydl.cac.controller;
+
+import com.xydl.cac.entity.Jg;
+import com.xydl.cac.model.Response;
+import com.xydl.cac.service.JgService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@RestController
+@Api(tags = {"区域间隔相关接口"})
+@RequestMapping("area")
+@Slf4j
+public class JgController extends BasicController {
+
+ @Resource
+ JgService service;
+
+ @GetMapping("listAll")
+ @ApiOperation("查询列表")
+ public Response> listAll(Integer bdzid) {
+ try {
+ List result = service.listAll(bdzid);
+ return Response.success(result);
+ } catch (Exception ex) {
+ return Response.fail(ex.getMessage());
+ }
+ }
+
+ @PostMapping("add")
+ @ApiOperation("新增")
+ public Response add(@Validated @RequestBody Jg item) {
+ try {
+ Jg result = service.add(item);
+ return Response.success(result);
+ } catch (Exception ex) {
+ return Response.fail(ex.getMessage());
+ }
+ }
+
+ @PostMapping("update")
+ @ApiOperation("更新")
+ public Response update(@Validated @RequestBody Jg item) {
+ try {
+ if (item.getId() == null) {
+ throw new Exception("ID不能为空!");
+ }
+ service.update(item);
+ return Response.success("OK");
+ } catch (Exception ex) {
+ return Response.fail(ex.getMessage());
+ }
+ }
+
+ @PostMapping("delete")
+ @ApiOperation("删除")
+ public Response delete(@Validated @NotNull(message = "ID不能为空!") Integer id) {
+ try {
+ service.delete(id);
+ return Response.success("OK");
+ } catch (Exception ex) {
+ return Response.fail(ex.getMessage());
+ }
+ }
+
+}
diff --git a/src/main/java/com/xydl/cac/controller/ZsbController.java b/src/main/java/com/xydl/cac/controller/ZsbController.java
new file mode 100644
index 0000000..909ad03
--- /dev/null
+++ b/src/main/java/com/xydl/cac/controller/ZsbController.java
@@ -0,0 +1,72 @@
+package com.xydl.cac.controller;
+
+import com.xydl.cac.entity.Zsb;
+import com.xydl.cac.model.Response;
+import com.xydl.cac.service.ZsbService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@RestController
+@Api(tags = {"主设备相关接口"})
+@RequestMapping("zsb")
+@Slf4j
+public class ZsbController extends BasicController {
+
+ @Resource
+ ZsbService service;
+
+ @GetMapping("listAll")
+ @ApiOperation("查询全部列表")
+ public Response> listAll(Integer jgid) {
+ try {
+ List result = service.listAll(jgid);
+ return Response.success(result);
+ } catch (Exception ex) {
+ return Response.fail(ex.getMessage());
+ }
+ }
+
+ @PostMapping("add")
+ @ApiOperation("新增")
+ public Response add(@Validated @RequestBody Zsb item) {
+ try {
+ Zsb result = service.add(item);
+ return Response.success(result);
+ } catch (Exception ex) {
+ return Response.fail(ex.getMessage());
+ }
+ }
+
+ @PostMapping("update")
+ @ApiOperation("更新")
+ public Response update(@Validated @RequestBody Zsb item) {
+ try {
+ if (item.getId() == null) {
+ throw new Exception("ID不能为空!");
+ }
+ service.update(item);
+ return Response.success("OK");
+ } catch (Exception ex) {
+ return Response.fail(ex.getMessage());
+ }
+ }
+
+ @PostMapping("delete")
+ @ApiOperation("删除")
+ public Response delete(@Validated @NotNull(message = "ID不能为空!") Integer id) {
+ try {
+ service.delete(id);
+ return Response.success("OK");
+ } catch (Exception ex) {
+ return Response.fail(ex.getMessage());
+ }
+ }
+
+}
diff --git a/src/main/java/com/xydl/cac/entity/Jg.java b/src/main/java/com/xydl/cac/entity/Jg.java
new file mode 100644
index 0000000..1d14736
--- /dev/null
+++ b/src/main/java/com/xydl/cac/entity/Jg.java
@@ -0,0 +1,45 @@
+package com.xydl.cac.entity;
+
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@Entity
+@Table(name = "jg")
+@ApiModel("区域间隔表")
+public class Jg {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Integer id;
+
+ @NotEmpty(message = "名称不能为空")
+ @Column(name = "mc")
+ private String mc;
+
+ @NotNull(message = "变电站id不能为空")
+ @Column(name = "bdzid")
+ private Integer bdzid;
+
+ @Column(name = "ls")
+ private BigDecimal ls;
+
+ @Column(name = "areaid")
+ private String areaid;
+
+ @Column(name = "xh")
+ private BigDecimal xh;
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/xydl/cac/entity/Lx.java b/src/main/java/com/xydl/cac/entity/Lx.java
index c29c571..a102e26 100644
--- a/src/main/java/com/xydl/cac/entity/Lx.java
+++ b/src/main/java/com/xydl/cac/entity/Lx.java
@@ -14,7 +14,7 @@ import java.math.BigDecimal;
@AllArgsConstructor
@NoArgsConstructor
@Entity
-@Table(name = "bdz")
+@Table(name = "lx")
@ApiModel("设备类型表")
public class Lx {
diff --git a/src/main/java/com/xydl/cac/entity/Zsb.java b/src/main/java/com/xydl/cac/entity/Zsb.java
new file mode 100644
index 0000000..59e0941
--- /dev/null
+++ b/src/main/java/com/xydl/cac/entity/Zsb.java
@@ -0,0 +1,201 @@
+package com.xydl.cac.entity;
+
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.persistence.*;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+@Entity
+@Table(name = "zsb")
+@ApiModel("主设备表")
+public class Zsb {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.IDENTITY)
+ @Column(name = "id")
+ private Integer id;
+
+ @NotEmpty(message = "名称不能为空")
+ @Column(name = "mc")
+ private String mc;
+
+ @NotNull(message = "区域id不能为空")
+ @Column(name = "jgid")
+ private Integer jgid;
+
+ @Column(name = "lxid")
+ private Integer lxid;
+
+ @Column(name = "deviceip")
+ private String deviceip;
+
+ @Column(name = "deviceport")
+ private String deviceport;
+
+ @Column(name = "deviceusername")
+ private String deviceusername;
+
+ @Column(name = "devicepasswd")
+ private String devicepasswd;
+
+ @Column(name = "bdzid")
+ private Integer bdzid;
+
+ @Column(name = "address")
+ private BigDecimal address;
+
+ @Column(name = "frequency")
+ private BigDecimal frequency;
+
+ @Column(name = "portname")
+ private String portname;
+
+ @Column(name = "venderid")
+ private String venderid;
+
+ @Column(name = "transcount")
+ private BigDecimal transcount;
+
+ @Column(name = "vendercode")
+ private String vendercode;
+
+ @Column(name = "xh")
+ private BigDecimal xh;
+
+ @Column(name = "enable")
+ private BigDecimal enable;
+
+ @Column(name = "sbbm")
+ private String sbbm;
+
+ @Column(name = "yxbh")
+ private String yxbh;
+
+ @Column(name = "zcxz")
+ private String zcxz;
+
+ @Column(name = "zcdw")
+ private String zcdw;
+
+ @Column(name = "xs")
+ private String xs;
+
+ @Column(name = "jb")
+ private String jb;
+
+ @Column(name = "xb")
+ private String xb;
+
+ @Column(name = "eddy")
+ private String eddy;
+
+ @Column(name = "eddl")
+ private String eddl;
+
+ @Column(name = "edpl")
+ private String edpl;
+
+ @Column(name = "edxh")
+ private String edxh;
+
+ @Column(name = "sccj")
+ private String sccj;
+
+ @Column(name = "ccbh")
+ private String ccbh;
+
+ @Column(name = "ccdh")
+ private String ccdh;
+
+ @Column(name = "zzgj")
+ private String zzgj;
+
+ @Column(name = "ccrq")
+ private String ccrq;
+
+ @Column(name = "tcrq")
+ private String tcrq;
+
+ @Column(name = "syhj")
+ private String syhj;
+
+ @Column(name = "fwdj")
+ private String fwdj;
+
+ @Column(name = "zcbh")
+ private String zcbh;
+
+ @Column(name = "yt")
+ private BigDecimal yt;
+
+ @Column(name = "whbz")
+ private String whbz;
+
+ @Column(name = "sbzr")
+ private String sbzr;
+
+ @Column(name = "ywdw")
+ private String ywdw;
+
+ @Column(name = "gcbh")
+ private String gcbh;
+
+ @Column(name = "gcmc")
+ private String gcmc;
+
+ @Column(name = "sbid")
+ private String sbid;
+
+ @Column(name = "zxmc")
+ private String zxmc;
+
+ @Column(name = "sbcz")
+ private String sbcz;
+
+ @Column(name = "zyfl")
+ private String zyfl;
+
+ @Column(name = "pmbm")
+ private String pmbm;
+
+ @Column(name = "gnwz")
+ private String gnwz;
+
+ @Column(name = "sblxbm")
+ private String sblxbm;
+
+ @Column(name = "zfid")
+ private String zfid;
+
+ @Column(name = "zjtyrq")
+ private String zjtyrq;
+
+ @Column(name = "sbzjfs")
+ private String sbzjfs;
+
+ @Column(name = "zcyjqcid")
+ private String zcyjqcid;
+
+ @Column(name = "dqmpyxkid")
+ private String dqmpyxkid;
+
+ @Column(name = "ssdzdydj")
+ private String ssdzdydj;
+
+ @Column(name = "djsj")
+ private String djsj;
+
+ @Column(name = "sssj")
+ private String sssj;
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/xydl/cac/exception/GlobalExceptionHandler.java b/src/main/java/com/xydl/cac/exception/GlobalExceptionHandler.java
new file mode 100644
index 0000000..59104cf
--- /dev/null
+++ b/src/main/java/com/xydl/cac/exception/GlobalExceptionHandler.java
@@ -0,0 +1,21 @@
+package com.xydl.cac.exception;
+
+import com.xydl.cac.model.Response;
+import org.springframework.validation.FieldError;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+import java.util.stream.Collectors;
+
+@RestControllerAdvice
+public class GlobalExceptionHandler {
+
+ @ExceptionHandler(MethodArgumentNotValidException.class)
+ public Response handleValidationExceptions(MethodArgumentNotValidException ex) {
+ String message = ex.getBindingResult().getFieldErrors().stream()
+ .map(FieldError::getDefaultMessage)
+ .collect(Collectors.joining(","));
+ return Response.fail(message);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/xydl/cac/repository/JgRepository.java b/src/main/java/com/xydl/cac/repository/JgRepository.java
new file mode 100644
index 0000000..4416fc9
--- /dev/null
+++ b/src/main/java/com/xydl/cac/repository/JgRepository.java
@@ -0,0 +1,14 @@
+package com.xydl.cac.repository;
+
+import com.xydl.cac.entity.Jg;
+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 JgRepository extends JpaRepository, JpaSpecificationExecutor {
+ List findByBdzid(Integer bdzId);
+}
\ 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
new file mode 100644
index 0000000..76229ee
--- /dev/null
+++ b/src/main/java/com/xydl/cac/repository/ZsbRepository.java
@@ -0,0 +1,14 @@
+package com.xydl.cac.repository;
+
+import com.xydl.cac.entity.Zsb;
+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 ZsbRepository extends JpaRepository, JpaSpecificationExecutor {
+ List findByJgid(Integer jgid);
+}
\ No newline at end of file
diff --git a/src/main/java/com/xydl/cac/service/JgService.java b/src/main/java/com/xydl/cac/service/JgService.java
new file mode 100644
index 0000000..c44c350
--- /dev/null
+++ b/src/main/java/com/xydl/cac/service/JgService.java
@@ -0,0 +1,16 @@
+package com.xydl.cac.service;
+
+import com.xydl.cac.entity.Jg;
+
+import java.util.List;
+
+public interface JgService {
+
+ List listAll(Integer bdzid);
+
+ Jg add(Jg item);
+
+ void update(Jg item);
+
+ void delete(Integer id);
+}
diff --git a/src/main/java/com/xydl/cac/service/ZsbService.java b/src/main/java/com/xydl/cac/service/ZsbService.java
new file mode 100644
index 0000000..34feef9
--- /dev/null
+++ b/src/main/java/com/xydl/cac/service/ZsbService.java
@@ -0,0 +1,16 @@
+package com.xydl.cac.service;
+
+import com.xydl.cac.entity.Zsb;
+
+import java.util.List;
+
+public interface ZsbService {
+
+ List listAll(Integer jgid);
+
+ Zsb add(Zsb item);
+
+ void update(Zsb item);
+
+ void delete(Integer id);
+}
diff --git a/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java
new file mode 100644
index 0000000..3b557f8
--- /dev/null
+++ b/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java
@@ -0,0 +1,45 @@
+package com.xydl.cac.service.impl;
+
+import com.xydl.cac.entity.Jg;
+import com.xydl.cac.repository.JgRepository;
+import com.xydl.cac.service.JgService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+@Slf4j
+@Transactional(rollbackFor = Exception.class)
+public class JgServiceImpl implements JgService {
+
+ @Resource
+ JgRepository repository;
+
+ @Override
+ public List listAll(Integer bdzid) {
+ if (bdzid == null) {
+ return repository.findAll();
+ } else {
+ return repository.findByBdzid(bdzid);
+ }
+ }
+
+ @Override
+ public Jg add(Jg item) {
+ item.setId(null);
+ return repository.save(item);
+ }
+
+ @Override
+ public void update(Jg item) {
+ repository.save(item);
+ }
+
+ @Override
+ public void delete(Integer id) {
+ repository.deleteById(id);
+ }
+}
diff --git a/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java
new file mode 100644
index 0000000..2752e2e
--- /dev/null
+++ b/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java
@@ -0,0 +1,45 @@
+package com.xydl.cac.service.impl;
+
+import com.xydl.cac.entity.Zsb;
+import com.xydl.cac.repository.ZsbRepository;
+import com.xydl.cac.service.ZsbService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+@Service
+@Slf4j
+@Transactional(rollbackFor = Exception.class)
+public class ZsbServiceImpl implements ZsbService {
+
+ @Resource
+ ZsbRepository repository;
+
+ @Override
+ public List listAll(Integer jgid) {
+ if (jgid == null) {
+ return repository.findAll();
+ } else {
+ return repository.findByJgid(jgid);
+ }
+ }
+
+ @Override
+ public Zsb add(Zsb item) {
+ item.setId(null);
+ return repository.save(item);
+ }
+
+ @Override
+ public void update(Zsb item) {
+ repository.save(item);
+ }
+
+ @Override
+ public void delete(Integer id) {
+ repository.deleteById(id);
+ }
+}