From 7c315b53808a66a2f1faf90930ecffdc85ba455f Mon Sep 17 00:00:00 2001 From: 1 <1@123> Date: 星期二, 13 五月 2025 11:34:15 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/task/TaskLogScheduler.java | 4 + src/main/java/com/zy/core/thread/RgvThread.java | 4 src/main/java/com/zy/asrs/entity/TaskWrk.java | 9 -- src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java | 34 +++----- src/main/java/com/zy/asrs/controller/TaskWrkController.java | 125 +++++++++++++++--------------- src/main/resources/mapper/TaskWrkMapper.xml | 5 6 files changed, 85 insertions(+), 96 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/TaskWrkController.java b/src/main/java/com/zy/asrs/controller/TaskWrkController.java index e5c5556..4c5eb58 100644 --- a/src/main/java/com/zy/asrs/controller/TaskWrkController.java +++ b/src/main/java/com/zy/asrs/controller/TaskWrkController.java @@ -261,43 +261,44 @@ } String response=""; - try{ - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("taskNo",taskWrk.getTaskNo()); - headParam.put("taskStatus",taskWrk.getStatusWms()); - headParam.put("ioType",taskWrk.getIoTypeWms()); - headParam.put("barCode",taskWrk.getBarcode()); - headParam.put("reportTime", LocalDateTime.now()); - headParam.put("weight",taskWrk.getScWeight().doubleValue()); - log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - - JSONObject jsonObject = JSON.parseObject(response); - apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" - ,wmsUrl+taskStatusFeedbackPath - ,null - ,"127.0.0.1" - ,JSON.toJSONString(headParam) - ,response - ,true - ); - }catch (Exception e){ - log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶眥},杩斿洖鍊�={}", taskWrk,response); -// throw new CoolException(e); - } Date now = new Date(); locMast.setModiTime(now); - locMastService.updateById(locMast); taskWrk.setStatus(7);//鎵嬪姩瀹屾垚浠诲姟 taskWrk.setModiTime(now); taskWrk.setCompleteTime(now); +// try{ +// HashMap<String, Object> headParam = new HashMap<>(); +// headParam.put("taskNo",taskWrk.getTaskNo()); +// headParam.put("taskStatus",taskWrk.getStatusWms()); +// headParam.put("ioType",taskWrk.getIoTypeWms()); +// headParam.put("barCode",taskWrk.getBarcode()); +// headParam.put("reportTime", LocalDateTime.now()); +// headParam.put("weight",taskWrk.getScWeight().doubleValue()); +// +// log.info("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms={}", taskWrk); +// response = new HttpHandler.Builder() +// // .setHeaders(headParam) +// .setUri(wmsUrl) +// .setPath(taskStatusFeedbackPath) +// .setJson(JSON.toJSONString(headParam)) +// .build() +// .doPost(); +// +// JSONObject jsonObject = JSON.parseObject(response); +// apiLogService.save("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms" +// ,wmsUrl+taskStatusFeedbackPath +// ,null +// ,"127.0.0.1" +// ,JSON.toJSONString(headParam) +// ,response +// ,true +// ); +// }catch (Exception e){ +// log.error("wcs鎵嬪姩瀹屾垚浠诲姟涓婃姤wms澶眥},杩斿洖鍊�={}", taskWrk,response); +//// throw new CoolException(e); +// } + locMastService.updateById(locMast); taskWrkService.updateById(taskWrk); return R.ok(); } @@ -322,37 +323,37 @@ taskWrk.setModiUser(1111L);//鎿嶄綔鍛� } String response=""; - try{ - HashMap<String, Object> headParam = new HashMap<>(); - headParam.put("taskNo",taskWrk.getTaskNo()); - headParam.put("taskStatus",taskWrk.getStatusWms()); - headParam.put("ioType",taskWrk.getIoTypeWms()); - headParam.put("barCode",taskWrk.getBarcode()); - headParam.put("reportTime", LocalDateTime.now()); - headParam.put("weight",taskWrk.getScWeight().doubleValue()); - - - log.info("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wm={}", taskWrk); - response = new HttpHandler.Builder() - // .setHeaders(headParam) - .setUri(wmsUrl) - .setPath(taskStatusFeedbackPath) - .setJson(JSON.toJSONString(headParam)) - .build() - .doPost(); - JSONObject jsonObject = JSON.parseObject(response); - apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" - ,wmsUrl+taskStatusFeedbackPath - ,null - ,"127.0.0.1" - ,JSON.toJSONString(headParam) - ,response - ,true - ); - }catch (Exception e){ - log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk,response); -// throw new CoolException(e); - } +// try{ +// HashMap<String, Object> headParam = new HashMap<>(); +// headParam.put("taskNo",taskWrk.getTaskNo()); +// headParam.put("taskStatus",taskWrk.getStatusWms()); +// headParam.put("ioType",taskWrk.getIoTypeWms()); +// headParam.put("barCode",taskWrk.getBarcode()); +// headParam.put("reportTime", LocalDateTime.now()); +// headParam.put("weight",taskWrk.getScWeight().doubleValue()); +// +// +// log.info("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wm={}", taskWrk); +// response = new HttpHandler.Builder() +// // .setHeaders(headParam) +// .setUri(wmsUrl) +// .setPath(taskStatusFeedbackPath) +// .setJson(JSON.toJSONString(headParam)) +// .build() +// .doPost(); +// JSONObject jsonObject = JSON.parseObject(response); +// apiLogService.save("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms" +// ,wmsUrl+taskStatusFeedbackPath +// ,null +// ,"127.0.0.1" +// ,JSON.toJSONString(headParam) +// ,response +// ,true +// ); +// }catch (Exception e){ +// log.error("wcs鎵嬪姩鍙栨秷浠诲姟涓婃姤wms澶辫触={},杩斿洖鍊�={}", taskWrk,response); +//// throw new CoolException(e); +// } taskWrk.setCompleteTime(now);//瀹岀粨鏃堕棿 taskWrkService.updateById(taskWrk); return R.ok(); diff --git a/src/main/java/com/zy/asrs/entity/TaskWrk.java b/src/main/java/com/zy/asrs/entity/TaskWrk.java index 9a52081..1bb934f 100644 --- a/src/main/java/com/zy/asrs/entity/TaskWrk.java +++ b/src/main/java/com/zy/asrs/entity/TaskWrk.java @@ -377,14 +377,7 @@ } public Integer getStatusWms(){ - switch (status){ - case 5: - return 1; - case 4: - return 0; - default: - return 0; - } + return status; } public String getPut(String point){ diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java index 077784a..feaa189 100644 --- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java +++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java @@ -1400,22 +1400,13 @@ || (!rgvProtocol.getStatusType().equals(RgvStatusType.IDLE) && !rgvProtocol.getStatusType().equals(RgvStatusType.ROAM))) { return false; } - RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getId()); - RgvTaskProtocol rgvTaskProtocolOther = RgvTaskCache.getRgvStatus(slave.getId()); - if (rgvProtocolOther == null) { - return true; - } - if (rgvProtocolOther.statusEnable) { - if (rgvProtocolOther.getModeType().equals(RgvModeType.AUTO) - && rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE) - && rgvProtocolOther.getLoaded()==0) { - return false; - } + if (rgvProtocol.getLoaded()!=0) { + return false; } return true; } - public boolean rgvOtherIDLE(RgvSlave slave) { + public boolean rgvOtherIDLE(RgvSlave slave,Integer staNo) { RgvProtocol rgvProtocol = RgvStatusCache.getRgvStatus(slave.getId()); RgvTaskProtocol rgvTaskProtocol = RgvTaskCache.getRgvStatus(slave.getId()); @@ -1427,15 +1418,15 @@ return false; } RgvProtocol rgvProtocolOther = RgvStatusCache.getRgvStatus(slave.getOtherId()); - RgvTaskProtocol rgvTaskProtocolOther = RgvTaskCache.getRgvStatus(slave.getOtherId()); if (rgvProtocolOther == null) { return true; } if (rgvProtocolOther.statusEnable) { - if (rgvProtocolOther.getModeType().equals(RgvModeType.AUTO) - && rgvProtocolOther.getStatusType().equals(RgvStatusType.IDLE) - && rgvProtocolOther.getLoaded()==0) { + BasDevpPosition basDevpPosition = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", staNo)); + if (Math.abs(basDevpPosition.getPlcPosition()-rgvProtocol.getRgvPos()) + >= + Math.abs(basDevpPosition.getPlcPosition()-rgvProtocolOther.getRgvPos())){ return false; } } @@ -1491,7 +1482,7 @@ for (RgvSlave.RgvStn inSta : rgvSlave.getRgvInSta()) { TaskWrk taskWrk = deviceDetection(inSta); if (taskWrk != null) { - if (taskWrk.getTaskNo().equals(taskNoNow)) continue; + if (taskWrk.getWrkNo().toString().equals(taskNoNow)) continue; taskWrkList.add(taskWrk); staList.add(inSta.getStaNo()); } @@ -1550,10 +1541,9 @@ } } } - - if (!sign){ + if (!sign && belongToRange.size()==1){ if (rgvOtherIDLEOther(rgvSlave)){ - if (!rgvOtherIDLE(rgvSlave)){ + if (!rgvOtherIDLE(rgvSlave,belongToRange.get(0))){ sign=true; } } @@ -1693,7 +1683,7 @@ BasDevpPosition basDevpPositionSou = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", rgvStn.getStaNo())); BasDevpPosition basDevpPositionEnd = basDevpPositionService.selectOne(new EntityWrapper<BasDevpPosition>().eq("DEV_NO", targetPointConvert)); //鎵ц - issuedTake.setTaskNo(Long.valueOf(taskWrk.getTaskNo())); + issuedTake.setTaskNo(Long.valueOf(taskWrk.getWrkNo())); issuedTake.setTaskStatus(2); issuedTake.setTaskNoDirection(issuedTake.gettaskNoDirection$(issuedTake.getTaskNo(), issuedTake.getTaskStatus())); issuedTake.setTargetPosition(basDevpPositionSou.getPlcPosition()); @@ -1701,7 +1691,7 @@ issuedTake.setDirection(basDevpPositionSou.getRgvSign()==1); - issuedPut.setTaskNo(Long.valueOf(taskWrk.getTaskNo())); + issuedPut.setTaskNo(Long.valueOf(taskWrk.getWrkNo())); issuedPut.setTaskStatus(3); issuedPut.setTaskNoDirection(issuedPut.gettaskNoDirection$(issuedPut.getTaskNo(), issuedPut.getTaskStatus())); issuedPut.setTargetPosition(basDevpPositionEnd.getPlcPosition()); diff --git a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java index 174fbdf..2da886f 100644 --- a/src/main/java/com/zy/asrs/task/TaskLogScheduler.java +++ b/src/main/java/com/zy/asrs/task/TaskLogScheduler.java @@ -57,6 +57,10 @@ public void execute() throws IOException { List<TaskWrk> taskWrkList = taskWrkService.selectToBeHistoryData(); for (TaskWrk taskWrk : taskWrkList) { + if (taskWrkService.saveToHistory(taskWrk.getTaskNo()) == 0) { + log.error("浠诲姟妗h浆浠诲姟鍘嗗彶妗eけ璐�" + taskWrk); + return ; + } JSONObject jsonObject = null; String response = null; boolean success = false; diff --git a/src/main/java/com/zy/core/thread/RgvThread.java b/src/main/java/com/zy/core/thread/RgvThread.java index 386207f..6453b18 100644 --- a/src/main/java/com/zy/core/thread/RgvThread.java +++ b/src/main/java/com/zy/core/thread/RgvThread.java @@ -378,7 +378,7 @@ > avoidDistance) {//鏃犻渶閬胯 return true; } else { - if (rgvProtocolOther.getRgvPosDestination() >= rgvProtocolOther.getRgvPos()) { + if (rgvProtocolOther.getRgvPosDestination() >= rgvProtocolOther.getRgvPos()-50) { long avoid = rgvProtocolOther.getRgvPos() - rgvProtocolOther.getCarBodyJiaoMing() - avoidDistance - rgvProtocol.getCarBodyKunPeng(); if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[1])) { log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); @@ -450,7 +450,7 @@ > avoidDistance) {//鏃犻渶閬胯 return true; } else { - if (rgvProtocolOther.getRgvPosDestination() <= rgvProtocolOther.getRgvPos()) { + if (rgvProtocolOther.getRgvPosDestination() <= rgvProtocolOther.getRgvPos() + 50) { long avoid = rgvProtocolOther.getRgvPos() + rgvProtocolOther.getCarBodyKunPeng() + avoidDistance + rgvProtocol.getCarBodyJiaoMing(); if (!new TrackRangeUtils().avoidRange(avoid, avoidRange[0])) { log.error("琛岃蛋瓒呭嚭鑼冨洿锛侊紒锛佷换鍔″紓甯� 鑱旂郴绠$悊鍛橈紒锛侊紒"); diff --git a/src/main/resources/mapper/TaskWrkMapper.xml b/src/main/resources/mapper/TaskWrkMapper.xml index 6058986..9787512 100644 --- a/src/main/resources/mapper/TaskWrkMapper.xml +++ b/src/main/resources/mapper/TaskWrkMapper.xml @@ -123,7 +123,7 @@ select * from "SOURCE"."wcs_task_wrk" where 1=1 and (("WRK_STS"=14 and "STATUS"=5) or "STATUS"=7 or "STATUS"=4 - or ("WRK_STS"=4 and "STATUS"=5)) + or ("WRK_STS"=4 and "STATUS"=5) or ("WRK_STS"=14 and "STATUS"=9)) order by "IO_PRI" desc,"CREATE_TIME","WRK_NO" ASC </select> @@ -131,7 +131,8 @@ insert into "SOURCE"."wcs_task_wrk_log" select * from "SOURCE"."wcs_task_wrk" where "TASK_NO" = #{taskNo} - and ("STATUS"=5 or "STATUS"=4 or "STATUS"=6) + and ("STATUS"=5 or "STATUS"=4 or "STATUS"=6 or "STATUS"=7 or "STATUS"=9) + and ("WRK_NO" not in (select "WRK_NO" from "SOURCE"."asr_bas_devp")) </insert> <insert id="saveToHistoryD"> -- Gitblit v1.9.1