|  |  | 
 |  |  | import com.zy.asrs.utils.RouteUtils; | 
 |  |  | import com.zy.asrs.utils.Utils; | 
 |  |  | import com.zy.asrs.utils.VersionUtils; | 
 |  |  | import com.zy.common.constant.AgvSiteConstant; | 
 |  |  | import com.zy.common.model.LocTypeDto; | 
 |  |  | import com.zy.common.model.MatDto; | 
 |  |  | import com.zy.common.model.SearchLocParam; | 
 |  |  | 
 |  |  | import com.zy.core.model.protocol.CrnProtocol; | 
 |  |  | import com.zy.core.model.protocol.StaProtocol; | 
 |  |  | import com.zy.core.properties.SlaveProperties; | 
 |  |  | import com.zy.core.thread.BarcodeThread; | 
 |  |  | import com.zy.core.thread.LedThread; | 
 |  |  | import com.zy.core.thread.SiemensDevpThread; | 
 |  |  | import lombok.extern.slf4j.Slf4j; | 
 |  |  | 
 |  |  |                 } | 
 |  |  |                 ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam(); | 
 |  |  |                 getAgvTaskParam(forwardAGVTaskParam,wrkMast,staProtocol.getSiteId()); | 
 |  |  |                 String request = forwardAGVHttpRequest(forwardAGVTaskParam, "10.0.100.110:8182", "/rcms/services/rest/hikRpcService/genAgvSchedulingTask"); | 
 |  |  |                 String request = forwardAGVHttpRequest(wrkMast.getStaNo(),forwardAGVTaskParam, "10.0.100.110:8182", "/rcms/services/rest/hikRpcService/genAgvSchedulingTask"); | 
 |  |  |                 if ("SUCCESS".equals(request)) { | 
 |  |  |                     wrkMast.setWrkSts(14L); | 
 |  |  |                     boolean update = wrkMastService.updateById(wrkMast); | 
 |  |  | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private String forwardAGVHttpRequest(Object requestParam, String url, String path){ | 
 |  |  |     private String forwardAGVHttpRequest(int sta, Object requestParam, String url, String path){ | 
 |  |  |         // 先绑定 | 
 |  |  |         boolean flag = bindPodAndBerth(String.valueOf(sta)); | 
 |  |  |         if (!flag) { | 
 |  |  |             return "error"; | 
 |  |  |         } | 
 |  |  |         String response = ""; | 
 |  |  |         String success = "error"; | 
 |  |  |         try { | 
 |  |  | 
 |  |  |         } | 
 |  |  |         return success; | 
 |  |  |     } | 
 |  |  |     private boolean bindPodAndBerth(String sta) { | 
 |  |  |         String staMap = AgvSiteConstant.SiteMap.get(sta); | 
 |  |  |         if (staMap == null) { | 
 |  |  |             log.error("没有找到该站点的入库映射:{}",sta); | 
 |  |  |             return false; | 
 |  |  |         } | 
 |  |  |         JSONObject jsonObject = new JSONObject(); | 
 |  |  |         jsonObject.put("reqCode",UUID.randomUUID().toString().replace("-", "")); // 请求唯一值 | 
 |  |  |         jsonObject.put("ctnrTyp","2"); // 容器类型2 | 
 |  |  |         jsonObject.put("stgBinCode",staMap); // 仓位编号,根据客仓编号转换 | 
 |  |  |         jsonObject.put("indBind","1"); // 1绑定,0解绑 | 
 |  |  |  | 
 |  |  |         String body = jsonObject.toJSONString(); | 
 |  |  |         String response = ""; | 
 |  |  |         boolean success = false; | 
 |  |  |         String url = "10.0.100.110:8182"; | 
 |  |  |         String path = "/rcms/services/rest/hikRpcService/bindCtnrAndBin"; | 
 |  |  |         try { | 
 |  |  |             response = new HttpHandler.Builder() | 
 |  |  |                     .setUri(url) | 
 |  |  |                     .setPath(path) | 
 |  |  |                     .setJson(body) | 
 |  |  |                     .build() | 
 |  |  |                     .doPost(); | 
 |  |  |             JSONObject res = JSON.parseObject(response); | 
 |  |  |             if (res.getInteger("code").equals(0)) { | 
 |  |  |                 success = true; | 
 |  |  |             } else { | 
 |  |  |                 log.error("出库调用agv绑定仓位失败!!!url:{};request:{};response:{}", url + path, body, response); | 
 |  |  |             } | 
 |  |  |         } catch (Exception e) { | 
 |  |  |             log.error("出库调用agv绑定仓位异常", e); | 
 |  |  |         } finally { | 
 |  |  | //            try { | 
 |  |  |                 // 保存接口日志 | 
 |  |  | //                apiLogService.save( | 
 |  |  | //                        "调用agv绑定仓位", | 
 |  |  | //                        ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_BIND_PATH, | 
 |  |  | //                        null, | 
 |  |  | //                        "127.0.0.1", | 
 |  |  | //                        body, | 
 |  |  | //                        response, | 
 |  |  | //                        success | 
 |  |  | //                ); | 
 |  |  | //            } catch (Exception e) { | 
 |  |  | //                log.error("", e); | 
 |  |  | //            } | 
 |  |  |         } | 
 |  |  |         return success; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  |