From ad576cd965976ccecf60f392f1875335626147ea Mon Sep 17 00:00:00 2001 From: Junjie <fallin.jie@qq.com> Date: 星期二, 13 五月 2025 12:52:54 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 28 +++++++++++++++++++++++----- 1 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 655216b..ca5f620 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -117,7 +117,10 @@ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() .in("wrk_sts" , WrkStsType.INBOUND_LIFT_RUN_COMPLETE.sts - )); + ) + .orderBy("io_pri", false) + .orderBy("appe_time", true) + ); for (WrkMast wrkMast : wrkMasts) { boolean step1 = this.shuttleInExecuteStep1(wrkMast);//灏忚溅鎼叆搴撲腑 Thread.sleep(100); @@ -240,7 +243,10 @@ List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() .in("wrk_sts" , WrkStsType.NEW_OUTBOUND.sts - )); + ) + .orderBy("io_pri", false) + .orderBy("appe_time", true) + ); for (WrkMast wrkMast : wrkMasts) { boolean step1 = this.shuttleOutExecuteStep1(wrkMast);//灏忚溅鎼嚭搴撲腑 Thread.sleep(100); @@ -497,7 +503,11 @@ public synchronized void shuttleLocMoveExecute() { try { //鏌ヨ绉诲簱浠诲姟 - List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().in("wrk_sts", WrkStsType.NEW_LOC_MOVE.sts)); + List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() + .in("wrk_sts", WrkStsType.NEW_LOC_MOVE.sts) + .orderBy("io_pri", false) + .orderBy("appe_time", true) + ); for (WrkMast wrkMast : wrkMasts) { boolean stepToTarget = this.shuttleLocMoveExecuteToTarget(wrkMast);//绉诲簱浠诲姟-灏忚溅鍘荤洰鏍囩偣 if (!stepToTarget) { @@ -1873,7 +1883,7 @@ public void outTaskPreviewDispatchForkLift() { List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>() .in("wrk_sts" - , WrkStsType.OUTBOUND_SHUTTLE_RUN.sts + , WrkStsType.OUTBOUND_SHUTTLE_RUN_COMPLETE.sts )); for (WrkMast wrkMast : wrkMasts) { if(wrkMast.getShuttleNo() == null){ @@ -1912,6 +1922,12 @@ continue; } + //瀛樺湪璋冨害閿� + Object object = redisUtil.get(RedisKeyType.OUT_TASK_PREVIEW_DISPATCH_FORKLIFT.key + forkLiftProtocol.getLiftNo()); + if (object != null) { + continue; + } + //鍒ゆ柇鎻愬崌鏈烘槸鍚︽湁鍏朵粬浠诲姟 WrkMast liftWrkMast = wrkMastService.selectLiftWrkMast(wrkMast.getLiftNo()); if (liftWrkMast != null) { @@ -1923,7 +1939,7 @@ } //鎻愬崌鏈轰笉鍦ㄥ嚭搴撳眰 - if (forkLiftProtocol.getLev() != Utils.getLev(wrkMast.getSourceLocNo())) { + if (forkLiftProtocol.getLev().equals(Utils.getLev(wrkMast.getSourceLocNo()))) { continue; } @@ -1943,6 +1959,8 @@ assignCommand.setTaskMode(ForkLiftTaskModeType.MOVE.id.shortValue()); forkLiftAction.assignWork(forkLiftProtocol.getLiftNo(), assignCommand); + + redisUtil.set(RedisKeyType.OUT_TASK_PREVIEW_DISPATCH_FORKLIFT.key + forkLiftProtocol.getLiftNo(), "lock", 30);//30绉掍笉鍐嶈皟搴� } } -- Gitblit v1.9.1