|  |  |  | 
|---|
|  |  |  | import com.core.common.R; | 
|---|
|  |  |  | import com.core.exception.CoolException; | 
|---|
|  |  |  | import com.zy.asrs.domain.enums.RgvStatusType; | 
|---|
|  |  |  | import com.zy.asrs.domain.param.CrnOperatorParam; | 
|---|
|  |  |  | import com.zy.asrs.domain.param.RgvOperatorParam; | 
|---|
|  |  |  | import com.zy.asrs.domain.vo.RgvMsgTableVo; | 
|---|
|  |  |  | import com.zy.asrs.domain.vo.RgvStateTableVo; | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private LocMastService locMastService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ManagerAuth(memo = "解锁小车") | 
|---|
|  |  |  | @PostMapping("/lock") | 
|---|
|  |  |  | public R lock(CrnOperatorParam param){ | 
|---|
|  |  |  | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, param.getRgvNo()); | 
|---|
|  |  |  | rgvThread.setPakMk(true); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @PostMapping("/table/rgv/state") | 
|---|
|  |  |  | @ManagerAuth(memo = "RGV信息表") | 
|---|
|  |  |  | public R rgvStateTable(){ | 
|---|
|  |  |  | 
|---|
|  |  |  | vo.setStatus1(rgvProtocol.getStatusType1().desc);  // 工位1状态 | 
|---|
|  |  |  | vo.setLoading1(rgvProtocol.getLoaded1()==1?"有物":"无物");  // 工位1有物 | 
|---|
|  |  |  | vo.setRgvPos(rgvProtocol.getRgvPos()); | 
|---|
|  |  |  | vo.setWalkPos(rgvProtocol.getWalkPos()==1?"不在定位":"在定位"); | 
|---|
|  |  |  | vo.setWorkNo2(rgvProtocol.getTaskNo2());  //  工位2任务号 | 
|---|
|  |  |  | vo.setStatus2(rgvProtocol.getStatusType2().desc);  // 工位2状态 | 
|---|
|  |  |  | vo.setLoading2(rgvProtocol.getLoaded2()==1?"有物":"无物");  // 工位2有物 | 
|---|
|  |  |  | vo.setRgvPos1(rgvProtocol.getRgvPosI()); | 
|---|
|  |  |  | vo.setWalkPos(rgvProtocol.getWalkPos()==1?"在定位":"不在定位"); | 
|---|
|  |  |  | vo.setPakMk(rgvThread.isPakMk()?"无锁":"锁定"); | 
|---|
|  |  |  | //            vo.setWorkNo2(rgvProtocol.getTaskNo2());  //  工位2任务号 | 
|---|
|  |  |  | //            vo.setStatus2(rgvProtocol.getStatusType2().desc);  // 工位2状态 | 
|---|
|  |  |  | //            vo.setLoading2(rgvProtocol.getLoaded2()==1?"有物":"无物");  // 工位2有物 | 
|---|
|  |  |  |  | 
|---|
|  |  |  | vo.setWarnCode(String.valueOf(rgvProtocol.getAlarm())); | 
|---|
|  |  |  | if (rgvProtocol.getAlarm() > 0) { | 
|---|
|  |  |  | 
|---|
|  |  |  | command.setTaskMode1(RgvTaskModeType.FETCH_PUT); // 任务模式: 取放货 | 
|---|
|  |  |  | command.setSourceStaNo1(param.getSourceStaNo1()); // 源站 | 
|---|
|  |  |  | command.setDestinationStaNo1(param.getStaNo1());  // 目标站 | 
|---|
|  |  |  | command.setAckFinish2((short) 0);  // 任务完成确认位 | 
|---|
|  |  |  | command.setTaskNo2((short) 0); // 工作号 | 
|---|
|  |  |  | command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 任务模式: 取放货 | 
|---|
|  |  |  | command.setSourceStaNo2(param.getSourceStaNo2()); // 源站 | 
|---|
|  |  |  | command.setDestinationStaNo2(param.getStaNo2());  // 目标站 | 
|---|
|  |  |  | //        command.setAckFinish2((short) 0);  // 任务完成确认位 | 
|---|
|  |  |  | //        command.setTaskNo2((short) 0); // 工作号 | 
|---|
|  |  |  | //        command.setTaskMode2(RgvTaskModeType.FETCH_PUT); // 任务模式: 取放货 | 
|---|
|  |  |  | //        command.setSourceStaNo2(param.getSourceStaNo2()); // 源站 | 
|---|
|  |  |  | //        command.setDestinationStaNo2(param.getStaNo2());  // 目标站 | 
|---|
|  |  |  | command.setCommand((short) 0); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return rgvControl(command)? R.ok(): R.error(); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return rgvControl(command)? R.ok(): R.error(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ManagerAuth(memo = "任务完成") | 
|---|
|  |  |  | @PostMapping("/operator/taskComplete") | 
|---|
|  |  |  | 
|---|
|  |  |  | Command.setCommand((short) 0);  // 任务完成确认位 | 
|---|
|  |  |  | // 延时发送 | 
|---|
|  |  |  | Thread.sleep(1000L); | 
|---|
|  |  |  | if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(2, Command))) { | 
|---|
|  |  |  | if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, Command))) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new CoolException("命令下发失败"); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (rgvProtocol == null) { | 
|---|
|  |  |  | throw new CoolException("RGV不在线"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(2, command))) { | 
|---|
|  |  |  | if (MessageQueue.offer(SlaveType.Rgv, rgv.getId(), new Task(4, command))) { | 
|---|
|  |  |  | return true; | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | throw new CoolException("命令下发失败"); | 
|---|