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