From 3de2d31db9ac65c354fd228ab84fa2ed786482b9 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期一, 29 九月 2025 11:12:35 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 42 insertions(+), 5 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 8fcf871..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 @@ -131,9 +131,9 @@ } private OaApprovalApplicationAsset buildOaApprovalApplicationAsset(OaApprovalApplicationAssetReceiveDTO dto, Integer applicationId) { - OaApprovalApplicationAsset asset = new OaApprovalApplicationAsset(); + OaApprovalApplicationAsset asset = BeanUtil.copyProperties(dto, OaApprovalApplicationAsset.class); asset.setApprovalApplicationId(applicationId); - asset.setType(AssetOperateTypeEnum.RECEIVE.getCode()); + asset.setType(dto.getType()); return asset; } @@ -170,7 +170,7 @@ if (detail == null) { throw new ServiceException("记录不存在"); } - + oaApprovalApplicationsService.assembleApplicationDetail(app); List<Integer> assetMainIds = oaApprovalApplicationAssetItemService.lambdaQuery() .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, app.getId()) .list().stream().map(OaApprovalApplicationAssetItem::getAssetMainId) @@ -202,7 +202,7 @@ if (detail == null) { throw new ServiceException("记录不存在"); } - + oaApprovalApplicationsService.assembleApplicationDetail(app); List<Integer> assetMainIds = oaApprovalApplicationAssetItemService.lambdaQuery() .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, app.getId()) .list().stream().map(OaApprovalApplicationAssetItem::getAssetMainId) @@ -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,4 +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