自动化立体仓库 - WCS系统
luxiaotao1123
2020-08-28 e73d51083fc0407ba97078ffd5e6fb325ae7d1ef
src/main/java/com/zy/asrs/controller/CrnController.java
@@ -113,10 +113,11 @@
            vo.setLev(crnProtocol.getLevel());  //  层
            vo.setXOrigin(crnProtocol.getBay()==1?"是":"否");     //  走行原点
            vo.setYOrigin(crnProtocol.getLevel()==1?"是":"否");     // 升降原点
            vo.setForkOffset(crnProtocol.getForkPosType().desc);    // 货叉位置
            vo.setXLocation(crnProtocol.getWalkPos() == 1?"是":"否");      // 走行定位
            vo.setYLocation(crnProtocol.getLiftPosType().equals(CrnLiftPosType.NONE)?"否":"是");      // 升降定位
            vo.setStop(crnProtocol.getCrnTemp1().stop?"是":"否");       //  急停
            vo.setWorkNo(crnProtocol.getAlarm());  //  异常码
            vo.setWarnCode(String.valueOf(crnProtocol.getAlarm()));  //  异常码
            list.add(vo);
        }
        return R.ok().add(list);
@@ -140,9 +141,9 @@
            CrnMsgTableVo vo = new CrnMsgTableVo();
            vo.setCrnNo(crn.getId());   //  堆垛机号
            vo.setWorkNo(crnProtocol.getTaskNo());  //  任务号
            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm1());
            BasCrnError crnError = basCrnErrorMapper.selectById(crnProtocol.getAlarm());
            if (null != crnError) {
                vo.setError(crnError.getErrorCode() + crnError.getErrName());
                vo.setError(crnError.getErrName());
            }
            if (crnProtocol.getTaskNo()>0) {
                WrkMast wrkMast = wrkMastService.selectById(crnProtocol.getTaskNo());
@@ -156,6 +157,13 @@
            } else {
                vo.setStatus(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.setZspeed(crnProtocol.getZSpeed());  //  叉牙速度(m/min)
            vo.setXdistance(crnProtocol.getXDistance());  //  走行距离(Km)
            vo.setYdistance(crnProtocol.getYDistance());  //  升降距离(Km)
            vo.setXduration(crnProtocol.getXDuration());    //  走行时长(H)
            vo.setYduration(crnProtocol.getYDuration());    //  升降时长(H)
            list.add(vo);
        }
@@ -395,15 +403,15 @@
                    throw new CoolException("堆垛机不在线");
                }
                // 空闲判断
                if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
//                if (crnProtocol.getStatusType().equals(com.zy.core.enums.CrnStatusType.IDLE) && crnProtocol.getTaskNo() == 0) {
                    if (MessageQueue.offer(SlaveType.Crn, crn.getId(), new Task(2, command))) {
                        return true;
                    } else {
                        throw new CoolException("命令下发失败");
                    }
                } else {
                    throw new CoolException("堆垛机不在空闲状态");
                }
//                } else {
//                    throw new CoolException("堆垛机不在空闲状态");
//                }
            }
        }
        return false;