From 09a482e8fb4d4dac63aed1503fd91e738ddb070d Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期四, 04 七月 2024 10:42:24 +0800
Subject: [PATCH] # 并板出库

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   32 +++++++++++++++++++++++++++++++-
 1 files changed, 31 insertions(+), 1 deletions(-)

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 d472c07..c6fff83 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -201,6 +201,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;
             // 鑾峰彇搴撲綅
@@ -559,6 +561,27 @@
 
     @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("搴撲綅鐗╂枡涓嶅瓨鍦�");
+        }
+    }
+
+    @Override
+    @Transactional
     public void locMove(String sourceLocNo, String locNo, Long userId) {
         LocMast sourceLoc = locMastService.selectById(sourceLocNo);
         List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", sourceLocNo));
@@ -763,6 +786,13 @@
         Date now = new Date();
         List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", param.getLocNo()));
 
+        String zpallet = "";
+        for (LocDetl locDetl : locDetls) {
+            if (!Cools.isEmpty(locDetl.getZpallet())) {
+                zpallet = locDetl.getZpallet();
+            }
+        }
+
         List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList();
 
         // 淇敼鏁伴噺
@@ -826,8 +856,8 @@
             Mat mat = matService.selectByMatnr(adjust.getMatnr());
             LocDetl locDetl = new LocDetl();
             locDetl.sync(mat);
+            locDetl.setZpallet(zpallet);
             locDetl.setBatch(adjust.getBatch());
-            locDetl.setBarcode(locDetls.get(0).getBarcode());
             locDetl.setLocNo(locMast.getLocNo());
             locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
             locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅

--
Gitblit v1.9.1