From 8575002e3bce8a6d16633d5c1a4eed99ccf638ce Mon Sep 17 00:00:00 2001
From: skyouc <creaycat@gmail.com>
Date: 星期三, 17 十二月 2025 16:50:55 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 51 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 c175ce5..d1d8539 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -12,6 +12,9 @@
 import com.zy.asrs.entity.param.FullStoreParam;
 import com.zy.asrs.entity.param.LocDetlAdjustParam;
 import com.zy.asrs.entity.param.StockOutParam;
+import com.zy.asrs.enums.LocAreaType;
+import com.zy.asrs.enums.LocStsType;
+import com.zy.asrs.enums.TaskIOType;
 import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.entity.result.FindLocNoAttributeVo;
 import com.zy.asrs.service.*;
@@ -99,6 +102,12 @@
     private TaskService taskService;
     @Autowired
     private TaskDetlService taskDetlService;
+    @Autowired
+    private BasStationService basStationService;
+    @Autowired
+    private BasStationDetlService basStationDetlService;
+    @Autowired
+    private BasAreasService basAreasService;
 
     @Override
     @Transactional
@@ -1457,6 +1466,10 @@
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
+        BasAreas basAreas = basAreasService.selectOne(new EntityWrapper<BasAreas>().eq("whs_type_id", LocAreaType.LOC_AREA_TYPE_CRN.type));
+        if (Objects.isNull(basAreas)) {
+            throw new CoolException("鏁版嵁閿欒锛屽簱鍖轰笉瀛樺湪锛侊紒");
+        }
         // 鍏ュ嚭搴撶被鍨嬪垽鏂�
         if (wrkMast.getIoType() != 103 && wrkMast.getIoType() != 104 && wrkMast.getIoType() != 107) {
             throw new CoolException("褰撳墠鍏ュ嚭搴撶被鍨嬫棤娉曡繘琛屾搷浣�");
@@ -1465,6 +1478,7 @@
         if (wrkMast.getWrkSts() < 11 || wrkMast.getWrkSts() == 15) {
             throw new CoolException("褰撳墠宸ヤ綔鐘舵�佹棤娉曡繘琛屾搷浣�");
         }
+
         // 淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。
 //        if (!wrkDetlLogService.save(wrkMast.getWrkNo())) {
 //            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏妗e巻鍙叉。澶辫触");
@@ -1498,13 +1512,49 @@
             throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�");
         }
         // 淇敼搴撲綅鐘舵�� Q.鎷f枡/鐩樼偣/骞舵澘鍐嶅叆搴�
-        LocMast locMast = locMastService.selectById(wrkMast.getLocNo());
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", wrkMast.getLocNo()));
+        if (Cools.isEmpty(locMast)) {
+            throw new CoolException("搴撲綅涓嶅瓨鍦�:" + wrkMast.getLocNo());
+        }
         locMast.setLocSts("Q");
+        locMast.setAreaId(basAreas.getId());
+        locMast.setAreaName(basAreas.getName());
+        locMast.setBarcode(locMast.getBarcode());
         locMast.setModiTime(now);
         locMast.setModiUser(userId);
         if (!locMastService.updateById(locMast)) {
             throw new CoolException("淇敼搴撲綅鐘舵�佸け璐�");
         }
+
+
+        // .淇敼骞舵墭鍏ュ簱鏄庣粏鎵樼爜
+        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+                        .eq("area_id", locMast.getAreaId())
+                .eq("loc_no", locMast.getLocNo()));
+        if (!Objects.isNull(locDetls) && !locDetls.isEmpty()) {
+            locDetls.forEach(locDetl -> {
+                locDetl.setZpallet(locMast.getBarcode());
+                locDetl.setBarcode(locMast.getBarcode());
+                if (!locDetlService.updateById(locDetl)) {
+                    throw new CoolException("搴撳瓨鏄庣粏淇敼澶辫触锛侊紒");
+                }
+            });
+        }
+
+        // .淇敼浠诲姟妗f槑缁嗘墭鐩樼爜
+        List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
+        if (!Objects.isNull(wrkDetls) && !wrkDetls.isEmpty()) {
+            for (WrkDetl wrkDetl : wrkDetls) {
+                wrkDetl.setZpallet(wrkMast.getBarcode());
+                wrkDetl.setBarcode(wrkMast.getBarcode());
+                if (!wrkDetlService.update(wrkDetl, new EntityWrapper<WrkDetl>()
+                                .eq("matnr", wrkDetl.getMatnr())
+                                .eq("standby1", wrkDetl.getStandby1())
+                        .eq("wrk_no", wrkMast.getWrkNo()))) {
+                    throw new CoolException("浠诲姟妗f槑缁嗕慨鏀瑰け璐ワ紒锛�");
+                }
+            }
+        }
     }
 
     @Override

--
Gitblit v1.9.1