From ee052d69dfec198229d541c3e39f45382662983d Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期五, 07 二月 2025 08:16:33 +0800
Subject: [PATCH] 空托盘出库

---
 src/main/java/com/zy/asrs/service/WorkService.java          |    2 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |    2 
 src/main/resources/mapper/LocMastMapper.xml                 |   17 ++++++++
 src/main/java/com/zy/asrs/mapper/LocMastMapper.java         |    8 ++++
 src/main/java/com/zy/common/web/WcsController.java          |   39 ++++++++++++++-----
 5 files changed, 56 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
index f179d73..fcabff3 100644
--- a/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/LocMastMapper.java
@@ -62,4 +62,12 @@
      * @return 搴撲綅鍙�
      */
     String findFirstFrozenLocNo(@Param("locNoList") List<String> locNoList);
+
+    /**
+     * 鏍规嵁鎸囧畾搴撲綅鎺掑彿鍜屽簱浣嶇姸鎬佽幏鍙栦竴涓弧瓒虫潯浠剁殑搴撲綅
+     * @param rowList 鎺掑彿闆嗗悎(涓虹┖鍒欐煡璇㈡墍鏈夋帓)
+     * @param locType 绌烘嫋绫诲瀷
+     * @return 搴撲綅
+     */
+    LocMast queryLocMasterByLocStsAndRow(@Param("rowList") List<Integer> rowList,@Param("locType") String locType);
 }
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index 8d34c6e..c3a472c 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -58,7 +58,7 @@
      * @param param
      * @return
      */
-    public WrkMast emptyPlateOut(EmptyPlateOutParam param);
+    WrkMast emptyPlateOut(EmptyPlateOutParam param);
 
     /**
      * 鐩樼偣鍑哄簱
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 7d91a2d..b2146e7 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -621,7 +621,7 @@
         }
         for (String locNo : param.getLocNos()) {
             // 鑾峰彇宸ヤ綔鍙�
-            int workNo = commonService.getWorkNo(0);
+            int workNo = commonService.getWorkNo(2);
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(locNo);
             if (Cools.isEmpty(locMast)) {
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 37a43f4..059a759 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -8,6 +8,7 @@
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
 import com.zy.asrs.entity.result.FindLocNoAttributeVo;
+import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.*;
 import com.zy.common.CodeRes;
 import com.zy.common.model.LocTypeDto;
@@ -19,9 +20,8 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import javax.annotation.Resource;
+import java.util.*;
 import java.util.stream.Collectors;
 
 /**
@@ -50,6 +50,9 @@
     private RowLastnoService rowLastnoService;
     @Autowired
     private WorkService workService;
+
+    @Resource
+    private LocMastMapper locMastMapper;
 
     @PostMapping("/pakin/loc/v1")
     @ResponseBody
@@ -142,15 +145,31 @@
 
     @PostMapping("auto/emptyOut/v1")
     @ResponseBody
-    public R autoEmptyOut(){
-        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>()
-                .eq("loc_sts", "D"));
-        if (Cools.isEmpty(locMast)) {
-            return R.error("搴撳瓨娌℃湁绌烘澘");
+    public R autoEmptyOut(@RequestBody Map<String,String> emptyPalletSite){
+        // 绌烘墭鐩樼被鍨�
+        String type = emptyPalletSite.get("flag");
+        // 鍑哄簱绔欑偣
+        Integer site = Integer.valueOf(emptyPalletSite.get("site"));
+
+        LocMast locMast;
+
+        // 鍏堟壘娴呭簱浣�
+        locMast = locMastMapper.queryLocMasterByLocStsAndRow(Arrays.asList(2, 3), type);
+
+        // 娴呭簱浣嶆病鏈夊垯鏌ヨ鎵�鏈�
+        if (locMast == null) {
+            locMast = locMastMapper.queryLocMasterByLocStsAndRow(null, type);
         }
+
+        if (locMast == null) {
+            return R.error("搴撳瓨娌℃湁"+type+"绫诲瀷绌烘墭鐩�");
+        }
+
+        String locNo = locMast.getLocNo();
+
         EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
-        emptyPlateOutParam.setOutSite(12);
-        emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locMast.getLocNo()+"");}});
+        emptyPlateOutParam.setOutSite(site);
+        emptyPlateOutParam.setLocNos(new ArrayList<String>(){{add(locNo);}});
         WrkMast wrkMast = workService.emptyPlateOut(emptyPlateOutParam);
         return R.ok(!Cools.isEmpty(wrkMast)? R.ok("鑷姩绌烘墭鍑哄簱鎴愬姛,宸ヤ綔鍙�:" + wrkMast.getWrkNo()) : R.error("鐢熸垚鑷姩绌烘墭鍑哄簱澶辫触"));
     }
diff --git a/src/main/resources/mapper/LocMastMapper.xml b/src/main/resources/mapper/LocMastMapper.xml
index cae15d0..0a468f8 100644
--- a/src/main/resources/mapper/LocMastMapper.xml
+++ b/src/main/resources/mapper/LocMastMapper.xml
@@ -203,5 +203,22 @@
             #{item}
         </foreach>
     </select>
+    <select id="queryLocMasterByLocStsAndRow" resultMap="BaseResultMap">
+        select
+        top 1 *
+        from
+        asr_loc_mast alm
+        where
+        alm.loc_sts = 'D'
+        and loc_type = #{locType}
+        <if test="rowList != null and !rowList.isEmpty()">
+            and alm.row1 in
+            <foreach collection="rowList" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
+        order by
+        lev1,bay1,row1
+    </select>
 
 </mapper>

--
Gitblit v1.9.1