From d18505cc87fa30a5b202057bbcc4236986efc80a Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期三, 11 三月 2026 13:16:55 +0800
Subject: [PATCH] 纽维盛wms初始化-截至现在wms2.0已完善(带数据库)

---
 src/main/java/com/zy/common/service/CommonService.java |   71 ++++++++++++++++++++++++++++++++++-
 1 files changed, 68 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 65775b0..0398d40 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -7,6 +7,7 @@
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.result.FindLocNoAttributeVo;
+import com.zy.asrs.mapper.LocMastMapper;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.asrs.utils.VersionUtils;
@@ -18,7 +19,9 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * 璐ф灦鏍稿績鍔熻兘
@@ -445,7 +448,7 @@
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = getWorkNo(0);
         // 杩斿洖dto
-        startupDto.setWorkNo(workNo);
+        startupDto.setTaskNo(workNo);
         startupDto.setCrnNo(crnNo);
         startupDto.setSourceStaNo(sourceStaNo);
         startupDto.setLocNo(locNo);
@@ -890,7 +893,7 @@
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = getWorkNo(0);
         // 杩斿洖dto
-        startupDto.setWorkNo(workNo);
+        startupDto.setTaskNo(workNo);
         startupDto.setCrnNo(crnNo);
         startupDto.setSourceStaNo(sourceStaNo);
         startupDto.setLocNo(locNo);
@@ -1003,7 +1006,7 @@
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = getWorkNo(0);
         // 杩斿洖dto
-        startupDto.setWorkNo(workNo);
+        startupDto.setTaskNo(workNo);
         startupDto.setCrnNo(crnNo);
         startupDto.setSourceStaNo(sourceStaNo);
         startupDto.setLocNo(locNo);
@@ -1024,4 +1027,66 @@
         }
     }
 
+    @Resource
+    private LocMastMapper locMastMapper;
+
+    public StartupDto getLocNoNew(int ioType, Integer sourceStaNo, Integer locType, List<Integer> rows) {
+        // 瀵绘壘鍒扮殑搴撲綅
+        LocMast locMast = null;
+
+        // 鎸夊簱浣嶇被鍨嬭幏鍙栧簱浣�
+        List<LocMast> locMasts = locMastMapper.selectLocByTypeAndRowsToList(locType,rows);
+
+        // todo 濡傛灉褰撳墠绫诲瀷搴撲綅鍓╀綑涓嶅锛屾槸涓�鐩存斁婊★紝杩樻槸鍏煎鍒颁笅涓�绉嶅簱浣嶇被鍨�
+        // 鑰冭檻绉诲簱闇�瑕佸悓绫诲瀷搴撲綅锛岃繖閲岄檺鍒朵笉鑳芥斁婊★紝鍏煎涓嬩竴绉嶅簱浣嶇被鍨�
+        if (locMasts.size() <= 4) {
+            switch (locType) {
+                case 0:
+                    return getLocNoNew(ioType, sourceStaNo, 1,rows);
+                case 1:
+                    return getLocNoNew(ioType, sourceStaNo, 2,rows);
+                case 2:
+                    return getLocNoNew(ioType, sourceStaNo, 3,rows);
+                case 3:
+                    log.warn("褰撳墠搴撲綅鎺掞細{}锛屽墿浣檣}涓敤浜庣Щ搴擄紝鏃犳硶鍗犵敤",rows,locMasts.size());
+                    return null;
+                default:
+            }
+        }
+
+        // 鍏堝彇娣卞簱浣�
+        Optional<LocMast> first = locMasts.stream().filter(o -> o.getRow1() == 1 || o.getRow1() == 4 || o.getRow1() == 5 || o.getRow1() == 8|| o.getRow1() == 9 || o.getRow1() == 12).findFirst();
+        if (first.isPresent()) {
+            locMast = first.get();
+        } else {
+            // 娣卞簱浣嶉噷闈㈡病鏈変粠娴呭簱浣嶉噷闈㈠彇
+            Optional<LocMast> first2 = locMasts.stream().filter(o -> o.getRow1() == 2 || o.getRow1() == 3 || o.getRow1() == 6 || o.getRow1() == 7 || o.getRow1() == 10 || o.getRow1() == 11).findFirst();
+            if(first2.isPresent()) {
+                locMast = first2.get();
+            }
+        }
+
+        if (locMast == null) {
+            return null;
+        }
+
+        // 鏍规嵁鍏ュ簱绫诲瀷鍜屾簮绔欑偣鑾峰彇宸ヤ綔璺緞
+//        StaDesc staDesc = staDescService.selectOne(new EntityWrapper<StaDesc>().eq("type_no", ioType).eq("stn_no", sourceStaNo).eq("crn_no",locMast.getCrnNo()));
+//        if (staDesc == null) {
+//            log.error("鑾峰彇宸ヤ綔璺緞寮傚父,绫诲瀷锛歿}锛屾簮绔欑偣锛歿}锛屽簱浣嶏細{}",ioType,sourceStaNo,locMast.getLocNo());
+//            return null;
+//        }
+        // 鐢熸垚宸ヤ綔鍙�
+        int workNo = getWorkNo(0);
+        // 杩斿洖dto
+        StartupDto startupDto = new StartupDto();
+        startupDto.setTaskNo(workNo);
+        startupDto.setCrnNo(locMast.getCrnNo());
+        startupDto.setSourceStaNo(sourceStaNo);
+        startupDto.setStaNo(0);
+        startupDto.setLocNo(locMast.getLocNo());
+        startupDto.setTaskPri(13D);
+
+        return startupDto;
+    }
 }

--
Gitblit v1.9.1