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

---
 src/main/java/com/zy/asrs/service/DigitalTwinService.java          |    2 +
 src/main/java/com/zy/asrs/controller/DigitalTwinController.java    |   16 ++++++--
 src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java |   56 ++++++++++++++++++++++++++++
 3 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
index 32f711c..03c512a 100644
--- a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
+++ b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
@@ -1,12 +1,14 @@
 package com.zy.asrs.controller;
 
 import com.core.common.R;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.zy.asrs.entity.LocChartPie;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.digitaltwin.*;
 import com.zy.asrs.mapper.ReportQueryMapper;
 import com.zy.asrs.service.DigitalTwinService;
+import com.zy.common.utils.HttpHandler;
 import com.zy.common.web.BaseController;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,7 +18,9 @@
 import javax.annotation.Resource;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 @RequestMapping("/digitalTwin")
 @RestController
@@ -331,14 +335,18 @@
         return digitalTwinService.getAllLocations();
     }
 
-    /** * 鏌ヨ鍦ㄥ簱鏁伴噺绛変俊鎭� */
+    /**
+     * 鏌ヨ鎵�鏈夊簱鐨勫簱浣嶇姸鎬佹�绘暟閲�
+     */
     @RequestMapping(value = "/getLocalInfo")
-    public LocChartPie getLocalInfo() {
-        LocChartPie locUseRate = reportQueryMapper.getLocUseRate();
-        return locUseRate;
+    public Map<String, Object> getLocalInfo() throws IOException {
+        Map<String, Object> locInfo = digitalTwinService.getLocInfo();
+        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 cd1cf07..83d10a8 100644
--- a/src/main/java/com/zy/asrs/service/DigitalTwinService.java
+++ b/src/main/java/com/zy/asrs/service/DigitalTwinService.java
@@ -85,4 +85,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 2ce70fa..81b3cd5 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;
@@ -36,6 +37,8 @@
     private LocCountMapper locCountMapper;
     @Autowired
     private LocDetlMapper locDetlMapper;
+    @Autowired
+    private LocMastMapper locMastMapper;
 
     /**
      * 鎬昏锛氭�诲簱浣嶃�佸凡鐢ㄥ簱浣嶃�佸墿浣欏簱浣嶃�佷粖鏃ュ嚭搴撱�佷粖鏃ュ叆搴撱�佸墿浣欏簱浣�
@@ -432,4 +435,57 @@
 
         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