From f7c6b3779ebc85bb0f097ba56f18a5ab81e5f8f5 Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期二, 31 三月 2026 08:13:40 +0800
Subject: [PATCH] 修改数字孪生接口,将不同库位状态的数量上报

---
 src/main/java/com/zy/asrs/service/DigitalTwinService.java          |    2 +
 src/main/java/com/zy/asrs/controller/DigitalTwinController.java    |    6 +-
 src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java |   58 +++++++++++++++++++++++++++++
 3 files changed, 63 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
index b919ff9..fa1218e 100644
--- a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
+++ b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
@@ -179,11 +179,11 @@
      * 鏌ヨ鍦ㄥ簱鏁伴噺绛変俊鎭�
      */
     @RequestMapping(value = "/getLocalInfo")
-    public LocChartPie getLocalInfo() {
+    public Map<String, Object> getLocalInfo() {
 
-        LocChartPie locUseRate = reportQueryMapper.getLocUseRate();
+        Map<String, Object> locInfo = digitalTwinService.getLocInfo();
 
-        return locUseRate;
+        return locInfo;
     }
 
     /**
diff --git a/src/main/java/com/zy/asrs/service/DigitalTwinService.java b/src/main/java/com/zy/asrs/service/DigitalTwinService.java
index 6173d8f..c511b15 100644
--- a/src/main/java/com/zy/asrs/service/DigitalTwinService.java
+++ b/src/main/java/com/zy/asrs/service/DigitalTwinService.java
@@ -84,4 +84,6 @@
 
 
     List<Map<String, Object>> getLocalDetal();
+
+    Map<String, Object> getLocInfo();
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
index dca7bc0..7f88416 100644
--- a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -12,6 +12,7 @@
 import com.zy.asrs.mapper.DigitalTwinMapper;
 import com.zy.asrs.mapper.LocCountMapper;
 import com.zy.asrs.mapper.LocDetlMapper;
+import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.BasCrnpService;
 import com.zy.asrs.service.DigitalTwinService;
 import com.zy.asrs.service.LocDetlService;
@@ -35,6 +36,9 @@
     private LocCountMapper locCountMapper;
     @Autowired
     private LocDetlMapper locDetlMapper;
+
+    @Autowired
+    private LocMastMapper locMastMapper;
 
     /**
      * 鎬昏锛氭�诲簱浣嶃�佸凡鐢ㄥ簱浣嶃�佸墿浣欏簱浣嶃�佷粖鏃ュ嚭搴撱�佷粖鏃ュ叆搴撱�佸墿浣欏簱浣�
@@ -396,4 +400,58 @@
 
         return result;
     }
+
+
+    public Map<String, Object> getLocInfo() {
+        List<LocMast> LocMasts = locMastMapper.selectList(new EntityWrapper<>());
+        Map<String, Object> result = new HashMap<>();
+
+        // 鍒濆鍖栬鏁板櫒
+        int emptyLocCount = 0;
+        int fullZpalletCount = 0;
+        int emptyZpalletCount = 0;
+        int pickOutCount = 0;
+        int pickInCount = 0;
+        int outboundCount = 0;
+        int inboundCount = 0;
+        int disableCount = 0;
+        int mergeCount = 0;
+
+        // 缁熻姣忕鐘舵�佺殑搴撲綅鏁伴噺
+        for (LocMast locMast : LocMasts) {
+            String locSts = locMast.getLocSts();
+            if (locSts.equals("O")) {
+                emptyLocCount++;
+            } else if (locSts.equals("F")) {
+                fullZpalletCount++;
+            } else if (locSts.equals("D")) {
+                emptyZpalletCount++;
+            } else if (locSts.equals("P")) {
+                pickOutCount++;
+            } else if (locSts.equals("Q")) {
+                pickInCount++;
+            } else if (locSts.equals("R")) {
+                outboundCount++;
+            } else if (locSts.equals("S")) {
+                inboundCount++;
+            } else if (locSts.equals("X")) {
+                disableCount++;
+            } else if (locSts.equals("Y")) {
+                mergeCount++;
+            }
+        }
+
+        // 灏嗙粺璁$粨鏋滄斁鍏ap涓�
+        result.put("EmptyLoc", emptyLocCount);
+        result.put("FullZpallet", fullZpalletCount);
+        result.put("EmptyZpallet", emptyZpalletCount);
+        result.put("PickOut", pickOutCount);
+        result.put("PickIn", pickInCount);
+        result.put("Outbound", outboundCount);
+        result.put("Inbound", inboundCount);
+        result.put("Disable", disableCount);
+        result.put("Merge", mergeCount);
+
+        return result;
+    }
 }

--
Gitblit v1.9.1