| | |
| | | vo.setForkOffset(crnProtocol.getForkPosType().desc); // 货叉位置 |
| | | vo.setLiftPos(crnProtocol.getLiftPosType().desc); |
| | | vo.setWalkPos(crnProtocol.getWalkPos()==1?"不在定位":"在定位"); |
| | | vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); |
| | | vo.setWarnCode(String.valueOf(crnProtocol.getAlarm())); |
| | | if (crnProtocol.getAlarm() > 0) { |
| | | BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); |
| | | vo.setAlarm(crnError==null?"未知异常":crnError.getErrName()); |
| | |
| | | vo.setForkOffset(crnProtocol.getForkPosType().desc); // 货叉位置 |
| | | vo.setLiftPos(crnProtocol.getLiftPosType().desc); |
| | | vo.setWalkPos(crnProtocol.getWalkPos()==1?"不在定位":"在定位"); |
| | | vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); |
| | | if (crnProtocol.getAlarm1() > 0) { |
| | | BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); |
| | | vo.setWarnCode(String.valueOf(crnProtocol.getAlarm())); |
| | | if (crnProtocol.getAlarm() > 0) { |
| | | BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); |
| | | vo.setAlarm(crnError==null?"未知异常":crnError.getErrName()); |
| | | } |
| | | return R.ok().add(vo); |
| | |
| | | vo.setLocNo(wrkMast.getLocNo()); // 目标库位 |
| | | } |
| | | } else { |
| | | vo.setDeviceStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 模式状态 |
| | | if (Cools.isEmpty(crnProtocol.modeType)){ |
| | | vo.setDeviceStatus(CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 模式状态 |
| | | } else { |
| | | vo.setDeviceStatus(crnProtocol.modeType.equals(CrnModeType.AUTO)? CrnStatusType.MACHINE_AUTO.getDesc(): CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 模式状态 |
| | | } |
| | | } |
| | | vo.setXspeed(crnProtocol.getXSpeed()); // 走行速度(m/min) |
| | | vo.setYspeed(crnProtocol.getYSpeed()); // 升降速度(m/min) |
| | |
| | | vo.setYdistance(crnProtocol.getYDistance()); // 升降距离(Km) |
| | | vo.setXduration(crnProtocol.getXDuration()); // 走行时长(H) |
| | | vo.setYduration(crnProtocol.getYDuration()); // 升降时长(H) |
| | | |
| | | vo.setStatusType(crnProtocol.modeType.desc); // 模式状态 |
| | | if (Cools.isEmpty(crnProtocol.modeType)){ |
| | | vo.setStatusType(CrnStatusType.MACHINE_UN_AUTO.getDesc()); // 模式状态 |
| | | } else { |
| | | vo.setStatusType(crnProtocol.modeType.desc); // 模式状态 |
| | | } |
| | | vo.setWrkStatus(crnProtocol.getStatusType().id); // 任务状态 |
| | | vo.setLoading((crnProtocol.getLoaded() != null && crnProtocol.getLoaded() == 1) ? "有物" : "无物"); // 有物 |
| | | vo.setBay(crnProtocol.getBay()); // 列 |
| | |
| | | vo.setForkOffset(crnProtocol.getForkPosType().desc); // 货叉位置 |
| | | vo.setLiftPos(crnProtocol.getLiftPosType().desc); |
| | | vo.setWalkPos(crnProtocol.getWalkPos()==1?"不在定位":"在定位"); |
| | | vo.setWarnCode(String.valueOf(crnProtocol.getAlarm1())); |
| | | if (crnProtocol.getAlarm1() > 0) { |
| | | BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1()); |
| | | vo.setWarnCode(String.valueOf(crnProtocol.getAlarm())); |
| | | if (crnProtocol.getAlarm() > 0) { |
| | | BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm()); |
| | | vo.setAlarm(crnError==null?"未知异常":crnError.getErrName()); |
| | | } |
| | | vo.setInEnable(basCrnp.getInEnable()); |
| | |
| | | @ManagerAuth(memo = "入库") |
| | | @PostMapping("/crn/operator/put") |
| | | public R crnPut(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // // 系统运行状态判断 |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | | command.setAckFinish((short) 0); // 任务完成确认位 |
| | | command.setTaskMode(CrnTaskModeType.PAKIN); // 任务模式 |
| | | command.setSourcePosZ(param.getSourceRow()); // 源库位排 |
| | | command.setSourcePosX(param.getSourceBay()); // 源库位列 |
| | | command.setSourcePosY(param.getSourceLev()); // 源库位层 |
| | | command.setDestinationPosZ(param.getRow()); // 目标库位排 |
| | | command.setDestinationPosX(param.getBay()); // 目标库位列 |
| | | command.setDestinationPosY(param.getLev()); // 目标库位层 |
| | | command.setSourcePosX(param.getSourceRow()); // 源库位排 |
| | | command.setSourcePosY(param.getSourceBay()); // 源库位列 |
| | | command.setSourcePosZ(param.getSourceLev()); // 源库位层 |
| | | command.setDestinationPosX(param.getRow()); // 目标库位排 |
| | | command.setDestinationPosY(param.getBay()); // 目标库位列 |
| | | command.setDestinationPosZ(param.getLev()); // 目标库位层 |
| | | command.setCommand((short)1); |
| | | return crnControl(command)?R.ok():R.error(); |
| | | } |
| | |
| | | @PostMapping("/crn/operator/take") |
| | | public R crnTake(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | | command.setAckFinish((short) 0); // 任务完成确认位 |
| | | command.setTaskMode(CrnTaskModeType.PAKOUT); // 任务模式 |
| | | command.setSourcePosZ(param.getSourceRow()); // 源库位排 |
| | | command.setSourcePosX(param.getSourceBay()); // 源库位列 |
| | | command.setSourcePosY(param.getSourceLev()); // 源库位层 |
| | | command.setDestinationPosZ(param.getRow()); // 目标库位排 |
| | | command.setDestinationPosX(param.getBay()); // 目标库位列 |
| | | command.setDestinationPosY(param.getLev()); // 目标库位层 |
| | | command.setTaskMode(CrnTaskModeType.PAKIN); // 任务模式 |
| | | command.setSourcePosX(param.getSourceRow()); // 源库位排 |
| | | command.setSourcePosY(param.getSourceBay()); // 源库位列 |
| | | command.setSourcePosZ(param.getSourceLev()); // 源库位层 |
| | | command.setDestinationPosX(param.getRow()); // 目标库位排 |
| | | command.setDestinationPosY(param.getBay()); // 目标库位列 |
| | | command.setDestinationPosZ(param.getLev()); // 目标库位层 |
| | | command.setCommand((short)1); |
| | | return crnControl(command)?R.ok():R.error(); |
| | | } |
| | | |
| | |
| | | @PostMapping("/crn/operator/stockMove") |
| | | public R crnStockMove(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | |
| | | @PostMapping("/crn/operator/siteMove") |
| | | public R crnSiteMove(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | |
| | | @PostMapping("/crn/operator/bacOrigin") |
| | | public R crnBacOrigin(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | |
| | | @PostMapping("/crn/operator/reverseOrigin") |
| | | public R reverseOrigin(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | |
| | | @PostMapping("/crn/operator/taskComplete") |
| | | public R crnTaskComplete(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | |
| | | command.setDestinationPosX((short) 0); // 目标库位排 |
| | | command.setDestinationPosY((short) 0); // 目标库位列 |
| | | command.setDestinationPosZ((short) 0); // 目标库位层 |
| | | command.setCommand((short)0); |
| | | return crnControl(command)?R.ok():R.error(); |
| | | } |
| | | |
| | |
| | | @PostMapping("/crn/operator/clearCommand") |
| | | public R crnClearCommand(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | if (param.getCrnNo() == null) { |
| | | throw new CoolException("请选择堆垛机"); |
| | | } |
| | |
| | | @PostMapping("/crn/operator/handleReset") |
| | | public R handleReset(CrnOperatorParam param) throws Exception { |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | if (param.getCrnNo() == null) { |
| | | throw new CoolException("请选择堆垛机"); |
| | | } |
| | |
| | | crnCommand.setCommand((short) 0); // 任务完成确认位 |
| | | // 延时发送 |
| | | Thread.sleep(1000L); |
| | | if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(2, crnCommand), false)) { |
| | | if (CommandUtils.offer(SlaveType.Crn, crn.getId(), new Task(5, crnCommand), false)) { |
| | | return R.ok(); |
| | | } else { |
| | | throw new CoolException("命令下发失败"); |
| | |
| | | @PostMapping("/crn/operator/auto") |
| | | public R crnAuto(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | short[] array = new short[9]; |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | |
| | | @PostMapping("/crn/operator/semiAutomatic") |
| | | public R crnsemiAutomatic(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | short[] array = new short[9]; |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | |
| | | @PostMapping("/crn/operator/hand") |
| | | public R onlineWrk1(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | short[] array = new short[9]; |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | |
| | | @PostMapping("/crn/operator/onlineWrk1") |
| | | public R onlineWrk2(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | short[] array = new short[9]; |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | |
| | | @PostMapping("/crn/operator/onlineWrk2") |
| | | public R onlineWrk3(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | short[] array = new short[9]; |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | |
| | | @PostMapping("/crn/operator/onlineWrk3") |
| | | public R onlineWrk4(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | short[] array = new short[9]; |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | |
| | | @PostMapping("/crn/operator/onlineWrk4") |
| | | public R crnHand(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | return R.error("wcs系统状态为开启"); |
| | | } |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | short[] array = new short[9]; |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | |
| | | return crnControl2(command)?R.ok():R.error(); |
| | | } |
| | | |
| | | @ManagerAuth(memo = "复位") |
| | | @PostMapping("/crn/operator/reset") |
| | | public R crnReset(CrnOperatorParam param){ |
| | | // 系统运行状态判断 |
| | | // if (SystemProperties.WCS_RUNNING_STATUS.get()) { |
| | | // return R.error("wcs系统状态为开启"); |
| | | // } |
| | | short[] array = new short[9]; |
| | | CrnCommand command = new CrnCommand(); |
| | | command.setCrnNo(param.getCrnNo()); // 堆垛机编号 |
| | | command.setTaskNo((short) 0); // 工作号 |
| | | command.setReset((short)1); |
| | | |
| | | return crnControl2(command)?R.ok():R.error(); |
| | | } |
| | | |
| | | |
| | | |
| | | private boolean crnControl2(CrnCommand command){ |