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 |   34 ++++++++++++++++++++++++++++++----
 1 files changed, 30 insertions(+), 4 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 8185b8a..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,15 +3,16 @@
 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;
 import com.zy.asrs.entity.param.WcsRgvListParam;
 import com.zy.asrs.entity.param.WcsTaskDistributionParam;
 import com.zy.asrs.entity.param.WcsTaskListParam;
+import com.zy.asrs.service.BasDevpPositionService;
 import com.zy.asrs.service.OpenService;
 import com.zy.asrs.service.WrkMastService;
-import com.zy.asrs.utils.Utils;
+import com.zy.asrs.utils.SortTheExecutionOfTheCarUtil;
 import com.zy.core.cache.SlaveConnection;
 import com.zy.core.enums.SlaveType;
 import com.zy.core.model.RgvSlave;
@@ -20,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;
 
@@ -39,6 +41,11 @@
     private SlaveProperties slaveProperties;
     @Autowired
     private WrkMastService wrkMastService;
+    @Autowired
+    private BasDevpPositionService basDevpPositionService;
+
+    @Value("${constant-parameters.perimeter}")
+    private Long perimeter;
 
     @Override
     @Transactional
@@ -68,6 +75,14 @@
             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",true));
+            if (wrkMastList == null) {
+                wrkMastList = new ArrayList<>();
+            }
+            if (basDevpPositions == null) {
+                basDevpPositions = new ArrayList<>();
+            }
+
             for (WrkMast wrkMast : wrkMastList){
                 WcsTaskListParam wcsTaskListParam = new WcsTaskListParam(wrkMast);
                 wcsTaskListParamList.add(wcsTaskListParam);
@@ -85,9 +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);
+                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);
@@ -98,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