zhuo
2025-03-03 a427a998e42c30817da54fd8ae9dc1a1f7072f5f
修改设备问题
已修改4个文件
已添加5个文件
206 ■■■■ 文件已修改
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceAcceptanceController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMetricController.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/mapper/DeviceMetricMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMetric.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/service/IDeviceMetricService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMetricServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/resources/mapper/DeviceMaintenancePlanMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/LocalDateTimeSerializerConfig.java 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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));
    }
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));
    }
}
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> {
}
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; // ç±»åž‹
}
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> {
}
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 {
}
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,
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);
//        };
//    }
//}
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);
    }
}