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