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/utils/GroupedLockerOptimizerUtils.java | 84 +++++++++++++++++++++--------------------
1 files changed, 43 insertions(+), 41 deletions(-)
diff --git a/src/main/java/com/zy/asrs/utils/GroupedLockerOptimizerUtils.java b/src/main/java/com/zy/asrs/utils/GroupedLockerOptimizerUtils.java
index 0512ba1..e09d705 100644
--- a/src/main/java/com/zy/asrs/utils/GroupedLockerOptimizerUtils.java
+++ b/src/main/java/com/zy/asrs/utils/GroupedLockerOptimizerUtils.java
@@ -28,6 +28,7 @@
static class Locker {
int id;
double remainingSpace;
+ long bindingTags;
Map<String, Integer> contents;
Set<String> itemTypes; // 褰撳墠鍌ㄧ墿鏌滀腑鐨勭墿鍝佺绫�
@@ -36,6 +37,7 @@
this.remainingSpace = 1.0;
this.contents = new HashMap<>();
this.itemTypes = new HashSet<>();
+ this.bindingTags = System.currentTimeMillis();
}
public boolean canAdd(Item item, int quantity) {
@@ -122,60 +124,60 @@
}
}
-// public static void main(String[] args) {
-// Scanner scanner = new Scanner(System.in);
-//
-// System.out.println("璇疯緭鍏ョ墿鍝佺绫绘暟閲�:");
-// int itemTypes = scanner.nextInt();
-// scanner.nextLine();
-//
-// List<Item> items = new ArrayList<>();
-//
-// for (int i = 0; i < itemTypes; i++) {
-// System.out.println("\n璇疯緭鍏ョ" + (i + 1) + "绉嶇墿鍝佺殑淇℃伅:");
-// System.out.print("鐗╁搧鍚嶇О: ");
-// String name = scanner.nextLine();
-//
-// System.out.print("鍗曠瀛樻斁鏈�澶ф暟閲�: ");
-// int maxCapacity = scanner.nextInt();
-//
-// System.out.print("搴撳瓨鏁伴噺: ");
-// int stock = scanner.nextInt();
-// scanner.nextLine();
-//
-// items.add(new Item(name, maxCapacity, stock));
-// }
-//
-// // 浣跨敤鍒嗙粍浼樺厛绠楁硶
-// PackingSolution solution = packItemsWithGrouping(items);
-//
-// System.out.println("\n" + solution);
-//
-// scanner.close();
-// }
public static void main(String[] args) {
- int itemTypes = 5;
+ Scanner scanner = new Scanner(System.in);
+
+ System.out.println("璇疯緭鍏ョ墿鍝佺绫绘暟閲�:");
+ int itemTypes = scanner.nextInt();
+ scanner.nextLine();
List<Item> items = new ArrayList<>();
for (int i = 0; i < itemTypes; i++) {
- String name = i+"a";
- int maxCapacity = i*10;
- int stock = i*11;
+ System.out.println("\n璇疯緭鍏ョ" + (i + 1) + "绉嶇墿鍝佺殑淇℃伅:");
+ System.out.print("鐗╁搧鍚嶇О: ");
+ String name = scanner.nextLine();
+
+ System.out.print("鍗曠瀛樻斁鏈�澶ф暟閲�: ");
+ int maxCapacity = scanner.nextInt();
+
+ System.out.print("搴撳瓨鏁伴噺: ");
+ int stock = scanner.nextInt();
+ scanner.nextLine();
+
items.add(new Item(name, maxCapacity, stock));
}
// 浣跨敤鍒嗙粍浼樺厛绠楁硶
PackingSolution solution = packItemsWithGrouping(items);
- for (Locker locker:solution.lockers) {
- for (String mantnr : locker.contents.keySet()){
- System.out.println(mantnr+"<===>"+locker.contents.get(mantnr));
- }
- }
+
System.out.println("\n" + solution);
-// scanner.close();
+ scanner.close();
}
+// public static void main(String[] args) {
+// int itemTypes = 5;
+//
+// List<Item> items = new ArrayList<>();
+//
+// for (int i = 0; i < itemTypes; i++) {
+// String name = i+"a";
+// int maxCapacity = i*10;
+// int stock = i*11;
+// items.add(new Item(name, maxCapacity, stock));
+// }
+//
+// // 浣跨敤鍒嗙粍浼樺厛绠楁硶
+// PackingSolution solution = packItemsWithGrouping(items);
+// for (Locker locker:solution.lockers) {
+// for (String mantnr : locker.contents.keySet()){
+// System.out.println(mantnr+"<===>"+locker.contents.get(mantnr));
+// }
+// }
+// System.out.println("\n" + solution);
+//
+//// scanner.close();
+// }
/**
* 鍒嗙粍浼樺厛瑁呯绠楁硶
--
Gitblit v1.9.1