From f1a1915b575c435f7172fdb59d48e13726ff4ff0 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期三, 29 五月 2024 16:29:07 +0800
Subject: [PATCH] # 调拨单同步锁

---
 src/main/java/com/zy/asrs/controller/AgvMobileController.java |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 4d0bb39..5f00b40 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -64,7 +64,7 @@
     }
 
     /*
-    缁戝畾鎵樼洏鏉$爜涓庢殏瀛樹綅
+    缁戝畾璐ф灦鏉$爜涓庢殏瀛樹綅
      */
     @PostMapping("/combBinging/auth")
     public R combBinding(@RequestBody Map<String,Object> map){
@@ -72,7 +72,7 @@
         String stationCode = map.get("stationCode").toString();
         Short containerType = Short.valueOf(barcode.substring(0,2));
         agvMobileService.combBinding(barcode,stationCode,containerType);
-        return R.ok("鎵樼洏缁戝畾绔欑偣鎴愬姛");
+        return R.ok("璐ф灦缁戝畾绔欑偣鎴愬姛");
     }
 
     /*
@@ -162,7 +162,7 @@
     }
 
     /*
-    绌烘澘鍑哄簱瀹瑰櫒鐮侀�夋嫨
+    绌烘澘鍑哄簱璐ф灦鐮侀�夋嫨
      */
     @PostMapping("/pakout/empty/container/selector/auth")
     public R containerType(@RequestBody HashMap<String,String> params){
@@ -219,6 +219,7 @@
      */
     @PostMapping("/check/detl/v1")
     @ManagerAuth(memo = "搴撳瓨鐩樼偣")
+    @Synchronized
     public R checkLocDetl(@RequestBody HashMap<String,String> param){
 
         String locNo = param.get("locNo");
@@ -247,6 +248,7 @@
      */
     @PostMapping("/update/detl/v1")
     @ManagerAuth(memo = "绾犳搴撲綅")
+    @Synchronized
     public R updateLocDetlLocNo(@RequestBody HashMap<String,String> param){
         String locNo = param.get("locNo");
         String containerCode = param.get("containerCode");
@@ -328,7 +330,7 @@
         }
 
         if((listByLocNo == null && listByContainerCode == null) || listByLocNo.equals(listByContainerCode)){
-            return R.ok("璇ュ簱浣嶄笌瀹瑰櫒搴撳瓨涓�鑷达紝鏃犻渶缁存姢");
+            return R.ok("璇ュ簱浣嶄笌璐ф灦搴撳瓨涓�鑷达紝鏃犻渶缁存姢");
         }
 
 
@@ -369,6 +371,7 @@
     @PostMapping("/agv/v1/locMove")
     @Transactional
     @ManagerAuth(memo = "璋冩嫧鍗曚换鍔′笅鍙�")
+    @Synchronized
     public R agvLocMove(@RequestBody HashMap<String,Object> params){
         String fl = String.valueOf(params.get("floor"));
         short floor =(short)Integer.parseInt(fl.substring(0, 1));
@@ -405,6 +408,7 @@
     @PostMapping("/agv/v2/locMove")
     @Transactional
     @ManagerAuth(memo = "璋冩嫧鍗曚换鍔′笅鍙�")
+    @Synchronized
     public R agvLocMove2(@RequestBody HashMap<String,Object> params){
         Date now = new Date();
         String fl = String.valueOf(params.get("floor"));
@@ -424,6 +428,10 @@
         for (HashMap<String, String> map : dbList) {
             String locNo = map.get("locNo");
             String barcode = map.get("suppCode");
+            AgvWrkMast source_loc_no = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", locNo));
+            if (!Cools.isEmpty(source_loc_no)) {
+                throw new CoolException("褰撳墠搴撲綅宸茬敓鎴愪换鍔★紒");
+            }
             AgvWrkMast wrkMast = createWrkMast(ioType, 22L, locNo, "", barcode, now, getUserId(), 30,floor);
             // 鍚屾璋冩嫧鍗�
             List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
@@ -458,6 +466,7 @@
     @PostMapping("/hand/control/locMove")
     @Transactional
     @ManagerAuth(memo = "鎵嬪姩搴撲綅杞Щ")
+    @Synchronized
     public R handControlLocMove(@RequestBody LocMoveParam param){
         agvMobileService.handControlLocMove(param, getUserId());
         return R.ok();
@@ -466,6 +475,7 @@
     @PostMapping("/hand/control/allocationOut")
     @Transactional
     @ManagerAuth(memo = "璋冩嫧绂诲満")
+    @Synchronized
     public R allocationOut(@RequestBody AgvMobileStartPakin param){
         agvMobileService.allocationOut(param, getUserId());
         return R.ok();
@@ -474,6 +484,7 @@
     @PostMapping("/hand/control/allocationIn")
     @Transactional
     @ManagerAuth(memo = "璋冩嫧杩涘満")
+    @Synchronized
     public R allocationIn(@RequestBody AgvMobileStartPakin param){
         agvMobileService.allocationIn(param, getUserId());
         return R.ok();
@@ -482,8 +493,18 @@
     @PostMapping("/hand/control/doBack")
     @Transactional
     @ManagerAuth(memo = "绔欑偣鍥為��")
+    @Synchronized
     public R doBack(@RequestBody AgvMobileStartPakin param){
         agvMobileService.doBack(param, getUserId());
+        return R.ok();
+    }
+
+    @PostMapping("/hand/control/handBack")
+    @Transactional
+    @ManagerAuth(memo = "杞墜鍔ㄥ洖娴�")
+    @Synchronized
+    public R handBack(@RequestBody AgvMobileStartPakin param){
+        agvMobileService.handBack(param, getUserId());
         return R.ok();
     }
 
@@ -521,9 +542,9 @@
         wrkMast.setSourceLocNo(sourceLocNo);
         //鐩爣绔欑偣
         wrkMast.setLocNo(locNo);
-        //瀹瑰櫒缂栫爜
+        //璐ф灦缂栫爜
         wrkMast.setBarcode(barcode);
-        //瀹瑰櫒绫诲瀷
+        //璐ф灦绫诲瀷
         wrkMast.setWhsType(containerType);
         // 鐩爣妤煎眰
         wrkMast.setCrnNo(floor);

--
Gitblit v1.9.1