From 5dc79ad08836c944078234a3c4d97edb416e76f6 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期一, 06 七月 2020 11:14:52 +0800
Subject: [PATCH] #任务中心————库位移转

---
 src/main/java/com/zy/asrs/mapper/LocDetlMapper.java            |    3 +++
 src/main/java/com/zy/asrs/service/LocDetlService.java          |    1 +
 src/main/java/com/zy/asrs/controller/LocDetlController.java    |    8 ++++++++
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java    |   37 ++++++++++++++++++++++++++++++++++++-
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java |    5 +++++
 src/main/java/com/zy/asrs/task/WcsDispatcher.java              |    2 +-
 6 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index b4eef0a..bfc5113 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -24,6 +24,14 @@
     @Autowired
     private LocDetlService locDetlService;
 
+    @RequestMapping(value = "/locDetl/update")
+    public R update1() {
+        if (!locDetlService.updateLocNo("0402805", "0402804")) {
+            return R.error();
+        }
+        return R.ok();
+    }
+
     @RequestMapping(value = "/locDetl/{id}/auth")
     @ManagerAuth
     public R get(@PathVariable("id") String id) {
diff --git a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
index 73176e2..919a2d6 100644
--- a/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocDetlMapper.java
@@ -20,4 +20,7 @@
     @Update("update asr_loc_detl set anfme=#{anfme}, modi_time = getDate() where loc_no = #{locNo} and matnr = #{matnr}")
     int updateAnfme(Double anfme, String locNo, String matnr);
 
+    @Update("update asr_loc_detl set loc_no = #{newLocNo}, modi_time=getDate() where loc_no = #{oldLocNo}")
+    int updateLocNo(String newLocNo, String oldLocNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 1c4f0fa..d5bf2f4 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -13,4 +13,5 @@
      */
     boolean updateAnfme(Double anfme, String locNo, String matnr);
 
+    boolean updateLocNo(String newLocNo, String oldLocNo);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index 23f8617..7fa471b 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -28,4 +28,9 @@
         }
     }
 
+    @Override
+    public boolean updateLocNo(String newLocNo, String oldLocNo) {
+        return baseMapper.updateLocNo(newLocNo, oldLocNo) > 0;
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/WcsDispatcher.java b/src/main/java/com/zy/asrs/task/WcsDispatcher.java
index 4c64198..d8d9797 100644
--- a/src/main/java/com/zy/asrs/task/WcsDispatcher.java
+++ b/src/main/java/com/zy/asrs/task/WcsDispatcher.java
@@ -15,7 +15,7 @@
 //@Component
 public class WcsDispatcher {
 
-    private static Logger log = LoggerFactory.getLogger(WcsDispatcher.class);
+    private static final Logger log = LoggerFactory.getLogger(WcsDispatcher.class);
     private Thread thread;
 
     @Autowired
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 57df444..022c4b3 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -231,11 +231,46 @@
                 break;
             // 搴撲綅绉昏浆
             case 11:
-
+                // 榛樿鐩爣搴撲綅鏄┖鏉�
+                String locType = "D";
+                // 搴撲綅绉昏浆鍒ゆ柇鏄惁涓虹┖鏉跨Щ杞�
+                if (wrkMast.getEmptyMk().equals("N")) {
+                    locType = "F";
+                    // 杞Щ搴撳瓨鏄庣粏鏁版嵁: 搴撳瓨鍙� 鐢卞伐浣滄。婧愬簱浣嶅彉涓虹洰鏍囧簱浣�
+                    if (!locDetlService.updateLocNo(wrkMast.getLocNo(), wrkMast.getSourceLocNo())) {
+                        exceptionHandle(""); // todo
+                    }
+                }
+                // todo:luxiaotao 3)淇敼鐩樼偣閫氱煡妗� status ==> Y
+                // 淇敼婧愬簱浣嶇姸鎬� ==> O
+                LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
+                if (null != sourceLoc) {
+                    sourceLoc.setBarcode("");
+                    sourceLoc.setLocType("O");
+                    sourceLoc.setModiTime(now);
+                    sourceLoc.setIoTime(now);
+                    if (!locMastService.updateById(sourceLoc)) {
+                        exceptionHandle(""); // todo
+                    }
+                }
+                // 淇敼鐩爣搴撲綅鐘舵�� ==> .locType
+                locMast.setLocType(locType);
+                locMast.setBarcode(wrkMast.getBarcode());
+                locMast.setIoTime(now);
+                locMast.setModiTime(now);
+                if (!locMastService.updateById(locMast)) {
+                    exceptionHandle(""); // todo
+                }
                 break;
             default:
                 break;
         }
+        // 淇敼宸ヤ綔涓绘。鐘舵��
+        wrkMast.setWrkSts(5L);
+        wrkMast.setModiTime(now);
+        if (!wrkMastService.updateById(wrkMast)) {
+            exceptionHandle(""); // todo
+        }
     }
 
     private void doOut(WrkMast wrkMast){

--
Gitblit v1.9.1