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/entity/param/LocDetlAdjustParam.java |   61 ++++++++++++++++--------------
 1 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
index 9483bf4..381d7c2 100644
--- a/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
+++ b/src/main/java/com/zy/asrs/entity/param/LocDetlAdjustParam.java
@@ -1,10 +1,15 @@
 package com.zy.asrs.entity.param;
 
+import com.core.common.Cools;
+import lombok.Data;
+
+import java.util.ArrayList;
 import java.util.List;
 
 /**
  * Created by vincent on 2020/6/18
  */
+@Data
 public class LocDetlAdjustParam {
 
     // 搴撲綅鍙�
@@ -13,45 +18,45 @@
     // 璋冩暣搴撳瓨鏄庣粏闆嗗悎
     private List<LocDetlAdjust> list;
 
+    @Data
     public static class LocDetlAdjust {
 
-        // 鐗╂枡鍙�
-        private String matNo;
+        // 鍟嗗搧缂栧彿
+        private String matnr;
+
+        // 搴忓垪鐮�
+        private String batch;
 
         // 鍙樻洿鏁伴噺
         private Double count;
 
-        public String getMatNo() {
-            return matNo;
-        }
-
-        public void setMatNo(String matNo) {
-            this.matNo = matNo;
-        }
-
-        public Double getCount() {
-            return count;
-        }
-
-        public void setCount(Double count) {
+        public LocDetlAdjust(String matnr, String batch, Double count) {
+            this.matnr = matnr;
+            this.batch = batch;
             this.count = count;
         }
     }
 
-    public String getLocNo() {
-        return locNo;
+    public void integrate() {
+        if (Cools.isEmpty(list)) {
+            return;
+        }
+        List<LocDetlAdjust> copyList = new ArrayList<>();
+        for (LocDetlAdjust adjust : list) {
+            boolean exit = false;
+            for (LocDetlAdjust copy : copyList) {
+                if (adjust.getMatnr().equals(copy.getMatnr()) && Cools.eq(adjust.getBatch(), copy.getBatch())) {
+                    copy.setCount(copy.getCount() + adjust.getCount());
+                    exit = true;
+                    break;
+                }
+            }
+            if (!exit) {
+                copyList.add(new LocDetlAdjustParam.LocDetlAdjust(adjust.getMatnr(), adjust.getBatch(), adjust.getCount()));
+            }
+        }
+        list = copyList;
     }
 
-    public void setLocNo(String locNo) {
-        this.locNo = locNo;
-    }
-
-    public List<LocDetlAdjust> getList() {
-        return list;
-    }
-
-    public void setList(List<LocDetlAdjust> list) {
-        this.list = list;
-    }
 
 }

--
Gitblit v1.9.1