From 6c15007b12d36d8f6d3e3f8127aa85a21aeb32c4 Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期四, 03 七月 2025 15:52:46 +0800
Subject: [PATCH] #锐麒初始化

---
 src/main/java/com/zy/asrs/service/WorkService.java             |   24 
 src/main/webapp/static/js/pakStore/locCheckOut.js              |    2 
 src/main/webapp/views/pakStore/locCheckOut.html                |   17 
 src/main/java/com/zy/asrs/utils/VersionUtils.java              |    4 
 src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java |   68 ++--
 src/main/java/com/zy/common/web/WcsController.java             |    4 
 pom.xml                                                        |    2 
 src/main/java/com/zy/asrs/controller/WorkController.java       |  248 +++++++++---------
 src/main/webapp/static/js/pakStore/stockOut.js                 |    2 
 src/main/java/com/zy/asrs/utils/Utils.java                     |   17 
 src/main/webapp/views/pakStore/stockOut.html                   |   16 
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java    |  157 ++---------
 src/main/webapp/static/js/common.js                            |    2 
 src/main/java/com/zy/common/service/CommonService.java         |  176 ++++---------
 src/main/resources/license.lic                                 |    0 
 src/main/resources/application.yml                             |   24 -
 16 files changed, 295 insertions(+), 468 deletions(-)

diff --git a/pom.xml b/pom.xml
index 7fd29b4..50ef277 100644
--- a/pom.xml
+++ b/pom.xml
@@ -119,7 +119,7 @@
 
 
     <build>
-        <finalName>tzglasrs</finalName>
+        <finalName>rqdzasrs</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
diff --git a/src/main/java/com/zy/asrs/controller/WorkController.java b/src/main/java/com/zy/asrs/controller/WorkController.java
index a0ac33a..5ca0606 100644
--- a/src/main/java/com/zy/asrs/controller/WorkController.java
+++ b/src/main/java/com/zy/asrs/controller/WorkController.java
@@ -80,73 +80,73 @@
         return R.ok("鍏ュ簱鍚姩鎴愬姛").add(workService.startupFullPutStore(fullStoreParam,getUserId()));
     }
 
-//    @RequestMapping("/plate/out/start")
-//    @ManagerAuth(memo = "鍑哄簱浣滀笟")
-//    public R fullStoreTakeStart(@RequestBody StockOutParam param) {
-//        workService.startupFullTakeStore(param, getUserId());
-//        return R.ok("鍑哄簱鍚姩鎴愬姛");
-//    }
-
     @RequestMapping("/plate/out/start")
     @ManagerAuth(memo = "鍑哄簱浣滀笟")
-    public R fullStoreTakeStart(@RequestBody StockOutFloorParam param) {
-        if (param.getFloor() != null) {
-            List<Integer> siteIdList = new ArrayList<>();
-
-            // 绗竴姝ワ細鏍规嵁妤煎眰閫夋嫨绔欑偣闆嗗悎
-            switch (param.getFloor()) {
-                case 1: // 涓�妤硷紙涓滃尯锛�
-                    siteIdList = Arrays.asList(121, 124, 125, 126);
-                    break;
-                case 2: // 浜屾ゼ锛堜笢鍖猴級
-                    siteIdList = Arrays.asList(221, 224, 226, 229);
-                    break;
-                case 3: // 鍥涙ゼ锛堜笢鍖猴級
-                    siteIdList = Arrays.asList(411, 412, 413, 414);
-                    break;
-                case 4: // 涓�妤硷紙瑗垮尯锛�
-                    siteIdList = Arrays.asList(103); // 鍙湁涓�涓珯鐐�
-                    break;
-                case 5: // 浜屾ゼ锛堣タ鍖猴級
-                    siteIdList = Arrays.asList(201, 204, 206, 209);
-                    break;
-                case 6: // 鍥涙ゼ锛堣タ鍖猴級
-                    siteIdList = Arrays.asList(401, 402, 403, 404);
-                    break;
-                default:
-                    break;
-            }
-
-            // 绗簩姝ワ細鏍规嵁 locNo 鐨勬帓鍙凤紝缁欐瘡涓� locDetl 璁剧疆 siteId
-            if (param.getLocDetls() != null) {
-                for (StockOutFloorParam.LocDetl locDetl : param.getLocDetls()) {
-                    String locNo = locDetl.getLocNo(); // 濡傦細0312001
-                    if (locNo != null && locNo.length() >= 2) {
-                        String rowStr = locNo.substring(0, 2); // 鍓嶄袱浣嶄负鎺掑彿
-                        int row = Integer.parseInt(rowStr);
-
-                        Integer siteId = null;
-
-                        // 绔欑偣鍒嗗竷瑙勫垯
-                        if (row == 1 || row == 2) {
-                            siteId = siteIdList.size() > 0 ? siteIdList.get(0) : null;
-                        } else if (row == 3 || row == 4) {
-                            siteId = siteIdList.size() > 1 ? siteIdList.get(1) : null;
-                        } else if (row == 5 || row == 6) {
-                            siteId = siteIdList.size() > 2 ? siteIdList.get(2) : null;
-                        } else if (row == 7 || row == 8) {
-                            siteId = siteIdList.size() > 3 ? siteIdList.get(3) : null;
-                        }
-
-                        // 璁剧疆 siteId
-                        locDetl.setSiteId(siteId);
-                    }
-                }
-            }
-        }
+    public R fullStoreTakeStart(@RequestBody StockOutParam param) {
         workService.startupFullTakeStore(param, getUserId());
         return R.ok("鍑哄簱鍚姩鎴愬姛");
     }
+
+//    @RequestMapping("/plate/out/start")
+//    @ManagerAuth(memo = "鍑哄簱浣滀笟")
+//    public R fullStoreTakeStart(@RequestBody StockOutFloorParam param) {
+//        if (param.getFloor() != null) {
+//            List<Integer> siteIdList = new ArrayList<>();
+//
+//            // 绗竴姝ワ細鏍规嵁妤煎眰閫夋嫨绔欑偣闆嗗悎
+//            switch (param.getFloor()) {
+//                case 1: // 涓�妤硷紙涓滃尯锛�
+//                    siteIdList = Arrays.asList(121, 124, 125, 126);
+//                    break;
+//                case 2: // 浜屾ゼ锛堜笢鍖猴級
+//                    siteIdList = Arrays.asList(221, 224, 226, 229);
+//                    break;
+//                case 3: // 鍥涙ゼ锛堜笢鍖猴級
+//                    siteIdList = Arrays.asList(411, 412, 413, 414);
+//                    break;
+//                case 4: // 涓�妤硷紙瑗垮尯锛�
+//                    siteIdList = Arrays.asList(103); // 鍙湁涓�涓珯鐐�
+//                    break;
+//                case 5: // 浜屾ゼ锛堣タ鍖猴級
+//                    siteIdList = Arrays.asList(201, 204, 206, 209);
+//                    break;
+//                case 6: // 鍥涙ゼ锛堣タ鍖猴級
+//                    siteIdList = Arrays.asList(401, 402, 403, 404);
+//                    break;
+//                default:
+//                    break;
+//            }
+//
+//            // 绗簩姝ワ細鏍规嵁 locNo 鐨勬帓鍙凤紝缁欐瘡涓� locDetl 璁剧疆 siteId
+//            if (param.getLocDetls() != null) {
+//                for (StockOutFloorParam.LocDetl locDetl : param.getLocDetls()) {
+//                    String locNo = locDetl.getLocNo(); // 濡傦細0312001
+//                    if (locNo != null && locNo.length() >= 2) {
+//                        String rowStr = locNo.substring(0, 2); // 鍓嶄袱浣嶄负鎺掑彿
+//                        int row = Integer.parseInt(rowStr);
+//
+//                        Integer siteId = null;
+//
+//                        // 绔欑偣鍒嗗竷瑙勫垯
+//                        if (row == 1 || row == 2) {
+//                            siteId = siteIdList.size() > 0 ? siteIdList.get(0) : null;
+//                        } else if (row == 3 || row == 4) {
+//                            siteId = siteIdList.size() > 1 ? siteIdList.get(1) : null;
+//                        } else if (row == 5 || row == 6) {
+//                            siteId = siteIdList.size() > 2 ? siteIdList.get(2) : null;
+//                        } else if (row == 7 || row == 8) {
+//                            siteId = siteIdList.size() > 3 ? siteIdList.get(3) : null;
+//                        }
+//
+//                        // 璁剧疆 siteId
+//                        locDetl.setSiteId(siteId);
+//                    }
+//                }
+//            }
+//        }
+//        workService.startupFullTakeStore(param, getUserId());
+//        return R.ok("鍑哄簱鍚姩鎴愬姛");
+//    }
 
     @RequestMapping("/empty/plate/in/start")
     @ManagerAuth(memo = "绌烘澘鍏ュ簱")
@@ -161,75 +161,75 @@
         return R.ok("鍑哄簱鍚姩鎴愬姛");
     }
 
-//    @RequestMapping("/locCheck/out/start")
-//    @ManagerAuth(memo = "鐩樼偣鍑哄簱")
-//    public R locCheckOutStart(@RequestBody StockOutParam param) {
-//
-//        workService.locCheckOut(param, getUserId());
-//        return R.ok("鍑哄簱鍚姩鎴愬姛");
-//    }
-
     @RequestMapping("/locCheck/out/start")
     @ManagerAuth(memo = "鐩樼偣鍑哄簱")
-    public R locCheckOutStart(@RequestBody StockOutFloorParam param) {
-        if (param.getFloor() != null) {
-            List<Integer> siteIdList = new ArrayList<>();
+    public R locCheckOutStart(@RequestBody StockOutParam param) {
 
-            // 绗竴姝ワ細鏍规嵁妤煎眰閫夋嫨绔欑偣闆嗗悎
-            switch (param.getFloor()) {
-                case 1: // 涓�妤硷紙涓滃尯锛�
-                    siteIdList = Arrays.asList(121, 124, 125, 126);
-                    break;
-                case 2: // 浜屾ゼ锛堜笢鍖猴級
-                    siteIdList = Arrays.asList(221, 224, 226, 229);
-                    break;
-                case 3: // 鍥涙ゼ锛堜笢鍖猴級
-                    siteIdList = Arrays.asList(411, 412, 413, 414);
-                    break;
-                case 4: // 涓�妤硷紙瑗垮尯锛�
-                    siteIdList = Arrays.asList(103); // 鍙湁涓�涓珯鐐�
-                    break;
-                case 5: // 浜屾ゼ锛堣タ鍖猴級
-                    siteIdList = Arrays.asList(201, 204, 206, 209);
-                    break;
-                case 6: // 鍥涙ゼ锛堣タ鍖猴級
-                    siteIdList = Arrays.asList(401, 402, 403, 404);
-                    break;
-                default:
-                    break;
-            }
-
-            // 绗簩姝ワ細鏍规嵁 locNo 鐨勬帓鍙凤紝缁欐瘡涓� locDetl 璁剧疆 siteId
-            if (param.getLocDetls() != null) {
-                for (StockOutFloorParam.LocDetl locDetl : param.getLocDetls()) {
-                    String locNo = locDetl.getLocNo(); // 濡傦細0312001
-                    if (locNo != null && locNo.length() >= 2) {
-                        String rowStr = locNo.substring(0, 2); // 鍓嶄袱浣嶄负鎺掑彿
-                        int row = Integer.parseInt(rowStr);
-
-                        Integer siteId = null;
-
-                        // 绔欑偣鍒嗗竷瑙勫垯
-                        if (row == 1 || row == 2) {
-                            siteId = siteIdList.size() > 0 ? siteIdList.get(0) : null;
-                        } else if (row == 3 || row == 4) {
-                            siteId = siteIdList.size() > 1 ? siteIdList.get(1) : null;
-                        } else if (row == 5 || row == 6) {
-                            siteId = siteIdList.size() > 2 ? siteIdList.get(2) : null;
-                        } else if (row == 7 || row == 8) {
-                            siteId = siteIdList.size() > 3 ? siteIdList.get(3) : null;
-                        }
-
-                        // 璁剧疆 siteId
-                        locDetl.setSiteId(siteId);
-                    }
-                }
-            }
-        }
         workService.locCheckOut(param, getUserId());
         return R.ok("鍑哄簱鍚姩鎴愬姛");
     }
 
+//    @RequestMapping("/locCheck/out/start")
+//    @ManagerAuth(memo = "鐩樼偣鍑哄簱")
+//    public R locCheckOutStart(@RequestBody StockOutFloorParam param) {
+//        if (param.getFloor() != null) {
+//            List<Integer> siteIdList = new ArrayList<>();
+//
+//            // 绗竴姝ワ細鏍规嵁妤煎眰閫夋嫨绔欑偣闆嗗悎
+//            switch (param.getFloor()) {
+//                case 1: // 涓�妤硷紙涓滃尯锛�
+//                    siteIdList = Arrays.asList(121, 124, 125, 126);
+//                    break;
+//                case 2: // 浜屾ゼ锛堜笢鍖猴級
+//                    siteIdList = Arrays.asList(221, 224, 226, 229);
+//                    break;
+//                case 3: // 鍥涙ゼ锛堜笢鍖猴級
+//                    siteIdList = Arrays.asList(411, 412, 413, 414);
+//                    break;
+//                case 4: // 涓�妤硷紙瑗垮尯锛�
+//                    siteIdList = Arrays.asList(103); // 鍙湁涓�涓珯鐐�
+//                    break;
+//                case 5: // 浜屾ゼ锛堣タ鍖猴級
+//                    siteIdList = Arrays.asList(201, 204, 206, 209);
+//                    break;
+//                case 6: // 鍥涙ゼ锛堣タ鍖猴級
+//                    siteIdList = Arrays.asList(401, 402, 403, 404);
+//                    break;
+//                default:
+//                    break;
+//            }
+//
+//            // 绗簩姝ワ細鏍规嵁 locNo 鐨勬帓鍙凤紝缁欐瘡涓� locDetl 璁剧疆 siteId
+//            if (param.getLocDetls() != null) {
+//                for (StockOutFloorParam.LocDetl locDetl : param.getLocDetls()) {
+//                    String locNo = locDetl.getLocNo(); // 濡傦細0312001
+//                    if (locNo != null && locNo.length() >= 2) {
+//                        String rowStr = locNo.substring(0, 2); // 鍓嶄袱浣嶄负鎺掑彿
+//                        int row = Integer.parseInt(rowStr);
+//
+//                        Integer siteId = null;
+//
+//                        // 绔欑偣鍒嗗竷瑙勫垯
+//                        if (row == 1 || row == 2) {
+//                            siteId = siteIdList.size() > 0 ? siteIdList.get(0) : null;
+//                        } else if (row == 3 || row == 4) {
+//                            siteId = siteIdList.size() > 1 ? siteIdList.get(1) : null;
+//                        } else if (row == 5 || row == 6) {
+//                            siteId = siteIdList.size() > 2 ? siteIdList.get(2) : null;
+//                        } else if (row == 7 || row == 8) {
+//                            siteId = siteIdList.size() > 3 ? siteIdList.get(3) : null;
+//                        }
+//
+//                        // 璁剧疆 siteId
+//                        locDetl.setSiteId(siteId);
+//                    }
+//                }
+//            }
+//        }
+//        workService.locCheckOut(param, getUserId());
+//        return R.ok("鍑哄簱鍚姩鎴愬姛");
+//    }
+
     @RequestMapping("/loc/move/start")
     @ManagerAuth(memo = "搴撲綅绉昏浆")
     public R locMoveStart(@RequestParam String sourceLocNo,
diff --git a/src/main/java/com/zy/asrs/service/WorkService.java b/src/main/java/com/zy/asrs/service/WorkService.java
index d83ec6a..9e8cbf1 100644
--- a/src/main/java/com/zy/asrs/service/WorkService.java
+++ b/src/main/java/com/zy/asrs/service/WorkService.java
@@ -19,15 +19,15 @@
      */
     String startupFullPutStore(FullStoreParam param, Long userId);
 
-//    /**
-//     * 鍑哄簱浣滀笟
-//     */
-//    void startupFullTakeStore(StockOutParam param, Long userId);
-
     /**
      * 鍑哄簱浣滀笟
      */
-    void startupFullTakeStore(StockOutFloorParam param, Long userId);
+    void startupFullTakeStore(StockOutParam param, Long userId);
+
+//    /**
+//     * 鍑哄簱浣滀笟
+//     */
+//    void startupFullTakeStore(StockOutFloorParam param, Long userId);
 
 
     /**
@@ -64,15 +64,15 @@
      */
     public WrkMast emptyPlateOut(EmptyPlateOutParam param);
 
-//    /**
-//     * 鐩樼偣鍑哄簱
-//     */
-//    void locCheckOut(StockOutParam param, Long userId);
-
     /**
      * 鐩樼偣鍑哄簱
      */
-    void locCheckOut(StockOutFloorParam param, Long userId);
+    void locCheckOut(StockOutParam param, Long userId);
+
+//    /**
+//     * 鐩樼偣鍑哄簱
+//     */
+//    void locCheckOut(StockOutFloorParam param, Long userId);
 
     /**
      * 搴撲綅绉昏浆
diff --git a/src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
index 78971c2..e2e1fce 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasCrnpServiceImpl.java
@@ -39,42 +39,42 @@
 
     @Override
     public boolean checkSiteError(Integer crnNo, boolean pakin) {
-        BasCrnp crnp = this.selectById(crnNo);
-        if (Cools.isEmpty(crnp)) {
-//            log.error("{}鍙峰爢鍨涙満涓嶅瓨鍦�", crnNo);
-            return false;
-        }
-        if (crnp.getCrnErr() != null && crnp.getCrnSts() != 3){
-            log.error("{}鍙峰爢鍨涙満闈炶嚜鍔ㄨ繛绾跨姸鎬侊紝鏃犳硶浣滀笟!", crnNo);
-            return false;
-        }
-        if (crnp.getCrnErr() != null) {
-            if (crnp.getCrnErr() != 0 && crnp.getCrnErr() != 10 && crnp.getCrnErr() != 6) {
-                log.error("{}鍙峰爢鍨涙満寮傚父锛屽紓甯哥爜{}", crnNo, crnp.getCrnErr());
-                return false;
-            }
-        }
-
-        if (pakin) {
-            //鎺у埗鍏ュ簱鏆傚瓨鏁帮紝闃叉涓诲共閬撳牭濉烇紝2022-10-23 ADD  鏈疄瑁�
-//            int maxCount = 2;
-//            int storeCount = wrkMastService.getStoreCount(crnNo);
-//
-//            if(storeCount >= maxCount){
-//                log.error("{}鍙峰爢鍨涙満鏆傚瓨鏁板凡婊�!", crnNo);
+//        BasCrnp crnp = this.selectById(crnNo);
+//        if (Cools.isEmpty(crnp)) {
+////            log.error("{}鍙峰爢鍨涙満涓嶅瓨鍦�", crnNo);
+//            return false;
+//        }
+//        if (crnp.getCrnErr() != null && crnp.getCrnSts() != 3){
+//            log.error("{}鍙峰爢鍨涙満闈炶嚜鍔ㄨ繛绾跨姸鎬侊紝鏃犳硶浣滀笟!", crnNo);
+//            return false;
+//        }
+//        if (crnp.getCrnErr() != null) {
+//            if (crnp.getCrnErr() != 0 && crnp.getCrnErr() != 10 && crnp.getCrnErr() != 6) {
+//                log.error("{}鍙峰爢鍨涙満寮傚父锛屽紓甯哥爜{}", crnNo, crnp.getCrnErr());
 //                return false;
 //            }
-
-            if ("N".equals(crnp.getInEnable())) {
-                log.error("{}鍙峰爢鍨涙満涓嶅彲鍏�", crnNo);
-                return false;
-            }
-        } else {
-            if ("N".equals(crnp.getOutEnable())) {
-                log.error("{}鍙峰爢鍨涙満涓嶅彲鍑�", crnNo);
-                return false;
-            }
-        }
+//        }
+//
+//        if (pakin) {
+//            //鎺у埗鍏ュ簱鏆傚瓨鏁帮紝闃叉涓诲共閬撳牭濉烇紝2022-10-23 ADD  鏈疄瑁�
+////            int maxCount = 2;
+////            int storeCount = wrkMastService.getStoreCount(crnNo);
+////
+////            if(storeCount >= maxCount){
+////                log.error("{}鍙峰爢鍨涙満鏆傚瓨鏁板凡婊�!", crnNo);
+////                return false;
+////            }
+//
+//            if ("N".equals(crnp.getInEnable())) {
+//                log.error("{}鍙峰爢鍨涙満涓嶅彲鍏�", crnNo);
+//                return false;
+//            }
+//        } else {
+//            if ("N".equals(crnp.getOutEnable())) {
+//                log.error("{}鍙峰爢鍨涙満涓嶅彲鍑�", crnNo);
+//                return false;
+//            }
+//        }
 
         return true;
     }
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 adae54a..395bd6a 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -7,7 +7,10 @@
 import com.core.common.SnowflakeIdWorker;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
-import com.zy.asrs.entity.param.*;
+import com.zy.asrs.entity.param.EmptyPlateOutParam;
+import com.zy.asrs.entity.param.FullStoreParam;
+import com.zy.asrs.entity.param.LocDetlAdjustParam;
+import com.zy.asrs.entity.param.StockOutParam;
 import com.zy.asrs.service.*;
 import com.zy.asrs.utils.Utils;
 import com.zy.common.model.*;
@@ -152,81 +155,31 @@
         return null;
     }
 
-//    @Override
-//    @Transactional
-//    public void startupFullTakeStore(StockOutFloorParam param, Long userId) {
-//        // 鐩爣绔欑偣鐘舵�佹娴�
-//        BasDevp staNo = null;
-//        // 鑾峰彇搴撲綅鏄庣粏
-//        List<LocDetlDto> locDetlDtos = new ArrayList<>();
-//        for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) {
-//             staNo = basDevpService.checkSiteStatus(paramLocDetl.getSiteId());
-//
-//            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-//                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
-//                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
-//            }
-//        }
-//        if (!locDetlDtos.isEmpty()) {
-//            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
-//            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
-//                // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
-//                stockOut(staNo, locDetlDtos, null, userId);
-//            } else {
-//                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
-//            }
-//        } else {
-//            throw new CoolException("搴撳瓨涓嶅瓨鍦�");
-//        }
-//    }
-
     @Override
     @Transactional
-    public void startupFullTakeStore(StockOutFloorParam param, Long userId) {
-        // 鎸� siteId 鍒嗙粍
-        Map<Integer, List<LocDetlDto>> siteIdToLocDetlsMap = new HashMap<>();
-
-        for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) {
+    public void startupFullTakeStore(StockOutParam param, Long userId) {
+        // 鐩爣绔欑偣鐘舵�佹娴�
+        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+        // 鑾峰彇搴撲綅鏄庣粏
+        List<LocDetlDto> locDetlDtos = new ArrayList<>();
+        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                 LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
-                if (one != null) {
-                    LocDetlDto dto = new LocDetlDto(one, paramLocDetl.getCount());
-                    Integer siteId = paramLocDetl.getSiteId();
-
-                    if (siteId != null) {
-                        siteIdToLocDetlsMap.computeIfAbsent(siteId, k -> new ArrayList<>()).add(dto);
-                    }
-                }
+                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
-
-        if (siteIdToLocDetlsMap.isEmpty()) {
-            throw new CoolException("搴撳瓨涓嶅瓨鍦�");
-        }
-
-        // 閬嶅巻鍒嗙粍鍚庣殑姣忎釜 siteId锛岄�愪釜鍑哄簱
-        for (Map.Entry<Integer, List<LocDetlDto>> entry : siteIdToLocDetlsMap.entrySet()) {
-            Integer siteId = entry.getKey();
-            List<LocDetlDto> locDetlDtos = entry.getValue();
-
-            // 鏍¢獙搴撲綅鐘舵��
-            LocMast locMast = locMastService.selectOne(
-                    new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())
-            );
-
+        if (!locDetlDtos.isEmpty()) {
+            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
             if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
-                // 鏍¢獙鐩爣绔欑偣
-                BasDevp staNo = basDevpService.checkSiteStatus(siteId);
-
-                // 鎵ц鍑哄簱
+                // 鍚姩鍑哄簱寮�濮� 101.鍑哄簱
                 stockOut(staNo, locDetlDtos, null, userId);
             } else {
-                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" +
-                        locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
             }
+        } else {
+            throw new CoolException("搴撳瓨涓嶅瓨鍦�");
         }
     }
-
 
     @Override
     @Transactional
@@ -700,77 +653,29 @@
         return wrkMast;
     }
 
-//    @Override
-//    @Transactional
-//    public void locCheckOut(StockOutParam param, Long userId) {
-//        // 鐩爣绔欑偣鐘舵�佹娴�
-//        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
-//        // 鑾峰彇搴撲綅鏄庣粏
-//        List<LocDetlDto> locDetlDtos = new ArrayList<>();
-//        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
-//            if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
-//                LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
-//                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
-//            }
-//        }
-//        if (!locDetlDtos.isEmpty()) {
-//            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
-//            if (locMast.getLocSts().equals("F")) {
-//                // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
-//                stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
-//            } else {
-//                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
-//            }
-//        } else {
-//            throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
-//        }
-//    }
-
     @Override
     @Transactional
-    public void locCheckOut(StockOutFloorParam param, Long userId) {
-
-        // 鎸� siteId 鍒嗙粍
-        Map<Integer, List<LocDetlDto>> siteIdToLocDetlsMap = new HashMap<>();
-
-        for (StockOutFloorParam.LocDetl paramLocDetl : param.getLocDetls()) {
+    public void locCheckOut(StockOutParam param, Long userId) {
+        // 鐩爣绔欑偣鐘舵�佹娴�
+        BasDevp staNo = basDevpService.checkSiteStatus(param.getOutSite());
+        // 鑾峰彇搴撲綅鏄庣粏
+        List<LocDetlDto> locDetlDtos = new ArrayList<>();
+        for (StockOutParam.LocDetl paramLocDetl : param.getLocDetls()) {
             if (!Cools.isEmpty(paramLocDetl.getLocNo(), paramLocDetl.getMatnr(), paramLocDetl.getCount())) {
                 LocDetl one = locDetlService.selectItem(paramLocDetl.getLocNo(), paramLocDetl);
-                if (one != null) {
-                    LocDetlDto dto = new LocDetlDto(one, paramLocDetl.getCount());
-                    Integer siteId = paramLocDetl.getSiteId();
-
-                    if (siteId != null) {
-                        siteIdToLocDetlsMap.computeIfAbsent(siteId, k -> new ArrayList<>()).add(dto);
-                    }
-                }
+                if (null != one) locDetlDtos.add(new LocDetlDto(one, paramLocDetl.getCount()));
             }
         }
-
-        if (siteIdToLocDetlsMap.isEmpty()) {
-            throw new CoolException("搴撳瓨涓嶅瓨鍦�");
-        }
-
-        // 閬嶅巻鍒嗙粍鍚庣殑姣忎釜 siteId锛岄�愪釜鍑哄簱
-        for (Map.Entry<Integer, List<LocDetlDto>> entry : siteIdToLocDetlsMap.entrySet()) {
-            Integer siteId = entry.getKey();
-            List<LocDetlDto> locDetlDtos = entry.getValue();
-
-            // 鏍¢獙搴撲綅鐘舵��
-            LocMast locMast = locMastService.selectOne(
-                    new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo())
-            );
-
-            if (locMast.getLocSts().equals("F") || locMast.getLocSts().equals("D")) {
-                // 鏍¢獙鐩爣绔欑偣
-                BasDevp staNo = basDevpService.checkSiteStatus(siteId);
-
-                // 鎵ц鍑哄簱
+        if (!locDetlDtos.isEmpty()) {
+            LocMast locMast = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locDetlDtos.get(0).getLocDetl().getLocNo()));
+            if (locMast.getLocSts().equals("F")) {
+                // 鍚姩鍑哄簱寮�濮� 107.鐩樼偣鍑哄簱
                 stockOut(staNo, locDetlDtos, IoWorkType.CHECK_OUT, userId);
             } else {
-                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎銆丏鐨勫簱浣嶏紝搴撲綅鍙凤細" +
-                        locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
+                throw new CoolException("鎵�閫夊簱浣嶅瓨鍦ㄧ姸鎬佷笉涓篎鐨勫簱浣嶏紝搴撲綅鍙凤細" + locMast.getLocNo() + " 銆佸綋鍓嶇姸鎬侊細" + locMast.getLocSts() + "-" + locMast.getLocSts$());
             }
+        } else {
+            throw new CoolException("搴撲綅鐗╂枡涓嶅瓨鍦�");
         }
     }
 
diff --git a/src/main/java/com/zy/asrs/utils/Utils.java b/src/main/java/com/zy/asrs/utils/Utils.java
index 0970a17..ea5588f 100644
--- a/src/main/java/com/zy/asrs/utils/Utils.java
+++ b/src/main/java/com/zy/asrs/utils/Utils.java
@@ -142,14 +142,13 @@
         int row = getRow(shallowLoc);
         int remainder = (int) Arith.remainder(row, slaveProperties.getGroupCount());
         int targetRow;
-//        if (remainder == 2) {
-//            targetRow = row - 1;
-//        } else if (remainder == 3) {
-//            targetRow = row + 1;
-//        } else {
-//            throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
-//        }
-        targetRow = row;
+        if (remainder == 2) {
+            targetRow = row - 1;
+        } else if (remainder == 3) {
+            targetRow = row + 1;
+        } else {
+            throw new RuntimeException(shallowLoc + "涓嶆槸娴呭簱浣嶏紝绯荤粺绻佸繖");
+        }
         return zerofill(String.valueOf(targetRow), 2) + shallowLoc.substring(2);
     }
 
@@ -281,7 +280,7 @@
 
     //搴撲綅鎺掑彿鍒嗛厤
     public static int[] LocNecessaryParameters(Integer whsType, Integer curRow, Integer crnNumber) {
-        switch (2){
+        switch (whsType){
             case 1://缁忓吀鍙屼几搴撲綅
                 return LocNecessaryParametersDoubleExtension(whsType, curRow, crnNumber); //宸插畬鍠�
             case 2://缁忓吀鍗曚几搴撲綅锛�2鎺掕揣鏋讹級
diff --git a/src/main/java/com/zy/asrs/utils/VersionUtils.java b/src/main/java/com/zy/asrs/utils/VersionUtils.java
index 1352cbe..bb3bbfb 100644
--- a/src/main/java/com/zy/asrs/utils/VersionUtils.java
+++ b/src/main/java/com/zy/asrs/utils/VersionUtils.java
@@ -5,6 +5,8 @@
 import com.zy.asrs.entity.result.Pakin;
 import com.zy.common.model.LocTypeDto;
 
+import java.util.Objects;
+
 /**
  * Created by vincent on 2020/7/14
  */
@@ -28,7 +30,7 @@
      **/
     public static boolean locMoveCheckLocTypeComplete(LocMast loc, LocTypeDto dto) {
         // 濡傛灉婧愬簱浣嶆槸楂樺簱浣嶏紝鐩爣搴撲綅鏄綆搴撲綅
-        return loc.getLocType1() >= dto.getLocType1();
+        return Objects.equals(loc.getLocType1(), dto.getLocType1());
     }
 
 }
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 6eeffa5..9999e58 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -123,7 +123,7 @@
     @Transactional
     public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, LocTypeDto locTypeDto) {
          whsType = Utils.GetWhsType(sourceStaNo);
-        return getLocNoRun(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0);
+        return getLocNo(whsType,staDescId,sourceStaNo,matnr,batch,grade,0,locTypeDto,0);
     }
 
     /**
@@ -136,7 +136,7 @@
      * @return locNo 妫�绱㈠埌鐨勫簱浣嶅彿
      */
     @Transactional
-    public StartupDto getLocNoRun(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
+    public StartupDto getLocNo(Integer whsType, Integer staDescId, Integer sourceStaNo, String matnr, String batch, String grade, Integer moveCrnNo, LocTypeDto locTypeDto, int times) {
         if (Cools.isEmpty(matnr)) {  //鐗╂枡鍙�
             matnr = "";
         }
@@ -160,7 +160,6 @@
         int eRow = rowLastno.geteRow();
         int crnNumber = rowLastno.getCrnQty();
 
-        int tagId = matService.getTagIdByMatnr(matnr);
         if (Cools.isEmpty(rowLastno)) {
             throw new CoolException("鏁版嵁寮傚父锛岃鑱旂郴绠$悊鍛�");
         }
@@ -169,71 +168,65 @@
 
         if (!Cools.isEmpty(moveCrnNo) && moveCrnNo!=0){
             crnNumber = moveCrnNo;
-            curRow = eRow;
+            if (times==0){
+                curRow = moveCrnNo*4-1;
+            }else {
+                curRow = moveCrnNo*4-2;
+            }
         }
 
         //姝ょ▼搴忕敤浜庝紭鍖栧爢鍨涙満寮傚父鏃剁殑杩愯鏃堕棿
-        for (int i = times; i < crnNumber*2; i++) {
+        for (int i = times; i < crnNumber; i++) {
             int[] locNecessaryParameters = Utils.LocNecessaryParameters(whsType, curRow, crnNumber);
             curRow = locNecessaryParameters[1];
             crnNo = locNecessaryParameters[2];
             if (basCrnpService.checkSiteError(crnNo, true)) {
                 rowCount =  locNecessaryParameters[0];
                 nearRow = locNecessaryParameters[3];
-                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
-                int crnCountO = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("crn_no", crnNo).le("io_type",100));
-                if (locMasts.size()-crnCountO<=0){
-                    times++;
-                    continue;
-                }
                 break;
             } else {
                 times++;
             }
         }
-//        if (nearRow == 0) {
-//            throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
-//        }
+        if (nearRow == 0) {
+            throw new CoolException("鏃犲彲鐢ㄥ爢鍨涙満");
+        }
 
         boolean signRule1 = false;
         boolean signRule2 = false;
 
 
-        if (Utils.BooleanWhsTypeStaIoType(whsType)){
-            // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //鍒嗙鐗�
-            if (!Cools.isEmpty(matnr) &&  staDescId == 1){
-                signRule1 = false;
-            }
-            // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //浜掗�氱増
-            if (!Cools.isEmpty(matnr) && staDescId == 1) {
-                signRule2 = true;
-            }
+        // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //鍒嗙鐗�
+//        if (!Cools.isEmpty(matnr) &&  (staDescId == 1)){
+//            signRule1 = true;
+//        }
+        // 闈犺繎鎽嗘斁瑙勫垯 --- 鍚屽ぉ鍚岃鏍肩墿鏂� //浜掗�氱増
+        if (!Cools.isEmpty(matnr) && staDescId == 1) {
+            signRule2 = true;
+        }
 
-            if (!Cools.isEmpty(matnr) &&  (staDescId == 11 || staDescId == 111)) {
-                signRule1 = true;
-            }
+        if (!Cools.isEmpty(matnr) &&  (staDescId == 11 || staDescId == 111)) {
+            signRule1 = true;
         }
 
         if (signRule1){
-            if (nearRow!=curRow){
-                List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
-                for (LocMast locMast1:locMasts){
-                    //鑾峰彇宸烽亾
-                    List<String> groupOutsideLocCrn = Utils.getGroupOutLocCrn(curRow,nearRow,locMast1.getLocNo(), curRow>nearRow);
-                    //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娴呴潪绌哄簱浣�
-                    LocMast locMastF = locMastService.selectLocByLocStsPakInF(curRow,nearRow,groupOutsideLocCrn);
-                    if (!Cools.isEmpty(locMastF) && locMastF.getLocSts().equals("F")){
-                        LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMastF.getLocNo()));
-                        if (!Cools.isEmpty(locDetl) && matnr.equals(locDetl.getMatnr()) && batch.equals(Cools.isEmpty(locDetl.getBatch()) ? "" : locDetl.getBatch()) && grade.equals(Cools.isEmpty(locDetl.getBrand()) ? "" : locDetl.getBrand())) {
-                            //鑾峰彇鐩爣搴撲綅鎵�鍦ㄥ贩閬撴渶娴呴潪绌哄簱浣�
-                            locMast = locMastService.selectLocByLocStsPakInO(curRow,nearRow,groupOutsideLocCrn);
-                            break;
-                        }
+            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
+            for (LocMast locMast1:locMasts){
+                if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+                    continue;
+                }
+                String shallowLoc = Utils.getDeepLoc(slaveProperties,locMast1.getLocNo());
+                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no",shallowLoc));
+                if (!Cools.isEmpty(locMast2) && locMast2.getLocSts().equals("F")){
+                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locMast2.getLocNo()));
+                    if (!Cools.isEmpty(locDetl) && matnr.equals(locDetl.getMatnr())) {
+                        locMast = locMast1;
+                        break;
                     }
                 }
             }
         }else if (signRule2){
-            List<String> locNos = locDetlService.getSameDetlToday(matnr, sRow, eRow);
+            List<String> locNos = locDetlService.getSameDetlToday(matnr,batch, sRow, eRow);
             for (String locNo : locNos) {
                 if (Utils.isShallowLoc(slaveProperties, locNo)) {
                     continue;
@@ -254,7 +247,7 @@
         }
 
 //        // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭  //鍒嗙鐗�
-//        if (staDescId == 10 && Utils.BooleanWhsTypeStaIoType(whsType)) {
+//        if (staDescId == 10) {
 //            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
 //            for (LocMast locMast1:locMasts){
 //                if (VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
@@ -270,7 +263,7 @@
 //        }
 
         // 闈犺繎鎽嗘斁瑙勫垯 --- 绌烘墭 //浜掗�氱増
-        if (staDescId == 10  && Utils.BooleanWhsTypeStaIoType(whsType)) {
+        if (staDescId == 10) {
             List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").ge("row1", sRow).le("row1", eRow));
             if (locMasts.size() > 0) {
                 for (LocMast loc : locMasts) {
@@ -308,19 +301,17 @@
                 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());
             }
+            staNo = basDevpService.selectById(staDesc.getCrnStn());
+            if (!staNo.getAutoing().equals("Y")) {
+//                throw new CoolException("鐩爣绔�"+staDesc.getCrnStn()+"涓嶅彲鐢�");
+                crnNo = 0;
+            }
+            startupDto.setStaNo(staNo.getDevNo());
         }
 
         // 鏇存柊搴撲綅鎺掑彿
-        if (Utils.BooleanWhsTypeSta(whsType, staDescId) && Cools.isEmpty(locMast)) {
+        if (Utils.BooleanWhsTypeSta(whsType, staDescId)) {
             rowLastno.setCurrentRow(curRow);
             rowLastnoService.updateById(rowLastno);
         }
@@ -329,87 +320,30 @@
 
         // 1.鎸夎鍒欐煡鎵惧簱浣�
         if (Cools.isEmpty(locMast) && crnNo != 0) {
-            List<LocMast> locMasts = null;
-            if(sourceStaNo % 100 > 10){
-                locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-                        .eq("row1", nearRow)
-                        .eq("loc_sts", "O")
-                        .orderBy("lev1",true).orderBy("bay1",false));
-            }else{
-                 locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-                        .eq("row1", nearRow)
-                        .eq("loc_sts", "O")
-                        .orderBy("lev1",true).orderBy("bay1",true));
-            }
-//            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
-//                    .eq("row1", nearRow)
-//                    .eq("loc_sts", "O")
-//                    .orderBy("lev1",true).orderBy("bay1",true));
-//            for (LocMast locMast1 : locMasts) {
-//                if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
-//                    continue;
-//                }
-//                if (Utils.BooleanWhsTypeStaIoType(whsType)){
-////                    String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
-//                    LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>()
-//                            .eq("loc_sts", "O"));
-//                    if (!Cools.isEmpty(locMast2)) {
-//                        locMast = locMast2;
-//                        break;
-//                    }
-//                } else {
-//                    if (!Cools.isEmpty(locMast1)) {
-//                        locMast = locMast1;
-//                        break;
-//                    }
-//                }
-//            }
-
-            if (Cools.isEmpty(locMast) && Utils.BooleanWhsTypeStaIoType(whsType)){
-                if(tagId == 226){
-                    List<LocMast> filteredLocMasts = new ArrayList<>();
-                    for (LocMast loc : locMasts) {
-                        Integer lev = loc.getLev1();
-                        if (lev != null && lev >= 6 && lev <= 10) {
-                            filteredLocMasts.add(loc);
-                        }
-                    }
-                    locMasts = filteredLocMasts;
+            List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("row1", nearRow).eq("loc_sts", "O"));
+            for (LocMast locMast1 : locMasts) {
+                if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
+                    continue;
                 }
-//                if(tagId == 226){  //鍘熸潗鏂欐瘺鑳氱瓑
-//                    List<LocMast> filteredLocMasts = new ArrayList<>();
-//                    for (LocMast loc : locMasts) {
-//                        Integer lev = loc.getLev1();
-//                        if (lev != null && lev >= 1 && lev <= 5) {
-//                            filteredLocMasts.add(loc);
-//                        }
-//                    }
-//                    locMasts = filteredLocMasts;
-//                }
-                for (LocMast locMast1 : locMasts) {
-                    if (!VersionUtils.locMoveCheckLocTypeComplete(locMast1, locTypeDto)) {
-                        continue;
-                    }
-
-                    if (!Cools.isEmpty(locMast1)) {
-                        locMast = locMast1;
-                        break;
-                    }
-
+                String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
+                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O"));
+                if (!Cools.isEmpty(locMast2)) {
+                    locMast = locMast2;
+                    break;
                 }
             }
         }
 
-        if (!basCrnpService.checkSiteError(crnNo, true)) {
+        if (!Cools.isEmpty(locMast) && !basCrnpService.checkSiteError(crnNo, true)) {
             locMast = null;
         }
 
         // 閫掑綊鏌ヨ
         if (Cools.isEmpty(locMast) || !locMast.getLocSts().equals("O")) {
             // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
-            if (times < 1) {
+            if (times < rowCount) {
                 times = times + 1;
-                return getLocNoRun(whsType, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo+1, locTypeDto, times);
+                return getLocNo(1, staDescId, sourceStaNo, matnr, batch, grade,moveCrnNo, locTypeDto, times);
             }
 //            // 2.搴撲綅褰撳墠鎵�灞炲昂瀵告棤绌哄簱浣嶆椂锛岃皟鏁村昂瀵稿弬鏁帮紝鍚戜笂鍏煎妫�绱㈠簱浣�
 //            if (locTypeDto.getLocType1() < 2) {
diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java
index a191ac2..4e905dd 100644
--- a/src/main/java/com/zy/common/web/WcsController.java
+++ b/src/main/java/com/zy/common/web/WcsController.java
@@ -315,7 +315,7 @@
             return R.error("搴撳瓨娌℃湁绌烘澘");
         }
         EmptyPlateOutParam emptyPlateOutParam = new EmptyPlateOutParam();
-        emptyPlateOutParam.setOutSite(12);
+        emptyPlateOutParam.setOutSite(101);
         emptyPlateOutParam.setLocNos(new ArrayList<String>() {{
             add(locMast.getLocNo() + "");
         }});
@@ -333,7 +333,7 @@
         // 妫�绱㈠簱浣�
         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(2, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
+        StartupDto dto = commonService.getLocNo(1, 1, devpNo, matnrs.get(0), batchs.get(0), null, locTypeDto);
         int workNo = dto.getWorkNo();
         Date now = new Date();
         // 鐢熸垚宸ヤ綔妗�
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index b9b17c4..4a0964f 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://127.0.0.1:1433;databasename=tzglasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=rqdzasrs
     username: sa
     password: sa@123
   mvc:
@@ -40,7 +40,7 @@
 
 #License鐩稿叧閰嶇疆
 license:
-  subject: tzglasrs
+  subject: rqdzasrs
   publicAlias: publicCert
   storePass: public_zhongyang_123456789
   licensePath: license.lic
@@ -49,15 +49,15 @@
 # 涓嬩綅鏈洪厤缃�
 wcs-slave:
   # 鍙屾繁
-  doubleDeep: false
+  doubleDeep: true
   # 鍙屾繁搴撲綅鎺掑彿
-  doubleLocs: 1,4,5,8,9,12,13,16
+  doubleLocs: 1,4
   # 涓�涓爢鍨涙満璐熻矗鐨勮揣鏋舵帓鏁�
   groupCount: 4
   # 宸︽繁搴撲綅鎺掑彿
-  doubleLocsLeft: 1,5,9,13
+  doubleLocsLeft: 1
   # 鍙虫繁搴撲綅鎺掑彿
-  doubleLocsRight: 4,8,12,16
+  doubleLocsRight: 4
 # wms鍙傛暟閰嶇疆
 wms-parameter:
   # 鑷姩琛ョ┖鏉垮姛鑳藉紑鍏�
@@ -103,15 +103,13 @@
     lcid: 2052
 
   #ERP鎺ュ彛
-  enabled: true
+  enabled: false
   #enabled: false
   #鏌ョ湅ERP涓棿琛ㄩ棿闅�
   refreshtime: 0/5 * * * * ?
   db:
     driver_class_name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://127.0.0.1:1433;databasename=TZGLLK
-    username: sa
-    password: sa@123
-#    url: jdbc:sqlserver://192.168.4.138:1433;databasename=XDLinkLK2
-#    username: sa
-#    password: sa@123
+    url: jdbc:sqlserver://192.168.16.202:9116;databasename=TZGLLK
+    username: GLLK
+    password: GLLK0626
+
diff --git a/src/main/resources/license.lic b/src/main/resources/license.lic
index c9e9181..12f263f 100644
--- a/src/main/resources/license.lic
+++ b/src/main/resources/license.lic
Binary files differ
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index 9d7559d..c4543e4 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -1,4 +1,4 @@
-var baseUrl = "/tzglasrs";
+var baseUrl = "/rqdzasrs";
 
 // 璇︽儏绐楀彛-楂樺害
 var detailHeight = '80%';
diff --git a/src/main/webapp/static/js/pakStore/locCheckOut.js b/src/main/webapp/static/js/pakStore/locCheckOut.js
index 7b0acf3..d2e5b58 100644
--- a/src/main/webapp/static/js/pakStore/locCheckOut.js
+++ b/src/main/webapp/static/js/pakStore/locCheckOut.js
@@ -48,7 +48,7 @@
                         return;
                     }
                     let param = {
-                        floor: staNo,
+                        outSite: staNo,
                         locDetls: locDetlData
                     }
                     $.ajax({
diff --git a/src/main/webapp/static/js/pakStore/stockOut.js b/src/main/webapp/static/js/pakStore/stockOut.js
index cd0de96..de516ce 100644
--- a/src/main/webapp/static/js/pakStore/stockOut.js
+++ b/src/main/webapp/static/js/pakStore/stockOut.js
@@ -79,7 +79,7 @@
                         return;
                     }
                     let param = {
-                        floor: staNo,
+                        outSite: staNo,
                         locDetls: locDetlData
                     }
                     $.ajax({
diff --git a/src/main/webapp/views/pakStore/locCheckOut.html b/src/main/webapp/views/pakStore/locCheckOut.html
index 0fa40aa..393dfba 100644
--- a/src/main/webapp/views/pakStore/locCheckOut.html
+++ b/src/main/webapp/views/pakStore/locCheckOut.html
@@ -99,12 +99,7 @@
                 <span id="staNoSpan">鐩樼偣绔欙細</span>
                 <select id="staNoSelect" lay-verify="required">
                     <option value="">璇烽�夋嫨绔欑偣</option>
-<!--                    <option value="1">涓�妤硷紙涓滃尯锛�</option>-->
-<!--                    <option value="2">浜屾ゼ锛堜笢鍖猴級</option>-->
-                                        <option value="3">鍥涙ゼ锛堜笢鍖猴級</option>
-<!--                    <option value="4">涓�妤硷紙瑗垮尯锛�</option>-->
-<!--                    <option value="5">浜屾ゼ锛堣タ鍖猴級</option>-->
-                    <option value="6">鍥涙ゼ锛堣タ鍖猴級</option>               </select>
+                </select>
                 <!-- 2.鍚姩鍑哄簱 -->
                 <button class="layui-btn layui-btn-lg" id="btn-outbound" lay-event="outbound">鐩樼偣鍑哄簱</button>
             </div>
@@ -119,11 +114,11 @@
     <table class="layui-table" id="chooseData" lay-filter="chooseData"></table>
 </div>
 
-<!--<script type="text/template" id="takeSiteSelectTemplate">-->
-<!--    {{#each data}}-->
-<!--    <option value="{{this}}">{{this}}</option>-->
-<!--    {{/each}}-->
-<!--</script>-->
+<script type="text/template" id="takeSiteSelectTemplate">
+    {{#each data}}
+    <option value="{{this}}">{{this}}</option>
+    {{/each}}
+</script>
 
 <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
 <script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
diff --git a/src/main/webapp/views/pakStore/stockOut.html b/src/main/webapp/views/pakStore/stockOut.html
index e857642..a19d652 100644
--- a/src/main/webapp/views/pakStore/stockOut.html
+++ b/src/main/webapp/views/pakStore/stockOut.html
@@ -99,12 +99,6 @@
                 <span id="staNoSpan">鍑哄簱鍙o細</span>
                 <select id="staNoSelect" lay-verify="required">
                     <option value="">璇烽�夋嫨绔欑偣</option>
-                    <option value="1">涓�妤硷紙涓滃尯锛�</option>
-                    <option value="2">浜屾ゼ锛堜笢鍖猴級</option>
-<!--                    <option value="3">鍥涙ゼ锛堜笢鍖猴級</option>-->
-                    <option value="4">涓�妤硷紙瑗垮尯锛�</option>
-                    <option value="5">浜屾ゼ锛堣タ鍖猴級</option>
-<!--                    <option value="6">鍥涙ゼ锛堣タ鍖猴級</option>-->
                 </select>
 
                 <!-- 2.鍚姩鍑哄簱 -->
@@ -128,11 +122,11 @@
 <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
 <script type="text/javascript" src="../../static/js/pakStore/stockOut.js" charset="utf-8"></script>
 
-<!--<script type="text/template" id="takeSiteSelectTemplate">-->
-<!--    {{#each data}}-->
-<!--    <option value="{{siteId}}">{{desc}}</option>-->
-<!--    {{/each}}-->
-<!--</script>-->
+<script type="text/template" id="takeSiteSelectTemplate">
+    {{#each data}}
+    <option value="{{siteId}}">{{desc}}</option>
+    {{/each}}
+</script>
 </body>
 </html>
 

--
Gitblit v1.9.1