From 07fc18f77a9764bd47857e30d65abc03cc1e439c Mon Sep 17 00:00:00 2001 From: zhangchao <zc857179121@qq.com> Date: 星期五, 08 十一月 2024 16:21:56 +0800 Subject: [PATCH] Merge branch 'phyzwms2' into phyzasrs-erp --- src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | 88 ++++++++++++++++++++++++++++++++++++------- 1 files changed, 73 insertions(+), 15 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..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,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); @@ -218,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) @@ -230,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