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/OaApprovalApplicationDisposeServiceImpl.java |   22 ++++------------------
 1 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java
index 6659bdc..d0c21e9 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/OaApprovalApplicationDisposeServiceImpl.java
@@ -1,11 +1,11 @@
 package com.ruoyi.system.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.exception.ServiceException;
+import com.ruoyi.system.constants.ApprovalApplicationCodePrefix;
 import com.ruoyi.system.dto.asset.OaApprovalApplicationDisposeDTO;
 import com.ruoyi.system.emums.ApprovalStatusEnum;
 import com.ruoyi.system.emums.ApprovalTypeEnum;
@@ -30,7 +30,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.stream.Collectors;
@@ -62,9 +61,8 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void submitDispose(OaApprovalApplicationDisposeDTO dto) {
-        if (CollUtil.isEmpty(dto.getAssetMainIds())) {
-            throw new ServiceException("资产ID列表不能为空");
-        }
+        //校验资产状态
+        oaApprovalApplicationAssetItemService.validateAssetStatus(dto.getAssetMainIds());
         
         // 1. 构建并保存审批主表
         OaApprovalApplications applications = buildOaApprovalApplications(dto);
@@ -95,7 +93,7 @@
 
     private OaApprovalApplications buildOaApprovalApplications(OaApprovalApplicationDisposeDTO dto) {
         OaApprovalApplications applications = BeanUtil.copyProperties(dto, OaApprovalApplications.class);
-        applications.setApplicationCode(generateApplicationCode("CZ"));
+        applications.setApplicationCode(oaApprovalApplicationsService.generateApplicationCode(ApprovalApplicationCodePrefix.ASSET_DISPOSE));
         applications.setApprovalId(ApprovalTypeEnum.ASSET_DISPOSE.getCode());
         applications.setApplicationDate(LocalDate.now());
         applications.setApprovalStatus(ApprovalStatusEnum.PENDING.getCode());
@@ -118,18 +116,6 @@
             throw new ServiceException("未找到有效的审批流程配置");
         }
         return flowNodes.get(0);
-    }
-
-    /**
-     * 生成申请单号:CZ + 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)
-                .count();
-        return prefix + String.format("%03d", count + 1);
     }
 
     @Override

--
Gitblit v1.7.1