From b176072388747abb438990157bfa305b215b4b90 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 14 四月 2026 21:59:39 +0800
Subject: [PATCH] 我们现在讨论一下系统找库位方案, 如何实现,对现有找库位规则进行整改,数据库也要整改 1、要能方便的填写单伸堆垛机或双伸堆垛机的深浅库位配置 2、根据设备状态分配库位,离线设备不分配 3、库位分配要均衡到每一个设备  4、库位高度需要匹配到对应库位信息,低库位能向上兼容  5、空托盘优先放在locType2库位=1的库位,没有这种库位了,允许放到其他库位 6、给入库站点设置有限去那些堆垛机,其次去那些堆垛机,弄成页面可以配置入库站点 7、在系统配置新增优先放前几列的配置,当入库的货物是高频货物时放在前几列 8、组托中会标识该托盘是高频还是低频,如果是高频则从前往后找库位,如果是低频则从后往前找库位 9、找库位时locMast中whsType字段无用

---
 src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java |   70 ++++++++++++++++++++++++-----------
 1 files changed, 48 insertions(+), 22 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 a099b9d..e31d1e7 100644
--- a/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/DigitalTwinServiceImpl.java
@@ -220,24 +220,14 @@
     /**
      * 鏌ヨ搴撳瓨鍜屽簱浣嶈缁嗕俊鎭�
      *
-     * @param areaId
+     * @param arr
      * @return
      */
-    public List<DtLocDetailVo> warehouseDetail(String areaId) {
-
-        List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<>());
-        return locMastList.stream()
-                .map(loc -> {
-                    DtLocDetailVo vo = new DtLocDetailVo();
-                    BeanUtils.copyProperties(loc, vo);
-                    vo.setLocMast(loc);
-                    LocDetl query = new LocDetl();
-                    query.setLocNo(loc.getLocNo());
-                    LocDetl locDetl = locDetlMapper.selectOne(query);
-                    vo.setLocDetl(locDetl);
-                    return vo;
-                })
-                .collect(Collectors.toList());
+    public List<LocMast> warehouseDetail(Integer[] arr) {
+        if (arr == null || arr.length == 0) {
+            return locMastService.selectList(new EntityWrapper<>());
+        }
+        return locMastService.selectList(new EntityWrapper<LocMast>().in("row1", Arrays.asList(arr)));
     }
 
     /**
@@ -341,12 +331,20 @@
             vo.setCrnNo(crnp.getCrnNo());
             Integer wrkNo = crnp.getWrkNo();
             vo.setTaskNo(wrkNo == null ? null : String.valueOf(wrkNo));
-            String locNo = !Cools.isEmpty(crnp.getToLocno()) ? crnp.getToLocno() : crnp.getFrmLocno();
-            if (!Cools.isEmpty(locNo)) {
-                LocMast locMast = locMastService.selectById(locNo);
-                if (locMast != null) {
-                    vo.setBay1(locMast.getBay1());
-                    vo.setLev1(locMast.getLev1());
+            vo.setBay1(crnp.getBay());
+            vo.setLev1(crnp.getLevel());
+            if (vo.getBay1() == null || vo.getLev1() == null) {
+                String locNo = !Cools.isEmpty(crnp.getToLocno()) ? crnp.getToLocno() : crnp.getFrmLocno();
+                if (!Cools.isEmpty(locNo)) {
+                    LocMast locMast = locMastService.selectById(locNo);
+                    if (locMast != null) {
+                        if (vo.getBay1() == null) {
+                            vo.setBay1(locMast.getBay1());
+                        }
+                        if (vo.getLev1() == null) {
+                            vo.setLev1(locMast.getLev1());
+                        }
+                    }
                 }
             }
             vo.setVerticalSpeed(parseInteger(crnp.getCtlHp()));
@@ -447,6 +445,34 @@
 
         return result;
     }
+
+    @Override
+    public List<Map<String, Object>> getLocalDetalByLocNo(String locNo) {
+        if (locNo == null || locNo.trim().isEmpty()) {
+            return Collections.emptyList();
+        }
+
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+                .eq("loc_no", locNo.trim())
+                .orderBy("appe_time", true));
+        List<Map<String, Object>> result = new ArrayList<>();
+
+        for (LocDetl locDetl : locDetls) {
+            Map<String, Object> item = new LinkedHashMap<>();
+            item.put("locNo", locDetl.getLocNo());
+            item.put("zpallet", locDetl.getZpallet());
+            item.put("matnr", locDetl.getMatnr());
+            item.put("maktx", locDetl.getMaktx());
+            item.put("specs", locDetl.getSpecs());
+            item.put("batch", locDetl.getBatch());
+            item.put("anfme", locDetl.getAnfme());
+            item.put("orderNo", locDetl.getOrderNo());
+            item.put("frozen", locDetl.getFrozen());
+            result.add(item);
+        }
+
+        return result;
+    }
     public Map<String, Object> getLocInfo() {
         List<LocMast> LocMasts = locMastMapper.selectList(new EntityWrapper<>());
         Map<String, Object> result = new HashMap<>();

--
Gitblit v1.9.1