From 225018d0b2e66c2066c83dfbc0d6701593ddac9a Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 05 三月 2026 10:02:39 +0800
Subject: [PATCH] #备货

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java |   71 ++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 35 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
index 4f38bed..c29ee3d 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/AgvServiceImpl.java
@@ -83,15 +83,15 @@
         if (Cools.isEmpty(basStation)) {
             throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�");
         }
-        List<Long> ids = new ArrayList<>();
-        ids.add(basStation.getArea());
-        if (basStation.getIsCrossZone() == 1) {
-            String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1);
-            String[] parts = content.split(",");
-            for (int i = 0; i < parts.length; i++) {
-                ids.add(Long.parseLong(parts[i].trim()));
-            }
-        }
+        List<Long> ids =  basStation.getCrossZoneArea();
+//        ids.add(basStation.getArea());
+//        if (basStation.getIsCrossZone() == 1) {
+//            String content = basStation.getCrossZoneArea().substring(1,.length() - 1);
+//            String[] parts = content.split(",");
+//            for (int i = 0; i < parts.length; i++) {
+//                ids.add(Long.parseLong(parts[i].trim()));
+//            }
+//        }
         List<WarehouseAreas> warehouseAreasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>()
                 .in(WarehouseAreas::getId, ids)
         );
@@ -110,17 +110,26 @@
         String sta = waitPakinPda.getStaNo();
         String area = waitPakinPda.getArea();
         if (Cools.isEmpty(sta)) {
-            throw new CoolException("鎺ラ┏浣嶆潯鐮佷笉鑳戒负绌�");
+            throw new CoolException("璧风偣涓嶈兘涓虹┖");
         }
         if (Cools.isEmpty(area)) {
             throw new CoolException("鐩爣搴撳尯涓嶈兘涓虹┖");
         }
+
+        DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
+                .eq(DeviceSite::getSite, sta)
+                .eq(DeviceSite::getAreaIdEnd, Long.parseLong(area))
+                .eq(DeviceSite::getType, TaskType.TASK_TYPE_IN.type).last("limit 1"));
+        if (Cools.isEmpty(deviceSite)) {
+            throw new CoolException("鏃犲彲鐢ㄨ矾寰勶紒锛�");
+        }
+
         BasStation basStation = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                 .eq(BasStation::getStationName, sta)
                 .eq(BasStation::getUseStatus, LocStsType.LOC_STS_TYPE_F.type)
         );
         if (Cools.isEmpty(basStation)) {
-            throw new CoolException("鏈壘鍒版帴椹崇珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�");
+            throw new CoolException("鏈壘鍒拌捣鐐圭珯鐐逛俊鎭紝璇锋鏌ョ珯鐐圭姸鎬�");
         }
         if (Cools.isEmpty(basStation.getBarcode())) {
             throw new CoolException("鏁版嵁閿欒锛屾帴椹崇珯鏃犳潯鐮佷俊鎭�");
@@ -134,15 +143,7 @@
         }
         String targetLoc = LocManageUtil.getTargetLoc(Long.parseLong(area));
 
-        DeviceSite deviceSite = deviceSiteService.getOne(new LambdaQueryWrapper<DeviceSite>()
-                .eq(DeviceSite::getSite, sta)
-                .eq(DeviceSite::getAreaIdEnd, Long.parseLong(area))
-                .eq(DeviceSite::getType, TaskType.TASK_TYPE_IN.type).last("limit 1"));
-        if (Cools.isEmpty(deviceSite)) {
-            throw new CoolException("鏃犲彲鐢ㄨ矾寰勶紒锛�");
-        }
-
-        taskService.generateAGVTasks(waitPakin, targetLoc, sta, deviceSite.getTarget(),loginUserId);
+        taskService.generateAGVTasks(waitPakin, targetLoc, sta, deviceSite.getDeviceCode(),loginUserId);
 
         basStation.setUseStatus(LocStsType.LOC_STS_TYPE_R.type);
         if (!basStationService.updateById(basStation)) {
@@ -212,15 +213,15 @@
         if (Cools.isEmpty(waitPakinItems)) {
             throw new CoolException("鏁版嵁閿欒锛屾湭鎵惧埌缁勬墭鏄庣粏");
         }
-        List<Long> ids = new ArrayList<>();
-        ids.add(basStation.getArea());
-        if (basStation.getIsCrossZone() == 1) {
-            String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1);
-            String[] parts = content.split(",");
-            for (int i = 0; i < parts.length; i++) {
-                ids.add(Long.parseLong(parts[i].trim()));
-            }
-        }
+        List<Long> ids =  basStation.getCrossZoneArea();
+//        ids.add(basStation.getArea());
+//        if (basStation.getIsCrossZone() == 1) {
+//            String content = basStation.getCrossZoneArea().substring(1, basStation.getCrossZoneArea().length() - 1);
+//            String[] parts = content.split(",");
+//            for (int i = 0; i < parts.length; i++) {
+//                ids.add(Long.parseLong(parts[i].trim()));
+//            }
+//        }
         List<WarehouseAreas> warehouseAreasList = warehouseAreasService.list(new LambdaQueryWrapper<WarehouseAreas>()
                 .in(WarehouseAreas::getId, ids)
         );
@@ -261,7 +262,7 @@
 
         BasStation isBarcodeSta = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
                         .eq(BasStation::getBarcode, barcode)
-                , false
+                .last("limit 1")
         );
         if (!Cools.isEmpty(isBarcodeSta)) {
             throw new CoolException("璇ユ潯鐮佸凡琚�" + isBarcodeSta.getStationName() + "绔欑粦瀹�");
@@ -273,7 +274,7 @@
             throw new CoolException("鏈壘鍒扮珯鐐逛俊鎭�");
         }
         if (!Cools.isEmpty(basStation.getContainerType())) {
-            List<Long> longs1 = JSONObject.parseArray(basStation.getContainerType(), Long.class);
+            List<Long> longs1 = basStation.getCrossZoneArea();
             List<BasContainer> containers = basContainerService.list(
                     new LambdaQueryWrapper<BasContainer>()
                             .in(BasContainer::getContainerType, longs1)
@@ -329,12 +330,12 @@
             throw new CoolException("绔欑偣涓哄厜鐢电珯鐐癸紝绂佹鍛煎彨AGV");
         }
 
-        List<String> areaList = JSONObject.parseArray(basStation.getCrossZoneArea(), String.class);
-        if (!areaList.contains(area)) {
+        List<Long> areaList = basStation.getCrossZoneArea();
+        if (!areaList.contains(Long.parseLong(area))) {
             throw new CoolException("褰撳墠绔欑偣涓嶆敮鎸佺洰鏍囧簱鍖�");
         }
         if (!Cools.isEmpty(basStation.getContainerType())) {
-            List<Long> longs1 = JSONObject.parseArray(basStation.getContainerType(), Long.class);
+            List<Long> longs1 = basStation.getContainerType();
             List<BasContainer> containers = basContainerService.list(
                     new LambdaQueryWrapper<BasContainer>()
                             .in(BasContainer::getContainerType, longs1)
@@ -344,7 +345,7 @@
             for (BasContainer container : containers) {
                 String codeType = container.getCodeType();  // 鑾峰彇姝e垯琛ㄨ揪寮�
                 if (barcode.matches(codeType)) {  // 鍒ゆ柇鏉$爜鏄惁绗﹀悎杩欎釜姝e垯
-                    List<Integer> areaList2 = container.getAreas();
+                    List<Integer> areaList2 = container.getAreasIds();
                     if (!areaList2.contains(Integer.valueOf(area))) {
                         matches2 = false;
                         continue;

--
Gitblit v1.9.1