From b6a095a76848ffd15922cc4af7f14594fc5bf85d Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期五, 08 十一月 2024 11:16:26 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/jxgtasrs' into jxgtasrs --- src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 110 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java index 6981160..6fe4876 100644 --- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java @@ -11,6 +11,7 @@ import com.zy.asrs.mapper.ManLocDetlMapper; import com.zy.asrs.service.*; import com.zy.asrs.utils.MatUtils; +import com.zy.common.constant.AgvSiteConstant; import com.zy.common.constant.ApiInterfaceConstant; import com.zy.common.constant.MesConstant; import com.zy.common.entity.Parameter; @@ -75,14 +76,21 @@ @Override public R inLocCallAgv(String sta, String inSta) { - // 鍒ゆ柇鍏ュ簱绔欑偣鏈夋棤鍑哄簱浠诲姟 - int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", inSta)); + // 鍒ゆ柇鍏ュ簱绔欑偣鏈夋棤鍑哄簱浠诲姟杩囨护鐩樼偣鎹℃枡 + int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("sta_no", inSta).ne("wrk_sts",15).notIn("io_type",103,107)); if (count > 0) { return R.parse(inSta + "绔欑偣瀛樺湪鍑哄簱浠诲姟"); } + // 鍏堢粦瀹� +// boolean flag = bindPodAndBerth(sta); +// if (!flag) { +// return R.parse(inSta + "缁戝畾澶辫触"); +// } + ForwardAGVTaskParam forwardAGVTaskParam = new ForwardAGVTaskParam(); forwardAGVTaskParam.setReqCode(UUID.randomUUID().toString().replace("-", "")); + forwardAGVTaskParam.setClientCode("IWMS"); forwardAGVTaskParam.setTaskTyp("GT3"); forwardAGVTaskParam.setCtnrTyp("2"); forwardAGVTaskParam.setPriority("1"); @@ -132,6 +140,106 @@ } @Override + public R unbind(String site) { + String staMap = AgvSiteConstant.SiteMap.get(site); + if (staMap == null) { + return R.parse("娌℃湁鎵惧埌璇ョ珯鐐圭殑鍏ュ簱鏄犲皠锛�" + site); + } + JSONObject jsonObject = new JSONObject(); + jsonObject.put("reqCode",UUID.randomUUID().toString().replace("-", "")); // 璇锋眰鍞竴鍊� + jsonObject.put("ctnrTyp","2"); // 瀹瑰櫒绫诲瀷2 + jsonObject.put("stgBinCode",staMap); // 浠撲綅缂栧彿锛屾牴鎹浠撶紪鍙疯浆鎹� + jsonObject.put("indBind","0"); // 1缁戝畾锛�0瑙g粦 + + String body = jsonObject.toJSONString(); + String response = ""; + String message = ""; + boolean success = false; + try { + response = new HttpHandler.Builder() + .setUri(ApiInterfaceConstant.AGV_IP) + .setPath(ApiInterfaceConstant.AGV_BIND_PATH) + .setJson(body) + .build() + .doPost(); + JSONObject res = JSON.parseObject(response); + message = jsonObject.getString("message"); + if (res.getInteger("code").equals(0)) { + success = true; + } else { + log.error("璋冪敤agv瑙g粦鏆傚瓨浣嶅け璐ワ紒锛侊紒url锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_BIND_PATH, body, response); + } + } catch (Exception e) { + log.error("璋冪敤agv瑙g粦鏆傚瓨浣嶅紓甯�", e); + } finally { + try { + // 淇濆瓨鎺ュ彛鏃ュ織 + apiLogService.save( + "璋冪敤agv瑙g粦鏆傚瓨浣�", + ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_BIND_PATH, + null, + "127.0.0.1", + body, + response, + success + ); + } catch (Exception e) { + log.error("", e); + } + } + return success ? R.ok("瑙g粦鎴愬姛") : R.parse(message); + } + + 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瑙g粦 + + String body = jsonObject.toJSONString(); + String response = ""; + boolean success = false; + try { + response = new HttpHandler.Builder() + .setUri(ApiInterfaceConstant.AGV_IP) + .setPath(ApiInterfaceConstant.AGV_BIND_PATH) + .setJson(body) + .build() + .doPost(); + JSONObject res = JSON.parseObject(response); + if (res.getInteger("code").equals(0)) { + success = true; + } else { + log.error("璋冪敤agv缁戝畾浠撲綅澶辫触锛侊紒锛乽rl锛歿}锛況equest锛歿}锛況esponse锛歿}", ApiInterfaceConstant.AGV_IP + ApiInterfaceConstant.AGV_BIND_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; + } + + @Override @Transactional public void comb(CombParam param, Long userId) { if (Cools.isEmpty(param.getBarcode(), param.getCombMats())) { -- Gitblit v1.9.1