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/common/model/Shelves.java | 48 +++++++++++++++++++++++++++++++++---------------
1 files changed, 33 insertions(+), 15 deletions(-)
diff --git a/src/main/java/com/zy/common/model/Shelves.java b/src/main/java/com/zy/common/model/Shelves.java
index 0fe0ec8..ae5015f 100644
--- a/src/main/java/com/zy/common/model/Shelves.java
+++ b/src/main/java/com/zy/common/model/Shelves.java
@@ -1,5 +1,9 @@
package com.zy.common.model;
+import com.alibaba.fastjson.JSON;
+import com.core.common.Arith;
+import com.core.exception.CoolException;
+
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -11,16 +15,16 @@
public class Shelves {
// 璐ф灦鎺掓暟閲�
- private final int size;
+ public final int size;
// 璐ф灦缁勬暟閲�
- private final int group;
+ public final int group;
// 鍋忕Щ閲廩default:0]
- private final int offset;
+ public final int offset;
// 璐ф灦瀹炰緥鑺傜偣闆嗗悎
- private List<List<Integer>> nodes;
+ public List<List<Integer>> nodes;
public Shelves(int size, int group) {
this(size, group, 0);
@@ -34,9 +38,11 @@
public Shelves(int size, int group, int offset) {
this.size = size;
this.group = group;
- this.offset = offset;
+ this.offset = offset-1;
init();
}
+
+
/**
* 鍒濆鍖栨柟娉曘�愮鏈夈��
@@ -61,7 +67,7 @@
*
* 璐ф灦鍛戒腑瑙勫垯濡備笅锛�
* 瀹夎浣嶇疆锛� [1] [2] | [3] [4] -------- [5] [6] | [7] [8]
- * 鍛戒腑椤哄簭锛� 1 -> 5 -> 4 -> 8 -> 2 -> 6 -> 3 -> 9 -> 1 ...
+ * 鍛戒腑椤哄簭锛� 1 -> 5 -> 4 -> 8 -> 2 -> 6 -> 3 -> 7 -> 1 ...
*
* 1.璇ヨ鍒欓�備笉闄愬埗璐ф灦鏁伴噺锛屾�绘暟涓庣粍鍒湪鏋勯�犲櫒涓缃�
* 2.濡傛湁搴忓垪鍙疯捣濮嬮棶棰橈紝鐢ㄥ亸绉婚噺瑙勯伩鍗冲彲
@@ -94,19 +100,31 @@
}
}
}
- return 0;
+ return -1;
}
+ public Integer get(Integer curRow) {
+ for (List<Integer> node : nodes){
+ if (node.contains(curRow)) {
+ return nodes.indexOf(node) + 1;
+ }
+ }
+ throw new CoolException("璐ф帓妫�绱㈢郴缁熸姤閿欙紝 node:" + JSON.toJSONString(nodes) + ", curRow:" + curRow);
+ }
public static void main(String[] args) throws InterruptedException {
- Shelves shelves = new Shelves(8,2);
- System.out.println(shelves.nodes.toString());
- int start = 1;
- while (true) {
- System.out.println(start);
- start = shelves.start(start);
- Thread.sleep(500L);
- }
+
+ double remainder = Arith.divides(1,16 - 1, 16);
+ System.out.println(remainder);
+ System.out.println((int) remainder);
+// Shelves shelves = new Shelves(8,2);
+// System.out.println(shelves.nodes.toString());
+// int start = 1;
+// while (true) {
+// System.out.println(start);
+// start = shelves.start(start);
+// Thread.sleep(500L);
+// }
}
}
--
Gitblit v1.9.1