| | |
| | | import com.core.common.Cools; |
| | | import com.core.common.R; |
| | | import com.zy.asrs.domain.param.DualCrnCommandParam; |
| | | import com.zy.asrs.domain.param.DualCrnUpdateTaskNoParam; |
| | | import com.zy.asrs.domain.vo.DualCrnStateTableVo; |
| | | import com.zy.asrs.entity.BasDualCrnp; |
| | | import com.zy.asrs.service.BasDualCrnpService; |
| | | import com.zy.common.utils.RedisUtil; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.SlaveConnection; |
| | | import com.zy.core.enums.RedisKeyType; |
| | | import com.zy.core.enums.SlaveType; |
| | | import com.zy.core.model.Task; |
| | | import com.zy.core.model.command.DualCrnCommand; |
| | |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.text.DecimalFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private BasDualCrnpService basDualCrnpService; |
| | | @Autowired |
| | | private RedisUtil redisUtil; |
| | | |
| | | @PostMapping("/dualcrn/table/crn/state") |
| | | @ManagerAuth(memo = "双工位堆垛机信息表") |
| | |
| | | } |
| | | vo.setTaskNo(p.getTaskNo()); |
| | | vo.setTaskNoTwo(p.getTaskNoTwo()); |
| | | vo.setDeviceTaskNo(p.getDeviceTaskNo()); |
| | | vo.setDeviceTaskNoTwo(p.getDeviceTaskNoTwo()); |
| | | vo.setMode(p.getModeType() == null ? "-" : p.getModeType().desc); |
| | | vo.setStatus(p.getStatusType() == null ? "-" : p.getStatusType().desc); |
| | | vo.setStatusTwo(p.getStatusTypeTwo() == null ? "-" : p.getStatusTypeTwo().desc); |
| | |
| | | vo.setForkOffsetTwo(p.getForkPosTypeTwo() == null ? "-" : p.getForkPosTypeTwo().desc); |
| | | vo.setLiftPos(p.getLiftPosType() == null ? "-" : p.getLiftPosType().desc); |
| | | vo.setWalkPos(p.getWalkPos() != null && p.getWalkPos() == 0 ? "在定位" : "不在定位"); |
| | | vo.setTaskReceive(p.getTaskReceive() != null && p.getTaskReceive() == 1 ? "接收" : "无任务"); |
| | | vo.setTaskReceiveTwo(p.getTaskReceiveTwo() != null && p.getTaskReceiveTwo() == 1 ? "接收" : "无任务"); |
| | | vo.setXspeed(p.getXSpeed()); |
| | | vo.setYspeed(p.getYSpeed()); |
| | | vo.setZspeed(p.getZSpeed()); |
| | | vo.setXdistance(p.getXDistance()); |
| | | vo.setYdistance(p.getYDistance()); |
| | | vo.setXduration(p.getXDuration()); |
| | | vo.setYduration(p.getYDuration()); |
| | | vo.setTaskReceive(String.valueOf(p.getTaskReceive())); |
| | | vo.setTaskReceiveTwo(String.valueOf(p.getTaskReceiveTwo())); |
| | | vo.setTaskSend(String.valueOf(p.getTaskSend())); |
| | | vo.setTaskSendTwo(String.valueOf(p.getTaskSendTwo())); |
| | | |
| | | vo.setXspeed(String.format("%.2f", p.getXSpeed())); |
| | | vo.setYspeed(String.format("%.2f", p.getYSpeed())); |
| | | vo.setZspeed(String.format("%.2f", p.getZSpeed())); |
| | | vo.setXdistance(String.format("%.2f", p.getXDistance())); |
| | | vo.setYdistance(String.format("%.2f", p.getYDistance())); |
| | | vo.setXduration(String.format("%.2f", p.getXDuration())); |
| | | vo.setYduration(String.format("%.2f", p.getYDuration())); |
| | | vo.setWarnCode(p.getAlarm() == null ? "-" : String.valueOf(p.getAlarm())); |
| | | if (p.getAlarm() != null && p.getAlarm() > 0) { |
| | | vo.setDeviceStatus("ERROR"); |
| | |
| | | if (crnThread == null) { |
| | | return R.error("线程不存在"); |
| | | } |
| | | DualCrnCommand command = crnThread.getResetCommand(crnNo, station); |
| | | DualCrnCommand command = crnThread.getResetCommand(9999, crnNo, station); |
| | | MessageQueue.offer(SlaveType.DualCrn, crnNo, new Task(3, command)); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("/dualcrn/command/updateTaskNo") |
| | | @ManagerAuth(memo = "双工位堆垛机编辑任务号") |
| | | public R dualCrnUpdateTaskNo(@RequestBody DualCrnUpdateTaskNoParam param) { |
| | | if (Cools.isEmpty(param) || param.getCrnNo() == null || param.getStation() == null || param.getTaskNo() == null) { |
| | | return R.error("缺少参数"); |
| | | } |
| | | Integer station = param.getStation(); |
| | | if (station != 1 && station != 2) { |
| | | return R.error("工位参数错误"); |
| | | } |
| | | Integer taskNo = param.getTaskNo(); |
| | | if (taskNo < 0) { |
| | | return R.error("任务号不能小于0"); |
| | | } |
| | | Integer crnNo = param.getCrnNo(); |
| | | DualCrnThread crnThread = (DualCrnThread) SlaveConnection.get(SlaveType.DualCrn, crnNo); |
| | | if (crnThread == null) { |
| | | return R.error("线程不存在"); |
| | | } |
| | | DualCrnProtocol protocol = crnThread.getStatus(); |
| | | if (protocol == null) { |
| | | return R.error("设备状态不存在"); |
| | | } |
| | | if (station == 1) { |
| | | redisUtil.set(RedisKeyType.DUAL_CRN_STATION1_FLAG.key + crnNo, taskNo, 60 * 60 * 24); |
| | | } else { |
| | | redisUtil.set(RedisKeyType.DUAL_CRN_STATION2_FLAG.key + crnNo, taskNo, 60 * 60 * 24); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | } |