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 |   25 +++++++++++++++++++++++++
 1 files changed, 25 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 064083c..a53d344 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -574,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()) {
@@ -616,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);
@@ -681,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);
@@ -704,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;
     }
 
 
@@ -1056,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");
 
@@ -1189,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);

--
Gitblit v1.9.1