zhuo
2025-04-18 8b4d7246fb735d965195201e80178b5d1528a486
1.设备使用授权导出
2.设备维护保养导出
已修改10个文件
已添加3个文件
396 ■■■■ 文件已修改
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceImpowerController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/dto/DeviceImpowerDto.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceImpower.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenanceService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java 115 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/resources/static/word/device-impower.docx 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/resources/static/word/device-maintenance.docx 补丁 | 查看 | 原始文档 | blame | 历史
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/constant/DeviceImpowerConstants.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/UserMapper.xml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceImpowerController.java
@@ -81,7 +81,7 @@
    /**
     * æäº¤æ‰¹å‡†
     */
    @ApiOperation("提交批准")
    @ApiOperation("提交批准通知")
    @PostMapping("/submitReviewImpowerStatus")
    public Result submitReviewImpowerStatus(@RequestBody DeviceImpowerDto deviceImpowerDto) {
        return deviceImpowerService.submitReviewImpowerStatus(deviceImpowerDto);
@@ -90,7 +90,7 @@
    /**
     * ä½¿ç”¨æŽˆæƒæ‰¹å‡†
     */
    @ApiOperation("使用授权批准")
    @ApiOperation("授权批准")
    @PostMapping("/reviewImpowerStatus")
    public Result reviewImpowerStatus(@RequestBody DeviceImpowerDto deviceImpowerDto) {
        return deviceImpowerService.reviewImpowerStatus(deviceImpowerDto);
@@ -101,7 +101,7 @@
     */
    @ApiOperation("导出使用授权")
    @GetMapping("/exportDeviceImpower")
    public Result exportDeviceImpower(@RequestParam("ImpowerId") Integer impowerId, HttpServletResponse response) {
    public Result exportDeviceImpower(@RequestParam("impowerId") Integer impowerId, HttpServletResponse response) {
        return deviceImpowerService.exportDeviceImpowerDto(impowerId, response);
    }
cnas-device/src/main/java/com/ruoyi/device/controller/DeviceMaintenanceController.java
@@ -12,6 +12,8 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
/**
 * todo: å­™æ²³æ»¨
 */
@@ -67,5 +69,13 @@
        return Result.success(deviceMaintenanceService.removeById(id));
    }
    /**
     * å¯¼å‡ºè®¾å¤‡ç»´æŠ¤ä¿å…»
     */
    @ApiOperation("导出设备维护保养")
    @GetMapping("/exportDeviceMaintenance")
    public void exportDeviceMaintenance(@RequestParam("deviceId") Integer deviceId, HttpServletResponse response) {
        deviceMaintenanceService.exportDeviceMaintenance(deviceId, response);
    }
}
cnas-device/src/main/java/com/ruoyi/device/dto/DeviceImpowerDto.java
@@ -13,7 +13,12 @@
@Data
public class DeviceImpowerDto extends DeviceImpower {
    @ApiModelProperty("详情")
    private List<DeviceImpowerDetailsDto> deviceImpowerDetails;
    @ApiModelProperty("授权日期中文")
    private String auditDateCH;
    @ApiModelProperty("授权日期英文")
    private String auditDateEN;
}
cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceImpower.java
@@ -14,7 +14,7 @@
/**
 * <p>
 * è®¾å¤‡é‡å€¼æº¯æºè®¡åˆ’表
 * è®¾å¤‡ä½¿ç”¨æŽˆæƒè¡¨
 * </p>
 *
 * @author
@@ -23,7 +23,7 @@
@Getter
@Setter
@TableName("device_impower")
@ApiModel(value = "DeviceImpower对象", description = "设备量值溯源计划表")
@ApiModel(value = "DeviceImpower对象", description = "设备使用授权表")
public class DeviceImpower implements Serializable {
    @ApiModelProperty("授权id")
cnas-device/src/main/java/com/ruoyi/device/pojo/DeviceMaintenance.java
@@ -5,6 +5,7 @@
import java.util.Date;
import com.baomidou.mybatisplus.annotation.*;
import com.deepoove.poi.data.PictureRenderData;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -55,5 +56,10 @@
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Integer updateUser;
    @TableField(select = false, exist = false)
    @ApiModelProperty("维护人图片")
    private PictureRenderData maintenanceUserUrlRender;
}
cnas-device/src/main/java/com/ruoyi/device/service/DeviceMaintenanceService.java
@@ -3,8 +3,11 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.Result;
import com.ruoyi.device.dto.DeviceMaintenanceDto;
import com.ruoyi.device.pojo.DeviceMaintenance;
import javax.servlet.http.HttpServletResponse;
/**
 * è®¾å¤‡ç»´æŠ¤ä¿å…»
@@ -16,4 +19,12 @@
     * @return
     */
    IPage<DeviceMaintenanceDto> selectDeviceMaintenancePage(Page page, DeviceMaintenanceDto deviceMaintenance);
    /**
     * å¯¼å‡ºè®¾å¤‡ç»´æŠ¤ä¿å…»
     * @param deviceId
     * @param response
     * @return
     */
    void exportDeviceMaintenance(Integer deviceId, HttpServletResponse response);
}
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceImpowerServiceImpl.java
@@ -39,6 +39,7 @@
import java.io.OutputStream;
import java.net.URLEncoder;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@@ -182,17 +183,17 @@
     */
    @Override
    public Result submitReviewImpowerStatus(DeviceImpowerDto deviceImpowerDto) {
//        User audit = userMapper.selectById(deviceImpowerDto.getAuditId());
//        this.update(Wrappers.<DeviceImpower>lambdaUpdate()
//                .eq(DeviceImpower::getImpowerId, deviceImpowerDto.getImpowerId())
//                .set(DeviceImpower::getAuditId, audit.getId())
//                .set(DeviceImpower::getAudit, audit.getName())
//                .set(DeviceImpower::getAuditDate, null)
//                .set(DeviceImpower::getStatus, null)
//                .set(DeviceImpower::getAuditRemark, null));
//
//        DeviceImpower deviceImpower = baseMapper.selectById(deviceImpowerDto.getImpowerId());
//
        User audit = userMapper.selectById(deviceImpowerDto.getAuditId());
        this.update(Wrappers.<DeviceImpower>lambdaUpdate()
                .eq(DeviceImpower::getImpowerId, deviceImpowerDto.getImpowerId())
                .set(DeviceImpower::getAuditId, audit.getId())
                .set(DeviceImpower::getAudit, audit.getName())
                .set(DeviceImpower::getAuditDate, null)
                .set(DeviceImpower::getStatus, null)
                .set(DeviceImpower::getAuditRemark, null));
        DeviceImpower deviceImpower = baseMapper.selectById(deviceImpowerDto.getImpowerId());
//        // å‘送消息
//        Integer userId = SecurityUtils.getUserId().intValue();
//        User user = userMapper.selectById(userId);
@@ -226,9 +227,9 @@
    }
    /**
     * å®¡æ ¸è®¾å¤‡ä½¿ç”¨
     *
     * @param deviceImpowerDto è®¾å¤‡ä½¿ç”¨
     *
     * @param deviceImpowerDto
     */
    @Override
    public Result reviewImpowerStatus(DeviceImpowerDto deviceImpowerDto) {
@@ -245,50 +246,54 @@
    /**
     * å¯¼å‡ºè®¾å¤‡ä½¿ç”¨
     *
     * @param ImpowerId è®¾å¤‡ä½¿ç”¨id
     * @param impowerId è®¾å¤‡ä½¿ç”¨id
     */
    @Override
    public Result exportDeviceImpowerDto(Integer ImpowerId, HttpServletResponse response) {
//        // æŸ¥è¯¢è®¾å¤‡ä¿å…»è®¡åˆ’
//        DeviceImpowerDto deviceImpower = baseMapper.selectDeviceImpowerById(ImpowerId);
//
//        // æŸ¥è¯¢è®¾å¤‡ä¿å…»è®¡åˆ’详情
//        List<DeviceImpowerDetailsDto> deviceImpowerDetailsDtoList = deviceImpowerDetailsMapper.deviceImpowerDetailsList(ImpowerId);
//        // è®¾ç½®åºå·
//        deviceImpowerDetailsDtoList.forEach(deviceImpowerDetails -> {
//            deviceImpowerDetails.setIndex(deviceImpowerDetailsDtoList.indexOf(deviceImpowerDetails) + 1);
//        });
//
//        // èŽ·å–è·¯å¾„
//        InputStream inputStream = this.getClass().getResourceAsStream("/static/word/traceability-management-details.docx");
//        Configure configure = Configure.builder()
//                .bind("deviceImpowerDetailsDtoList", new HackLoopTableRenderPolicy())
//                .build();
//        XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
//                new HashMap<String, Object>() {{
//                    put("deviceImpower", deviceImpower);
//                    put("deviceImpowerDetailsDtoList", deviceImpowerDetailsDtoList);
//                    // ç¼–制人签名地址
//                    put("compilerUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getCompilerId()));
//                    // å®¡æ ¸äººç­¾ååœ°å€
//                    put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getAuditId()));
//                }});
//
//        try {
//            response.setContentType("application/msword");
//            String finalFileName = deviceImpower.getFileName() == null ? "" : deviceImpower.getFileName() + "_";
//            String fileName = URLEncoder.encode(
//                    finalFileName+ "设备使用", "UTF-8");
//            response.setHeader("Content-disposition",
//                    "attachment;filename=" + fileName + ".docx");
//            OutputStream os = response.getOutputStream();
//            template.write(os);
//            os.flush();
//            os.close();
//        } catch (Exception e) {
//            e.printStackTrace();
//            throw new RuntimeException("导出失败");
//        }
    public Result exportDeviceImpowerDto(Integer impowerId, HttpServletResponse response) {
        // æŸ¥è¯¢è®¾å¤‡ä½¿ç”¨æŽˆæƒè®¡åˆ’
        DeviceImpower deviceImpower = baseMapper.selectById(impowerId);
        DeviceImpowerDto deviceImpowerDto = new DeviceImpowerDto();
        BeanUtils.copyProperties(deviceImpower, deviceImpowerDto);
        // æ ¼å¼åŒ–日期中英文
        DateTimeFormatter formatterCH = DateTimeFormatter.ofPattern("yyyy å¹´ MM æœˆ dd æ—¥");
        DateTimeFormatter formatterEN = DateTimeFormatter.ofPattern("yyyy 'Year' MM 'Month' dd 'Day'");
        deviceImpowerDto.setAuditDateCH(deviceImpower.getAuditDate() == null ? null : deviceImpower.getAuditDate().format(formatterCH));
        deviceImpowerDto.setAuditDateEN(deviceImpower.getAuditDate() == null ? null : deviceImpower.getAuditDate().format(formatterEN));
        // æŸ¥è¯¢è®¾å¤‡ä¿å…»è®¡åˆ’详情
        List<DeviceImpowerDetailsDto> deviceImpowerDetailsDtoList = deviceImpowerDetailsMapper.deviceImpowerDetailsList(impowerId);
        // è®¾ç½®åºå·
        deviceImpowerDetailsDtoList.forEach(deviceImpowerDetails -> {
            deviceImpowerDetails.setIndex(deviceImpowerDetailsDtoList.indexOf(deviceImpowerDetails) + 1);
        });
        // èŽ·å–è·¯å¾„
        InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-impower.docx");
        Configure configure = Configure.builder()
                .bind("deviceImpowerDetailsDtoList", new HackLoopTableRenderPolicy())
                .build();
        XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
                new HashMap<String, Object>() {{
                    put("deviceImpower", deviceImpowerDto);
                    put("deviceImpowerDetailsDtoList", deviceImpowerDetailsDtoList);
                    // æŽˆæƒäººåœ°å€
                    put("auditUrl", UserUtils.getFinalUserSignatureUrl(deviceImpower.getAuditId()));
                }});
        try {
            response.setContentType("application/msword");
            String fileName = URLEncoder.encode(
                    "设备使用授权", "UTF-8");
            response.setHeader("Content-disposition",
                    "attachment;filename=" + fileName + ".docx");
            OutputStream os = response.getOutputStream();
            template.write(os);
            os.flush();
            os.close();
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("导出失败");
        }
        return Result.success();
    }
}
cnas-device/src/main/java/com/ruoyi/device/service/impl/DeviceMaintenanceImpl.java
@@ -1,21 +1,58 @@
package com.ruoyi.device.service.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.deepoove.poi.XWPFTemplate;
import com.deepoove.poi.config.Configure;
import com.deepoove.poi.data.Pictures;
import com.ruoyi.common.core.domain.entity.SysDictData;
import com.ruoyi.common.utils.QueryWrappers;
import com.ruoyi.device.dto.DeviceImpowerDetailsDto;
import com.ruoyi.device.dto.DeviceImpowerDto;
import com.ruoyi.device.dto.DeviceMaintenanceDto;
import com.ruoyi.device.mapper.DeviceMaintenanceMapper;
import com.ruoyi.device.mapper.DeviceMapper;
import com.ruoyi.device.pojo.Device;
import com.ruoyi.device.pojo.DeviceImpower;
import com.ruoyi.device.pojo.DeviceMaintenance;
import com.ruoyi.device.service.DeviceMaintenanceService;
import com.ruoyi.device.service.DeviceService;
import com.ruoyi.inspect.util.HackLoopTableRenderPolicy;
import com.ruoyi.inspect.util.UserUtils;
import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.service.ISysDictTypeService;
import lombok.AllArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
 * è®¾å¤‡ç»´æŠ¤ä¿å…»
 */
@Service
public class DeviceMaintenanceImpl extends ServiceImpl<DeviceMaintenanceMapper, DeviceMaintenance> implements DeviceMaintenanceService {
    @Resource
    private DeviceService deviceService;
    @Resource
    private ISysDictTypeService iSysDictTypeService;
    @Value("${file.path}")
    private String imgUrl;
    /**
     * è®¾å¤‡ç»´æŠ¤åˆ†é¡µæŸ¥è¯¢
@@ -28,4 +65,132 @@
        }
        return baseMapper.selectDeviceMaintenancePage(page, QueryWrappers.queryWrappers(deviceMaintenance));
    }
    /**
     * å¯¼å‡ºè®¾å¤‡ç»´æŠ¤ä¿å…»
     * @param deviceId
     * @param response
     */
    @Override
    public void exportDeviceMaintenance(Integer deviceId, HttpServletResponse response) {
        // æŸ¥è¯¢è®¾å¤‡ç»´æŠ¤ä¿å…»
        List<DeviceMaintenance> deviceMaintenanceList = baseMapper.selectList(Wrappers.<DeviceMaintenance>lambdaQuery()
                .eq(DeviceMaintenance::getDeviceId, deviceId));
        // èŽ·å–åˆ°ç¬¬ä¸€ä¸ªè®¾å¤‡ä½¿ç”¨æŽˆæƒ
        DeviceMaintenanceDto deviceMaintenanceDto = new DeviceMaintenanceDto();
        List<SysDictData> sysDictDataList = null;
        if (CollectionUtils.isNotEmpty(deviceMaintenanceList)) {
            BeanUtils.copyProperties(deviceMaintenanceList.get(0), deviceMaintenanceDto);
            // æŸ¥è¯¢è®¾å¤‡ä¿¡æ¯
            Device device = deviceService.getById(deviceId);
            deviceMaintenanceDto.setDeviceName(device.getDeviceName());
            deviceMaintenanceDto.setManagementNumber(device.getManagementNumber());
            //查询维护保养导出字典值
            sysDictDataList = getDeviceMaintenanceDict(device);
        }
        // æ·»åŠ å­—å…¸æžšä¸¾å€¼
        for (DeviceMaintenance deviceMaintenance : deviceMaintenanceList) {
            StringBuilder maintenanceContent = new StringBuilder(deviceMaintenance.getMaintenanceContent());
            if (CollectionUtils.isNotEmpty(sysDictDataList) && StringUtils.isNotBlank(deviceMaintenance.getMaintenanceContent())) {
                maintenanceContent = new StringBuilder();
                List<String> splitList = StrUtil.split(deviceMaintenance.getMaintenanceContent(), ',');
                // å¾ªçŽ¯åˆ¤æ–­æ˜¯å¦æœ‰ä¸€æ ·key
                for (SysDictData sysDictData : sysDictDataList) {
                    if (splitList.contains(sysDictData.getDictLabel())) {
                        maintenanceContent.append("☑").append(sysDictData.getDictLabel()).append(" ");
                    } else {
                        maintenanceContent.append("□").append(sysDictData.getDictLabel()).append(" ");
                    }
                }
            }
            deviceMaintenance.setMaintenanceContent(maintenanceContent.toString());
            // æ·»åŠ ç»´æŠ¤äººå›¾ç‰‡
            deviceMaintenance.setMaintenanceUserUrlRender(UserUtils.getFinalUserSignatureUrl(deviceMaintenance.getMaintenanceUserId()));
        }
        // èŽ·å–è·¯å¾„
        InputStream inputStream = this.getClass().getResourceAsStream("/static/word/device-maintenance.docx");
        Configure configure = Configure.builder()
                .bind("deviceMaintenances", new HackLoopTableRenderPolicy())
                .build();
        XWPFTemplate template = XWPFTemplate.compile(inputStream, configure).render(
                new HashMap<String, Object>() {{
                    put("device", deviceMaintenanceDto);
                    put("deviceMaintenances", deviceMaintenanceList);
                }});
        try {
            response.setContentType("application/msword");
            String fileName = URLEncoder.encode(
                    "设备使用授权", "UTF-8");
            response.setHeader("Content-disposition",
                    "attachment;filename=" + fileName + ".docx");
            OutputStream os = response.getOutputStream();
            template.write(os);
            os.flush();
            os.close();
        } catch (Exception e) {
            e.printStackTrace();
            throw new RuntimeException("导出失败");
        }
    }
    /**
     * ****查询维护保养导出字典值***
     * @param device
     */
    private List<SysDictData> getDeviceMaintenanceDict(Device device) {
        List<SysDictData> sysDictDataList = new ArrayList<>();
        // æŸ¥è¯¢ç»´æŠ¤ä¿å…»å¯¼å‡ºå­—典值
        if (StringUtils.isNotBlank(device.getStoragePoint())) {
            String dictType = null;
            switch (device.getStoragePoint()) {
                case "老化室":
                    dictType = "aging_maintenance_content";
                    break;
                case "老化实验室":
                    dictType = "aging_maintenance_content";
                    break;
                case "电性能实验室":
                    dictType = "electrical_maintenance_content";
                    break;
                case "环境实验室":
                    dictType = "environmental_maintenance_content";
                    break;
                case "燃烧实验室":
                    dictType = "burn_maintenance_content";
                    break;
                case "混炼实验室":
                    dictType = "mixing_maintenance_content";
                    break;
                case "检测中心电性能实验室":
                    dictType = "center_electrical_maintenance_content";
                    break;
                case "恒温二":
                    dictType = "temperature2_maintenance_content";
                    break;
                case "恒温一":
                    dictType = "temperature1_maintenance_content";
                    break;
                case "化学实验室":
                    dictType = "chemistry_maintenance_content";
                    break;
                case "制样室":
                    dictType = "sample_maintenance_content";
                    break;
                case "低温实验室":
                    dictType = "hypothermia_maintenance_content";
                    break;
            }
            sysDictDataList = iSysDictTypeService.selectDictDataByType(dictType);
        }
        return sysDictDataList;
    }
}
cnas-device/src/main/resources/static/word/device-impower.docx
Binary files differ
cnas-device/src/main/resources/static/word/device-maintenance.docx
Binary files differ
inspect-server/src/main/java/com/ruoyi/inspect/service/impl/InsReportServiceImpl.java
@@ -1005,9 +1005,6 @@
     */
    @Override
    public void reportAllExport(ReportPageDto dto, HttpServletResponse response) throws UnsupportedEncodingException {
        //查询导出的费用统计数据
        //获取当前人所属实验室id
        Integer createOrderUser = dto.getCreateOrderUser();
        String queryStatus = dto.getQueryStatus();
ruoyi-common/src/main/java/com/ruoyi/common/constant/DeviceImpowerConstants.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,65 @@
package com.ruoyi.common.constant;
/**
 * @Author zhuo
 * @Date 2025/4/18
 */
public class DeviceImpowerConstants {
    /**
     * è€åŒ–室维护内容
     */
    public static final String AGING_MAINTENANCE_CONTENT = "aging_maintenance_content";
    /**
     * ç”µæ€§èƒ½å®žéªŒå®¤ç»´æŠ¤å†…容
     */
    public static final String ELECTRICAL_MAINTENANCE_CONTENT = "electrical_maintenance_content";
    /**
     * çŽ¯å¢ƒå®žéªŒå®¤ç»´æŠ¤å†…å®¹
     */
    public static final String ENVIRONMENTAL_MAINTENANCE_CONTENT = "environmental_maintenance_content";
    /**
     * ç‡ƒçƒ§å®žéªŒå®¤ç»´æŠ¤å†…容
     */
    public static final String BURN_MAINTENANCE_CONTENT = "burn_maintenance_content";
    /**
     * æ··ç‚¼å®žéªŒå®¤ç»´æŠ¤å†…容
     */
    public static final String MIXING_MAINTENANCE_CONTENT = "mixing_maintenance_content";
    /**
     * æ£€æµ‹ä¸­å¿ƒç”µæ€§èƒ½å®žéªŒå®¤ç»´æŠ¤å†…容
     */
    public static final String CENTER_ELECTRICAL_MAINTENANCE_CONTENT = "center_electrical_maintenance_content";
    /**
     * æ’温二维护内容
     */
    public static final String TEMPERATURE2_MAINTENANCE_CONTENT = "temperature2_maintenance_content";
    /**
     * æ’温一维护内容
     */
    public static final String TEMPERATURE1_MAINTENANCE_CONTENT = "temperature1_maintenance_content";
    /**
     * åŒ–学实验室维护内容
     */
    public static final String CHEMISTRY_MAINTENANCE_CONTENT = "chemistry_maintenance_content";
    /**
     * åˆ¶æ ·å®¤ç»´æŠ¤å†…容
     */
    public static final String SAMPLE_MAINTENANCE_CONTENT = "sample_maintenance_content";
    /**
     * ä½Žæ¸©å®žéªŒå®¤ç»´æŠ¤å†…容
     */
    public static final String HYPOTHERMIA_MAINTENANCE_CONTENT = "hypothermia_maintenance_content";
}
ruoyi-system/src/main/resources/mapper/system/UserMapper.xml
@@ -91,7 +91,9 @@
               name_en,
               status
        from user u
        where depart_lims_id = (select u2.depart_lims_id
        where depart_lims_id is not null
          and depart_lims_id != ''
          and depart_lims_id = (select u2.depart_lims_id
                                from user u2
                                where u2.id = #{userId})
    </select>