From 10e6a9a8adad2226f13a4e4704ca5b2ad5b9ef9a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期日, 21 十二月 2025 18:49:59 +0800
Subject: [PATCH] 刀具库WMS功能完善

---
 src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java |   48 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 32 insertions(+), 16 deletions(-)

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 ede00fc..0a14629 100644
--- a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -1,12 +1,18 @@
 package com.zy.asrs.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.Cools;
+import com.core.common.R;
 import com.zy.asrs.entity.LocCount;
 import com.zy.asrs.entity.LocDetl;
 import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.digitaltwin.*;
+import com.zy.asrs.entity.mes.StockDetl;
 import com.zy.asrs.mapper.DigitalTwinMapper;
 import com.zy.asrs.mapper.LocCountMapper;
 import com.zy.asrs.service.DigitalTwinService;
+import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -142,38 +148,48 @@
         return dbDetainMats;
     }
 
+    @Resource
+    private LocDetlService locDetlService;
+
+    @Resource
+    private LocMastService locMastService;
+
     /**
      * 鏌ヨ搴撳瓨鍜屽簱浣嶈缁嗕俊鎭�
      *
      * @param areaId
      * @return
      */
-    public List<DtLocDetailVo> warehouseDetail(String areaId) {
-        List<DtLocDetailVo> locDetailVos = new ArrayList<>();
+    public R warehouseDetail(String areaId) {
+        List<LocDetl> locDetls;
+        locDetls = locDetlService.selectList(new EntityWrapper<>());
 
-        List<LocMast> locMasts = new ArrayList<>();
-        List<LocDetl> locDetls = new ArrayList<>();
+        List<String> locNoList = locDetls.stream().map(LocDetl::getLocNo).distinct().collect(Collectors.toList());
+        List<DtLocDetailVo> dtLocDetailVoList = new ArrayList<>();
+        for (String locNo: locNoList) {
 
-        for (LocMast locMast : locMasts) {
+            LocMast locMast = locMastService.selectById(locNo);
             DtLocDetailVo dtLocDetailVo = new DtLocDetailVo();
-            dtLocDetailVo.setLocMast(locMast);
-            dtLocDetailVo.setLocNo(locMast.getLocNo());
+            dtLocDetailVo.setLocNo(locNo);
             dtLocDetailVo.setLocSts(locMast.getLocSts());
             dtLocDetailVo.setRow1(locMast.getRow1());
             dtLocDetailVo.setBay1(locMast.getBay1());
             dtLocDetailVo.setLev1(locMast.getLev1());
-            for (LocDetl locDetl : locDetls) {
-                List<LocDetl> locDetl1 = locDetls.parallelStream().filter(a -> a.getLocNo().equals(locDetl.getLocNo())).collect(Collectors.toList());
-                if (locDetl1 != null && locDetl1.size() == 1) {
-                    dtLocDetailVo.setLocDetl(locDetl1.get(0));
-                    dtLocDetailVo.setAreaId(locDetl.getAreaId());
-                    dtLocDetailVo.setAreaName(locDetl.getAreaName());
-                }
+
+            List<LocDetl> locDetlList2 = locDetls.parallelStream().filter(o-> o.getLocNo().equals(locNo)).collect(Collectors.toList());
+            List<StockDetl> stockDetls = new ArrayList<>();
+            for(LocDetl locDetl:locDetlList2) {
+                StockDetl stockDetl = new StockDetl();
+                stockDetl.setMatnr(locDetl.getMatnr());
+                stockDetl.setMaktx(locDetl.getMaktx());
+                stockDetl.setAnfme(locDetl.getAnfme());
+                stockDetls.add(stockDetl);
             }
-            locDetailVos.add(dtLocDetailVo);
+            dtLocDetailVo.setLocDetl(stockDetls);
+            dtLocDetailVoList.add(dtLocDetailVo);
         }
 
-        return locDetailVos;
+        return R.ok(dtLocDetailVoList);
     }
 
     /**

--
Gitblit v1.9.1