From 11514b301466eb7598073d0126c6d9781daaa3ba Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期一, 09 三月 2026 14:00:40 +0800
Subject: [PATCH] 盘点流程

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index fc647cb..d814f05 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -573,6 +573,7 @@
         if (flowStepInstance.getWmsNextTaskStatus() != 9999) {
             FlowStepInstance nextFlowStepInstance = flowStepInstanceService.getOne(new LambdaQueryWrapper<FlowStepInstance>()
                     .eq(FlowStepInstance::getStatus, (short)0)
+                    .eq(FlowStepInstance::getTaskNo, flowStepInstance.getTaskNo())
                     .eq(FlowStepInstance::getStepOrder, flowStepInstance.getStepOrder() + 1)
                     .eq(FlowStepInstance::getWmsNowTaskStatus, flowStepInstance.getWmsNextTaskStatus()));
             if (Cools.isEmpty(nextFlowStepInstance)) {
@@ -698,7 +699,7 @@
                     }
                     String shallowLocNo = LocUtils.getShallowLoc(loc1.getCode());
                     // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
-                    Loc shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLocNo));
+                    Loc shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLocNo).last("limit 1"));
                     if (shallowLoc != null && shallowLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
                         if (LocUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
                             loc = shallowLoc;
@@ -1079,9 +1080,16 @@
 
                 flowStepInstanceService.updateById(flowStepInstance);
                 taskService.updateById(task);
+                // 鐩樼偣鍐嶅叆搴撲换鍔$粡 WCS 涓婃姤鍙樹负 100锛堝簱瀛樻洿鏂板畬鎴愶級鏃讹紝鍚屾灏嗙洏鐐瑰樊寮傚崟缃负宸插鏍�
+                if (TaskType.TASK_TYPE_CHECK_IN.type.equals(task.getTaskType())
+                        && flowStepInstance.getWmsNextTaskStatus() != null
+                        && flowStepInstance.getWmsNextTaskStatus().equals(TaskStsType.UPDATED_IN.id)) {
+                    taskService.markCheckDiffApprovedWhenCheckInDone(task);
+                }
                 if (flowStepInstance.getWmsNextTaskStatus() != 9999) {
                     FlowStepInstance nextFlowStepInstance = flowStepInstanceService.getOne(new LambdaQueryWrapper<FlowStepInstance>()
                             .eq(FlowStepInstance::getStatus, (short)0)
+                            .eq(FlowStepInstance::getTaskNo, flowStepInstance.getTaskNo())
                             .eq(FlowStepInstance::getStepOrder, flowStepInstance.getStepOrder() + 1)
                             .eq(FlowStepInstance::getWmsNowTaskStatus, flowStepInstance.getWmsNextTaskStatus()));
                     if (Cools.isEmpty(nextFlowStepInstance)) {

--
Gitblit v1.9.1