From 230615d093a235e2e481355edb47f37e380b3069 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 07 六月 2025 08:09:04 +0800
Subject: [PATCH] #app

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 107 insertions(+), 4 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 1e71210..e0ea69d 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -91,6 +91,9 @@
     @Resource
     private LocMastMapper locMastMapper;
 
+    @Resource
+    private OrderPakoutService orderPakOutService;
+
     @Override
     @Transactional
     public String startupFullPutStore(FullStoreParam param, Long userId) {
@@ -103,9 +106,9 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getDevpNo(), true);
         // 妫�绱㈠簱浣�
         LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
-        List<String> matnrs = param.getList().stream().map(FullStoreParam.MatCodeStore::getMatnr).distinct().collect(Collectors.toList());
+//        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());
-        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0));
+        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(param.getList().get(0));
         StartupDto dto = commonService.getLocNo(1, param.getDevpNo(), findLocNoAttributeVo,locTypeDto);
         if (Cools.isEmpty(dto)){
             throw new CoolException("鏌ヨ搴撲綅澶辫触锛侊紒==銆媠tartupFullPutStore ==銆� commonService.getLocNo");
@@ -396,8 +399,10 @@
         }
         // 鑾峰彇搴撲綅
         LocMast locMast = locMastService.selectById(taskDto.getLocNo());
-        // 鑾峰彇璺緞
-        int ioType = taskDto.isAll() ? 101 : 103;
+        // 鍒ゆ柇鏄惁鏄洏鐐瑰崟
+        String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
+        OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo);
+        int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103);
         StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
@@ -847,6 +852,31 @@
 
         List<LocDetlAdjustParam.LocDetlAdjust> list = param.getList();
 
+        // 娣诲姞鍘嗗彶宸ヤ綔涓绘。
+        WrkMastLog wrkMast = new WrkMastLog();
+        wrkMast.setIoTime(now);
+        wrkMast.setWrkSts(5);
+        wrkMast.setIoPri(13D); // 浼樺厛绾�
+        wrkMast.setCrnNo(locMast.getCrnNo());
+        wrkMast.setSourceLocNo(locMast.getLocNo());
+        wrkMast.setLocNo(locMast.getLocNo());
+        wrkMast.setBarcode(locMast.getBarcode()); // 鎵樼洏鐮�
+        wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
+        wrkMast.setPicking("N"); // 鎷f枡
+        wrkMast.setExitMk("N"); // 閫�鍑�
+        wrkMast.setEmptyMk("N"); // 绌烘澘
+        wrkMast.setLinkMis("Y");
+        // 鎿嶄綔浜哄憳鏁版嵁
+        wrkMast.setAppeTime(now);
+        wrkMast.setModiTime(now);
+        wrkMast.setAppeUser(userId);
+        wrkMast.setModiUser(userId);
+
+        // 澧炲垹鏀瑰彧鍒涘缓涓�娆″伐浣滀富妗�
+        boolean updateFlag = true;
+        boolean deleteFlag = true;
+        boolean addFlag = true;
+
         // 淇敼鏁伴噺
         Iterator<LocDetl> iterator = locDetls.iterator();
         while (iterator.hasNext()) {
@@ -876,6 +906,30 @@
                         adjDetl.setAppeTime(now);
                         adjDetl.setAppeUser(userId);
                         adjDetlService.save(adjDetl, userId);
+
+                        if (updateFlag) {
+                            wrkMast.setWrkNo(commonService.getWorkNo(3));
+                            wrkMast.setIoType(23);
+                            boolean res = wrkMastLogService.insert(wrkMast);
+                            if (!res) {
+                                throw new CoolException("搴撳瓨璋冩暣-淇敼 淇濆瓨宸ヤ綔妗eけ璐�");
+                            }
+                            updateFlag = false;
+                        }
+
+                        // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏
+                        WrkDetlLog wrkDetl = new WrkDetlLog();
+                        wrkDetl.sync(locDetl);
+                        wrkDetl.setWrkNo(wrkMast.getWrkNo());
+                        wrkDetl.setIoTime(wrkMast.getIoTime());
+                        wrkDetl.setAnfme(adjust.getCount());
+                        wrkDetl.setAppeTime(now);
+                        wrkDetl.setModiTime(now);
+                        wrkMast.setAppeUser(userId);
+                        wrkMast.setModiUser(userId);
+                        if (!wrkDetlLogService.insert(wrkDetl)) {
+                            throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+                        }
                     }
                     iterator.remove();
                     iterator1.remove();
@@ -902,6 +956,30 @@
             adjDetl.setAppeTime(now);
             adjDetl.setAppeUser(userId);
             adjDetlService.save(adjDetl, userId);
+
+            if (deleteFlag) {
+                wrkMast.setWrkNo(commonService.getWorkNo(3));
+                wrkMast.setIoType(22);
+                boolean res = wrkMastLogService.insert(wrkMast);
+                if (!res) {
+                    throw new CoolException("搴撳瓨璋冩暣-鍒犻櫎 淇濆瓨宸ヤ綔妗eけ璐�");
+                }
+                deleteFlag = false;
+            }
+
+            // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏
+            WrkDetlLog wrkDetl = new WrkDetlLog();
+            wrkDetl.sync(locDetl);
+            wrkDetl.setWrkNo(wrkMast.getWrkNo());
+            wrkDetl.setIoTime(wrkMast.getIoTime());
+            wrkDetl.setAnfme(0.0);
+            wrkDetl.setAppeTime(now);
+            wrkDetl.setModiTime(now);
+            wrkMast.setAppeUser(userId);
+            wrkMast.setModiUser(userId);
+            if (!wrkDetlLogService.insert(wrkDetl)) {
+                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+            }
         }
 
         // 娣诲姞搴撳瓨
@@ -912,6 +990,7 @@
             locDetl.sync(mat);
             locDetl.setBatch(adjust.getBatch());
             locDetl.setLocNo(locMast.getLocNo());
+            locDetl.setZpallet(locMast.getBarcode());
             locDetl.setAnfme(adjust.getCount()); // 鏁伴噺
             locDetl.setModiUser(userId); // 鎿嶄綔浜哄憳淇℃伅
             locDetl.setModiTime(now);
@@ -932,6 +1011,30 @@
             adjDetl.setAppeTime(now);
             adjDetl.setAppeUser(userId);
             adjDetlService.save(adjDetl, userId);
+
+            if (addFlag) {
+                wrkMast.setWrkNo(commonService.getWorkNo(3));
+                wrkMast.setIoType(21);
+                boolean res = wrkMastLogService.insert(wrkMast);
+                if (!res) {
+                    throw new CoolException("搴撳瓨璋冩暣-鏂板 淇濆瓨宸ヤ綔妗eけ璐�");
+                }
+                addFlag = false;
+            }
+
+            // 娣诲姞鍘嗗彶宸ヤ綔鏄庣粏
+            WrkDetlLog wrkDetl = new WrkDetlLog();
+            wrkDetl.sync(locDetl);
+            wrkDetl.setWrkNo(wrkMast.getWrkNo());
+            wrkDetl.setIoTime(wrkMast.getIoTime());
+            wrkDetl.setAnfme(adjust.getCount());
+            wrkDetl.setAppeTime(now);
+            wrkDetl.setModiTime(now);
+            wrkMast.setAppeUser(userId);
+            wrkMast.setModiUser(userId);
+            if (!wrkDetlLogService.insert(wrkDetl)) {
+                throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+            }
         }
         // 淇敼搴撲綅鐘舵��
         int count = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));

--
Gitblit v1.9.1