From 1d624dfdb040825ffecba6c792c480be662b2dbc Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期四, 10 四月 2025 17:39:56 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/action/ForkLiftAction.java | 174 +++++++++++++++++++++++++++++----------------------------- 1 files changed, 87 insertions(+), 87 deletions(-) diff --git a/src/main/java/com/zy/core/action/ForkLiftAction.java b/src/main/java/com/zy/core/action/ForkLiftAction.java index b6e7c0f..2260be0 100644 --- a/src/main/java/com/zy/core/action/ForkLiftAction.java +++ b/src/main/java/com/zy/core/action/ForkLiftAction.java @@ -34,99 +34,99 @@ private BasLiftOptService basLiftOptService; public synchronized boolean assignWork(Integer liftNo, LiftAssignCommand assignCommand) { - ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); - if (forkLiftThread == null) { - return false; - } - - ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); - if (forkLiftProtocol == null) { - return false; - } - - LiftRedisCommand redisCommand = new LiftRedisCommand(); - redisCommand.setLiftNo(assignCommand.getLiftNo());//鎻愬崌鏈哄彿 - redisCommand.setWrkNo(assignCommand.getTaskNo());//宸ヤ綔鍙� - redisCommand.setCommandStep(0);//鍛戒护鎵ц姝ュ簭 - redisCommand.setAssignCommand(assignCommand);//鍛戒护 - //浠诲姟鏁版嵁淇濆瓨鍒皉edis - if (redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand))) { - forkLiftThread.setSyncTaskNo(assignCommand.getTaskNo().intValue()); - return true; - } +// ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); +// if (forkLiftThread == null) { +// return false; +// } +// +// ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); +// if (forkLiftProtocol == null) { +// return false; +// } +// +// LiftRedisCommand redisCommand = new LiftRedisCommand(); +// redisCommand.setLiftNo(assignCommand.getLiftNo());//鎻愬崌鏈哄彿 +// redisCommand.setWrkNo(assignCommand.getTaskNo());//宸ヤ綔鍙� +// redisCommand.setCommandStep(0);//鍛戒护鎵ц姝ュ簭 +// redisCommand.setAssignCommand(assignCommand);//鍛戒护 +// //浠诲姟鏁版嵁淇濆瓨鍒皉edis +// if (redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + assignCommand.getTaskNo(), JSON.toJSONString(redisCommand))) { +// forkLiftThread.setSyncTaskNo(assignCommand.getTaskNo().intValue()); +// return true; +// } return false; } public synchronized boolean executeWork(Integer liftNo, Integer taskNo) { - Object obj = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + taskNo); - if (obj == null) { - return false; - } - -// WrkMast wrkMast = wrkMastService.selectByWorkNo(taskNo); -// if (wrkMast == null) { +// Object obj = redisUtil.get(RedisKeyType.FORK_LIFT_WORK_FLAG.key + taskNo); +// if (obj == null) { // return false; // } - - LiftRedisCommand redisCommand = JSON.parseObject(obj.toString(), LiftRedisCommand.class); - if (redisCommand == null) { - return false; - } - - ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); - if (forkLiftThread == null) { - return false; - } - - ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); - if (forkLiftProtocol == null) { - return false; - } - - List<ForkLiftCommand> commands = redisCommand.getAssignCommand().getCommands(); - if (commands.isEmpty()) { - return false; - } - - LiftAssignCommand assignCommand = redisCommand.getAssignCommand(); - int commandStep = redisCommand.getCommandStep(); - - if (commandStep == 0) { - //鍙栧嚭鍛戒护 - ForkLiftCommand command = commands.get(commandStep); - - //鍒ゆ柇鎻愬崌鏈烘槸鍚︾┖闂� - if (!forkLiftThread.isDeviceIdle()) { - return false; - } - - // 涓嬪彂鍛戒护 - CommandResponse response = write(command, liftNo); - - //淇濆瓨鍛戒护鏃ュ織 - BasLiftOpt basLiftOpt = new BasLiftOpt(); - basLiftOpt.setWrkNo(taskNo); - basLiftOpt.setLiftNo(liftNo); - basLiftOpt.setCommand(JSON.toJSONString(command)); - basLiftOpt.setSystemStatus(JSON.toJSONString(forkLiftProtocol)); - basLiftOpt.setDeviceWrk(String.valueOf(command.getTaskNo())); - basLiftOpt.setSendTime(new Date());//鎸囦护涓嬪彂鏃堕棿 - //淇濆瓨鍛戒护娴佹按 - basLiftOptService.insert(basLiftOpt); - - if (!response.getResult()) { - News.error("璐у弶鎻愬崌鏈哄懡浠や笅鍙戝け璐ワ紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command)); - return false; - } else { - News.info("璐у弶鎻愬崌鏈哄懡浠や笅鍙戞垚鍔燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command)); - } - - commandStep++; - //鏇存柊redis鏁版嵁 - redisCommand.setCommandStep(commandStep); - // 鏇存柊redis鏁版嵁 - redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + taskNo, JSON.toJSONString(redisCommand)); - } +// +//// WrkMast wrkMast = wrkMastService.selectByWorkNo(taskNo); +//// if (wrkMast == null) { +//// return false; +//// } +// +// LiftRedisCommand redisCommand = JSON.parseObject(obj.toString(), LiftRedisCommand.class); +// if (redisCommand == null) { +// return false; +// } +// +// ForkLiftThread forkLiftThread = (ForkLiftThread) SlaveConnection.get(SlaveType.ForkLift, liftNo); +// if (forkLiftThread == null) { +// return false; +// } +// +// ForkLiftProtocol forkLiftProtocol = forkLiftThread.getStatus(); +// if (forkLiftProtocol == null) { +// return false; +// } +// +// List<ForkLiftCommand> commands = redisCommand.getAssignCommand().getCommands(); +// if (commands.isEmpty()) { +// return false; +// } +// +// LiftAssignCommand assignCommand = redisCommand.getAssignCommand(); +// int commandStep = redisCommand.getCommandStep(); +// +// if (commandStep == 0) { +// //鍙栧嚭鍛戒护 +// ForkLiftCommand command = commands.get(commandStep); +// +// //鍒ゆ柇鎻愬崌鏈烘槸鍚︾┖闂� +// if (!forkLiftThread.isDeviceIdle()) { +// return false; +// } +// +// // 涓嬪彂鍛戒护 +// CommandResponse response = write(command, liftNo); +// +// //淇濆瓨鍛戒护鏃ュ織 +// BasLiftOpt basLiftOpt = new BasLiftOpt(); +// basLiftOpt.setWrkNo(taskNo); +// basLiftOpt.setLiftNo(liftNo); +// basLiftOpt.setCommand(JSON.toJSONString(command)); +// basLiftOpt.setSystemStatus(JSON.toJSONString(forkLiftProtocol)); +// basLiftOpt.setDeviceWrk(String.valueOf(command.getTaskNo())); +// basLiftOpt.setSendTime(new Date());//鎸囦护涓嬪彂鏃堕棿 +// //淇濆瓨鍛戒护娴佹按 +// basLiftOptService.insert(basLiftOpt); +// +// if (!response.getResult()) { +// News.error("璐у弶鎻愬崌鏈哄懡浠や笅鍙戝け璐ワ紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command)); +// return false; +// } else { +// News.info("璐у弶鎻愬崌鏈哄懡浠や笅鍙戞垚鍔燂紝鎻愬崌鏈哄彿={}锛屼换鍔℃暟鎹�={}", command.getLiftNo(), JSON.toJSON(command)); +// } +// +// commandStep++; +// //鏇存柊redis鏁版嵁 +// redisCommand.setCommandStep(commandStep); +// // 鏇存柊redis鏁版嵁 +// redisUtil.set(RedisKeyType.FORK_LIFT_WORK_FLAG.key + taskNo, JSON.toJSONString(redisCommand)); +// } return true; } -- Gitblit v1.9.1