From 86c69620f1bb3976f01b726d3d1804527474898f Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期一, 24 三月 2025 09:34:01 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/LocMastController.java |    4 +
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   12 ++++++
 src/main/java/com/zy/common/web/WcsController.java          |    4 +
 src/main/java/com/zy/common/service/CommonService.java      |   65 ++++++++++++++++++++------------
 4 files changed, 59 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/LocMastController.java b/src/main/java/com/zy/asrs/controller/LocMastController.java
index ef1adee..7fa7135 100644
--- a/src/main/java/com/zy/asrs/controller/LocMastController.java
+++ b/src/main/java/com/zy/asrs/controller/LocMastController.java
@@ -18,11 +18,12 @@
 import com.zy.common.entity.Parameter;
 import com.zy.common.model.Shelves;
 import com.zy.common.web.BaseController;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.*;
-
+@Slf4j
 @RestController
 public class LocMastController extends BaseController {
 
@@ -92,6 +93,7 @@
 	@RequestMapping(value = "/locMast/update/auth")
 	@ManagerAuth(memo = "搴撲綅淇敼")
     public R update(LocMast locMast){
+        log.info("搴撲綅鐘舵�佷慨鏀癸細"+locMast.toString());
         if (locMast.getBay1() == 17 || locMast.getBay1() == 18){
             return R.error("17鍒楀拰18鍒楃姝慨鏀�");
         }
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 a8329eb..50c5b9e 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -212,6 +212,10 @@
             assert ioType != null;
             // 鑾峰彇搴撲綅
             LocMast locMast = locMastService.selectById(dto.getLocNo());
+            //zc
+            if (!locMast.getLocSts().equals("F")){
+                throw new CoolException(locMast.getLocNo()+"璇ュ簱浣嶄笉鏄湪搴撶姸鎬�");
+            }
 
             Integer outSta = staNo.getDevNo();
 //            //2鍙峰爢鍨涙満鍏ㄦ澘鍑哄簱绔欐寚瀹氫负204绔欙紝鎷f枡绔欐寚瀹氫负202
@@ -444,6 +448,10 @@
             if (Cools.isEmpty(locMast)) {
                 throw new CoolException(locNo+"搴撲綅涓嶅瓨鍦�");
             }
+            //zc
+            if (!locMast.getLocSts().equals("D")){
+                throw new CoolException(locNo+"搴撲綅鐘舵�佷笉瀵�");
+            }
             // 鑾峰彇婧愮珯
             Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                     .eq("type_no", 110)
@@ -588,6 +596,10 @@
         if (!sourceLoc.getCrnNo().equals(loc.getCrnNo())) {
             throw new CoolException("绉昏浆搴撲綅灞炰簬涓嶅悓鍫嗗灈鏈�");
         }
+        //zc
+        if (!loc.getLocSts().equals("F")){
+            throw new CoolException(locNo+"搴撲綅鐘舵�佷笉瀵�");
+        }
         Date now = new Date();
         // 鑾峰彇宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.PICK.type);
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index e901381..78b8010 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -19,6 +19,7 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -123,7 +124,7 @@
         }
 
         //鎼滅储鏁翠釜绌哄簱浣嶇粍
-        locMast = getLocNoStepSingle(locTypeDto,sourceStaNo);
+        locMast = getLocNoStepSingle(locTypeDto, sourceStaNo);
         if (locMast != null) {
             //鎵惧埌搴撲綅锛岃繑鍥瀌to
             return getLocNoStep6(staDescId, sourceStaNo, locMast);//杩斿洖dto
@@ -139,38 +140,54 @@
         LocMast locMast = null;
 
         List<StaDesc> staDescs = staDescService.selectList(new EntityWrapper<StaDesc>().eq("type_no", 1).eq("stn_no", sourceStaNo));
-
+        int num = 0;
+        int crn_no = 1;
         for (StaDesc staDesc : staDescs) {
-            //鍗曞搧
             List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1(), staDesc.getCrnNo());//鎼滅储璐х墿
+            int temp = locMast == null ? 0 : locMasts.size();
+            if (num <= temp) {
+                num = temp;
+                crn_no = staDesc.getCrnNo();
+            }
+        }
+        //for (StaDesc staDesc : staDescs) {
+        //鍗曞搧
+        List<LocMast> locMasts = locMastService.selectAreaEmpty(locTypeDto.getLocType1(), crn_no);//鎼滅储璐х墿
 
-            for (LocMast mast : locMasts) {
-                LocMast tmp = null;
-                boolean groupLoc = Utils.isShallowLoc(slaveProperties, mast.getLocNo());
-                if (groupLoc) {
-                    String shallowLoc = Utils.getDeepLoc(slaveProperties, mast.getLocNo());
-                    LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
-                            .eq("loc_no", shallowLoc));
-                    if (!Cools.isEmpty(locMast2)) {
-                        if (locMast2.getLocSts().equals("F") || locMast2.getLocSts().equals("D")) {
-                            tmp = mast;
-                            if (!Cools.isEmpty(mast)) {
-                                if (mast.getLocSts().equals("O")) {
-                                    tmp = mast;
-                                }
+        for (LocMast mast : locMasts) {
+            LocMast tmp = null;
+            boolean groupLoc = Utils.isShallowLoc(slaveProperties, mast.getLocNo());
+            if (groupLoc) {
+                String shallowLoc = Utils.getDeepLoc(slaveProperties, mast.getLocNo());
+                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
+                        .eq("loc_no", shallowLoc));
+                if (!Cools.isEmpty(locMast2)) {
+                    if (locMast2.getLocSts().equals("F") || locMast2.getLocSts().equals("D")) {
+                        tmp = mast;
+                        if (!Cools.isEmpty(mast)) {
+                            if (mast.getLocSts().equals("O")) {
+                                tmp = mast;
                             }
                         }
-                        //棰勭暀绌哄簱浣�
-                        if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
-                            locMast = tmp;
-                            return locMast;
-                        }
                     }
-
+                    //棰勭暀绌哄簱浣�
+                    if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
+                        locMast = tmp;
+                        return locMast;
+                    }
                 }
 
-
+            } else {
+                tmp = mast;
+                //棰勭暀绌哄簱浣�
+                if (tmp != null && locMastService.checkEmptyCount(mast, 10)) {
+                    locMast = tmp;
+                    return locMast;
+                }
             }
+
+
+            // }
         }
         return locMast;
     }
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index f15f562..721258a 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -468,7 +468,9 @@
             wrkMast.setWrkSts(2L);
             wrkMast.setSourceStaNo(2106);
             wrkMast.setStaNo(staNo);
-            wrkMast.setLocNo(wrkMast.getSourceLocNo());
+            wrkMast.setLocNo(wrkMast.getSourceLocNo(
+
+            ));
             wrkMast.setSourceLocNo("");
             wrkMast.setModiTime(now);
             if (!wrkMastService.updateById(wrkMast)) {

--
Gitblit v1.9.1