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/task/handler/AutomaticallyIssueWCSTasksHandler.java |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/AutomaticallyIssueWCSTasksHandler.java b/src/main/java/com/zy/asrs/task/handler/AutomaticallyIssueWCSTasksHandler.java
index b47a30e..9016d93 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutomaticallyIssueWCSTasksHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutomaticallyIssueWCSTasksHandler.java
@@ -48,6 +48,12 @@
             for (WrkMast m : wrkMast) {
                 if (m == null) { continue; }
                 if (Objects.equals(m.getWrkSts(), 11L)) {
+                    if ("Y".equalsIgnoreCase(m.getPauseMk())) {
+                        continue;
+                    }
+                    if (requiresOutboundErpConfirm(m) && !"Y".equalsIgnoreCase(m.getPdcType())) {
+                        continue;
+                    }
                     if (m.getUpdMk() != null && "WCS_SENT".equalsIgnoreCase(m.getUpdMk())) {
                         continue;
                     }
@@ -85,8 +91,11 @@
                     if (m.getIoPri() != null) {
                         t.put("taskPri", m.getIoPri().intValue());
                     }
-                    t.put("batchSeq", m.getPltType());
-                    if (m.getUserNo() != null) {
+                    // 7.11锛歴eq=0 琛ㄧず鏃犲簭锛學CS 涓嬪彂涓嶄紶 batch 鍜� batchSeq銆�
+                    if (m.getPltType() != null && m.getPltType() > 0) {
+                        t.put("batchSeq", m.getPltType());
+                    }
+                    if (m.getPltType() != null && m.getPltType() > 0 && m.getUserNo() != null) {
                         t.put("batch", m.getUserNo());
                     }
                     tasks.add(t);
@@ -136,4 +145,9 @@
         }
         return SUCCESS;
     }
+
+    private boolean requiresOutboundErpConfirm(WrkMast wrkMast) {
+        Integer ioType = wrkMast == null ? null : wrkMast.getIoType();
+        return ioType != null && (ioType == 101 || ioType == 103 || ioType == 104 || ioType == 107 || ioType == 110);
+    }
 }

--
Gitblit v1.9.1