From bb5ce8ef60a63815f222716c40111bd045464689 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 30 九月 2025 18:32:10 +0800 Subject: [PATCH] 资产维修记录列表查询接口 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java | 42 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 36 insertions(+), 6 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java index edd5be5..15a4143 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java @@ -1,12 +1,11 @@ package com.ruoyi.system.service.impl; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.exception.ServiceException; -import com.ruoyi.system.dto.dispose.OaApprovalApplicationDisposeDTO; +import com.ruoyi.system.dto.asset.OaApprovalApplicationDisposeDTO; import com.ruoyi.system.emums.ApprovalStatusEnum; import com.ruoyi.system.emums.ApprovalTypeEnum; import com.ruoyi.system.mapper.OaApprovalApplicationDisposeMapper; @@ -15,12 +14,15 @@ import com.ruoyi.system.model.OaApprovalApplications; import com.ruoyi.system.model.OaApprovalFlowNode; import com.ruoyi.system.query.OaApprovalApplicationDisposePageQuery; +import com.ruoyi.system.service.AssetMainService; import com.ruoyi.system.service.OaApprovalApplicationAssetItemService; import com.ruoyi.system.service.OaApprovalApplicationDisposeService; import com.ruoyi.system.service.OaApprovalApplicationsService; import com.ruoyi.system.service.OaApprovalFlowNodeService; import com.ruoyi.system.service.OaApprovalTodoService; -import com.ruoyi.system.vo.dispose.OaApprovalApplicationDisposePageVO; +import com.ruoyi.system.vo.asset.AssetMainVO; +import com.ruoyi.system.vo.asset.OaApprovalApplicationDisposeDetailVO; +import com.ruoyi.system.vo.asset.OaApprovalApplicationDisposePageVO; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -28,6 +30,7 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -47,6 +50,7 @@ private final OaApprovalFlowNodeService oaApprovalFlowNodeService; private final OaApprovalTodoService oaApprovalTodoService; private final OaApprovalApplicationAssetItemService oaApprovalApplicationAssetItemService; + private final AssetMainService assetMainService; @Override public IPage<OaApprovalApplicationDisposePageVO> getDisposePageList(OaApprovalApplicationDisposePageQuery pageQuery) { @@ -57,9 +61,8 @@ @Override @Transactional(rollbackFor = Exception.class) public void submitDispose(OaApprovalApplicationDisposeDTO dto) { - if (CollUtil.isEmpty(dto.getAssetMainIds())) { - throw new ServiceException("资产ID列表不能为空"); - } + //校验资产状态 + oaApprovalApplicationAssetItemService.validateAssetStatus(dto.getAssetMainIds()); // 1. 构建并保存审批主表 OaApprovalApplications applications = buildOaApprovalApplications(dto); @@ -133,4 +136,31 @@ oaApprovalApplicationAssetItemService.lambdaUpdate().eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, applicationId).remove(); oaApprovalApplicationsService.removeById(applicationId); } + + @Override + public OaApprovalApplicationDisposeDetailVO getDisposeDetail(Integer id) { + OaApprovalApplications app = oaApprovalApplicationsService.getById(id); + if (app == null) { + throw new ServiceException("审批主记录不存在"); + } + OaApprovalApplicationDispose detail = this.lambdaQuery().eq(OaApprovalApplicationDispose::getApprovalApplicationId, app.getId()).one(); + if (detail == null) { + throw new ServiceException("记录不存在"); + } + oaApprovalApplicationsService.assembleApplicationDetail(app); + List<Integer> assetMainIds = oaApprovalApplicationAssetItemService.lambdaQuery() + .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, app.getId()) + .list().stream().map(OaApprovalApplicationAssetItem::getAssetMainId) + .distinct().collect(Collectors.toList()); + + List<AssetMainVO> assetMainVOS = assetMainIds.isEmpty() ? Collections.emptyList() : assetMainService.getListByIds(assetMainIds); + OaApprovalApplicationDisposeDetailVO vo = BeanUtil.copyProperties(app, OaApprovalApplicationDisposeDetailVO.class); + vo.setTitle(detail.getTitle()); + vo.setAssetTypeId(detail.getAssetTypeId()); + vo.setDisposeTime(detail.getDisposeTime()); + vo.setDisposeType(detail.getDisposeType()); + vo.setDisposeTotalAmount(detail.getDisposeTotalAmount()); + vo.setItems(assetMainVOS); + return vo; + } } -- Gitblit v1.7.1