From c48e3aabf2947e45a9db2eac3ef91190e8647655 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期二, 02 九月 2025 17:03:34 +0800
Subject: [PATCH] agv站点功能调整

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 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 f765964..8af462a 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
@@ -45,6 +45,7 @@
 
 import java.util.List;
 import java.util.Objects;
+import java.util.Random;
 import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
@@ -422,8 +423,13 @@
                 if (dtos.isEmpty()) {
                     scheduled.shutdown();
                 }
-                dtos.forEach(dto -> {
+                for (SyncLocsDto dto : dtos) {
                     Loc loc = new Loc();
+                    String string = new Random().nextInt(10000000) + "";
+                    Loc one = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, string));
+                    if (!Objects.isNull(one)) {
+                        string = new Random().nextInt(10000000) + "";
+                    }
                     loc.setCode(dto.getLocNo())
                             .setBarcode(dto.getBarcode())
                             .setRow(dto.getRow())
@@ -431,6 +437,7 @@
                             .setId(null)
                             .setAreaId(41L)
                             .setWarehouseId(27L)
+                            .setBarcode(string)
                             .setCol(dto.getBay())
                             .setType(dto.getLocType())
                             .setStatus(dto.getStatusBool())
@@ -439,7 +446,7 @@
                         scheduled.shutdown();
                         throw new CoolException("WCS搴撲綅鍚屾澶辫触锛侊紒");
                     }
-                });
+                }
                 current++;
             }
         }, 1, 1, TimeUnit.SECONDS);
@@ -460,7 +467,7 @@
         if (Objects.isNull(task)) {
             throw new CoolException("浠诲姟涓嶅瓨鍦紒锛�");
         }
-        
+
         if (params.getEventType().equals("END")) {
             if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
@@ -641,7 +648,7 @@
         if (Cools.isEmpty(deviceSite)) {
             channel = 0;
         } else {
-            inTaskMsgDto.setStaNo(Integer.parseInt(deviceSite.getDeviceSite()));
+            inTaskMsgDto.setStaNo(deviceSite.getDeviceSite());
         }
 
         //鏇存柊褰撳墠鎺�
@@ -834,13 +841,13 @@
         DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
                 .eq(DeviceSite::getType, ioType)
                 .eq(DeviceSite::getSite, sourceStaNo)
-                .eq(DeviceSite::getDeviceCode, loc.getDeviceNo())
+                .eq(!Objects.isNull(loc.getDeviceNo()), DeviceSite::getDeviceCode, loc.getDeviceNo())
         );
         if (Cools.isEmpty(deviceSite)) {
             deviceNo = 0;
             loc = null;
         } else {
-            inTaskMsgDto.setStaNo(Integer.parseInt(deviceSite.getDeviceSite()));
+            inTaskMsgDto.setStaNo(deviceSite.getDeviceSite());
         }
         // 閫掑綊鏌ヨ
         if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {

--
Gitblit v1.9.1