From d9a63819279a0b17070d4af08d24f567ba8904e4 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期日, 28 九月 2025 22:40:53 +0800 Subject: [PATCH] 资产处置 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java | 35 +++++++++++++++++++++++++++++++++-- 1 files changed, 33 insertions(+), 2 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java index f3f7667..36986e6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java @@ -133,7 +133,7 @@ private OaApprovalApplicationAsset buildOaApprovalApplicationAsset(OaApprovalApplicationAssetReceiveDTO dto, Integer applicationId) { OaApprovalApplicationAsset asset = BeanUtil.copyProperties(dto, OaApprovalApplicationAsset.class); asset.setApprovalApplicationId(applicationId); - asset.setType(AssetOperateTypeEnum.RECEIVE.getCode()); + asset.setType(dto.getType()); return asset; } @@ -227,6 +227,7 @@ vo.setTitle(detail.getTitle()); vo.setAssetTypeId(detail.getAssetTypeId()); vo.setOperateTime(detail.getOperateTime()); + vo.setExpectReturnDate(detail.getExpectReturnDate()); vo.setItems(assetMainVOS); return vo; } @@ -277,8 +278,12 @@ // 4. 保存归还明细 OaApprovalApplicationAsset detail = BeanUtil.copyProperties(dto, OaApprovalApplicationAsset.class); detail.setApprovalApplicationId(applications.getId()); + detail.setBorrowApplicationId(dto.getApprovalApplicationId()); detail.setType(AssetOperateTypeEnum.RETURN.getCode()); - + OaApprovalApplicationAsset asset = lambdaQuery().eq(OaApprovalApplicationAsset::getApprovalApplicationId, dto.getApprovalApplicationId()).one(); + if (Objects.nonNull(asset)) { + detail.setAssetTypeId(asset.getAssetTypeId()); + } this.save(detail); // 5. 保存关联的资产项 @@ -311,10 +316,36 @@ }); return pageByType; } + + @Override + public OaApprovalApplicationAssetDetailVO getReturnDetail(Integer id) { + OaApprovalApplications app = oaApprovalApplicationsService.getById(id); + if (app == null) { + throw new ServiceException("审批主记录不存在"); + } + OaApprovalApplicationAsset detail = this.lambdaQuery().eq(OaApprovalApplicationAsset::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); + OaApprovalApplicationAssetDetailVO vo = BeanUtil.copyProperties(app, OaApprovalApplicationAssetDetailVO.class); + vo.setTitle(detail.getTitle()); + vo.setAssetTypeId(detail.getAssetTypeId()); + vo.setOperateTime(detail.getOperateTime()); + vo.setItems(assetMainVOS); + return vo; + } @Transactional(rollbackFor = Exception.class) @Override public void deleteByApplicationId(Integer applicationId) { this.lambdaUpdate().eq(OaApprovalApplicationAsset::getApprovalApplicationId, applicationId).remove(); + oaApprovalApplicationAssetItemService.lambdaUpdate().eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, applicationId).remove(); oaApprovalApplicationsService.removeById(applicationId); } } -- Gitblit v1.7.1