src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/utils/CommandUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/cache/MessageQueue.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/command/CrnCommand.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/command/LedCommand.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/model/protocol/StaProtocol.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/LedThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensCrnThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/core/thread/SiemensDevpThread.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; import com.core.common.DateUtils; import com.core.common.SpringUtils; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.WmsWrkStatusType; import com.zy.asrs.entity.*; src/main/java/com/zy/asrs/utils/CommandUtils.java
New file @@ -0,0 +1,88 @@ package com.zy.asrs.utils; import com.alibaba.fastjson.JSON; import com.core.common.SpringUtils; import com.zy.asrs.entity.CommandInfo; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.CommandInfoService; import com.zy.asrs.service.WrkMastService; import com.zy.core.enums.SlaveType; import com.zy.core.model.Task; import com.zy.core.model.command.CrnCommand; import com.zy.core.model.command.LedCommand; import com.zy.core.model.protocol.StaProtocol; import java.util.Date; import java.util.List; public class CommandUtils { public static void offer(SlaveType type, Integer id, Task task) { CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); if (commandInfoService == null) { return; } WrkMastService wrkMastService = SpringUtils.getBean(WrkMastService.class); if (wrkMastService == null) { return; } CommandInfo commandInfo = null; WrkMast wrkMast = null; int taskNo = 0; switch (type) { case Crn: CrnCommand command = (CrnCommand) task.getData(); taskNo = command.getTaskNo(); wrkMast = wrkMastService.selectById(taskNo); commandInfo = new CommandInfo(); commandInfo.setWrkNo(taskNo); commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("crn"); commandInfo.setCommand(JSON.toJSONString(command)); commandInfoService.insert(commandInfo); command.setCommandInfo(commandInfo); break; case Devp: StaProtocol staProtocol = (StaProtocol) task.getData(); taskNo = staProtocol.getWorkNo(); wrkMast = wrkMastService.selectById(taskNo); commandInfo = new CommandInfo(); commandInfo.setWrkNo(taskNo); commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("devp"); commandInfo.setCommand(JSON.toJSONString(staProtocol)); commandInfoService.insert(commandInfo); staProtocol.setCommandInfo(commandInfo); break; case Led: List<LedCommand> data = (List<LedCommand>) task.getData(); for (LedCommand ledCommand : data) { taskNo = ledCommand.getWorkNo(); wrkMast = wrkMastService.selectById(taskNo); commandInfo = new CommandInfo(); commandInfo.setWrkNo(ledCommand.getWorkNo()); commandInfo.setWmsWrkNo(wrkMast.getWmsWrkNo()); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("led"); commandInfo.setCommand(JSON.toJSONString(ledCommand)); commandInfoService.insert(commandInfo); ledCommand.setCommandInfo(commandInfo); } break; } } } src/main/java/com/zy/core/cache/MessageQueue.java
@@ -1,5 +1,6 @@ package com.zy.core.cache; import com.zy.asrs.utils.CommandUtils; import com.zy.core.Slave; import com.zy.core.enums.SlaveType; import com.zy.core.model.Task; @@ -61,6 +62,7 @@ * 如果发现队列已满无法添加的话,会直接返回false。 */ public static boolean offer(SlaveType type, Integer id, Task task) { CommandUtils.offer(type, id, task); switch (type) { case Crn: return CRN_EXCHANGE.get(id).offer(task); src/main/java/com/zy/core/model/command/CrnCommand.java
@@ -1,6 +1,7 @@ package com.zy.core.model.command; import com.alibaba.fastjson.annotation.JSONField; import com.zy.asrs.entity.CommandInfo; import com.zy.core.enums.CrnTaskModeType; import lombok.Data; @@ -74,6 +75,9 @@ // 任务确认 0:未确认 1:已确认 private Short command = 0; //指令信息 private CommandInfo commandInfo; public void setTaskMode(Short taskMode){ this.taskMode = taskMode; this.taskModeType = CrnTaskModeType.get(taskModeType); src/main/java/com/zy/core/model/command/LedCommand.java
@@ -1,5 +1,6 @@ package com.zy.core.model.command; import com.zy.asrs.entity.CommandInfo; import com.zy.common.model.MatDto; import lombok.Data; @@ -30,4 +31,7 @@ private boolean emptyMk = false; private Integer ioType; //指令信息 private CommandInfo commandInfo; } src/main/java/com/zy/core/model/protocol/StaProtocol.java
@@ -1,6 +1,7 @@ package com.zy.core.model.protocol; import com.zy.asrs.entity.BasDevp; import com.zy.asrs.entity.CommandInfo; import lombok.Data; /** @@ -55,6 +56,9 @@ // 隔壁站点(台车位置) private String nearbySta; //指令信息 private CommandInfo commandInfo; public BasDevp toSqlModel(){ BasDevp basDevp = new BasDevp(); basDevp.setDevNo(siteId); src/main/java/com/zy/core/thread/LedThread.java
@@ -117,14 +117,11 @@ } page.newLine("\n"); //更新指令状态 CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); CommandInfo commandInfo = new CommandInfo(); commandInfo.setWrkNo(command.getWorkNo()); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("led"); commandInfo.setCommand(JSON.toJSONString(command)); commandInfoService.insert(commandInfo); CommandInfo commandInfo = command.getCommandInfo(); commandInfo.setCommandStatus(2); commandInfoService.updateById(commandInfo); } // 设置字体 src/main/java/com/zy/core/thread/SiemensCrnThread.java
@@ -363,15 +363,6 @@ command.setTaskNo((short) 9999); } CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); CommandInfo commandInfo = new CommandInfo(); commandInfo.setWrkNo(command.getTaskNo().intValue()); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("crn"); commandInfo.setCommand(JSON.toJSONString(command)); commandInfoService.insert(commandInfo); command.setCrnNo(slave.getId()); short[] array = new short[9]; if (command.getAckFinish() == 0) { @@ -470,6 +461,12 @@ } catch (Exception ignore) {} if (result.IsSuccess && result1.IsSuccess) { //更新指令状态 CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); CommandInfo commandInfo = command.getCommandInfo(); commandInfo.setCommandStatus(2); commandInfoService.updateById(commandInfo); log.warn("堆垛机命令下发[id:{},时间:{}] >>>>> {}", slave.getId(), DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss_F), JSON.toJSON(command)); OutputQueue.CRN.offer(MessageFormat.format("【{0}】[id:{1}] >>>>> 命令下发: {2}", DateUtils.convert(new Date()), slave.getId(), JSON.toJSON(command))); return true; src/main/java/com/zy/core/thread/SiemensDevpThread.java
@@ -250,15 +250,6 @@ array[1] = staProtocol.getStaNo(); // OperateResult write = siemensS7Net.Write("DB100." + index*4, array); CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); CommandInfo commandInfo = new CommandInfo(); commandInfo.setWrkNo(staProtocol.getWorkNo().intValue()); commandInfo.setCommandStatus(1); commandInfo.setStartTime(new Date()); commandInfo.setDevice("devp"); commandInfo.setCommand(JSON.toJSONString(staProtocol)); commandInfoService.insert(commandInfo); OperateResult writeResult; //任务下发次数 int writeCount = 0; @@ -320,6 +311,12 @@ if ((siteId == 101 || siteId == 201)&&(staProtocol.getWorkNo() == 0 && staProtocol.getStaNo() ==0)) { staProtocol.setPakMk(true); } //更新指令状态 CommandInfoService commandInfoService = SpringUtils.getBean(CommandInfoService.class); CommandInfo commandInfo = staProtocol.getCommandInfo(); commandInfo.setCommandStatus(2); commandInfoService.updateById(commandInfo); } }