From 9b6f0ade46587f0b9fcbb659d491bae01c7e2649 Mon Sep 17 00:00:00 2001
From: quxin <592870522@qq.com>
Date: 星期五, 04 九月 2026 11:37:30 +0800
Subject: [PATCH] 修复: 生产领料后的退料应该是选择领料的记录,不是选择库存的记录(同时库存数据需要根据领料退料变动,比如库存100,领用80,然后领用80中退料30,库存应由原来的20变成50)
---
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