From 7aba2103c4b3ea72e8e0fd79dc88be0e251c1c33 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期日, 12 四月 2026 16:03:02 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/WorkMastScheduler.java |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index b61a4aa..8f2a819 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -5,7 +5,6 @@
 import com.core.common.R;
 import com.zy.api.controller.params.WorkTaskParams;
 import com.zy.api.service.WcsApiService;
-import com.zy.asrs.entity.LocMast;
 import com.zy.asrs.entity.WrkMast;
 import com.zy.asrs.service.WrkMastService;
 import com.zy.asrs.task.core.ReturnT;
@@ -19,7 +18,6 @@
 
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -65,25 +63,26 @@
      * <p>
      * 褰撳墠鎵归噺涓嬪彂鐨勫綊骞剁淮搴︽槸锛�
      * 1. WCS鎺ュ彛璺緞锛堝叆搴�/鍑哄簱/绉诲簱涓嶈兘娣峰彂锛夛紱
-     * 2. work_mast.user_no锛堢浉鍚� userNo 鐨勪换鍔″繀椤绘斁鍒板悓涓�鎵规涓�璧蜂笂鎶ワ級銆�
+     * 2. work_mast.user_no + batch_seq锛堢浉鍚岃鍗曞悓鎵规鐨勪换鍔″繀椤绘斁鍒板悓涓�鎵规涓�璧蜂笂鎶ワ級銆�
      *
      * @author Ryan
      * @date 2026/1/10 14:42
      */
-    @Scheduled(cron = "0/3 * * * * ? ")
+    @Scheduled(cron = "0/10 * * * * ? ")
     private void autoPubTasks() {
         // 浠呭鐞嗗緟涓嬪彂/宸茬敓鎴愪笅鍙戝彿鐨勫伐浣滄。銆�
-        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", Arrays.asList(1L, 11L)));
+        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", Arrays.asList(1L, 11L))
+                .orderBy("user_no", true)
+                .orderBy("batch_seq", true)
+                .orderBy("plt_type", true));
         if (wrkMasts.isEmpty()) {
             return;
         }
 
-        // 鎵撴暎椤哄簭锛岄伩鍏嶅浐瀹氭帓搴忎笅鍚屼竴鎵逛换鍔¢暱鏈熷崰鐢ㄨ皟搴︽満浼氥��
-        Collections.shuffle(wrkMasts);
         List<WorkTaskParams> paramsList = new ArrayList<>();
         for (WrkMast wrkMast : wrkMasts) {
             // 鍑哄簱绫讳换鍔★紙ioType > 100锛夐粯璁ら渶瑕� ERP 纭锛涙湭纭鐨勪换鍔″湪杩欓噷鐩存帴璺宠繃銆�
-            if (wrkMast.getIoType()>100&& !wrkMast.getPdcType().equals("Y")) {
+            if (wrkMast.getIoType() > 100 && !"Y".equalsIgnoreCase(wrkMast.getPdcType())) {
                 continue;
             }
 
@@ -92,18 +91,20 @@
             String wcsLocNo = Cools.isEmpty(wrkMast.getLocNo()) ? "" : Utils.WMSLocToWCSLoc(wrkMast.getLocNo());
             WorkTaskParams params = new WorkTaskParams();
 
-            // 101: 鍑哄簱銆傛澶� batch 瀛楁鎵胯浇 userNo锛屽悗缁� service 灞備細鎹鎶婄浉鍚� userNo 鐨勪换鍔″苟鍒颁竴鎵广��
+            // 101: 鍑哄簱銆傛湁搴忎换鍔℃墠鍚� WCS 浼� batch/batchSeq锛泂eq=0 琛ㄧず鏃犲簭锛屼笉浼犺繖涓や釜瀛楁銆�
             if(wrkMast.getIoType()==101) {
                 params.setType("out")
                         .setTaskNo(wrkMast.getWrkNo()+"")
                         .setLocNo(wcsSourceLocNo)
                         .setStaNo(String.valueOf(wrkMast.getStaNo()))
                         .setTaskPri(wrkMast.getIoPri().intValue())
-                        .setBatch(wrkMast.getUserNo())
-                        .setBatchSeq(wrkMast.getPltType())
                         .setBarcode(wrkMast.getBarcode());
+                if (wrkMast.getPltType() != null && wrkMast.getPltType() > 0) {
+                    params.setBatch(wrkMast.getUserNo())
+                            .setBatchSeq(wrkMast.getPltType());
+                }
             // 2: 鍏ュ簱銆傚叆搴撴帴鍙d娇鐢� sourceStaNo + 鐩爣搴撲綅銆�
-            }else if(wrkMast.getIoType()==2&& !Cools.isEmpty(wrkMast.getSourceStaNo())){
+            } else if (wrkMast.getIoType() == 2 && !Cools.isEmpty(wrkMast.getSourceStaNo())) {
                 params.setType("in")
                         .setTaskNo(wrkMast.getWrkNo()+"")
                         .setSourceStaNo(String.valueOf(wrkMast.getSourceStaNo()))

--
Gitblit v1.9.1