From e5cf12d2e3441b83cc3aeafd4f7f23d4075ab5fc Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期二, 07 一月 2025 14:56:14 +0800
Subject: [PATCH] #并板出库

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   74 +++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 31 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 9870586..02af09c 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -95,7 +95,7 @@
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
         List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
 //        List<String> batchs = param.getList().stream().map(FullStoreParam.MatCodeStore::getBatch).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), matnrs.get(0), null, null,locTypeDto);
+        StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), matnrs.get(0), null, null,locTypeDto,matnrs.size()>1);
         if (Cools.isEmpty(dto)){
             throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo");
         }
@@ -260,23 +260,26 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細"+dto.getLocNo());
             }
             // 鐢熸垚宸ヤ綔妗f槑缁�
-            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
-                if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
-                WrkDetl wrkDetl = new WrkDetl();
-                wrkDetl.sync(detlDto.getLocDetl());
-                wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
-                wrkDetl.setWrkNo(workNo);
-                wrkDetl.setIoTime(now);
-                Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
-                wrkDetl.setAnfme(anfme); // 鏁伴噺
-                wrkDetl.setAppeTime(now);
-                wrkDetl.setAppeUser(userId);
-                wrkDetl.setModiTime(now);
-                wrkDetl.setModiUser(userId);
-                if (!wrkDetlService.insert(wrkDetl)) {
-                    throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+            if (ioType != 104){
+                for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
+                    if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
+                    WrkDetl wrkDetl = new WrkDetl();
+                    wrkDetl.sync(detlDto.getLocDetl());
+                    wrkDetl.setOrderNo(""); // 鎵嬪姩鍑哄簱涓嶉渶瑕佸甫鍑哄簱瀛樹腑鐨勫崟鎹紪鍙�
+                    wrkDetl.setWrkNo(workNo);
+                    wrkDetl.setIoTime(now);
+                    Double anfme = ioType==101?detlDto.getLocDetl().getAnfme():detlDto.getCount();
+                    wrkDetl.setAnfme(anfme); // 鏁伴噺
+                    wrkDetl.setAppeTime(now);
+                    wrkDetl.setAppeUser(userId);
+                    wrkDetl.setModiTime(now);
+                    wrkDetl.setModiUser(userId);
+                    if (!wrkDetlService.insert(wrkDetl)) {
+                        throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
+                    }
                 }
             }
+
             // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
             locMast = locMastService.selectById(dto.getLocNo());
             if (locMast.getLocSts().equals("F")) {
@@ -373,7 +376,7 @@
                 inventoryCheckOrderDetl.setMaktx(detlDto.getLocDetl().getMaktx());
                 inventoryCheckOrderDetl.setBatch(detlDto.getLocDetl().getBatch());
                 inventoryCheckOrderDetl.setLocNo(detlDto.getLocDetl().getLocNo());
-                inventoryCheckOrderDetl.setArea(wrkMast.getCrnNo$());
+                inventoryCheckOrderDetl.setArea(detlDto.getLocDetl().getOrigin());
                 inventoryCheckOrderDetl.setAnfme(detlDto.getLocDetl().getAnfme());
                 inventoryCheckOrderDetl.setIoTime(now);
                 inventoryCheckOrderDetl.setStatus("1");
@@ -502,7 +505,7 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
-        StartupDto dto = commonService.getLocNo( 10, devpNo, null,null,null, locTypeDto);
+        StartupDto dto = commonService.getLocNo( 10, devpNo, null,null,null, locTypeDto,false);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
@@ -973,7 +976,7 @@
                 locMastService.updateById(locMast);
             }
         // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
-        } else if (wrkMast.getIoType() >=100) {
+        } else if (wrkMast.getIoType() >=100 && wrkMast.getIoType()<=200) {
             locNo = wrkMast.getSourceLocNo();
             // 鍑哄簱 ===>> F.鍦ㄥ簱
             if (wrkMast.getIoType() > 100 && wrkMast.getIoType() != 110) {
@@ -994,6 +997,8 @@
                 locMast.setModiUser(userId);
                 locMastService.updateById(locMast);
             }
+        } else if (wrkMast.getIoType() >=300) {
+            
         } else {
             throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曞彇娑�");
         }
@@ -1015,7 +1020,7 @@
         }
 
         //鍙栨秷鍑哄簱宸ヤ綔妗f椂锛屾煡璇㈠崟鎹鐞嗚〃锛屽洖婊氫綔涓氫腑鏁伴噺
-        if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103) {
+        if(wrkMast.getIoType() == 101 || wrkMast.getIoType() == 103 || wrkMast.getIoType() == 300) {
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
             for (WrkDetl wrkDetl : wrkDetls) {
                 if (!Cools.isEmpty(wrkDetl.getOrderNo())) {
@@ -1082,18 +1087,25 @@
             boolean wrkDetlRes = wrkDetlService.delete(new EntityWrapper<WrkDetl>().eq("wrk_no", workNo));
         }
 
-        // 淇敼搴撲綅鐘舵��
-        LocMast locMast = locMastService.selectById(locNo);
-        if (Cools.isEmpty(locMast)) {
-            throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
+        if (wrkMast.getIoType() != 300){
+            // 淇敼搴撲綅鐘舵��
+            LocMast locMast = locMastService.selectById(locNo);
+            if (Cools.isEmpty(locMast)) {
+                throw new CoolException("鍙栨秷宸ヤ綔妗eけ璐ワ紝搴撲綅涓嶅瓨鍦�:"+ locNo);
+            }
+            locMast.setLocSts(locSts);
+            locMast.setModiTime(now);
+            locMast.setModiUser(userId);
+            boolean locMastRes = locMastService.updateById(locMast);
+            if (!wrkMastRes || !locMastRes) {
+                throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+            }
+        }else {
+            if (!wrkMastRes) {
+                throw new CoolException("淇濆瓨鏁版嵁澶辫触");
+            }
         }
-        locMast.setLocSts(locSts);
-        locMast.setModiTime(now);
-        locMast.setModiUser(userId);
-        boolean locMastRes = locMastService.updateById(locMast);
-        if (!wrkMastRes || !locMastRes) {
-            throw new CoolException("淇濆瓨鏁版嵁澶辫触");
-        }
+
     }
 
     @Override

--
Gitblit v1.9.1