From bcb19e8c93c3cabf0d8eb3ee34ed819b3c5a10ef Mon Sep 17 00:00:00 2001 From: whycq <913841844@qq.com> Date: 星期一, 25 十一月 2024 13:14:11 +0800 Subject: [PATCH] #优化地图 --- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 83 ++++++++++++++++++++++++++++++++++------- 1 files changed, 69 insertions(+), 14 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 f3b20d5..7c0f98f 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,25 @@ @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); + } + + public void updateWrkStsByWrkNo(int wrkNo, long wrkSts,String manuType,long userId) { + Date now = new Date(); + AgvWrkMast agvWrkMast = this.selectById(wrkNo); + //鍒ゆ柇瑕佷慨鏀圭殑宸ヤ綔妗g姸鎬佹槸鍚﹀悎鐞嗭紝濡傛灉涓嶅悎鐞嗗垯鎶涘嚭寮傚父 + checkWrkSts(agvWrkMast,wrkSts); + agvWrkMast.setWrkSts(wrkSts); + agvWrkMast.setManuType(manuType); + agvWrkMast.setModiTime(now); + agvWrkMast.setModiUser(userId); this.updateById(agvWrkMast); } @@ -92,17 +106,22 @@ 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; } - //瀹瑰櫒鍏ュ満 + //璐ф灦鍏ュ満 public int containerMoveIn(List<AgvWrkMast> agvWrkMastList) throws IOException { - //璋冪敤瀹瑰櫒鍏ュ満鏃舵墍闇�瑕佸弬鏁� + //璋冪敤璐ф灦鍏ュ満鏃舵墍闇�瑕佸弬鏁� Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>(); List<Map<String,String>> positionCodeMapList = new ArrayList<>(); containerMoveParam.put("containerMoveIns",positionCodeMapList); @@ -112,11 +131,11 @@ if(Cools.isEmpty(positionCodeMapList)){ return 0; } - return doHttpRequest(containerMoveParam,"瀹瑰櫒鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1"); + return doHttpRequest(containerMoveParam,"璐ф灦鍏ュ満浠诲姟涓嬪彂",url, containerMoveInPath,null,"127.0.0.1"); } - //瀹瑰櫒绂诲満 + //璐ф灦绂诲満 public int containerMoveOut(List<AgvWrkMast> agvWrkMastList){ Map<String,List<Map<String,String>>> containerMoveParam = new HashMap<>(); List<Map<String,String>> positionCodeMapList = new ArrayList<>(); @@ -126,7 +145,7 @@ positionCodeMap.put("positionCode",agvWrkMast.getLocNo()); positionCodeMapList.add(positionCodeMap); } - return doHttpRequest(containerMoveParam,"瀹瑰櫒绂诲満浠诲姟涓嬪彂",url, containerMoveOutPath,null,"127.0.0.1"); + return doHttpRequest(containerMoveParam,"璐ф灦绂诲満浠诲姟涓嬪彂",url, containerMoveOutPath,null,"127.0.0.1"); } public boolean insertByIncrease(AgvWrkMast agvWrkMast) { @@ -140,14 +159,14 @@ return this.delete(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo)); } - //瀹瑰櫒鍒拌揪閫氱煡 + //璐ф灦鍒拌揪閫氱煡 public int containerArrived(AgvWrkMast agvWrkMast) { Map<String,String> containerArrivedParam = new HashMap<>(); containerArrivedParam.put("slotCode",agvWrkMast.getSourceLocNo()); containerArrivedParam.put("containerCode",agvWrkMast.getBarcode()); - return doHttpRequest(containerArrivedParam,"瀹瑰櫒杈惧埌閫氱煡",url, containerArrivedPath,null,"127.0.0.1"); + return doHttpRequest(containerArrivedParam,"璐ф灦杈惧埌閫氱煡",url, containerArrivedPath,null,"127.0.0.1"); } @Override @@ -176,9 +195,9 @@ private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){ - //寰�瀹瑰櫒鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆 + //寰�璐ф灦鍏ュ満鍙傛暟涓斁鍏ユ簮绔欑偣浣嶇疆 for(AgvWrkMast agvWrkMast : agvWrkMastList){ - //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佸鍣ㄨ繘鍦鸿姹� + //鍒ゆ柇鏄惁涓鸿緭閫佺嚎鍏ュ簱锛屾槸鍒欎笉闇�瑕佽揣鏋惰繘鍦鸿姹� if("Y".equals(agvWrkMast.getMk())){ continue; } @@ -205,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); -- Gitblit v1.9.1