From 42a0ed185a6c5253b6c8c97f75d6678137224163 Mon Sep 17 00:00:00 2001
From: lbq <1065079612@qq.com>
Date: 星期二, 17 三月 2026 09:45:04 +0800
Subject: [PATCH] 修改备料界面

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/PdaOutStockServiceImpl.java |   28 ++++++++++++++++++++++++++--
 1 files changed, 26 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 289d40e..2cc2e07 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)
@@ -264,6 +264,27 @@
             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.getAnfme()) ? 0D : item.getAnfme());
+            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();
     }
 
@@ -272,7 +293,10 @@
         if (Cools.isEmpty(param.getContainerNo())) {
             throw new CoolException("鏃犲鍣ㄥ彿");
         }
-        Task task = taskService.getOne(new LambdaQueryWrapper<Task>().eq(Task::getBarcode, param.getContainerNo()));
+        Task task = taskService.getOne(new LambdaQueryWrapper<Task>()
+                .eq(Task::getBarcode, param.getContainerNo())
+                .eq(Task::getTaskStatus, TaskStsType.AWAIT.id)
+        );
         if (null == task) {
             throw new CoolException("鏈壘鍒颁换鍔�");
         }

--
Gitblit v1.9.1