From 6b2adce82fc28321a1e85abd53ef3ce989079318 Mon Sep 17 00:00:00 2001 From: zhaoqing <3160641494@qq.com> Date: Sat, 8 Aug 2026 10:01:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(system):=20=E5=A4=8D=E6=A0=B8=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ReviewOrderApplicationService.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java b/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java index 0329feb68..7262f1440 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java +++ b/mhd_wms/src/main/java/com/mhd/wms/application/service/reviewOrder/ReviewOrderApplicationService.java @@ -792,11 +792,18 @@ public class ReviewOrderApplicationService { private void refreshReviewOrderStatus(Long reviewOrderId) { List rows = reviewOrderMapper.queryDetailByReviewOrderId(reviewOrderId); - // 业务口径:只有全部明细待复核=0 时,状态才置为 2;部分复核仍保持 1。 - // 状态 3 仅在 checkConfirm 中设置。 - boolean allReviewed = !CollectionUtils.isEmpty(rows) - && rows.stream().allMatch(r -> nz(r.getPendingReviewQty()).compareTo(BigDecimal.ZERO) == 0); - Integer targetStatus = allReviewed ? 2 : 1; + // ================== 旧口径:全部明细待复核=0 置 2,部分复核保持 1 ================== +// // 业务口径:只有全部明细待复核=0 时,状态才置为 2;部分复核仍保持 1。 +// // 状态 3 仅在 checkConfirm 中设置。 +// boolean allReviewed = !CollectionUtils.isEmpty(rows) +// && rows.stream().allMatch(r -> nz(r.getPendingReviewQty()).compareTo(BigDecimal.ZERO) == 0); +// Integer targetStatus = allReviewed ? 2 : 1; + // ================== 新口径:部分复核/全部复核完未确认均置 复核中(2),完全未复核保持 待复核(1) ================== + // 只要有任意明细已复核数量>0(部分复核 / 全部复核完未确认)即为复核中(2); + // 完全未复核(全部已复核=0)保持待复核(1)。状态 3 仅在 checkConfirm 中设置。 + boolean anyReviewed = !CollectionUtils.isEmpty(rows) + && rows.stream().anyMatch(r -> nz(r.getReviewedQty()).compareTo(BigDecimal.ZERO) > 0); + Integer targetStatus = anyReviewed ? 2 : 1; ReviewOrder order = reviewOrderMapper.selectById(reviewOrderId); if (order == null) {