New file |
| | |
| | | package com.zy.common.utils; |
| | | |
| | | import com.zy.common.model.NavigateNode; |
| | | import com.zy.core.model.command.NyShuttleHttpCommand; |
| | | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Random; |
| | | |
| | | /** |
| | | * 牛眼四向穿梭车HTTP请求工具类 |
| | | */ |
| | | public class NyHttpUtils { |
| | | |
| | | //获取HTTP请求标准结构体 |
| | | public static NyShuttleHttpCommand getHttpStandard(Integer shuttleNo) { |
| | | NyShuttleHttpCommand httpStandard = new NyShuttleHttpCommand(); |
| | | httpStandard.setMsgType("requestMsg");//请求消息 |
| | | httpStandard.setRobotId(shuttleNo);//车辆编号 |
| | | |
| | | //设置请求消息 |
| | | NyShuttleHttpCommand.NyRequest request = new NyShuttleHttpCommand.NyRequest(); |
| | | NyShuttleHttpCommand.NyRequest.NyHeader header = new NyShuttleHttpCommand.NyRequest.NyHeader(); |
| | | header.setVersion("1.0");//版本号 |
| | | header.setRequestId(getRequestId());//消息编号 |
| | | |
| | | //设置请求头 |
| | | request.setHeader(header); |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取FAS 手动/自动切换 |
| | | public static NyShuttleHttpCommand getFASSwitchCommand(Integer shuttleNo, boolean auto) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", auto ? "switchAuto" : "switchManual"); |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取移动请求 |
| | | public static NyShuttleHttpCommand getMoveCommand(Integer shuttleNo, Integer wrkNo, NavigateNode start, NavigateNode target) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "move");//移动命令 |
| | | body.put("taskId", wrkNo);//任务号 |
| | | body.put("start", start);//起点 |
| | | body.put("target", target);//终点 |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取进出提升机请求 |
| | | public static NyShuttleHttpCommand getInOutLiftCommand(Integer shuttleNo, Integer wrkNo, NavigateNode start, NavigateNode target, boolean in) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", in ? "intoLift" : "outLift");//进出提升机 |
| | | body.put("taskId", wrkNo);//任务号 |
| | | body.put("start", start);//起点 |
| | | body.put("target", target);//终点 |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取顶升命令 |
| | | public static NyShuttleHttpCommand getPalletLiftCommand(Integer shuttleNo, Integer wrkNo, boolean lift) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", lift ? "liftUp" : "liftDown");//顶升或下降命令 |
| | | body.put("taskId", wrkNo);//任务号 |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取充电命令 |
| | | public static NyShuttleHttpCommand getChargeCommand(Integer shuttleNo, Integer wrkNo, boolean charge) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", charge ? "charge" : "stopCharge");//充电或停止充电 |
| | | body.put("taskId", wrkNo);//任务号 |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取管制命令 |
| | | public static NyShuttleHttpCommand getSuspendCommand(Integer shuttleNo, Integer wrkNo, boolean suspend) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", suspend ? "stop" : "resume");//管制或取消管制 |
| | | body.put("taskId", wrkNo);//任务号 |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取更新层坐标Z(楼层)命令 |
| | | public static NyShuttleHttpCommand getUpdateZCommand(Integer shuttleNo, Integer z) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "updateFloor");//更新层Z |
| | | body.put("z", z);//坐标Z |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取读FAS状态信息命令 |
| | | public static NyShuttleHttpCommand getReadStatusCommand(Integer shuttleNo) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "readState");//读FAS状态信息 |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取更新FAS基准地图命令 |
| | | public static NyShuttleHttpCommand getUpdateFASBaseMapCommand(Integer shuttleNo, Integer xBase, Integer yBase, Integer zBase, Integer xEnd, Integer yEnd, Integer zEnd, Integer xBaseCoord, Integer yBaseCoord, Integer xDefaultSpace, Integer yDefaultSpace) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "updateMapStandard");//更新FAS基准地图 |
| | | |
| | | HashMap<String, Object> standard = new HashMap<>(); |
| | | standard.put("xBase", xBase);//库位X向基点 |
| | | standard.put("yBase", yBase);//库位Y向基点 |
| | | standard.put("zBase", zBase);//库位Z向基点 |
| | | standard.put("xEnd", xEnd);//库位X向终点 |
| | | standard.put("yEnd", yEnd);//库位Y向终点 |
| | | standard.put("zEnd", zEnd);//库位Z向终点 |
| | | standard.put("xBaseCoord", xBaseCoord);//库位X向基点坐标 单位mm |
| | | standard.put("yBaseCoord", yBaseCoord);//库位Y向基点坐标 单位mm |
| | | standard.put("xDefaultSpace", xDefaultSpace);//库位X向标准间距 单位mm |
| | | standard.put("yDefaultSpace", yDefaultSpace);//库位Y向标准间距 单位mm |
| | | body.put("standard", standard); |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取更新FAS特殊X轴地图命令 |
| | | public static NyShuttleHttpCommand getUpdateMapSpecialXAxisCommand(Integer shuttleNo, List<Map<String, Object>> list) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "updateMapSpecialXAxis");//更新FAS特殊X轴地图 |
| | | body.put("specialXAxis", list); |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取更新FAS特殊Y轴地图命令 |
| | | public static NyShuttleHttpCommand getUpdateMapSpecialYAxisCommand(Integer shuttleNo, List<Map<String, Object>> list) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "updateMapSpecialYAxis");//更新FAS特殊Y轴地图 |
| | | body.put("specialYAxis", list); |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取更新FAS特殊库位点地图命令 |
| | | public static NyShuttleHttpCommand getUpdateMapSpecialPointCommand(Integer shuttleNo, List<Map<String, Object>> list) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "updateMapSpecialPoint");//更新FAS特殊库位点地图 |
| | | body.put("specialPoint", list); |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取更新FAS提升机点位地图命令 |
| | | public static NyShuttleHttpCommand getUpdateMapDevicePointCommand(Integer shuttleNo, List<Map<String, Object>> list) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "updateMapDevicePoint");//更新FAS提升机点位地图 |
| | | body.put("devicePoint", list); |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取单个RFID录写命令 |
| | | public static NyShuttleHttpCommand getWriteSingleRFIDCommand(Integer shuttleNo, Integer xPoint, Integer yPoint, Integer zPoint) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "WriteSingleRFID");//单个RFID录写 |
| | | body.put("xPoint", xPoint);//X 点位 |
| | | body.put("yPoint", yPoint);//Y 点位 |
| | | body.put("zPoint", zPoint);//Z 点位 |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取自动录写RFID命令 |
| | | public static NyShuttleHttpCommand getAutoWriteRFIDCommand(Integer shuttleNo, Integer dir, Integer xBase, Integer yBase, Integer zBase, Integer pointEnd, List<Integer> specialPoint) { |
| | | NyShuttleHttpCommand httpStandard = getHttpStandard(shuttleNo); |
| | | NyShuttleHttpCommand.NyRequest request = httpStandard.getRequest(); |
| | | |
| | | HashMap<String, Object> body = new HashMap<>(); |
| | | body.put("requestType", "AutoWriteRFID");//自动录写RFID |
| | | body.put("requestCode", dir);//方向xDir/yDir |
| | | body.put("xBase", xBase);//X 起始点位 |
| | | body.put("yBase", yBase);//Y 起始点位 |
| | | body.put("zBase", zBase);//Z 起始点位 |
| | | body.put("pointEnd", pointEnd);//终点坐标 根据requestCode来决定终点坐标的方向 |
| | | body.put("specialPoint", specialPoint);//特殊点位过程中不需要录制的RFID点位 |
| | | request.setBody(body); |
| | | |
| | | httpStandard.setRequest(request); |
| | | return httpStandard; |
| | | } |
| | | |
| | | //获取请求编号 |
| | | public static Integer getRequestId() { |
| | | Random random = new Random(); |
| | | return random.nextInt(); |
| | | } |
| | | |
| | | } |