From 7e8c672d13a4d5c9ef6d8b62f6fc1ce092a6c123 Mon Sep 17 00:00:00 2001
From: ytfl <ytfl@qq.com>
Date: 星期一, 11 八月 2025 08:23:14 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/utils/Utils.java                     |    4 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |    2 
 src/main/java/com/zy/asrs/service/StaDescService.java          |    2 
 src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java  |    2 
 src/main/java/com/zy/asrs/controller/MobileController.java     |   71 +++++++++++------------
 src/main/java/com/zy/asrs/controller/WorkController.java       |    3 +
 src/main/java/com/zy/common/service/CommonService.java         |   59 +++++++++++--------
 src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java |   13 ++++
 8 files changed, 88 insertions(+), 68 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index 92c10d4..7d7f3ea 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -366,42 +366,41 @@
             ckbmList.add(storeType.getStoreId());
         }
 
-        NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>()
-                .eq("WLBM", combMat.getMatnr())
-                .eq("VBATCHCODE", combMat.getBatch())
-                .in("CKBM", ckbmList)
-        );
-        if(null == nccSaleXclGgsybWms) {
-            return R.error("鏈煡鍒癊RP搴撳瓨");
-        }
-
-        //ERP搴撳瓨鏁伴噺
-        BigDecimal zsl = nccSaleXclGgsybWms.getZsl();
-
-        //鑾峰彇绔嬪簱鏁伴噺
-        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
-                .eq("matnr", combMat.getMatnr())
-                .eq("batch", combMat.getBatch())
-        );
-        BigDecimal stockNum = new BigDecimal(0);
-        for (LocDetl locDetl : locDetls) {
-            stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme()));
-        }
-
-        //鍔犱笂缁勬墭鏁伴噺
-        for (CombParam.CombMat mat : combParam.getCombMats()) {
-            stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme()));
-        }
-
-        if(stockNum.doubleValue() > zsl.doubleValue()) {
-            return R.error("缁勬墭鏁伴噺瓒呰繃ERP搴撳瓨");
-        }
-
-        List<CombParam.CombMat> combMats = combParam.getCombMats();
-        for (CombParam.CombMat mat : combMats) {
-            mat.setStandby1(nccSaleXclGgsybWms.getCkbm());
-            mat.setCstateid(nccSaleXclGgsybWms.getCstateid());
-        }
+//        NccSaleXclGgsybWms nccSaleXclGgsybWms = nccSaleXclGgsybWmsService.selectOne(new EntityWrapper<NccSaleXclGgsybWms>()
+//                .eq("WLBM", combMat.getMatnr())
+//                .eq("VBATCHCODE", combMat.getBatch())
+//                .in("CKBM", ckbmList)
+//        );
+//        if(null == nccSaleXclGgsybWms) {
+//            return R.error("鏈煡鍒癊RP搴撳瓨");
+//        }
+//
+//        //ERP搴撳瓨鏁伴噺
+//        BigDecimal zsl = nccSaleXclGgsybWms.getZsl();
+//
+//        //鑾峰彇绔嬪簱鏁伴噺
+//        List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>()
+//                .eq("matnr", combMat.getMatnr())
+//                .eq("batch", combMat.getBatch())
+//        );
+//        BigDecimal stockNum = new BigDecimal(0);
+//        for (LocDetl locDetl : locDetls) {
+//            stockNum = stockNum.add(BigDecimal.valueOf(locDetl.getAnfme()));
+//        }
+//
+//        //鍔犱笂缁勬墭鏁伴噺
+//        for (CombParam.CombMat mat : combParam.getCombMats()) {
+//            stockNum = stockNum.add(BigDecimal.valueOf(mat.getAnfme()));
+//        }
+//
+//        if(stockNum.doubleValue() > zsl.doubleValue()) {
+//            return R.error("缁勬墭鏁伴噺瓒呰繃ERP搴撳瓨");
+//        }
+//
+//        List<CombParam.CombMat> combMats = combParam.getCombMats();
+//        for (CombParam.CombMat mat : combMats) {
+//            mat.setStandby1(nccSaleXclGgsybWms.getCkbm());
+//        }
 
         mobileService.comb(combParam, getUserId());
         return R.ok("缁勬墭鎴愬姛");
diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index e55cfd7..66e78e6 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -101,6 +101,9 @@
     @RequestMapping("/plate/out/start")
     @ManagerAuth(memo = "鍑哄簱浣滀笟")
     public R fullStoreTakeStart(@RequestBody StockOutParam param) {
+        /*if (getUser().getRoleId()!=2 && getUser().getRoleId()!=14){
+            return R.error("鏃犳潈闄� 璇疯仈绯荤鐞嗗憳");
+        }*/
         workService.startupFullTakeStore(param, getUserId());
         return R.ok("鍑哄簱鍚姩鎴愬姛");
     }
diff --git a/src/main/java/com/zy/asrs/service/StaDescService.java b/src/main/java/com/zy/asrs/service/StaDescService.java
index d33cfe6..3051323 100644
--- a/src/main/java/com/zy/asrs/service/StaDescService.java
+++ b/src/main/java/com/zy/asrs/service/StaDescService.java
@@ -11,7 +11,7 @@
 
     List<StaDesc> queryCrnStn(Integer typeNo, Integer crnNo, Integer stnNo);
 
-    StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo);
+    StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo,Integer row);
 
     StaDesc queryCrnStn(Integer crnNo);
 
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index d0f9011..1dd19a0 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -1295,7 +1295,7 @@
                     .setJson(JSON.toJSONString(map))
                     .build()
                     .doPost();
-            log.info("toOutSta:{}", response);
+            log.info("toOutSta:{},{}",map, response);
         } catch (Exception e) {
             log.error("fail", e);
         }
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 47ce3d8..d5a8a1a 100644
--- a/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/StaDescServiceImpl.java
@@ -43,7 +43,18 @@
     }
 
     @Override
-    public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo) {
+    public StaDesc queryCrnStnAuto(Integer typeNo, Integer crnNo, Integer stnNo, Integer row) {
+        if (crnNo == 1 && row > 3) {
+            Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+                    .eq("type_no", typeNo)
+                    .eq("stn_no", stnNo)
+                    .eq("crn_no", crnNo)
+                    .orderBy("stn_no", false);
+            StaDesc staDesc = this.selectOne(wrapper);
+            if (staDesc != null) {
+                return staDesc;
+            }
+        }
         Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
                 .eq("type_no", typeNo)
                 .eq("stn_no", stnNo)
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 d2a15f0..7f833a0 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -465,7 +465,7 @@
         String orderNo = taskDto.getLocDtos().get(0).getOrderNo();
         OrderPakout orderPakout = orderPakOutService.selectByNo(orderNo);
         int ioType = orderPakout.getDocType() == 8 ? 107 : (taskDto.isAll() ? 101 : 103);
-        StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo());
+        StaDesc staDesc = staDescService.queryCrnStnAuto(ioType, locMast.getCrnNo(), staNo.getDevNo(),locMast.getRow1());
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
         // 鐢熸垚宸ヤ綔妗�
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index e802f20..5e4d4ea 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -143,8 +143,8 @@
         if (row == 1 || row == 6) {
             return null;
         }
-        //2,7,11,15,19,23
-        if (row == 2 || row == 8 || row == 12 || row == 16 || row == 20 || row == 24) {
+        //2,8,11,15,19,23
+        if (row == 5 || row == 8 || row == 12 || row == 16 || row == 20 || row == 24) {
             return zerofill(String.valueOf(row - 1), 2) + shallowLoc.substring(2);
         } else {
             return zerofill(String.valueOf(row + 1), 2) + shallowLoc.substring(2);
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index e0d6b54..bb25796 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -293,9 +293,10 @@
                 if (nearRow == 0) {
                     throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
                 }
-            } else {
-                throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
             }
+//            else {
+//                throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
+//            }
         }
 
         boolean signRule1 = false;
@@ -443,40 +444,22 @@
         StaDesc staDesc = null;
         BasDevp staNo = null;
 
+
         if (Utils.BooleanWhsTypeSta(rowLastno, staDescId)) {
-            // 鑾峰彇鐩爣绔�
-            wrapper = new EntityWrapper<StaDesc>()
-                    .eq("type_no", staDescId)
-                    .eq("stn_no", sourceStaNo)
-                    .eq("crn_no", crnNo);
-            staDesc = staDescService.selectOne(wrapper);
-            if (Cools.isEmpty(staDesc)) {
-                log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
-//                throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
-                crnNo = 0;
-            } else {
-                staNo = basDevpService.selectById(staDesc.getCrnStn());
-                if (!staNo.getAutoing().equals("Y")) {
-                    log.error("鐩爣绔�" + staDesc.getCrnStn() + "涓嶅彲鐢�");
-//                throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
-                    crnNo = 0;
-                }
-                startupDto.setStaNo(staNo.getDevNo());
-            }
+
             // 鏇存柊搴撲綅鎺掑彿
             if (Cools.isEmpty(locMast)) {
                 rowLastno.setCurrentRow(curRow);
                 rowLastnoService.updateById(rowLastno);
             }
         }
-
         // 寮�濮嬫煡鎵惧簱浣� ==============================>>
 
         // 1.鎸夎鍒欐煡鎵惧簱浣�
         if (Cools.isEmpty(locMast) && crnNo != 0) {
             List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
                     .eq("row1", nearRow)
-                    .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
+                    .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()).ne("inv_wh",1)
                     .orderBy("lev1", true).orderBy("bay1", true));
             for (LocMast locMast1 : locMasts) {
                 if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
@@ -552,7 +535,7 @@
 //                locTypeDto.setLocType1((short)i);
 //                return getLocNo(1, staDescId, sourceStaNo, matnr,batch,grade, locTypeDto, 0);
 //            }
-            log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿}", JSON.toJSONString(locTypeDto), times);
+            log.error("绯荤粺娌℃湁绌哄簱浣嶏紒锛侊紒 灏哄瑙勬牸锛� {}锛� 杞娆℃暟锛歿},{}", JSON.toJSONString(locTypeDto), times,moveCrnNo);
             throw new CoolException("娌℃湁绌哄簱浣�");
         }
 
@@ -567,18 +550,40 @@
         //閽堝1鍙峰爢鍨涙満鎵撶殑琛ヤ竵锛岄槻姝㈡壘鍒板簱浣嶆椂锛屾壘鍒版渶娴呭簱浣�
         String deepLoc2 = Utils.getDeepLoc2(slaveProperties, locMast.getLocNo());
         if (!Cools.isEmpty(deepLoc2)) {
-            LocMast locMastNew = locMastService.selectOne(new EntityWrapper<LocMast>()
+            LocMast locMastNew = locMastService.selectOne(new EntityWrapper<LocMast>().eq("crn_no",locMast.getCrnNo())
                     .eq("loc_no", deepLoc2).eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue()));
             if (!Cools.isEmpty(locMastNew)) {
                 locMast = locMastNew;
             }
+        }
+
+
+
+            // 鑾峰彇鐩爣绔�
+            wrapper = new EntityWrapper<StaDesc>()
+                    .eq("type_no", staDescId)
+                    .eq("stn_no", sourceStaNo)
+                    .eq("crn_no", locMast.getCrnNo());
+            staDesc = staDescService.selectOne(wrapper);
+            if (Cools.isEmpty(staDesc)) {
+                log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
+//                throw new CoolException("鍏ュ簱璺緞涓嶅瓨鍦�");
+                crnNo = 0;
+            } else {
+                staNo = basDevpService.selectById(staDesc.getCrnStn());
+                if (!staNo.getAutoing().equals("Y")) {
+                    log.error("鐩爣绔�" + staDesc.getCrnStn() + "涓嶅彲鐢�");
+//                throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+                    crnNo = 0;
+                }
+                startupDto.setStaNo(staNo.getDevNo());
         }
         String locNo = locMast.getLocNo();
         // 鐢熸垚宸ヤ綔鍙�
         int workNo = getWorkNo(0);
         // 杩斿洖dto
         startupDto.setWorkNo(workNo);
-        startupDto.setCrnNo(crnNo);
+        startupDto.setCrnNo(locMast.getCrnNo());
         startupDto.setSourceStaNo(sourceStaNo);
         startupDto.setLocNo(locNo);
         return startupDto;
@@ -960,6 +965,8 @@
                     .eq("row1", nearRow)
                     .eq("loc_sts", "O").eq("whs_type", rowLastnoType.getType().longValue())
                     .orderBy("lev1", true).orderBy("bay1", true));//鏈�娴呭簱浣�
+            //System.out.println(nearRow);
+            //System.out.println(curRow);
             for (LocMast locMast1 : locMasts) {
                 if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
                     continue;

--
Gitblit v1.9.1