From f2c8334b9988edd7c8fa5d9c0da506060f85a16a Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期四, 27 六月 2024 13:33:55 +0800 Subject: [PATCH] #移库 --- zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 59 insertions(+), 0 deletions(-) diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java index 52193e6..782d0e6 100644 --- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java +++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/timer/MotionTimer.java @@ -173,6 +173,65 @@ } @Scheduled(cron = "0/1 * * * * ? ") + public synchronized void executeLadenMoveTask() { + Date now = new Date(); + // ANALYZE_CHARGE + for (Task taskCharge : taskService.selectLadenMoveByAnalyzeSts()) { + Motion executingMotion = motionService.selectOfTop1(taskCharge.getUuid(), MotionStsType.EXECUTING.val(), taskCharge.getHostId()); + if (executingMotion != null) {//瀛樺湪姝e湪鎵ц鐨刴otion + if (executingMotion.getSync() == 1) {//褰撳墠鎵ц涓殑鍔ㄤ綔鏄悓姝ュ姩浣滐紝绛夊緟鎵ц瀹屾垚鍚庡啀鎵ц涓嬩竴涓姩浣� + continue; + } + } + + Motion motion = motionService.selectOfTop1(taskCharge.getUuid(), MotionStsType.INIT.val(), taskCharge.getHostId()); + if (null != motion) { + boolean result = this.executeMotion(motion); + if (!result) { + continue; + } + // 鏇存柊Task + switch (TaskStsType.query(taskCharge.getTaskSts())) { + case ANALYZE_LADEN_MOVE: + taskCharge.setTaskSts(TaskStsType.EXECUTE_LADEN_MOVE.sts); + break; + } + taskCharge.setUpdateTime(now); + if (!taskService.updateById(taskCharge)) { + log.error("{}鍏朵粬宸ヤ綔妗f洿鏂扮姸鎬佸け璐ワ紒", taskCharge.getTaskNo()); + } + } + } + // EXECUTE_CHARGE + for (Task taskCharge : taskService.selectLadenMoveByExecuteSts()) { + if (!motionService.hasRunningMotion(taskCharge.getUuid(), taskCharge.getHostId())) { + Motion motion = motionService.selectOfTop1(taskCharge.getUuid(), MotionStsType.WAITING.val(), taskCharge.getHostId()); + if (null != motion) { + boolean result = this.executeMotion(motion); + if (!result) { + continue; + } + } else { + if (motionService.selectOfTop1(taskCharge.getUuid(), MotionStsType.EXECUTING.val(), taskCharge.getHostId()) != null) { + continue; + } + + // 鏇存柊Task + switch (TaskStsType.query(taskCharge.getTaskSts())) { + case EXECUTE_LADEN_MOVE: + taskCharge.setTaskSts(TaskStsType.COMPLETE_LADEN_MOVE.sts); + break; + } + taskCharge.setUpdateTime(now); + if (!taskService.updateById(taskCharge)) { + log.error("{}浠栧伐浣滄。鏇存柊鐘舵�佸け璐ワ紒", taskCharge.getTaskNo()); + } + } + } + } + } + + @Scheduled(cron = "0/1 * * * * ? ") public synchronized void executeManualTask() { Date now = new Date(); // ANALYZE_MANUAL -- Gitblit v1.9.1