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