From 8ad01551a218f3dfa615ac3b5c4358ce5711c1d2 Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期一, 15 十二月 2025 10:15:14 +0800
Subject: [PATCH] #pda

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   69 +++++++++++++++++++++-------------
 1 files changed, 42 insertions(+), 27 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 a25fd6d..3d1f3a2 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -188,33 +188,37 @@
     @Override
     @Transactional
     public void startupFullTakeStore(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(),paramLocDetl.getBrand()
-                        ,paramLocDetl.getStandby1(),paramLocDetl.getStandby2(),paramLocDetl.getStandby3(),paramLocDetl.getBoxType1(),paramLocDetl.getBoxType2(),paramLocDetl.getBoxType3());
-                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+        try{
+            // 鐩爣绔欑偣鐘舵�佹娴�
+            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(),paramLocDetl.getBrand()
+                            ,paramLocDetl.getStandby1(),paramLocDetl.getStandby2(),paramLocDetl.getStandby3(),paramLocDetl.getBoxType1(),paramLocDetl.getBoxType2(),paramLocDetl.getBoxType3());
+                    if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+                }
             }
-        }
-        if (!locDetlDtos.isEmpty()) {
-            // 搴撲綅鍙烽泦鍚�
-            List<String> locNoList = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList());
-            String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(locNoList);
-            if (firstFrozenLocNo != null) {
-                throw new CoolException(firstFrozenLocNo + "搴撲綅宸茶鍐荤粨!");
+            if (!locDetlDtos.isEmpty()) {
+                // 搴撲綅鍙烽泦鍚�
+                List<String> locNoList = param.getLocDetls().stream().map(StockOutParam.LocDetl::getLocNo).distinct().collect(Collectors.toList());
+                String firstFrozenLocNo = locMastMapper.findFirstFrozenLocNo(locNoList);
+                if (firstFrozenLocNo != null) {
+                    throw new CoolException(firstFrozenLocNo + "搴撲綅宸茶鍐荤粨!");
+                }
+                LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+                if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
+                    // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
+                    stockOut(staNo, locDetlDtos, null, userId);
+                }else {
+                    throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
+                }
+            } else {
+                throw new CoolException("搴撳瓨涓嶅瓨鍦�");
             }
-            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
-            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D") ){
-                // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
-                stockOut(staNo, locDetlDtos, null, userId);
-            }else {
-                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細"+locMast.getLocNo()+" 銆佸綋鍓嶇姸鎬侊細"+locMast.getLocSts()+"-"+locMast.getLocSts$());
-            }
-        } else {
-            throw new CoolException("搴撳瓨涓嶅瓨鍦�");
+        } catch (Exception e){
+            throw new CoolException(e.getMessage());
         }
     }
 
@@ -357,6 +361,7 @@
             wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
             wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
             wrkMast.setSourceLocNo(dto.getLocNo()); // 婧愬簱浣�
+            wrkMast.setBarcode(locMast.getBarcode());
             wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
             wrkMast.setPicking("N"); // 鎷f枡
             wrkMast.setExitMk("N"); // 閫�鍑�
@@ -454,6 +459,7 @@
                     throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細"+dto.getLocNo());
                 }
             } else {
+                log.error(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
                 throw new CoolException(dto.getLocNo() + "搴撲綅涓嶆槸鍦ㄥ簱鐘舵��");
             }
 
@@ -461,12 +467,20 @@
                 // 澧炲姞AGV搴撳瓨涓浆鏁伴噺
                 if (basAgvLocDetls != null){
                     for (BasAgvLocDetl basAgvLocDetl : basAgvLocDetls) {
-                        basAgvLocDetlService.insert(basAgvLocDetl);
+                        try{
+                            basAgvLocDetlService.insert(basAgvLocDetl);
+                        } catch (Exception e){
+                            log.error("澧炲姞AGV搴撳瓨涓浆鏁伴噺澶辫触");
+                        }
                     }
                 }
                 if (basAgvWrkDetls != null){
                     for (BasAgvWrkDetl basAgvWrkDetl : basAgvWrkDetls) {
-                        basAgvWrkDetlService.insert(basAgvWrkDetl);
+                        try{
+                            basAgvWrkDetlService.insert(basAgvWrkDetl);
+                        } catch (Exception e){
+                            log.error("澧炲姞AGV搴撳瓨涓浆鏁伴噺澶辫触");
+                        }
                     }
                 }
 
@@ -513,6 +527,7 @@
         wrkMast.setIoType(ioType); // 鍏ュ嚭搴撶姸鎬�
         wrkMast.setIoPri(13D); // 浼樺厛绾э細13
         wrkMast.setCrnNo(locMast.getCrnNo());
+        wrkMast.setBarcode(locMast.getBarcode());
         wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 婧愮珯
         wrkMast.setStaNo(staDesc.getStnNo()); // 鐩爣绔�
         wrkMast.setSourceLocNo(taskDto.getLocNo()); // 婧愬簱浣�

--
Gitblit v1.9.1