From 27345fcecf87e19f21494db13cd064a5d553a3e7 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Tue, 5 Mar 2024 09:31:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=9A=84=E5=B1=9E=E6=80=A7=E7=82=B9=E8=A1=A8=E7=9A=84=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sql/init.sql | 7 +++ .../controller/ModevTypePointController.java | 46 +++++++++++++++++++ .../com/xydl/cac/entity/ModevTypePoint.java | 46 +++++++++++++++++++ .../repository/ModevTypePointRepository.java | 19 ++++++++ .../cac/service/ModevTypePointService.java | 15 ++++++ .../impl/ModevTypePointServiceImpl.java | 43 +++++++++++++++++ 6 files changed, 176 insertions(+) create mode 100644 src/main/java/com/xydl/cac/controller/ModevTypePointController.java create mode 100644 src/main/java/com/xydl/cac/entity/ModevTypePoint.java create mode 100644 src/main/java/com/xydl/cac/repository/ModevTypePointRepository.java create mode 100644 src/main/java/com/xydl/cac/service/ModevTypePointService.java create mode 100644 src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java diff --git a/sql/init.sql b/sql/init.sql index ae77a4c..d65a231 100644 --- a/sql/init.sql +++ b/sql/init.sql @@ -70,5 +70,12 @@ CREATE TABLE `unit` ( `unit` varchar(45) DEFAULT NULL COMMENT '单位', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='计量单位'; +CREATE TABLE `modevtype_point` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `modevtype_id` int(11) DEFAULT NULL COMMENT '监测设备类型表id', + `field` varchar(45) DEFAULT NULL COMMENT '对应tablename表的字段名', + `field_desc` varchar(200) DEFAULT NULL COMMENT '对应tablename表的字段名称描述', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='监测设备类型属性点表'; INSERT INTO `unit` VALUES (5,'Density','Kg/m3'),(6,'Temperature','°C'),(7,'Pressure20C','MPa'),(8,'H2','UL/L'),(9,'CH4','UL/L'),(10,'C2H6','UL/L'),(11,'C2H4','UL/L'),(12,'C2H2','UL/L'),(13,'CO','UL/L'),(14,'CO2','UL/L'),(15,'O2','UL/L'),(16,'N2','UL/L'),(17,'TotalHydrocarbon','UL/L'),(18,'MaxTmp','°C'),(19,'MinTmp','°C'),(20,'AvgTmp','°C'),(21,'AbsolutePressure','MPa'),(22,'Moisture','u L/L'),(23,'FullCurrent','mA'),(24,'CableCurrent','A'),(25,'ResistiveCurrent','mA'),(26,'CapacitiveCurrent','mA'),(27,'Capacitance','pf'),(28,'DielectricLoss','%'),(29,'Concentration','ppm'),(30,'O2Content','%'),(31,'Humidity','%'); diff --git a/src/main/java/com/xydl/cac/controller/ModevTypePointController.java b/src/main/java/com/xydl/cac/controller/ModevTypePointController.java new file mode 100644 index 0000000..46d3f2f --- /dev/null +++ b/src/main/java/com/xydl/cac/controller/ModevTypePointController.java @@ -0,0 +1,46 @@ +package com.xydl.cac.controller; + +import com.xydl.cac.entity.ModevTypePoint; +import com.xydl.cac.model.Response; +import com.xydl.cac.service.ModevTypePointService; +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("modevtypepoint") +@Slf4j +public class ModevTypePointController extends BasicController { + + @Resource + ModevTypePointService service; + + @GetMapping("listAll") + @ApiOperation("查询列表") + public Response> listAll(Integer modevtypeId) { + List result = service.listAll(modevtypeId); + return Response.success(result); + } + + @PostMapping("add") + @ApiOperation("新增") + public Response add(@Validated @RequestBody ModevTypePoint item) throws Exception { + ModevTypePoint result = service.add(item); + return Response.success(result); + } + + @PostMapping("delete") + @ApiOperation("删除") + public Response delete(@Validated @NotNull(message = "ID不能为空!") Integer id) { + service.delete(id); + return Response.success("OK"); + } + +} diff --git a/src/main/java/com/xydl/cac/entity/ModevTypePoint.java b/src/main/java/com/xydl/cac/entity/ModevTypePoint.java new file mode 100644 index 0000000..da0f26f --- /dev/null +++ b/src/main/java/com/xydl/cac/entity/ModevTypePoint.java @@ -0,0 +1,46 @@ +package com.xydl.cac.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.*; +import java.util.List; + + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "modevtype_point") +@ApiModel("监测设备类型属性点表") +public class ModevTypePoint { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @ApiModelProperty("监测设备类型表id") + @Column(name = "modevtype_id") + private Integer modevtypeId; + + @ApiModelProperty("对应tablename表的字段名") + @Column(name = "field") + private String field; + + @ApiModelProperty("对应tablename表的字段名称描述") + @Column(name = "field_desc") + private String fieldDesc; + + @Transient + private String unit; + + @Transient + private List data; + +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/repository/ModevTypePointRepository.java b/src/main/java/com/xydl/cac/repository/ModevTypePointRepository.java new file mode 100644 index 0000000..82aabb8 --- /dev/null +++ b/src/main/java/com/xydl/cac/repository/ModevTypePointRepository.java @@ -0,0 +1,19 @@ +package com.xydl.cac.repository; + +import com.xydl.cac.entity.ModevTypePoint; +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 ModevTypePointRepository extends JpaRepository, JpaSpecificationExecutor { + + List findByModevtypeId(Integer modevtypeId); + + List findByModevtypeIdAndField(Integer modevtypeId, String field); + + void deleteByModevtypeId(Integer modevtypeId); +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/ModevTypePointService.java b/src/main/java/com/xydl/cac/service/ModevTypePointService.java new file mode 100644 index 0000000..e41f88e --- /dev/null +++ b/src/main/java/com/xydl/cac/service/ModevTypePointService.java @@ -0,0 +1,15 @@ +package com.xydl.cac.service; + +import com.xydl.cac.entity.ModevTypePoint; + +import java.util.List; + +public interface ModevTypePointService { + + List listAll(Integer modevtypeId); + + ModevTypePoint add(ModevTypePoint item) throws Exception; + + void delete(Integer id); + +} diff --git a/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java new file mode 100644 index 0000000..19bf5c5 --- /dev/null +++ b/src/main/java/com/xydl/cac/service/impl/ModevTypePointServiceImpl.java @@ -0,0 +1,43 @@ +package com.xydl.cac.service.impl; + +import com.xydl.cac.entity.ModevTypePoint; +import com.xydl.cac.exception.BusinessException; +import com.xydl.cac.repository.ModevTypePointRepository; +import com.xydl.cac.service.ModevTypePointService; +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 ModevTypePointServiceImpl implements ModevTypePointService { + + @Resource + ModevTypePointRepository repository; + + @Override + public List listAll(Integer modevtypeId) { + List list = repository.findByModevtypeId(modevtypeId); + return list; + } + + @Override + public ModevTypePoint add(ModevTypePoint item) throws Exception { + item.setId(null); + List list = repository.findByModevtypeIdAndField(item.getModevtypeId(), item.getField()); + if (!CollectionUtils.isEmpty(list)) { + throw new BusinessException("该监测装置类型的该字段已存在"); + } + return repository.save(item); + } + + @Override + public void delete(Integer id) { + repository.deleteById(id); + } +}