From 49e1bc66ebaf696ebd3fc3ed33d65c8795fd3cde Mon Sep 17 00:00:00 2001 From: liding <756868258@qq.com> Date: 星期二, 01 七月 2025 18:05:12 +0800 Subject: [PATCH] 1.巡检定时任务 2.设备管理 3.文档查询 --- main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java | 72 ++++++++++++++++++++++++++++++++++-- 1 files changed, 68 insertions(+), 4 deletions(-) diff --git a/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java b/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java index 414e3f7..2c2400a 100644 --- a/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java +++ b/main-business/src/main/java/com/ruoyi/business/service/impl/InspectionTaskServiceImpl.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.basic.entity.StorageAttachment; import com.ruoyi.basic.entity.StorageBlob; +import com.ruoyi.basic.entity.Supply; import com.ruoyi.basic.entity.dto.StorageBlobDTO; import com.ruoyi.basic.mapper.StorageAttachmentMapper; import com.ruoyi.basic.mapper.StorageBlobMapper; @@ -15,9 +16,12 @@ import com.ruoyi.business.entity.InspectionTask; import com.ruoyi.business.mapper.InspectionTaskMapper; import com.ruoyi.business.service.InspectionTaskService; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.SecurityUtils; +import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.file.MinioUtils; +import com.ruoyi.system.mapper.SysUserMapper; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -50,8 +54,10 @@ private final MinioUtils minioUtils; + private final SysUserMapper sysUserMapper; + @Override - public IPage<InspectionTaskDto> selectInspectionTaskList(Page page, InspectionTaskDto inspectionTaskDto) { + public IPage<InspectionTaskDto> selectInspectionTaskList(Page<InspectionTask> page, InspectionTaskDto inspectionTaskDto) { LambdaQueryWrapper<InspectionTask> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.orderByDesc(InspectionTask::getCreateTime); IPage<InspectionTask> entityPage = inspectionTaskMapper.selectPage(page, queryWrapper); @@ -61,8 +67,46 @@ return new Page<>(entityPage.getCurrent(), entityPage.getSize(), entityPage.getTotal()); } // 鑾峰彇id闆嗗悎 - List<Long> ids = entityPage.getRecords().stream().map(InspectionTask::getId).collect(Collectors.toList()); + List<Long> ids = entityPage.getRecords().stream().map(InspectionTask::getId).toList(); + //鐧昏浜篿ds + List<Long> registrantIds = entityPage.getRecords().stream().map(InspectionTask::getRegistrantId).toList(); + // 鎵归噺鏌ヨ鐧昏浜� + Map<Long, SysUser> sysUserMap; + if (!registrantIds.isEmpty()) { + List<SysUser> sysUsers = sysUserMapper.selectList(registrantIds); + sysUserMap = sysUsers.stream().collect(Collectors.toMap(SysUser::getUserId, Function.identity())); + } else { + sysUserMap = new HashMap<>(); + } + //宸℃浜篿ds + List<String> inspectorIds = entityPage.getRecords().stream().map(InspectionTask::getInspectorId).toList(); + //鑾峰彇鎵�鏈変笉閲嶅鐨勭敤鎴稩D + Set<Long> allUserIds = entityPage.getRecords().stream() + .map(InspectionTask::getInspectorId) // 鑾峰彇"2,3"杩欐牱鐨勫瓧绗︿覆 + .filter(StringUtils::isNotBlank) + .flatMap(idsStr -> Arrays.stream(idsStr.split(","))) + .map(idStr -> { + try { + return Long.parseLong(idStr.trim()); + } catch (NumberFormatException e) { + return null; + } + }) + .filter(Objects::nonNull) + .collect(Collectors.toSet()); + + // 浣跨敤SQL鎵归噺鏌ヨ鐢ㄦ埛淇℃伅 + Map<Long, String> userIdToNameMap = allUserIds.isEmpty() + ? Collections.emptyMap() + : sysUserMapper.selectUsersByIds(new ArrayList<>(allUserIds)) + .stream() + .collect(Collectors.toMap( + SysUser::getUserId, + SysUser::getNickName, + (existing, replacement) -> existing)); + + //澶勭悊闄勪欢 Map<Long, List<StorageAttachment>> attachmentsMap = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>().in(StorageAttachment::getRecordId, ids) .eq(StorageAttachment::getRecordType, InspectionTasks.ordinal())) .stream() @@ -82,6 +126,27 @@ List<InspectionTaskDto> dtoList = entityPage.getRecords().stream().map(inspectionTask -> { InspectionTaskDto dto = new InspectionTaskDto(); BeanUtils.copyProperties(inspectionTask, dto); // 澶嶅埗涓诲璞″睘鎬� + + // 璁剧疆鐧昏浜� + SysUser sysUser = sysUserMap.get(inspectionTask.getRegistrantId()); + if (sysUser != null) { + dto.setRegistrant(sysUser.getNickName()); + } + // 澶勭悊宸℃浜哄悕绉� + if (StringUtils.isNotBlank(inspectionTask.getInspectorId())) { + String inspectorNames = Arrays.stream(inspectionTask.getInspectorId().split(",")) + .map(String::trim) + .map(idStr -> { + try { + Long userId = Long.parseLong(idStr); + return userIdToNameMap.getOrDefault(userId, "鏈煡鐢ㄦ埛(" + idStr + ")"); + } catch (NumberFormatException e) { + return "鏃犳晥ID(" + idStr + ")"; + } + }) + .collect(Collectors.joining(",")); + dto.setInspector(inspectorNames); + } // 鍒濆鍖栦笁涓檮浠跺垪琛� dto.setBeforeProduction(new ArrayList<>()); @@ -149,7 +214,6 @@ @Override public int addOrEditInspectionTask(InspectionTaskDto inspectionTaskDto) { - SecurityUtils.getLoginUser().getUserId(); InspectionTask inspectionTask = new InspectionTask(); BeanUtils.copyProperties(inspectionTaskDto, inspectionTask); inspectionTask.setRegistrantId(SecurityUtils.getLoginUser().getUserId()); @@ -184,6 +248,6 @@ if (ids == null || ids.length == 0) { return 0; } - return inspectionTaskMapper.deleteByIds(Arrays.asList(ids)); + return inspectionTaskMapper.deleteByIds(Arrays.asList(ids)); } } -- Gitblit v1.9.3