From 08915b05c42b2ba97a8bb0809aeb48802ae63b46 Mon Sep 17 00:00:00 2001
From: skyouc <958836976@qq.com>
Date: 星期五, 27 三月 2026 20:42:32 +0800
Subject: [PATCH] no message

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   43 +++++++++++++++++++++++--------------------
 1 files changed, 23 insertions(+), 20 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 ae8e6bd..aa3be9f 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -517,7 +517,8 @@
     @Transactional(rollbackFor = Exception.class)
     public void checkStockOut(BasDevp staNo, TaskDto taskDto, Long userId) {
         Date now = new Date();
-        List<LocDto> locDtos = taskDto.getLocDtos();
+        List<LocDto> locDtos = taskDto.getLocDtos().stream().distinct().collect(Collectors.toList());
+//        Map<String, List<LocDto>> collect = taskDto.getLocDtos().stream().collect(Collectors.groupingBy(LocDto::getLocNo));
         for (LocDto locDto : locDtos) {
             if (!taskDto.getLocNo().equals(locDto.getLocNo()) && !taskDto.getStaNo().equals(locDto.getStaNo())) {
                 throw new CoolException("璁㈠崟鍑哄簱寮傚父锛岃鑱旂郴绠$悊鍛�");
@@ -554,25 +555,24 @@
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + taskDto.getLocNo());
         }
         // 鐢熸垚宸ヤ綔妗f槑缁�
-        for (LocDto locDto : taskDto.getLocDtos()) {
+        for (LocDto locDto : locDtos) {
             if (locDto.getAnfme() == null || locDto.getAnfme() <= 0.0D) {
                 continue;
             }
 
-            List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>()
+            CheckOrderDetl checkOrderDetls = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
                     .eq("loc_no", locDto.getLocNo())
                     .eq("matnr", locDto.getMatnr())
-                    .eq(!Cools.isEmpty(locDto.getBatch()),"batch", locDto.getBatch())
-                    .eq("order_no", locDto.getOrderNo())
-            );
+                    .eq("supp_code", locDto.getSuppCode())
+                    .eq("order_no", locDto.getOrderNo()));
 
-            if (checkOrderDetls.size() > 1) {
+            if (Objects.isNull(checkOrderDetls)) {
                 throw new CoolException("鏁版嵁澶т簬1,璇锋鏌ユ暟鎹�");
             }
 
             WrkDetl wrkDetl = new WrkDetl();
-            wrkDetl.sync(checkOrderDetls.get(0));
-            wrkDetl.setOrderId(checkOrderDetls.get(0).getId());
+            wrkDetl.sync(checkOrderDetls);
+            wrkDetl.setOrderId(checkOrderDetls.getId());
             wrkDetl.setZpallet(wrkMast.getBarcode());
             wrkDetl.setIoTime(now);
             wrkDetl.setWrkNo(workNo);
@@ -587,8 +587,8 @@
                 throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
             }
             // 淇敼璁㈠崟鏄庣粏
-            checkOrderDetls.get(0).setStatus(2);
-            if (!checkOrderDetlService.updateById(checkOrderDetls.get(0))) {
+            checkOrderDetls.setStatus(2);
+            if (!checkOrderDetlService.updateById(checkOrderDetls)) {
                 throw new CoolException("淇濆瓨璁㈠崟鏄庣粏澶辫触");
             }
         }
@@ -618,9 +618,9 @@
         }
         // 鑾峰彇搴撲綅
         LocCache locCache = locCacheService.selectOne(new EntityWrapper<LocCache>().eq("loc_no", taskDto.getLocNo()));
-        int ioType = (taskDto.isAll() ? 101 : 103);
+        int ioType = 103;
         // 鐢熸垚宸ヤ綔鍙�
-        int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
+        int workNo = commonService.getWorkNo(4);
 
         Task task = new Task();
         task.setWrkNo(workNo)
@@ -690,7 +690,7 @@
             locCache.setLocSts(ioType == 101 ? "R" : "P");
             locCache.setModiUser(userId);
             locCache.setModiTime(now);
-            if (!locCacheService.updateById(locCache)) {
+            if (!locCacheService.update(locCache, new EntityWrapper<LocCache>().eq("loc_no", locCache.getLocNo()))) {
                 throw new CoolException("棰勭害搴撲綅鐘舵�佸け璐ワ紝搴撲綅鍙凤細" + taskDto.getLocNo());
             }
         } else {
@@ -1388,8 +1388,7 @@
 
         if (wrkMast.getIoType() == 107) {
             List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
-            if (!Cools.isEmpty(wrkDetls.get(0).getOrderNo())) {
-
+            if (!Objects.isNull(wrkDetls) && !wrkDetls.isEmpty()) {
                 for (WrkDetl wrkDetl : wrkDetls) {
                     CheckOrderDetl checkOrderDetl = checkOrderDetlService.selectOne(new EntityWrapper<CheckOrderDetl>()
                             .eq("loc_no", wrkMast.getSourceLocNo())
@@ -1397,8 +1396,10 @@
                             .eq("batch", wrkDetl.getBatch())
                             .eq("order_no", wrkDetl.getOrderNo())
                     );
-                    checkOrderDetl.setStatus(1);
-                    checkOrderDetlService.updateById(checkOrderDetl);
+                    if (!Objects.isNull(checkOrderDetl)) {
+                        checkOrderDetl.setStatus(1);
+                        checkOrderDetlService.updateById(checkOrderDetl);
+                    }
                 }
                 CheckOrder checkOrder = checkOrderService.selectOne(new EntityWrapper<CheckOrder>().eq("order_no", wrkDetls.get(0).getOrderNo()));
                 List<CheckOrderDetl> checkOrderDetls = checkOrderDetlService.selectList(new EntityWrapper<CheckOrderDetl>().eq("order_id", checkOrder.getId()));
@@ -1406,8 +1407,10 @@
                 checkOrder.setSettle(is ? 1L : 12L);
                 checkOrderService.updateById(checkOrder);
             }
-
-
+//            if (!Cools.isEmpty(wrkDetls.get(0).getOrderNo())) {
+//
+//
+//            }
         }
 
 //        // 璁㈠崟鍏宠仈

--
Gitblit v1.9.1