From 27ba205534c711e3674efd669f4fa88a035a10e1 Mon Sep 17 00:00:00 2001
From: quxin <592870522@qq.com>
Date: 星期四, 03 九月 2026 13:57:05 +0800
Subject: [PATCH] 添加逻辑: 采购管理--采购申请 审批不通过的订单可以通过修改订单详情后再次提交申请

---
 yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java
index 7f2debd..681e96a 100644
--- a/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java
+++ b/yudao-module-erp/src/main/java/cn/iocoder/yudao/module/erp/service/purchase/ErpPurchaseRequestServiceImpl.java
@@ -448,6 +448,22 @@
         return null;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void resetPurchaseRequestStatus(Long id) {
+        ErpPurchaseRequestDO purchaseRequest = validatePurchaseRequestExists(id);
+        Integer status = purchaseRequest.getStatus();
+        // 鍏煎鏁版嵁涓嶄竴鑷达細BPM 宸查┏鍥炰絾涓氬姟琛� status 鏈洿鏂帮紙浠嶄负瀹℃壒涓級
+        if (!ErpPurchaseRequestStatusEnum.REJECT.getStatus().equals(status)
+                && !ErpPurchaseRequestStatusEnum.PROCESS.getStatus().equals(status)) {
+            throw exception(PURCHASE_REQUEST_RESET_FAIL_NOT_REJECT);
+        }
+        purchaseRequestMapper.updateById(new ErpPurchaseRequestDO()
+                .setId(id)
+                .setStatus(ErpPurchaseRequestStatusEnum.DRAFT.getStatus())
+                .setProcessInstanceId(""));
+    }
+
     private ErpPurchaseRequestDO validatePurchaseRequestExists(Long id) {
         ErpPurchaseRequestDO purchaseRequest = purchaseRequestMapper.selectById(id);
         if (purchaseRequest == null) {

--
Gitblit v1.9.3