From 1dacf2305187f5c2fb44f03b6b754c46cb73ba25 Mon Sep 17 00:00:00 2001
From: L <L@132>
Date: 星期四, 19 三月 2026 08:53:59 +0800
Subject: [PATCH] *

---
 src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 141a91f..2d43235 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.core.common.R;
-import com.zy.asrs.domain.param.RingThroughParam;
 import com.zy.asrs.entity.BasDevpPosition;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.entity.param.WcsDataSynchronizationParam;
@@ -14,7 +13,6 @@
 import com.zy.asrs.service.OpenService;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil;
-import com.zy.asrs.utils.Utils;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.RgvSlave;
@@ -23,6 +21,7 @@
 import com.zy.core.thread.RgvThread;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -44,6 +43,9 @@
     private WrkMastService wrkMastService;
     @Autowired
     private BasDevpPositionService basDevpPositionService;
+
+    @Value("${constant-parameters.perimeter}")
+    private Long perimeter;
 
     @Override
     @Transactional
@@ -73,7 +75,13 @@
             List<WcsTaskListParam> wcsTaskListParamList = new ArrayList<>();
             List<WcsRgvListParam> wcsRgvListParamList = new ArrayList<>();
             List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<>());
-            List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position",false));
+            List<BasDevpPosition> basDevpPositions = basDevpPositionService.selectList(new EntityWrapper<BasDevpPosition>().orderBy("plc_position",true));
+            if (wrkMastList == null) {
+                wrkMastList = new ArrayList<>();
+            }
+            if (basDevpPositions == null) {
+                basDevpPositions = new ArrayList<>();
+            }
 
             for (WrkMast wrkMast : wrkMastList){
                 WcsTaskListParam wcsTaskListParam = new WcsTaskListParam(wrkMast);
@@ -92,10 +100,19 @@
                 WcsRgvListParam wcsRgvListParam = new WcsRgvListParam();
                 wcsRgvListParam.setRgvNo(rgv.getId().toString());
                 wcsRgvListParam.setTaskNo(Cools.isEmpty(rgvProtocol.getTaskNo1()) ? null:rgvProtocol.getTaskNo1().toString());
-                wcsRgvListParam.setStatus(rgvProtocol.statusType.desc);
-                wcsRgvListParam.setCurrSta(SortTheExecutionOfTheCarUtil.LatelyAndLessThanWcs(basDevpPositions,rgvProtocol.getRgvPos()).toString());
+                if (rgvProtocol.getStatusType() == null || rgvProtocol.getStatusType().id == null) {
+                    continue;
+                }
+                wcsRgvListParam.setStatus(rgvProtocol.statusType.id);
+                wcsRgvListParam.setCurrPos(rgvProtocol.RgvPos);
+                if (rgvProtocol.getRgvPos() != null && !basDevpPositions.isEmpty()) {
+                    Integer currSta = SortTheExecutionOfTheCarUtil.LatelyAndLessThanWcs(basDevpPositions, rgvProtocol.getRgvPos(), perimeter);
+                    wcsRgvListParam.setCurrSta(currSta == null ? null : currSta.toString());
+                } else {
+                    wcsRgvListParam.setCurrSta(null);
+                }
                 List<String> arrayList = new ArrayList<>();
-                if (rgvProtocol.getAlarm()!=0){
+                if (rgvProtocol.getAlarm() != null && rgvProtocol.getAlarm()!=0){
                     arrayList.add(rgvProtocol.getAlarm$());
                 }
                 wcsRgvListParam.setError(arrayList);
@@ -106,6 +123,7 @@
             wcsDataSynchronizationParam.setTimestamp(timestamp);
             return R.ok().add(wcsDataSynchronizationParam);
         } catch (Exception e){
+            log.error("wcsTaskStatus鎺ュ彛寮傚父, timestamp={}", timestamp, e);
             return R.error("寮傚父").add("寮傚父淇℃伅锛�"+e);
         }
     }

--
Gitblit v1.9.1