From 1573adab705da74a98ad5a174f031e9171437c0c Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期四, 15 一月 2026 10:55:00 +0800
Subject: [PATCH] 出入库功能优化

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   38 ++++++++++++++++++++++++++------------
 1 files changed, 26 insertions(+), 12 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 ed3f0b1..dde3022 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -466,8 +466,7 @@
         LocMast locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
                 .in("loc_no", locs)
                 .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
-                .orderAsc(Arrays.asList("loc_no"))
-                .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
+                .orderAsc(Arrays.asList("loc_no")));
 
         if (Objects.isNull(locMasts)) {
             binds = locAroundBindService.selectList(new EntityWrapper<LocAroundBind>()
@@ -478,18 +477,24 @@
             locMasts = locMastService.selectOne(new EntityWrapper<LocMast>()
                     .in("loc_no", nlocs)
                     .eq("loc_sts", LocStsType.LOC_STS_TYPE_O.type)
-                    .orderAsc(Arrays.asList("loc_no"))
-                    .last("OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY"));
+                    .orderAsc(Arrays.asList("loc_no")));
             if (Objects.isNull(locMasts)) {
                 throw new CoolException("鏆傛棤鍙敤宸ヤ綔浣嶏紒锛�");
             }
+        }
 
-            LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", locMasts.getLocNo()));
-            bLocNo.setLocType(LocStsType.LOC_STS_TYPE_S.type);
+        LocAroundBind bLocNo = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", locMasts.getLocNo()));
+        bLocNo.setLocType(LocStsType.LOC_STS_TYPE_S.type);
 
-            if (!locAroundBindService.updateById(bLocNo)) {
-                throw new CoolException("宸ヤ綅棰勭害澶辫触锛侊紒");
-            }
+        if (!locAroundBindService.updateById(bLocNo)) {
+            throw new CoolException("宸ヤ綅棰勭害澶辫触锛侊紒");
+        }
+
+        locMasts.setLocSts(LocStsType.LOC_STS_TYPE_S.type);
+        locMasts.setModiUser(userId);
+        locMasts.setModiTime(now);
+        if (!locMastService.updateById(locMasts)) {
+            throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + locMasts.getLocNo());
         }
 
         List<Integer> staNos = staDescService.queryOutStaNosByLocNo(locMasts.getLocNo(), 1);
@@ -542,7 +547,7 @@
             wrkDetl.setIoTime(now);
             wrkDetl.setWrkNo(workNo);
             wrkDetl.setOrderNo(locDto.getOrderNo());
-            wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
+//            wrkDetl.setAnfme(locDto.getAnfme()); // 鏁伴噺
             wrkDetl.setStandby1(locDto.getStandby1());
             LocDetl locDel = locDetlService.selectOne(new EntityWrapper<LocDetl>()
                     .eq("loc_no", locDto.getLocNo())
@@ -557,7 +562,7 @@
             wrkDetl.setUnit(locDel.getUnit());
             wrkDetl.setSpecs(locDel.getSpecs());
             wrkDetl.setBatch(locDel.getBatch());
-//            wrkDetl.setAnfme(locDel.getAnfme());
+            wrkDetl.setAnfme(locDel.getAnfme());
             wrkDetl.setAppeTime(now);
             wrkDetl.setAppeUser(userId);
             wrkDetl.setModiTime(now);
@@ -1206,11 +1211,20 @@
             if (!Objects.isNull(wrkMast.getWrkCode())) {
                 LocAroundBind aroundBind = locAroundBindService.selectOne(new EntityWrapper<LocAroundBind>().eq("b_loc_no", wrkMast.getSourceLocNo()));
                 if (!Objects.isNull(aroundBind)) {
-                    aroundBind.setLocType(LocStsType.LOC_STS_TYPE_O.type);
+                    aroundBind.setLocType(LocStsType.LOC_STS_TYPE_F.type);
                     if (!locAroundBindService.updateById(aroundBind)) {
                         throw new CoolException("宸ヤ綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
                     }
                 }
+
+
+                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getSourceLocNo()));
+                if (!Objects.isNull(locMast)) {
+                    locMast.setLocSts(LocStsType.LOC_STS_TYPE_F.type);
+                    if (!locMastService.updateById(locMast)) {
+                        throw new CoolException("搴撲綅鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                    }
+                }
             }
             // 鍑哄簱鍙栨秷锛堜慨鏀规簮搴撲綅锛�
         } else if (wrkMast.getWrkSts() > 10 && wrkMast.getWrkSts() != 14) {

--
Gitblit v1.9.1