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/MobileServiceImpl.java | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 26dc432..a53d344 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -248,6 +248,7 @@
wrkMast.setIoTime(now);
wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細101.鐢熸垚鍑哄簱
wrkMast.setIoType(104); // 鍏ュ嚭搴撶姸鎬�
+ wrkMast.setPdcType("N");
wrkMast.setIoPri(13D); // 浼樺厛绾э細13
wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
@@ -573,6 +574,7 @@
}
Date now = new Date();
+ Integer freqType = resolveCombFreqType(param.getCombMats());
boolean allEmpty = true;
if (param.getCombMats() != null) {
for (CombParam.CombMat mat : param.getCombMats()) {
@@ -615,6 +617,7 @@
waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
+ waitPakin.setFreqType(freqType);
waitPakin.setStatus("Y"); // 鐘舵��
waitPakin.setAppeUser(userId);
waitPakin.setAppeTime(now);
@@ -680,6 +683,7 @@
waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
+ waitPakin.setFreqType(freqType);
waitPakin.setStatus("Y"); // 鐘舵��
waitPakin.setAppeUser(userId);
waitPakin.setAppeTime(now);
@@ -703,6 +707,26 @@
// orderService.updateSettle(order.getId(), 2L, userId);
OrderInAndOutUtil.updateOrder(Boolean.TRUE,order.getId(), 2L, userId);
}
+ }
+
+ private Integer resolveCombFreqType(List<CombParam.CombMat> combMats) {
+ Integer resolvedFreqType = null;
+ if (Cools.isEmpty(combMats)) {
+ return null;
+ }
+ for (CombParam.CombMat combMat : combMats) {
+ if (combMat == null || combMat.getFreqType() == null || combMat.getFreqType() <= 0) {
+ continue;
+ }
+ if (resolvedFreqType == null) {
+ resolvedFreqType = combMat.getFreqType();
+ continue;
+ }
+ if (!resolvedFreqType.equals(combMat.getFreqType())) {
+ throw new CoolException("缁勬墭璐х墿棰戞涓嶄竴鑷�");
+ }
+ }
+ return resolvedFreqType;
}
@@ -1055,6 +1079,7 @@
throw new CoolException(param.getBarcode() + "鏁版嵁姝e湪杩涜鍏ュ簱");
}
Date now = new Date();
+ Integer freqType = resolveCombFreqType(param.getCombMats());
boolean packDown = Parameter.get().getPackDown().equals("true");
@@ -1188,6 +1213,7 @@
waitPakin.setZpallet(param.getBarcode()); // 鎵樼洏鐮�
waitPakin.setIoStatus("N"); // 鍏ュ嚭鐘舵��
waitPakin.setAnfme(detlDto.getAnfme()); // 鏁伴噺
+ waitPakin.setFreqType(freqType);
waitPakin.setStatus("Y"); // 鐘舵��
waitPakin.setAppeUser(userId);
waitPakin.setAppeTime(now);
@@ -1316,6 +1342,7 @@
wrkMast.setExitMk("N"); // 閫�鍑�
wrkMast.setEmptyMk("N"); // 绌烘澘
wrkMast.setLinkMis("N");
+ wrkMast.setPdcType("N");
wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
wrkMast.setAppeTime(now);
wrkMast.setModiUser(userId);
--
Gitblit v1.9.1