无关风月
20 小时以前 3de2d31db9ac65c354fd228ab84fa2ed786482b9
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);
    }
}