From 60afc1c228318d136a273cd0b389217f87583277 Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 11 十月 2025 11:29:33 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationAssetServiceImpl.java | 39 ++++++++------------------------------- 1 files changed, 8 insertions(+), 31 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 0f91b35..17cfd99 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 @@ -8,6 +8,7 @@ import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.bo.OaApprovalApplicationAssetReturnBO; +import com.ruoyi.system.constants.ApprovalApplicationCodePrefix; import com.ruoyi.system.dto.asset.OaApprovalApplicationAssetReceiveDTO; import com.ruoyi.system.dto.asset.OaApprovalApplicationAssetReturnDTO; import com.ruoyi.system.emums.ApprovalStatusEnum; @@ -36,7 +37,6 @@ import org.springframework.util.CollectionUtils; import java.time.LocalDate; -import java.time.format.DateTimeFormatter; import java.util.Collections; import java.util.List; import java.util.Map; @@ -65,10 +65,8 @@ @Override @Transactional(rollbackFor = Exception.class) public void submitReceiveBorrow(OaApprovalApplicationAssetReceiveDTO dto) { - if (CollUtil.isEmpty(dto.getAssetMainIds())) { - throw new ServiceException("资产ID列表不能为空"); - } - validateAssetStatus(dto.getAssetMainIds()); + //校验资产状态 + oaApprovalApplicationAssetItemService.validateAssetStatus(dto.getAssetMainIds()); // 1. 构建并保存审批主表 OaApprovalApplications applications = buildOaApprovalApplications(dto); @@ -97,11 +95,6 @@ oaApprovalApplicationAssetItemService.saveBatch(items); } - //TODO 是否需要限制只有未提交审批的资产才能提交 - private void validateAssetStatus(List<Integer> assetMainIds) { - - } - private OaApprovalFlowNode getFirstFlowNode(Integer approvalId) { List<OaApprovalFlowNode> flowNodes = oaApprovalFlowNodeService.lambdaQuery() .eq(OaApprovalFlowNode::getApprovalId, approvalId) @@ -116,7 +109,8 @@ private OaApprovalApplications buildOaApprovalApplications(OaApprovalApplicationAssetReceiveDTO dto) { OaApprovalApplications applications = new OaApprovalApplications(); - applications.setApplicationCode(generateApplicationCode(dto.getType().equals(0) ? "LY" : "JY")); + applications.setApplicationCode(oaApprovalApplicationsService.generateApplicationCode(dto.getType().equals(0) ? + ApprovalApplicationCodePrefix.ASSET_RECEIVE : ApprovalApplicationCodePrefix.ASSET_BORROW)); applications.setApprovalId(dto.getType().equals(0) ? ApprovalTypeEnum.GRAB.getCode() : ApprovalTypeEnum.BORROW.getCode()); applications.setApplicantUserId(dto.getApplicantUserId()); applications.setApplicantName(dto.getApplicantName()); @@ -135,22 +129,6 @@ asset.setApprovalApplicationId(applicationId); asset.setType(dto.getType()); return asset; - } - - /** - * 生成申请单号:LY + yyyyMMdd + 3位序号 - */ - private String generateApplicationCode(String prefix) { - String dateStr = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); - prefix = prefix + dateStr; - Long count = oaApprovalApplicationsService.lambdaQuery() - .like(OaApprovalApplications::getApplicationCode, prefix) - .ge(OaApprovalApplications::getCreateTime, LocalDate.now().atStartOfDay()) - .lt(OaApprovalApplications::getCreateTime, LocalDate.now().plusDays(1).atStartOfDay()) - .count(); - int sequence = (count != null ? count.intValue() : 0) + 1; - String sequenceStr = String.format("%03d", sequence); - return prefix + sequenceStr; } @Override @@ -260,12 +238,11 @@ } @Override public void submitReturn(OaApprovalApplicationAssetReturnDTO dto) { - if (CollUtil.isEmpty(dto.getAssetMainIds())) { - throw new ServiceException("资产ID列表不能为空"); - } + //校验资产状态 + oaApprovalApplicationAssetItemService.validateAssetStatus(dto.getAssetMainIds()); // 1. 构建并保存审批主表 OaApprovalApplications applications = BeanUtil.copyProperties(dto, OaApprovalApplications.class); - applications.setApplicationCode(generateApplicationCode("GH")); + applications.setApplicationCode(oaApprovalApplicationsService.generateApplicationCode(ApprovalApplicationCodePrefix.ASSET_RETURN)); applications.setApprovalId(ApprovalTypeEnum.RETURN.getCode()); applications.setApplicationDate(LocalDate.now()); -- Gitblit v1.7.1