From a427a998e42c30817da54fd8ae9dc1a1f7072f5f Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期一, 03 三月 2025 10:27:30 +0800
Subject: [PATCH] 修改设备问题
---
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java | 2
cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml | 2
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java | 39 +++++++++
cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java | 29 +++++++
cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java | 9 ++
cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java | 7 +
ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java | 72 +++++++++---------
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java | 11 ++
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java | 35 ++++++++
9 files changed, 168 insertions(+), 38 deletions(-)
diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java
index d77575d..183ede5 100644
--- a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java
+++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java
@@ -126,7 +126,7 @@
* @return
*/
@ApiOperation(value = "璁惧楠屾敹闄勪欢鍒犻櫎")
- @GetMapping("/delDeviceAcceptanceFileList")
+ @DeleteMapping("/delDeviceAcceptanceFileList")
public Result delDeviceAcceptanceFileList(Integer acceptanceFileId){
return Result.success(deviceAcceptanceFileService.removeById(acceptanceFileId));
}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java
new file mode 100644
index 0000000..82dcefd
--- /dev/null
+++ b/cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java
@@ -0,0 +1,35 @@
+package com.ruoyi.device.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.device.pojo.DeviceMetric;
+import com.ruoyi.device.service.IDeviceMetricService;
+import lombok.AllArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@AllArgsConstructor
+@RequestMapping("/deviceMetrics")
+public class DeviceMetricController {
+
+ @Autowired
+ private IDeviceMetricService deviceMetricService;
+
+ @PostMapping("/saveOrUpdateDeviceMetric")
+ public Result create(@RequestBody DeviceMetric deviceMetric) {
+ return Result.success(deviceMetricService.saveOrUpdate(deviceMetric));
+ }
+
+ @GetMapping("/selectDeviceMetric")
+ public Result read(@RequestParam("deviceId") Integer deviceId, @RequestParam("type") String type) {
+ return Result.success(deviceMetricService.list(Wrappers.<DeviceMetric>lambdaQuery()
+ .eq(DeviceMetric::getDeviceId,deviceId)
+ .eq(DeviceMetric::getType,type)));
+ }
+
+ @DeleteMapping("/deleteDeviceMetrics")
+ public Result delete(@RequestParam("id") Integer id) {
+ return Result.success(deviceMetricService.removeById(id));
+ }
+}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java
new file mode 100644
index 0000000..6304f16
--- /dev/null
+++ b/cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.device.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.device.pojo.DeviceMetric;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DeviceMetricMapper extends BaseMapper<DeviceMetric> {
+}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java
new file mode 100644
index 0000000..d7a5869
--- /dev/null
+++ b/cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java
@@ -0,0 +1,29 @@
+package com.ruoyi.device.pojo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+@Data
+@TableName("device_metrics")
+public class DeviceMetric implements Serializable {
+ @TableId(value = "id", type = IdType.AUTO)
+ private Integer id; //id
+ private Integer deviceId; // 璁惧ID
+ private String measurementParameter; // 璁¢噺鍙傛暟
+ private String rangeOfMeasurement; // 閲忕▼鑼冨洿
+ private String maxPermissibleError; // 鏈�澶у厑璁歌宸�
+ private String judgmentCriteria; // 鍒ゅ畾鏍囧噯
+ private String createdBy; // 鍒涘缓浜�
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private LocalDateTime creationTime; // 鍒涘缓鏃堕棿
+
+ @ApiModelProperty("calibrate锛氭牎鍑嗭紱examine锛氭牳鏌�")
+ private String type; // 绫诲瀷
+}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java b/cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java
new file mode 100644
index 0000000..fc6ed49
--- /dev/null
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.device.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.device.pojo.DeviceMetric;
+
+public interface IDeviceMetricService extends IService<DeviceMetric> {
+}
diff --git a/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java
new file mode 100644
index 0000000..adfffd7
--- /dev/null
+++ b/cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.device.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.device.mapper.DeviceMetricMapper;
+import com.ruoyi.device.pojo.DeviceMetric;
+import com.ruoyi.device.service.IDeviceMetricService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DeviceMetricServiceImpl extends ServiceImpl<DeviceMetricMapper, DeviceMetric> implements IDeviceMetricService {
+}
diff --git a/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml b/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml
index fca2d48..2f8aac5 100644
--- a/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml
+++ b/cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml
@@ -11,7 +11,7 @@
${ew.customSqlSegment}
</if>
</select>
- <select id="selectMaintenancePlanById" resultType="com.ruoyi.device.pojo.DeviceMaintenancePlan">
+ <select id="selectMaintenancePlanById" resultType="com.ruoyi.device.dto.DeviceMaintenancePlanDto">
select
dmp.*,
date_format(dmp.date_preparation, '%Y-%m-%d') as datePreparationStr,
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java
index f6c966a..98a8763 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java
@@ -1,36 +1,36 @@
-package com.ruoyi.framework.config;
-
-import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
-import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
-
-@Configuration
-public class LocalDateTimeSerializerConfig {
- @Value("${spring.jackson.date-format}")
- private String pattern;
-
- @Bean
- public LocalDateTimeSerializer localDateTimeSerializer() {
- return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
- }
-
- @Bean
- public LocalDateTimeDeserializer localDateTimeDeserializer() {
- return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(pattern));
- }
-
- @Bean
- public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
- return builder -> {
- builder.serializerByType(LocalDateTime.class, localDateTimeSerializer());
- builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer());
- builder.simpleDateFormat(pattern);
- };
- }
-}
+//package com.ruoyi.framework.config;
+//
+//import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+//import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
+//import org.springframework.beans.factory.annotation.Value;
+//import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
+//import org.springframework.context.annotation.Bean;
+//import org.springframework.context.annotation.Configuration;
+//
+//import java.time.LocalDateTime;
+//import java.time.format.DateTimeFormatter;
+//
+//@Configuration
+//public class LocalDateTimeSerializerConfig {
+// @Value("${spring.jackson.date-format}")
+// private String pattern;
+//
+// @Bean
+// public LocalDateTimeSerializer localDateTimeSerializer() {
+// return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(pattern));
+// }
+//
+// @Bean
+// public LocalDateTimeDeserializer localDateTimeDeserializer() {
+// return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(pattern));
+// }
+//
+// @Bean
+// public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
+// return builder -> {
+// builder.serializerByType(LocalDateTime.class, localDateTimeSerializer());
+// builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer());
+// builder.simpleDateFormat(pattern);
+// };
+// }
+//}
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
index fb42e5f..d6e6f9e 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java
@@ -1,12 +1,25 @@
package com.ruoyi.framework.config;
+import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.List;
import java.util.concurrent.TimeUnit;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
+import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.CacheControl;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@@ -82,4 +95,30 @@
// 杩斿洖鏂扮殑CorsFilter
return new CorsFilter(source);
}
+
+ // 鍏ㄥ眬鏍煎紡鍖栧鐞�
+ @Override
+ public void extendMessageConverters(List<HttpMessageConverter<?>> converters) {
+ String dateFormat = "yyyy-MM-dd HH:mm:ss";
+
+ Jackson2ObjectMapperBuilder json = Jackson2ObjectMapperBuilder.json();
+ MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
+
+ //localDateTime鏍煎紡鍖�
+ JavaTimeModule module = new JavaTimeModule();
+ LocalDateTimeDeserializer dateTimeDeserializer = new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern(dateFormat));
+ LocalDateTimeSerializer dateTimeSerializer = new LocalDateTimeSerializer(DateTimeFormatter.ofPattern(dateFormat));
+ module.addDeserializer(LocalDateTime.class, dateTimeDeserializer);
+ module.addSerializer(LocalDateTime.class, dateTimeSerializer);
+ ObjectMapper objectMapper = json.modules(module)
+ .featuresToDisable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS).build();
+
+ //date鏃堕棿鏍煎紡鍖�
+ objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+ objectMapper.setDateFormat(new SimpleDateFormat(dateFormat.split(" ")[0]));
+
+ // 璁剧疆鏍煎紡鍖栧唴瀹�
+ converter.setObjectMapper(objectMapper);
+ converters.add(0, converter);
+ }
}
--
Gitblit v1.9.3