From 0007e14cccd0df9c08a71037cc2803894a530c86 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 12 三月 2025 15:17:26 +0800
Subject: [PATCH] 设备完善2.0

---
 cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricsCopy.java                     |   73 ++++++++
 cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricRecordServiceImpl.java |   20 ++
 cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetric.java                          |   29 +++
 cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricsCopyService.java           |   16 +
 cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricRecord.java                    |    4 
 cnas-require/src/main/java/com/ruoyi/requier/service/IDeviceMetricService.java               |    7 
 cnas-device/pom.xml                                                                          |   37 ++++
 cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricServiceImpl.java       |   11 +
 cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricController.java          |   35 +++
 cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceMetricRecordDto.java                  |   13 +
 cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricMapper.java                  |    9 +
 cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml                          |   22 ++
 pom.xml                                                                                      |    2 
 cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricRecordService.java          |   16 +
 cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricsCopyMapper.java             |   16 +
 cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricsCopyServiceImpl.java  |   20 ++
 cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml                           |   19 ++
 cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricRecordController.java    |  134 ++++++++++++++
 18 files changed, 480 insertions(+), 3 deletions(-)

diff --git a/cnas-device/pom.xml b/cnas-device/pom.xml
new file mode 100644
index 0000000..d3aade0
--- /dev/null
+++ b/cnas-device/pom.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>ruoyi</artifactId>
+        <groupId>com.ruoyi</groupId>
+        <version>3.8.9</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>cnas-device</artifactId>
+
+    <dependencies>
+
+        <!--涓氬姟妯″潡-->
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>inspect-server</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-system</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.ruoyi</groupId>
+            <artifactId>ruoyi-framework</artifactId>
+        </dependency>
+    </dependencies>
+
+    <properties>
+        <maven.compiler.source>8</maven.compiler.source>
+        <maven.compiler.target>8</maven.compiler.target>
+    </properties>
+
+</project>
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricController.java
new file mode 100644
index 0000000..32fc8df
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricController.java
@@ -0,0 +1,35 @@
+package com.ruoyi.requier.controller;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.requier.pojo.DeviceMetric;
+import com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricRecordController.java b/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricRecordController.java
new file mode 100644
index 0000000..aac5dae
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/controller/DeviceMetricRecordController.java
@@ -0,0 +1,134 @@
+package com.ruoyi.requier.controller;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.core.domain.Result;
+import com.ruoyi.common.numgen.NumberGenerator;
+import com.ruoyi.common.utils.FileSaveUtil;
+import com.ruoyi.requier.dto.DeviceMetricRecordDto;
+import com.ruoyi.requier.pojo.Device;
+import com.ruoyi.requier.pojo.DeviceMetricRecord;
+import com.ruoyi.requier.pojo.DeviceMetricsCopy;
+import com.ruoyi.requier.service.DeviceMetricRecordService;
+import com.ruoyi.requier.service.DeviceMetricsCopyService;
+import com.ruoyi.requier.service.DeviceService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 鍓嶇鎺у埗鍣�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:01
+ */
+@Api(tags = "璁惧 - 璁惧鏍″噯")
+@RestController
+@RequestMapping("/deviceMetricRecord")
+public class DeviceMetricRecordController {
+
+    @Autowired
+    private DeviceMetricRecordService deviceMetricRecordService;
+
+    @Autowired
+    private DeviceMetricsCopyService deviceMetricsCopyService;
+
+    @Autowired
+    private NumberGenerator<DeviceMetricRecord> numberGenerator;
+
+    @Autowired
+    private DeviceService deviceService;
+
+    @ApiOperation("璁惧鏍″噯鍒嗛〉鏌ヨ")
+    @GetMapping("/deviceMetricRecordPage")
+    public Result deviceMetricRecordPage(@RequestParam("deviceId") Integer deviceId, Page page, @RequestParam("type") String type) {
+        return Result.success(deviceMetricRecordService.page(page, Wrappers.<DeviceMetricRecord>lambdaQuery()
+                .eq(DeviceMetricRecord::getDeviceId, deviceId)
+                .eq(DeviceMetricRecord::getType, type)));
+    }
+
+    @ApiOperation("璁惧鏍″噯 鏂板 鏇存柊")
+    @PostMapping("/addOrUpdateDeviceMetricRecord")
+    public Result addOrUpdateDeviceMetricRecord(@RequestBody DeviceMetricRecordDto deviceMetricRecordDto) {
+        if (ObjectUtils.isEmpty(deviceMetricRecordDto.getProcessNumber())) {
+            String year = new SimpleDateFormat("yy", Locale.CHINESE).format(new Date());
+            String month = new SimpleDateFormat("MM", Locale.CHINESE).format(new Date());
+            String processNumber = numberGenerator.generateNumberWithPrefix(5, "SBJZ" + year + month, DeviceMetricRecord::getProcessNumber);
+            deviceMetricRecordDto.setProcessNumber(processNumber);
+        }
+        deviceMetricRecordService.saveOrUpdate(deviceMetricRecordDto);
+        if (deviceMetricRecordDto.getType().equals("calibrate")) {
+            deviceService.update(Wrappers.<Device>lambdaUpdate()
+                    .set(Device::getCalibrationServices,deviceMetricRecordDto.getUnitOfMeasure())
+                    .eq(Device::getId,deviceMetricRecordDto.getDeviceId()));
+        }
+        if (CollectionUtils.isNotEmpty(deviceMetricRecordDto.getDeviceMetricsCopyList())) {
+            deviceMetricRecordDto.getDeviceMetricsCopyList().forEach(i -> i.setDeviceMetricsId(deviceMetricRecordDto.getId()));
+            deviceMetricsCopyService.saveOrUpdateBatch(deviceMetricRecordDto.getDeviceMetricsCopyList());
+        }
+        return Result.success();
+    }
+
+    @ApiOperation("璁惧鏍″噯 鍒犻櫎")
+    @DeleteMapping("/deleteDeviceMetricRecord")
+    public Result deleteDeviceMetricRecord(@RequestParam("id") Integer id) {
+        DeviceMetricRecord deviceMetricRecord = deviceMetricRecordService.getById(id);
+        deviceMetricsCopyService.remove(Wrappers.<DeviceMetricsCopy>lambdaQuery()
+                .eq(DeviceMetricsCopy::getDeviceMetricsId, id));
+        // 鍒犻櫎鏂囦欢
+        FileSaveUtil.DeleteFile(deviceMetricRecord.getSystemFileName());
+        boolean b = deviceMetricRecordService.removeById(id);
+        // 淇敼璁惧鐨勬牎鍑嗘満鏋�
+        if (deviceMetricRecord.getType().equals("calibrate")) {
+            List<DeviceMetricRecord> list = deviceMetricRecordService.list(Wrappers.<DeviceMetricRecord>lambdaQuery()
+                    .eq(DeviceMetricRecord::getType,"calibrate")
+                    .eq(DeviceMetricRecord::getDeviceId, deviceMetricRecord.getDeviceId()));
+            int size = list.size();
+            // 璁剧疆璁惧涓殑鏍″噯鏈烘瀯涓轰笂娆$殑鏈烘瀯
+            deviceService.update(Wrappers.<Device>lambdaUpdate()
+                    .set(Device::getCalibrationServices,size == 0 ? null : list.get(size - 1).getUnitOfMeasure())
+                    .eq(Device::getId,deviceMetricRecord.getDeviceId()));
+        }
+        return Result.success(b);
+    }
+
+    @ApiOperation("璁惧鏍″噯 鏍″噯鏉$洰鏌ヨ")
+    @GetMapping("/showDeviceMetricsCopy")
+    public Result showDeviceMetricsCopy(@RequestParam("id") Integer id, @RequestParam("type") String type) {
+        return Result.success(deviceMetricsCopyService.list(Wrappers.<DeviceMetricsCopy>lambdaQuery()
+                .eq(DeviceMetricsCopy::getDeviceMetricsId, id)
+                .eq(DeviceMetricsCopy::getType, type)));
+    }
+
+    @GetMapping("/deviceMetricRecordExport")
+    public Result deviceMetricRecordExport(@RequestParam("deviceId") Integer deviceId, @RequestParam("type") String type, HttpServletResponse response) throws IOException {
+        List<DeviceMetricRecord> list = deviceMetricRecordService.page(new Page<>(-1,-1), Wrappers.<DeviceMetricRecord>lambdaQuery()
+                .eq(DeviceMetricRecord::getDeviceId, deviceId)
+                .eq(DeviceMetricRecord::getType, type)).getRecords();
+        list.forEach(i -> i.setStatus(i.getStatus().equals("0yes") ? "鍚堟牸" : "涓嶅悎鏍�"));
+        response.setHeader("requestType", "excel");
+        response.setHeader("Access-Control-Expose-Headers", "requestType");
+        // 璁剧疆鍗曞厓鏍兼牱寮�
+        // 淇濆瓨鍒扮涓�涓猻heet涓�
+        EasyExcel.write(response.getOutputStream())
+                .head(DeviceMetricRecord.class)
+                .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) // 鑷�傚簲鍒楀
+                .sheet()
+                .doWrite(list);
+        return Result.success();
+    }
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceMetricRecordDto.java b/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceMetricRecordDto.java
new file mode 100644
index 0000000..1f8493d
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/dto/DeviceMetricRecordDto.java
@@ -0,0 +1,13 @@
+package com.ruoyi.requier.dto;
+
+import com.ruoyi.requier.pojo.DeviceMetricRecord;
+import com.ruoyi.requier.pojo.DeviceMetricsCopy;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DeviceMetricRecordDto extends DeviceMetricRecord {
+
+    private List<DeviceMetricsCopy> deviceMetricsCopyList;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricMapper.java
new file mode 100644
index 0000000..a3d97e7
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricMapper.java
@@ -0,0 +1,9 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.DeviceMetric;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DeviceMetricMapper extends BaseMapper<DeviceMetric> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricsCopyMapper.java b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricsCopyMapper.java
new file mode 100644
index 0000000..df794ca
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/mapper/DeviceMetricsCopyMapper.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.requier.pojo.DeviceMetricsCopy;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 Mapper 鎺ュ彛
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:11
+ */
+public interface DeviceMetricsCopyMapper extends BaseMapper<DeviceMetricsCopy> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetric.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetric.java
new file mode 100644
index 0000000..d3cfcde
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetric.java
@@ -0,0 +1,29 @@
+package com.ruoyi.requier.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-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricRecord.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricRecord.java
index 2475ec9..c655959 100644
--- a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricRecord.java
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricRecord.java
@@ -94,8 +94,8 @@
     @ApiModelProperty("鍒涘缓鏃堕棿 / 鐧昏鏃ユ湡")
     @TableField(fill = FieldFill.INSERT)
     @ExcelProperty(value = "鐧昏鏃ユ湡",index = 9)
-    @JsonFormat(pattern = "yyyy-MM-dd")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @ColumnWidth(20)
     private LocalDateTime createTime;
 
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricsCopy.java b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricsCopy.java
new file mode 100644
index 0000000..a1e813c
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/pojo/DeviceMetricsCopy.java
@@ -0,0 +1,73 @@
+package com.ruoyi.requier.pojo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+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.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:11
+ */
+@Getter
+@Setter
+@TableName("device_metrics_copy")
+@ApiModel(value = "DeviceMetricsCopy瀵硅薄", description = "璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰")
+@ExcelIgnoreUnannotated
+public class DeviceMetricsCopy implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("璁惧鏍″噯 - 鏍″噯璁板綍id")
+    private Integer deviceMetricsId;
+
+    @ApiModelProperty("璁¢噺鍙傛暟")
+
+    private String measurementParameter;
+
+    @ApiModelProperty("閲忕▼鑼冨洿")
+    private String rangeOfMeasurement;
+
+    @ApiModelProperty("鏈�澶у厑璁歌宸�")
+    private String maxPermissibleError;
+
+    @ApiModelProperty("鍒ゅ畾鏍囧噯")
+    private String judgmentCriteria;
+
+    @ApiModelProperty("鍒涘缓浜�")
+    private String createdBy;
+
+    @ApiModelProperty("鍒涘缓鏃堕棿")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime creationTime;
+
+    @ApiModelProperty("鏄惁鏍″噯")
+    private String isCalibration;
+
+    @ApiModelProperty("鍒ゅ畾缁撴灉")
+    private String result;
+
+    @ApiModelProperty("鍗曢」缁撴灉璇存槑")
+    private String singleResultStatement;
+
+    @ApiModelProperty("calibrate锛氭牎鍑嗭紱examine锛氭牳鏌�")
+    private String type;
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricRecordService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricRecordService.java
new file mode 100644
index 0000000..39d4060
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricRecordService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.DeviceMetricRecord;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:01
+ */
+public interface DeviceMetricRecordService extends IService<DeviceMetricRecord> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricsCopyService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricsCopyService.java
new file mode 100644
index 0000000..88d2215
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/DeviceMetricsCopyService.java
@@ -0,0 +1,16 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.DeviceMetricsCopy;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 鏈嶅姟绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:11
+ */
+public interface DeviceMetricsCopyService extends IService<DeviceMetricsCopy> {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/IDeviceMetricService.java b/cnas-require/src/main/java/com/ruoyi/requier/service/IDeviceMetricService.java
new file mode 100644
index 0000000..c8bb349
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/IDeviceMetricService.java
@@ -0,0 +1,7 @@
+package com.ruoyi.requier.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.requier.pojo.DeviceMetric;
+
+public interface IDeviceMetricService extends IService<DeviceMetric> {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricRecordServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricRecordServiceImpl.java
new file mode 100644
index 0000000..3e211aa
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricRecordServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.DeviceMetricRecordMapper;
+import com.ruoyi.requier.pojo.DeviceMetricRecord;
+import com.ruoyi.requier.service.DeviceMetricRecordService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:01
+ */
+@Service
+public class DeviceMetricRecordServiceImpl extends ServiceImpl<DeviceMetricRecordMapper, DeviceMetricRecord> implements DeviceMetricRecordService {
+
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricServiceImpl.java
new file mode 100644
index 0000000..907e618
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricServiceImpl.java
@@ -0,0 +1,11 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.DeviceMetricMapper;
+import com.ruoyi.requier.pojo.DeviceMetric;
+import com.ruoyi.requier.service.IDeviceMetricService;
+import org.springframework.stereotype.Service;
+
+@Service
+public class DeviceMetricServiceImpl extends ServiceImpl<DeviceMetricMapper, DeviceMetric> implements IDeviceMetricService {
+}
diff --git a/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricsCopyServiceImpl.java b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricsCopyServiceImpl.java
new file mode 100644
index 0000000..1c7f225
--- /dev/null
+++ b/cnas-require/src/main/java/com/ruoyi/requier/service/impl/DeviceMetricsCopyServiceImpl.java
@@ -0,0 +1,20 @@
+package com.ruoyi.requier.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.requier.mapper.DeviceMetricsCopyMapper;
+import com.ruoyi.requier.pojo.DeviceMetricsCopy;
+import com.ruoyi.requier.service.DeviceMetricsCopyService;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 璁惧鏍″噯 - 鏍″噯璁板綍 - 鏍″噯鏉$洰 鏈嶅姟瀹炵幇绫�
+ * </p>
+ *
+ * @author 鑺杞欢锛堟睙鑻忥級鏈夐檺鍏徃
+ * @since 2024-09-27 10:20:11
+ */
+@Service
+public class DeviceMetricsCopyServiceImpl extends ServiceImpl<DeviceMetricsCopyMapper, DeviceMetricsCopy> implements DeviceMetricsCopyService {
+
+}
diff --git a/cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml b/cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml
new file mode 100644
index 0000000..5b51fbe
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/DeviceMetricRecordMapper.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.DeviceMetricRecordMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.DeviceMetricRecord">
+        <id column="id" property="id" />
+        <result column="unit_of_measure" property="unitOfMeasure" />
+        <result column="calibration_date" property="calibrationDate" />
+        <result column="next_calibration_date" property="nextCalibrationDate" />
+        <result column="calculating_apparatus" property="calculatingApparatus" />
+        <result column="standard_range" property="standardRange" />
+        <result column="calibration_standard_uncertainty" property="calibrationStandardUncertainty" />
+        <result column="by_document" property="byDocument" />
+        <result column="certificate_serial_number" property="certificateSerialNumber" />
+        <result column="status" property="status" />
+        <result column="file_name" property="fileName" />
+        <result column="system_file_name" property="systemFileName" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>
diff --git a/cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml b/cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml
new file mode 100644
index 0000000..e331c6a
--- /dev/null
+++ b/cnas-require/src/main/resources/mapper/DeviceMetricsCopyMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.requier.mapper.DeviceMetricsCopyMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ruoyi.requier.pojo.DeviceMetricsCopy">
+        <id column="id" property="id" />
+        <result column="measurement_parameter" property="measurementParameter" />
+        <result column="range_of_measurement" property="rangeOfMeasurement" />
+        <result column="max_permissible_error" property="maxPermissibleError" />
+        <result column="judgment_criteria" property="judgmentCriteria" />
+        <result column="created_by" property="createdBy" />
+        <result column="creation_time" property="creationTime" />
+        <result column="is_calibration" property="isCalibration" />
+        <result column="result" property="result" />
+        <result column="single_result_statement" property="singleResultStatement" />
+    </resultMap>
+
+</mapper>
diff --git a/pom.xml b/pom.xml
index e7c41a6..2b980b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -394,10 +394,10 @@
         <module>inspect-server</module>
         <module>performance-server</module>
         <module>cnas-manage</module>
+        <module>cnas-device</module>
         <module>cnas-process</module>
         <module>cnas-require</module>
         <module>cnas_server</module>
-        <module>cnas-device</module>
         <module>cnas-personnel</module>
     </modules>
     <packaging>pom</packaging>

--
Gitblit v1.9.3