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/mapper/DeviceMapper.java | 2 +
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java | 38 ++++++++++++++++++-
cnas-server/src/main/resources/mapper/DeviceMapper.xml | 18 +++++++++
cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto.java | 20 ++++++++++
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java | 4 +-
cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java | 2
cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java | 9 ++++
7 files changed, 88 insertions(+), 5 deletions(-)
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
index a266330..959a9a5 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java
@@ -153,8 +153,8 @@
@ApiOperation(value = "閫氳繃璁惧缂栧彿鑾峰彇璁惧鍒楄〃")
@GetMapping("/selectDeviceByCode")
@ValueAuth
- public Result selectDeviceByCode(String code) {
- return Result.success(deviceService.selectDeviceByCode(code));
+ public Result selectDeviceByCode(Integer id) {
+ return Result.success(deviceService.selectDeviceByCode(id));
}
@ValueAuth
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto.java b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto.java
index 5963016..2295cbf 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto.java
@@ -7,6 +7,8 @@
import lombok.Data;
import lombok.NoArgsConstructor;
+import java.time.LocalDateTime;
+
@Data
@AllArgsConstructor
@NoArgsConstructor
@@ -23,4 +25,22 @@
@ValueTableShow(13)
@ApiModelProperty(value = "妫�楠岄」鐩�")
private String insProductItem;
+
+
+ @ApiModelProperty(value = "绠$悊浜哄鍚�")
+ private String equipmentManagerName;
+
+ @ApiModelProperty(value = "琚巿鏉冧汉濮撳悕")
+ private String authorizedPersonName;
+
+ @ApiModelProperty(value = "鏍稿噯璇佷功缂栧彿")
+ private String calibrateNo;
+
+ @ValueTableShow(value = 15, name = "鏈�杩戞牎鍑嗘棩鏈�")
+ @ApiModelProperty(value = "鏈�杩戞牎鍑嗘棩鏈�")
+ private LocalDateTime lastCalibrationDateTwo;
+
+ @ValueTableShow(value = 16, name = "涓嬫鏍″噯鏃ユ湡")
+ @ApiModelProperty(value = "涓嬫鏍″噯鏃ユ湡")
+ private LocalDateTime nextCalibrationDateTwo;
}
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
index 74c00ee..f7e0f7d 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java
@@ -37,5 +37,7 @@
List<Map<String, Object>> getInspectionItemSubclass(@Param("id") Integer id);
List<Map<String, Object>> treeDevice(@Param("deviceName") String deviceName);
+
+ DeviceDto selectDeviceByCode(Integer id);
}
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
index 2237bc8..5f2b5b1 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
@@ -143,4 +143,13 @@
@ApiModelProperty("鏁伴噰-db锛宮db鏂囦欢鍚嶇О")
private String dbFileName;
+
+ @ApiModelProperty("琚巿鏉冧汉")
+ private String authorizedPerson;
+
+ @ApiModelProperty("璧勪骇缂栫爜")
+ private String assetCode;
+
+ @ApiModelProperty("浜у湴")
+ private String origin;
}
diff --git a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
index 972f6d8..707b560 100644
--- a/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
+++ b/cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java
@@ -38,7 +38,7 @@
List<Device> selectDeviceByCategory(String inspectionItem, String inspectionItemSubclass);
- Device selectDeviceByCode(String code);
+ Device selectDeviceByCode(Integer id);
Result<?> dataAcquisition(HttpServletRequest request, Integer id, String entrustCode, String sampleCode);
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
diff --git a/cnas-server/src/main/resources/mapper/DeviceMapper.xml b/cnas-server/src/main/resources/mapper/DeviceMapper.xml
index f4c9e77..6d1de4a 100644
--- a/cnas-server/src/main/resources/mapper/DeviceMapper.xml
+++ b/cnas-server/src/main/resources/mapper/DeviceMapper.xml
@@ -165,4 +165,22 @@
</where>
order by l.laboratory_name desc, d.large_category desc
</select>
+ <select id="selectDeviceByCode" resultType="com.yuanchu.mom.dto.DeviceDto">
+ SELECT d.*,
+ GROUP_CONCAT(DISTINCT inspection_item SEPARATOR ';') AS ins_product_item,
+ l.laboratory_name,
+ u1.name equipmentManager_name,
+ u2.name authorized_person_name
+ FROM device d
+ LEFT JOIN structure_item_parameter sip ON FIND_IN_SET(sip.id, d.ins_product_ids)
+ LEFT JOIN laboratory l ON d.subordinate_departments_id = l.id
+ LEFT JOIN user u1 ON u1.id = d.equipment_manager
+ LEFT JOIN user u2 ON u2.id = d.authorized_person
+ WHERE d.id = #{id}
+
+ GROUP BY d.id,
+ l.laboratory_name,
+ u1.name,
+ u2.name
+ </select>
</mapper>
--
Gitblit v1.9.3