From 3d8242c78bde80d129aff622c20e0e2412aaf6c4 Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期三, 14 一月 2026 09:53:35 +0800
Subject: [PATCH] 出库流程优化

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   60 +++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 31 insertions(+), 29 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 2120202..8ecbbfc 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -418,11 +418,9 @@
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
         String wrkCode = null;
-        //TODO 濡傛灉鏈哄彴鍙蜂笉涓虹┖锛屽垽鏂綋鍓嶆満鍙颁笌褰撳墠鍑哄簱搴撲綅鏄惁鍦ㄥ悓涓�搴撳尯鎴栧悓涓�鍙板爢鍨涙満锛堢浉鍚岀珯鐐癸級
-        //TODO 1. 濡傛灉鏄悓涓�鍙板爢鍨涙満锛岀敓鎴愮Щ搴擄紙鍑哄簱锛変换鍔�  2. 濡傛灉涓嶆槸锛岀敓鎴愬嚭搴撲换鍔★紝鍐嶇敓鎴愬叆搴撲换鍔�
-        //TODO 鍙︿竴绉嶆柟妗堬紝涓嶇鏄惁褰撳墠宸烽亾锛岀粺涓�鍑哄簱锛屽啀鍏ュ簱
         if (!Objects.isNull(deviceNo)) {
             wrkCode = workNo + "-1";
+            ioType = 101;
             generateOutStock(taskDto, userId, workNo, wrkCode, now, ioType, locMast, staDesc, deviceNo);
         } else {
             generateOutStock(taskDto, userId, workNo, wrkCode, now, ioType, locMast, staDesc, null);
@@ -541,7 +539,16 @@
             wrkDetl.setStandby1(locDto.getStandby1());
             wrkDetl.setBatch(locDto.getBatch());
             wrkDetl.setOrderNo(locDto.getOrderNo());
-            wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+//            wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+            LocDetl locDel = locDetlService.selectOne(new EntityWrapper<LocDetl>()
+                    .eq("loc_no", locDto.getLocNo())
+                    .eq("batch", locDto.getBatch())
+                    .eq(!Objects.isNull(locDto.getBarcode()), "barcode", locDto.getBarcode())
+                    .eq("matnr", locDto.getMatnr()));
+            if (Objects.isNull(locDel)) {
+                throw new CoolException("鏁版嵁閿欒锛屽簱瀛樻槑缁嗕笉瀛樺湪锛侊紒");
+            }
+            wrkDetl.setAnfme(locDel.getAnfme());
             wrkDetl.setAppeTime(now);
             wrkDetl.setAppeUser(userId);
             wrkDetl.setModiTime(now);
@@ -1324,34 +1331,22 @@
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
         Integer ioType = wrkMast.getIoType() - 50;
-//        int wokNo = wrkMast.getWrkNo();
+        int wokNo = wrkMast.getWrkNo();
         // 鍏ュ嚭搴撶被鍨嬪垽鏂�
-//        if (Objects.isNull(wrkMast.getWrkCode())) {
-        if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
-            throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
+        if (Objects.isNull(wrkMast.getWrkCode())) {
+            if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
+                throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
+            }
+            // 宸ヤ綔鐘舵�佸垽鏂�
+            if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
+                throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
+            }
+        } else {
+            if (wrkMast.getIoType() == 103) {
+                ioType = 1;
+            }
         }
-        // 宸ヤ綔鐘舵�佸垽鏂�
-        if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
-            throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
-        }
-//        }
 
-//        else {
-//            if (wrkMast.getIoType() == 103) {
-//                ioType = 1;
-//            } else if (wrkMast.getIoType() == 101) {
-//                ioType = 10;
-//            }
-//            wokNo = commonService.getWorkNo(0);
-//        }
-        // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
-//        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
-//            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
-////        }
-//        // 淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗�
-//        if (!wrkMastLogService.save(wrkMast.getWrkNo())) {
-//            throw new CoolException("淇濆瓨宸ヤ綔涓绘。鍘嗗彶妗eけ璐�");
-//        }
         // 鑾峰彇鐩爣绔�
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                 .eq("type_no", ioType)
@@ -1458,6 +1453,13 @@
         if (!locMastService.updateById(locMast)) {
             throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
         }
+
+        wrkMast.setWrkCode(null);
+
+        if (!wrkMastService.updateById(wrkMast)) {
+            throw new CoolException("浠诲姟妗f洿鏂板け璐ワ紒锛�");
+        }
+
     }
 
 

--
Gitblit v1.9.1