From fa3303ec0e60325f7e0cafeac8fe9a2a7de0652c Mon Sep 17 00:00:00 2001
From: Administrator <1051256694@qq.com>
Date: 星期六, 28 三月 2026 19:57:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/WorkMastScheduler.java |  167 ++++++++++++++++++++++++++++---------------------------
 1 files changed, 85 insertions(+), 82 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
index 243be65..94eb0d1 100644
--- a/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/WorkMastScheduler.java
@@ -80,101 +80,104 @@
      */
     @Scheduled(cron = "0/3 * * * * ? ")
     private synchronized void autoPubTasks() {
-        List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", Arrays.asList(1L, 11L)).orderBy("io_pri",false).orderBy("appe_time", true));
-        if (wrkMasts.isEmpty()) {
-            return;
-        }
-        Collections.shuffle(wrkMasts);
-        for (WrkMast wrkMast : wrkMasts) {
-            try {
-                //鏌ョ湅涓嬪彂浠诲姟鏄惁涓哄喕缁撳簱浣嶏紝鏄喕缁撳簱浣嶅垯璺宠繃涓嬪彂浠诲姟
-                LocAroundBind locAroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>()
-                        .eq("b_loc_no", wrkMast.getLocNo())
-                        .eq("freeze", 1));
-                if (Cools.isEmpty(locAroundBind)) {
-                    locAroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>()
-                            .eq("b_loc_no", wrkMast.getSourceLocNo())
+        for (int i = 1 ;i<=4;i++){
+            List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no",i).in("wrk_sts", 1L, 11L).orderBy("io_pri",false).orderBy("appe_time", true));
+            if (wrkMasts.isEmpty()) {
+                continue;
+            }
+//            Collections.shuffle(wrkMasts);
+            for (WrkMast wrkMast : wrkMasts) {
+                try {
+                    //鏌ョ湅涓嬪彂浠诲姟鏄惁涓哄喕缁撳簱浣嶏紝鏄喕缁撳簱浣嶅垯璺宠繃涓嬪彂浠诲姟
+                    LocAroundBind locAroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>()
+                            .eq("b_loc_no", wrkMast.getLocNo())
                             .eq("freeze", 1));
-                    if (!Cools.isEmpty(locAroundBind)) {
-                        markPublishError(wrkMast.getWrkNo(), String.valueOf("婧愬簱浣嶈鍐荤粨"));
+                    if (Cools.isEmpty(locAroundBind)) {
+                        locAroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>()
+                                .eq("b_loc_no", wrkMast.getSourceLocNo())
+                                .eq("freeze", 1));
+                        if (!Cools.isEmpty(locAroundBind)) {
+                            markPublishError(wrkMast.getWrkNo(), String.valueOf("婧愬簱浣嶈鍐荤粨"));
+                            continue;
+                        }
+                    } else {
+                        markPublishError(wrkMast.getWrkNo(), String.valueOf("鐩爣搴撲綅琚喕缁�"));
                         continue;
                     }
-                } else {
-                    markPublishError(wrkMast.getWrkNo(), String.valueOf("鐩爣搴撲綅琚喕缁�"));
-                    continue;
-                }
-            Integer crnNo = wrkMast.getCrnNo();
-            //濡傛灉浠诲姟鏄Щ搴撲换鍔℃椂锛氳鍫嗗灈鏈哄凡缁忎笅鍙戜换鍔$粰wcs鍚庝笉鍐嶄笅鍙戞柊鐨勬惉杩愪换鍔�
-                if(wrkMast.getIoType()==101&&!Cools.isEmpty(wrkMast.getLocNo())){
-                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", crnNo).eq("loc_no", wrkMast.getLocNo()));
-                    if (!Cools.isEmpty(locMast)) {
-                        List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("wrk_sts", Arrays.asList(12L,13L,14L)));
-                        if (!wrkMasts1.isEmpty()) {
+                    Integer crnNo = wrkMast.getCrnNo();
+                    //濡傛灉浠诲姟鏄Щ搴撲换鍔℃椂锛氳鍫嗗灈鏈哄凡缁忎笅鍙戜换鍔$粰wcs鍚庝笉鍐嶄笅鍙戞柊鐨勬惉杩愪换鍔�
+                    if(wrkMast.getIoType()==101&&!Cools.isEmpty(wrkMast.getLocNo())){
+                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no", crnNo).eq("loc_no", wrkMast.getLocNo()));
+                        if (!Cools.isEmpty(locMast)) {
+                            List<WrkMast> wrkMasts1 = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).in("wrk_sts", 12L,13L,14L));
+                            if (!wrkMasts1.isEmpty()) {
+                                continue;
+                            }
+                        }
+
+                    }
+
+                    //婧愬簱浣嶄负鍐荤粨搴撲綅鏃剁姝笅鍙戞惉杩愪换鍔$粰鍫嗗灈鏈�
+                    if (!Cools.isEmpty(wrkMast.getSourceLocNo())) {
+                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+                                .eq("loc_no", wrkMast.getSourceLocNo())
+                                .eq("frozen", 0));
+                        if (Cools.isEmpty(locMast)) {
                             continue;
                         }
                     }
 
-                }
-
-                //婧愬簱浣嶄负鍐荤粨搴撲綅鏃剁姝笅鍙戞惉杩愪换鍔$粰鍫嗗灈鏈�
-                if (!Cools.isEmpty(wrkMast.getSourceLocNo())) {
-                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
-                            .eq("loc_no", wrkMast.getSourceLocNo())
-                            .eq("frozen", 0));
-                    if (Cools.isEmpty(locMast)) {
-                        continue;
+                    //鐩爣搴撲綅涓哄喕缁撳簱浣嶆椂绂佹涓嬪彂鎼繍浠诲姟缁欏爢鍨涙満
+                    if (!Cools.isEmpty(wrkMast.getLocNo())) {
+                        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
+                                .eq("loc_no", wrkMast.getLocNo())
+                                .eq("frozen", 0));
+                        if (Cools.isEmpty(locMast)) {
+                            continue;
+                        }
                     }
-                }
 
-                //鐩爣搴撲綅涓哄喕缁撳簱浣嶆椂绂佹涓嬪彂鎼繍浠诲姟缁欏爢鍨涙満
-                if (!Cools.isEmpty(wrkMast.getLocNo())) {
-                    LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
-                            .eq("loc_no", wrkMast.getLocNo())
-                            .eq("frozen", 0));
-                    if (Cools.isEmpty(locMast)) {
-                        continue;
+                    String wcsSourceLocNo = Cools.isEmpty(wrkMast.getSourceLocNo()) ? "" : Utils.WMSLocToWCSLoc(wrkMast.getSourceLocNo());
+                    String wcsLocNo = Cools.isEmpty(wrkMast.getLocNo()) ? "" : Utils.WMSLocToWCSLoc(wrkMast.getLocNo());
+                    Integer taskPri = wrkMast.getIoPri() == null ? null : wrkMast.getIoPri().intValue();
+                    WorkTaskParams params = new WorkTaskParams();
+                    //鍑哄簱鍜岀Щ搴�
+                    if ((wrkMast.getIoType() == 101 || wrkMast.getIoType() == 110) && !Cools.isEmpty(wrkMast.getStaNo()) && !wrkMast.getStaNo().equals("0")) {
+                        params.setType("out")
+                                .setTaskNo(wrkMast.getWrkNo() + "")
+                                .setSourceLocNo(wcsSourceLocNo)
+                                .setLocNo(wcsLocNo)
+                                .setStaNo(wrkMast.getStaNo())
+                                .setTaskPri(taskPri)
+                                .setBarcode(wrkMast.getBarcode());
+                    } else if (wrkMast.getIoType() == 2 && !Cools.isEmpty(wrkMast.getSourceStaNo())) {
+                        params.setType("in")
+                                .setTaskNo(wrkMast.getWrkNo() + "")
+                                .setSourceStaNo(wrkMast.getSourceStaNo())
+                                .setStaNo(wrkMast.getStaNo())
+                                .setLocNo(wcsLocNo)
+                                .setTaskPri(taskPri)
+                                .setBarcode(wrkMast.getBarcode());
+                    } else {
+                        params.setType("move")
+                                .setTaskNo(wrkMast.getWrkNo() + "")
+                                .setSourceLocNo(wcsSourceLocNo)
+                                .setLocNo(wcsLocNo)
+                                .setBarcode(wrkMast.getBarcode());
                     }
+                    R r = wcsApiService.pubWrkToWcs(params);
+                    if (isSuccess(r)) {
+                        clearPublishError(wrkMast.getWrkNo());
+                        break;
+                    }
+                    markPublishError(wrkMast.getWrkNo(), String.valueOf(r.get("msg")));
+                } catch (Exception e) {
+                    log.error("宸ヤ綔妗wrkNo={}]涓嬪彂浠诲姟寮傚父", wrkMast.getWrkNo(), e);
+                    markPublishError(wrkMast.getWrkNo(), e.getMessage());
                 }
-
-                String wcsSourceLocNo = Cools.isEmpty(wrkMast.getSourceLocNo()) ? "" : Utils.WMSLocToWCSLoc(wrkMast.getSourceLocNo());
-                String wcsLocNo = Cools.isEmpty(wrkMast.getLocNo()) ? "" : Utils.WMSLocToWCSLoc(wrkMast.getLocNo());
-                Integer taskPri = wrkMast.getIoPri() == null ? null : wrkMast.getIoPri().intValue();
-                WorkTaskParams params = new WorkTaskParams();
-                //鍑哄簱鍜岀Щ搴�
-                if ((wrkMast.getIoType() == 101 || wrkMast.getIoType() == 110) && !Cools.isEmpty(wrkMast.getStaNo()) && !wrkMast.getStaNo().equals("0")) {
-                    params.setType("out")
-                            .setTaskNo(wrkMast.getWrkNo() + "")
-                            .setSourceLocNo(wcsSourceLocNo)
-                            .setLocNo(wcsLocNo)
-                            .setStaNo(wrkMast.getStaNo())
-                            .setTaskPri(taskPri)
-                            .setBarcode(wrkMast.getBarcode());
-                } else if (wrkMast.getIoType() == 2 && !Cools.isEmpty(wrkMast.getSourceStaNo())) {
-                    params.setType("in")
-                            .setTaskNo(wrkMast.getWrkNo() + "")
-                            .setSourceStaNo(wrkMast.getSourceStaNo())
-                            .setStaNo(wrkMast.getStaNo())
-                            .setLocNo(wcsLocNo)
-                            .setTaskPri(taskPri)
-                            .setBarcode(wrkMast.getBarcode());
-                } else {
-                    params.setType("move")
-                            .setTaskNo(wrkMast.getWrkNo() + "")
-                            .setSourceLocNo(wcsSourceLocNo)
-                            .setLocNo(wcsLocNo)
-                            .setBarcode(wrkMast.getBarcode());
-                }
-                R r = wcsApiService.pubWrkToWcs(params);
-                if (isSuccess(r)) {
-                    clearPublishError(wrkMast.getWrkNo());
-                    break;
-                }
-                markPublishError(wrkMast.getWrkNo(), String.valueOf(r.get("msg")));
-            } catch (Exception e) {
-                log.error("宸ヤ綔妗wrkNo={}]涓嬪彂浠诲姟寮傚父", wrkMast.getWrkNo(), e);
-                markPublishError(wrkMast.getWrkNo(), e.getMessage());
             }
         }
+
     }
 
     private boolean isSuccess(R r) {

--
Gitblit v1.9.1