From ce2460403abe67dd9f5950e76aee726440b21a11 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 16 三月 2026 16:34:24 +0800
Subject: [PATCH] #

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java |   27 +++++++++++++++++++++++++--
 1 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
index 8de9724..1e7eddc 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java
@@ -128,7 +128,7 @@
                 throw new CoolException("缂栫爜瑙勫垯閿欒锛� 缂栫爜瑙勫垯銆孲YS_WAIT_PAKIN_CODE銆嶈鍒欐槸涓嶅瓨鍦�");
             }
             waitPakin1.setCode(ruleCode)
-                    .setIoStatus(PakinIOStatus.PAKIN_IO_STATUS_HOLD.val)
+                    .setIoStatus(PakinIOStatus.PAKIN_IO_STATUS_DONE.val)
                     .setAnfme(param.getTaskItemList().stream()
                             .map(TaskItem::getInputQty)
                             .filter(Objects::nonNull)
@@ -262,6 +262,27 @@
         });
         if (!taskItemService.updateBatchById(toUpdateTaskItems)) {
             throw new CoolException("浠诲姟鏄庣粏鏇存柊澶辫触");
+        }
+
+
+        //鍒ゆ柇浠诲姟鏄庣粏鏄惁鍏ㄩ儴瀹屾垚
+        List<TaskItem> allTaskItems = taskItemService.list(new LambdaQueryWrapper<TaskItem>()
+                .eq(TaskItem::getTaskId, task.getId()));
+        if (Cools.isEmpty(allTaskItems)) {
+            throw new CoolException("鏈壘鍒颁换鍔℃槑缁�");
+        }
+        boolean allTaskItemsFinished = allTaskItems.stream().allMatch(item -> {
+            BigDecimal workQty = BigDecimal.valueOf(Objects.isNull(item.getWorkQty()) ? 0D : item.getWorkQty());
+            BigDecimal qty = BigDecimal.valueOf(Objects.isNull(item.getQty()) ? 0D : item.getQty());
+            return workQty.compareTo(qty) == 0;
+        });
+        if (allTaskItemsFinished) {
+            task.setTaskStatus(TaskStsType.COMPLETE_OUT.id)
+                    .setUpdateBy(userId)
+                    .setUpdateTime(new Date());
+            if (!taskService.updateById(task)) {
+                throw new CoolException("浠诲姟鐘舵�佹洿鏂板け璐�");
+            }
         }
 
         return R.ok();
@@ -445,7 +466,9 @@
             throw new CoolException("绔欑偣鐘舵�佷笉涓虹┖闂�");
         }
 
-        List<Long> areaList = basStation.getCrossZoneArea();
+        List<Long> areaList = basStation.getCrossZoneArea().stream()
+                .map(Integer::longValue)
+                .collect(Collectors.toList());
         if (Cools.isEmpty(areaList)) {
             throw new CoolException("褰撳墠绔欑偣搴撳尯鏈厤缃�");
         }

--
Gitblit v1.9.1