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