From 2fbf3adb37334f90c29b1f119f0652f37a2608dc Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期二, 19 十一月 2024 10:03:17 +0800 Subject: [PATCH] #优化 --- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 52 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java index 1e5476d..63faab5 100644 --- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java +++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java @@ -61,11 +61,13 @@ @Autowired private AgvWrkMastService agvWrkMastService; + public void updateWrkStsByWrkNo(int wrkNo, long wrkSts) { AgvWrkMast agvWrkMast = this.selectById(wrkNo); //鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父 checkWrkSts(agvWrkMast,wrkSts); agvWrkMast.setWrkSts(wrkSts); + agvWrkMast.setModiTime(new Date()); this.updateById(agvWrkMast); } @@ -104,10 +106,15 @@ public int startAllcationIn(AgvWrkMast agvWrkMast) throws IOException { AgvBasDevp basDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo()); //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅 - AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(),basDevp.getFloor()); + AgvLocMast locMast = agvCommonService.getLocNo(basDevp.getLocType1(),basDevp.getFloor(),false,true); agvWrkMast.setLocNo(locMast.getLocNo()); agvWrkMast.setWrkSts(201L); + agvWrkMast.setLogErrMemo("startAllcationIn"); + agvWrkMast.setModiTime(new Date()); agvWrkMastService.updateById(agvWrkMast); + // 鏇寸洰鏍囧簱浣� + locMast.setLocSts("S"); + agvLocMastService.updateById(locMast); return 0; } @@ -217,10 +224,46 @@ agvWrkMast.setWrkNo(-agvWrkMast.getWrkNo()); } agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString()); - if (agvWrkMast.getIoType() == 108 || (agvWrkMast.getIoType() == 109 && agvWrkMast.getWrkSts() == 201) || agvWrkMast.getIoType() == 12) { - agvTaskCreateParam.setTaskTyp("F06"); - } else { - agvTaskCreateParam.setTaskTyp("F01"); + switch (agvWrkMast.getIoType()) { + case 114: + case 108: + case 12: + agvTaskCreateParam.setTaskTyp("F06"); + break; + case 109: + if (agvWrkMast.getWrkSts() == 201) { + agvTaskCreateParam.setTaskTyp("F06"); + } else { + agvTaskCreateParam.setTaskTyp("F01"); + } + break; + case 1: + case 57: + // 鍏ュ簱浠诲姟鏄彧鏈� 鎺ラ┏浣� -- > 搴撲綅 + AgvLocMast loc = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvWrkMast.getLocNo())); + String locSub = loc.getLocNo().substring(loc.getLocNo().length() - 4).substring(0, 2).substring(0, 2); + AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(agvWrkMast.getSourceLocNo()); + if ("02".equals(locSub)) { + if (agvBasDevp.getFloor() == 4) { + agvTaskCreateParam.setTaskTyp("F01"); + } else { + agvTaskCreateParam.setTaskTyp("F06"); + } + + } else { + // 鐩爣妤煎眰浣�1妤� 浣嗘簮搴撲綅锛堟帴椹充綅锛夊湪鍚稿浜屾ゼ + if (agvBasDevp.getFloor() == 4) { + agvTaskCreateParam.setTaskTyp("F06"); + } else { + agvTaskCreateParam.setTaskTyp("F01"); + } + + + } + break; + default: + agvTaskCreateParam.setTaskTyp("F01"); + break; } agvTaskCreateParam.setPositionCodePath(agvTaskParamList); @@ -230,7 +273,6 @@ private int doHttpRequest(Object requestParam, String namespace, String url, String path, String appkey, String ip){ String response = ""; boolean success = false; - try { response = new HttpHandler.Builder() .setUri(url) @@ -242,13 +284,17 @@ int code = Integer.parseInt(jsonObject.get("code").toString()); if(code != 0){ + //TODO 寮犺秴 throw new CoolException("璋冪敤AGV鍝嶅簲閿欒"); + //return code; } success = true; return code; }catch (Exception e){ log.error(e.getMessage()); + //TODO 寮犺秴 throw new CoolException("璋冪敤AGV鍝嶅簲閿欒"); + //return 1; }finally { apiLogService.save( namespace, -- Gitblit v1.9.1