From 6797af492e55d2e63a95ed8f6d86e274f85a09c3 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 26 一月 2026 13:24:31 +0800
Subject: [PATCH] 6.8 查询所有库位状态和物料-二机床信息化数字孪生用

---
 src/main/java/com/zy/asrs/entity/digitaltwin/AllLocationsVo.java   |   36 ++++++++++++++++++
 src/main/java/com/zy/asrs/service/DigitalTwinService.java          |    5 ++
 src/main/java/com/zy/asrs/controller/DigitalTwinController.java    |    8 ++++
 src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java |   27 +++++++++++++
 4 files changed, 76 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
index 2779f9a..b19a1a3 100644
--- a/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
+++ b/src/main/java/com/zy/asrs/controller/DigitalTwinController.java
@@ -22,6 +22,14 @@
     private DigitalTwinService digitalTwinService;
 
     /**
+     * 鏌ヨ鎵�鏈夊簱浣嶇姸鎬佸拰鐗╂枡-浜屾満搴婁俊鎭寲鏁板瓧瀛敓鐢�
+     */
+    @RequestMapping(value = "/getAllLocations")
+    public R getAllLocations(){
+        return digitalTwinService.getAllLocations();
+    }
+
+    /**
      * 鏁版嵁鎬昏
      *
      * @param areaId    搴撳尯缂栫爜
diff --git a/src/main/java/com/zy/asrs/entity/digitaltwin/AllLocationsVo.java b/src/main/java/com/zy/asrs/entity/digitaltwin/AllLocationsVo.java
new file mode 100644
index 0000000..3f7c2bc
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/digitaltwin/AllLocationsVo.java
@@ -0,0 +1,36 @@
+package com.zy.asrs.entity.digitaltwin;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author pang.jiabao
+ * @description 鏌ヨ鎵�鏈夊簱浣嶇姸鎬佸拰鐗╂枡-浜屾満搴婁俊鎭寲鏁板瓧瀛敓鐢�
+ * @createDate 2026/1/26 11:13
+ */
+@Data
+public class AllLocationsVo {
+
+    // 搴撲綅鍙�
+    private String locNo;
+
+    // 搴撲綅鐘舵�侊紝O绌哄簱浣嶏紙鑻辨枃涓嶆槸鏁板瓧锛夛紱F 鍦ㄥ簱锛汥 绌烘澘锛汸 鍑哄簱涓紱R 鍑哄簱棰勭害锛汼 鍏ュ簱棰勭害锛涘叾浠� 鍏朵粬锛�
+    private String locSts;
+
+    private List<LocDetl> locDetls  = new ArrayList<>();
+
+    @Data
+    public static class LocDetl {
+
+        @ApiModelProperty(value = "鍟嗗搧缂栧彿")
+        private String matnr;
+
+        @ApiModelProperty(value = "鍟嗗搧鍚嶇О")
+        private String maktx;
+
+        private Double anfme;
+    }
+}
diff --git a/src/main/java/com/zy/asrs/service/DigitalTwinService.java b/src/main/java/com/zy/asrs/service/DigitalTwinService.java
index c523fe8..ec2eeb5 100644
--- a/src/main/java/com/zy/asrs/service/DigitalTwinService.java
+++ b/src/main/java/com/zy/asrs/service/DigitalTwinService.java
@@ -8,6 +8,11 @@
 public interface DigitalTwinService {
 
     /**
+     * 鏌ヨ鎵�鏈夊簱浣嶇姸鎬佸拰鐗╂枡-浜屾満搴婁俊鎭寲鏁板瓧瀛敓鐢�
+     */
+    R getAllLocations();
+
+    /**
      * 鎬昏锛氭�诲簱浣嶃�佸凡鐢ㄥ簱浣嶃�佸墿浣欏簱浣嶃�佷粖鏃ュ嚭搴撱�佷粖鏃ュ叆搴撱�佸墿浣欏簱浣�
      *
      * @param areaId
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 48197f3..dd7afc2 100644
--- a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -36,6 +36,33 @@
     @Resource
     private LocCountMapper locCountMapper;
 
+    @Override
+    public R getAllLocations() {
+        List<AllLocationsVo> allLocationsVos = new ArrayList<>();
+        List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<>());
+        locMastList.forEach(locMast -> {
+            AllLocationsVo allLocationsVo = new AllLocationsVo();
+            allLocationsVo.setLocNo(locMast.getLocNo());
+            String locSts = locMast.getLocSts();
+            allLocationsVo.setLocSts(locSts);
+            // 鏈夊簱瀛�
+            if (locSts.equals("F") || locSts.equals("P") || locSts.equals("Q") || locSts.equals("R")) {
+                List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
+                if (!locDetls.isEmpty()) {
+                    List<AllLocationsVo.LocDetl> locDetlList = locDetls.stream().map(locDetl -> {
+                                AllLocationsVo.LocDetl locDetl1 = new AllLocationsVo.LocDetl();
+                                BeanUtils.copyProperties(locDetl, locDetl1);
+                                return locDetl1;
+                            }
+                    ).collect(Collectors.toList());
+                    allLocationsVo.setLocDetls(locDetlList);
+                }
+            }
+            allLocationsVos.add(allLocationsVo);
+        });
+        return R.ok(allLocationsVos);
+    }
+
     /**
      * 鎬昏锛氭�诲簱浣嶃�佸凡鐢ㄥ簱浣嶃�佸墿浣欏簱浣嶃�佷粖鏃ュ嚭搴撱�佷粖鏃ュ叆搴撱�佸墿浣欏簱浣�
      *

--
Gitblit v1.9.1