| | |
| | | import com.zy.asrs.framework.common.SpringUtils; |
| | | import com.zy.asrs.framework.exception.CoolException; |
| | | import com.zy.asrs.wcs.common.ExecuteSupport; |
| | | import com.zy.asrs.wcs.core.domain.param.ShuttleMoveLocParam; |
| | | import com.zy.asrs.wcs.core.entity.BasShuttle; |
| | | import com.zy.asrs.wcs.core.entity.Loc; |
| | | import com.zy.asrs.wcs.core.model.MapNode; |
| | |
| | | //电池电压 |
| | | shuttleProtocol.setBatteryVoltage(data.getInteger("voltage")); |
| | | //故障 |
| | | shuttleProtocol.setErrorCode(data.getString("errState")); |
| | | shuttleProtocol.setErrorCode(data.getJSONArray("errCode").getString(0)); |
| | | |
| | | //是否顶升 |
| | | shuttleProtocol.setHasLift(data.getInteger("liftPosition") == 1 ? true : false); |
| | |
| | | basShuttle.setStatus(1); |
| | | basShuttle.setDeleted(0); |
| | | basShuttle.setHostId(device.getHostId()); |
| | | basShuttle.setDeviceId(device.getId().intValue()); |
| | | shuttleService.save(basShuttle); |
| | | } |
| | | //任务号 |
| | |
| | | |
| | | @Override |
| | | public ShuttleProtocol getStatus() { |
| | | return getStatus(true); |
| | | } |
| | | |
| | | @Override |
| | | public ShuttleProtocol getStatus(boolean clone) { |
| | | if (this.shuttleProtocol == null) { |
| | | return null; |
| | | } |
| | | return this.shuttleProtocol.clone(); |
| | | return clone ? this.shuttleProtocol.clone() : this.shuttleProtocol; |
| | | } |
| | | |
| | | @Override |
| | |
| | | public boolean reset(ShuttleCommand command) { |
| | | setSyncTaskNo(0); |
| | | setProtocolStatus(ShuttleProtocolStatusType.IDLE); |
| | | enableMoveLoc(null, false); |
| | | return true; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public boolean enableMoveLoc(ShuttleMoveLocParam param, boolean enable) { |
| | | if (enable) { |
| | | shuttleProtocol.setMoveLoc(true);//开启跑库 |
| | | shuttleProtocol.setMoveType(param.getMoveType()); |
| | | shuttleProtocol.setXStart(param.getStartX()); |
| | | shuttleProtocol.setXTarget(param.getTargetX()); |
| | | shuttleProtocol.setXCurrent(param.getStartX()); |
| | | shuttleProtocol.setYStart(param.getStartY()); |
| | | shuttleProtocol.setYTarget(param.getTargetY()); |
| | | shuttleProtocol.setYCurrent(param.getStartY()); |
| | | }else { |
| | | shuttleProtocol.setMoveLoc(false); |
| | | shuttleProtocol.setMoveType(0); |
| | | shuttleProtocol.setXStart(0); |
| | | shuttleProtocol.setXTarget(0); |
| | | shuttleProtocol.setXCurrent(0); |
| | | shuttleProtocol.setYStart(0); |
| | | shuttleProtocol.setYTarget(0); |
| | | shuttleProtocol.setYCurrent(0); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public ShuttleCommand getMoveCommand(Integer taskNo, String startCodeNum, String distCodeNum, Integer allDistance, Integer runDirection, Integer runSpeed, List<NavigateNode> nodes) { |
| | | NavigateMapData navigateMapData = SpringUtils.getBean(NavigateMapData.class); |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(Integer.parseInt(device.getDeviceNo()), taskNo); |
| | |
| | | HashMap<String, Object> data = new HashMap<>(); |
| | | String codeNum = NavigatePositionConvert.xyToPosition(node.getX(), node.getY(), node.getZ(), device.getHostId()); |
| | | Map<String, Object> nyNode = navigateNodeToNyPointNode(NavigatePositionConvert.codeToNode(codeNum, device.getHostId())); |
| | | int xp = Integer.parseInt(String.valueOf(nyNode.get("x"))); |
| | | int yp = Integer.parseInt(String.valueOf(nyNode.get("y"))); |
| | | int xp = Integer.parseInt(String.valueOf(nyNode.get("y"))); |
| | | int yp = Integer.parseInt(String.valueOf(nyNode.get("x"))); |
| | | int z = Integer.parseInt(String.valueOf(nyNode.get("z"))); |
| | | |
| | | List<List<MapNode>> mapData = navigateMapData.getJsonData(NavigationMapType.NONE.id, null, null); |
| | |
| | | data.put("xp", xp); |
| | | data.put("yp", yp); |
| | | data.put("z", z); |
| | | data.put("x", mapNode.getXBase()); |
| | | data.put("y", mapNode.getYBase()); |
| | | data.put("x", mapNode.getYBase()); |
| | | data.put("y", mapNode.getXBase()); |
| | | path.add(data); |
| | | } |
| | | |
| | |
| | | location.put("xp", row); |
| | | location.put("yp", bay); |
| | | location.put("z", lev); |
| | | location.put("x", mapNode.getXBase()); |
| | | location.put("y", mapNode.getYBase()); |
| | | location.put("x", mapNode.getYBase()); |
| | | location.put("y", mapNode.getXBase()); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("responseType", "init");//复位 |