From c758c4e55d74a34902dac5752ff4f160118b19bc Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 23 九月 2025 14:09:36 +0800 Subject: [PATCH] 资产借用接口 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java | 40 +++++++++++++++++++++++++--------------- 1 files changed, 25 insertions(+), 15 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 051d780..d87033e 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 @@ -7,6 +7,7 @@ import com.ruoyi.system.dto.asset.OaApprovalApplicationAssetReceiveDTO; import com.ruoyi.system.emums.ApprovalStatusEnum; import com.ruoyi.system.emums.ApprovalTypeEnum; +import com.ruoyi.system.emums.AssetOperateTypeEnum; import com.ruoyi.system.mapper.OaApprovalApplicationAssetMapper; import com.ruoyi.system.model.OaApprovalApplicationAsset; import com.ruoyi.system.model.OaApprovalApplicationAssetItem; @@ -49,32 +50,33 @@ @Override @Transactional(rollbackFor = Exception.class) - public void submitReceive(OaApprovalApplicationAssetReceiveDTO dto) { - if (CollectionUtils.isEmpty(dto.getAssetItems())) { - throw new ServiceException("领用资产列表不能为空"); + public void submitReceiveBorrow(OaApprovalApplicationAssetReceiveDTO dto) { + if (CollectionUtils.isEmpty(dto.getAssetMainIds())) { + throw new ServiceException("领用资产ID列表不能为空"); } // 1. 构建并保存审批主表 OaApprovalApplications applications = buildOaApprovalApplications(dto); // 2. 获取流程首节点,设置当前节点,并保存 - OaApprovalFlowNode firstFlowNode = getFirstFlowNode(ApprovalTypeEnum.GRAB.getCode()); + OaApprovalFlowNode firstFlowNode = getFirstFlowNode(dto.getType().equals(AssetOperateTypeEnum.RECEIVE.getCode()) ? + ApprovalTypeEnum.GRAB.getCode() : ApprovalTypeEnum.BORROW.getCode()); applications.setCurrentFlowNodeId(firstFlowNode.getId()); oaApprovalApplicationsService.save(applications); // 3. 创建待办 oaApprovalTodoService.createApprovalTodos(applications.getId(), applications.getApplicationCode(), firstFlowNode, dto.getDeptId()); - // 4. 保存领用明细 + // 4. 保存领用/借用明细 OaApprovalApplicationAsset detail = buildOaApprovalApplicationAsset(dto, applications.getId()); this.save(detail); // 5. 保存关联的资产项 - List<OaApprovalApplicationAssetItem> items = dto.getAssetItems().stream() + List<OaApprovalApplicationAssetItem> items = dto.getAssetMainIds().stream() .map(i -> { OaApprovalApplicationAssetItem item = new OaApprovalApplicationAssetItem(); item.setApprovalApplicationId(applications.getId()); - item.setAssetMainId(i.getAssetMainId()); + item.setAssetMainId(i); return item; }) .collect(Collectors.toList()); @@ -115,8 +117,7 @@ asset.setTitle(dto.getTitle()); asset.setAssetTypeId(dto.getAssetTypeId()); asset.setOperateTime(dto.getOperateTime()); - asset.setExpectReturnDate(dto.getExpectReturnDate()); - asset.setType(0); // 0-领用 + asset.setType(AssetOperateTypeEnum.RECEIVE.getCode()); return asset; } @@ -139,19 +140,21 @@ @Override public IPage<OaApprovalApplicationAssetPageVO> getReceivePageList(OaApprovalApplicationAssetPageQuery pageQuery) { Page<OaApprovalApplicationAssetPageVO> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()); - return this.baseMapper.selectReceivePage(page, pageQuery); + pageQuery.setType(0);//领用 + return this.baseMapper.getPageByType(page, pageQuery); } @Override public OaApprovalApplicationAssetDetailVO getDetail(Integer id) { - OaApprovalApplicationAsset detail = this.getById(id); - if (detail == null) { - throw new ServiceException("记录不存在"); - } - OaApprovalApplications app = oaApprovalApplicationsService.getById(detail.getApprovalApplicationId()); + 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("记录不存在"); + } + List<OaApprovalApplicationAssetItem> items = oaApprovalApplicationAssetItemService.lambdaQuery() .eq(OaApprovalApplicationAssetItem::getApprovalApplicationId, app.getId()) .list(); @@ -160,4 +163,11 @@ vo.setItems(items); return vo; } + + @Override + public IPage<OaApprovalApplicationAssetPageVO> getBorrowPageList(OaApprovalApplicationAssetPageQuery pageQuery) { + Page<OaApprovalApplicationAssetPageVO> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()); + pageQuery.setType(1); + return this.baseMapper.getPageByType(page, pageQuery); + } } -- Gitblit v1.7.1