From 2002142e29ed84ae83d55a9ceedb90d13ef84aaf Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期二, 16 四月 2024 17:05:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java        |   17 ++++++++
 src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java         |    2 
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java  |   35 +++++++++++++++++
 src/main/java/com/zy/asrs/controller/AgvBasDevpController.java |   18 +++++++++
 4 files changed, 71 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
index 8b4a405..968f3eb 100644
--- a/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvBasDevpController.java
@@ -225,6 +225,24 @@
     }
 
     /*
+   浠诲姟瀹屾垚
+    */
+    @RequestMapping(value = "/basDevp/visualized/container/moveOut2")
+    public R visualiZedContainerMoveOut2(@RequestBody Map<String,Object> map) {
+
+        String barcode = map.get("barcode").toString();
+        AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode", barcode).eq("wrk_sts",205L));
+        if(agvWrkMast.getIoType() != 101 && agvWrkMast.getIoType() != 110){
+            throw new CoolException("宸ヤ綔鍙蜂负" + agvWrkMast.getWrkNo() + "绫诲瀷涓嶄负101.鍑哄簱锛屾棤娉曟墽琛屽鍣ㄧ鍦轰换鍔★紝璇烽噸鏂伴�夋嫨绔欑偣銆�");
+        }
+
+        agvWrkMast.setWrkSts(208L);
+        agvWrkMastService.updateById(agvWrkMast);
+
+        return R.ok("瀹瑰櫒绂诲満鎴愬姛");
+    }
+
+    /*
     鎷f枡/鐩樼偣鍏ュ簱
      */
     @RequestMapping(value = "/basDevp/visualized/container/pickIn")
diff --git a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
index 73d8b03..958ec68 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvLocDetlMapper.java
@@ -48,5 +48,5 @@
     AgvLocDetl selectLocdetl(@Param("locNo")String locNo, @Param("matnr")String matnr, @Param("batch")String batch, @Param("csocode")String csocode, @Param("isocode")String isocode);
 
     @Update("update agv_loc_detl set loc_no = '${targetLoc}' where loc_no = '${sourceLoc}' and supp_code = '${containerCode}'")
-    void updateLocNo(String targetLoc, String sourceLoc, String containerCode);
+    void updateLocNo(@Param("targetLoc")String targetLoc, @Param("sourceLoc")String sourceLoc, @Param("containerCode")String containerCode);
 }
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index ba079d1..4eb2f8d 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -76,6 +76,23 @@
     }
 
     /*
+    瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
+     */
+    @Scheduled(cron = "0/10 * * * * ? ")
+    public void excuteCarryWrk2(){
+        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
+                .eq("wrk_sts", 208)
+                .andNew().eq("io_type",110)
+                .or().eq("io_type",101));
+        if(!Cools.isEmpty(agvWrkMastList)){
+            agvWrkMastList.stream().forEach(agvWrkMast -> {
+                ReturnT<String> returnT = agvWrkMastHandler.completedCarryWrk2(agvWrkMast);
+            });
+        }
+    }
+
+
+    /*
     putaway锛氫笂鏋�
     瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负201.鐢熸垚鍏ュ簱浠诲姟ID 涓�(鍑哄簱绫诲瀷涓� 53.鎷f枡鍐嶅叆搴� || 1.鍏ュ簱 || 10.绌烘澘鍏ュ簱鏍� || 57.鐩樼偣鍐嶅叆搴�)鐨勬暟鎹�
      */
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index e809dfa..dc2fe42 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -149,6 +149,41 @@
     }
 
     @Transactional
+    public ReturnT<String> completedCarryWrk2(AgvWrkMast agvWrkMast) {
+        int wrkNo = agvWrkMast.getWrkNo();
+        String orderNo = getOrderNoByWrkNo(wrkNo);
+        //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
+        agvWrkMast.setWrkSts(207L);
+        agvWrkMastService.updateById(agvWrkMast);
+        //淇敼婧愬簱浣嶇姸鎬佷负O
+        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(),"O","",null);
+        if(agvWrkMast.getIoType() == 101){
+            //鏇存柊鐩爣搴撲綅鏄庣粏 101.鍑哄簱 鍒犻櫎婧愬簱浣嶅簱瀛樻槑缁�
+            agvLocDetlService.delete(new EntityWrapper<AgvLocDetl>().eq("loc_no",agvWrkMast.getSourceLocNo()));
+        }
+
+        //鐢熸垚AGV宸ヤ綔鍘嗗彶妗�
+        agvWrkMastLogService.save(agvWrkMast);
+        //鐢熸垚AGV宸ヤ綔鏄庣粏鍘嗗彶妗�
+        agvWrkDetlLogService.save(wrkNo);
+        //鍒犻櫎AGV宸ヤ綔妗�
+        agvWrkMastService.deleteById(wrkNo);
+        //鍒犻櫎AGV宸ヤ綔鏄庣粏妗�
+        agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
+        if(!isJSON(orderNo)){
+            //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
+            orderService.checkComplete(orderNo);
+        }else{
+            List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
+            maps.forEach(map -> {
+                String o = map.get("orderNo").toString();
+                orderService.checkComplete(o);
+            });
+        }
+        return SUCCESS;
+    }
+
+    @Transactional
     @Synchronized
     public ReturnT<String> startPutWayWrk(AgvWrkMast agvWrkMast) throws IOException {
 

--
Gitblit v1.9.1