zhuo
2025-02-15 74205424049d169a8d3bbabb74b4c8c9adf1ec99
设备列表查询接口修改
已修改7个文件
93 ■■■■■ 文件已修改
cnas-server/src/main/java/com/yuanchu/mom/controller/DeviceController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/dto/DeviceDto.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/mapper/DeviceMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/DeviceService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/java/com/yuanchu/mom/service/impl/DeviceServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-server/src/main/resources/mapper/DeviceMapper.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
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;
}
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);
}
cnas-server/src/main/java/com/yuanchu/mom/pojo/Device.java
@@ -143,4 +143,13 @@
    @ApiModelProperty("数采-db,mdb文件名称")
    private String dbFileName;
    @ApiModelProperty("被授权人")
    private String authorizedPerson;
    @ApiModelProperty("资产编码")
    private String assetCode;
    @ApiModelProperty("产地")
    private String origin;
}
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);
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
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>