| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | vo.setTitle(detail.getTitle()); |
| | | vo.setAssetTypeId(detail.getAssetTypeId()); |
| | | vo.setOperateTime(detail.getOperateTime()); |
| | | vo.setExpectReturnDate(detail.getExpectReturnDate()); |
| | | vo.setItems(assetMainVOS); |
| | | return vo; |
| | | } |
| | |
| | | // 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. 保存关联的资产项 |
| | |
| | | }); |
| | | 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); |
| | | } |
| | | } |