src/main/java/com/zy/asrs/controller/SteController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/ste.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/SteController.java
@@ -2,18 +2,26 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.annotations.ManagerAuth; import com.core.common.BaseRes; import com.core.common.Cools; import com.core.common.R; import com.core.exception.CoolException; import com.zy.asrs.domain.enums.CrnStatusType; import com.zy.asrs.domain.param.SteOperatorParam; import com.zy.asrs.domain.vo.SteMsgTableVo; import com.zy.asrs.domain.vo.SteStateTableVo; import com.zy.asrs.entity.BasSte; import com.zy.asrs.entity.WrkMast; import com.zy.asrs.service.BasSteService; import com.zy.asrs.service.WrkMastService; import com.zy.core.cache.MessageQueue; import com.zy.core.cache.OutputQueue; import com.zy.core.cache.SlaveConnection; import com.zy.core.enums.SlaveType; import com.zy.core.enums.SteTaskModeType; import com.zy.core.model.SteSlave; import com.zy.core.model.Task; import com.zy.core.model.command.SteCommand; import com.zy.core.model.protocol.SteProtocol; import com.zy.core.properties.SlaveProperties; import com.zy.core.thread.SteThread; @@ -143,4 +151,49 @@ return R.ok().add(str.toString()); } /****************************************************************/ /************************** 手动操作 ******************************/ /****************************************************************/ @ManagerAuth(memo = "手动操作") @PostMapping("/operator/ste") public R steOperator(SteOperatorParam param){ if (Cools.isEmpty(param.getSteNo(), param.getSteTaskMode())) { return R.parse(BaseRes.PARAM); } for (SteSlave ste : slaveProperties.getSte()) { // 获取堆垛机信息 if (param.getSteNo().equals(ste.getId())) { SteThread steThread = (SteThread) SlaveConnection.get(SlaveType.Ste, ste.getId()); if (steThread == null) { throw new CoolException("穿梭车不在线"); } SteProtocol steProtocol = steThread.getSteProtocol(); if (steProtocol == null) { throw new CoolException("穿梭车不在线"); } SteTaskModeType steTaskModeType = SteTaskModeType.get(param.getSteTaskMode()); SteCommand steCommand = new SteCommand(); steCommand.setSteNo(ste.getId()); // 穿梭车编号 if (param.getSteTaskMode() == 16) { steCommand.setComplete(true); } else { if (steTaskModeType == null) { throw new CoolException("任务类型错误"); } steCommand.setTaskNo(param.getTaskNo()); // 工作号 steCommand.setTaskMode(steTaskModeType); } if (MessageQueue.offer(SlaveType.Ste, ste.getId(), new Task(2, steCommand))) { return R.ok(); } else { throw new CoolException("命令下发失败"); } } } return R.error(); } } src/main/java/com/zy/asrs/domain/param/SteOperatorParam.java
New file @@ -0,0 +1,32 @@ package com.zy.asrs.domain.param; import lombok.Data; /** * Created by vincent on 2020-06-02 */ @Data public class SteOperatorParam { // 穿梭车号 private Integer steNo; // 命令类型 private Short steTaskMode; // 任务号 private Integer taskNo = 0; // 目标库位-排 private Short row; // 目标库位-列 private Short bay; // 目标库位-层 private Short lev; // 所属堆垛机 private Integer crnNo; } src/main/webapp/views/ste.html
@@ -152,24 +152,22 @@ <fieldset> <legend>手动操作</legend> <div class="button-group"> <button class="item" onclick="leftTake()">左出库</button> <button class="item" onclick="rightTake()">右出库</button> <button class="item" onclick="leftPut()">左入库</button> <button class="item" onclick="rightPut()">右入库</button> <button class="item" onclick="leftStockMove()">左移库</button> <button class="item" onclick="rightStockMove()">右移库</button> <button class="item" onclick="oOrigin()">原点</button> <button class="item" onclick="farPoint()">远点</button> <button class="item" onclick="aPoint()">A 点</button> <button class="item" onclick="bPoint()">B 点</button> <button class="item" onclick="moveLift()">左搬移</button> <button class="item" onclick="moveRight()">右搬移</button> <button class="item" onclick="charging()">充电</button> <button class="item" onclick="pause()">左盘点</button> <button class="item" onclick="boot()">右盘点</button> <button class="item" onclick="boot()">任务完成</button> <button class="item" onclick="clearCommand()">清除命令</button> <button class="item" onclick="handleReset()">复位</button> <button class="item" onclick="steOperator(1)">左出库</button> <button class="item" onclick="steOperator(2)">右出库</button> <button class="item" onclick="steOperator(3)">左入库</button> <button class="item" onclick="steOperator(4)">右入库</button> <button class="item" onclick="steOperator(5)">左移库</button> <button class="item" onclick="steOperator(6)">右移库</button> <button class="item" onclick="steOperator(7)">原点</button> <button class="item" onclick="steOperator(8)">远点</button> <button class="item" onclick="steOperator(9)">A 点</button> <button class="item" onclick="steOperator(10)">B 点</button> <button class="item" onclick="steOperator(11)">左搬移</button> <button class="item" onclick="steOperator(12)">右搬移</button> <button class="item" onclick="steOperator(13)">充电</button> <button class="item" onclick="steOperator(14)">左盘点</button> <button class="item" onclick="steOperator(15)">右盘点</button> <button class="item" onclick="steOperator(16)">任务完成</button> </div> </fieldset> </div> @@ -328,6 +326,17 @@ }) } // 任务指令下发 function steOperator(steTaskMode) { http.post(baseUrl+"/ste/operator/ste", { steNo: $('input[name="steSelect"]:checked').val(), steTaskMode: steTaskMode }, function (res) { layer.msg(res.msg, {icon: 1}); }); } // ------------------------------------------------------------------------------------------------ // 穿梭车信息表获取 ----- 表一