From b51e3b3d5bb721cec65952498d1c2c882d1a01d6 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 15 十二月 2025 17:14:22 +0800
Subject: [PATCH] wms功能完善

---
 src/main/java/com/zy/common/web/WcsController.java |   67 ++++++++++++++++++++++++---------
 1 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index 23e9156..563d1b5 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -7,6 +7,7 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.EmptyPlateOutParam;
+import com.zy.asrs.entity.result.FindLocNoAttributeVo;
 import com.zy.asrs.service.*;
 import com.zy.common.CodeRes;
 import com.zy.common.model.LocTypeDto;
@@ -49,6 +50,8 @@
     private RowLastnoService rowLastnoService;
     @Autowired
     private WorkService workService;
+
+    // TODO锛氱О閲嶃�佹媿鐓т笂鎶ュ瓨鍌紝CTU鏂欑杩愯浆
 
     @PostMapping("/pakin/loc/v1")
     @ResponseBody
@@ -111,7 +114,9 @@
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(12, true);
 
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(rowLastnoService.selectNextWhsType(), 10, 12, null,null,null, locTypeDto);
+        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+
+        StartupDto dto = commonService.getLocNo( 10, 12, findLocNoAttributeVo, locTypeDto);
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -121,8 +126,8 @@
         wrkMast.setIoPri(13D);
         wrkMast.setIoType(10);
         wrkMast.setCrnNo(dto.getCrnNo());
-        wrkMast.setSourceStaNo(dto.getSourceStaNo());
-        wrkMast.setStaNo(dto.getStaNo());
+        wrkMast.setSourceStaNo(dto.getSourceStaNo() + "");
+        wrkMast.setStaNo(dto.getStaNo() + "");
         wrkMast.setLocNo(dto.getLocNo());
         wrkMast.setFullPlt("N"); // 婊℃澘锛歂
         wrkMast.setPicking("N"); // 鎷f枡
@@ -160,22 +165,29 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
-        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
-        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0),batchs.get(0),null, locTypeDto);
-        int workNo = dto.getWorkNo();
+//        List<String> matnrs = waitPakins.stream().map(WaitPakin::getMatnr).distinct().collect(Collectors.toList());
+//        List<String> batchs = waitPakins.stream().map(WaitPakin::getBatch).distinct().collect(Collectors.toList());
+//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(matnrs.get(0), batchs.get(0));
+//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
+//        StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto);
+        // 鑾峰彇绌哄簱浣�
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O").orderBy("lev1").orderBy("bay1").orderBy("row1"));
+        if (locMast == null) {
+            throw new CoolException("鏃犵┖搴撲綅锛�");
+        }
+        int workNo =commonService.getWorkNo(0);
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
         wrkMast.setWrkNo(workNo);
-        wrkMast.setIoTime(new Date());
+        wrkMast.setIoTime(now);
         wrkMast.setWrkSts(2L); // 宸ヤ綔鐘舵�侊細鐢熸垚鍏ュ簱ID
         wrkMast.setIoType(1); // 鍏ュ嚭搴撶姸鎬侊細1.鍏ュ簱
         wrkMast.setIoPri(13D); // 浼樺厛绾�
-        wrkMast.setCrnNo(dto.getCrnNo());
-        wrkMast.setSourceStaNo(dto.getSourceStaNo());
-        wrkMast.setStaNo(dto.getStaNo());
-        wrkMast.setLocNo(dto.getLocNo());
+        wrkMast.setCrnNo(1);
+        wrkMast.setSourceStaNo("104");
+        wrkMast.setStaNo("106");
+        wrkMast.setLocNo(locMast.getLocNo());
         wrkMast.setBarcode(barcode); // 鎵樼洏鐮�
         wrkMast.setFullPlt("Y"); // 婊℃澘锛歒
         wrkMast.setPicking("N"); // 鎷f枡
@@ -206,7 +218,7 @@
         Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
                 .eq("zpallet", barcode);
         WaitPakin setParam = new WaitPakin();
-        setParam.setLocNo(dto.getLocNo());
+        setParam.setLocNo(locMast.getLocNo());
         setParam.setIoStatus("Y");
         setParam.setModiTime(now);
         if (!waitPakinService.update(setParam, wrapper)) {
@@ -219,7 +231,6 @@
             throw new CoolException("鏇存柊婧愮珯澶辫触");
         }
         // 鏇存柊鐩爣搴撲綅鐘舵��
-        LocMast locMast = locMastService.selectById(dto.getLocNo());
         if (locMast.getLocSts().equals("O")){
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(now);
@@ -227,8 +238,14 @@
                 throw new CoolException("鏀瑰彉搴撲綅鐘舵�佸け璐�");
             }
         } else {
-            throw new CoolException(dto.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
+            throw new CoolException(locMast.getLocNo()+"鐩爣搴撲綅宸茶鍗犵敤");
         }
+        StartupDto dto = new StartupDto();
+        dto.setWorkNo(workNo);
+        dto.setLocNo(locMast.getLocNo());
+        dto.setSourceStaNo(104);
+        dto.setStaNo(106);
+        dto.setCrnNo(1);
         return dto;
     }
 
@@ -237,7 +254,20 @@
         // 婧愮珯鐐圭姸鎬佹娴�
         BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
         // 妫�绱㈠簱浣�
-        StartupDto dto = commonService.getLocNo(1, 10, devpNo, null,null,null, locTypeDto);
+//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
+//
+//        StartupDto dto = commonService.getLocNo( 10, devpNo, findLocNoAttributeVo, locTypeDto);
+
+        LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_sts", "O").orderBy("lev1").orderBy("bay1").orderBy("row1"));
+        if (locMast == null) {
+            throw new CoolException("鏃犵┖搴撲綅锛�");
+        }
+        StartupDto dto = new StartupDto();
+        dto.setWorkNo(commonService.getWorkNo(0));
+        dto.setCrnNo(1);
+        dto.setSourceStaNo(104);
+        dto.setStaNo(106);
+        dto.setLocNo(locMast.getLocNo());
         int workNo = dto.getWorkNo();
         // 鐢熸垚宸ヤ綔妗�
         WrkMast wrkMast = new WrkMast();
@@ -247,8 +277,8 @@
         wrkMast.setIoType(10); // 鍏ュ嚭搴撶姸鎬侊細10.绌烘澘鍏ュ簱
         wrkMast.setIoPri(13D); // 浼樺厛绾�
         wrkMast.setCrnNo(dto.getCrnNo());
-        wrkMast.setSourceStaNo(dto.getSourceStaNo());
-        wrkMast.setStaNo(dto.getStaNo());
+        wrkMast.setSourceStaNo(dto.getSourceStaNo() + "");
+        wrkMast.setStaNo(dto.getStaNo() + "");
         wrkMast.setLocNo(dto.getLocNo());
         wrkMast.setFullPlt("N"); // 婊℃澘
         wrkMast.setPicking("N"); // 鎷f枡
@@ -271,7 +301,6 @@
             throw new CoolException("鏇存柊婧愮珯澶辫触");
         }
         // 鏇存柊鐩爣搴撲綅鐘舵��
-        LocMast locMast = locMastService.selectById(dto.getLocNo());
         if (locMast.getLocSts().equals("O")){
             locMast.setLocSts("S"); // S.鍏ュ簱棰勭害
             locMast.setModiTime(new Date());

--
Gitblit v1.9.1