From ba0e15af1f11fb9e2a0c0fc5eabfec4625c8377a Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 06 十一月 2024 09:54:51 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/WorkService.java          |    4 ++++
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   23 +++++++++++++++++++++++
 src/main/java/com/zy/common/model/enums/IoWorkType.java     |    1 +
 src/main/java/com/zy/asrs/controller/WorkController.java    |    7 +++++++
 4 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index 6e0d95d..63b8369 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -42,6 +42,13 @@
     @Autowired
     private StaDescService staDescService;
 
+    @RequestMapping("/locMerge/out/start")
+    @ManagerAuth(memo = "骞舵澘鍑哄簱")
+    public R locMergeOutStart(@RequestBody StockOutParam param) {
+        workService.locMergeOut(param, getUserId());
+        return R.ok("鍑哄簱鍚姩鎴愬姛");
+    }
+
     @RequestMapping("/available/put/site")
     @ManagerAuth()
     public R availablePutSite(){
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index 99fdc5e..b097f6c 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -97,4 +97,8 @@
 
     void turnMatLocDetl(EmptyPlateOutParam param, Long userId);
 
+    /**
+     * 骞舵澘鍑哄簱
+     */
+    void locMergeOut(StockOutParam param, Long userId);
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index 40d5d42..27212ad 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -215,6 +215,8 @@
                 ioType = dto.isAll() ? 101 : 103;
             } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
                 ioType = 107;
+            }else if (ioWorkType.equals(IoWorkType.MERGE_OUT)) {
+                ioType = 104;
             }
             assert ioType != null;
             // 鑾峰彇搴撲綅
@@ -1276,4 +1278,25 @@
         }
     }
 
+    @Override
+    @Transactional
+    public void locMergeOut(StockOutParam param, Long userId) {
+        // 鐩爣绔欑偣鐘舵�佹娴�
+        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+        // 鑾峰彇搴撲綅鏄庣粏
+        List<LocDetlDto> locDetlDtos = new ArrayList<>();
+        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
+            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
+                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getBatch());
+                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+            }
+        }
+        if (!locDetlDtos.isEmpty()) {
+            // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
+            stockOut(staNo, locDetlDtos, IoWorkType.MERGE_OUT, userId);
+        } else {
+            throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
+        }
+    }
+
 }
diff --git a/src/main/java/com/zy/common/model/enums/IoWorkType.java b/src/main/java/com/zy/common/model/enums/IoWorkType.java
index 0077d5c..03806e0 100644
--- a/src/main/java/com/zy/common/model/enums/IoWorkType.java
+++ b/src/main/java/com/zy/common/model/enums/IoWorkType.java
@@ -7,6 +7,7 @@
     ALL_OUT,
     PICK_OUT,
     CHECK_OUT,
+    MERGE_OUT,
     ;
 
 }

--
Gitblit v1.9.1