From c1eee79b96d70a3e93d84f88865dcd0bb30f0ab3 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期日, 24 四月 2022 23:33:00 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/WorkService.java             |    3 ++-
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |   14 +++++++++-----
 src/main/java/com/zy/common/model/enums/IoWorkType.java        |   12 ++++++++++++
 src/main/java/com/zy/asrs/service/StaDescService.java          |    2 ++
 src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java |   13 +++++++++++++
 5 files changed, 38 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/StaDescService.java b/src/main/java/com/zy/asrs/service/StaDescService.java
index fcbe144..4d47cf9 100644
--- a/src/main/java/com/zy/asrs/service/StaDescService.java
+++ b/src/main/java/com/zy/asrs/service/StaDescService.java
@@ -11,4 +11,6 @@
 
     StaDesc queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo);
 
+    StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index e291128..490e1d2 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -9,6 +9,7 @@
 import com.zy.common.model.LocDetlDto;
 import com.zy.common.model.StartupDto;
 import com.zy.common.model.TaskDto;
+import com.zy.common.model.enums.IoWorkType;
 
 import java.util.List;
 
@@ -31,7 +32,7 @@
      * @param locDetls 寰呭嚭搴撶墿鏂�
      * @param ioType 鍏ュ嚭搴撶被鍨�
      */
-    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, Integer ioType, Long userId);
+    void stockOut(BasDevp staNo, List<LocDetlDto> locDetls, IoWorkType ioWorkType, Long userId);
 
     void stockOut(BasDevp staNo, TaskDto taskDto, Long userId);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
index 733612b..c92d7e8 100644
--- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -28,6 +28,19 @@
                 .eq("crn_no", crnNo);
         StaDesc staDesc = this.selectOne(wrapper);
         if (staDesc == null) {
+            throw new CoolException("鍑哄簱璺緞涓嶅瓨鍦�");
+        }
+        return staDesc;
+    }
+
+    @Override
+    public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo) {
+        Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                .eq("type_no", typeNo)
+                .eq("stn_no", stnNo)
+                .eq("crn_no", crnNo);
+        StaDesc staDesc = this.selectOne(wrapper);
+        if (staDesc == null) {
             wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", typeNo)
                     .eq("crn_no", crnNo);
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 b09e2c4..a418ebe 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -14,6 +14,7 @@
 import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
 import com.zy.common.model.*;
+import com.zy.common.model.enums.IoWorkType;
 import com.zy.common.model.enums.WorkNoType;
 import com.zy.common.service.CommonService;
 import com.zy.common.web.WcsController;
@@ -168,7 +169,7 @@
 
     @Override
     @Transactional
-    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, Integer ioType, Long userId) {
+    public void stockOut(BasDevp staNo, List<LocDetlDto> locDetlDtos, IoWorkType ioWorkType, Long userId) {
         Date now = new Date();
         // 鍚堝苟鍚岀被椤�
         Set<String> locNos = new HashSet<>();
@@ -187,13 +188,16 @@
                 dtos.add(new OutLocDto(locNo, locDetlDto));
             }
         }
-
+        Integer ioType = null;
         // 鐢熸垚宸ヤ綔妗�
         for (OutLocDto dto : dtos) {
             // 鍒ゆ柇鍏ュ嚭搴撶被鍨嬶細101.鍏ㄦ澘鍑哄簱 or 103.鎷f枡鍑哄簱
-            if (ioType == null) {
+            if (ioWorkType == null) {
                 ioType = dto.isAll() ? 101 : 103;
+            } else if (ioWorkType.equals(IoWorkType.CHECK_OUT)) {
+                ioType = 107;
             }
+            assert ioType != null;
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
             // 鑾峰彇璺緞
@@ -270,7 +274,7 @@
         LocMast locMast = locMastService.selectById(taskDto.getLocNo());
         // 鑾峰彇璺緞
         int ioType = taskDto.isAll() ? 101 : 103;
-        StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), staNo.getDevNo());
+        StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
         // 鐢熸垚宸ヤ綔妗�
@@ -466,7 +470,7 @@
         }
         if (!locDetlDtos.isEmpty()) {
             // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
-            stockOut(staNo, locDetlDtos, 107, userId);
+            stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
         } else {
             throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
         }
diff --git a/src/main/java/com/zy/common/model/enums/IoWorkType.java b/src/main/java/com/zy/common/model/enums/IoWorkType.java
new file mode 100644
index 0000000..0077d5c
--- /dev/null
+++ b/src/main/java/com/zy/common/model/enums/IoWorkType.java
@@ -0,0 +1,12 @@
+package com.zy.common.model.enums;
+
+public enum IoWorkType {
+
+    ALL_IN,
+    PICK_IN,
+    ALL_OUT,
+    PICK_OUT,
+    CHECK_OUT,
+    ;
+
+}

--
Gitblit v1.9.1