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