From 962f78c8383e7c884ddb08c951c15e5ba6eb4cb8 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期五, 23 十月 2026 15:43:33 +0800
Subject: [PATCH] fix: 完善审批流程与业务状态校验
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueServiceImpl.java | 13 ++++++++++++-
1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueServiceImpl.java
index fae1298..ac5ada3 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/miscissue/MesWmMiscIssueServiceImpl.java
@@ -27,6 +27,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
+import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
@@ -198,12 +199,22 @@
List<MesWmMiscIssueLineDO> lines = miscIssueLineService.getMiscIssueLineListByIssueId(issue.getId());
wmTransactionService.createTransactionList(convertList(lines, line -> new MesWmTransactionSaveReqDTO()
.setType(MesWmTransactionTypeEnum.OUT.getType()).setItemId(line.getItemId())
- .setQuantity(line.getQuantity().negate()) // 鍑哄簱鏁伴噺涓鸿礋鏁�
+ .setQuantity(negateQuantity(line.getQuantity())) // 鍑哄簱鏁伴噺涓鸿礋鏁�
.setBatchId(line.getBatchId()).setBatchCode(line.getBatchCode())
.setWarehouseId(line.getWarehouseId()).setLocationId(line.getLocationId()).setAreaId(line.getAreaId())
.setBizType(MesBizTypeConstants.WM_MISC_ISSUE).setBizId(issue.getId()).setBizCode(issue.getCode()).setBizLineId(line.getId())));
}
+ /**
+ * 鍑哄簱鏁伴噺鍙栬礋锛氭暟閲忎负绌烘椂鎶涘嚭鏄庣‘鐨勪笟鍔″紓甯革紝閬垮厤 NPE
+ */
+ private BigDecimal negateQuantity(BigDecimal quantity) {
+ if (quantity == null) {
+ throw exception(WM_MISC_ISSUE_QUANTITY_INVALID);
+ }
+ return quantity.negate();
+ }
+
@Override
@Transactional(rollbackFor = Exception.class)
public void cancelMiscIssue(Long id) {
--
Gitblit v1.9.3