From 74205424049d169a8d3bbabb74b4c8c9adf1ec99 Mon Sep 17 00:00:00 2001
From: zhuo <2089219845@qq.com>
Date: 星期六, 15 二月 2025 16:05:51 +0800
Subject: [PATCH] 设备列表查询接口修改

---
 cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
index 9d198bb..f1723fd 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java
@@ -1,6 +1,7 @@
 package com.yuanchu.mom.service.impl;
 
 import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson2.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
@@ -23,6 +24,7 @@
 import com.yuanchu.mom.utils.QueryWrappers;
 import com.yuanchu.mom.vo.Result;
 import lombok.AllArgsConstructor;
+import org.apache.logging.log4j.util.Strings;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -34,6 +36,7 @@
 import java.io.OutputStream;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
+import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -52,12 +55,16 @@
 
     private DeviceMapper deviceMapper;
 
+    private EnumServiceImpl enumService;
+
     private UserMapper userMapper;
 
     private StructureItemParameterMapper structureItemParameterMapper;
 
     @Autowired
     private DataConfigService dataConfigService;
+
+    private QrShowServiceImpl qrShowService;
 
     private InsSampleMapper insSampleMapper;
 
@@ -166,8 +173,35 @@
     }
 
     @Override
-    public Device selectDeviceByCode(String code) {
-        return deviceMapper.selectOne(Wrappers.<Device>lambdaQuery().eq(Device::getFactoryNo, code).last("limit 1"));
+    public Device selectDeviceByCode(Integer id) {
+        DeviceDto deviceDto = deviceMapper.selectDeviceByCode(id);
+        List<Integer> ids = new ArrayList<>();
+        if (Strings.isNotEmpty(deviceDto.getAuthorizedPerson())) {
+            if (deviceDto.getAuthorizedPerson().equals("null")) {
+                deviceDto.setAuthorizedPerson("[]");
+            }
+            ids = JSON.parseArray(deviceDto.getAuthorizedPerson(), Integer.class);
+        }
+        String name = "";
+        if (!ids.isEmpty()) {
+            name = userMapper.selectBatchIds(ids).stream().map(User::getName).collect(Collectors.joining(","));
+        }
+        deviceDto.setAuthorizedPersonName(name);
+        //鏌ヨ璁惧鏍″噯淇℃伅
+        DeviceMetricRecord calibrate = qrShowService.getDeviceMetricRecord(id, "calibrate");
+        //deviceDto.setCalibrationDate(qrShowService.formatDate(calibrate.getCalibrationDate(),"yyyy-MM-dd"));
+        deviceDto.setCalibrateNo(calibrate.getCertificateSerialNumber());
+
+        // 鍒颁簡鍋滅敤鏃ユ湡锛岃嚜鍔ㄥ皢鐘舵�佹敼涓哄仠鐢�
+        if (deviceDto.getNextCalibrationDate() != null) {
+            if (LocalDateTime.now().isAfter(deviceDto.getNextCalibrationDate())) {
+                List<Enums> enums = enumService.selectEnumByCategory("璁惧鐘舵��");
+                List<Enums> status = enums.stream().filter(item -> item.getLabel().equals("鍋滅敤")).collect(Collectors.toList());
+                deviceDto.setDeviceStatus(Integer.parseInt(status.get(0).getValue()));
+                deviceMapper.updateById(deviceDto);
+            }
+        }
+        return deviceDto;
     }
 
     @Override

--
Gitblit v1.9.3