From 6f7f9e6fe40ffb1fc2cf26db39c4546bbb844d08 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期四, 30 五月 2024 09:47:59 +0800
Subject: [PATCH] #orderDetlService.selectItem+hostid

---
 zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java |   35 ++++++++++++++++++++++++++++++++---
 1 files changed, 32 insertions(+), 3 deletions(-)

diff --git a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
index 06afdd8..0093790 100644
--- a/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
+++ b/zy-asrs-common/src/main/java/com/zy/asrs/common/wms/service/impl/WorkServiceImpl.java
@@ -292,6 +292,26 @@
     }
 
     @Override
+    public void locCheckOut(StockOutParam param, Long userId, Long hostId) {
+        // 鐩爣绔欑偣鐘舵�佹娴�
+        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite(), false, hostId);
+        // 鑾峰彇搴撲綅鏄庣粏
+        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(), hostId);
+                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
+            }
+        }
+        if (!locDetlDtos.isEmpty()) {
+            // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
+            stockOut(param.getOutSite(), locDetlDtos, IoWorkType.CHECK_OUT, userId, hostId);
+        } else {
+            throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
+        }
+    }
+
+    @Override
     @Transactional
     public void stockOut(Integer staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId, Long hostId) {
         Date now = new Date();
@@ -325,7 +345,7 @@
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, dto.getLocNo()).eq(LocMast::getHostId, hostId));
             // 鑾峰彇璺緞
-            StaDesc staDesc = staDescService.getOne(new LambdaQueryWrapper<StaDesc>().eq(StaDesc::getTypeNo, ioType).eq(StaDesc::getDeviceStn, staNo).eq(StaDesc::getHostId, hostId));
+            StaDesc staDesc = staDescService.getOne(new LambdaQueryWrapper<StaDesc>().eq(StaDesc::getTypeNo, ioType).eq(StaDesc::getStnNo, staNo).eq(StaDesc::getHostId, hostId));
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
             // 鐢熸垚宸ヤ綔妗�
@@ -348,6 +368,7 @@
             wrkMast.setModiUser(String.valueOf(userId));
             wrkMast.setModiTime(now);
             wrkMast.setHostId(hostId);
+            wrkMast.setCrnNo(staDesc.getDeviceNo());
             if (!wrkMastService.save(wrkMast)) {
                 throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐ワ紝鍑哄簱搴撲綅鍙凤細" + dto.getLocNo());
             }
@@ -437,9 +458,9 @@
             Order order = orderService.getOne(new LambdaQueryWrapper<Order>()
                     .eq(Order::getOrderNo, locDto.getOrderNo())
                     .eq(Order::getHostId, hostId));
-            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), locDto.getMatnr(), locDto.getBatch());
+            OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), locDto.getMatnr(), locDto.getBatch(),hostId);
             if (orderDetl == null) {
-                orderDetl = orderDetlService.selectItem(order.getId(), locDto.getMatnr(), null);
+                orderDetl = orderDetlService.selectItem(order.getId(), locDto.getMatnr(), null,hostId);
             }
             LocDetl locDetl = locDetlService.selectItem(locDto.getLocNo(), locDto.getMatnr(), locDto.getBatch(), hostId);
             if (locDetl == null || locDetl.getAnfme() < locDto.getAnfme()) {
@@ -518,6 +539,14 @@
         if (Cools.isEmpty(wrkMast)) {
             throw new CoolException(workNo + "宸ヤ綔妗d笉瀛樺湪");
         }
+
+        if (wrkMast.getIoType() == 300) {
+            //RGV璋冨害浠诲姟
+            //鍒犻櫎宸ヤ綔妗�
+            wrkMastService.removeById(wrkMast.getId());
+            return;
+        }
+
         String locNo = ""; // 寰呬慨鏀圭洰鏍囧簱浣�
         String locSts = ""; // 寰呬慨鏀圭洰鏍囧簱浣嶇姸鎬�
         // 鍏ュ簱鍙栨秷锛堜慨鏀圭洰鏍囧簱浣嶏級

--
Gitblit v1.9.1